我创建了一个 values-he 文件夹,其中的 strings.xml 文件与具有翻译字符串值的默认 strings.xml 文件相同,但是在选择的希伯来语真实设备和选择的希伯来语 AVD 上运行该应用程序仍显示默认的英文文本。任何想法为什么?
编辑:这得到了回答 - 在某些情况下,包括希伯来语,一些 android 设备支持弃用的语言代码。对于希伯来语,某些设备仍然支持旧的“iw”代码而不是“he”。
众所周知,在其他一些语言中就是这种情况。
最佳答案
从 Android Locale 类说:
请注意,Java 使用了几个不推荐使用的两字母代码。希伯来语(“he”)语言代码改写为“iw”,印度尼西亚语(“id”)改写为“in”,意第绪语(“yi”)改写为“ji”。即使您构造自己的 Locale 对象,这种重写也会发生,而不仅仅是针对各种查找方法返回的实例。此外,一些设备也将 he 用于希伯来语,以便兼容使用 值-iw 和 值-he
关于android 本地化不适用于某些语言,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14267419/