Traducir un archivo PO con Google Translator y Python
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() |
Sé que Mancho hizo algo parecido en PHP. Apenas pueda lo enlazo.
Enlace al artículo de Mancho
Automatizar la traducción de un archivo PO (i18n) | Mancho Web
[…] Nacho nos da una solución similar en Python. […]
yo
el link funciona, pero cuando se entra a py-traslate no aparece ningun archivo
alguna sugerencia ??
nacho
Sí, una sugerencia es que hagas un checkout http://code.google.com/p/py-gtranslate/source/checkout (el código es versionado con SVN)
O bien que entres al browser de código y te bajes el .py
http://code.google.com/p/py-gtranslate/source/browse/#svn/trunk
Saludos!