gpt4 book ai didi

Android 模拟器可以正确显示希伯来语资源,但设备不能

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:52:44 30 4
gpt4 key购买 nike

我想在我的应用程序中支持希伯来语资源(默认为英语)。我在“res/values-iw/strings.xml”下分配了希伯来语资源,并在模拟器中对其进行了测试。结果很好——将模拟器语言切换为希伯来语后,我在我的应用程序中看到了希伯来语字符串。

问题是在将设备语言设置为希伯来语后它没有出现在我的设备 (Samsung Galaxy S2) 中。我一直看到英文字符串。

有什么解决办法吗?

谢谢!

最佳答案

尝试在 res/values-he/ 中添加来自 res/values-iw/ 的资源副本,res/xml-he 也是如此/ 如果需要,等等。

似乎 Samsung Galaxy S2 的操作系统处理希伯来语区域设置和资源的方式与其他 Android 设备不同。 Android 使用希伯来语的语言代码“iw”来实现遗留兼容性,而三星显然将其更改为使用语言代码“he”,根据 ISO 639-1,这可以说是正确的,但不兼容。参见 Android issue 3639了解更多背景信息。

效果是 res/*-iw/ 中的资源不会加载到受影响的三星设备上,解决方法是在 res/* 中添加一个副本-他/

要确认,试试这个:

Locale loc = new Locale("iw");
Log.i(TAG, "locale language: " + loc.getLanguage());
Log.i(TAG, "display language: " + loc.getDisplayLanguage());

这应该在普通 Android 设备上打印“iw”,在 Galaxy S2 上打印“he”,两者的显示语言都是“עברית”。由于没有受影响的设备,我无法自行测试。

参见 Hacker's Keyboard issue 122这也受到同样问题的影响。

关于Android 模拟器可以正确显示希伯来语资源,但设备不能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8699650/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com