2010-11-05 21 views

Respuesta

6

Ok, creo que estás un poco confundido. Usted puede uso de gettext y po/mo archivos desde dentro appengine, ya gettext se exporta desde la aplicación django.util de Google (una discusión de esto se puede encontrar en el google-appengine google group):

from django.utils.translation import gettext as _ 

No estoy familiarizado con El formato i18n de AppEngine CSV, pero hay una manera muy fácil de extraer cadenas internacionalizadas del código y las plantillas de tornado usando xgettext, básicamente forzar a Python desde la línea de comando. A modo de ejemplo:

xgettext -L Python -o myproject.pot *.html 

ese comando obtendrá todas las cadenas de i18n'ed * .html en el directorio actual y los colocará en myproject.pot. Puede inicializar ese archivo y traducirlo en digamos ./it_IT/myproject.po usando cualquier herramienta comercial o de código abierto (recomendaría poedit o pootle) y una vez que haya traducido todas las cadenas, puede convertir el archivo en CVS usando Translate Toolkit's po2csv, que es también escrito en Python:

po2csv -i it_IT/myproject.po -o it_IT/myproject.csv 

El formato es location:codeLine,source,target que es final bastante simple fácil de convertir a cualquier otro formato que necesita (no estoy familiarizado con el formato CSV i18n de appengine), puede llamar po2csv sin -o argumento y pipe la salida de STDOUT.

No sé si eso resuelve tu pregunta, pero básicamente creo que deberías adoptar un flujo de trabajo code-> pot/po-> csv ya que hay muchas herramientas que esperan po/pot/mo y te permitirán maneje sus traducciones o trabaje con memorias de traducción/correctores ortográficos, etc ... intente y hágame saber si necesita más ayuda con eso.

+0

+1 Excellent answer. – ThomasH

0

He escrito un nuevo módulo para el propósito llamado tornado-babel que incluye un extractor para Babel para extraer cadenas traducibles de plantillas de tornado. No creará el archivo CSV por usted, sino los archivos pot estándar.

Cuestiones relacionadas