默认的Resource.resx文件未使用

时间:2017-03-05 15:04:37

标签: c# .net wpf localization globalization

我有一个本地化的WPF应用程序。

当我从ControlPanel将Format设置为印地语(印度)时 - >地区 - >格式化,在我的WPF应用程序启动时,我的WPF应用程序中的代码行不是读取CultureInfo.CurrentCulture(hi-IN)而是使用en-US。

Application.Current.MainWindow = new MainWindow();
Application.Current.MainWindow.Show();

因此,我的WPF应用程序未使用Resources.resx文件中的问候语消息。相反,它使用来自Resources.en.resx

的问候消息

我在CultureInfo.CurrentCulture中获得了适当的价值。

知道为什么上面的代码行没有选择合适的值?

1 个答案:

答案 0 :(得分:1)

ControlPanel-> Region->格式设置不适用于.resx文件。您可以在ControlPanel-> Region->语言中指定默认语言。

What is the difference between CurrentCulture and CurrentUICulture properties of CultureInfo in .NET?

或者,您可以在App类(App.xaml.cs)中指定资源的默认语言:

public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        base.OnStartup(e);

        Resources.Culture = System.Threading.Thread.CurrentThread.CurrentCulture;
    }
}

有关详细信息,请参阅以下链接:https://social.msdn.microsoft.com/Forums/vstudio/en-US/6bfb8d13-3a86-4c10-a632-bb20c99d0535/localization-in-wpf-using-resx-files-for-different-languages?forum=wpf