Fehler beim speichern in Poedit...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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 :cry:

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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 :(

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
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.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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 ;)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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"

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
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 %}
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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! :wink:

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
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.
Antworten