我创建了一个 values-he 文件夹,其中的 strings.xml 文件与默认的 strings.xml 文件相同,并带有翻译的字符串值,但在希伯来语选择的真实设备和希伯来语选择的 AVD 上运行该应用程序仍会显示默认的英文文本。任何想法为什么?
编辑:已回答 - 在某些情况下,包括希伯来语,一些 android 设备支持已弃用的语言代码。对于希伯来语,某些设备仍支持旧的“iw”代码而不是“he”。众所周知,在其他一些语言中就是这种情况。
我创建了一个 values-he 文件夹,其中的 strings.xml 文件与默认的 strings.xml 文件相同,并带有翻译的字符串值,但在希伯来语选择的真实设备和希伯来语选择的 AVD 上运行该应用程序仍会显示默认的英文文本。任何想法为什么?
编辑:已回答 - 在某些情况下,包括希伯来语,一些 android 设备支持已弃用的语言代码。对于希伯来语,某些设备仍支持旧的“iw”代码而不是“he”。众所周知,在其他一些语言中就是这种情况。
从 Android Locale类中可以看出:
请注意,Java 使用了几个已弃用的两字母代码。希伯来语(“he”)语言代码被改写为“iw”,印尼语(“id”)改写为“in”,意第绪语(“yi”)改写为“ji”。即使您构造自己的 Locale 对象,这种重写也会发生,而不仅仅是各种查找方法返回的实例。此外,一些设备也将 he 用于希伯来语,以便与使用values-iw和values-he兼容
从 2021 年夏季开始,Google 现在要求您上传捆绑包 (.aab) 而不是 .apk 文件。通过该更改,如果您的设备不支持特定语言,则不会从 Play Store 下载。
在此处检查解决方案。