我想本地化字符串es_US(西班牙語在美國)。 我有文件夾中的字符串資源值 - es-rUS和設備上的語言設置爲Español(Estados Unidos),Locale.getDefault()
返回es_US
。 即使一切似乎都是正確的,應用程序不會從值-es-rUS中獲取字符串,但會降至值。Android本地化字符串es_US
有人讓它工作?
編輯:解決。現在不能將我的答案標記爲已接受。
我想本地化字符串es_US(西班牙語在美國)。 我有文件夾中的字符串資源值 - es-rUS和設備上的語言設置爲Español(Estados Unidos),Locale.getDefault()
返回es_US
。 即使一切似乎都是正確的,應用程序不會從值-es-rUS中獲取字符串,但會降至值。Android本地化字符串es_US
有人讓它工作?
編輯:解決。現在不能將我的答案標記爲已接受。
http://developer.android.com/guide/topics/resources/localization.html
我敢肯定,你看這一點,但它有你需要的一切。我按照指示一步一步,並能夠本地化我的字符串。 也許您錯誤地命名了您的值文件夾?這將是我的猜測
res/values-es_rUS
strings.xml
文件必須在本地化 所有字符串名稱相同的*From here(表2 - 第2部分)
The languag e由兩個字母ISO 639-1語言代碼定義,可選地後跟兩個字母ISO 3166-1-alpha-2區域代碼(,前面加小寫字母「r」)。
代碼不區分大小寫; r前綴用於區分區域部分。你不能單獨指定一個區域。
如果用戶在系統設置中更改他或她的語言,這可以在應用程序的生命週期中更改。有關在運行時如何影響應用程序的信息,請參閱Handling Runtime Changes。
請參閱Localization瞭解有關將您的應用程序本地化爲其他語言的完整指南。
另請參閱語言環境配置字段,它指示當前的locale。
問題出現在gradle構建文件配置中。我使用resConfigs「en」,「es」,因此構建可以排除其他資源。看來「es」也排除「es_US」。
當我把它改爲resConfigs「EN」,「es_US」它開始工作
唷!我正在開發一個resConfig已經在build.gradle中定義的項目。在我遇到這個之前花了幾個小時。謝謝 !! –
確保這兩個字符串資源文件的命名一樣,例如RES /價值/ strings.xml中和RES /值 - es-rUS/strings.xml和資源名稱是相同的「你好! 」和「 Ola! 」這是基本的東西,但有時你可以忘了它... –