代码改变世界

WPF 全球化和本地化(图解)

2008-04-12 16:15  敏捷的水  阅读(7364)  评论(8编辑  收藏  举报

当您将自己的产品限制为只能通过一种语言使用时,您便将潜在的客户群限制为全球 65 亿人口中的一小部分。如果您想让自己的应用程序被全球用户所接受,那么对产品进行经济而有效的本地化将是赢得更多客户的最好、最经济的方法

本文源码下载:https://files.cnblogs.com/cnblogsfans/WPFLocalize.rar

1.新建WPF Application

image

2.定义界面如下

imageimage

4.用记事本打开LocalizeLesson.csproj工程文件,添加黄色的一句

image

5.回到工程,选择reload,进入命令行,进入我们工程文件所在目录,输入下面红色的命令。

image

7.打开我们工程中XAML文件,发现自动为我们加上了x:Uid, 这个就相当于是资源文件的key

image

8.编译工程,会在debug下生成en-US\LocalizeLesson.resources.dll

image

9.拷贝LocBaml.exe到debug下,这个是微软提供的,只有源码,本文源码里有,可以下载本文源码https://files.cnblogs.com/cnblogsfans/WPFLocalize.rar

image

10.现在根据生成的dll提取一份资源文件到一个csv文件修改,这里命名LocalizeLesson.csv

image image

12. 我们最好用excel打开这个LocalizeLesson.csv,最后一行就是我们需要修改的内容,这里我用记事本打开,因为机器没装excel

image

13.在debug下新建一根zh-CN文件夹,根据修改后csv文件,输入下面红色的命令。

image image

14.为了可以切换界面,我们给两个按钮命名,并添加单击事件

image

image

15.运行,效果如下

image

这里还有一个切换语言时放到Application的构造函数里,也就是App.xaml.cs,启动时从配置文件读取语言。

这里一个疑问,恳请高手解答:

(1)有没有什么方法当我点击按钮时,直接切换语言,不用打开新窗口

(2) 我用打开新窗口方法,但有个问题,就是打开的中文界面按钮上的事件不起作用了,就是上图第二个窗口按钮失效。

 

欢迎转载,转载请说明出处

作者:王德水  http://cnblogsfans.cnblogs.com