Java I18n用于不支持的语言环境

erk*_*rko 5 java internationalization

Java I18n功能令人惊叹.支持的 语言环境非常完美:

Locale ar = new Locale("ar","SA");
System.out.println(ar.getDisplayName(ar));
Run Code Online (Sandbox Code Playgroud)

输出: ??????? (????????)

但是对于不支持的语言环境Kazakh,语言名称显示在相同的语言中将在Enlish(标准)中输出,如Java Spec中所述.

Locale locale = new Locale("kk","KZ");
System.out.println(kk.getDisplayLanguage(kk));
Run Code Online (Sandbox Code Playgroud)

输出: Kazakh (Kazakhstan)

我正在尝试解决这个问题,最后一个代码必须像这样输出:??????? (?????????).

有谁知道解决方案?

任何猜测(或与Java SE开发人员联系的方式,或与谁知道算法)我会注意到答案;)

谢谢!

avi*_*iad 1

假设您在 Windows 上运行,您需要在操作系统区域设置中更改区域设置。请参阅链接。(在 win 2000 上会出现哈萨克语,但是在 win 7 上它不会出现在列表中...)。在 Linux 上,您可以使用localedef 实用程序设置区域设置。

祝你好运!