2010-07-23 2 views
3

В нормальных Silverlight проектов, локализация в представлении XAML осуществляется с помощью:Silverlight MVVM: Как сделать локализацию правильно?

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

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

Это делается как описано here?

Ввиду XAML:

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

И LoginViewModel.cs класс:

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

Любые советы здесь?


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

ответ

0

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

ApplicationStrings.MyNewString, Source={StaticResource ResourceWrapper}} 

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

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

1

Проверьте мою статью о локализации с помощью MVVM.

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

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

Смежные вопросы