Java I18n for unsupported locales

The features of Java I18n are astounding. Supported locales works fine:

Locale ar = new Locale("ar","SA");
System.out.println(ar.getDisplayName(ar));

outputs: العربية (السعودية)

But for non-supported locales, such as a language Kazakh, the language name is displayed in the same language as in Enlish (Standard), as specified in the Java Spec.

Locale locale = new Locale("kk","KZ");
System.out.println(kk.getDisplayLanguage(kk));

outputs: Kazakh (Kazakhstan)

I'm trying to solve this problem, the last code to be output as follows: Ққ (Ққ).

Does anyone know a solution?

Any guesses (or ways to contact the Java SE developer or those who know the algorithms) I will mark as an answer;)

Thank!

+5
source share
2 answers

, Windows, . . . ( 2000 , , 7 ...). linux localedef.

!

+1

, , , ListResourceBundle. , ... , , ICU.
Locale , ULocale Locale, . ICU , , , CLDR . . ​​ , , JDK7...

+2