(轉載)原文地址: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文件進行比較、覆蓋、以及報告。人工只分析報告就能夠來。