谷歌翻译API - PHP

时间:2011-12-22 19:18:17

标签: php google-api google-translate

我使用谷歌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-&gt; responseData-&gt; translatedText;)

我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:3)

我认为有问题的API is no longer publicly available

  

重要提示:Google Translate API v2现在仅作为付费服务提供,您的应用每天可以提出的请求数量有限。自2011年12月1日起,Google Translate API v1不再可用;它于2011年5月26日正式弃用。这些决定是由于广泛滥用造成的巨大经济负担。对于网站翻译,我们建议您使用Google网站翻译小工具。

答案 1 :(得分:1)

在将$data用作对象之前,您忘记验证它。 json_decode没有拥有来为您提供一个对象。

  • 要进行调试,请检查$data的内容(即将翻译响应复制到其中后);

  • 对于制作,请更彻底地检查json_decode的结果。