Pull to refresh

Comments 36

Юзал в свое время вариант номер два, более-менее нормально получалось. Уже после официального запрета API.
Вы смогли добиться от них JSONP? Или не через js использовали?
Насколько я помню, они отдавали JSON, но кириллицу переводили в Unicode-вид.
JSON или JSONP? Разные вещи. Немного. JSONP — JSON, обёрнутый в функцию. При подключении через script-тег вызывается оная функция. Это для обхода Same Origin Policy
К сожалению, не могу дать точный ответ. Но скорее всего просто JSON.
Вы запрос из JavaScript делали?
Нет, со стороны сервера с помощью curl на php.
Да, тогда Вам JSONP не нужен. Даже вреден и неприятен. Спасибо.
Я то же самое пытаюсь выпытать.
Мне бы хотелось уже сейчас готовить запасную площадку для перевода, если Bing последует примеру Google, да и качество перевода первого оставляет желать лучшего
Именно из-за качества перевода Bing пришлось строить непонятно что для выпытывания перевода у Google.

Вот мой вопрос в Q&A по теме: habrahabr.ru/qa/13146/
Пришлось однажды работать с сервисом который вообще отдавал только XML. Что такое CORS он тоже не знал, а сильно хотелось обойтись без серверной стороны. Выход был найден через использование 3 сервиса, который мог преобразовывать XML в JSON или JSONP. Тот ещё костыль — но работает.
Кушайте Юзайте на здоровье!
В смысле «Буду рад если Вам было полезно!» )))
Сервис от яндекса работает также через jsonp, достаточно было посмотреть в консоль, чтобы увидеть как обрабатываются запросы. Также есть возможность переводить большие объемы текста с с помощью нескольких запросов – github.com/itrelease/yaTranslate
Вау! спасибо за линк. Я даже не надеялся, что получу такую красоту.
Скажите, а вы пользовались Yandex Translate? Как у них с качеством перевода?
Одно из отличий – незнакомые слова не транслитерируются, а остаются на том же языке, но вобщем нормально переводит
Библиотека приятная, но видимо уже немного устарела. Список поддерживаемых языков увеличился: в yatranslate.js я вижу только 3, а на translate.yandex.ru/ их 9.
И судя по всему, я не смогу напрямую перевести en -> es напрямую — разве что через ru. Но над качеством такого перевода можно будет только смеяться. Нужно будет пробовать
А я препарировал… форму гугла. Вы не поверите…
Наверняка бесценный с точки зрения reverse engeneering опыт. После такого обфусцированные скрипты наверное на лету читаете)))
Как результат?
Я не читал скрипты, я же умею пользоваться фаербагом :) Результат — работает как часы, даже с подсказками.
Завидую. Собственный опыт разбирательства в скриптах Гугла не настолько позитивен.

Если не жалко — поделитесь пожалуйста схемой — Вы посылаете запрос на некий сервис, получаете ответ — чистый JSON или JSONP?
Или напрямую c помощью тега «script» подгружаете гугловый js-файл, которому скармливаете элементы DOM?
Отправляю скриптом (ajax через php) текст на гугл, гугл мне отвечает некую абракадабку (я думаю это некоторая вариация на тему JSON, но не смог разобраться и распарсил как строку). После препарации строки — выдаю ответ на ajax-запрос в скрипт который выводит собственно это всё пользователю.
> баш|пиво|соседку
ммм, потоковый ввод
Посмотрел, приятно, спасибо за сылочку.
Вы сами не использовали этот сервис? Если использовали — поделитесь опытом. А, да — из Javascript использовали или с сервера?
В документации не видно поддерживается ли JSONP. И не видно ограничений на кол-во запросов.
Очень интересный и загадочный проект, очень JSON ответ в примерах itranslate4.eu/api#api_functions желание использовать отпало сразу.
Что-то я не смог найти информацию о количестве запросов на единицу времени.
лично я ограничения у bing не нашел, но обнаружил что большое количество запросов на один API key подтормаживает.
Ну как бы платный гугл стоит очень недорого — 20$ за миллион переведенных символов.
На одном коммерческом проекте был использован гугл. Когда узнали, что с 1 декабря он становится платным, то решили проверить качество перевода у бинга. Вы не поверите, бинг переводит хуже. По крайней мере фразы туристической направленности.
Bing хуже, но думаю со временем исправится, все таки ML алгоритмы.
Скорее всего, причина банальна — меньшее (изначально) количество запросов, меньше переводимая база, меньше пользовательских корректировок, по сравнению с Гугл-Транслейт.
Так что поддерживаю, вполне возможно что в ближайшее время качество перевода будет улучшаться.
А можно тут прилюдно опозориться и спросить совета, как эту функцию правильно запускать?

Вот например у меня есть выражение: document.getElementById(element).innerHTML = translate_bing(«long text is placed here», «en», «ru»);, которое вызывает по нажатию на кнопку.
При этом если нажать кнопку 10 раз, то текст переведется только 3-4 раза. Жду приличное время, но как будто какой-то затык происходит. Как правильно тут надо написать?

Как-то вот так.
translate_bing('long text is placed here', 'en', 'ru', function(resp){
document.getElementById(element).innerHTML = resp;
});

По моему это и есть асинхронное программирование.
Да, кстати, практика показала что для направлений перевода с/на русский лучше юзать Yandex.
Супер, спасибо! Просто я ламер в джаваскрипте, теперь всё стало понятно про асинхронность.
Sign up to leave a comment.

Articles