我正在使用多种语言(阿拉伯语和英语) 资源位于两个不同文件中的 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 和 Initialize Component 之后我放了
((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 更改为英语时,文化发生了变化并且窗口流向更改为从左到右但是文本没有改变, Resources.en-GB 似乎没有加载!
我在这里想念什么?!
最佳答案
更改区域性后,您需要重新加载每个标签组件。 可以在更改文化后尝试打开新窗口并检查创建的组件是否已更改。
关于c# - 多语言 WPF 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51638316/