ページ内の要素を繰り返し処理し、Google Translate APIに対して個別のajax呼び出しを行って、それらを1つずつ翻訳し、textbox/textareaの値を置き換えることができます。
jQueryを使用すると、テキストボックス、テキストエリア、その他必要なものすべてを反復処理できます。コードは次のようになります。
$('input:text').each(function(index) {
var elementId = $(this).attr("id");
//Call the Google API
$.ajax({
type : "GET",
url : "https://ajax.googleapis.com/ajax/services/language/translate",
dataType : 'jsonp',
cache: false,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
data : "v=1.0&q="+$("#"+elementId).val()+"&langpair=en|es",
success : function(iData){
//update the value
$("#"+elementId).val(iData["responseData"]["translatedText"]);
},
error:function (xhr, ajaxOptions, thrownError){ }
});
});
ご覧のとおり、パラメータ&langpair=en|es
は英語からスペイン語への翻訳を要求します。
ごとに1つの呼び出しが行われることを覚えておいて<input type="text".../>
ください。したがって、不要な呼び出しをフィルタリングするために、ある種の検証を追加することをお勧めします。また、Googleの回答を検証することもできます。
Googleから送信される応答の種類を理解するためのリンクは次のとおりです
。http ://code.google.com/apis/language/translate/v1/using_rest_translate.html
編集: GoogleのAPIの無料使用は2011年12月1日にシャットダウンされるため、Apertiumを使用できます。呼び出しと応答はほとんど同じです:http://api.apertium.org/json/translate?q=hello%20world&langpair=en|es