1

我有一个应用程序,我试图以英语以外的语言运行和显示,这是默认语言。我已将所有文本分配给使用属性文件,并为每种语言翻译了相关的属性文件。

但是,当我运行应用程序时,它全是英文。我已将我的键盘、语言、区域设置全部设置为外语,它应该会自动选择它并自动使用相关的属性文件,但是这并没有发生。

我知道那里没有太多信息,但是如果您需要更多信息,我会提供。我正在从 Visual Studio 2010 运行该应用程序,所以如果这会影响它,我就在徘徊。

我的文件 :

Strings.resx
Strings.en.resx
Strings.fr.resx

我的用法:

Strings.HelloWorld
4

3 回答 3

4

您必须从操作系统中获取当前的文化并这样使用它:

基本上,您需要做的是在某处设置您当前的应用程序文化:

Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.CurrentCulture;

相关:如何正确设置 Silverlight CurrentUICulture/CurrentCulture?

于 2012-10-04T08:23:35.567 回答
2

如果它是一个WPF应用程序,我推荐WPFLocalizeExtension。我一直在使用它,效果很好。

于 2012-10-04T08:21:12.137 回答
0

以为我会在这里添加: http ://www.west-wind.com/weblog/posts/2009/Jun/14/WPF-Bindings-and-CurrentCulture-Formatting

基本上,您将这行代码添加到您的 App.xaml:

FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement),
    new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));

然后它会覆盖应用程序中每个控件的默认语言属性。

谢谢,亚历克斯。

于 2013-02-05T23:21:02.317 回答