每Android Locale documentation:
请注意,Java使用了几个不推荐使用的双字母代码。希伯来语(“他”)语言代码被重写为“iw”,印度尼西亚语(“id”)被改写为“in”,而意第绪语(“yi”)被改写为“ji”。即使您构造自己的Locale对象,也不仅仅是针对各种查找方法返回的实例,这种重写也会发生。
如果没有重复文件,是否有办法在创建应用时支持已弃用和官方语言代码?
我目前的情况是,有一位用户的手机使用"he"
,而大部分用户使用"iw"
。我(天真地)尝试使用两种方法解决问题 - 都失败了。
values-he
链接到values-iw
。正如所料,Eclipse将其视为lnk
文件if (lang.toLowerCase(Locale.US).equals("iw")) { lang = "he";}
)。阅读上面的文档后,很明显这种方法也不起作用。 Per this question(并且根据文档)我很惊讶地发现这个问题首先出现,因为我认为总是会使用"iw"
;但事实并非如此。