Quantcast
Channel: C++博客-所有随笔
Viewing all articles
Browse latest Browse all 7882

Google Translate API

$
0
0
近期在做的一个任务,但是网上的资料甚少,经过了几番波折,终于弄好了。实现过程很简单,拿出来共享一下,免得大家像我一样找了半天。

谷歌翻译升级到2.0后变为收费版本的,因此首先需要向谷歌申请一个key。付费标准是每100万个文本字符20美元(觉得小贵啦)。

谷歌翻译的工作过程:
1.谷歌翻译的请求网址:
https://www.googleapis.com/language/translate/v2?{parameters}
翻译请求的三个参数:
1)API key:需要向谷歌付费后,会给你一个key;
2)Target language:即你需要翻译的目标语言;
3)Source text string:需要翻译的文本(需要少于2k)。

2.下面是给不同的参数的一些例子,可以根据自己的需要来对该url进行传参:
1)指定source和target
https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&source=en&target=de&q=Hello%20world
JSON
{
"data": {
"translations": [
{
"translatedText": "Hallo Welt"
}
]
}
}
2)传入多个q,就对多段文本进行翻译
https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&source=en&target=de&q=Hello%20world&q=My%20name%20is%20Jeff
JSON
{
"data": {
"translations": [
{
"translatedText": "Hallo Welt"
},
{
"translatedText": "Mein Name ist Jeff"
 }
]
}
}
3)不指定source,直接翻译成目标语言
https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&target=de&q=Hello%20world
JSON
{
"data": {
"translations": [
{
"translatedText": "Hallo Welt",
"detectedSourceLanguage": "en"
}
]
}
}
3.python实现的谷歌翻译源码:
#coding:utf8


import urllib2
import json
import os,sys

reload(sys)
sys.setdefaultencoding(
"utf-8")

__author__ = 'chenyu'

class GoogleTranslate:
"""
谷歌翻译类
"""
def google_translate(slef,text,targetlanguage):
text
= urllib2.quote(text)
url
= "https://www.googleapis.com/language/translate/v2/?key=YOUR_KEY&target="+targetlanguage+"&q="+text
res
= urllib2.urlopen(urllib2.Request(url))
dirt
= json.JSONDecoder().decode(res.read())
return dirt["data"]["translations"][0]["translatedText"]

参见网站:https://developers.google.com/translate/v2/using_rest?hl=zh-TW#target
JSON相关资料可参见:http://www.cppblog.com/sunrise/archive/2013/01/17/197347.html




SunRise_at 2013-01-17 16:59 发表评论

Viewing all articles
Browse latest Browse all 7882

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>