рдкреНрд░рд╛рдЪреАрди рдХрд╛рд▓ рд╕реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдмреИрд╢ рдкрд░ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдереА рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж Google рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╡рд╣ рд╕рдм рдХреБрдЫ рдЬреЛ рдЖрдк рдЙрд╕реЗ рдЦрд┐рд▓рд╛рддреЗ рд╣реИрдВ
translate 'test' en ru
рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рд╡рд╣ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдк рджреЗ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ Google рдиреЗ рд╕реАрдЦрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп рдореИрдВрдиреЗ рдЕрдЬрдЧрд░ рдЕрднреНрдпрд╛рд╕ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ :)
рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реБрдЖ:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
"" "This script allow users to translate a string
from one language to another with Google translate" ""
import sys
import re
import urllib
import urllib2
import json
def print_params(data):
"" "print parameters from list" ""
for val in data:
if isinstance(val, basestring):
print "\t " + val
def main():
"" "
Usage:
first arg - string to translate
second arg - source lang
third arg - target lang
Example:
translate.py 'text to translate' en ru
translate.py 'text to translate' ru en
" ""
url = "http://translate.google.com/translate_a/t?%s"
list_of_params = { 'client' : 't' ,
'hl' : 'en' ,
'multires' : '1' , }
#all arguments given
if len(sys.argv) == 4:
list_of_params.update({ 'text' : sys.argv[1],
'sl' : sys.argv[2],
'tl' : sys.argv[3] })
request = urllib2.Request(url % urllib.urlencode(list_of_params),
headers={ 'User-Agent' : 'Mozilla/5.0' , 'Accept-Charset' : 'utf-8' })
res = urllib2.urlopen(request).read()
fixed_json = re.sub(r ',{2,}' , ',' , res).replace( ',]' , ']' )
data = json.loads(fixed_json)
#simple translation
print "%s / %s / %s" % (data[0][0][0], data[0][0][1],
data[0][0][2] or data[0][0][3])
#abbreviation
if not isinstance(data[1], basestring):
print data[1][0][0]
print_params(data[1][0][1])
#interjection
try :
if not isinstance(data[1][1], basestring):
print data[1][1][0]
print_params(data[1][1][1])
except Exception:
print "no interjection"
else :
print main.__doc__
if __name__ == '__main__' :
main()
* This source code was highlighted with Source Code Highlighter .
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
рдкреБрдирд╢реНрдЪ
рд░рдЪрдирд╛рддреНрдордХ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЕрджреНрдпрддрди рдХреЛрдб рдФрд░ рдлрд╝рд╛рдЗрд▓ред
рдПрдХ рддреНрд░реБрдЯрд┐ рджреА рдЕрдЧрд░ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдпрд╣ рдерд╛ рдХрд┐ рдЖрдк рдХреИрд╕реЗ рд╣реИрдВ? # рддрдп рдХрд┐рдпрд╛
рдкреА рдкреА рдПрд╕
рдЖрдкрдХреА рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред
рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореИрдВрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдЦрд╛, рдЬреЛ Google рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдкреАрдЖрдИ рд╡реА 2 рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдПрдкреАрдЖрдИ рдПрдХ рд╢рдмреНрдж рдХреЗ рдХрдИ рдЕрд░реНрде рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╢рд╛рдпрдж рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ API рдХреА рдХреЛрдб code.google.com/apis/console/?api=translate рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрдкрдиреА рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде ***** рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдпрд╣рд╛рдБ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реА рд╣реИ:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
"" "This script allow users to translate a string
from one language to another with Google Translate API
You have to insert Your Translate API key
Get your API key from here:
code.google.com/apis/console/?api=translate
Replace
api_key = '**********' with your API key
" ""
import sys
import urllib
import urllib2
import json
def translate(list_of_params):
"" "Translate given text" ""
url = "https://www.googleapis.com/language/translate/v2?%s"
request = urllib2.Request(url % urllib.urlencode(list_of_params),
headers={ 'User-Agent' : 'Mozilla/5.0' , 'Accept-Charset' : 'utf-8' })
res = urllib2.urlopen(request).read()
translated = json.loads(res)
for translations in translated[ 'data' ][ 'translations' ]: print translations[ 'translatedText' ]
def main():
"" "
Usage:
first arg - string to translate
second arg - source lang
third arg - target lang
Example:
translate.py 'text to translate' en ru
translate.py 'text to translate' ru en
translate.py 'auto detect source language' ru
" ""
api_key = '**********'
list_of_params = { 'key' : api_key, }
if len(sys.argv) == 4:
#both langs entered
list_of_params.update({ 'q' : sys.argv[1],
'source' : sys.argv[2],
'target' : sys.argv[3] })
translate(list_of_params)
elif len(sys.argv) == 3:
#auto source language
list_of_params.update({ 'q' : sys.argv[1],
'target' : sys.argv[2] })
translate(list_of_params)
else :
print main.__doc__
if __name__ == '__main__' :
main()
* This source code was highlighted with Source Code Highlighter .
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