Google Translate API - PHP - PullRequest
       25

Google Translate API - PHP

0 голосов
/ 22 декабря 2011

Я использовал Google API, чтобы получить адрес по заданным GPS-координатам. Но этот язык адресов, который я получил, мне не подходит.

Так что я использовал и Google API для перевода:

$from = 'en';
$to = 'tr';

echo "adress : " . "</br>".translate($from,$to,$address)."</br>";

function translate($from_lan, $to_lan, $text){

    $data = file_get_contents ( "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" . urlencode($text) . "&langpair=" . $from_lan . "%7C" . $to_lan );

    $data = json_decode ( $data );
    if ( $data->responseStatus == 200 )
    {
         $data = $data->responseData->translatedText;
    }

    return $translated_text;
}

Но этот код не работает! Произошла следующая ошибка:

Примечание: попытка получить свойство необъекта в C: \ wamp \ www \ getAddress.php

($ data = $ data-> responseData-> translationText;)

Что я должен сделать, чтобы решить эту проблему?

Ответы [ 2 ]

3 голосов
/ 22 декабря 2011

Я думаю, что рассматриваемый API больше не является общедоступным :

Важно: Google Translate API v2 теперь доступен только как платная услуга, и количество запросовВаше приложение может сделать в день ограничено.С 1 декабря 2011 года Google Translate API v1 больше не доступен;он официально объявлен устаревшим 26 мая 2011 года. Эти решения были приняты из-за существенного экономического бремени, вызванного масштабными злоупотреблениямиДля перевода веб-сайтов мы рекомендуем использовать гаджет "Переводчик веб-сайтов Google".

1 голос
/ 22 декабря 2011

Вы забыли проверить $data перед использованием его в качестве объекта.json_decode не имеет , чтобы дать вам объект.

  • Для отладки проверьте содержимое $data (то есть сразу после копированияответ на перевод);

  • Для производства, проверьте результат json_decode более тщательно.

...