C# 多语言WPF应用程序
我从事多种语言(阿拉伯语和英语)的工作 资源位于两个不同文件(resources.en-GB和resources.ar-LY)中的WPF应用程序, 我在app.xaml中声明了一个新方法C# 多语言WPF应用程序,c#,wpf,globalization,multilingual,culture,C#,Wpf,Globalization,Multilingual,Culture,我从事多种语言(阿拉伯语和英语)的工作 资源位于两个不同文件(resources.en-GB和resources.ar-LY)中的WPF应用程序, 我在app.xaml中声明了一个新方法 public void LanguageSwitcher(string _currentUICulture) { System.Threading.Thread.CurrentThread.CurrentUICulture =
public void LanguageSwitcher(string _currentUICulture)
{
System.Threading.Thread.CurrentThread.CurrentUICulture =
new System.Globalization.CultureInfo(_currentUICulture);
}
在主窗口中初始化组件后,我将
((App)Application.Current).languageSwitcher("ar-LY");
this.FlowDirection =
CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft ?
FlowDirection.RightToLeft :
FlowDirection.LeftToRight;
在语言切换器按钮中,我调用该方法并传递我想要的en-GB区域性
((App)Application.Current).languageSwitcher("en-GB");
问题:当我点击语言按钮将UI更改为英语时,文化发生了变化,窗口流动方向更改为LeftToRight,但文本没有变化,似乎资源.en GB没有加载
我错过了什么 更改区域性后,需要重新加载每个标签组件。 您可以在更改区域性后尝试打开新窗口,并检查所创建的组件是否已更改。这可能会有所帮助