Ok, penso che tu sia un po 'confuso. È possibile file uso gettext e PO/mo dall'interno AppEngine, dal momento che gettext viene esportato dal implementazione django.util di Google (una discussione di questo può essere trovato nella google-appengine google group):
from django.utils.translation import gettext as _
non ho familiarità con Il formato i18n di AppEngine CSV, ma esiste un modo molto semplice per estrarre stringhe internazionalizzate dal codice e dai modelli del tornado usando xgettext, in pratica forzare python dalla riga di comando. Per fare un esempio:
xgettext -L Python -o myproject.pot *.html
quel comando avranno tutte le stringhe i18n'ed da * .html nella directory corrente e li metterà sulla myproject.pot. Puoi inizializzare quel file e tradurre in diciamo ./it_IT/myproject.po utilizzando qualsiasi strumento commerciale o opensource (ti consiglierei poedit o pootle) e dopo aver tradotto tutte le stringhe puoi convertire il file in CVS usando Translate Toolkit's po2csv, che è anche scritto in python:
po2csv -i it_IT/myproject.po -o it_IT/myproject.csv
Il formato è location:codeLine,source,target
che è fine abbastanza semplice, facile da convertire in qualsiasi altro formato che vi serve (non ho familiarità con i18n di AppEngine formato CSV), è possibile chiamare po2csv senza -o argomento e pipe l'output da STDOUT.
Non so se questo risolve la tua domanda, ma fondamentalmente penso che dovresti adottare un flusso di lavoro code-> pot/po-> csv poiché ci sono molti strumenti che si aspettano po/pot/mo e ti permetteranno di gestire le tue traduzioni o lavorare con memorie di traduzione/correttori ortografici, ecc .... prova e fammi sapere se hai bisogno di ulteriore aiuto.
+1 Risposta eccellente. – ThomasH