2016-12-25 54 views
0

我目前使用谷歌翻譯API V2 google-translate-api-v2-java-core-0.52.jar如何在JAVA中製作Google Translate支持的語言的HashMap?

有沒有什麼辦法讓支持的語言列表,並把它們放到HashMap中,其中關鍵的是語言的名稱,值是語言ISO代碼。

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

所以我需要所有的支持谷歌翻譯的語言在此HashMap。 我試圖用Locale.getISOCountries()來做到這一點,但我會在我的HashMap中獲得所有語言,並且大部分語言都不受Google翻譯支持。

回答

1
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作爲目標語言)