ISO 639语言列表,翻译成每种ISO 639语言

时间:2011-03-14 10:18:19

标签: localization

我正在寻找一组列表,每个列表包含本地化为每种语言的所有ISO 639语言。我知道,这听起来令人困惑。这是我想要的,找不到的:

List1:英文

LOCALNAME | NATIVE NAME  
English     English  
Spanish     espanol  
German      Deutsch 

清单2:德语

LOCALNAME | NATIVE NAME  
Englisch    English  
Spanisch    espaniol  
Deutsch     Deutsch 

列表3:西班牙语

LOCALNAME | NATIVE NAME  
inglés      English  
espanol     espaniol  
alemán      Deutsch 

好吧,我希望这种解释符合我的解释。我很难找到这方面的数据 - 我发现了法语本地化和英语本地化 - 但没有别的。

2 个答案:

答案 0 :(得分:6)

“Just”英语,法语,西班牙语,葡萄牙语,德语和母语:

https://spreadsheets.google.com/ccc?key=0AvWRXuU7vsf-dFhyeThRVWd0bHJyeWJOa0FPSzBzVlE&hl=es

我自己从loc.gov,维基百科和其他一些我不记得的来源编译。考虑一下,但不准确。

答案 1 :(得分:1)

所有iso 639-1语言代码的列表,映射到所有iso语言的英文显示名称,本机名称和分号连接的唯一名称列表: http://dl.dropbox.com/u/457027/iso639.txt

我已使用Java Locale类生成此列表,以使用各种语言生成显示名称:

List<Locale> locales = Lists.newArrayList();
Joiner join = Joiner.on(";").skipNulls();
for (String iso : Locale.getISOLanguages()){
  locales.add(new Locale(iso));
}

System.out.println("ISO\tEnglish\tNative\tOthers");
for (Locale loc : locales){
  Set<String> displayNames = Sets.newHashSet();
  for (Locale l2 : locales){
    displayNames.add(loc.getDisplayLanguage(l2).toLowerCase());
  }
  System.out.println(String.format("%s\t%s\t%s\t%s", loc.getLanguage().toUpperCase(), loc.getDisplayLanguage(Locale.ENGLISH), loc.getDisplayLanguage(loc), join.join(displayNames)));
}