Preparación de las cadenas de texto a traducir con PoEdit y creación de Catálogos

Como anexo al tutorial de PoEdit publicado con anterioridad, hoy vamos a tratar de conocer y aprender a preparar las cadenas de literales para que PoEdit las reconozca como elementos a traducir.

Si eres de los que les gusta “destripar” ficheros (y gustándote GNU/Linux, es más que probable que así sea), estoy seguro que te interesará este proceso, que, por otra parte, es bastante simple.

Este es un aporte de Daniel Durante, convirtiéndose así en uno de los ganadores de nuestra competencia semanal: “Compartí lo que sabés sobre Linux“. ¡Felicitaciones Daniel!

Traduciendo un simple programa en C

Ya hicimos mención en un tutorial anterior de PoEdit a un ejemplo en el que a partir de un fichero .html de una web cualquiera, obteníamos un fichero .pot, y de este uno .po que era el que en última instancia iba a ser sobre el que se realizase el trabajo de traductor. Lo mismo ocurre con un programa en C++, un fragmento de PHP o de Javascript incluído en un fichero .html, un applet de Java o cualquier otra cosa que puedas imaginar.

Veamos un ejemplo en un simple programa en lenguaje C:

#include 
int main(){

printf (“Hello World”);

return 0;
}

En él vemos cadenas en el idioma inglés y caracteres propios del lenguaje C. Estos últimos, al ser propios del lenguaje, no necesitan ser traducidos, así que debemos diferenciar en este párrafo lo que debe  traducirse y lo que no, por tratarse de mero “código informático”. Es aquí dónde entra la función gettext, en el formato gettext($cadena) o su alias _($cadena)

Aplicándolo al ejemplo anterior,

#include 
int main(){

printf (.gettext(“Hello World”));

return 0;
}

Es necesario poner un punto antes de la función gettext para que PoEdit funcione sin problemas. La línea dónde aparece el literal ‘Hello World’, también podía haber quedado preparada de la forma siguiente,

printf (._(“Hello World”));

¿Cómo sabe PoEdit que el resto del programa es código en C?

Abre las preferencias de PoEdit y fíjate en la siguiente ventana,

y, si tienes más curiosidad, abre la que indica como procesadores de código fuente C/C++ y verás algo parecido a esto,

¿Sorprendido? Bueno, sigamos, ya no queda casi nada.

El código en C anterior has debido pasarlo a un editor de texto plano y guardarlo en el disco con la extensión .c Ahora abrimos PoEdit y vamos a Archivo ->Nuevo Catálogo. Aparecerá un cuadro de diálogo dónde poner el nombre del proyecto, Equipo…(consulta el tuto de PoEdit que ya publicamos)

En la pestaña Carpetas indicas en directorio dónde está situado el directorio raíz de tus traducciones y en carpetas aquella en la que vas a localizar los ficheros de traducción de un conjunto de programas, archivos HTML, etc. (a este conjunto es a lo que se le llama catálogo). Si quieres hacer coincidir el directorio raíz con la carpeta de catálogo sólo has de poner un punto.

Aceptas y te aparecerá el siguiente diálogo,

Donde eliges el nombre que le pondrás a tu fichero .po y la localización en el sistema de archivos (en nuestro ejemplo /home/usuario/Traducciones). Y una vez que le des a Guardar aparecerá esta reconfortante pantalla:

Estupendo, ¿no? . Pues aceptamos y llegamos, por fin a la pantalla de edición y traducción de cadenas:

Y eso es todo. ¡A traducir!


2 comentarios

  1.   Miras dijo

    Recomiendo https://poeditor.com como una mejor alternativa a Poedit. Es una herramienta en línea, con una interfaz muy útil y la memoria de traducción. También cuenta con API y varios plugins útiles.

  2.   Nucleorion dijo

    Pero una vez que tenemos el archivo .po y .mo como hacemos para que se carguen, o que el usuario pueda elegir entre el original o el traducido?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.