《第10章软件国际化和本地化测试》由会员分享,可在线阅读,更多相关《第10章软件国际化和本地化测试(88页珍藏版)》请在金锄头文库上搜索。
1、第第1010章章 软件本地化测试软件本地化测试本章要点本章要点: : 1 1、软件国际化、软件国际化pp 软件国际化的含义软件国际化的含义pp 国际化软件测试设计的通用准则国际化软件测试设计的通用准则pp 软件国际化测试软件国际化测试 2 2、软件本地化、软件本地化pp 软件本地化的含义软件本地化的含义pp 软件本地化和国际化的关系软件本地化和国际化的关系pp 软件本地化及其测试软件本地化及其测试10.1 10.1 软件国际化软件国际化软软软软件国件国际际际际化化是全球化的产物。随着国际是全球化的产物。随着国际 交流的密切和行业标准的国际性统一,一些交流的密切和行业标准的国际性统一,一些 大型
2、软件或者热门软件,不但要提供一国语大型软件或者热门软件,不但要提供一国语 言的版本,还要提供其他国家语言的版本,言的版本,还要提供其他国家语言的版本, 这就是通常意义上的软件国际化。这就是通常意义上的软件国际化。 10.1 10.1 软件国际化软件国际化public class NotI18Npublic class NotI18Nstatic public void static public void main(Stringmain(String argsargs) )System.out.println(“HelloSystem.out.println(“Hello.”);.”);Sys
3、tem.out.println(“HowSystem.out.println(“How are you?”); are you?”);System.out.println(“GoodbyeSystem.out.println(“Goodbye.”);.”); 软件国际化前:软件国际化前:10.1 10.1 软件国际化软件国际化I18NSample.javaI18NSample.java软件国际化后:软件国际化后:MessagesBundle.propertiesMessagesBundle.propertiesMessagesBundle_de_DE.propertiesMessagesBun
4、dle_de_DE.propertiesMessagesBundle_fr_FR.propertiesMessagesBundle_fr_FR.properties10.1 10.1 软件国际化(续)软件国际化(续)1 1、软件国际化(简称:、软件国际化(简称:I18NI18N)l l国际化的英文单词是国际化的英文单词是“ “InternationalizationInternationalization” ”。l l软件国际化软件国际化是在软件设计和文档开发过程中,使是在软件设计和文档开发过程中,使 得功能和代码设计能处理多种语言和文化习俗,能得功能和代码设计能处理多种语言和文化习俗,能 够
5、在创建不同语言版本时,不需要重新设计源程序够在创建不同语言版本时,不需要重新设计源程序 代码的软件工程方法。代码的软件工程方法。10.1 10.1 软件国际化(续)软件国际化(续)2 2、国际化软件设计要遵循的通用准则:、国际化软件设计要遵循的通用准则:(1)(1)在国际化软件项目的初期融入国际化思想,并且使国际化在国际化软件项目的初期融入国际化思想,并且使国际化 贯穿于项目的整个生命周期。贯穿于项目的整个生命周期。 (2)(2)采用单一源文件进行多语言版本的本地化,不针对不同的采用单一源文件进行多语言版本的本地化,不针对不同的 语言编写多套代码。语言编写多套代码。 (3)(3)需要本地化的文
6、字与软件源代码分离,存储在单独的资源需要本地化的文字与软件源代码分离,存储在单独的资源 文件中。文件中。 (4)(4)软件代码支持处理单字节字符集和多字节字符集文字的输软件代码支持处理单字节字符集和多字节字符集文字的输 入、输出和显示,并且遵守竖排和折行规则。入、输出和显示,并且遵守竖排和折行规则。 (5)(5)软件代码应该支持软件代码应该支持UnicodeUnicode标准,或者可以在标准,或者可以在UnicodeUnicode和其和其 它代码页它代码页(Code Page)(Code Page)互换。互换。 10.1 10.1 软件国际化(续)软件国际化(续)2 2、国际化软件设计要遵循的
7、通用准则:、国际化软件设计要遵循的通用准则:(6)(6)软件代码不要嵌入字体名,也不要假设使用某种字体。软件代码不要嵌入字体名,也不要假设使用某种字体。 (7)(7)使用通用的图标和位图,避免不同区域的文化和传统差异使用通用的图标和位图,避免不同区域的文化和传统差异,避免在图标和位图中嵌入需要本地化的文字。,避免在图标和位图中嵌入需要本地化的文字。 (8)(8)菜单、对话框等界面布局能够满足处理本地化文字的长度菜单、对话框等界面布局能够满足处理本地化文字的长度扩展的需要。扩展的需要。 (9)(9)源语言的文字要准确精简,使用一致的术语,避免歧义和源语言的文字要准确精简,使用一致的术语,避免歧义
8、和拼写错误,以便进行本地化翻译。拼写错误,以便进行本地化翻译。 (10)(10)保证不同区域的键盘布局都能使用源软件的快捷键。保证不同区域的键盘布局都能使用源软件的快捷键。 (11)(11)考虑不同区域的法律和文化习俗对软件的要求。考虑不同区域的法律和文化习俗对软件的要求。10.1 10.1 软件国际化(续)软件国际化(续)2 2、国际化软件设计要遵循的通用准则:、国际化软件设计要遵循的通用准则:(12)(12)如果软件中采用第三方开发的软件或组件,需要检查和确如果软件中采用第三方开发的软件或组件,需要检查和确认是否满足国际化的要求。认是否满足国际化的要求。 (13)(13)保证源语言软件可以
9、在不同的区域和操作系统上正确运行保证源语言软件可以在不同的区域和操作系统上正确运行。 (14)(14)软件代码中避免软件代码中避免“ “硬编码硬编码” ”,不使用基于源语言的数字常量,不使用基于源语言的数字常量、屏幕位置、文件和路径名。、屏幕位置、文件和路径名。 (15)(15)字符串的缓冲区长度要满足本地化字符扩展的长度。字符串的缓冲区长度要满足本地化字符扩展的长度。 (16)(16)软件能正确支持区域排序和大小写转换。软件能正确支持区域排序和大小写转换。10.1 10.1 软件国际化(续)软件国际化(续)3 3、国际化测试、国际化测试国际化测试的目的是测试软件的国际化国际化测试的目的是测试
10、软件的国际化 支持能力,发现软件国际化的潜在问题,保支持能力,发现软件国际化的潜在问题,保 证软件在世界不同区域中都能正常运行。证软件在世界不同区域中都能正常运行。 n n设计评审设计评审 n n代码审查代码审查 n n针对源语言的功能测试针对源语言的功能测试 n n针对伪翻译版本的测试针对伪翻译版本的测试 10.2 10.2 软件本地化软件本地化1 1、相关术语、相关术语(1 1)软件本地化()软件本地化( LocalizationLocalization ,L10NL10N)是将一个软件产品按特定国家是将一个软件产品按特定国家/ /地区或语言市场地区或语言市场 的需要进行加工,使之满足特定
11、市场上的用户对语言的需要进行加工,使之满足特定市场上的用户对语言 和文化的特殊要求的软件生产活动。包括和文化的特殊要求的软件生产活动。包括翻译、重新翻译、重新 设计、功能调整、功能测试以及是否符合当地的习俗设计、功能调整、功能测试以及是否符合当地的习俗 、文化背景、语言和方言的验证、文化背景、语言和方言的验证等。等。10.2 10.2 软件本地化软件本地化(1 1)软件本地化()软件本地化( LocalizationLocalization ,L10NL10N)本地化是为解决网站、软件以及文档资料向其本地化是为解决网站、软件以及文档资料向其 它国家推广时遇到的语言障碍问题。它国家推广时遇到的语
12、言障碍问题。 n n网站本地化:网站需要翻译成不同国家的语言,以网站本地化:网站需要翻译成不同国家的语言,以 便不同国家的人能够无障碍地阅读网站内容。便不同国家的人能够无障碍地阅读网站内容。 n n软件本地化,以便能够在目标国家推广。软件本地化,以便能够在目标国家推广。 n n当然将网站或软件本地化为全世界所有语种是不现当然将网站或软件本地化为全世界所有语种是不现 实的,一般的惯例是只面向几种主要的语种(尤其是实的,一般的惯例是只面向几种主要的语种(尤其是 英语)进行本地化,比如现在许多国内网站都有中英英语)进行本地化,比如现在许多国内网站都有中英 文两个版本。文两个版本。10.210.2软件
13、本地化(续)软件本地化(续)(2 2)区域()区域( Locale Locale )l l场所、本地;场所、本地;l l从地理上说,区域是某个地方(国家或地区);从地理上说,区域是某个地方(国家或地区);l l是由语言、国家是由语言、国家/ /地区,以及文化传统确定的用户地区,以及文化传统确定的用户 环境特征集合环境特征集合,它决定了排列顺序、键盘布局,以及,它决定了排列顺序、键盘布局,以及 日期、时间、数字和货币格式等的通用设置。日期、时间、数字和货币格式等的通用设置。10.210.2软件本地化(续)软件本地化(续)(3 3)软件全球化()软件全球化( Globalization Globa
14、lization )是一个概念化产品的过程,它基于全球市场是一个概念化产品的过程,它基于全球市场 考虑,为全球用户设计,面向全球市场发布具有考虑,为全球用户设计,面向全球市场发布具有 一致界面、风格和功能的软件。它的核心特征和一致界面、风格和功能的软件。它的核心特征和 代码设计并不局限于一种语言和区域用户,可以代码设计并不局限于一种语言和区域用户,可以 支持不同目标市场的语言文字和数据信息的输入支持不同目标市场的语言文字和数据信息的输入 、输出、显示和存储。、输出、显示和存储。10.210.2软件本地化(续)软件本地化(续)图图10-1 10-1 翻译、本地化与国际化、全球化之间的关系翻译、本
15、地化与国际化、全球化之间的关系2 2、软件国际化和本地化的关系、软件国际化和本地化的关系10.210.2软件本地化(续)软件本地化(续)2 2、软件国际化和本地化的关系、软件国际化和本地化的关系国际化是为了解决软件能在各个不同语言、国际化是为了解决软件能在各个不同语言、 不同风俗的国家和地区使用的问题,对计算机设不同风俗的国家和地区使用的问题,对计算机设 计和编程做出的某些规定。计和编程做出的某些规定。国际化是本地化国际化是本地化 的前提和基础的前提和基础本地化是国际化向特定本地语言环境的转换本地化是国际化向特定本地语言环境的转换 ,本地化要适应国际化的规定。本地化要适应国际化的规定。10.2
16、10.2软件本地化(续)软件本地化(续)3 3、软件本地化的内容软件本地化的内容(1 1)软件用户界面)软件用户界面 (2 2)联机文档)联机文档 (3 3)组合键设置)组合键设置 (4 4)度量衡和时区等)度量衡和时区等10.210.2软件本地化(续)软件本地化(续)(1 1)建立一个配置管理体系,跟踪目标语言各个版本的)建立一个配置管理体系,跟踪目标语言各个版本的 源代码源代码 (2 2)创造和维护术语表)创造和维护术语表 (3 3)从源语言代码中分离资源文件、或提取需要本地化)从源语言代码中分离资源文件、或提取需要本地化 的文本的文本 (4 4)把分离或提取的文本、图片等翻译成目标语言)把分离或提取的文本、图片等翻译成目标语言 (5 5)把翻译好的文本、图片重新插入目标语言的源代码)把翻译好的文本、图片重新插入目标语言的源代码 版本中版本中 (6 6)如果需要,编译目标语言的源代码)如果需