多語言的測試經驗分享

(轉載)原文地址:https://blog.csdn.net/alice_tl/article/details/78907732#comments微信

所謂多語言測試,是指APP在多個使用不一樣語言的國家發佈,則必須對多種語言支持的一種場景測試。好比但願在Google Play上發佈一個APP,提供給全球用戶下載,那麼就須要支持英語、泰語、韓語、阿拉伯語等等不一樣國家的語言。app

近期項目要接觸到多語言測試,因而將本身的經驗梳理了一下,能夠給你們參考。工具

測試注意事項:

一、同一語言,不一樣國家的代號不一樣佈局

不一樣國家,即便都是英文,語言的代碼也是不同的,舉個例子看你們就明白了。測試

這是列舉的部分英語爲母語的國家語言代號:操作系統

en英語.net

en-us英語(美國)翻譯

en-gb英語(英國)設計

en-au英語(澳大利亞)xml

en-ca英語(加拿大)

這是列舉的中文繁體的不一樣地區語言代號:

zh-tw中文(中國臺灣)

zh-hk中文(中國香港特別行政區)

語言代號與Android系統的語言具備對應關係,即系統語言裏看到的這個列表:

所以,若是代碼裏設定了當檢測到系統的語言代號爲en-us美國英語時,才顯示英文字符串信息。那麼切換系統到英國英語時,app仍然是不顯示英文的,甚至可能會直接崩潰。

二、不一樣國家和地區,日期的顯示習慣不同

用戶設置了不一樣語言和地區時,操做系統會自動爲其設定相應的日期和時間格式,如何用戶在設備上選擇的日期格式和APP代碼裏的格式不一致,就會致使APP沒法顯示日期和時間,甚至使APP崩潰。

好比中國日期,1996年3月2日

英國習慣表示爲:2nd March,1996

美國習慣表示爲:March 2,1996

三、不一樣語言,文字的換行顯示有不一樣的處理方法

對於中文來講,每一個字都是獨立的,隨時能夠換行。而若是把英文單詞按照漢字同樣處理,則認爲每一個字母是獨立的,這樣會致使單詞換行顯示且沒有連字符。

而且英文的單詞廣泛比中文更長。

例如「不一樣」,翻譯成英文是「different」,英文足足比中文多了一倍的字符長度。

不能詞中換行可能致使的問題就是文字過多重疊、或者是壓縮字號展現,又或者是以省略號顯示了,總之都不美觀。

所以,要重點關注字符串長的內容,尤爲是文案提示、導航欄、APP的一些操做按鈕。

四、不一樣語言,文字的閱讀順序不一致

好比,英文是「從左往右」寫,而希伯來文和阿拉伯文是「從右往左」寫。

這是英文界面從左往右的佈局圖:

這是阿拉伯語言適配的界面:

那麼系統切換爲阿拉伯文時,APP界面展現是否符合阿拉伯人的文字閱讀習慣呢?

若是不知道系統裏哪一個選項對應的是阿拉伯語言,或者但願知道系統裏的各個語言選項對應的是什麼語言,能夠看這個清單:

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

五、不一樣國家和地區,使用語言的情景不一樣

好比大部分軟件中都有註冊登陸體系,而且支持用戶修改暱稱,有的軟件會設定爲暱稱只容許輸入中文、字母和下劃線,不支持輸入空格。這樣對於英文用戶來說,是很是不合理的設計。

所以國際化下,咱們更應該注重用戶場景測試,考慮國外人的生活文化習慣。

六、不一樣語言,適配的輸入法不一樣

不少APP會在多個國家或地區發佈,所以要支持多語言的顯示,而且須要支持多語言的鍵盤,好比微信,當手機系統語言設定爲英語時,APP界面應顯示爲英語,支持輸入中文、英文以及各類語言。系統切換爲泰語,就應該要支持泰語的鍵盤輸入內容。

而且,若是切換和適配語言的同時,可以自動默認切換爲對應語言的輸入法,用戶體驗上可能會更好一些。

 

如何避免多語言問題呢?

一、翻譯人員最好是夠專業。

專業性體如今,一是對這門語言很是掌握,能夠保證準確性,另外能夠保證符合不一樣國家和地區的語言文化習慣,不會出現一些忌諱詞或負面詞彙。

二、翻譯後的內容最好是言簡意賅。

這樣能夠減小不少沒必要要的重疊、換行、省略顯示等問題,一般多語言測試的缺陷中,70%以上的問題都是由於內容過長致使的顯示問題。

三、開發實現上最好是多語言文件脫離代碼。

避免將多語言文字變量寫死在代碼中,最好是獨立文件,而且每一個語種對應一個文件,這樣測試和校對時都會更加方便,而且不容易出錯。

四、開發實現上最好是設置一種默認語言。

當app識別到系統設置的語言代號並無對應的字符信息匹配時,直接顯示默認語言。一般國內能夠設置爲中文,海外能夠設置爲英文,這樣當系統設置的語言,對應APP代碼中找不到匹配的語言文件時,顯示爲英文,總好過出現崩潰。

 

 

如何提升多語言測試的效率呢?

 

一、檢查語言對應的values xml文件代替app界面

由於經過app界面檢查時,一方面因爲語言多不懂,操做難度增長,操做效率下降,而且覆蓋的界面太多,至關於各類語言下把app又冒煙測試一遍。若是支持40種語言,那就要冒煙四十次,測試效率極低。

所以,沒必要所有經過app的操做和界面進行檢查,能夠直接看xml文件中是否有過長和偏長的內容,一般狀況下全部的values文件都在同一個目錄,我原來的項目通常是以翻譯後的內容不超過中文長度的1.2倍來做爲標準的。

二、將瞭解完整的國家、及語言對應關係,快速設置多語言

完整的國家語言代碼見這篇文章:https://blog.csdn.net/alice_tl/article/details/79706474

三、將第一點中的手動檢查,作成自動化工具覆蓋

定義一個字段內容的長度基準,輪詢對各個xml文件進行比較、覆蓋、以及報告。人工只分析報告就能夠來。

相關文章
相關標籤/搜索