#! /usr/bin/env python # -*- coding: utf-8 -*- #============================================================================== # qesen.py - Traductor ES -> EN basado en Google # A partir de una idea vista en: http://www.pythondiario.com/search?q=traductor #------------------------------------------------------------------------------ # FJA - fja@neocipres.com Julio de 2018 #============================================================================== import sys import requests import androidhelper cad = "AndroidTranslate/5.3.0.RC02.130475354-53000263 5.1 phone \ TRANSLATE_OPM5_TEST_1" url = "https://translate.google.com/translate_a/single?client=at&dt=t&dt=" url = url + "ld&dt=qca&dt=rm&dt=bd&dj=1&hl=es-ES&ie=UTF-8&oe=UTF-8&inputm=" url = url + "2&otf=2&iid=1dd3b944-fa62-4b55-b330-74909a99969e" droid = androidhelper.Android() resultado = '' def Traduccion(source, target, text): parametros = {'sl': source, 'tl': target, 'q': text} cabeceras = {"Charset": "UTF-8", "User-Agent": cad} response = requests.post(url, data=parametros, headers=cabeceras) if response.status_code == 200: for x in response.json()['sentences']: return x['trans'] else: return "Ocurrió un error: %s" % str(response.status_code) while True: try: entrada = droid.dialogGetInput("Traductor ES->EN", "Texto(exit->salir)") text = entrada.result if text == "exit": break else: resultado = Traduccion("es", "en", text) resul = resultado.encode('utf8') #droid.makeToast("Resultado: %s" % resul) droid.dialogCreateAlert('Resultado:', resul) boton_ok = droid.dialogSetPositiveButtonText('Aceptar') boton_rep = droid.dialogSetNeutralButtonText('Repetir') boton_cancelar = droid.dialogSetNegativeButtonText('Salir') droid.dialogShow() droid.ttsSpeak(resul) resp = droid.dialogGetResponse().result if resp['which'] == 'positive': continue elif resp['which'] == 'neutral': droid.ttsSpeak(resul) continue else: break except UnicodeEncodeError: print '\t Error: ', sys.exc_info()[0], '\n' print "\n Resultado: ", resultado.encode('latin1') except Exception as e: print '\n\t' print '\t Error: ', e, sys.exc_info()[0], '\n'