在程序增加多语言功能

来源:互联网 发布:js加密压缩后怎么调用 编辑:程序博客网 时间:2024/05/18 20:08

先做个广告:)

 

E-Label是一个专业条码标签打印软件.它会让条码标签打印变得更简单.更方便二次开发(.NET)

目前此软件在Beta阶段.如果你对些软件有兴趣可以到

http://www.ync-tech.com下截Beta版本

 

最近一直在开发E-Label,客户提出来了新需求,要支持简体中文,繁体中文,English切换.E-Label刚开发的时候没有考虑到多语言的问题.

 

后来想来想去,还是用xml+单件模式来完成语言切换,效果还不错:)。

 

 

下面我来给大家讲讲我是怎么实现的:
第一步:

产生控件列表xml,就不需要一个一个的手工组织了也是因为这个原因而没有采用资源文件的方式.

主要工作的是CreateFile函数;

//建立一个临时Dictionary存放要生成xml的控件

private Dictionary<string, string> temp = new Dictionary<string,string>();

 

CreateFile:这个里面的代码都比较简单,我就不做解释了.

到这里大家可能会产生一个疑问.temp里的数据是从哪里来的?

temp里的数据是在LoadText()里来添加的

 

 

LoadText:

 

 

LoadControlText:(主要处理都在这里)

根据控件ID来加载控件的Text.

 

要说的也就是这个.

我这个都是放到baseForm里,在Load的时候进行加载.

 

产生的xml文件格式是

<frmALDateTime>
<Text>添加组合日期时间</Text>
<btnOk>确定(&amp;O)</btnOk>
<btnCancel>取消(&amp;C)</btnCancel>
<btnFormat>自定义格式(&amp;S)</btnFormat>
<groupBox16>所选格式预览</groupBox16>
<groupBox15>已定义日期格式</groupBox15>
</frmALDateTime>

 

好了就先介绍到这里,如有问题可以给我留言.

过二天我会做个例子跟大家分享.