我正在本地化我的應用,並且支持的語言/地區之一是Espanol-419。 Android不支持命名約定值-es-r419,但它確實接受values-en-rGB。 我應該用什麼名字來使它工作?Android本地化es-r419
回答
我不知道r419從哪裏來。我唯一能想到的將是LCID,但是419對於俄羅斯或country code,但對於419沒有任何意義。以下是西班牙語的區域代碼列表,可能是您想要的區域代碼列表:
es-ar Spanish - Argentina
es-bo Spanish - Bolivia
es-cl Spanish - Chile
es-co Spanish - Colombia
es-cr Spanish - Costa Rica
es-do Spanish - Dominican Republic
es-ec Spanish - Ecuador
es-sv Spanish - El Salvador
es-gt Spanish - Guatemala
es-hn Spanish - Honduras
es-mx Spanish - Mexico
es-ni Spanish - Nicaragua
es-pa Spanish - Panama
es-py Spanish - Paraguay
es-pe Spanish - Peru
es-pr Spanish - Puerto Rico
es-es Spanish - Spain (Traditional)
es-uy Spanish - Uruguay
es-ve Spanish - Venezuela
參考文獻:
更新:
因此很明顯,419是由BCP 47爲IETF語言標記佔用的UN M.49 standard。谷歌的documentation on alternative resources says:
的語言由兩個字母ISO 639-1語言代碼定義,任選地隨後進行兩個字母ISO 3166-1-α-2的區域碼(由小寫字母「R」開頭)。
顯然(單憑「r」)你可以看到這些不是標準的IETF語言標籤。不幸的是,我相信這也意味着您將無法找到相當於419的合適的雙字母區域。您還可以檢查official ISO list。它不在那裏,國家只有兩個字母標籤。顯然它的very common不支持3位標籤。
我能想到的唯一解決方案是爲es
提供默認設置,然後爲es
國家的細分提供更具體的設置。你可以爲每個區域提供的資源(如es-rAR
),您認爲與419相匹配,但是看着這個列表,我覺得這是比較容易做相反的事情,並使用es
爲拉丁美洲西班牙語提供資源,然後提供es-rES
西班牙的資源。由於es-rES
比es
更具體,它應該優先(如果區域匹配)。
es-r419 = es-rUS.
將文件夾名稱更改爲values-es-rUS
以與運行時用戶選項保持一致。
在使用谷歌翻譯服務,當您請求翻譯拉丁美洲西班牙語,您將收到返回es-r419
文件夾。
當看着AOSP源,或在settings->language and input->language
,你會看到西班牙語和英語(美國)。
在運行時,選擇語言=西班牙語(美國),你不會看到values-es-r419
拉弦,當然你會看到從values-es-rUS
西班牙語的語言環境比es-rUS更多,根據jt-gilkeson,您可以在Android 7.0及更高版本中編寫b + es + 419來訪問這些UN M.49區域。 – Liggliluff
Android的7拉着琴絃。0(API級別24)帶來更強大的資源分辨率,並自動找到更好的回退。但是,爲了加快解決方案並提高可維護性,您應該使用最常用的母語來存儲資源。例如,如果您以前在values-es-rUS
目錄中存儲西班牙語資源,請將它們移動到包含拉丁美洲西班牙語的values-b+es+419
目錄中。
https://developer.android.com/guide/topics/resources/multilingual-support.html
- 1. 本地化Android DatePickerDialog
- 2. 本地化的Android
- 3. Android Studio中的本地化
- 4. Android泰國本地化
- 5. Android本地化/翻譯
- 6. android中的本地化
- 7. Android本地化xml文件
- 8. android語言本地化
- 9. Android本地化資源
- 10. Mono Android上的本地化
- 11. Android本地化問題
- 12. 如何本地化Android DatePicker?
- 13. 本地化的Android的EditText
- 14. Android本地化錯誤
- 15. Android中的本地化值
- 16. Android限制本地化
- 17. 使用NDK在Android上進行本地化/本地化
- 18. Android中文本的本地化
- 19. Android中的俄文本地化版本
- 20. 刪除android上的本地化
- 21. 在Android中本地化時間
- 22. Android:混合本地化語言
- 23. android應用程序本地化建議
- 24. Android本地化阿拉伯語言
- 25. 瞭解R.java和Android中的本地化
- 26. Android本地化字符串es_US
- 27. android應用中的本地化
- 28. Xamarin Android中的本地化C#
- 29. Android的本地化的JSON文件
- 30. Android應用本地化與sqlite db
拉丁美洲的西班牙語http://www.iana.org/assignments/lang-tags/es-419 – Taranfx
更新了什麼是希望的解決方案。 – kabuko
只是爲了澄清,如果你只提供一個'es'包,如果你沒有指定一個更具體的''es包,它會被選擇用於所有'es'限定符? –