2009-11-24 3 views
5

Ich versuche, zu grok.Kann jemand kaputt machen, wie die Lokalisierungsdatei (.mo, .po) funktioniert?

Hier ist, wie ich denken es funktioniert -

Zuerst Sie irgendeine Art von po-Editor verwenden und es sagen, ein Verzeichnis für Ihre Anwendung zu scannen, erstellen diese „.po“ Dateien, die Anwendung eine macht po-Datei für jede Datei gescannt, die eine Zeichenfolge in einer Programmiersprache enthält, dann kompilieren sie in binäre MO-Dateien, die analysiert, und Sie rufen eine Methode mit einer High-Level-API wie Zend_Translate und geben Sie gettext, es verwenden möchten kann eingerichtet werden, um Übersetzungen zu cachen und es gibt nur diese zurück.

Der Teil, der mir wirklich unklar ist, ist, wie die Bearbeitung von Po-Dateien wirklich gemacht wird, es ist manuell - richtig? Dann, wenn die Kompilierung abgeschlossen ist, stützt sich die Anwendung natürlich auf die binären MO-Dateien.

Und wenn jemand nützliche Linux-Anwendungen zum Bearbeiten von .po Dateien zur Verfügung stellen könnte, wäre ich dankbar.

Antwort

6

Das Lernprogramm auf NLS using GNU gettext sollte Ihnen helfen, den Prozess zu verstehen.

Wie für die Bearbeitung von .po-Dateien gibt es mindestens zwei Anwendungen (abgesehen von vi :-): gtranslator und poedit.

+0

Verwenden Sie irgendwelche vim-spezifischen Plugins, oder werden sie nicht wirklich benötigt? –

+0

Ich habe noch nie ein Plugin für vim verwendet, aber es gibt etwas bei http://vim.sourceforge.net/scripts/script.php?script_id=695 – Gonzalo

+0

Ich habe gelesen und ich habe vielleicht einige Informationen verpasst, aber: 1 Nehmen wir an, wir haben es mit einer Python/PHP-Web-App zu tun, was ist ein typischer lokaler Ort zum Speichern der po/mo-Dateien? Gibt es ein Standardverzeichnis, das ich verwenden kann? 2. Verwenden Sie 'xgettext', um die Zeichenfolgen aus dem Quellcode zu extrahieren? Ich denke, ich habe die meisten dieser Informationen erhalten, aber wenn jemand eine langweilige und weniger technische Erklärung abgeben und praktische praktische Tipps geben könnte, wäre das großartig. –