Tal y como habíamos comentado, hemos subido a producción la integración de ficheros PO y POT, estamos aun en pruebas pero por ahora está funcionando bien.
Esto significa que podrás traducir tus aplicaciones y páginas web usando Babelic sin esfuerzo, era algo que nos habíais pedido varias veces y en lo que vemos muchas posibilidades. Existen muchos otros formatos para internacionalizar software, pero en la práctica este es muy sencillo y si usas otro seguro que podrás adaptarlo sin ningún problema.
Para el que no lo conozca, los ficheros PO son seguramente el formato de internacionalización de aplicaciones más utilizados actualmente, son una de las partes metodológicas de la librería GNU gettext.
Pronto empezaremos una serie de artículos sobre como internacionalizar aplicaciones, es un tema que en contra de lo que cabe pensar no esta tan avanzado como debiera. Multitud de formatos, codificaciones etc., hace de la localización de software un tema escabroso y sobre el que el desarrollador pasa de puntillas.
Que es para nosotros un fichero PO?: un fichero con el siguiente formato:
msgid “cadena a traducir número 1”
msgstr “”
msgid “cadena a traducir número 2”
msgstr “”
Encima de las etiquetas “msgid” puede ir cualquier tipo de texto, con lo cual un ejemplo de fichero valido seria:(Extraído de un fichero real de Meneame.net)
……………………………………………………………………………………
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE’S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid “”
msgstr “”
“Project-Id-Version: PACKAGE VERSION\n”
“Report-Msgid-Bugs-To: \n”
“POT-Creation-Date: 2006-07-03 16:17+0200\n”
“PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n”
“Last-Translator: FULL NAME <EMAIL@ADDRESS>\n”
“Language-Team: LANGUAGE <LL@li.org>\n”
“MIME-Version: 1.0\n”
“Content-Type: text/plain; charset=UTF-8\n”
“Content-Transfer-Encoding: 8bit\n”
#: blogscloud.php:20 cloud.php:21 topstories.php:15 topusers-big.php:17
#: topusers.php:17
msgid “última semana”
msgstr “”
#: blogscloud.php:20 cloud.php:21 topstories.php:15 topusers-big.php:17
#: topusers.php:17
msgid “último mes”
msgstr “”
……………………………………………………………………………………
Pero, en aras de permitir que adaptes tus ficheros a este formato, también lo sería para nosotros este texto
msgid “última semana”
msgstr “”
msgid “último mes”
msgstr “”
Usa solamente este formato, no cosas como
msgid “”
“cadena 1″
“subcadena 1”
msgstr
O
msgid [0] “cadena 1”
msgstr
Ya que estos formatos no son aceptados. Decimos que ahora soportamos este formato porque lo que hacemos es contar y traducir solamente las palabras que se encuentran marcadas con la etiqueta msgid.Nosotros lo que haremos será devolverte el texto con el mismo formato que nos has enviado, rellenando las etiquetas “msgstr” con el texto traducido, de forma que después de traducido el fichero te devolveríamos:
msgid “última semana”
msgstr “Traducción de última semana al idioma elegido”
msgid “último mes”
msgstr ” Traducción de último mes al idioma elegido”
Que debes hacer para empezar a usarlo, muy simple:
1. Crea el fichero PO extrayendo las cadenas a traducir de tu aplicación
2. Abre el fichero PO con un editor de texto, que soporte la codificación en la que lo has grabado. Que quiere decir “que soporte la codificación en la que lo has grabado”? pues que si lo has grabado en UTF-8, el editor debe soportar este formato, en la práctica se trata de que cuando lo abras no veas caracteres extraños en lugar de los acentos.
3. Haz copy paste del texto en el editor de Babelic, debe quedar así: (nota que en la esquina inferior izquierda aparece que el formato se ha detectado)

4. Ya esta, finaliza y abona la traducción
Cuando terminemos la traducción podrás verla en el panel de la misma forma que el resto o bien podrás descargarte el archivo traducido directamente (codificado en UTF-8).
Nada más, recordarte que esta funcionalidad esta aun en beta, coméntanos si ves cualquier error por favor.