什么是伪本地化build

上一篇 / 下一篇  2010-09-02 21:33:08 / 个人分类:国际化测试

前面我们已经多次提到了伪本地化build,今天我们就来谈谈它。
软件伪本地化build从字面意思来理解就是一个假的本地化build。伪本地化的英文是“Pseudo Localization”,它不是软件真正本地化,而是在源语言软件的基础上,按照一定的规则,将需要本地化的文本使用本地化文字进行替换,模拟本地化软件的过程。经过这种处理得到的软件的界面将包含本地化文字,看起来像本地化软件,所以称为“伪本地化”。

在进行国际化测试时,我们需要保证被测软件有足够好的可本地化能力,也就是我前面说过的国际化测试第三级测试,用英文build是发现不了国际化测试第三级的问题的,但是国际化第三极的问题又不能等到本地化build出来再进行测试然后进行修改,等到那个时候已经太晚了,所以在国际化测试过程中就出现了伪本地化build.

伪本地化build主要是对资源文件进行处理,给资源文件中的每一个字符串加前缀和后缀,有的时候会使用自动翻译将资源文件直接范围,然后做一个伪本地化build.


使用伪本地化build可以确定是否存在硬编码的字符串,如果所有的字符串都是增加了前缀或后缀,或用本地化字符替换了,那么运行软件时出现的英文字符串则属于不能本地化的硬编码缺陷,即这些英文字符没有包含在可以本地化的资源文件中。


使用伪本地化build还可以发现字符扩展的问题,大家都知道,一个语言翻译到另外一个语言时,字符的长度会发生变化,如果界面上没有预留足够的空间,则会出现翻译后字符串的裁断。在使用伪本地化build时,因为字符串在英文字符串基础上增加了前缀和后缀,长度会变长一些,如果界面上控件的长度没有考虑国际化,则很可能出现截断问题。比如button,label,dropdown list等名字或值显示不完整,影响用户阅读和使用。


使用伪本地化build进行测试,因为在字符串在英文基础上增加了前缀和后缀,还可以发现缓冲区溢出问题,如果你在使用伪本地化build上测试发现功能问题很可能是缓冲区溢出问题。


使用伪本地化build进行测试,还可以发现字符串串联的问题,就是一个长字符串是根据程序运行过程中变量的值由两个或多个字符串拼接而成,这样会影响本地化的翻译工作。我们可以根据字符串的前缀和后缀来分析字符串,判断这类问题。


使用伪本地化build还可以发现一些对话框大小的硬编码问题,如果对话框大小不能根据对话框上的显示文字多少进行变化,则会影响本地化翻译后的显示。

关于伪本地化build上面由于字符长度扩展引发的截断问题我们还要分不同的情况,这些问题有可能不需要修改代码,而是直接调整资源文件就可以改好,这样,这些问题就可以直接交给本地化的工程师去做,国际化的开发就可以不去关注了,如果出现的截断问题必须通过修改代码才能修复,则必须由国际化开发人员修复。但是这种问题测试人员不好判断,可以寻求开发人员的帮助,在做伪本地化测试前,请开发人员分析程序UI显示是否可以通过资源文件调整,如果可以通过资源文件调整来改变UI显示,则测试人员在测试过程中可以不关注截断类问题,省去很多报bug的时间。

在使用伪本地化build测试过程中也可能会发现有些问题是伪本地化build的问题,和产品本身无关,这个主要看做build的人的质量,比如字符加前后缀,很可能有些比较特殊的地方没有加上,或有问题,这些具体问题在做项目过程中要具体分析。

 

 

 


TAG:

 

评分:0

我来说两句

Open Toolbar