如何从Android上的Locale对象获取脚本?

时间:2013-10-03 07:33:17

标签: java android localization locale chinese-locale

从我看到的Android Locale class没有提及有关脚本的任何内容,只提及语言,国家和变体。

Java SE Locale class提及语言,国家/地区,脚本,变体和扩展程序,当然还有方法getScript()来获取脚本。

所以,我的问题是:如何从Android上的Locale对象获取脚本?

还是有另一种获取脚本的方法吗?

我需要这个能够区分繁体中文(zho-Hant)和简体中文(zho-Hans),因为我需要能够从Locale获取脚本,例如:汉语或汉语的语言zho

script =

  

ISO 15924 alpha-4脚本代码。您可以找到有效的完整列表   IANA语言子标签注册表中的脚本代码(搜索“类型:   脚本“)。脚本字段不区分大小写,但始终是区域设置   标准化为标题案例(第一个字母是大写字母和   其余的字母是小写的)。       格式良好的脚本值的格式为[a-zA-Z] {4}       示例:“Latn”(拉丁语),“Cyrl”(西里尔语)

1 个答案:

答案 0 :(得分:4)

此功能未内置于 Android SDK 中。相反,我写了一个你可以使用的版本here。基本上,它采用上面答案中的表并将其移植到包含有用信息的Map<String, Map<String, String>>,然后使用简单的查找方法。要在项目中使用此类,只需调用:

String script = LocaleUtilities.getScript(Locale.getDefault());

获取默认语言环境的脚本。