您可以遍历页面中的元素并对 Google Translate API 进行单独的 ajax 调用以逐一翻译它们并替换文本框/文本区域值。
使用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
要求将英语翻译成西班牙语。
请记住,每个 都会进行一次调用<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