作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有 JSF UI 应用程序,我想显示翻译后的国家/地区名称。
我正在使用 Java Locale 获取国家/地区名称。但无法获得我的翻译要求。 Java 1.6 Locale 仅提供 44 个独特的国家。
Locale[] localeArray = Locale.getAvailableLocales();
System.out.println("localeArray---->"+localeArray.length);
for (Locale locale : localeArray) {
counter++;
System.out.print("locale-->"+locale+"-------");
System.out.print("locale getISO3Language-->"+locale.getISO3Language());
System.out.println("-----locale.getDisplayCountry(locale)--->"+locale.getDisplayCountry(locale));
System.out.println("-----locale.getDisplayCountry()--->"+locale.getDisplayCountry());
System.out.println("-----locale.getCountry()--->"+locale.getCountry());
System.out.println("----------------------------------------------------"+counter);
}
请让我们知道如何执行我的要求?
Oracle 文档提供link .
除了 Java 之外,是否有任何可用的库来执行强大的特定于语言环境的要求?
最佳答案
正如我已经在评论中建议的那样,您应该尝试使用 ICU 来获取语言环境的本地名称。最简单的用法示例:
ULocale locale = ULocale.forLanguageTag("si-LK");
System.out.println(locale.getDisplayName(locale));
这打印:
සිංහල (ශ්රී ලංකාව)
我认为答案是正确的。要将其转换成适合UIViewRoot的形式,只需要调用toLocale()
方法即可:
Locale javaLocale = locale.toLocale();
就是这样。
关于获取僧伽罗语/斯里兰卡语翻译的 Java Locale,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19188214/
我是一名优秀的程序员,十分优秀!