【发布时间】:2017-06-26 09:18:35
【问题描述】:
我正在一个小型测试 WPF 应用程序中进行本地化,并且想要使用英语和法语。我创建了 Resources.en-CA.resx 和 Resources.fr-CA.resx。
当我的测试应用程序启动时,我有一个启动窗口,其中包含一个选择英语或法语的下拉菜单。当用户单击确定时,会调用一个方法来根据所选语言切换文化,然后加载另一个窗口,该窗口将显示所选语言的一些资源字符串。
switch (selectedLanguage)
{
case "English":
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-CA");
break;
case "French":
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA");
break;
}
用户可以关闭然后关闭此窗口并从启动窗口中选择一种不同的语言,然后单击“确定”以再次显示该窗口,但使用他们选择的新语言。
这是可行的,但我也有一个 Resources.resx,它基本上只是 Resources.en-CA.resx 的副本。我想知道我是否可以摆脱 Resources.en-CA.resx,如果可以,我应该将 CurrentUICulture 设置为什么,以便在选择英语时使用 Resources.resx 中的值。
switch (selectedLanguage)
{
case "English":
//What would I do here?
break;
case "French":
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA");
break;
}
我正在使用代码访问资源字符串
Properties.Resources.SomeLocalizedString
【问题讨论】:
标签: c# wpf localization