程序本地化
1. 软件本地化的错误分析
下面对本地化软件的错误的四种典型类型进行分类讨论,探讨错误的表现特征,产生的原因,测试要求,发现错误的方法。 (1)产生原因:
1)翻译人员不熟悉翻译要求。
2)翻译人员工作疏漏。
3)用户界面的翻译与标准词汇表不一致。
(2)表现特征:
1)应该翻译而没有翻译的英文字符。
2)不应该翻译而翻译的中文字词。
3)错误翻译的字词。
4)只在本地化版本中存在该类型错误。
5)较多隐含在对话框各控件以及帮助文档中。(3)测试要求:
1)明确需要翻译和不需要翻译的内容。
2)明确正确的翻译方式。
3)根据术语表,确认术语翻译的正确性与一致性。
(4)测试方法:
1)主要同时打开中英文版本,执行相同的操作。
2)结合标准界面词汇翻译表,参照对比。
(5)说明:
1)对于对话框,如果含有下拉列表框,要打开列表框查看全部项。
2)特别要注意选项中开关类翻译错误。 (1)产生原因:
1)软件编码错误。
2)错误本地化,如将程序中的变量进行了翻译等。
(2)表现特征:
1)不能实现设计要求的功能。
2)产生与设计要求不符合的结果。
3)英文和中文都存在同样的错误。
4)可能隐含在软件的任何位置或任何操作步骤中。
(3)测试要求:
1)保证输入数据正确,或者打开了正确的测试用例。
2)明确正确的输出结果和中间数据数值及格式。(4)测试方法:
1)对于菜单项或工具栏按钮,通过全面测试各个选项,认真观察每一步是否正确执行,输出结果(包括格式和数值)是否正确。
2)对于一个命令中的多个并列选项,采用路径跟踪法,按分支顺序测试嵌套的全部子项。
3)对于对话框,可以逐个执行各按钮,各个列表选项等观察执行结果。
(5)说明:
1)特别注意不同选项、不同按钮相互操作的影响。
2)注意检查快捷键是否遗漏,是否多余,是否不同,是否起作用。 (1)产生原因:
1)软件本地化后,由于源语言和本地化语言的表达方式不同,本地化后的字符数与源语言不同,每个字符所占空间尺寸不同,使得在英文版本正确显示的控件字符,可能在本地化版本显示不正确。
2)本地化人员调整程序资源不当引起,例如,对话框及其控件高度或宽度的不正确调整。
(2)表现特征:
1)控件相互重叠或排列不均匀。
2)控件中字符显示不完整。
3)主要出现在本地化版本的对话框中。(3)测试要求:
1)对话框中控件布局均匀,字符显示完整正确。
2)对话框中控件数量相等,没有多余或丢失的控件
(4)测试方法:
1)执行将要打开对话框的菜单或工具栏按钮,观察打开对话框中的控件布局。
2)对比检查源语言软件和本地化软件对应的对话框中控件的数量
(5)说明:
1)可能在执行不同的操作后,如选择了不同单选或复选按钮后,编辑框显示重叠等。
2)执行后带省略号的菜单或命令按钮,将会显示对话框。 (1)产生原因:
1)源程序在设计时没有考虑双字节语言的支持。
2)软件本地化后,单字节字符向双字节字符转化过程中,由于单字节和双字节之间的差别,可能使得某些本地化后的双字节字符的显示乱码。
3)软件本地化后,对程序中控制符号如换行键“
”的处理错误而引起乱码。
(2)表现特征:
1)控件或对话框中显示不可辩识的字符。
2)控件或对话框中显示无意义的明显错误的字符。
3)不支持双字节字符的输入,包括双字节的文件名和路径名。
4)仅出现在本地化后的版本中。(3)测试要求:
1)本地化后的软件字符显示正确完整,无乱码或明显错别字。
(4)测试方法:
1)执行菜单或按钮,检查对话框中的字符。
2)打开帮助文档,检查所有需要翻译的字符。
(5)说明:
1)注意检查对话框下拉列表中需要拖动滚动条才能显示的内容。
以上仅列出了本地化软件测试经常遇到的四种错误类型,在实际测试中可能某些错误的现象(如列表框中有多余项或缺少项),既可以认为是布局错误,也可以属于功能错误,应该认真思考该错误表现的实质,将其划分为正确的错误类型。实际测试是一个动态的过程,不能孤立静态地对待发现的错误,因为一个错误可能包含着其他的不同类型的错误。比如在对话框中,选择某个按钮,产生一个错误提示对话框,这可能是一个按钮功能错误,如果对话框中存在需要翻译而没有翻译的英文,则又是一个翻译错误,如果对话框中存在无法辨识的字符,则又是一个双字节错误,如果对话框中按钮排列重叠,则还是一个布局错误。总之,本地化软件的错误的产生是多方面的,不能仅仅归结为软件本地化过程带来的错误,实际上,良好的国际化设计的源程序是减少软件本地化错误的根本保证。当然,提高软件本地化过程能力,提高翻译和检查,优化本地化软件编译流程,能够减少很多因本地化产生的错误。
2. 软件本地化的错误类型
软件本地化的错误主要分为两大类:第一、由于源程序软件编码错误引起的;第二,由于软件本地化引起的。其中由于软件本地化产生的错误类型包括语句没有翻译、翻译错误、控件布局错误。对于东亚语系软件,可能存在双字节字符显示错误等。综合分析本地化软件的错误类别,可以归结为四种类型:翻译错误,功能错误,界面错误,双字节错误。每种类型的错误的数量不同,这与源程序软件和本地化软件的质量有密切关系。如果源程序软件没有经过完整的测试,包括功能测试和本地化性能测试,那么本地化软件中就将存在很多功能错误、界面错误、双字节错误。如果本地化软件没有经过良好的本地化处理,将会产生很多翻译错误和界面错误。
3. 什么是软件本地化求答案
本地化是商业软件出于营销策略考虑,满足特定市场上的用户对语言和功能的特殊要求,而对软件进行加工。一般包括以下五项工作:1.
翻译包装和宣传材料
翻译包装是本地化的最基本层次,所需投入最小,但所能带来的收益也最小。2.
支持当地语言
只有支持当地语言才可能真正进行本地化。这部分工作涉及源代码修改,通常由产品开发人员完成。如果在开发过程中已经实施了国际化策略,就很少有额外的代码工作。完成这一层次的工作后,软件用户界面仍然是英文的,从外表上看与英文软件完全相同,区别主要是:
可运行于本地语言的操作系统上
可接受本地语言输入并用本地语言输出3.
转换用户界面和文档
在此基础上进行用户界面和文档的转换才有实际意义,也就是传统意义上的“本地化”
。也有人考虑在软件能用当地语言输入输出之前就翻译文档,这似乎可以改善产品的易用性,但既然用户还是必须用英文工作,这看起来有点本末倒置。
出于费用、时间和技术等方面的考虑,转换用户界面和文档的工作大多由专业本地化服务提供商进行。委托方通常会根据预算和项目周期的限制按照下列顺序决定本地化的范围:用户界面-联机帮助-手册-README -样例-演示和教程-其他
对一些规模较大、专业性较强的软件,可以考虑先转换部分手册,待时机成熟后再进行全面的本地化。4.
支持本地硬件和软件
由于各个国家和地区流行的硬件和软件可能会有所不同,产品的兼容性可能会成为障碍。在欧美一切正常的软件到中国后“水土不服”不足为奇。以支持本地硬件和软件为目标的本地化,有时并不困难,只要有产品开发人员的支持即可,有时却会遇到技术难度大、风险高的难题。5.
提供本地化功能
针对当地用户的特殊需求修改功能特性或直接进行开发。例如,
提供汉字竖排和从右至左布局的功能
提供符合中国国家标准的土建工程图纸标注功能
使用的工具:
客户所提供的用户端工具程式TRADOS -此工具可确保一致性
TargeTek Glossary Finder-可以简单快速找到词汇。
4. 软件本地化的作用目的
软件本地化测试是提高软件本地化质量的重要手段,是控制软件本地化质量的关键措施。目的是为了发现本地化的软件中的错误和缺陷,通过修复这些错误和缺陷,提高软件本地化质量。综合的软件本地化测试解决方案,可以保证软件发布进度、降低支持和维护成本,并保证产品有上乘的质量。软件本地化测试是一个工程系统,包含多个紧密联系的环节和内容。软件本地化测试作为保证软件本地化质量和可靠性的技术手段,随着软件国际市场的激烈竞争和软件用户对质量要求的不断提高,软件本地化测试在软件本地化项目中的作用更加突出。软件本地化测试的关键在于软件供应商(SoftwareProvider)和本地化提供商(LocalizationVendor)对测试的高度重视,包括测试资源、测试文档、测试流程、测试方法和测试管理等方面有效准备和正确实施。软件本地化测试是由软件本地化提供商和软件供应商互相协作的软件质量保证活动。源语言软件和多种语言本地化软件同时发布,已经成为大多数软件提供商追求的软件发布策略。因此,软件本地化测试将于源语言软件的测试保持同步。在软件本地化测试中发现的源语言软件的功能设计错误,需要由软件供应商处理。软件供应商已知得其他源语言软件的功能错误,需要通知本地化服务商,以免重复测试和报告相同的错误,影响测试效率。
5. 软件本地化的行业现状
1.服务商的区域分布不平衡,除老牌本地化公司以外,其他规模相对较小。
2.技术实力有待于提高,服务种类相对单一,项目管理和工艺流程有待于规范。
3.本地化服务商集中在北京、上海、大连、广东、江苏和浙江。
4.提供的语言以中文为主,对其他语言的服务有限。大多提供语言翻译服务,少数公司能提供软件测试和本地化版本编译服务。今年来不少公司开始提供多国语言本地化服务。
5.软件本地化过程的隐蔽性和业务流程的专业性都需要增强。
6. 软件本地化与国际化的关系
看到有人在问全球化和国际化的关系,国际化和本地话的关系,我们今天就简单说说这三者之间的关系。
我们所说的全球化,国际化,本地化都是针对软件来说的。简单的来说全球化=国际化+本地化。
所谓的全球化,就是软件的目标市场并不是一个国家,而是多个国家或区域,我这里借用一下崔启亮老师的书里面的定义
全球化软件是为全球用户设计,面向全球市场发布的具有一致的界面,风格和功能的软件,他的核心特征和代码设计并不仅仅局限于某一种语言和区域用户,可以支持不同目标市场的语言和数据的输入,输出,显示和存储。全球化软件也称为国际化软件,全球化对应的英文是Globalization,缩写为G11N.G是首字母,N是尾字母。11表示在首字母G和尾字母N之间省略了11个字母。
其实全球化软件按照字面意思理解的话也可以叫国际化软件。全球就是针对多个国家的意思,国际化也是针对多个国家的意思,但是全球化软件在开发过程中又可以分为两个大的部分,一般叫做国际化和本地化,为了将此国际化和彼国际化分开,所以叫做全球化。 所以全球化=国际化+本地化
这块主要是定义的问题,如果把一个面向全球用户的软件叫做国际化软件也可以,但是如果在做这个软件的公司内部就不好区分这个大的国际化和他下面细分出来的国际化,所以一般就叫做全球化。所以如果你是给公司外部的人来说,不关注技术细节的话,说你的产品是全球化软件或国际化软件都可以。但是公司内部具体去做这个软件的话最好还是将全球化和国际化定义严格分开。崔启亮老师的书<<国际化软件测试>>,我感觉名字叫做全球化软件测试可能会更好一点,当初我看了名字我还以为是讲做国际化的,结果发现国际化和本地化都讲。
下面我们来说说国际化和本地化的关系,其实我和项目组里的人合作了很长时间,他们有时候也是分不清楚国际化和本地化,大家对本地化可能了解的比较多,因为这个也比较好理解,就是要做不同语言的本地化版本。但是国际化具体做什么他们就不是特别清楚,所以两个老是搞错。
我们还是来引用崔老师的定义:
软件国际化就是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,能够在创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。国际化的英文单词是Internationalization,所写为I18N,其中I是首字母,N是尾字母。18表示在首字母的I和尾字母N之间省略了18个字母
软件本地化是将一个软件产品按照特定国家/地区或语言市场的需要进行加工,使之满足特定市场上的用户对语言和文化的特殊要求的软件生产活动。本地化的英文对应Localization,缩写为L10N,其中L为首字母,N是尾字母,10表示在首字母的L和尾字母的N之间省略了10个字母。
我们从上面的描述上去分析,国际化需要保证功能和代码设计能处理多种语言和文化习俗,在创建不同语言版本时,不需要重新设计源程序代码,这个说明国际化实际上是为本地化服务的,其实在软件开发过程中加入国际化的设计就是为了更好,更快的出本地化版本。国际化并不针对某一特定语言来做,国际化做好了的话,你的软件就可以处理多种语言和文化习俗,语言也就是各种国家的文字显示,输入输出,各种语言的操作系统上运行,习俗通常指的是区域相关的,比如日期时间显示格式,数字,货币符号,姓名显示顺序等。当你的软件如果国际化做的比较好时,在做本地化时就不需要重新设计或修改源代码,只需要进行资源文件的翻译,然后出本地化的build.而本地化是针对特定语言的,特定市场的,如果该语言和该市场没有特殊要求,那么简单的说就是一个将资源文件进行翻译,然后出一个本地化的build,然后测试该本地化build上本地化问题,比如字符串没有翻译等,这个是全球化软件最理想的情况,但是往往个别国家或区域对软件在基础功能上又有些特殊的要求,本地化组需要在基于已经发布的英文版上增加特色功能然后自己发布。
我们简单的总结一下本地化测试和国际化测试,基于比较理想的全球化软件开发模式,各个国家没有自己特殊的需求
1、测试需要用的操作系统:
国际化测试人员一般会基于多个语言的操作系统进行测试,因为国际化测试需要负责软件对各个不同国家操作系统的支持。一般至少选择两个,亚洲为代表的比如日语,和欧洲为代表的,比如德语。
本地化测试人员一般只在某一个特定语言的操作系统进行测试。除非该测试人员要负责多个语言的本地化。
2、测试的build
国际化测试一般用英文build和伪本地化build进行测试,英文build一般主要用来发现国际化第一级和第二级的问题,伪本地化build主要用来测试国际化第三级的问题。
本地化测试一般用已经翻译过的本地化build.
3、 bug的处理方式
国际化的bug一般都是需要通过修改代码才行修改好
本地化的bug一般都是通过修改翻译,修改资源文件来修复,不需要修改代码(这个是理想情况。)
4、测试的核心关注点不同
国际化测试关注针对各种语言的支持,概括来说就是对DBCS,Hi-ASCII的支持,包括显示,输入,输出等,还有对于不同国家的时间日期格式,货币符号显示等
本地化测试主要关注自己测试的语言上的输入,输出,显示,所测语言上一些特殊性等。
5、测试进入项目的时间不同
7. html5程序本地化是什么意思
date.parse(current)返回一个整数值,此整数表示当前时间与 1970 年 1 月 1 日午夜之间相差的专毫秒数,减去 date变量提供的属时间与1970 年 1 月 1 日午夜之间相差的毫秒数。然后除以10000,吧这个值赋给任意类型的变量seconds。
8. 软件本地化的起源
20世纪90年代中期,致力于提供全球多语言服务的多语言服务商在市场上浮现。它们专注于提供科回技文件和软件的管理答和翻译,由于当时的软件规模较小,需要翻译的内容很少,因此,这些多语言服务商的业务以科技文献的翻译为主,软件翻译只占较少比例。
进入21世纪,随着因特网技术的广泛应用,软件国际化设计技术的快速发展,软件本地化的市场要求增大,软件本地化的实现技术逐渐成熟。为了降低软件本地化的语言翻译技术和人力资源等成本,国际大型软件开发商更愿意将软件本地化外包给专业软件本地化服务商,从而集中力量解决核心事务,于是促生了专业软件本地化服务商和本地化咨询服务商。
软件本地化技术的发展,促进了专业语言服务商从语言翻译到软件本地化的转变。1990年,本地化行业标准协会(LISA)在瑞士成立,成为本地化和国际化行业的首要协会,标志着软件本地化行业的初步形成。LISA的目标是促进本地化和国际化行业的发展,提供机制和服务,使公司间能够交换和共享与本地化、国际化和相关主体相关的流程、工具、技术和商务模型信息。
9. “软件本地化”是什么意思
软件本地化测试是软件本地化项目的一个重要组成部分,在软件行业,尤其在与国际接轨的当今,已越来越受到重视。当某个公司或者机构希望将其产品和服务推广到本土以外的地方时就少不了“本地化”的环节。大抵要先去考察一下当地的各种环境,然后相应的改造自己的产品和服务,使之看起来如同本地化产出的一样,从而尽量淡化其在最终用户眼中的外来色彩,目的则无非是为了确保产品或服务在当地市场最大可能的接受程度。
软件本地化测试是提高软件本地化质量的重要手段,是控制软件本地化质量的关键措施。目的是为了发现本地化的软件中的错误和缺陷,通过修复这些错误和缺陷,提高软件本地化质量。综合的软件本地化测试解决方案,可以保证软件发布进度、降低支持和维护成本,并保证产品有上乘的质量。
软件本地化测试是一个工程系统,包含多个紧密联系的环节和内容。软件本地化测试作为保证软件本地化质量和可靠性的技术手段,随着软件国际市场的激烈竞争和软件用户对质量要求的不断提高,软件本地化测试在软件本地化项目中的作用更加突出。软件本地化测试的关键在于软件供应商(Software Provider)和本地化提供商(Localization Vendor)对测试的高度重视,包括测试资源、测试文档、测试流程、测试方法和测试管理等方面有效准备和正确实施。
软件本地化测试是对本地化软件质量控制的重要手段,是运行本地化软件程序寻找和发现错误的质量控制过程。
软件本地化测试是由软件本地化提供商和软件供应商互相协作的软件质量保证活动。源语言软件和多种语言本地化软件同时发布,已经成为大多数软件提供商追求的软件发布策略。因此,软件本地化测试将于源语言软件的测试保持同步。在软件本地化测试中发现的源语言软件的功能设计错误,需要由软件供应商处理。软件供应商已知得其他源语言软件的功能错误,需要通知本地化服务商,以免重复测试和报告相同的错误,影响测试效率。
10. 软件本地化的操作流程
1、本地化开发(由客户完成):客户需提供源语言的软件代码;
2、本地回化翻译:答由相应专业背景的译员进行软件翻译、校对;
3、本地化测试:包括本地化版本编译、本地化版本测试和缺陷修复;
(1)书写测试计划,测试用例;
(2)检查翻译是否恰当,是否符合本地人的习惯;
(3)检查翻译后是否影响当地人的习惯(比如中国人姓在前,名在后);
(4)检查各种图标文字是否符合当地人的习惯(比如龙在西方属于邪恶的象征,而中国属于吉祥的象征);
(5)检查其他属于本地化测试的内容。
4、生成测试报告,分析错误类型;
5、属于本地化版本错误的则进行本地化版本修复,属于翻译错误则提交译员修改,属于源语言版本的程序错误则提交给客户修改;
6、回归测试,若发现错误则重复上一步即修复各种本地化错误,若无则直接提交客户;
7、本地化开发完成。