Android學習 自適應國際化語言

2021-07-11 05:32:33 字數 2102 閱讀 4508

前言】

自適應的知識與程式設計無關,關鍵在於配置檔案的修改。自適應的內容包括:語言、螢幕、平台。今天就來說一下如何自適應國際化言。

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"?>

hello world!

settings

在res/values-zh-rcn/strings.xml中加一行login_button的宣告:(第07行**)

1 <?xml version="1.0" encoding="utf-8"?>

2 3

5 你好,世界

6 設定

7 登陸按鈕

8 9

效果:activity_main.xml的檢視如下:

執行程式,如果手機的語言設定為英文,效果如下:(非正常顯示)

如果手機的語言設定為中文,效果如下:(能正常顯示)

其實,國際化並不難,但是如果想支援更多國家的語言,工作量會很大的。

最後附上用於平時用於查閱的東西:

國家_地區的語言縮寫**:(查詢備用)

各國語言縮寫:

國家和地區簡寫:

國家_地區語言速查表:

以上就介紹了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 對於軟體中的選單欄 導航條 錯誤提示資訊,狀態資訊等這些固定不變的文字資訊,可以把它們...