Silverlight MVVM: Как правильно выполнить локализацию? - PullRequest
3 голосов
/ 23 июля 2010

В обычных проектах Silverlight локализация в представлении xaml выполняется с помощью:

Text="{BindingPath=ApplicationStrings.MyNewString, Source={StaticResource ResourceWrapper}}"

Мой вопрос: как сделать правильную локализацию из меток при использовании шаблона MVVM?

Это сделано как описано здесь ?

В xaml view :

Text="{Binding LblUsername,FallbackValue='User Name'}"

И LoginViewModel.cs класс:

public string LblUsername
{
    get { return Resources.Username; }
}

Здесь есть какие-нибудь советы?


А как насчет повторного использования одной и той же строки в нескольких view / viewmodels? (Просто представьте, что мне нужно «Имя пользователя» для нескольких просмотров.) Имеет ли смысл выводить все модели представления из базовой модели, которая определяет все ресурсы?

Ответы [ 2 ]

1 голос
/ 18 февраля 2011

Ознакомьтесь с моей статьей о локализации с использованием MVVM.

http://cloudringer.wordpress.com/2011/02/18/localization-in-wpf-and-silverlight-with-mvvm/

Существует множество способов решения проблемы в зависимости от ваших потребностей и ограничений.Подход, который я описал, был гибким и достаточно гибким, чтобы удовлетворить мои потребности в WPF и Silverlight в нескольких проектах.

0 голосов
/ 11 сентября 2010

Ну, мы используем

ApplicationStrings.MyNewString, Source={StaticResource ResourceWrapper}}

И это прекрасно работает.это проект на уровне решения, и я просто реф.проект в отдельные проекты, то я могу использовать его в качестве глобальной локализации.и один «ярлык» определяется только один раз.

Я датчанин, поэтому у нас есть переводы на немецкий, шведский, датский, английский и т. д.Если это не поможет, я могу предоставить код.Но вы на правильном пути с первым вариантом: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...