使用AJAX Language API,你可以仅使用JavaScript来完成对某个网页上某个区域的语言进行翻译和检测的工作。这个API是新开发的,因此相对于一个完美的文档来说,可能有一些bug和微小的不足。我们会修补这些漏洞,因此请谅解、你可以加入AJAX APIs开发者论坛来给我们反馈和讨论这个API。
面向读者
本文档是面向对JavaScript编程和面向对象编程概念有所了解的人准备的。在互联网上有很多JavaScript教程。
介绍
在Google Ajax Language API上的“Hello,World”程序
开始学习本API的最简单方法是来看一个简单的例子,一下案例将检测给定语言,并且将其翻译为英文。
<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>
你可以在这里查看该案例,并且随意修改和运行它。
在你的网页中包含Ajax Language API
为了在你的网页中加入AJAX Language 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函数,这个函数允许你加载特定的 Google API。google.load(”language”,”1″)加载了Language API的第一版。当前,AJAX Language API的版本为1,但是不久后新版本将可以使用。参考下面的版本讨论来获得更多信息。
API 更新
google.load函数的第二个参数实际上是你所使用的AJAX Language API的版本。当前,AJAX Language API的版本为1,但是不久后新版本将可以使用。如果以后我们对API进行重要更新,我们将改变版本号,并且在Google Code和AJAX APIS 讨论中发布通知。当该事件发生后,我们预期会在至少一个月的时间内继续支持所有版本来使你有足够的时间来迁移你的代码。
AJAX Language 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 in google.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细节
支持的语言
Google AJAX Language API现在支持下列语言。该技术正在不断的提高,同时我们的团队也在努力的扩展这个列表,因此请经常回来看看。你也可以访问Google Translate来查看最近更新的列表。
* Arabic (阿拉伯语)
* Chinese (Simplified and Traditional) (中文简体)
* Dutch (荷兰语)
* English (英语)
* French (法语)
* German (德语)
* Greek (希腊语)
* Italian (意大利语)
* Japanese (日语)
* Korean (韩语)
* Portuguese (葡萄牙语)
* Russian (俄语)
* Spanish(西班牙语)
支持的语言翻译对
Google AJAX Language API现在支持下列语言翻译对。该技术正在不断的提高,同时我们的团队也在努力的扩展这个列表,因此请经常回来看看。你也可以访问Google Translate来查看最近更新的列表。
* Arabic to English (阿拉伯语到英语)
* Chinese to English (中文到英语)
* Chinese (Simplified to Traditional) (简体中文到繁体中文)
* Chinese (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(西班牙语到英语)
问题解决
如果在你的代码中遇到了问题:
1. 检查代码。请牢记JavaScript是对大小写敏感的语言。
2. 使用JavaScript调试器、在Firefox中,你可以使用JavaScript控制台或者FireBug扩展。在IE中,你可以使用Microsoft Script Debugger。
3. 在AJAX APIs讨论组中搜索。如果你找不到回答你问题的帖子,那么可以在讨论组中发布你的问题,并且包含指向你出问题的页面的链接。