使用AJAXLanguage API,你可以只使用JavaScript來完成對某個網頁上某個區域的語言進行翻譯和偵測的工作。
API是新開發的,因此相對於一個完美的文件來說,可能有一些bug和微小的不足。我們會修補這些漏洞,因此請諒解、你可以加入AJAX APIs開發者論壇來給我們回饋和討論這個API。
面向讀者本文檔是針對對JavaScript程式設計和物件導向程式設計概念有所了解的人所準備的。在網路上有很多JavaScript教學。
介紹在Google Ajax LanguageAPI上的「Hello,World」程式開始學習本API的最簡單方法是來看一個簡單的例子,一下案例將檢測給定語言,並且將其翻譯為英文。
<html>
<head>
<script type="text/javascript" src=" http://www.google.com/jsapi"></script >
<script type="text/javascript">
google.load("language", "1");
function initialize() {
var text = document.getElementById("text").innerHTML;
google.language.detect(text, function(result) {
if (!result.error && result.language) {
google.language.translate(text, result.language, "en",
function(result) {
var translated = document.getElementById("translation");
if (result.translation) {
translated.innerHTML = result.translation;
}
});
}
});
}
google.setOnLoadCallback(initialize);
</script>
</head>
<body>
<div id="text">你好,很高興見到你。 </div>
<div id="translation"></div>
</body>
</html>
你可以在這裡查看該案例,並且隨意修改和運行它。
在你的網頁中包含Ajax LanguageAPI
為了在你的網頁中加入AJAXLanguage API,你需要利用Google AJAX API Loader。這個公有載入類別可讓你載入你所需要的所有AJAX API,包括這裡的language API。你需要同時包含Google AJAX APIs的script標籤並且呼叫google.load("language","1");。
<script type="text/javascript" src=" http://www.google.com/jsapi"></script >
<script type="text/javascript">
google.load("language", "1");
</script>
第一個script標籤載入了google.load函數,這個函數讓你可以載入特定的GoogleAPI。 google.load("language","1")載入了Language API的第一版。目前,AJAXLanguage API的版本為1,但不久後新版本將可使用。參考下面的版本討論來獲得更多資訊。
API更新
google.load函數的第二個參數其實是你所使用的AJAXLanguage API的版本。目前,AJAX Language API的版本為1,但是不久後新版本將可以使用。
如果以後我們對API進行重要更新,我們將改變版本號,並且在Google Code和AJAX APIS 討論中發布通知。當事件發生後,我們預期會在至少一個月的時間內繼續支援所有版本來讓你有足夠的時間來遷移你的程式碼。
AJAXLanguage API團隊對於最近日較的Bug修復和平台優化進行定期更新。這些Bug修復應僅提高表現和修復Bug,但是我們有可能不小心破壞某些API用戶、請使用AJAX APIs 討論組來報告這樣的問題。
實例語言翻譯本案例展示了一個簡單的對一個JavaScript字串變數進行翻譯的過程。
google.language.translate("Hello world", "en", "es", function(result) {
if (!result.error) {
var container = document.getElementById("translation");
container.innerHTML = result.translation;
}
});
檢視案例(translate.html)
語言偵測這個案例展示了對於一個JavaScript字串的語言偵測。將返回語言代碼。
var text = "¿Dónde está el baño?"$$
google.language.detect(text, function(result) {
if (!result.error) {
var language = 'unknown';
for (l ingoogle.language.Languages) {
if (google.language.Languages[l] == result.language) {
language = l;
break;
}
}
var container = document.getElementById("detection");
container.innerHTML = text + " is: " + language + ""$$
}
});
檢視案例(detection.html)
翻譯時源檢測如下的案例類似於基本的翻譯案例,但是它展示瞭如何在不知道源語言時對文本進行翻譯。透過傳入一個空字串來表示未知的來源語言,系統將在一次呼叫中自動偵測和翻譯。
google.language.translate("Hello world", "", "es", function(result) {
if (!result.error) {
var container = document.getElementById("translation");
container.innerHTML = result.translation;
}
});
查看案例(autotranslate.html)
更多案例這裡有進行交互作用的兩個附加案例。第一個案例對預先輸入的文字字串進行語言偵測,同時也允許輸入其他的文字。它同時也顯示信任和可靠因數(confidence and reliability factors—譯者註)。
查看案例(detect.html)
第二個附加案例進行翻譯。同時他也允許與上述類似的交互作用。
檢視案例(translate.html)
API細節支援的語言
GoogleAJAXLanguage API現在支援下列語言。該技術正在不斷的提高,同時我們的團隊也在努力的擴展這個列表,因此請經常回來看看。你也可以訪問Google Translate來查看最近更新的清單。
Arabic (阿拉伯語)
中文 (Simplified and Traditional) (中文簡體)
Dutch (荷蘭文)
English (英語)
French (法語)
German (德文)
Greek (希臘文)
Italian (義大利語)
Japanese (日文)
Korean (韓語)
Portuguese (葡萄牙語)
Russian (俄文)
Spanish(西班牙語)
支援的語言翻譯對
GoogleAJAXLanguage API現在支援下列語言翻譯對。該技術正在不斷的提高,同時我們的團隊也在努力的擴展這個列表,因此請經常回來看看。你也可以訪問Google Translate來查看最近更新的清單。
Arabic to English (阿拉伯語到英語)
Chinese to English (中文到英文)
中文 (Simplified to Traditional) (簡體中文到繁體中文)
中文 (Traditional to Simplified) (繁體中文到簡體中文)
Dutch to English (荷蘭語到英語)
English to Arabic (英文到阿拉伯語)
English to Chinese (Simplified) (英文到簡體中文)
English to Chinese (Traditional) (英文到繁體中文)
English to Dutch (英文到荷蘭文)
English to French (英文到法文)
English to German (英文到德文)
English to Greek (英文到希臘文)
English to Italian (英文到義大利文)
English to Japanese (英文到日文)
English to Korean (英文到韓語)
English to Portuguese (英語到葡萄牙語)
English to Russian (英文到俄文)
English to Spanish (英語到西班牙語)
French to English (法文到英文)
French to German (法文到德文)
German to English (德文到英文)
German to French (德文到法文)
Greek to English (希臘文到英文)
Italian to English (義大利文到英文)
Japanese to English (日文到英文)
Korean to English (韓語到英語)
Portuguese to English (葡萄牙語到英語)
Russian to English (俄文到英文)
Spanish to English(西班牙語到英語)
問題解決如果在你的程式碼中遇到了問題:
檢查程式碼。請牢記JavaScript是對大小寫敏感的語言。
使用JavaScript調試器、在Firefox中,你可以使用JavaScript控制台或FireBug擴充。在IE中,你可以使用Microsoft Script Debugger。
在AJAXAPIs討論群組中搜尋。如果你找不到回答你問題的帖子,那麼可以在討論群組中發布你的問題,並且包含指向你出問題的頁面的連結。