android國際化(多語言)

android

1.  很大程度上,爲何咱們能如此方便的實現國際化、分辨率匹配等? 

    主要就是得益於 Android 中這種獨特的資源管理方式。程序員的代碼能夠不直接和資源發生關係。Android 中,咱們一般經過 R 文件提供的索引來間接的引用某一個資源。而如何維護資源索引和真正的資源之間的關係,這個活,倒是 Android 系統來作的。 

    這裏面就能夠大做文章了不是麼? 

    我說過,最瞭解用戶手機的,不是用戶也不是程序員,而是Android操做系統。它最瞭解用戶當前使用的是什麼語言,最瞭解用戶當前手機的分辨率是多少,瞭解電量,瞭解內存狀況...等等。 

    既然你對自個的狀況這麼瞭解,爲何不本身把全部能完成的事情都作了?不要麻煩程序員好吧?好的,因此 Android 在這方面作得很是優秀。 

    基於這個角度,咱們要轉換的觀念爲:有可能,R 文件中的索引,並不是是和資源一對一的。例如咱們之前認爲它就必定是對應了一張圖片,對應了一個字符串,對應了一個佈局文件。 

    而極可能,Android 其實會根據用戶當前使用的環境對應幾套方案:例如本文所講的主題,從國際化角度,可能對應中文環境方案,英文環境方案?那麼,這時候 R 文件對應的這個資源便不肯定起來,當咱們經過 R 文件調用一個圖片資源顯示在窗口上時,Android 操做系統會自動根據用戶當前的環境,而選用最合適的圖片(這個挑選過程倒是透明的)。   

   程序員能夠干預的是:英文環境到底對應哪套方案?中文環境對應到底哪套方案? 

   OK。這就簡單了。 

2. Android 中要實現國際化比較簡單。 

   字符串國際化:只要在 res 文件夾下新建對應語言的 values 文件夾就行了, 

   如,英語環境下的,文件夾命名爲:values-en 

   美國英文環境:values-en-rUS 

   中文環境爲:values-zh 

   大陸地區中文環境: values-zh-cn

   在 eclipse 下新建 Android 項目時,會在 res 目錄下自動建立一個默認語言環境的文件夾 : values 

   當某一個資源沒有在語言環境的對應的資源集合中找到時,就會使用 values 下的資源。 

   若某一個語言環境沒有在項目中定義語言環境,那麼也會使用 values 下的資源。 

3. 圖片國際化 

       同理。 

       在 res 下新建 drawable-zh 文件夾,存放中文環境下的圖片 

       新建 drawable-en 做爲英語環境下的圖片 

       在 eclipse 下新建 Android 項目時,會在 res 目錄下自動建立三個默認語言環境的文件夾: 

       drawable-hdpi 

       drawable-ldpi 

        drawable-mdpi 

        分別用於存放高、中。低分辨率的圖片。Android 系統會根據手機的分辨率,而自動從不一樣的對應的某一個文件夾下去加載圖片。 

        一樣,它們也能夠國際化,命名規則如: 

        drawable-zh-hdpi 

        drawable-en-ldpi 

        drawable-en-rUS-mdpi           

      使用。在 XML 中須要使用到圖片的地方用表達式: @drawable/icon 

      代碼中使用:R.drawable.icon。由於圖片資源一樣也會在 R 文件中生成一個索引程序員

==================================================================eclipse

android多國語言文件夾文件彙總以下: 佈局

中文(中國):values-zh-rCN 中文(臺灣):values-zh-rTW 中文(香港):values-zh-rHK 英語(美國):values-en-rUS 英語(英國):values-en-rGB 英文(澳大利亞):values-en-rAU 英文(加拿大):values-en-rCA 英文(愛爾蘭):values-en-rIEpost

英文(印度):values-en-rIN 英文(新西蘭):values-en-rNZ 英文(新加坡):values-en-rSG 英文(南非):values-en-rZA
阿拉伯文(埃及):values-ar-rEG 阿拉伯文(以色列):values-ar-rIL 保加利亞文:  values-bg-rBG 加泰羅尼亞文:values-ca-rES 捷克文:values-cs-rCZ 丹麥文:values-da-rDK 德文(奧地利):values-de-rAT 德文(瑞士):values-de-rCH 德文(德國):values-de-rDE 德文(列支敦士登):values-de-rLI 希臘文:values-el-rGR 西班牙文(西班牙):values-es-rES 西班牙文(美國):values-es-rUS 芬蘭文(芬蘭):values-fi-rFI 法文(比利時):values-fr-rBE 法文(加拿大):values-fr-rCA 法文(瑞士):values-fr-rCH 法文(法國):values-fr-rFR 希伯來文:values-iw-rIL 印地文:values-hi-rIN 克羅里亞文:values-hr-rHR 匈牙利文:values-hu-rHU 印度尼西亞文:values-in-rID 意大利文(瑞士):values-it-rCH 意大利文(意大利):values-it-rIT 日文:values-ja-rJP 韓文:values-ko-rKR 立陶宛文:valueslt-rLT 拉脫維亞文:values-lv-rLV 挪威博克馬爾文:values-nb-rNO 荷蘭文(比利時):values-nl-BE 荷蘭文(荷蘭):values-nl-rNL 波蘭文:values-pl-rPL 葡萄牙文(巴西):values-pt-rBR 葡萄牙文(葡萄牙):values-pt-rPT 羅馬尼亞文:values-ro-rRO 俄文:values-ru-rRU 斯洛伐克文:values-sk-rSK 斯洛文尼亞文:values-sl-rSI 塞爾維亞文:values-sr-rRS 瑞典文:values-sv-rSE 泰文:values-th-rTH 塔加洛語:values-tl-rPH 土耳其文:values--r-rTR 烏克蘭文:values-uk-rUA 越南文:values-vi-rVN
spa

相關文章
相關標籤/搜索