请注意,Java 使用了几个已弃用的两字母代码。希伯来语(“he”)语言代码被改写为“iw”,印尼语(“id”)改写为“in”,意第绪语(“yi”)改写为“ji”。即使您构造自己的 Locale 对象,这种重写也会发生,而不仅仅是各种查找方法返回的实例。
在不复制文件的情况下,有没有办法在创建应用程序时同时支持已弃用和官方语言代码?
我目前的情况是有一个用户使用手机"he"
,而大多数其他用户使用"iw"
. 我(天真地)尝试使用两种方法解决这个问题 - 都失败了。
- 在目录结构中创建一个链接,以便
values-he
链接到values-iw
. 正如所料,Eclipse 将其视为一个lnk
文件 - 使用代码手动将一种编码切换到另一种编码 (
if (lang.toLowerCase(Locale.US).equals("iw")) { lang = "he";}
)。在阅读了上面的文档之后,很明显这种方法也行不通。
根据这个问题(并且根据文档),我很惊讶地看到这个问题首先出现,因为我认为它"iw"
总是会被使用;然而,这种情况并非如此。