B/S或者C/S软件中都会涉及多语言版本的问题,那么如何在编程过程中尽量减少因为多语言而带来的程序复杂性呢?下面是我想到的一个解决方案,希望广大网友们各抒己见,我用asp.net(C#)语言抛砖引玉了.

软件语言版本就是软件界面上的文字.我将界面上的文字分为两种类型:1 直接放在界面上的文字(在asp.net中大部分这些文字都是控件上一个属性的值) 2 由程序控制动态生成的文字(大部分是生成的控件上一个属性的值) ,所以所谓多语言版本的对这些文字的控制.

下面是我的解决方案:

一 对直接放在界面上的文字的处理
主要是使用资源文件来处理:(方法引用自:http://singlepine.cnblogs.com/articles/253309.html)
界面事例:

asp.net(C#)软件中多语言解决方案


1.建立工程,比如Document,配置webconfig

<appSettings>
<add key="DefaultCulture" value="zh-cn" />
<add key="CNCulture" value="zh-cn" />
<add key="ENCulture" value="en-us" />
</appSettings>
2.添加资源文件
右键添加新项目,选中Assembly Resource File,命名为strings.en-us.resx和strings.zh-cn.resx,然后配置如下
2.1 strings.en-us.resx

<?xml version="1.0" encoding="utf-8" ?>
<root>
<xsd:schema >4
修改一下语言类
一切OK了,主要的程序类库完全不需要修改.

相关文章: