1

假设我的项目中有strings.xml、strings-es.xml 和strings-ca.xml。我如何知道为字符串加载了哪个文件?注意:我不想要操作系统语言。

编辑:如果我的设备语言环境是意大利语,我想返回英语,因为我的应用程序没有翻译成意大利语。

4

1 回答 1

3

我认为没有任何直接的api。一种解决方法是,在每个 xml 文件中都有一个字符串资源,这个字符串资源可以解释加载了哪个资源。

例如,

<string name="language">English</string>

在 strings-es.xml 文件中你可以拥有

<string name="language">espanol</string>

在代码中,您可以检查此字符串的值以了解当前加载的语言。

但是,android会根据OS语言加载相应的xml文件。因此,您只需检查相应的操作系统语言即可知道加载了哪个 XML 文件。这可以通过Locale.getDefault().getDisplayLanguage();

于 2013-10-17T09:16:37.860 回答