Saltar al contenido.

Traduciendo a mi manera

20 junio 2010

Yo, en vez de intentar terminar las cosas que tengo empezadas, prefiero añadir nuevas funcionalidades al proyecto que a su vez se suman a las cosas que se quedan a medias. Así soy yo xD

Bueno, esta vez he conseguido empezarla y terminarla, más o menos. Aquí ando intentando internacionalizar el proyecto. He estado leyendo un rato sobre gettext pero la verdad es que el tema de los locale y demás me parece un coñazo, así que he decidido montarme mi mini sistema cogiendo algunas ideas de allí y de aquí.

Se me ocurrió hacerlo porque el comando xgettext no me estaba cogiendo las cadenas del código, y mejor que darle más vueltas, pues hacerlo uno mismo. Primero he hecho un script en Python (del que no sé apenas nada, pero es muy fácil y en un rato tienes lo que sea andando) que me saque del código fuente las cadenas indicadas para ser traducidas (el script está aquí), que son de la forma _("cadena"). Este script genera un archivo en formato JSON con un par “cadena original : cadena traducida” con todas las cadenas leídas, para que el traductor pueda coger y traducirlas al idioma que sea.

Luego en C++ he implementado la función _() usando boost::property_tree, que trae un parser para JSON. Se parsea el fichero de traducciones y se devuelve la cadena traducida según el idioma indicado al inicio de la aplicación.

Para más detalles, visite el svn (el de googlecode, no el de rediris).

About these ads
Sin comentarios aún

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: