當前位置:首頁 » 安卓系統 » android語言國際化

android語言國際化

發布時間: 2024-03-02 22:18:41

A. 如何實現android國際化

android多語言實現必須是將strings.xml放在不同的文件夾目錄下,由安卓系統自動去載入文字資源。Android 中要實現國際化比較簡單,字元串國際化:只要在 res 文件夾下新建對應語言的 values 文件夾就好了。


例如:

1.英語環境下的,文件夾命名為:values-en

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

3.中文環境為:values-zh

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

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

6.當某一個資源沒有在語言環境的對應的資源集合中找到時,就會使用 values 下的資源。若某一個語言環境沒有在項目中定義語言環境,那麼也會使用 values 下的資源。


android多國語言文件夾文件匯總如下:


  1. 中文(中國):values-zh-rCN

  2. 中文(台灣):values-zh-rTW

  3. 中文(香港):values-zh-rHK

  4. 英語(美國):values-en-rUS

  5. 英語(英國):values-en-rGB

  6. 英文(澳大利亞):values-en-rAU

  7. 英文(加拿大):values-en-rCA

  8. 英文(愛爾蘭):values-en-rIE

  9. 英文(印度):values-en-rIN

  10. 英文(紐西蘭):values-en-rNZ

  11. 英文(新加坡):values-en-rSG

  12. 英文(南非):values-en-rZA

  13. 阿拉伯文(埃及):values-ar-rEG

  14. 阿拉伯文(以色列):values-ar-rIL

  15. 保加利亞文: values-bg-rBG

  16. 加泰羅尼亞文:values-ca-rES

  17. 捷克文:values-cs-rCZ

  18. 丹麥文:values-da-rDK

  19. 德文(奧地利):values-de-rAT

  20. 德文(瑞士):values-de-rCH

  21. 德文(德國):values-de-rDE

  22. 德文(列支敦斯登):values-de-rLI

  23. 希臘文:values-el-rGR

  24. 西班牙文(西班牙):values-es-rES

  25. 西班牙文(美國):values-es-rUS

  26. 芬蘭文(芬蘭):values-fi-rFI

  27. 法文(比利時):values-fr-rBE

  28. 法文(加拿大):values-fr-rCA

  29. 法文(瑞士):values-fr-rCH

  30. 法文(法國):values-fr-rFR

  31. 希伯來文:values-iw-rIL

  32. 印地文:values-hi-rIN

  33. 克羅里亞文:values-hr-rHR

  34. 匈牙利文:values-hu-rHU

  35. 印度尼西亞文:values-in-rID

  36. 義大利文(瑞士):values-it-rCH

  37. 義大利文(義大利):values-it-rIT

  38. 日文:values-ja-rJP

  39. 韓文:values-ko-rKR

  40. 立陶宛文:valueslt-rLT

  41. 拉脫維亞文:values-lv-rLV

  42. 挪威博克馬爾文:values-nb-rNO

  43. 荷蘭文(比利時):values-nl-BE

  44. 荷蘭文(荷蘭):values-nl-rNL

  45. 波蘭文:values-pl-rPL

  46. 葡萄牙文(巴西):values-pt-rBR

  47. 葡萄牙文(葡萄牙):values-pt-rPT

  48. 羅馬尼亞文:values-ro-rRO

  49. 俄文:values-ru-rRU

  50. 斯洛伐克文:values-sk-rSK

  51. 斯洛維尼亞文:values-sl-rSI

  52. 塞爾維亞文:values-sr-rRS

  53. 瑞典文:values-sv-rSE

  54. 泰文:values-th-rTH

  55. 塔加洛語:values-tl-rPH

  56. 土耳其文:values--r-rTR

  57. 烏克蘭文:values-uk-rUA

  58. 越南文:values-vi-rVN

B. 親~怎麼編寫多語言Android手機,墨西哥西語。語言列表中目前沒有。---我是一名做手機開發的小菜鳥。。

新建一個文件夾,命名為values-es-MX,在下面新建string.xml文件,添加你需要進行國際化的語言。希望對你有幫助。

C. Android國際化之多語言(配置及應用內設置)✈️

Android系統通過判斷當前系統的Local配置,來使用對應的strings.xml文件

values-->strings.xml 默認語言(簡體中文)

values-zh-rHK-->strings.xml 繁體中文

values-en-->strings.xml 英語

在Android系統中,系統的配置大都通過 Configuration 來管理,包括strings等等。

onCreate() 中注冊

onDestroy() 中取消注冊

setLanguage() 方法

通過上面的設置,可以實現不重啟APP修改語言的效果

以上只是對Android多語言設置的一些小小的總結,可能有理解不周的情況,歡迎給我留言指出😄

D. Android:應用多語言切換,國際化實現

生成多種語言的string.xml,裡面放置對應的語言,修改配置(Configuration),重啟之後就會載入對應語言的string.xml。

1:在res目錄下,生成對應的語言包,比如英語:

