Google Translator API и множество переводов для одного слова - PullRequest
7 голосов
/ 12 октября 2010

Я использую google-api-translate-java-0.92.jar.

<code>
Translate.setHttpReferrer("<a href="http://translate.google.com/" rel="noreferrer">http://translate.google.com/</a>");
        try {
            String translation = Translate.execute("arrangement", Language.ENGLISH, Language.UKRANIAN);
            System.out.println(translation);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }

Но я получаю только один перевод.Я перехожу на страницу http://translate.google.com/, и это дает мне многократный перевод.Как я могу получить многократный перевод из моего кода?

Ответы [ 3 ]

7 голосов
/ 12 октября 2010

Я не верю, что вы можете ...

Глядя на soucre, он создает следующий URL:

http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&langpair=en|uk&q=arrangement

, который, когда вы смотритев ответе JSON возвращает:

{"responseData": {"translatedText":"Композиція"}, "responseDetails": null, "responseStatus": 200}

Как видите, это возвращает только одно слово.Поиск в словаре на странице google translate должен быть дополнительным вызовом другой службы (не являющейся частью службы перевода)


EDIT

Используя firebug, вы можете увидеть запрос, сделанный страницей перевода, и получите этот URL:

http://translate.google.com/translate_a/t?client=t&text=arrangement&hl=en&sl=en&tl=uk&multires=1&otf=2&pc=0&sc=1

, который возвращает это:

[[["Композиція","arrangement","Kompozytsiya"]],[["noun",["розташування","розміщення","домовленість","аранжування","упорядкування","механізм","оформлення","пристрій","систематизація","монтаж","пристосування","урегулювання","плани","згода","залагода","розв'язання","порозуміння"]]],"en"]

Однако этот расширенный формат URL не поддерживается используемым вами JAR-переводчиком (по крайней мере, я не могу найти его в источнике в коде Google ), он не входит в поддомен googleapis.и я даже не уверен, что это для общественного потребления или что его прямой вызов не нарушает правила и условия Googles.

Но так или иначе они генерируют диктаторский список ...

6 голосов
/ 16 ноября 2013

Из FAQ по Google Translate API (проверено: 16 ноября 2013 г.)

Можно ли получить несколько переводов слова?

Ответ:

Нет. Эта функция доступна только через веб-интерфейс на translate.google.com

источник: https://developers.google.com/translate/v2/faq#technical

0 голосов
/ 12 октября 2010

Для этой функции существует открытый запрос расширения . Так что не похоже, что вы делаете что-то не так; API просто не предоставляет эту функциональность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...