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 に答える