码迷,mamicode.com
首页 > 编程语言 > 详细

多语言的测试经验分享

时间:2018-05-11 17:19:45      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:代码   tar   列表   jsb   部分   阿拉伯   不必要   避免   台湾   

(转载)原文地址:https://blog.csdn.net/alice_tl/article/details/78907732#comments

所谓多语言测试,是指APP在多个使用不同语言的国家发布,则必须对多种语言支持的一种场景测试。比如希望在Google Play上发布一个APP,提供给全球用户下载,那么就需要支持英语、泰语、韩语、阿拉伯语等等不同国家的语言。

近期项目要接触到多语言测试,于是将自己的经验梳理了一下,可以给大家参考。

测试注意事项:

1、同一语言,不同国家的代号不同

不同国家,即使都是英文,语言的代码也是不一样的,举个例子看大家就明白了。

这是列举的部分英语为母语的国家语言代号:

en英语

en-us英语(美国)

en-gb英语(英国)

en-au英语(澳大利亚)

en-ca英语(加拿大)

这是列举的中文繁体的不同地区语言代号:

zh-tw中文(中国台湾)

zh-hk中文(中国香港特别行政区)

语言代号与Android系统的语言具有对应关系,即系统语言里看到的这个列表:

技术分享图片

因此,如果代码里设定了当检测到系统的语言代号为en-us美国英语时,才显示英文字符串信息。那么切换系统到英国英语时,app仍然是不显示英文的,甚至可能会直接崩溃。

2、不同国家和地区,日期的显示习惯不一样

用户设置了不同语言和地区时,操作系统会自动为其设定相应的日期和时间格式,如何用户在设备上选择的日期格式和APP代码里的格式不一致,就会导致APP无法显示日期和时间,甚至使APP崩溃。

比如中国日期,1996年3月2日

英国习惯表示为:2nd March,1996

美国习惯表示为:March 2,1996

3、不同语言,文字的换行显示有不同的处理方法

对于中文来说,每个字都是独立的,随时可以换行。而如果把英文单词按照汉字一样处理,则认为每个字母是独立的,这样会导致单词换行显示且没有连字符。

并且英文的单词普遍比中文更长。

例如“不同”,翻译成英文是“different”,英文足足比中文多了一倍的字符长度。

不能词中换行可能导致的问题就是文字过多重叠、或者是压缩字号展示,又或者是以省略号显示了,总之都不美观。

因此,要重点关注字符串长的内容,尤其是文案提示、导航栏、APP的一些操作按钮。

4、不同语言,文字的阅读顺序不一致

比如,英文是“从左往右”写,而希伯来文和阿拉伯文是“从右往左”写。

这是英文界面从左往右的布局图:

技术分享图片

这是阿拉伯语言适配的界面:

技术分享图片

那么系统切换为阿拉伯文时,APP界面展示是否符合阿拉伯人的文字阅读习惯呢?

如果不知道系统里哪个选项对应的是阿拉伯语言,或者希望知道系统里的各个语言选项对应的是什么语言,可以看这个清单:

https://blog.csdn.net/alice_tl/article/details/78942241

5、不同国家和地区,使用语言的情景不同

比如大部分软件中都有注册登录体系,并且支持用户修改昵称,有的软件会设定为昵称只允许输入中文、字母和下划线,不支持输入空格。这样对于英文用户来讲,是非常不合理的设计。

因此国际化下,我们更应该注重用户场景测试,考虑国外人的生活文化习惯。

6、不同语言,适配的输入法不同

很多APP会在多个国家或地区发布,因此要支持多语言的显示,并且需要支持多语言的键盘,比如微信,当手机系统语言设定为英语时,APP界面应显示为英语,支持输入中文、英文以及各种语言。系统切换为泰语,就应该要支持泰语的键盘输入内容。

并且,如果切换和适配语言的同时,能够自动默认切换为对应语言的输入法,用户体验上可能会更好一些。

 

如何避免多语言问题呢?

1、翻译人员最好是够专业。

专业性体现在,一是对这门语言非常掌握,可以保证准确性,另外可以保证符合不同国家和地区的语言文化习惯,不会出现一些忌讳词或负面词汇。

2、翻译后的内容最好是言简意赅。

这样可以减少很多不必要的重叠、换行、省略显示等问题,通常多语言测试的缺陷中,70%以上的问题都是因为内容过长导致的显示问题。

3、开发实现上最好是多语言文件脱离代码。

避免将多语言文字变量写死在代码中,最好是独立文件,并且每个语种对应一个文件,这样测试和校对时都会更加方便,并且不容易出错。

4、开发实现上最好是设置一种默认语言。

当app识别到系统设置的语言代号并没有对应的字符信息匹配时,直接显示默认语言。通常国内可以设置为中文,海外可以设置为英文,这样当系统设置的语言,对应APP代码中找不到匹配的语言文件时,显示为英文,总好过出现崩溃。

 

 

如何提高多语言测试的效率呢?

 

1、检查语言对应的values xml文件代替app界面

因为通过app界面检查时,一方面由于语言多不懂,操作难度增加,操作效率降低,并且覆盖的界面太多,相当于各种语言下把app又冒烟测试一遍。如果支持40种语言,那就要冒烟四十次,测试效率极低。

因此,不必全部通过app的操作和界面进行检查,可以直接看xml文件中是否有过长和偏长的内容,通常情况下所有的values文件都在同一个目录,我原来的项目一般是以翻译后的内容不超过中文长度的1.2倍来作为标准的。

2、将了解完整的国家、及语言对应关系,快速设置多语言

完整的国家语言代码见这篇文章:https://blog.csdn.net/alice_tl/article/details/79706474

3、将第一点中的手动检查,做成自动化工具覆盖

定义一个字段内容的长度基准,轮询对各个xml文件进行比较、覆盖、以及报告。人工只分析报告就可以来。

多语言的测试经验分享

标签:代码   tar   列表   jsb   部分   阿拉伯   不必要   避免   台湾   

原文地址:https://www.cnblogs.com/mymelon/p/9025287.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!