软件本地化测试的技术问题之数据格式问题 本地化软件测试
数字、货币和日期的表达方法在不同的国家格式也不尽相同,所以在把软件本地化时也应该特别注意这些方面的问题,考虑到本地化格式的要求,否则就有可能出现错误。幸运的是,今天可以使用标准APIs(比如微软提供的)来处理这类转换的问题。如果是由自己设计的显示方式或模式.就必须设计好其变量含义和处理方式、数据存储方式等去适应这种显示的要求。
在程序设计、编程时,可以通过一些特殊的函数来处理不同语言的数据格式。例如,使用自定义函数LocLongdal.eO、LacSho】rtdate0、LocTirneO、LocNumberFo咖m()等替换原来的dateoi墨数,来处理日期的完整显示、简写、数字等不同的显示格式。后面将会列举一些具体的例子做详细介绍。现在我们先来看看不同地方表达数字、货币和日期等的不同格式,以供本地化测试人员参考。
1数字
很多欧洲语言使用逗号而不是小数点来表示干位,有的则使用句号或空格代替逗号。所以,本地化的软件也必须注意这个问题,如若不然,有可能一个顾客存入5000欧元,而却只能取出5美元。比如,同一个数字7582在美国、意大利和瑞士有三种不同的表达方式。
美国:7,582
意大利:7 582
瑞士;7582
2货币
除了数字转换外,几乎每一个国家都有标志自己货币的特殊符号,这些符号出现在金额的前后也各不相同。比如!
美国Dollea$或us$
英国Po uIld£
日本Yen¥
3时间
各国时间的习惯表达方式也总是不一样的,美国习惯上使用12小时来表达时间,而欧洲国家使用24小时模式来表达时间。如,同样是晚上10;45,各国的表示方式分别如下。
美国:10:45pm
德国:22:45
加拿大法裔:22h 45
4日期格式
同样,不同国家的日期显示格式也是不一致的。美国的标准是MM/DD/YY来显示月日、年,也有很多不同的分割符号(如“/”和“”);欧洲(除少数例外)的标准是日、月、年(DD,MM,YY);中国的标准则是年、月、口。下面以2003年2月14日为例来说明
美国:2/1 4,2003
英国:14 2 2003
中国:2003/2/14
即使是一个星期的起始天各国也不相同,如美国一个星期的第一天是星期天,而法国日历的第一天都以星期一开头。
现在来看一个具体的例子,一个英文日期,如7/22,2003或7-22_2003,本地化为中文版本后,日期显示变为“7月12,2003”,显然不正确,其正确的中文显示应该是“2003年7月12日”。
文章来源于领测软件测试网 https://www.ltesting.net/