2015-08-26 6 views
0

Для целей тестирования я пытаюсь локализовать фиктивное приложение, чтобы узнать, что соответствует лучшим нашим потребностям.Проблема локализации WPF

Я хотел попробовать WPF Localization Extension.

Я:

  1. создал совершенно новое приложение WPF, создал основные окна.
  2. Добавлены ссылки на расширение локализации WPF через самородок.
  3. создал один Resx имени Localization.resx и один Localization.fr.resx
  4. Я Добавлено в обоих Resx текст для ключа «WelcomeText».
  5. В главном окне, я поставил:

    xmlns:lex="http://wpflocalizeextension.codeplex.com" 
    lex:LocalizeDictionary.DesignCulture="en" 
    lex:ResxLocalizationProvider.DefaultAssembly="LocalizedApplication" 
    lex:ResxLocalizationProvider.DefaultDictionary="Localization" 
    

    В декларации окна

  6. я добавил один TextBlock внутри сетки: <TextBlock Text="{lex:Loc WelcomeText}" />

Если я запустить приложение, У меня есть текст, отображаемый на английском языке.

Теперь добавьте следующий код в конструктор App.cs:

public App():base() 
    { 
     Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr"); 
     Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture; 
     CultureInfo.DefaultThreadCurrentCulture = Thread.CurrentThread.CurrentUICulture; 
     CultureInfo.DefaultThreadCurrentUICulture = Thread.CurrentThread.CurrentUICulture; 
    } 

Чтобы проверить приложение в FR. Я перестраиваю и перезапускаю, но я все еще получаю сообщение на английском языке.

Итак, во-первых: что я сделал не так? Затем: Как мне изменить текущую культуру во время выполнения?

ответ

1

На самом деле, я думаю, что я только что нашел ответ.

Кажется, что он не использует CurrentCulture и что вы должны установить его:

LocalizeDictionary.Instance.Culture = new CultureInfo("fr"); 

Извините за вопрос

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

  • Нет связанных вопросов^_^