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) на запись «Google Non-AJAX Language API»

» Трекбеки скрыты, показать их?
  1. CTAPbIu_MABP | 01.01.2009 в 15:58

    Это гут! Первая статья в новом году, молодец!

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

  2. adw0rd | 01.01.2009 в 17:06

    Мавр, спасибо, ты всегда мне помогаешь со статьями :-)

    Сейчас поправлю!

  3. CTAPbIu_MABP | 01.01.2009 в 17:41

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

  4. Alex Snet | 01.01.2009 в 18:46

    Хм... Гут =)

    Спасибо.

    Только поправь «Traslate» на «TraNslate»

  5. adw0rd | 01.01.2009 в 18:46

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

  6. adw0rd | 01.01.2009 в 18:47

    Alex, сенк, сейчас поправлю :)

  7. CTAPbIu_MABP | 02.01.2009 в 13:39

    Пасибо что помог перебраться на вордпресс)))

  8. Алла | 03.01.2009 в 16:45

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

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

    [...] Google Language API [...]

  10. Alex Snet » Google Translate Non Ajax API | 22.02.2009 в 11:44

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

  11. Alex Snet | 22.02.2009 в 11:45

    alexsnet.ru/2009/02/googl...te-non-ajax-api/

    Ну как?

  12. aktuba | 02.03.2009 в 02:57

    Ух ты... Мой livepad.ru тут засветился =)))) Приятно...

  13. teaseo | 13.03.2009 в 14:03

    Спасибо за код но почему — то не работает ...

  14. adw0rd | 14.03.2009 в 01:37

    А что именно не работает?

  15. teaseo | 14.03.2009 в 01:42

    & > ...

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

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

  16. adw0rd | 14.03.2009 в 01:52

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

    Ща его поправлю...

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

    [...] Google AJAX Language in php [...]

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

    [...] translate api POST [...]

  19. Москва - не тонет ;) | Мастерская интернет-разработчика | 25.03.2009 в 23:40

    [...] curl php google translate rus [...]

  20. Hello, World! | Мастерская интернет-разработчика | 30.03.2009 в 10:14

    [...] google translate non ajax api [...]

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

    [...] ajax urlencode [...]

  22. Компьютерщик | 11.04.2009 в 03:04

    Благодарю за статейку. Удачи Вам!

  23. boctorg | 28.08.2009 в 16:28

    А подскажите как спарсить api от tagoo.ru ?

  24. adw0rd | 28.08.2009 в 16:31

    Не знаю, спросите тут pyha.ru/forum/

  25. alexsnet: Google Translate Non Ajax API | 26.10.2010 в 01:35

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

Оставить комментарий