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