2015-08-26 123 views
0

爲了測試目的,我試圖本地化一個虛擬應用程序,以查看哪些配置符合我們的最佳需求。我想試試WPF Localization ExtensionWPF本地化問題

所以我:

  1. 創造了一個全新的WPF應用程序,創建一個主窗口。
  2. 通過塊添加了對WPF本地化擴展的引用。
  3. 創建一個名爲Localization.resx的resx和一個Localization.fr.resx
  4. I在兩個resx文本中添加了「WelcomeText」鍵。
  5. 在主窗口,我把:

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

    在Window聲明

  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"); 

很抱歉的問題