一个支持多种语言的程序,一般都是由主程序和多个语言包(资源文件)组成。运行时,根据不同的语言设置,来读相应的资源文件。结合自己开发ResourceWorkshop( .NET资源文件生成器)的体会,觉得应该注意下面几个问题:
1、 字体、字号的选择。一种方法,窗体、控件的字体全部采用默认的字体,即中文的宋体,英文的Microsoft Sans Serif,字号为9pt,优点是简单,缺点是没有特色。另一种方法是通过程序,根据不同的语言来设置不同的字体,优点是比较美观,缺点是有点麻烦。在英文界面上,推荐使用Arial、Tahoma、Verdana字体。
2、 界面的布局。同一个单词,中文和英文的长度就不一样,比如“口令”占4个字符的长度,“Passwrod”就要占8个字符的长度。这时在设置标签、文本框、下拉列表框等控件就要统筹兼顾,防止出现在中文界面下显示很好,可换成英文界面下却显示不完全或留出的空白太多的情况。可以适当改变不同语言的说法,尽量保持长度接近。还可以通过程序进行控制,根据当前语言设置,动态地调整布局。不过,这样,编程的工作量可就大多了。
3、 帮助文件的调用。帮助文件一般都是.CHM文件,可不能在运行时根据资源文件的内容动态地改变。我的做法是将不同语言的帮助文件都做好,按一定的规律命名。比如,中文帮助文件为ResourceWorksho_Chs.CHM,英文帮助文件名为ResourceWorksho_En.CHM。调用帮助时,根据当前语言的设置,来确定需要调用的帮助文件名。
4、 图片的使用。程序中使用的图片上一定不能有除英语外的文字,英文也尽不量不要出现。
5、 打包。一定使用英文的安装制作工具软件,如InstallSheld可以制作多种语言的安装界面。我刚开始用VS.NET中文版制作ResourceWorkshop的安装程序,结果在英文操作系统下安装时,“上一步”、“下一步”、“取消”等提示信息都是乱码,根本看不懂。后来改用IinstallSheld才解决了这个问题。
6、 测试。这应该是最重要的一项内容,也是最容易忽视的一项。这种程序,不能光靠更改当前线程的区域性设置的方法来进行简单的测试,一定要在真实的环境下进行完整地测试,从安装到卸载。自己不具备多种语言环境,可请朋友帮忙,也可利用Vmware在自己的机子上再装几套操作系统。
自己的一点体会,说得不一定都对。