2017-03-16 75 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