假设我的项目中有strings.xml、strings-es.xml 和strings-ca.xml。我如何知道为字符串加载了哪个文件?注意:我不想要操作系统语言。
编辑:如果我的设备语言环境是意大利语,我想返回英语,因为我的应用程序没有翻译成意大利语。
我认为没有任何直接的api。一种解决方法是,在每个 xml 文件中都有一个字符串资源,这个字符串资源可以解释加载了哪个资源。
例如,
<string name="language">English</string>
在 strings-es.xml 文件中你可以拥有
<string name="language">espanol</string>
在代码中,您可以检查此字符串的值以了解当前加载的语言。
但是,android会根据OS语言加载相应的xml文件。因此,您只需检查相应的操作系统语言即可知道加载了哪个 XML 文件。这可以通过Locale.getDefault().getDisplayLanguage();