Domanda

Django makemessage potrebbe generare file i18n, e renderlo più facile da tradurre.

Per come la vedo, tornado ha il supporto sia in formato CSV e il formato gettext, ma posso usare solo la versione CSV, perché io lo uso a AppEngine.

Quindi, io sono alla ricerca di un modo per generare questi file CSV per tornado di base sulla scansione i miei codici e modelli.

È stato utile?

Soluzione

Ok, penso che un po 'confuso. È possono uso gettext e po / mo file da all'interno di AppEngine, dal momento che gettext viene esportato dal implementazione django.util di Google (una discussione di questo può essere trovato nel google-appengine gruppo Google ):

from django.utils.translation import gettext as _ 

Non ho familiarità con il formato i18n di AppEngine CSV, ma c'è un modo molto semplice per estrarre le stringhe internazionalizzate dal codice del tornado e modelli che utilizzano xgettext , appena fondamentalmente forzare Python dalla riga di comando. Per fare un esempio:

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

Questo comando ottenere tutte le stringhe i18n'ed da * .html nella directory corrente e li metterà sulla myproject.pot. È possibile inizializzare il file e tradurre in del diciamo ./it_IT/myproject.po utilizzando qualsiasi strumento commerciale o opensource (mi sento di raccomandare poEdit o Pootle ) e una volta hai tradotto tutte le stringhe è possibile convertire il file in CVS utilizzando Tradurre Toolkit 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 e facile da convertire in qualsiasi altro formato che vi serve (non ho familiarità con il formato i18n CSV di AppEngine), è possibile chiamare po2csv con alcun argomento -o e il tubo di uscita dalla STDOUT.

Non so se questo risolve il problema, ma in fondo penso che si dovrebbe adottare un code-> pot / po-> csv flusso di lavoro dal momento che ci sono molti strumenti che si aspettano po / pot / mo e vi permetterà di manico le vostre traduzioni o di lavoro con le memorie di traduzione / correttori ortografici, ecc .... provo e fatemi sapere se avete bisogno di più aiuto in questo.

Altri suggerimenti

Ho scritto un nuovo modulo al fine chiamata tornado-babele che comprende un estrattore per babel per estrarre stringhe traducibili da tornado modelli. Essa non crea il file CSV per voi, ma i file pot standard.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top