Seite 1 von 1
Fehler beim speichern in Poedit...
Verfasst: Donnerstag 16. September 2010, 17:02
von jens
Ich hatte es nun schon öfters, das ich Übersetztungen für Django nicht im Poedit speichern konnte. Es kommt:
17:57:54: /home/jens/PyLucid_env/src/pylucid/pylucid_project/locale/de/LC_MESSAGES/django.po:1695: missing `msgstr[]' section
17:57:54: msgfmt: found 1 fatal error
Die Bereffende Stelle:
Code: Alles auswählen
#: pylucid_plugins/pylucid_comments/templates/comments/preview.html:7
msgid "or make changes"
msgstr "oder Änderungen vornehmen"
#: pylucid_plugins/pylucid_comments/templates/pylucid_comments/comment_form.html:6
msgid "Please correct the error below"
msgid_plural "Please correct the errors below"
#: pylucid_plugins/pylucid_comments/templates/pylucid_comments/comment_form.html:17
msgid "Post"
msgstr "Abschicken"
Die Zeile 1695 ist:
msgid "Please correct the error below"
Kommt Poedit nicht mit msgid_plural klar???
Was nutzt ihr zum Übersetzten?
EDIT: Ah:
http://www.poedit.net/trac/ticket/293 (msgid_plural not supported)
Ist wohl in Poedit v1.4.3 gefixt, ich hab aber nur v1.4.2

Re: Fehler beim speichern in Poedit...
Verfasst: Donnerstag 30. September 2010, 13:33
von jens
Tja, so einfach ist es wohl doch nicht. Denn der Fehler von oben taucht nun auch in Version 1.4.6 auf...
Wer kann mir alternativen zu Poedit nennen???
EDIT: Ah, sehe gerade bei
http://www.poedit.net/trac/ticket/293#comment:7 steht, das es erst mit v1.5 gefixed ist (Also z.Z. nur im Poedit trunk

)
Dann müsste ich das ja selber kompilieren

Re: Fehler beim speichern in Poedit...
Verfasst: Donnerstag 30. September 2010, 13:49
von lunar
@jens: Eine Google-Suche nach der exakten Fehlermeldung "missing `msgstr[]' section" liefert bereits als ersten Treffer einen
Blogeintrag, in dem ein einfacher Workaround zu diesem Fehler in PoEdit gezeigt wird.
Der englische Wikipedia-Artikel zu
gettext nennt diverse Alternativen, eine Google Suche nach "gettext editor" sollte Dir weitere nennen. Ich persönlich nutze Emacs, oder lokalize für KDE-Übersetzungen. Gnome bietet mit GTranslator ebenfalls einen Gettext-Editor.
Mit Verlaub, aber ich glaube, Du hast genug Erfahrung, um Google und Wikipedia auch selbst zu bedienen.
Re: Fehler beim speichern in Poedit...
Verfasst: Donnerstag 30. September 2010, 14:05
von jens
lunar hat geschrieben:Gnome bietet mit GTranslator ebenfalls einen Gettext-Editor.
Den schaue ich mir gerade an... gtranslater ist aber nach dem Wizzard mit 100% CPU Auslastung eingefroren...
lunar hat geschrieben:Mit Verlaub, aber ich glaube, Du hast genug Erfahrung, um Google und Wikipedia auch selbst zu bedienen.
Du überschätzt mich

Re: Fehler beim speichern in Poedit...
Verfasst: Donnerstag 30. September 2010, 15:36
von jens
Hab nun ein bishen mit GTranslator gearbeitet... Das gefällt mir fast besser als POEdit... Ich denke ich bleib erstmal bei GTranslator
Da wir schonmal beim Thema sind. Wie Übersetzt man das:
Im Django Template ist das:
Code: Alles auswählen
{% blocktrans with comment_count|pluralize:"s" as s and object2comment.get_name as name %}
{{ comment_count }} comment{{ s }} for '{{ name }}':
{% endblocktrans %}
Zu Übersetzten ist dann das:
%(comment_count)s comment%(s)s for '%(name)s':
Konkret:
Was mache ich mit "comment%(s)s" ?
Das sieht nicht wirklich richtig aus: "Kommentar%(s)s"
Re: Fehler beim speichern in Poedit...
Verfasst: Donnerstag 30. September 2010, 16:11
von lunar
Überschätze ich Dich schon wieder, wenn ich davon ausgehe, dass Du eigentlich auch die
Dokumentation selbst lesen kannst? Dort ist der Umgang mit Pluralformen doch dezidiert beschrieben:
Code: Alles auswählen
{% blocktrans with object2comment.get_name as name count comment_count as comment_count %}
One comment for '{{ name }}':
{% plural %}
{{ comment_count }} comments for '{{ name }}':
{% endblocktrans %}
Re: Fehler beim speichern in Poedit...
Verfasst: Donnerstag 30. September 2010, 16:14
von jens
Habs nun so gelöst:
Code: Alles auswählen
{% blocktrans with object2comment.get_name as name count comment_count as counter %}
{{ counter }} comment for '{{ name }}':
{% plural %}
{{ counter }} comments for '{{ name }}':
{% endblocktrans %}
Zum Übersetzten erhält man dann:
%(counter)s comment for '%(name)s':
%(counter)s comments for '%(name)s':
EDIT: Anscheinend bin ich ein wenig langsam
EDIT2: und da ist es:
http://github.com/jedie/PyLucid/commit/ ... 888383ecb7
@lunar: Dank dir dennoch!

Re: Fehler beim speichern in Poedit...
Verfasst: Donnerstag 30. September 2010, 16:19
von jens
Ach... Eigentlich macht "pluralize" dann nicht wirklich Sinn, oder? Es sei denn man möchte i18n nicht nutzten... Sollte vielleicht bei
http://docs.djangoproject.com/en/dev/re ... #pluralize erwähnt werden?
Re: Fehler beim speichern in Poedit...
Verfasst: Donnerstag 30. September 2010, 16:43
von lunar
@jens: Es freut mich, dass ich Dich nicht überschätzt habe

Bitte entschuldige meine nicht ganz so freundlichen Kommentare, der heutige Tag hat meine Geduld ziemlich restlos aufgebraucht.
Für lokalisierte Anwendungen ist pluralize tatsächlich nicht sinnvoll, aber es wird ja bei weitem nicht jede Anwendung lokalisiert. Bei der schnell zusammengeschriebenen privaten Blog-Anwendungen, die eh nur englische Inhalte liefert, erspart pluralize halt viel Mühe. Man könnte das erwähnen, das würde die Dinge sicherlich erleichtern, aber wenn man Lokalisierung implementieren möchte, liest man je eh nochmal die Doku zur Lokalisierung und stößt dann schon auf die korrekte Übersetzung von Pluralformen.