标题：软件本地化
简介
软件本地化是指将某一产品的用户界面（UI）和辅助材料（文档资料和在线帮助菜单）从其原产国语言向另一种语言转化，使之适应某一外国语言和文化的过程。软件本地化包括本地化翻译、本地化开发和本地化测试。妙文翻译本地化中心于2004年4月建立软件本地化中心，由一组认真负责的程序员、译员和工程师组成，他们在程序语言及开发环境方面的知识无可挑剔，可为您提供专业、高效、准确  软件本地化的本地化翻译及本地化测试解决方案。“软件本地化”是指将软件产品按照最终用户的使用习惯、语言以及需要进行转换和定制的过程。它包括文字翻译、多字节字符集支持、用户界面重新设计和调整、本地化功能增强与调整、桌面排版 (DTP)、编译、测试等。本地化是为解决网站、软件以及文档资料向其它国家推广时遇到的语言障碍问题。网站需要翻译成不同国家的语言，以便不同国家的人能够无障碍地阅读网站内容，这便是网站本地化。软件也需要本地化，以便能够在目标国家推广。当然将网站或软件本地化为全世界所有语种是不现实的，一般的惯例是只面向几种主要的语种（尤其是英语）进行本地化，比如现在许多国内网站都有中英文两个版本，有些还有日语、韩语等版本。本地化不仅仅是简单的文字翻译转换，还必须根据目标语言国家的市场特点、文化习惯、法律等情况进行本地特性开发、界面布局调整等工作。我公司在这方面具有深厚的技术背景及业务经验，已经为众多国内外企业提供了优秀的本地化服务。
起源
20世纪90年代中期，致力于提供全球多语言服务的多语言服务商在市场上浮现。它们专注于提供科技文件和软件的管理和翻译，由于当时的软件规模较小，需要翻译的内容很少，因此，这些多语言服务商的业务以科技文献的翻译为主，软件翻译只占较少比例。
进入21世纪，随着因特网技术的广泛应用，软件国际化设计技术的快速发展，软件本地化的市场要求增大，软  软件本地化件本地化的实现技术逐渐成熟。为了降低软件本地化的语言翻译技术和人力资源等成本，国际大型软件开发商更愿意将软件本地化外包给专业软件本地化服务商，从而集中力量解决核心事务，于是促生了专业软件本地化服务商和本地化咨询服务商。
软件本地化技术的发展，促进了专业语言服务商从语言翻译到软件本地化的转变。1990年，本地化行业标准协会(LISA)在瑞士成立，成为本地化和国际化行业的首要协会，标志着软件本地化行业的初步形成。LISA的目标是促进本地化和国际化行业的发展，提供机制和服务，使公司间能够交换和共享与本地化、国际化和相关主体相关的流程、工具、技术和商务模型信息。
软件本地化的发展现状
软件技术的进步推动了软件本地化行业的发展。20世纪90年代后期，因特网技术和软件设计技术的进步，软件本地化行业以平均增长30% 的速度蓬勃发展。在软件本地化的发展道路上，两项软件技术起着重大作用，即Unicode标准和独立本地化资源文件的技术（single world-wide binary）。Unicode解决了全球主要文字计算机编码的技术问题。独立本地化资源文件，使本地化的资源文件与源代码分离，便于本地化成全球其它语言版本。
软件本地化在全球的发展，促进了两级语言市场的划分。根据当地语言市场的规模，世界范围内逐渐形成了一级语言和二级语言两大本地化市场。德语、法语、意大利语、西班牙语和日语成为  软件本地化一级本地化市场，简体中文、繁体中文、韩文和东欧语言等成为二级语言本地化市场。软件开发商在软件本地化实施过程中，总是优先本地化一级语言市场。
作用目的
软件本地化测试是提高软件本地化质量的重要手段，是控制软件本地化质量的关键措施。目的是为了发现本地化的软件中的错误和缺陷，通过修复这些错误和缺陷，提高软件本地化质量。综合的软件本地化测试解决方案，可以保证软件发布进度、降低支持和维护成本，并保证产品有上乘的质量。软件本地化测试是一个工程系统，包含多个紧密联系的环节和内容。软件本地化测试作为保证软件本地化质量和可靠性的技术手段，随着软件国际市场的激烈竞争和软件用户对质量要求的不断提高，软件本地化测试在软件本地化项目中的作用更加突出。软件本地化测试的关键在于软件供应商（Software Provider）和本地化提供商(Localization Vendor)对测试的高度重视，包括测试资源、测试文档、测试流程、测试方法和测试管理等方面有效准备和正确实施。软件本地化测试是由软件本地化提供商和软件供应商互相协作的软件质量保证活动。源语言软件和多种语言本地化软件同时发布，已经成为大多数软件提供商追求的软件发布策略。因此，软件本地化测试将于源语言软件的测试保持同步。在软件本地化测试中发现的源语言软件的功能设计错误，需要由软件供应商处理。软件供应商已知得其他源语言软件的功能错误，需要通知本地化服务商，以免重复测试和报告相同的错误，影响测试效率。
相关测试
软件本地化测试的测试对象是本地化的软件，需要在本地化的操作系统上进行。虽然本地化的软件是基于源程序软件创建的，但二者的测试内容和重点具有很大的不同。一般地，二者的不同在于：第一，测试顺序不同。首先要现对源程序软件进行测试，然后再创建本地化软件，测试本地化软件。第二，测试内容和重点不同。源程序软件主要测试功能和性能，结合软件界面的测试。本地化软件的测试，更注重因本地化引起的错误，例如，翻译是否正确，本地化的界面是否美观，本地化后的功能是否与源语言软件保持一致。第三，测试环境不同。源程序软件测试通常在源语言的操作系统上进行。本地化软件在本地化的操作系统上进行。本地化测试过程中，需要同时运行源程序软件和本地化软件，依照源程序软件结果作为本地化软件的主要参考。
操作流程
1、本地化开发（由客户完成）：客户需提供源语言的软件代码；
2、本地化翻译：由相应专业背景的译员进行软件翻译、校对；
3、本地化测试：包括本地化版本编译、本地化版本测试和缺陷修复；
（1）书写测试计划，测试用例；
（2）检查翻译是否恰当，是否符合本地人的习惯；
（3）检查翻译后是否影  软件本地化测试设计流程响当地人的习惯（比如中国人姓在前，名在后）；
（4）检查各种图标文字是否符合当地人的习惯（比如龙在西方属于邪恶的象征，而中国属于吉祥的象征）；
（5）检查其他属于本地化测试的内容。
4、生成测试报告，分析错误类型；
5、属于本地化版本错误的则进行本地化版本修复，属于翻译错误则提交译员修改，属于源语言版本的程序错误则提交给客户修改；
6、回归测试，若发现错误则重复上一步即修复各种本地化错误，若无则直接提交客户；
7、本地化开发完成。
软件本地化的错误类型
软件本地化的错误主要分为两大类：第一、由于源程序软件编码错误引起的；第二，由于软件本地化引起的。其中由于软件本地化产生的错误类型包括语句没有翻译、翻译错误、控件布局错误。对于东亚语系软件，可能存在双字节字符显示错误等。综合分析本地化软件的错误类别，可以归  软件本地化软件缺陷结为四种类型：翻译错误，功能错误，界面错误，双字节错误。每种类型的错误的数量不同，这与源程序软件和本地化软件的质量有密切关系。如果源程序软件没有经过完整的测试，包括功能测试和本地化性能测试，那么本地化软件中就将存在很多功能错误、界面错误、双字节错误。如果本地化软件没有经过良好的本地化处理，将会产生很多翻译错误和界面错误。
错误分析
下面对本地化软件的错误的四种典型类型进行分类讨论，探讨错误的表现特征，产生的原因，测试要求，发现错误的方法。翻译错误(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)软件本地化后，对程序中控制符号如换行键“\n”的处理错误而引起乱码。
(2)表现特征：
1)控件或对话框中显示不可辩识的字符。
2)控件或对话框中显示无意义的明显错误的字符。
3)不支持双字节字符的输入，包括双字节的文件名和路径名。
4)仅出现在本地化后的版本中。(3)测试要求：
1)本地化后的软件字符显示正确完整，无乱码或明显错别字。
(4)测试方法：
1)执行菜单或按钮，检查对话框中的字符。
2)打开帮助文档，检查所有需要翻译的字符。
(5)说明：
1)注意检查对话框下拉列表中需要拖动滚动条才能显示的内容。
以上仅列出了本地化软件测试经常遇到的四种错误类型，在实际测试中可能某些错误的现象（如列表框中有多余项或缺少项），既可以认为是布局错误，也可以属于功能错误，应该认真思考该错误表现的实质，将其划分为正确的错误类型。实际测试是一个动态的过程，不能孤立静态地对待发现的错误，因为一个错误可能包含着其他的不同类型的错误。比如在对话框中，选择某个按钮，产生一个错误提示对话框，这可能是一个按钮功能错误，如果对话框中存在需要翻译而没有翻译的英文，则又是一个翻译错误，如果对话框中存在无法辨识的字符，则又是一个双字节错误，如果对话框中按钮排列重叠，则还是一个布局错误。总之，本地化软件的错误的产生是多方面的，不能仅仅归结为软件本地化过程带来的错误，实际上，良好的国际化设计的源程序是减少软件本地化错误的根本保证。当然，提高软件本地化过程能力，提高翻译和检查，优化本地化软件编译流程，能够减少很多因本地化产生的错误。
软件本地化常用工具
软件本地化包含文字翻译、软件编译、软件测试和桌面排版等多项工作，需要多种软件配合才能完成。主要包含操作系统软件，通用软件，专用软件。选择合适的软件，可以提高工作效率，创建符合行业格式的文件。
1．操作系统软件
2．通用软件
通用软件完成软件本地化的文档处理和通信交流。选择的原则是：满足软件本地化的格式要求，操作简便，提高工作效率。 
常用的文档处理软件包括： 
（1）文字处理软件 
（2）表格处理软件 
(3) 数据库软件 
（4）压缩/解压缩软件 
(5) 文档上传/下载软件 
（6）屏幕捕捉软件 
（7）图像处理软件
（8）比较文件和文件夹软件 
（9）文件合并与分割软件 
（10） 磁盘分区备份软件
（11） 计划管理软件 
（12） 通信交流软件 
3．专用软件
（1）翻译记忆软件 
（2）资源提取软件 
(3) 桌面排版软件 
(4) 资源文件查看和编辑软件 
(5) 文档格式编辑软件 
(6) 自动测试软件 
(7) 其它根据软件本地化要求开发的工具软件 
翻译工具 Translator's Workbench、Clipboard/Excel/PowerPoint 、TagEditor、ForeignDesk、WinAlign、 Alchemhy Catalyst 、S-Tagger for FrameMaker、RC-WinTrans 图形图像编辑软件Adobe Illustrator 、FreeHand 、Corel Draw、Paint Brush 、PhotoShopPaint、 Shop Pro 编译软件HCW、Robo Help 、HHW Trados、 S-Tagger 、HTML QA 桌面排版系统(DTP) FrameMaker、Quark Xpress、 FrameMaker + SGML、Page Maker、 InDesign、DreamWeaver 、Adobe Acobat、Advent 3B2、 MS office、Epic Editor 其他工具软件Notepad、Beyond compare、UltraEdite-doc 、system 字体Windows system fonts、Hanyi Fonts 、DynaFont、English vector font 
国内软件本地化行业的现状
1.服务商的区域分布不平衡，除老牌本地化公司以外，其他规模相对较小。
2.技术实力有待于提高，服务种类相对单一，项目管理和工艺流程有待于规范。
3.本地化服务商集中在北京、上海、大连、广东、江苏和浙江。
4.提供的语言以中文为主，对其他语言的服务有限。大多提供语言翻译服务，少数公司能提供软件测试和本地化版本编译服务。
5.软件本地化过程的隐蔽性和业务流程的专业性都需要增强。