Mediante el uso de POedit, uno puedo crear traducciones para internacionalización sobre un archivo base, el cuál contiene las cadenas de texto de cierto software. Sin embargo si las cadenas son muchas, podemos hacer uso de alguna herramienta de traducción, y limitarnos a luego revisar y encontrar la traducción más adecuada para el contexto en el que se encuentra cada texto.
Particularmente necesitaba traducir un tema de WordPress que traía su propio archivo .po en inglés (en-EN.po). Hice un pequeño script en Python que hace uso de py-translate. Este módulo hace uso de la API de Google Translate. Quizá a alguno le resulte útil o pueda adaptarlo a sus necesidades (ya que está todo harcodeado dentro :-P).
# coding=utf-8
import gtrans
fo = open("en_EN.po","r")
fi = open("es_ES.po","w")
for line in fo:
if line.find("msgid") == 0:
cad = gtrans.translate("en","es",line.split("\"")[1])
#print line.encode("utf-8"),
fi.write(line.encode("utf-8"))
fi.write("msgstr \""+cad.rstrip().encode("utf-8")+"\"\n")
elif line.find("msgstr") == 0:
pass
else:
#print line.encode("utf-8"),
fi.write(line.encode("utf-8"))
fo.close()
fi.close() |
# coding=utf-8
import gtrans
fo = open("en_EN.po","r")
fi = open("es_ES.po","w")
for line in fo:
if line.find("msgid") == 0:
cad = gtrans.translate("en","es",line.split("\"")[1])
#print line.encode("utf-8"),
fi.write(line.encode("utf-8"))
fi.write("msgstr \""+cad.rstrip().encode("utf-8")+"\"\n")
elif line.find("msgstr") == 0:
pass
else:
#print line.encode("utf-8"),
fi.write(line.encode("utf-8"))
fo.close()
fi.close()
Sé que Mancho hizo algo parecido en PHP. Apenas pueda lo enlazo.
Enlace al artículo de Mancho
Para la cátedra de Administración de Recursos el año pasado, debíamos realizar un trabajo de investigación y desarrollo, en el cuál se mostraran nuevas tecnologías que permitieran integrar sistemas. Buscando cumplir con el objetivo asignado por la cátedra y a la vez investigar en algo que aún no hubiéramos profundizado fue lo que nos llevó a la plataforma Mono.
Milton ya estaba desarrollando un sistema utilizando esta plataforma, César ya había programado con .Net (C# y VB.Net) para un TP anterior y yo algo de Web Services ya había utilizado (consumido con PHP, pero nunca creado) y además estaba usando C# para algunas cosas.
Sin embargo queríamos probar la madurez del proyecto Mono, utilizar las últimas versiones de MonoDevelop como IDE y las librerías y compiladores que pudieramos. Se nos ocurrió implementar un sistema de mensajería instantánea al estilo Gaim, obviamente que con la única posibilidad de enviar mensajes de texto y ver la lista de usuarios conectados. Pero, a medida que avanzabamos, le ibamos agregando cosas.