WPF 多语言解决方案 - Multilingual App Toolkit

一、首先安装Multilingual App Toolkit
 
二、新建项目,在VS中点击"工具" -> "Multilingual App Toolkit" -> "启用选定内容"
 
 

若是出现上述Issue, 打开项目AssemblyInfo.cs文件,加入以下代码片断,而后重复Step 2.
 
[assembly: NeutralResourcesLanguage("en-US")]
 
三、新建资源文件,添加资源,而后修改访问修改符为Public.
 

四、添加翻译语言
 
右键项目,选择以下所示的菜单项添加”翻译语言“
 
 
而后选择应用需支持的语言便可
 
 
以下所示,已经成功添加中文支持。
 
 
五、若是在资源文件 .resx中添加了新项或是作了其余修改,需编译项目,而后在项目中选择全部的xls文件,右键”生成机器翻译“。
 
 
以下所示,正在翻译。
 
 
六、翻译完成以后,就能够在本来的Login.resx下方找到对应的语言的资源文件。
 
 
打开对应的资源 文件,若是没有成功翻译,从新编译项目便可。
 
 
这样资源文件就翻译好了。
 
七、但机器翻译并不十分彻底,如需手动修改,只需修改相应的xlf文件(不是生成的.resx文件,切记),从新编译便可。如我想把上图所示的"登陆"修改成”登录“,就没怎样操做呢?
 
在项目中双击”zh-Hans.xlf“文件,打开文件进行编辑
 
 
而后直接修改要修改的部分便可,修改完成以后单击保存按钮。
 
 
从新编译项目,发现资源文件已经修改
 
 
八、在项目中引用资源
 
<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:accountResource="clr-namespace:WpfApplication2.Resource.Account"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button Content="{x:Static accountResource:Login.BtnLogIn}"></Button>
    </Grid>
</Window>
 
九、设定应用UI语言
 
public partial class App : Application
{
    private CultureInfo cultureOverride = new CultureInfo("zh-Hans");
    public App()
    {
        Thread.CurrentThread.CurrentUICulture = cultureOverride;
        Thread.CurrentThread.CurrentCulture = cultureOverride;
    }
}
 
而后运行程序,效果如图所示
 

 

相关文章
相关标签/搜索