Google 的 translation api 分为意译和直译两种。使用google的translation api,可以很方便的为网站提供翻译功能。
首先需要看看 开发者指南页面,加载Google的JS代码
1 <script type="text/javascript" src="http://www.google.com/jsapi"></script>
2 <script type="text/javascript">
3 google.load("language", "1");
4 </script>
2 <script type="text/javascript">
3 google.load("language", "1");
4 </script>
然后利用 api 提供的方法 google.language.translate 即可完成翻译工作。这里有个示例文档,API 的说明请看这里。
使用开发者指南页面的方法可以很方便的获取到数据,但是数据是一次性的,好在Google也提供其他方式返回数据,如JSON。
Google translation api 必须使用GET方式获取数据,返回的数据格式为JSON,结构如下:
1 {
2 "responseData" : {
3 "translatedText" : the-translated-text,
4 "detectedSourceLanguage"? : the-source-language
5 },
6 "responseDetails" : null | string-on-error,
7 "responseStatus" : 200 | error-code
8 }
9
2 "responseData" : {
3 "translatedText" : the-translated-text,
4 "detectedSourceLanguage"? : the-source-language
5 },
6 "responseDetails" : null | string-on-error,
7 "responseStatus" : 200 | error-code
8 }
9
项目里用到的地方是用jQuery的getJSON方法获取数据,然后在页面上多次使用,非常灵活。
而期间出现了一个错误,corss domain 跨域名请求数据的问题。表现为:access to restricted uri denied" code: "1012 jquery
你可以看别人的意见,不过我建议你看看 jQuery的getJSON方法,或者往下看。
由于web服务的安全考虑,跨域名请求被禁止,于是一个新的JOSN概念 JSONP 被提出来,用于解决这个问题,值得庆幸的是Google 、Flickr 和其他一些数据提供商都支持了JSONP。
这里有一些文档可以帮助你解决这个问题。
需要注意的是传输的参数需要编码,否则会返回400。
AD
------------------------