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
).
# 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