Google Translate API двойные кавычки - PullRequest
1 голос
/ 19 февраля 2020

Я использую 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;
}

Чего мне не хватает? Есть ли способ избежать такого результата и получить двойные кавычки, как в исходном тексте?

1 Ответ

1 голос
/ 28 апреля 2020

Google API перевод рассматривает ввод по умолчанию как HTML, вы можете изменить формат на «текст» или «текст / обычный» https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/translate/Translate.TranslateOption.html#format - java .lang.String-

...