軟件本地化測試的技術問題之數據格式問題 本地化軟件測試
數字、貨幣和日期的表達方法在不同的國家格式也不盡相同,所以在把軟件本地化時也應該特別注意這些方面的問題,考慮到本地化格式的要求,否則就有可能出現錯誤。幸運的是,今天可以使用標準APIs(比如微軟提供的)來處理這類轉換的問題。如果是由自己設計的顯示方式或模式.就必須設計好其變量含義和處理方式、數據存儲方式等去適應這種顯示的要求。
在程序設計、編程時,可以通過一些特殊的函數來處理不同語言的數據格式。例如,使用自定義函數LocLongdal.eO、LacSho】rtdate0、LocTirneO、LocNumberFo咖m()等替換原來的dateoi墨數,來處理日期的完整顯示、簡寫、數字等不同的顯示格式。后面將會列舉一些具體的例子做詳細介紹?,F在我們先來看看不同地方表達數字、貨幣和日期等的不同格式,以供本地化測試人員參考。
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日”。
原文轉自:http://www.anti-gravitydesign.com