支持Android区域设置中已弃用的语言代码

时间:2013-08-14 10:29:33

标签: android locale

Android Locale documentation

  

请注意,Java使用了几个不推荐使用的双字母代码。希伯来语(“他”)语言代码被重写为“iw”,印度尼西亚语(“id”)被改写为“in”,而意第绪语(“yi”)被改写为“ji”。即使您构造自己的Locale对象,也不仅仅是针对各种查找方法返回的实例,这种重写也会发生。

如果没有重复文件,是否有办法在创建应用时支持已弃用和官方语言代码?

我目前的情况是,有一位用户的手机使用"he",而大部分用户使用"iw"。我(天真地)尝试使用两种方法解决问题 - 都失败了。

  1. 在目录结构中创建一个链接,以便values-he链接到values-iw。正如所料,Eclipse将其视为lnk文件
  2. 使用代码手动将一个编码切换到另一个(if (lang.toLowerCase(Locale.US).equals("iw")) { lang = "he";})。阅读上面的文档后,很明显这种方法也不起作用。
  3. Per this question(并且根据文档)我很惊讶地发现这个问题首先出现,因为我认为总是会使用"iw";但事实并非如此。

0 个答案:

没有答案