如何制作 Google 的 HashMap 在 JAVA 中翻译支持的语言?

How to make HashMap of Google Translate supported languages in JAVA?

我目前正在使用 Google 翻译 API V2 google-translate-api-v2-java-core-0.52.jar

有什么办法可以得到支持的语言列表,然后把它们放到HashMap中,其中key是语言名称,value是语言ISO代码。

示例

HashMap<String, String> langs = new HashMap<String, String>;
langs.put("English", "en");

所以我需要此 HashMap 中所有受支持的 Google 翻译语言。 我尝试使用 Locale.getISOCountries() 来执行此操作,但我会在我的 HashMap 中获取所有语言,并且 Google Translate.

不支持其中大多数语言
public static void displaySupportedLanguages(PrintStream out, Optional<String> tgtLang) {
  Translate translate = createTranslateService();
  LanguageListOption target = LanguageListOption.targetLanguage(tgtLang.orElse("en"));
  List<Language> languages = translate.listSupportedLanguages(target);

  for (Language language : languages) {
    out.printf("Name: %s, Code: %s\n", language.getName(), language.getCode());
  }
}

参考:

  1. https://cloud.google.com/translate/docs/discovering-supported-languages
  2. https://translation.googleapis.com/language/translate/v2/languages?parameters

而且,根据这个jar文件的源代码,似乎方法Translator.languages(null)也可以制作。 (通过 null 作为目标语言)