14

PHPでグーグル翻訳を使用して翻訳する最良の方法はどのようにグーグルしてきましたか、URLを変換する、またはJsを使用する非常に異なる方法を見つけましたが、私はphp(または非常に単純なソリューションJS / JQUery)でのみそれをやりたいです

例:

//hopefully with $from_lan and $to_lan being like 'en','de', .. or similar
function translate($from_lan, $to_lan, $text){

// do

return $translated_text;

}

手がかりをくれませんか。または多分あなたはすでにこの機能を持っています。

私の意図は、私がまだ定義していない言語(または私が定義していないキー)にのみ使用することです。そのため、私はそれを非常に単純にし、一時的なものにします。

編集

あなたの返事に感謝します私達は今このsoulutionsを試みています:

function auto_translate($from_lan, $to_lan, $text){
// do


$json = json_decode(file_get_contents('https://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=' . urlencode($text) . '&langpair=' . $from_lan . '|' . $to_lan));
$translated_text = $json->responseData->translatedText;


return $translated_text;

}

(langの変数には余分な「g」がありました...とにかく)

それは戻ります:今動作します:)

私はその機能をあまり理解していないので、なぜオブジェクトを受け入れないのか考えてみてください。(今私がやります)

また:

    function auto_translate($from_lan, $to_lan, $text){
    // do

//    $json = json_decode(file_get_contents('https://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=' . urlencode($text) . '&langpair=' . $from_lan . '|' . $to_lan));
//    $translated_text = $json['responseData']['translatedText'];
    error_reporting(1);
    require_once('GTranslate.php');
    try{
       $gt = new Gtranslate();
       $translated_text = $gt->english_to_german($text);

     } catch (GTranslateException $ge)
     {
           $translated_text= $ge->getMessage();
     }


    return $translated_text;
}

これは見栄えが良いですが、エラーは発生せず、ページが読み込まれません(error_report(1):S)

前もって感謝します!

4

6 に答える 6

12

私はまだこれをテストしていませんが、試してみてください:

function translate($from_lan, $to_lan, $text){
    $json = json_decode(file_get_contents('https://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=' . urlencode($text) . '&langpair=' . $from_lan . '|' . $to_lan));
    $translated_text = $json->responseData->translatedText;

    return $translated_text;
}

編集: 修正、テスト済み、動作します。

于 2011-01-09T16:58:55.140 に答える
5

これには新しい解決策があります..最後の解決策には新しいバージョンが必要であり、他の問題を取得する必要があるためです。


    $text = 'Test new message only.';
    $apiKey = '<past your google api key here>';
    $url = 'https://www.googleapis.com/language/translate/v2?key=' . $apiKey . '&q=' . rawurlencode($text) . '&source=en&target=fr';
    $handle = curl_init($url);
    curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($handle, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($handle);
    $responseDecoded = json_decode($response, true);

    curl_close($handle);

    print_r($responseDecoded['data']['translations'][0]['translatedText']);
    die;

    //expected output
     Testez le nouveau message uniquement.

PHPで非常に役立つことを願っています

于 2018-08-24T08:49:46.900 に答える