设置CurrentUICulture,使其使用Resources.resx
我在一个小的测试WPF应用程序的本地化工作,并希望有英语和法语。我创建了Resources.en-CA.resx和Resources.fr-CA.resx。
当我的测试应用程序启动时,我会看到一个启动窗口,其中有一个下拉列表可以选择英语或法语。当用户单击OK时,将调用一个方法来根据所选语言切换区域性,然后加载另一个窗口,该窗口将以所选语言显示一些资源字符串。
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
转载请注明出处:http://www.cospi.net/article/20230331/1277873.html