0

我想翻译从客户端发送到服务器的单词。根据 Google 的文档,您可以按如下方式使用:

GET https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&source=en&target=de&q=Hello%20world

它将使用以下 JSON 对象进行响应:

{
    "data": {
        "translations": [
            {
                "translatedText": "Hallo Welt"
            }
        ]
    }
}

我在php中使用以下内容:

$data = file_get_contents('https://www.googleapis.com/language/translate/v2?key=KEY8&source=en&target=ru&q='.$to_be_translated);
$data = json_decode($data);
$translated = $data->translations->translatedText;

这不起作用,但如果我使用他们的 JS 示例,那么我确实得到了所需的结果,因此翻译设置很好,问题一定出在我的 PHP 脚本中。

我也试过:

$data = $_GET['https://www.googleapis.com/language/translate/v2?key=KEY8&source=en&target=ru&q='.$to_be_translated];

但无济于事。有什么建议么?

4

1 回答 1

0

我会建议:

$request = 'https://www.googleapis.com/language/translate/v2?key=KEY8&source=en&target=ru&q='.$to_be_translated;

var_dump($request);

复制从该 var_dump 返回的以“https”开头的字符串,并将其放入新的 Web 浏览器窗口中……您在浏览器中得到了什么?如果它看起来有效,则继续下一步。如果它不起作用,则您的 $request 组装错误。

$response = file_get_contents($request);

var_dump($response);

$response 是什么样的?一个错误?还是看起来像有效的 JSON?如果它的有效 JSON...

$data = json_decode($response);

var_dump($data);

$data 在这里是什么样子的?好的?任何 JSON 解析异常?

$translated = $data->translations->translatedText;

var_dump($translated);

$translated 是什么样的?

于 2012-12-21T19:08:01.993 回答