0

英語からフランス語に翻訳する必要がある大きな txt ファイル (ゲームのチュートリアル) がたくさんあります。私の最初の本能は、それらをサーバーでホストし、PHP スクリプトを使用して、file_get_contents() と URL 操作を実行して翻訳されたテキストを取得することで、翻訳プロセスを自動化することでした。何かのようなもの:

http://translate.google.com/translate?hl=fr&sl=en&u=http://mysite.com/faq.txt

私はそれが2つの問題を引き起こすことを発見しましたsrc.

PHPでGoogle経由で翻訳されたページを取得する方法はありますか(AJAX APIを使用せずに、ここでは実際には適していません)?

4

2 に答える 2

2

cRLを使用して結果のページを取得し、解析します。

于 2010-04-26T19:43:21.840 に答える
1

フレームを持つ通常の翻訳 URL を使用する代わりに、フレームの src を使用します。

http://translate.googleusercontent.com/translate_c?hl=<TARGET LANGUAGE>&sl=<SOURCE LANGUAGE>&tl=af&u=http://<URL TO TRANSALTE>&rurl=translate.google.com&twu=1&usg=ALkJrhhxPIf2COh7LOgXGl4jZdEBNutZAg

たとえば、ページhttp://chaimchaikin.za.net/を英語からアフリカーンス語に翻訳するには:

http://translate.googleusercontent.com/translate_c?hl=en&sl=en&tl=af&u=http://chaimchaikin.za.net/&rurl=translate.google.com&twu=1&usg=ALkJrhhxPIf2COh7LOgXGl4jZdEBNutZAg

これにより、翻訳の「フレームなし」ページのみが開きます。

必要な言語のコードを見つけるために、調べてテストすることをお勧めします。また、Google が翻訳にスクリプトを追加する場合があることにも注意してください (たとえば、ホバー時に元のテキストを表示するため)。

編集: コードを調べると、翻訳の間に多くの JavaScript が含まれているようです。それを取り除く方法を見つける必要があるかもしれません。

編集: さらに調べると、エンド ビット「usg=ALkJr...」が毎回変わるように見えることがわかります。「usg」を見つけて解析するよりも、最初に通常の Google 翻訳ページ (例: http://translate.google.com/translate?hl=fr&sl=en&u=http://mysite.com/faq.txt ) でリクエストを実行します。 =..」の部分を削除し、「フレームレス」ページ ( http://translate.googleusercontent.com/translate_c?.. .) で次のリクエストに使用します。

于 2010-04-26T20:22:56.080 に答える