多语言WPF应用程序

时间:2018-08-01 16:36:36

标签: c# wpf globalization multilingual culture

我正在使用多国语言(阿拉伯语和英语) 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 无法加载!

我在这里想念什么?!

1 个答案:

答案 0 :(得分:0)

更改区域性后,您需要重新加载每个标签组件。 您可以在更改区域性后尝试打开新窗口,并检查所创建的组件是否已更改。