← Все записи

Google Non-AJAX Language API

translate\_beta\_resДумаю все знакомы или слышали о сервисе 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

UPD:

Google Translate Non Ajax API

Комментарии 25

Архив обсуждения. Новые комментарии закрыты.

CTAPbIu_MABP

Это гут! Первая статья в новом году, молодец!
Тока две ошибки переводить не “только Javascript”, тут хоть и цитата но не смотрится, и второе -> в коде.

adw0rd

Мавр, спасибо, ты всегда мне помогаешь со статьями :-)
Сейчас поправлю!

CTAPbIu_MABP

Я тебе помогаю?! не льсти))) мне бы самому помощь не помешала!

adw0rd

Мавр, ну думаю теперь то я тебе смогу помочь, а то раньше не мог даже откомментить в твой блог ;)

Алла

Всех с Новым годом поздравляю бесплатных трафиков желаю.мятых баксов два вагонаю наших денег два лимона!

Возвращение блудного попугая… | Мастерская интернет-разработчика

[…] Google Language API […]

Alex Snet » Google Translate Non Ajax API

[…] ответ adw0rd‘у и Мавру. Хоть и с сильным запазданием, но все […]

teaseo

& > ….
додумался уже …. Пасиб за код …!

WP-Syntax используй . и не будет проблем … + подсветка …

adw0rd

Я его и использую, вот он и глючит :)
Ща его поправлю…

FreeBSD. Установка и настройка ProFTPD | Мастерская интернет-разработчика

[…] Google AJAX Language in php […]

Плагины для Wordpress, которые использую я! | Мастерская интернет-разработчика

[…] translate api POST […]

Москва - не тонет ;) | Мастерская интернет-разработчика

[…] curl php google translate rus […]

Hello, World! | Мастерская интернет-разработчика

[…] google translate non ajax api […]

FreeBSD. Боремся с HTTP-флудом средствами IPFW | Мастерская интернет-разработчика

[…] ajax urlencode […]

alexsnet: Google Translate Non Ajax API

[…] ответ adw0rd‘у и Мавру. Хоть и с сильным запазданием, но […]