Frage

Django makemessage i18n-Dateien erzeugen können, und machen es leichter zu übersetzen.

Wie ich sehe, Tornado hat sowohl CSV-Format und gettext-Format unterstützen, aber ich kann nur CSV-Version verwenden, weil ich es bei appengine verwenden.

Also, ich bin nach einer Möglichkeit, diese CSV-Dateien für Tornado-Basis zu erzeugen, meine Codes und Vorlagen auf dem Scannen.

War es hilfreich?

Lösung

Ok, ich glaube, Sie ein bisschen verwirrt. Sie können Verwendung gettext und po / mo-Dateien direkt von appengine, da gettext von den Google-django.util Implementierung (eine Diskussion über diese in der google-appengine google-Gruppe ):

from django.utils.translation import gettext as _ 

Ich bin nicht vertraut mit App Engine CSV dem i18n-Format, aber es ist eine sehr einfache Art und Weise internationalisiert Saiten von Tornado-Code und Vorlagen zu extrahieren mit xgettext , zwingt im Grunde nur python von der Kommandozeile. Als ein Beispiel:

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

Dieser Befehl wird alle i18n'ed Strings aus * .html in Ihrem aktuellen Verzeichnis erhalten und wird sie auf myproject.pot platzieren. Sie können diese Datei initialisieren und übersetzen in sagen wir mal ./it_IT/myproject.po jeder kommerziellen oder Open-Source-Tool (ich würde empfehlen, pootle ) und einmal Sie haben alle Strings übersetzt Sie die Datei in CVS umwandeln kann mit Übersetzen Toolkit po2csv , die auch in python geschrieben ist:

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

Das Format ist location:codeLine,source,target das ist ziemlich einfach Ende ist einfach zu konvertieren zu welcher anderen Format, das Sie brauchen (ich bin nicht vertraut mit appengine des i18n CSV-Format) können Sie po2csv ohne -o Argument aufrufen und Rohr die Ausgabe aus STDOUT.

Ich weiß nicht, ob das Ihre Frage löst, aber im Grunde denke ich, sollten Sie eine adoptieren Code-> pot / po-> csv-Workflow, da es viele Tools, die po / pot / mo erwarten und ermöglicht es Ihnen, Griff Ihre Übersetzungen oder die Arbeit mit Translation Memories / Rechtschreibprüfung, etc .... versuchen, und lassen Sie mich wissen, wenn Sie weitere Hilfe benötigen, dass.

Andere Tipps

Ich habe ein neues Modul für die Tornado-babel genannt Zweck geschrieben, die für einen Extraktor enthält babel übersetzbare Strings von Tornado-Vorlagen zu extrahieren. Es wird nicht die CSV-Datei für Sie, aber die Standard-Topf-Dateien erstellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top