Я создаю список локалей и распечатываю их локальные языки отображения (т. е. распечатываю ja_JP как 日本語), используя java.util.Locale. Я заметил, что и zh_CN (китайский упрощенный), и zh_TW (китайский традиционный) локализуются как 中文, а не как 简体中文 и 繁体中文. Есть ли способ заставить эти локали включать символы префикса для упрощенного и традиционного без жесткого кодирования, что zh_CN должно быть 简体中文, а zh_TW должно быть 繁体中文? Я знаю, что могу распечатать язык + страна (например, 中文 (中国), но это не совсем то же самое.
Вот фрагмент Java, демонстрирующий, что они одинаковы:
import java.util.Locale;
public final class test {
public static void main(String[] args) {
Locale locale1 = new Locale("zh", "cn");
System.out.println( locale1.getDisplayLanguage(locale1));
System.out.println( locale1.getDisplayLanguage(Locale.TRADITIONAL_CHINESE));
System.out.println( locale1.getDisplayLanguage(Locale.SIMPLIFIED_CHINESE));
System.out.println( locale1.getDisplayCountry(locale1));
System.out.println( "");
Locale locale2 = new Locale("zh", "tw");
System.out.println( locale2.getDisplayLanguage(locale2));
System.out.println( locale2.getDisplayLanguage(Locale.TRADITIONAL_CHINESE));
System.out.println( locale2.getDisplayLanguage(Locale.SIMPLIFIED_CHINESE));
System.out.println( locale2.getDisplayCountry(locale2));
}
}