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

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

4、添加翻译语言
 
右键项目,选择如下所示的菜单项添加”翻译语言“
 
 
然后选择应用需支持的语言即可
 
 
如下所示,已经成功添加中文支持。
 
 
5、如果在资源文件 .resx中添加了新项或是做了其他修改,需编译项目,然后在项目中选择所有的xls文件,右键”生成机器翻译“。
 
 
如下所示,正在翻译。
 
 
6、翻译完成之后,就可以在原本的Login.resx下方找到对应的语言的资源文件。
 
 
打开对应的资源 文件,如果没有成功翻译,重新编译项目即可。
 
 
这样资源文件就翻译好了。
 
7、但机器翻译并不十分完全,如需手动修改,只需修改相应的xlf文件(不是生成的.resx文件,切记),重新编译即可。如我想把上图所示的"登录"修改为”登陆“,就没怎样操作呢?
 
在项目中双击”zh-Hans.xlf“文件,打开文件进行编辑
 
 
然后直接修改要修改的部分即可,修改完成之后单击保存按钮。
 
 
重新编译项目,发现资源文件已经修改
 
 
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" Height="350" 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 多语言解决方案 - Multilingual App Toolkit的更多相关文章

  1. WPF 应用程序使用 Multilingual App Toolkit

    应用程序支持多语言,使用 Multilingual App Toolkit是一个不错的解决方案. Multilingual App Toolkit下载地址: https://visualstudiog ...

  2. Multilingual App Toolkit v2.2 release

    Multilingual App Toolkit v2.2 release Today we released Multilingual App Toolkit v2.2. This release ...

  3. Add Languages to Your Xamarin Apps with Multilingual App Toolkit

    With Xamarin, you can extend your cross-platform apps with support for native speakers, reaching mar ...

  4. WPF应用程序支持多国语言解决方案

    原文:WPF应用程序支持多国语言解决方案 促使程序赢得更多客户的最好.最经济的方法是使之支持多国语言,而不是将潜在的客户群限制为全球近70亿人口中的一小部分.本文介绍四种实现WPF应用程序支持多国语言 ...

  5. 项目笔记---WPF多语言方案

    近期由于朋友邀请帮忙给一个开源的游戏“外挂”做一个I18N的解决方案,恰好也是WPF做的,之前有过相关经验,就忙了一个星期终于搞定了,已经提交给作者了,现在这里做一个分享. 这里分享下我个人Fork的 ...

  6. WPF/Silverlight深度解决方案:(六)HLSL自定义渲染特效之完美攻略(上)

    原文:WPF/Silverlight深度解决方案:(六)HLSL自定义渲染特效之完美攻略(上) Shader Effect种位图特效及2种渲染特效,而Silverlight中仅有这2种渲染特效: Bl ...

  7. WPF/Silverlight深度解决方案:(一)解锁被Storyboard束缚的关联属性

    原文 WPF/Silverlight深度解决方案:(一)解锁被Storyboard束缚的关联属性 如果您在使用WPF/Silverlight进行相关动画开发中使用了Storyboard,并对关联属性进 ...

  8. [转]Asp.Net 网站多语言解决方案

    本文转自:https://www.cnblogs.com/FredTang/archive/2013/01/23/2873231.html 最近领导要求实现PMSWeb应用程序的多区域语言的支持,所以 ...

  9. WPF字体模糊解决方案

    原文:WPF字体模糊解决方案 WPF对字体渲染做了很大的改善,与Winform窗体字体相比较,更加平滑,但是当字体大小较小时,则会出现字体模糊的现象.可通过以下方法进行改善处理: 对于XAML用户界面 ...

随机推荐

  1. OutputStream()

    ---恢复内容开始--- OutputStream 类是一个专门进行字节数据输出的一个类.

  2. UVa 11129 - An antiarithmetic permutation

    题目大意:给一个正整数n,构造一个0...n-1的排列,使得这个排列的任何一个长度大于2的子序列都不为等差数列. 把序列按照奇偶位置分成两个序列,这样在两个序列间就不会形成等差数列了,然后再对这两个序 ...

  3. PHP 魔术变量和魔术函数详解

    魔术变量 PHP 向它运行的任何脚本提供了大量的预定义常量. 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常量它们的 ...

  4. MySQL的"旁门左道"用法总结

    不断更新. 一.显示当前MySQL服务的版本:1是直接在查询窗口select version();2是show variables like 'version';

  5. 安卓版php服务器的mysql数据库增删改查简单案例

    界面: index.php文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  6. CSS3动画效果——js调用css动画属性并回调处理详解

    http://www.jb51.net/css/258407.html 这篇文章主要详细介绍了CSS3动画效果回调处理,需要的朋友可以参考下 我们在做js动画的时候,很多时候都需要做回调处理,如在一个 ...

  7. .md即markdown文件的基本常用编写语法(图文并茂)

    序言: 很久没有写博客了,感觉只要是不写博客,人就很变得很懒,学的知识点感觉还是记不住,渐渐地让我明白,看的越多,懂的越少(你这话不是有毛病吗?应该是看的越多,懂的越多才对),此话怎讲,当你在茫茫的前 ...

  8. KB奇遇记(9):艰难的上线

    经历了非常多的磨难,系统也“如约“在2017年01月01日勉强上线了.尽管我认为它还不到上线的程度,条件不具备,但上头的指令下来和计划便是在这一天.整个上线过程从2016年3月8号开始到上线日,扣除中 ...

  9. gulp源码解析(二)—— vinyl-fs

    在上一篇文章我们对 Stream 的特性及其接口进行了介绍,gulp 之所以在性能上好于 grunt,主要是因为有了 Stream 助力来做数据的传输和处理. 那么我们不难猜想出,在 gulp 的任务 ...

  10. W3Cschool学习笔记——HTML5基础教程

    HTML5 建立的一些规则: 新特性应该基于 HTML.CSS.DOM 以及 JavaScript. 减少对外部插件的需求(比如 Flash) 更优秀的错误处理 更多取代脚本的标记 HTML5 应该独 ...