我正在使用多国语言(阿拉伯语和英语) WPF应用程序,其中资源位于两个不同的文件中(Resources.en-GB和Resources.ar-LY), 我在app.xaml
中声明了一个新方法public void LanguageSwitcher(string _currentUICulture)
{
System.Threading.Thread.CurrentThread.CurrentUICulture =
new System.Globalization.CultureInfo(_currentUICulture);
}
在 MainWindow 中,初始化组件后,我放入
((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 但,文本未更改,似乎 Resources.en-GB 无法加载!
我在这里想念什么?!
答案 0 :(得分:0)
更改区域性后,您需要重新加载每个标签组件。 您可以在更改区域性后尝试打开新窗口,并检查所创建的组件是否已更改。