开发多语言版本程序应注意的几个问题

原创 2004年08月09日 23:23:00

一个支持多种语言的程序,一般都是由主程序和多个语言包(资源文件)组成。运行时,根据不同的语言设置,来读相应的资源文件。结合自己开发ResourceWorkshop( .NET资源文件生成器)的体会,觉得应该注意下面几个问题:

1、  字体、字号的选择。一种方法,窗体、控件的字体全部采用默认的字体,即中文的宋体,英文的Microsoft Sans Serif,字号为9pt,优点是简单,缺点是没有特色。另一种方法是通过程序,根据不同的语言来设置不同的字体,优点是比较美观,缺点是有点麻烦。在英文界面上,推荐使用ArialTahomaVerdana字体。

2、  界面的布局。同一个单词,中文和英文的长度就不一样,比如“口令”占4个字符的长度,“Passwrod”就要占8个字符的长度。这时在设置标签、文本框、下拉列表框等控件就要统筹兼顾,防止出现在中文界面下显示很好,可换成英文界面下却显示不完全或留出的空白太多的情况。可以适当改变不同语言的说法,尽量保持长度接近。还可以通过程序进行控制,根据当前语言设置,动态地调整布局。不过,这样,编程的工作量可就大多了。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

3、  帮助文件的调用。帮助文件一般都是.CHM文件,可不能在运行时根据资源文件的内容动态地改变。我的做法是将不同语言的帮助文件都做好,按一定的规律命名。比如,中文帮助文件为ResourceWorksho_Chs.CHM,英文帮助文件名为ResourceWorksho_En.CHM。调用帮助时,根据当前语言的设置,来确定需要调用的帮助文件名。

4、  图片的使用。程序中使用的图片上一定不能有除英语外的文字,英文也尽不量不要出现。

5、  打包。一定使用英文的安装制作工具软件,如InstallSheld可以制作多种语言的安装界面。我刚开始用VS.NET中文版制作ResourceWorkshop的安装程序,结果在英文操作系统下安装时,“上一步”、“下一步”、“取消”等提示信息都是乱码,根本看不懂。后来改用IinstallSheld才解决了这个问题。

6、  测试。这应该是最重要的一项内容,也是最容易忽视的一项。这种程序,不能光靠更改当前线程的区域性设置的方法来进行简单的测试,一定要在真实的环境下进行完整地测试,从安装到卸载。自己不具备多种语言环境,可请朋友帮忙,也可利用Vmware在自己的机子上再装几套操作系统。

自己的一点体会,说得不一定都对。

Windows环境下多语言版本软件的开发

一 背景介绍在2005年,我曾经写过一篇文章《多语言版本软件产品的开发》,介绍了使用资源DLL的方法进行多语言软件的开发,主要做法是把软件中的资源独立出来,生成DLL文件,以当前语言的DLL文件为基础...
  • wutong_login
  • wutong_login
  • 2009年07月06日 17:10
  • 2173

WinForm软件多语言版本实现

摘要:本文旨在实现对winForm程序的多语言设置,包含自定义控件的多语言设置。以实现软件多语言版本特性。 实现步骤 1.添加 using System.Threading; using Syste...
  • fanrong1985
  • fanrong1985
  • 2015年08月13日 13:34
  • 1094

android国家化(多语言版本APP)

实现android国际化,图片国际化多语言版本APP的操作
  • u012354475
  • u012354475
  • 2016年05月16日 11:14
  • 2075

VC获得程序自身的版本号

操作系统: Windows7/Windows10 64位 运行环境: Visual Studio 10 文件编码: Unicode char* GetLocalPogramVersion() {...
  • dezhihuang
  • dezhihuang
  • 2015年11月04日 15:06
  • 728

JAVA实现程序多语言(程序国际化)

程序多语言实际就是在不同的地区根据主机不同的设定去匹配与之对应的语言环境。要实现多语言环境首先可以通过Locale类创建一个本地语言环境对象,如下有三种方式: Locale locale = ne...
  • zhuxinquan61
  • zhuxinquan61
  • 2016年05月30日 22:31
  • 5427

使用VB6资源文件开发多国语言应用攻略

使用VB6资源文件开发多国语言应用
  • fulcrumtech
  • fulcrumtech
  • 2016年06月17日 12:12
  • 617

程序集版本号,文件版本号及发布版本号管理

程序集版本号:在.net框架中和CLR运行时钟引用,如使用程序集的强命名时就会使用. 按照我的理解,你所使用的库如log4net,常见的有2.0和4.0的,那么你下载的库是否是你工程中用的库,就要看...
  • u201011221
  • u201011221
  • 2016年02月22日 10:27
  • 2333

软件版本号规范

软件版本号规范
  • master_yao
  • master_yao
  • 2016年04月28日 14:43
  • 2757

Qt国际化多国语言和发布例子

一  Qt Widgets Application类型工程 1. 创建Qt Widgets Application工程hello_i18n 2. 编辑pro工程文件,新增代码 TRANSLAT...
  • happyrabbit456
  • happyrabbit456
  • 2016年06月20日 17:40
  • 1406

软件项目版本号的命名规则及格式

版本控制比较普遍的 3 种命名格式 : 一、GNU 风格的版本号命名格式 : 主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]] Major_Version_Number.Mi...
  • xjbclz
  • xjbclz
  • 2016年08月24日 17:39
  • 4499
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:开发多语言版本程序应注意的几个问题
举报原因:
原因补充:

(最多只允许输入30个字)