Я знаю, что это получит много традиционных ответов, но я также хотел бы выдвинуть что-то совершенно оригинальное, что мы пытались (и успешно) делали сами для более эффективной локализации Silverlight, используя Attached Properties вместо привязки:
Мы сочли ресурсы и решения для связывания утомительными и не гибкими, поскольку все они требуют установки переводов впроект (и, следовательно, нуждается в повторном развертывании приложения, когда оно изменилось).
Кроме того, выбранный язык всегда изменяется, и когда это происходит, все строки одновременно.Перенос накладных расходов на привязки для этой цели кажется безумным, когда вы можете просто перегенерировать текущую страницу, если язык меняется.
Традиционно переводы отправляются партиями и управляются языком (с уникальными ключами, примечаниями переводчика и т. Д.), Поэтомумы также нашли, что это гораздо лучше подходит для этого.
Наше решение означает, что мы управляем локализацией в базе данных центрального сервера, но также можем предоставить редактор локализации, внутри самого приложения, для использования переводчиками при использовании приложения.
- Центральный репозиторий для любого количества языков
- Изменение языка путем загрузки новых данных (не более 200 КБ на язык в большом приложении)
- Требуется только загрузка языка и изменение наfly
- Поддерживает редактирование ресурсов в приложении переводчиками (требуются дополнительные формы пользовательского интерфейса).