WPF 多语言解决方案

摘要:
1、首先安装MultilingualAppToolkit2、新建项目,在VS中点击"工具"-˃"MultilingualAppToolkit"-˃"启用选定内容"如果出现上述Issue,打开项目AssemblyInfo.cs文件,加入如下代码片段,然后重复Step2.[assembly:NeutralResourcesLanguage("en-US")]3、新建资源文件,添加资源,然后修改访问修改
1、首先安装Multilingual App Toolkit
2、新建项目,在VS中点击"工具" -> "Multilingual App Toolkit" -> "启用选定内容"
WPF 多语言解决方案第1张
WPF 多语言解决方案第2张

WPF 多语言解决方案第3张

如果出现上述Issue, 打开项目AssemblyInfo.cs文件,加入如下代码片段,然后重复Step 2.
[assembly: NeutralResourcesLanguage("en-US")]
3、新建资源文件,添加资源,然后修改访问修改符为Public.
WPF 多语言解决方案第4张

WPF 多语言解决方案第5张

WPF 多语言解决方案第6张
4、添加翻译语言
右键项目,选择如下所示的菜单项添加”翻译语言“
WPF 多语言解决方案第7张
然后选择应用需支持的语言即可
WPF 多语言解决方案第8张
WPF 多语言解决方案第9张
如下所示,已经成功添加中文支持。
WPF 多语言解决方案第10张
WPF 多语言解决方案第11张
5、如果在资源文件 .resx中添加了新项或是做了其他修改,需编译项目,然后在项目中选择所有的xls文件,右键”生成机器翻译“。
WPF 多语言解决方案第12张
WPF 多语言解决方案第13张
如下所示,正在翻译。
WPF 多语言解决方案第14张
6、翻译完成之后,就可以在原本的Login.resx下方找到对应的语言的资源文件。
WPF 多语言解决方案第15张
打开对应的资源 文件,如果没有成功翻译,重新编译项目即可。
WPF 多语言解决方案第16张
这样资源文件就翻译好了。
7、但机器翻译并不十分完全,如需手动修改,只需修改相应的xlf文件(不是生成的.resx文件,切记),重新编译即可。如我想把上图所示的"登录"修改为”登陆“,就没怎样操作呢?
在项目中双击”zh-Hans.xlf“文件,打开文件进行编辑
WPF 多语言解决方案第17张
WPF 多语言解决方案第18张
然后直接修改要修改的部分即可,修改完成之后单击保存按钮。
WPF 多语言解决方案第19张
WPF 多语言解决方案第20张
重新编译项目,发现资源文件已经修改
WPF 多语言解决方案第21张
8、在项目中引用资源
<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" Width="525">
<Grid>
<Button Content="{x:Static accountResource:Login.BtnLogIn}"></Button>
</Grid>
</Window>
9、设定应用UI语言
public partial class App : Application
{
private CultureInfo cultureOverride = new CultureInfo("zh-Hans");
public App()
{
Thread.CurrentThread.CurrentUICulture = cultureOverride;
Thread.CurrentThread.CurrentCulture = cultureOverride;
}
}
然后运行程序,效果如图所示
WPF 多语言解决方案第22张
WPF 多语言解决方案第23张

免责声明:文章转载自《WPF 多语言解决方案》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python爬取酷狗飙升榜前十首(100)首,写入CSV文件spark streaming job生成与运行下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Spring MVC与Dubbo的整合一

一、Dubbo是什么 一款分布式服务框架 高性能和透明化的RPC远程服务调用方案 SOA服务治理方案 每天为2千多个服务提供大于30亿次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点以及别的公司的业务中。 具体dubbo的背景和简介以及框架等基础知识参考这位大神的博客 二、提供者的Dubbo配置 首先我们先配置服务的提供者 1.给作为提供者的Spr...

shiro框架 4种授权方式 说明

1. shiro的配置文件(applicationContext-shiro.xml)中使用filterChain过滤url的方式 详细配置看注释 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/bean...

3.Cobbler自动化安装Windows7

<!doctype html>02_2.部署Windows7 定制PE工具 首先下载微软官方提供的制作工具 Windows AIK。点击 | 进入下载页面 下载完成之后,解压压缩包,点击目录中的StartCD.exe进行安装 选择Windows AIK安装程序进行安装 安装完毕之后,以管理员身份运行该工具 # 使用copype创建...

XML常用标签的介绍

1、引言   在使用Java时经常遇到使用XML的情况,而因为对XML不太了解,经常配置时粘贴复制,现在对它进行总结,以备以后使用。 2、XML常见的定义  (1)XML(Extensible Markup Language):即可扩展标记语言,它的特性如下: 可扩展标记语言是一种很像超文本标记语言的标记语言。 它的设计宗旨是传输数据,而不是显示数据。...

WPF数据双向绑定

设置双向绑定,首先控件要绑定的对象要先继承一个接口: INotifyPropertyChanged 然后对应被绑定的属性增加代码如下: 意思就是当Age这个属性变化时,要通知监听它变化的人。 即:PropertyChanged(this, new PropertyChangedEventArgs("Age")) ,PropertyChangedEvent...

WPF外包公司—北京动点飞扬软件:WPF技术分享—Prism V2之旅(1)

概述     如果你在开发wpf程序,应该听说过The Composite Application Guidance for WPF(以下简称prism)     总而言之,prism是帮助你开发复杂的wpf应用程序的。希望在看完此系列教程以后能对你有所帮助.     从去年正式版发布至今,将近快半年了.silverlight 2正版的推出.prism也开...