设计国际化软件

从设计开始就考虑应用程序的本地化,把字符串资源从代码中分离出来,这样做比在后面的开发过程中修订已完成的应用程序效率要高得多。

设计国际化软件的优点

设计和实现 Visual Basic 应用程序,以适应国际惯例、外国数据及格式处理,主要有以下四个优点:

本地化模型

本地化的应用程序都是由两个概念块构成:代码块数据块。如图 16.1 所示,数据块代表“用户界面部件”,代码块代表“应用程序部件”。

图 16.1 数据块和代码块构成一个本地化产品

数据块包含所有用户界面的字符串资源而不包含代码。相反,代码块只包含可运行于所有区域的应用程序代码。Visual Basic 代码处理字符串资源和区域的设定。在“用 Visual Basic 编写国际化代码”一节中将详细介绍如何编写 Visual Basic 代码来处理诸如日期、货币、数字和分隔符等与区域有关的设置。

理论上开发本地化版本的 Visual Basic 应用程序只须修改数据块。代码块对所有的区域都是相同的。把数据块和代码块结合在一起就构成了本地化版本的应用程序。成功地设计国际应用程序的关键在于分离数据块和代码块,并使 Visual Basic 应用程序能够准确地读取数据而不用考虑区域。

尽管要麻烦一些,但在开发 Visual Basic 应用程序时还是应该把所有用户界面的字符串资源放到单独的文件而不是代码中,该文件可以在运行时加载。这就是资源文件 (.res)。它包含了所有本地化的字符串、位图和图标。关于资源文件的详细信息,请参阅本章后面的“使用本地化资源文件”。

开发不同语言版本的应用程序时,本地化小组应把精力只花在资源文件上。这样做有以下优点:

下表列出了在设计 Visual Basic 应用程序时要考虑的一些因素。

因素 项目
语言 用户界面(菜单、对话框及错误信息)中的字符串

打印的文档和联机的文档

与区域有关的设置 日期/时间格式(分隔符、年月日的顺序)

数字格式(小数点和千分位符)

货币格式(符号和格式)

排序顺序和字符串比较


作为第一因素的语言,在 Visual Basic 应用程序的设计阶段就应该首先指出。详细信息,请参阅“设计区域识别的用户界面”。与区域有关的设置,将在本章中的“用 Visual Basic 编写国际化代码”及“国际排序和字符串比较”中介绍。