1. 引言
随着全球软件产业在生产要素和市场资源的整合和迁移,软件生产的国际化成为新的软件设计模式和技术。国际化软件也称为全球化软件,它是为全球用户设计,面向全球市场发布的具有一致的界面、风格和功能的软件。
国际化软件开发需要遵守国际化技术准则,采用软件项目(或产品)方式进行,一个完整的国际化软件项目将包含很多内容和阶段,其中软件的国际化和本地化是两项主要内容。
国际化软件测试的内容和范围广泛,包括软件的核心功能特性测试、国际化能力测试、本地化能力测试和本地化测试。
2. 国际化软件的概念
国际化软件有四个紧密相关的术语,分别是“全球化”、“国际化”、“本地化”和“市场化”。由于它们都包含“化”字,统称为“四化”。
2.1. 概念
全球化软件也称为国际化软件,是为全球用户设计,面向全球市场发布的具有一致的界面、风格和功能的软件。它的核心特征和代码设计并不仅仅局限于某一种语言和区域用户,支持不同目标市场的语言文字和数据信息的输入、输出、显示和存储。
软件国际化是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,使创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。
软件本地化是将一个软件产品按特定国家/地区或语言市场的需要进行加工,使之满足特定市场上的用户对语言和文化的特殊要求的软件生产活动。
软件市场化是国际化软件领域的一个新引入地概念,是为了将国际化软件实现全球市场的销售和服务,而进行的一系列市场宣传、推广、销售、支持、培训和服务的全部过程。
2.2. 概念辨析
软件全球化与软件国际化和软件本地化之间的关系可以使用公式表示为:软件全球化 = 软件国际化 + 软件本地化 + 软件市场化,下图所示进一步解释了他们之间的关系。
图1 国际化软件概念之间的关系
从图中可以看出,全球化软件(也称为国际化软件)包括软件国际化、软件本地化和市场服务等过程,即一个完整的软件全球化将包括软件进行正确的国际化设计,软件本地化集成,以及在全球市场进行的市场推广、销售和支持的全部过程。
软件本地化和软件国际化构成国际化软件的核心,其中软件国际化是顺利实施软件本地化的基础,没有良好国际化设计的软件很难进行本地化。而软件本地化则是对原始语言编写的软件(通常是英文软件)进行语言和技术加工,为不同语言和区域的用户量身定做满足其使用习惯的软件。从某种意义上讲,软件国际化设计是手段,软件市场化是营销策略,而软件本地化是结果,最终的目的是实现“全球可用”的全球化软件。
3. 同步国际化开发模型
现代国际化软件开发要求源语言软件和多种本地化软件同步发布,这必然需要从软件开发和测试模型和流程上进行改革,
以适应这种较强的时效性和软件的多语言软件发布的需要,这就催生了国际化软件同步发布模型。
国际化软件同步发布模型的最重要特点之一是将软件的国际化设计思想贯穿于软件开发的整个生命周期,而不是将软件国际化作为一个附加的后期阶段。
这个模型中,软件开发分为三个阶段:开发,测试和本地化,其中的开发和测试都是国际化支持的开发和测试,测试和开发同步进行。
这种模型的好处也是显而易见的,首先简化了项目流程;其次,提高了软件的国际化设计能力,简化了软件本地化过程;最后是软件的质量有了提高,可以保证同步发布多语言版本。
国际化软件同步发布模型如下图所示。
图2 国际化软件同步发布模型
这种国际化软件同步发布模型,非常简单明了,具有以下特征:
(1).源语言和本地化语言版本同步发布
同步发布模型中没有源语言发布的里程碑,源语言软件和本地化软件都使用相同的单一的软件代码,方便软件代码版本控制,也使得本地化软件的功能和源语言的功能相同,不会出现本地化功能缺失。
这种开发模型最大的好处是可以做到源语言软件和多语言本地化软件同步发布,可以更好的为国际软件用户更及时地提供产品,也有利于提升软件开发公司的市场形象。
(2).软件本地化阶段大为缩短
由于软件自始至终采用了国际化设计思想,并且测试和开发同步进行,很多软件缺陷(核心功能缺陷和国际化缺陷)可以在软件开发阶段修正,这样软件本地化很容易进行,减少了软件本地化后的缺陷。这对于软件开发公司和软件本地化服务公司都是非常有利的。
(3).测试与开发同步进行
测试不再是开发后的一个被动执行的过程,通过尽早介入测试,可以发现、报告和修正软件缺陷。由于国际化不再是一个单独的过程,所以软件的功能测试、国际化测试将同步进行。这样即使没有本地化测试版本,测试人员可以使用“伪本地化版本”进行“伪本地化测试”,以便发现本地化能力方面的缺陷。
当代软件市场已经全球化,市场竞争日趋激烈,软件的开发周期不断缩短,软件的规模不断增加,软件的质量要求不断提高,为了最大程度地占领国际市场,国际化软件同步发布开发模式势在必行。
4. 同步本地化工程模型
随着国际化软件开发技术的不断发展,软件业积累了成熟的国际化软件设计经验,全球软件市场竞争加剧,传统开发模型的耗时、低效的开发方法已经不符合当代国际化软件开发的需要而逐渐被淘汰,而将软件国际化思想和技术贯穿于整个软件开发周期的同步软件本地化工程模型,可以保证源语言和多个语言的本地化软件同步发布,成为业界主流的国际化软件开发方法。
同步软件本地化工程模型的本地化过程如下图所示。
图3 同步软件本地化工程模型
使用同步软件本地化工程模型方法,软件开发人员基于国际化设计的要求开发一个各个语言版本所通用的核心软件模块,它可以很容易地调用操作系统的国际化支持功能。另外,编写与核心软件模块进行数据传递的本地化接口模块,它包含与区域相关的软件内容,例如,字符串、对话框、菜单以及特定区域要求的软件功能。核心软件模块可以很方便地调用本地化接口模块的内容。开发核心软件模块和本地化接口模块的过程成为对软件进行国际化设计。
开发完核心软件模块后,与区域特定的功能可以很容易的被下层操作系统处理,或者编写与核心软件模块隔离的区域特定功能的代码,这样可以在不修改核心软件代码的情况下,随时方便的修改区域特定的功能代码。本地化的接口模块和区域特定的功能模块可以传递给专业的本地化服务公司,而不用给它们全部软件代码,这样具有较高的信息安全性,也可以保持较高的本地化处理效率。
本地化服务公司对本地化接口模块进行资源字符串的翻译、本地化工程处理、桌面排版和软件测试,编译出最后的本地化版本。本地化工程处理的内容包括调整对话框等用户界面的大小和控件位置,重新设计一些软件的图像,编译本地化的软件。桌面排版是对翻译后的软件手册、联机帮助和其它文档根据本地要求进行重新排版。所有的本地化内容(软件、文档、手册等)都要经过系统的软件测试,修正缺陷后,才能发布本地化版本。
软件的翻译、本地化工程、桌面排版和测试合称软件本地化过程。核心软件模块如果进行了正确的国际化设计,多种语言的软件本地化过程可以快速有效地并行处理,不需要对核心软件代码进行修改,这样就可以做到多个本地化语言的版本和源语言版本同步发布。
5. 分步本地化测试模型
软件本地化测试是国际化软件测试的一个重要类型,通过测试本地化软件的语言、功能和界面等内容,使本地化软件更符合当地语言市场和用户的使用习惯。
5.1. 本地化测试的内容
本地化测试是国际化软件测试的内容之一,对一个完整的本地化测试项目而言,测试内容包括三个方面: