Google 翻訳のAPIについて解説します。
Google Translate APIは現在、有料化されています。Pricing and Terms of Service - Google Translate API v2 - Google Code
<!-- Google AJAX API ローダーのライブラリをインクルードする --> <script type="text/javascript" src="http://www.google.com/jsapi?key=xx"></script> <script type="text/javascript"> // 翻訳結果を受け取るコールバック関数 function TranslationCallback( result ) { if( !result.error ) { var translation = document.getElementById( 'translation' ); translation.value = result.translation; } } function OnLoad() { var text = '初めまして。'; var srcLang = 'ja'; // 翻訳元言語の言語コード var destLang = 'en'; // 翻訳先言語の言語コード google.language.translate( text, srcLang, destLang, TranslationCallback ); } // Language APIをロードする google.load( 'language', '1' ); // ドキュメントがロードされた後に呼び出されるハンドラ関数を登録する google.setOnLoadCallback( OnLoad ); </script> <input type="text" id="translation"/>
次のようにアクセスすることで、JSON形式で結果を取得できます。
次のURLにパラメータを付加してアクセスします。
http://ajax.googleapis.com/ajax/services/language/translate
パラメータ | 説明 |
---|---|
q | 翻訳対象のテキスト |
v | バージョン番号 (現在では1.0のみ有効) |
langpair |
言語。翻訳元の言語と翻訳先のそれを、「 | 」で区切って言語コードで並べる。 「 | 」を省いて1つの言語のみを指定した場合は、元の言語は自動検出される。 |
パラメータ | 説明 |
---|---|
key | アプリケーションを一意に識別するキー。アプリケーションに異常が検出されたときに、Googleから通知を受けるのに使用される。 |
userip | エンドユーザーのIPアドレス。これを含めることで、APIを乱用していると誤認される可能性を減少できる。 |
このAPIを利用したアプリケーションが多数のユーザーに利用された場合、サービスを不正に利用しているとみなされ、Googleからリクエストを拒否されることがあります。
"Suspected Terms of Service Abuse. Please see http://code.google.com/apis/errors"
この場合には、リクエストのパラメータ (userip) にエンドユーザーのIPアドレスを含めることで、この問題を回避できます。