具有适当语言代码的多语言资源

Multi languages resources with proper language code

我想制作一个应用程序,该应用程序将根据实际本地化和国家/地区代码支持具有资源的语言。根据 Documentation,我需要将资源更改为格式,即 values-en-rUS,并且在该配置应用程序中成功编译并在资源中设置了正确的标志图像,但我不知道应该在 [= 中写入什么格式11=]变量来改变资源。我尝试了 en_USen-rUSen-US 但没有正常工作。在我之前的版本中,资源如 values-en 将应用程序语言的 Locale 更改为 en,资源正在正确更新。

不太确定你问的是什么,但如果你想添加语言,你确实需要创建以创建写入文件夹,但格式为:<resource type>-b+<language code>[+<country code>] 示例:value-b+en+US

然后你可以把每个文件夹里的strings.xml文件添加到你要显示的地方。您可以找到所有文档 here.

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) 方法。它 returns 指定 IETF BCP 47 语言标记字符串的语言环境,在本例中为 "en-US"。所以你可以使用 Locale.forLanguageTag("en-US).