Android studio進階之多語言編程--國際化
前段時間接到一個關于PDA的項目 , 其中需要用到國際化 , 之前做Java 的時候是丟jar對應的國際化語言的jar .開發(fā)過程中踩了點,本文就是記錄自己的開發(fā)過程.
國際化,聽著高大上,跨國際,滿足更多市場以及產品需求.
Android 中這種獨特的資源管理方式。程序的代碼可以不直接和資源發(fā)生關系乌妒。Android 中汹想,我們通常通過 R 文件提供的索引來間接的引用某一個資源。而如何維護資源索引和真正的資源之間的關系撤蚊,這個活古掏,卻是 Android 系統(tǒng)來做的。以及面試中經常問到的屏幕適配,相信每個人都有自己的理解侦啸。
總體是份為三個步驟:
- 在該工程res中右擊New—>Directory—>輸入對應國家的values值
-
新建strings.xml放入相應的values位置 (最簡便的方式就是復制選擇對應第一步驟values值)
在對應國家的string.xml中編輯字符串
當然 , 最了解用戶手機的槽唾,不是用戶也不是程序員,而是Android操作系統(tǒng)光涂。它最了解用戶當前使用的是什么語言庞萍,最了解用戶當前手機的分辨率是多少,了解電量忘闻,了解內存情況...等等钝计。系統(tǒng)的環(huán)境選擇語言。
那么圖片國際化 呢?
同理。
在 res 下新建 drawable-zh 文件夾私恬,存放中文環(huán)境下的圖片
新建 drawable-en 作為英語環(huán)境下的圖片
在 eclipse /android studio下新建 Android 項目時债沮,會在 res 目錄下自動創(chuàng)建三個默認語言環(huán)境的文件夾:
drawable-hdpi /drawable-xxhdpi
drawable-ldpi /drawable-xhdpi
drawable-mdpi /drawable-hdpi
分別用于存放高、中本鸣。低分辨率的圖片疫衩。Android 系統(tǒng)會根據(jù)手機的分辨率,而自動從不同的對應的某一個文件夾下去加載圖片永高。
同樣隧土,它們也可以國際化提针,命名規(guī)則如:
drawable-zh-hdpi
drawable-en-ldpi
drawable-en-rUS-mdpi
使用命爬。在 XML 中需要使用到圖片的地方用表達式: @drawable/icon
代碼中使用:R.drawable.icon。因為圖片資源同樣也會在 R 文件中生成一個索引
*** android多國語言文件夾文件匯總如下:
中文(中國):values-zh-rCN
中文(臺灣):values-zh-rTW
中文(香港):values-zh-rHK
英語(美國):values-en-rUS
英語(英國):values-en-rGB
英文(澳大利亞):values-en-rAU
英文(加拿大):values-en-rCA
英文(愛爾蘭):values-en-rIE
英文(印度):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
===========================================
還有在網上找的其他國家string格式
Bulgarian, Bulgaria (bg_rBG) ———————保加利亞語辐脖,保加利亞
Catalan, Spain (ca_rES) —————————加泰隆語饲宛,西班牙
Czech, Czech Republic (cs_rCZ) —————–捷克語,捷克共和國
Danish, Denmark(da_rDK) ————————丹麥語嗜价,丹麥
German, Austria (de_rAT) ————————-德語艇抠,奧地利
German, Switzerland (de_rCH) ——————-德語,瑞士
German, Germany (de_rDE) ———————-德語久锥,德國
German, Liechtenstein (de_rLI) ——————德語家淤,列支敦士登的
Greek, Greece (el_rGR) —————————-希臘語,希臘
English, Australia (en_rAU) ————————-英語瑟由,澳大利亞
English, Canada (en_rCA) ————————–英語絮重,加拿大
English, Britain (en_rGB) —————————-英語,英國
English, Ireland (en_rIE) —————————–英語歹苦,愛爾蘭
English, India (en_rIN) ——————————–英語青伤,印度
English, New Zealand (en_rNZ) ———————英語,新西蘭
English, Singapore(en_rSG) ————————–英語殴瘦,新加坡
English, US (en_rUS) ———————————–英語狠角,美國
English, Zimbabwe (en_rZA) ————————–英語,津巴布韋
Spanish (es_rES) —————————————-西班牙
Spanish, US (es_rUS) ———————————–西班牙語蚪腋,美國
Finnish, Finland (fi_rFI) ———————————芬蘭語丰歌,芬蘭
French, Belgium (fr_rBE) ——————————-法語枫疆,比利時
French, Canada (fr_rCA) ——————————-法語锡宋,加拿大
French, Switzerland (fr_rCH) ————————–法語,瑞士
French, France (fr_rFR) ——————————–法語捏肢,法國
Hebrew, Israel (he_rIL) ———————————希伯來語神得,以色列
Hindi, India (hi_rIN) ————————————-印地語厘惦,印度
Croatian, Croatia (hr_rHR) —————————-克羅地亞語,克羅地亞
Hungarian, Hungary (hu_rHU) ————————匈牙利語,匈牙利
Indonesian, Indonesia (id_rID) ————————印尼語宵蕉,印尼
Italian, Switzerland (it_rCH) —————————-意大利語酝静,瑞士
Italian, Italy (it_rIT) —————————————意大利語,意大利
Japanese (ja_rJP) —————————————-日語
Korean (ko_rKR) ——————————————朝鮮語
Lithuanian, Lithuania (lt_rLT) ————————–立陶宛語羡玛,立陶宛
Latvian, Latvia (lv_rLV) ———————————拉托維亞語别智,拉托維亞
Norwegian-Bokmol, Norway(nb_rNO) —————挪威語,挪威
Dutch, Belgium (nl_rBE) ——————————–荷蘭語稼稿,比利時
Dutch, Netherlands (nl_rNL) —————————荷蘭語薄榛,荷蘭
Polish (pl_rPL) ——————————————-波蘭
Portuguese, Brazil (pt_rBR) —————————葡萄牙語,巴西
Portuguese, Portugal (pt_rPT) ————————葡萄牙語让歼,葡萄牙
Romanian, Romania (ro_rRO) ————————羅馬尼亞語敞恋,羅馬尼亞
Russian (ru_rRU) —————————————-俄語
Slovak, Slovakia (sk_rSK) ——————————斯洛伐克語,斯洛伐克
Slovenian, Slovenia (sl_rSI) —————————-斯洛文尼亞語谋右,斯洛文尼亞
Serbian (sr_rRS) —————————————-塞爾維亞語
Swedish, Sweden (sv_rSE) —————————-瑞典語硬猫,瑞典
Thai, Thailand (th_rTH) ——————————–泰語,泰國
Tagalog, Philippines (tl_rPH) ————————–菲律賓語改执,菲律賓
Turkish, Turkey (tr_rTR) ——————————-土耳其語啸蜜,土耳其
Ukrainian, Ukraine (uk_rUA) ————————–聯(lián)合王國
Vietnamese, Vietnam (vi_rVN) ———————–越南語,越南