【发布时间】:2015-08-26 08:59:15
【问题描述】:
出于测试目的,我正在尝试本地化一个虚拟应用程序,以查看最符合我们需求的应用程序。
我想试试WPF Localization Extension。
所以我:
-
创建了一个全新的 WPF 应用程序,创建了一个主窗口。
-
通过 nugget 添加了对 WPF 本地化扩展的引用。
-
创建了一个名为
Localization.resx和一个名为Localization.fr.resx的 resx -
我在两个 resx 中都为“WelcomeText”键添加了一个文本。
-
在主窗口中,我输入:
xmlns:lex="http://wpflocalizeextension.codeplex.com" lex:LocalizeDictionary.DesignCulture="en" lex:ResxLocalizationProvider.DefaultAssembly="LocalizedApplication" lex:ResxLocalizationProvider.DefaultDictionary="Localization"在窗口声明中
-
我在网格中添加了一个
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 中测试应用程序。我重建并重新启动,但我仍然收到英文消息。
首先:我做错了什么? 那么:我应该如何在运行时改变当前的文化?
【问题讨论】:
标签: c# wpf localization culture wpflocalizationextension