0

Google 翻訳 API を使用して、いくつかの Web サイトで自分の Web サイトを翻訳しています。

私はそうします:

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;
}

説明したように、Google トランスレータ API を使用して PHP $string を翻訳します

これは問題なく動作します (翻訳の品質に焦点を当てることはできません)。問題は、約 20/30 (またはそれ以上) の要求が Web サイトを使用できなくすることです.. 遅すぎます. 確認したい場合は、

http://funcook.com/フランス語http://funcook.com/?lan=3またはドイツ語 http://funcook.com/?lan=4でテスト

また、ウェブサイトのすべての文字列をループして翻訳し、翻訳された文字列を保存しようとしたので、何度もリクエストする必要はありません。

しかし、それらは約300であり、プロセスで失敗します(約50%)遅延が原因だと思います

そこで質問です: ¿

4

1 に答える 1

3

より良い代替手段はありません。必要なのは、Google 翻訳から取得した結果をキャッシュし、毎回 Google 翻訳からロードしないことです。翻訳をファイルまたはデータベースに書き込み、そこから読み込みます。キーワードが存在しない場合は、Google 翻訳に問い合わせてください。また、翻訳が時間の経過とともに変化すると思われる場合は、時々キャッシュをフラッシュ/リセットしてください。

キャッシュせずに外部サービスに複数のリクエストを送信しないでください。あなたは基本的にあなた自身のリソースを浪費しているだけでなく、Googleによってブロックされる可能性があります.

于 2012-04-16T20:37:33.817 に答える