Re: Traductor para el escritorio



Le jeudi 04 août 2005 à 12:38 -0400, Mauricio Fuentes Montero a écrit :
> Hola a todos, tiempo atrás un amigo y yo nos preguntamos acerca de la
> posibilidad de generar un proyecto para crear un traductor para el
> escritorio GNOME. La idea es que posea funcionalidades como las que hoy
> en día maneja el traductor babylon[1], entre las que se destacan
> traducción de texto seleccionado mediante algún atajo de teclado,
> conversiones de monedas, ayudas de pronuncianción, etc. Si bien las
> indagaciones no han sido exhaustivas no creo haber encontrado algún
> proyecto que cumpla con las caracteristicas antes mencionadas y que sea
> parte del escritrorio. Existen intentos por generar un traductor de
> similares características utilizando GTK+ 1.2, como es el ejemplo de
> babytrans[2]. Por una parte esto es bueno ya es un adelanto, el código
> está bajo licencia GPL, lo malo es que este proyecto está huerfano hace
> largo tiempo. Esperando que se genere una discusión productiva y que
> permita encaminar de mejor forma esta idea, me despido.
> 
> [1] http://www.babylon.com
> [2] http://fjolliton.free.fr/babytrans/

Echale una mirada a gnome-dict.  En el menú Aplicaciones/Accesorios/
Diccionario.  En las preferencias puedes indicarle que diccionarios
quieres utilizar.

Utiliza diccionarios en línea, aunque no he verificado si puede leer
desde otras fuentes.

Hace no mucho, cuando fuí a dar una charla a Rancagua, de regreso
preparé un ejemplo en el bus con un traductor en Python.  Son 
pocas líneas de código y se conecta a ets.freetranslation.com 
para obtener el texto.  Lo pensé para un artículo para mostrar 
como programar con el eggtray.

Para mostrar lo sencillo que es, copio un trozo de la clase::

class FreeTranslator:

    def __init__(self, language=None):
        self.host = "ets.freetranslation.com"
        self.language = language    

    def translate(self, text=None):
        params = urllib.urlencode({
                'sequence' : 'core' ,
                'mode' : 'text',
                'template' : 'results_en-us.htm',
                'language' : self.language,
                'srctext'  : text
                })

         headers = {
                'User-Agent' : 'gnome-translator',
                'Content-type' : 'application/x-www-form-urlencoded',
                'Accept' : 'text/plain'
                }
         h = httplib.HTTPConnection (self.host)
         h.request('POST', '/', params, headers)
         response = h.getresponse()
         if response.status == 200:
             return response.read()
         else:
             return "Error"

Luego se usaría:

translator = FreeTranslator("English/Spanish")
translate("Hello world")

El resto lo tengo en el portátil, pero se entiende la idea.

Saludos,

-- 
Germán Poó Caamaño
http://www.ubiobio.cl/~gpoo/




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]