Google 的 translation api 分為意譯和直譯兩種。使用google的translation api,可以很方便的為網站提供翻譯功能。
首先需要看看 開發人員指南頁面,載入Google的JS代碼
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("language", "1");
</script>
然後利用 api 提供的方法 google.language.translate 即可完成翻譯工作。這裡有個範例文件,API 的說明請看這裡。
使用開發人員指南頁面的方法可以很方便的擷取到資料,但是資料是一次性的,好在Google也提供其他方式返回資料,如JSON。
Google translation api 必須使用GET方式擷取資料,返回的資料格式為JSON,結構如下:
{
"responseData" : {
"translatedText" : the-translated-text,
"detectedSourceLanguage"? : the-source-language
},
"responseDetails" : null | string-on-error,
"responseStatus" : 200 | error-code
}
項目裡用到的地方是用jQuery的getJSON方法擷取資料,然後在頁面上多次使用,非常靈活。
而期間出現了一個錯誤,corss domain 跨網域名稱請求資料的問題。表現為:access to restricted uri denied" code: "1012 jquery
你可以看別人的意見,不過我建議你看看 jQuery的getJSON方法,或者往下看。
由於web服務的安全考慮,跨網域名稱請求被禁止,於是一個新的JOSN概念 JSONP 被提出來,用於解決這個問題,值得慶幸的是Google 、Flickr 和其他一些資料供應商都支援了JSONP。
這裡有一些文檔可以協助你解決這個問題。
需要注意的是傳輸的參數需要編碼,否則會返回400。