在res目錄下生成了可看到生成了:

<string name="hello">你好</string>
英語:
<string name="hello">hello</string>
之後就可以使用getResource.getString(R.string.hello),這個字元串會載入相對應的配置的語言。
3:修改語言配置

修改語言配置後,需要重新啟動進程,並且殺死進程。

1:有些手機是可以在設置里直接切換語言的,這個也就是Configuration改變。用戶重新設置系統語言導致應用的語言也會重新設置。Configuration改變,如果在Manifest中不設置android:configChanges忽略掉配置改變,Activity會重新創建,那麼我們就可以在Activity的onCreate中,重新修改語言配置。
2:切換語言後,退出應用,重新進來,你會發現又是系統設置的語言。所以需要在Application開啟時,需要再次切換語言配置。

E. Android的國際化語言適配(系統語言適配+APP內部適配)

Android國際化語言適配分為兩種

1.更改手機系統語言後,APP的語言也會跟著變化

2.只改變自己APP的語言,不受手機系統語言的影響,不影響其他APP的語言,可以參考微信的切換語言的效果。

只需要創建不同語言的values即可

具體操作參考  簡單的Android客戶端國際化(語言適配)方案

操作的時候要注意: 當選擇所要切換的語言後,則進行修改Config以及重啟APP,一定要將選擇的語言保存到SP中,且在activity中的oncreate中將SP中存儲的語言取出來重新設置Config,否則當重啟APP後,還是會跟系統語言一樣。 

具體操作參考  Android應脊敬明用稿轎程序內部切換語櫻告言及自定義語言

F. Android國際化多語言切換

關於App國際化,之前有講到國際化資源、字元換、布局相關,想要了解的猛戳 用力抱一下APP國際化 。借著本次重構多語言想跟大家聊一下多語言切換,多語言切換對於一款國際化App來講是重中之重,並非難事,但是若要做好也是一件不容易的事情。

當我們做了系統的配置更改,比如說切換了系統導航或者說更改了深色模鄭山式,那麼我們一般的處理是也是要對Application作出處理。

如果項目中有用到ApplicationContext去getString(@StringRes int id)實現載入的提示語,那麼如果只是單純的重啟界面則無法讓當前的提示語跟隨當前切換的語言,所以我們要麼重啟整個應用,要麼對ApplicationContext中的Local也作出相應的更新方可,這里有一點問題,雖然Android N之後updateConfiguration是過時方法,官方給出使用createConfigurationContext代替,但是更新ApplicationContext的Local發現無效使用老版本updateConfiguration正常。

如果你發現你的應用廣播通知欄適配無效,那就是context中的Local在切換語言是並未及時更新Local,這里調試一下便知,如果是Applicaiton注冊的廣播,那麼喊高中多半情況下是沒有更新ApplicationContext的Local所導致的。

多語言適配基本步驟大概就是如此了,下面看一下適配的細節問題。

[圖片上傳失敗...(image-b42d06-1640685147639)]
還有一點Android N之後,手機系統的語言配置選項已經不是單選了,改為一個列表了,具體可以參考手機設置中的語言和輸入法,所以 setLocal(@Nullable Locale loc) 方法建議不要再使用了,我相信很多人還在用,正確念謹的用法應該是 setLocals(@Nullable LocaleList locales) ,需要傳遞一個集合。

當你的應用使用的是androidx.appcompat:appcompat:1.2.0及以上時,BaseActivity中需要實現下面方法。

這套方案目前不在推薦,直接去替換attatchBaseContext()中的context則可,經過測試是完全正常的。

以下則是多語言操作的工具類,現在提供出來,需要的朋友可以自行進行改造。

G. Android應用程序的strings.xml文件中只能存放一些字元串常量信息。

一:是為了國際化,當需要國際化時,只需要再提供一個string.xml文件,把裡面的漢子信息都修改為對應的語言(如,English),再運行程序時,android操作系統會根據用戶手機的語言環境和國家來自動選擇相應的string.xml文件,這時手機界面就會顯示出英文。這樣做國際化非常的方便。

熱點內容
android獲取手機的ip 發布:2024-11-28 07:42:13 瀏覽:170
python打開文件窗口 發布:2024-11-28 07:36:13 瀏覽:555
cpu二級緩存的作用 發布:2024-11-28 07:36:12 瀏覽:1000
net資料庫控制項 發布:2024-11-28 07:32:58 瀏覽:99
我的世界國際服創建伺服器pc 發布:2024-11-28 07:20:53 瀏覽:773
編譯原理LR分析法pdf 發布:2024-11-28 07:17:41 瀏覽:264
安卓光遇版本怎麼看 發布:2024-11-28 06:29:52 瀏覽:871
oraclesql加密 發布:2024-11-28 06:29:15 瀏覽:901
圖片緩存工具 發布:2024-11-28 06:29:15 瀏覽:962
有文件夾刪不掉怎麼辦 發布:2024-11-28 06:22:50 瀏覽:526