谷歌翻译API双引号



我使用Java的Google Translate API,每当我发送带有双引号的英文文本进行翻译时,我都会得到这种奇怪的格式:

源文本(en(:

"Fresh Air"

谷歌的回应(pt(:

"Ar Fresco"

谷歌回应:

"Aire Fresco"

期望结果:

"Ar Fresco"(葡萄牙语(和"Aire Fresco"(西班牙语(

用于检索翻译的Java代码:

String google_key = "SOME_GOOGLE_API_KEY";
List<String> result = new ArrayList<String>();
try {
Translate t = new Translate.Builder(
com.google.api.client.googleapis.javanet.GoogleNetHttpTransport.newTrustedTransport(),
com.google.api.client.json.gson.GsonFactory.getDefaultInstance(), null)
.setApplicationName("myApp").build();
List<String> totranslate = new ArrayList<String>();
totranslate.add(sourceText);
Translate.Translations.List list = t.new Translations().list(
totranslate,
targetLanguage.getCode());
list.setKey(google_key);
TranslationsListResponse response = list.execute();
for (TranslationsResource tr : response.getTranslations()) {
result.add(tr.getTranslatedText());
}
System.out.println("Google translation: ["+sourceText+"]("+targetLanguage+"): "+result.get(0));
return result.get(0);
} catch (Exception e) {
e.printStackTrace();
return null;
}

我错过了什么?有没有办法避免这种结果,并像原始源文本中那样使用双引号?

谷歌api翻译考虑默认输入为HTML,您可以将格式更改为"text"或"text/plain"https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/translate/Translate.TranslateOption.html#format-java.lang.String-

相关内容

  • 没有找到相关文章

最新更新