Qualche tempo fa scrissi un articolo per utilizzare il sistema di traduzione di google in php.
In questo articolo invece utilizzo il servizio di traduzione MyMemory e come linguaggio ho scelto python.
La funzione accetta come input il testo da tradurre, la lingua sorgente (it/en/ecc..) e la lingua destinazione (en/it/ecc..) restituendo il testo tradotto.
Ecco un esempio di chiamata della funzione :
1 |
myMemory_translate ("La vita è meravigliosa",'it','en') |
che restituirà in questo caso : “Life is a wonderful thing”
1 2 3 4 5 6 7 8 9 |
def myMemory_translate(text,ln_from='it',ln_to='en'): import json,urllib,urllib2 url="http://mymemory.translated.net/api/get?" params = urllib.urlencode({'langpair' : ln_from+"|"+ln_to, 'q' : text }) opener = urllib2.build_opener() opener.addheaders = [('User-agent', 'Mozilla/5.0')] raw= opener.open(url,params).read() data = json.loads(raw) return data['responseData']['translatedText'] |
Limiti:
Con questo metodo possiamo effettuare 100 richieste al giorno, ma è possibile estendere a 1000 richieste effettuando l’autenticazione con una email valida.
Per farlo basta aggiungere il parametro ‘de’.
1 |
params = urllib.urlencode({'langpair' : ln_from+"|"+ln_to, 'q' : text ,'de':"EMAIL VALIDA"}) |