前言】
自適應的知識與程式設計無關,關鍵在於配置檔案的修改。自適應的內容包括:語言、螢幕、平台。今天就來說一下如何自適應國際化言。
internationalization (國際化)簡稱:i18n,因為在i和n之間還有18個字元,localization(本地化 ),簡稱l10n。
一般用語言_地區的形式表示一種語言,如:zh_cn表示簡體中文。
操作方法:
為了支援國際化語言,我們只要在res/目錄下在重新新建資料夾為:values-國家編號,如values-zh-rcn表示簡體中文,values-zh-rtw表示繁體,values-jp表示日語等。
注:配置選項包括語言代號和地區代號。表示中文和中國的配置選項是 zh-rcn; 表示英文和美國的配置選項是en-rus。其中,zh 和 en 表示中文和英文;cn和us表示中國和美國;前面的r是必須的。
舉例:支援中文簡體的國際化
操作如下:
現在新建乙個android工程android_i18n,預設在res/values/strings.xml中的**如下:
1 <?xml version="1.0" encoding="utf-8"?>不做任何修改,直接在手機上執行程式,預設的效果如下:2 3
5 hello world!
6 settings
7 8
宣告:我的手機預設的語言是設定為中文的:
其實無論手機設定成什麼語言,執行的效果都是一樣的,因為我們還沒有進行國際化設定嘛。那現在開始來設定吧。
現在來加乙個中文簡體的國際化:在res/目錄下新建乙個資料夾代表中文簡體:values-zh-rcn,目錄結構如下圖所示:
注:如果想再加乙個英語的國際化,新建的資料夾為values-en即可。
修改res/values-zh-rcn/strings.xml的**,如下:
1 <?xml version="1.0" encoding="utf-8"?>此時執行程式,效果如下:2 3
5 你好,世界
6 設定
7 8
因為手機設定的是中文語言,此時載入的字串是res/values-zh-rcn/目錄下的資源。
大功告成。
【問題一:】
現在我並沒有新增正體中文的對應的資源,如果我將手機的語言設定為正體中文,執行程式會是什麼現象呢?
答案:此時,如果沒有定義正體中文的資源,那預設載入的就是res/values/目錄下的資源。
【問題二:】
現在定義乙個字串,只在res/values-zh-rcn/下定義,而不在res/values/定義,執行程式會是什麼現象呢?
答案:現在我們在activity_main.xml中新增乙個按鈕:
1第04行**:按鈕顯示的名字引用了字串login_button
此時,讓res/values/strings.xml的**保持不變:
<?xml version="1.0" encoding="utf-8"?>在res/values-zh-rcn/strings.xml中加一行login_button的宣告:(第07行**)hello world!
settings
1 <?xml version="1.0" encoding="utf-8"?>效果:activity_main.xml的檢視如下:2 3
5 你好,世界
6 設定
7 登陸按鈕
8 9
執行程式,如果手機的語言設定為英文,效果如下:(非正常顯示)
如果手機的語言設定為中文,效果如下:(能正常顯示)
其實,國際化並不難,但是如果想支援更多國家的語言,工作量會很大的。
最後附上用於平時用於查閱的東西:
國家_地區的語言縮寫**:(查詢備用)
各國語言縮寫:
國家和地區簡寫:
國家_地區語言速查表:
以上就介紹了android學習----自適應國際化語言,包括了方面的內容,希望對android開發有興趣的朋友有所幫助。
Android之國際化
國際化 1.記得我在 我的第乙個android 程式,基於intent 的元件互動機制 在分析r 檔案和文章最後,有透露過這種機制的原理和好處。很大程度上,為什麼我們能如此方便的實現國際化 解析度匹配等?主要就是得益於android 中這種獨特的資源管理方式。程式設計師的 可以不直接和資源發生關係。...
Android 國際化文案判斷
判斷是否存在映象 public static boolean isrtl 判斷字串開頭是不是映象語言字元 public static boolean stringstartisrtlcharacter string string char charac string.charat 0 charact...
軟體國際化值頁面國際化
國際化 軟體的國際化 軟體開發時,要使它能同時應對世界不同地區和國家的訪問,並針對不同地區和國家的訪問,提供相應的 符合來訪者閱讀習慣的頁面或資料。國際化又稱為 i18n internationalization 對於軟體中的選單欄 導航條 錯誤提示資訊,狀態資訊等這些固定不變的文字資訊,可以把它們...