PHPからGoogle翻訳を使ってみる
PHPから翻訳したい処理があったので、Google翻訳のソースのぞいて試してみました。
<?php
// 翻訳するテキスト
$text = "私は日本人です";
// 翻訳モード(日→英)
$enc = "ja|en";
// 翻訳呼び出し
$url = "http://translate.google.com/translate_t?langpair=$enc&ie=UTF8&oe=UTF8&text=".urlencode($text);
$html = file_get_contents($url);
// テキスト部分取り出し
$pattern = '/<div id=result_box dir="ltr">(.*?)<\/div>/';
preg_match($pattern, $html, $matche);
$trans = $matche[1];
// 翻訳されたテキスト
echo $trans;
?>
これを実行すると、
I am Japanese.
なかなか良さげです。
ちなみに翻訳モードのパラメータには、以下のものが使えます。
"ar|en" アラビア語から英語へ
"it|en" イタリア語から英語へ
"nl|en" オランダ語から英語へ
"el|en" ギリシャ語から英語へ
"es|en" スペイン語から英語へ
"de|fr" ドイツ語からフランス語へ
"de|en" ドイツ語から英語へ
"fr|de" フランス語からドイツ語へ
"fr|en" フランス語から英語へ
"pt|en" ポルトガル語から英語へ
"ru|en" ロシア語から英語へ
"en|ar" 英語からアラビア語へ
"en|it" 英語からイタリア語へ
"en|nl" 英語からオランダ語へ
"en|el" 英語からギリシャ語へ
"en|es" 英語からスペイン語へ
"en|de" 英語からドイツ語へ
"en|fr" 英語からフランス語へ
"en|pt" 英語からポルトガル語へ
"en|ru" 英語からロシア語へ
"en|ko" 英語から韓国語へ
"en|zh-CN" 英語から中国語(簡体)へ
"en|zh-TW" 英語から中国語(繁体)へ
"en|ja" 英語から日本語へ
"ko|en" 韓国語から英語へ
"zh|en" 中国語から英語へ
"zh-CN|zh-TW" 中国語(簡体から繁体へ)
"zh-TW|zh-CN" 中国語(繁体から簡体へ)
"ja|en" 日本語から英語へ
しかし、パラメータのoe=UTF8が抜けてたのに気付かず結果が文字化けしてばかりで、こんな明け方まで手こずってしまいました・・・。はぁ、寝よ。
- 3キャリア別にフォーム入力モードを切り替えるカスタムヘルパー - 2009年4月03日
- オブジェクトのシリアル化についてのメモ - 2009年3月12日
- askeet 4日目 - 2009年2月24日
- symfonyでPDO接続をする - 2009年2月18日
- PEAR::HTTP_Requestでタイムアウト時間を指定する - 2008年8月23日
トラックバック(0)
このブログ記事を参照しているブログ一覧: PHPからGoogle翻訳を使ってみる
このブログ記事に対するトラックバックURL: http://blog.knockoutmarch.com/mt3/mt-tb.cgi/105
コメントする