Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/09/2009, 04:59
maison1985
 
Fecha de Ingreso: septiembre-2009
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Problema para traducir textos de una aplicacion

Buenos dias. Tengo un problema con un programa que estoy haciendo y me gustaria saber si alguien me puede ayudar.

Os cuento, necesito hacer una aplicación en la que pueda tener los textos traducidos en varios idiomas. Busque en internet y encontre que se puede hacer con gettext, por lo que intente hacer un programa sencillo.

Os dejo el codigo y los pasos que he seguido.

1º Me bajo los drives necesarios para tener gettext en windows.
2º Creo una carpeta para dejar todo lo referente a gettext (C:\gettext)
3º Creo un programa llamado programita.py con el siguiente codigo:

import gettext

gettext.textdomain("programita")
gettext.bindtextdomain("programita","C:\gettext\mo ")

print gettext.gettext("Hellooo")

4º Me meto en el directorio C:\gettext y creo la carpeta mo, luego la carpeta es y por ultimo la carpeta LC_MESSAGES de tal modo que la ruta seria: C:\gettext\mo\es\LC_MESSAGES

5º Abro un terminal con cmd, me voy al directorio C:\gettext\bin y ejecuto las siguientes instrucciones:
a)xgettext --language=Python -o messages.pot programita.py
b)msginit -i messages.pot -o es.po (Porque quiero crear el idioma español)

6º Edito el archivo es.po, pongo el charset a UTF-8 y luego introduzco la cadena a traducir de forma que me queda:
#: programita.py:6
msgid "Hellooo"
msgstr "Hola"

7º Una vez guardado el archivo, vuelvo al cmd y ejecuto: msgfmt es.po -o mo\es\LC_MESSAGES\programita.mo

En teoria, con esto seria suficiente, con ejecutar el programa me tendria que mostrar "Hola" pero haga lo que haga siempre me muestra "Hellooo" y no entiendo por que.

No se si he hecho algo mal del codigo, si las rutas estan mal o que, pero ya no se que mas modificar.

Si alguien me puede ayudar, le estaré muy agradecido.

Saludos y gracias.