若是出现上述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;
}
}
而后运行程序,效果如图所示