WPF 应用程序使用 Multilingual App Toolkit

时间:2023-03-09 06:21:08
WPF 应用程序使用 Multilingual App Toolkit

应用程序支持多语言,使用 Multilingual App Toolkit是一个不错的解决方案。

Multilingual App Toolkit下载地址:

https://visualstudiogallery.msdn.microsoft.com/6dab9154-a7e1-46e4-bbfa-18b5e81df520?SRC=VSIDE

详细使用参考地址:

https://blogs.msdn.microsoft.com/synergist/2015/03/05/using-the-multilingual-app-toolkit-with-wpf-applications/

在VS中“启用选定内容”有时候会报错:如下图:

WPF 应用程序使用 Multilingual App Toolkit

WPF 应用程序使用 Multilingual App Toolkit

这时候需要设置默认语言。

在文件“Properties-->AssemblyInfo.cs”中设置

[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]

然后在

WPF 应用程序使用 Multilingual App Toolkit

启用选定内容,启用完成以后将上述代码注释掉,重新编译。

在项目上右键,添加翻译语言,

WPF 应用程序使用 Multilingual App Toolkit

正常使用即可。

注意注意:

在使用参考那个网址中,有一点代码:

public partial class App : Application
{
private CultureInfo cultureOverride = new CultureInfo("qps-PLOC"); public App()
{
if (Debugger.IsAttached == true && cultureOverride != null)
{
Thread.CurrentThread.CurrentUICulture = cultureOverride;
Thread.CurrentThread.CurrentCulture = cultureOverride;
}
}
}

是在Debug模式下

Thread.CurrentThread.CurrentUICulture = cultureOverride;
Thread.CurrentThread.CurrentCulture = cultureOverride;

才会执行,如果程序需要打包,要把

Debugger.IsAttached == true

判断条件去掉。这是被我忽略过的,没仔细看代码。