Google Non-AJAX Language API
Думаю все знакомы или слышали о сервисе Google Translate, с помощью которого можно переводить текст, так же предполагаю что многие могли слышать о Google AJAX Language API:
С помощью AJAX Language API можно переводить и определять язык текстов на веб-страницах, пользуясь только Javascript.
Но, порой необходимо переводить не только на стороне клиента (с помощью ajax), а так же и на стороне сервера, путем запросов к серверу через cUrl или сокеты. Однако Google как обычно на высоте и предлагает решение нашей проблемы Flash and other Non-Javascript Environments
А теперь, напишем простенькую функцию:
function googleTranslater ($query, $langTo = 'en', $langFrom = 'auto', $version = '1.0') {
$url = 'http://ajax.googleapis.com/ajax/services/language/translate?'
.'v='.urlencode($version)
.'&q='.urlencode($query)
.'&langpair='.urlencode((($langFrom == 'auto')? null: $langFrom).'|'.$langTo);
$result = json_decode(file_get_contents($url));
if(is_object($result) and $result->responseStatus == 200) {
return $result->responseData->translatedText;
} else {
return false;
}
}
echo googleTranslater('С Новым Годом!');
Данные возвращаются в UTF-8.
UPD:
Все, признаю свое поражение перед Мавром и его Google-транслятором. У него можно передать 32 Кб POST’ом, у меня чуть более 2 Кб GET’ом. Сколько я не пытался переписать, Google не дает отправлять за один раз больше чем 2 Кб и POST не разрешает. Однако я не потерял время зря, а заодно изучил Google AJAX Search API, теперь применю навыки в двух других проектах!
UPD:
LivePad: Google translate
PHP класс Google_translate
Комментарии 25
Архив обсуждения. Новые комментарии закрыты.
Это гут! Первая статья в новом году, молодец!
Тока две ошибки переводить не “только Javascript”, тут хоть и цитата но не смотрится, и второе -> в коде.
Мавр, спасибо, ты всегда мне помогаешь со статьями :-)
Сейчас поправлю!
Я тебе помогаю?! не льсти))) мне бы самому помощь не помешала!
Хм.. Гут =)
Спасибо.
Только поправь “Traslate” на “TraNslate”
Мавр, ну думаю теперь то я тебе смогу помочь, а то раньше не мог даже откомментить в твой блог ;)
Alex, сенк, сейчас поправлю :)
Пасибо что помог перебраться на вордпресс)))
Всех с Новым годом поздравляю бесплатных трафиков желаю.мятых баксов два вагонаю наших денег два лимона!
[…] Google Language API […]
[…] ответ adw0rd‘у и Мавру. Хоть и с сильным запазданием, но все […]
http://alexsnet.ru/2009/02/google-translate-non-ajax-api/
Ну как?
Ух ты… Мой livepad.ru тут засветился =)))) Приятно…
Спасибо за код но почему - то не работает …
А что именно не работает?
& > ….
додумался уже …. Пасиб за код …!
WP-Syntax используй . и не будет проблем … + подсветка …
Я его и использую, вот он и глючит :)
Ща его поправлю…
[…] Google AJAX Language in php […]
[…] translate api POST […]
[…] curl php google translate rus […]
[…] google translate non ajax api […]
[…] ajax urlencode […]
Благодарю за статейку. Удачи Вам!
А подскажите как спарсить api от tagoo.ru ?
Не знаю, спросите тут http://pyha.ru/forum/
[…] ответ adw0rd‘у и Мавру. Хоть и с сильным запазданием, но […]