第二节 软件本地化工程
软件本地化项目正式实施的初始阶段是进行软件资源文件工程处理,包括评估与准备、抽取资源文件、标识资源文件、检查翻译后的资源文件、调整用户界面尺寸、编译本地化软件、修正软件缺陷等。
一、评估与准备
评估与准备是软件本地化项目开始实施的重要环节,可以保证本地化的进度和质量,为下一步的翻译奠定基础。
要确保能够提供符合软件供应商要求的本地化内容,就需要检查和确认下面的内容,如果有任何问题,应及时与软件供应商讨论和确认。
首先,对源语言文档进行检查:
*哪些软件资源文件需要翻译?
*这些文件是否全部提供了需要翻译的用户界面文本内容?
*是否提供了翻译指导文档?
*是否提供了先前版本的资源文件?
*要使用什么工具重复利用前一版本已翻译过的资源文件?
*是否提供了术语表?
其次,对软件编译内容进行检查:
*是否提供了软件编译指导文档?
*是否完全理解软件编译指导文档的要求和内容?
*软件编译环境的版本是否正确?
*软件编译环境是否可以顺利执行?
*要编译的本地化软件版本号是什么?
*是否提供了编译的源语言软件?
*编译过程需要用到什么工具?
*编译过程需要的工具都准备好了吗?
*编译过程中如何对区域信息进行设置?
二、工作内容
1.抽取资源文件(Leverage)
为了便于工程处理,需要进行本地化的源语言的资源文件包含在翻译数据库(TDB)中,由软件供应商提供。
出于抽取和重复利用已翻译资源的目的,需使用正确版本的本地化工具软件对源语言翻译数据库进行工程处理。有些软件供应商使用自己开发的本地化工具,也有些供应商使用专业的本地化工具,如Alchemy Catalyst和SDL Passolo等。
在进行资源文件抽取和重复利用前,要将前一版本已翻译的翻译数据库准备好。如果是第一次进行软件本地化,由于一些本地化工具软件支持术语表的导入,则可以在经软件供应商确认的情况下,尽可能利用软件供应商的其他软件产品的术语表和本地操作系统的术语表。
进行抽取和重复利用时,应该对本地化工具进行正确设置,例如设置源语言、目标语言、代码页、默认目标字体、提取选项、前一版本已翻译的翻译数据库等。
经过抽取和重复利用处理得到的翻译数据库,只包含所需要翻译的新增和更新的源语言字符。除了提供这个数据库,还要使用本地化工具的统计功能,提供全部需要翻译字符的数量(包含新增的和更新的),以便翻译团队估算任务量,分配翻译资源。
2、标识资源文件(Mark-up)
如果源语言软件进行了很好的国际化设计,那么资源文件中就会包含全部需要翻译的内容。但是,实际上,不少软件的国际化设计并不完美,资源文件中也就相应包含了一些不需要翻译的内容,例如变量和命令选项。另外,资源文件中的某些条目可能需要根据不同的目标区域语言,分别进行不同的本地化处理。因此,在对抽取处理的翻译数据库进行翻译前,需要软件工程师来对这些不需要翻译和需要特殊处理的条目添加标识注释。
通常,添加的标识有如下类型:
*不需要翻译。
*不要超过n个字符长度。
*重复利用操作系统中的翻译,需要审阅。
*本字符串与ID:xx字符串组成串联字符串。
*不要删除热键符号。
*保留字符结尾的空格。
*不要改变变量的顺序。
3、检查资源文件(Validate)
本地化工程师要在编译本地化软件前,对资源文件的翻译语言质量进行检查。由于资源文件通常使用翻译记忆软件进行翻译,因此翻译数据库中标识的内容,通常不能导出到适合翻译的文档中,这些标识的条目从而也就可能无法被正确处理。因此,应该重点检查标识部分的翻译的正确性。另外,翻译数据库导出/导入到翻译记忆工具软件支持的文件格式的过程以及翻译过程,都可能会引起翻译格式和内容的错误。
针对以上问题进行检查,首先可以利用软件本地化工具的检查功能,例如Alchemy Catalyst的Validate Expert(检查专家)来完成。接下来还可以人工检查翻译数据库中标识的内容。
需要检查的元素如下:
*文件是否完全翻译?
*文件的格式是否正确?
*资源文件的标点符号是否正确?例如,是否丢失了前引号或后引号?是否添加了多余的引号?
*热键是否与源语言一致?例如,是否有丢失、重复、错误的热键?
*是否丢失了需要保留的字符串尾部的空格?
*是否翻译了不应该翻译的字符?
*是否添加、删除了软件变量?
*是否添加、删除了控制符?
4、调整用户界面尺寸(Resizing)
本地化工程师要在编译本地化软件前,对资源文件的用户界面(例如对话框)的控件大小和位置进行调整,以便适应本地化用户界面的实际大小和位置。例如,如果按钮上的文字翻译后超过了按钮的宽度,则应增大按钮的宽度,从而使全部文本显示出来。
可以使用软件本地化工具的检查功能,例如Alchemy Catalyst的Validate Expert(检查专家),找出需要调整的用户界面控件。
调整用户界面控件的大小和位置时,本地化工程师要掌握用户界面的设计原则,使得调整后的本地化用户界面尽可能与源语言界面保持一致。
现将用来调整用户界面的一些通用指导准则罗列如下:
*本地化对话框中按钮和选项的数目应该与源语言对话框一致。
*默认按钮具有默认的大小,例如“确定”按钮,在所有对话框中,都应保持相同的大小。另外,一个对话框中的所有按钮,应该尽可能保持相同的大小。
*确保控件之间不重叠。
*保持控件的原始对齐方式。例如左对齐、右对齐、上对齐、下对齐。
*本地化对话框的选项的Tab键保持原始的跳转顺序。
*避免使用缩写文本。如果确实因为空间限制而采用缩写,应该向翻译工程师咨询正确的缩写格式。
*避免减小控件的尺寸。因为有些控件上面的文字是在程序运行后动态改变的,如果减小了控件尺寸,动态改变的长文字则可能无法完全显示出来。
*使对话框的标题与标题栏的尺寸相吻合。
*尽量避免调整对话框的大小。调整对话框的大小将影响本地化用户界面的屏幕捕捉(Screen Capturing)和桌面出版(DTP)处理。
*对话框的大小应该与软件运行时要求的屏幕显示分辨率相匹配。
5、编译本地化软件(Compiling)
软件本地化编译的具体实现技术与所编译的本地化软件的特点紧密相关。首先,在软件编译中,提取本地化资源文件的方法不尽相同。根据本地化资源文件的类型,应使用不同的本地化工具软件,例如Alchemy Catalyst或SDL Passolo,提取已经进行了本地化的资源文件;其次,编译实现方式各不相同。通常,有两种用来编译本地化软件的方式。第一,直接在开发环境上,例如Microsoft Visual Studio、Microsoft Visual Studio.NET,将ASCII本地化资源文件(例如rc文件)编译成二进制的本地化资源文件(例如dll文件),然后使用软件安装制作工具创建本地化安装程序;第二,以源语言版本(Build)为基础,用二进制的本地化资源文件替换源语言中对应的文件,从而得到本地化的安装程序。第一种方式要由源语言软件的开发人员实现;第二种方式则可以由软件本地化服务商的编译工程师完成。随着软件本地化技术的发展,越来越多的本地化软件编译任务都是由软件本地化服务商完成的。因此,本地化服务商通常采用第二种方式编译本地化软件。
软件供应商如果要求本地化服务商编译本地化软件,通常都会提供编译环境和编译指导文档。继而,本地化工程师就在充分理解编译指导文档的基础上,设置编译环境,将经过检查确认的本地化资源文件、联机帮助文档以及其他本地化文档复制到编译环境中,执行相应的编译操作步骤,编译创建本地化软件版本。
设置本地化软件的编译环境是编译本地化软件的关键步骤,下面又包括操作系统变量设置、路径设置、安装编译过程中调用的工具软件、将全部本地化文档复制到编译环境等环节。
完成本地化软件的编译后,接下来就要执行版本验收测试(Build Acceptance Test),又称冒烟测试(Smoke Testing)。这一环节的目的是进行基本性能确认测试,例如是否可以正确安装/卸载、主要功能是否实现,以及是否存在严重死机或数据严重丢失等缺陷,此外还要确认本地化软件已包含了全部的本地化文档。如果通过了该测试,则可以根据正式测试文档进行正式测试。否则,就需要重新编译版本,再次执行版本验收测试,直到成功。
6、修正软件缺陷(Fixing Bug)
本地化工程师要负责修正本地化软件测试过程中发现和报告的软件缺陷(Bug)。由于本地化软件的缺陷类型较多,本地化工程师只需要修正由于软件本地化产生的缺陷,例如翻译缺陷、用户界面大小和位置缺陷、因翻译缺陷引起的本地化软件的功能缺陷等。至于软件的国际化设计缺陷和功能缺陷错误,则由软件供应商的开发工程师来负责处理。
为了确保本地化项目的进度能够满足项目的进展计划,应在当前版本的测试周期内及时修正全部本地化软件缺陷。同时,项目经理应该考虑到具体软件的缺陷修复的复杂性,在项目进度允许的情况下,尽可能预留出一定的时间给本地化工程师。