sunrise

每天不断学习,才能不断提升自己。

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  64 随笔 :: 0 文章 :: 92 评论 :: 0 Trackbacks
近期在做的一个任务,但是网上的资料甚少,经过了几番波折,终于弄好了。实现过程很简单,拿出来共享一下,免得大家像我一样找了半天。

谷歌翻译升级到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


posted on 2013-01-17 16:59 SunRise_at 阅读(4968) 评论(0)  编辑 收藏 引用 所属分类: 可爱的python

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理