Я использую Google Translate API с Java и всякий раз, когда я отправляю текст Engli sh с двойными кавычками для перевода, я получаю странное форматирование:
Исходный текст (en):
"Fresh Air"
Ответ Google (pt):
"Ar Fresco"
Ответ (ы) Google:
"Aire Fresco"
Желаемый результат:
"Ar Fresco"
( для португальского) и "Aire Fresco"
(для испанского sh)
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;
}
Чего мне не хватает? Есть ли способ избежать такого результата и получить двойные кавычки, как в исходном тексте?