Direkt zum Inhalt | Direkt zur Navigation

Benutzerspezifische Werkzeuge

Sektionen

"Python Zope Plone Postgresql Oracle"
Sie sind hier: Startseite / FAQs / Plone FAQ / Statt Übersetzung wird nur Label-Key angezeigt, po-Datei wird nicht zu mo-Datei kompiliert.

Statt Übersetzung wird nur Label-Key angezeigt, po-Datei wird nicht zu mo-Datei kompiliert.

Die lokalisierten Sprachdateien emha.base.po werden zu mo-Dateien beim Zope-Start kompiliert, hier als emha.base.mo in den jeweiligen emha/theme/locales Sprachverzeichnissen.

Tritt bei Kompilieren ein Fehler auf, so bricht zope.i18n.compile.py ab und die mo-Datei ist leer. In der GUI wird statt der Übersetzung nur der Label-Key ausgegeben. In der event.log steht folgende Warnung, die bei der Fehlersuche nicht wirklich hilfreich ist:

2015-08-04T08:25:57 WARNING zope.i18n Error while compiling .../instances/mh/repo/.../locales/en/LC_MESSAGES/bfd.base.po
------
2015-08-04T08:25:57 WARNING zope.i18n Error while compiling .../instances/mh/repo/.../locales/pl/LC_MESSAGES/bfd.base.po
------
2015-08-04T08:25:57 WARNING zope.i18n Error while compiling .../instances/mh/repo/.../locales/fr/LC_MESSAGES/bfd.base.po

Wenn also im Produktivbetrieb statt der Übersetzung nur der Label-Key ausgegeben wird, so kann die fehlerhafte po-Datei wie folgt geprüft werden:

cd .../locales/en/LC_MESSAGES
msgfmt -o emha.base.mo emha.base.po

Nun erhält man aussagekräftige Fehlermeldungen:

emha.base.po:148:20: invalid control sequence
emha.base.po:149: end-of-line within string
emha.base.po:154:20: invalid control sequence
emha.base.po:155: end-of-line within string

In obigem Fall war durch die automatische Übersetzung das \
in den msgstr geraten. Nich auszuschließen, dass bei händischer
Bearbeitung der po-Datei Syntaxfehler in die po-Datei geraten.