前几天发了篇《借助Google Translate API实现网站多国语言翻译功能》,但好心人告诉我,谷歌即将关闭一些API,其中就包括谷歌翻译的API,以下是原文:
最近Google宣布将关闭一批API,被称为“春季大扫除”,其中包括了Translate API(12月1日彻底关闭)──无数开发者都在利用它打造丰富的翻译类第三方应用。Google对此的解释是说这些API给Google带来了巨大的经济负担,且存在大量的滥用行为。
|
基于这种情况,我于是着手开始找其他实现办法,找了百度、搜狗、金山、有道,发现国内这些做翻译的,都没有一个成型的、对外的接口。无奈之余,想起了Bing,找了下,还真有开发者工具,啥也不说了,上Demo。
电锯惊魂2、3、4导演达伦斯·鲍斯曼的新片《母亲节》已经出下载了,此片翻拍1980年的恐怖片经典《Mother's Day》,由《推动摇篮的手》演技派女星蕾贝嘉·狄摩妮携手《3D血腥情人节》洁米金、《舞力全开》布莉安娜·艾维根、《噬血真爱》黛博拉安华尔及《X战警》尚恩·艾希摩(Shawn Ashmore)…等新生代帅哥美女偶像演出。
实现代码如下:
function
translate() {
//中文 - 英文
window.mycallback =
function
(response) { $(
"p"
).html(response); }
var
s = document.createElement(
"script"
);
s.src =
"http://api.microsofttranslator.com/V2/Ajax.svc/Translate?oncomplete=mycallback&appId=A4D660A48A6A97CCA791C34935E4C02BBB1BEC1C&from=zh-cn&to=en&text="
+ $(
"p"
).html();
document.getElementsByTagName(
"head"
)[0].appendChild(s);
}
function
translate2() {
//英文 - 中文
window.mycallback =
function
(response) { $(
"p"
).html(response); }
var
s = document.createElement(
"script"
);
s.src =
"http://api.microsofttranslator.com/V2/Ajax.svc/Translate?oncomplete=mycallback&appId=A4D660A48A6A97CCA791C34935E4C02BBB1BEC1C&from=en&to=zh-cn&text="
+ $(
"p"
).html();
document.getElementsByTagName(
"head"
)[0].appendChild(s);
}
|
更多接口文档请查看:Microsoft Translator V2 API,需要注意的是,使用Bing API的第一步就是去Bing Developer Center上去申请一个AppId,每个应用应该使用一个单独的AppId。在页面里先用Live ID登录,然后选择Get a new App ID,填写一些基本信息,然后你就会得到一串很长的AppId。
最后,提供一个傻瓜网页翻译工具,与TranslateThis Button类似,是微软提供的一个网页在线翻译小工具,大家应该也看到有下角这个东西了吧,这个使用就比较简单了,到申请页面设置好后,把一段JS插到页面里就行了,申请地址:点击进入,最终生成的是一段类似于这样的代码:
<script id=
"MicrosoftTranslatorWidgetScript"
type=
"text/javascript"
>
/* <![CDATA[ */
setTimeout(
function
() {
var
s = document.createElement(
"script"
); s.type =
"text/javascript"
; s.charset =
"UTF-8"
; s.src = ((location && location.href && location.href.indexOf(
'https'
) == 0) ?
"https://ssl.microsofttranslator.com"
:
"http://www.microsofttranslator.com"
) +
"/ajax/v2/widget.aspx?siteData=NROHoI3oaj_KoRVH7WtBuQJ64x2eNXJK4KbfQk6f-zQ5PlXDd_9Z6FeiraMNlV7ONnQS8SlprkBxk6zOiVLuG9LGCd6pOSs3wFDI56ebaJSEJqeIz5GZl5G1e7o5zMig&mode=notify&from=zh-cn&layout=ts&toolbar=overlay&showLanguages=hi"
;
var
p = document.getElementsByTagName(
'head'
)[0] || document.documentElement; p.insertBefore(s, p.firstChild); }, 0);
/* ]]> */
</script>
|
附1:
经测试发现,bing翻译有点小问题,会把标签里的内容也进行翻译,比如我要翻译的内容是:
<
a
href="http://tieba.baidu.com/电锯惊魂">电锯惊魂</
a
>
|
google的翻译结果是:
<
a
href="http://tieba.baidu.com/电锯惊魂">saw</
a
>
|
而bing的翻译结果则是:
<
a
href="http://tieba.baidu.com/chainsaw fright">chainsaw fright</
a
>
|
bing不仅把a标签里的内容也进行了翻译,而且翻译还不是那么准确,看来bing在翻译这条道路还有很远要走,希望他能够完美的代替google translate的位置。
本文转自胡尐睿丶博客园博客,原文链接:http://www.cnblogs.com/hooray/archive/2011/06/02/2067437.html,如需转载请自行联系原作者