2017-03-16 91 views
0

我想要提供應用程序,它將支持具有取決於實際本地化和國家代碼的資源的語言。根據Documentation我需要更改資源格式,即values-en-rUS,並在該配置應用程序成功的編譯和適當的標誌圖像資源設置,但我不知道什麼格式應該寫在Locale變量來改變資源。我嘗試en_US,en-rUS,en-US,但確實無法正常工作。在我之前的版本中,像values-en這樣的資源將應用程序語言的Locale更改爲en,資源正確更新。具有適當語言代碼的多語言資源

回答

1

values-en-rUS的語言環境可以通過new Locale("en", "US")獲得,這將獲得「en_US」語言環境的實例(匹配values-en-rUS)。

請勿使用new Locale("en_US")這會產生「en_us」。那不符合values-en-rUS。另外new Locale("en-US")將不起作用。

從API級別21,有方便的Locale.forLanguageTag(String)方法。它返回指定的IETF BCP 47語言標記字符串的語言環境,在本例中爲「en-US」。所以你可以使用Locale.forLanguageTag("en-US)

+0

這正是我需要的,謝謝! – Expiredmind

0

不完全以肯定的是你問,但如果你想添加的語言,你需要創建確實創造寫入文件夾,但該格式:<resource type>-b+<language code>[+<country code>] 例如:value-b+en+US

然後你可以在添加strings.xml文件每個文件夾以您想要顯示。你可以找到所有的文件here