1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Fehlerhafte deutsche Sprachdatei

Dieses Thema im Forum "Sprachdatei" wurde erstellt von zonebattler, 10. Juli 2009.

Schlagworte:
  1. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    369
    Zustimmungen:
    20
    Guten Morgen allerseits!

    Die aktuelle deutsche Sprachdatei ("Du"-Version) scheint mir einen Hau zu haben: Beim Laden in Poedit werden oben sieben nicht übersetzte Strings angezeigt und -schlimmer noch- das Abspeichern wird verweigert mit der Fehlermeldung:

    “msgfmt: found 2 fatal errors”

    Details:

    …\wp-content\languages\de_DE.po:16148: duplicate message definition…
    …\wp-content\languages\de_DE.po:1684: …this is the location of the first definition
    …\wp-content\languages\de_DE.po:16152: duplicate message definition…
    …\wp-content\languages\de_DE.po:10189: …this is the location of the first definition


    Das sollte man fixen, denke ich…

    Danke im Voraus!
     
  2. jottlieb

    jottlieb Well-Known Member
    Ehrenmitglied

    Registriert seit:
    20. August 2005
    Beiträge:
    17.381
    Zustimmungen:
    1
    Wir überprüfen das. Scheint mit Strings zu tun zu haben die in WP für die Übersetzung vorbereitet wurden.
     
  3. codestyling

    codestyling WPD-Team

    Registriert seit:
    30. März 2008
    Beiträge:
    1.904
    Zustimmungen:
    0
    Ich würde sagen, das es ein Bug in PoEdit ist, denn dieser bekommt es nicht auf die Reihe, das ein Text mit gleicher Message ID einmal mit und einmal ohne Pluralisierung vorkommt.
    Das ist aber von der Behandlung in der Sprachdatei selbst (*.mo) essentiell!

    Hier als Beispiel einer der betreffenden Stellen:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    und dann die aus dem Standard Theme:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Wie man sehen kann, ist der eine Eintrag eine Pluralisierung und der andere nicht. Dies sollte PoEdit eigentlich erkennen können, denn der Schlüssel (Key) für die obere ID ist:
    "Comment\0Comments"
    während der Schlüssel (Key) für die untere ID folgender ist:
    "Comment"
    Somit sind das in der *.mo Datei 2 differente Schlüssel, weswegen sie auch korrekt getrennt benutzt und gelistet werden.
    Das PoEdit das nicht versteht, ist ein Problem von PoEdit und nicht der deutschen Sprachdatei!

    Thema unübersetzte Strings, hier wieder ein Beispiel:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Alles, was in der Sprachdatei enthalten ist und als Kommentar "Not gettexted string WP_I18N_ ...." enthält, sind Texte, die man nur im Quellcode ändern kann, denn zu diesem Zeitpunkt der Ausführung des Scripts ist es nicht möglich, eine Sprachdatei zu benutzen. Davon gibt es mindestens 7 Stellen im WP Core, die offizielle wordpress.pot Datei enthält diese ebenfalls. Somit ist auch dies kein Versäumnis sondern Absicht.
     
    #3 codestyling, 13. Juli 2009
    Zuletzt bearbeitet: 13. Juli 2009
  4. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    369
    Zustimmungen:
    20
    Gut. Das heißt für mich, daß ich b.a.w. die "alte" Sprachdatei von WP 2.8 weiterbenutzen muß, weil ich in dieser diverse Änderungen und Anpassungen geschmackshalber durchgeführt habe. Diese (penibel dokumentierten) Modifikationen wollte ich in der aktuellen Version erneut vornehmen, scheitere aber daran, daß Poedit sich mit den eingangs gelisteten "Fehlermeldungen" beschwert und das Abspeichern allfälliger Änderungen nicht zuläßt.

    Frage also: gibt es einen alternativen Editor oder hat jemand einen "direkten Draht" zu den Poedit-Entwicklern? Es wäre schade, wenn man diesen beliebten Editor weiterhin zwar für alle möglichen Plugin-Lokalisierungsdateien, aber nicht mehr für WordPress selbst verwenden könnte...

    Dank & Gruß,
    Ralph
     
  5. ratterobert

    ratterobert Well-Known Member
    Ehrenmitglied

    Registriert seit:
    1. Januar 2005
    Beiträge:
    1.254
    Zustimmungen:
    0
  6. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    369
    Zustimmungen:
    20
    Hallo Robert,

    danke für den Tipp: Dieses Editor-Plugin sieht ja auf den ersten Blick wirklich gut aus, und ich kann auch ordnungsgemäß die Sprachdateien sämtlicher lokalisierten Plugins einlesen und bearbeiten. Nur die Bearbeitung der großen Sprachdatei von WordPress selbst will mir nicht gelingen: Nach dem Anklicken von "Einlesen" und dann "Analysieren" passiert nix mehr, der Screen zum "Einlesen der PHP Quelldateien" bleibt mit der Nachricht "Bitte warten, Dateien werden durchsucht..." stehen. Gut, bei 273 betroffenen Dateien kann sowas ja ein paar Minuten dauern, aber doch nicht bis zum Sankt-Nimmerleinstag...

    Hast Du noch eine Idee? Mir schiene das wirklich ein schöner (und zudem von überall her aufrufbarer) Ersatz für Poedit zu sein.

    Jetzt bin ich noch einen weiteren Schritt von meinem ursprünglichen Problem entfernt: Ich will ja nur ein paar Strings in der deutschen Sprachdatei von WP 2.81 meinen eigenen Vorstellungen anpassen... :(

    Lieben Gruß,
    Ralph
     
    #6 zonebattler, 13. Juli 2009
    Zuletzt bearbeitet: 13. Juli 2009
  7. codestyling

    codestyling WPD-Team

    Registriert seit:
    30. März 2008
    Beiträge:
    1.904
    Zustimmungen:
    0
    Hatte ich in meinem Blog schon beantwortet:
    Es läuft laut letzter bekannter Rückmeldung von zonebattler auf das Script-Laufzeit-Limit zurück, das bei ihm scheinbar voll ausgereizt wird, weil der Server nicht der Schnellste ist.
     
  8. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    369
    Zustimmungen:
    20
    Pardon, das hätte ich natürlich selbst hier nachtragen können und sollen: Dem schönen Plugin ist es natürlich nicht anzulasten, wenn (nur) bei mir das Einlesen der WP-Sprachdatei scheitert...

    Das Laufzeit-Limit von Skripten scheint mir ein genereller Fallstrick zu sein. Famos daher der Trick, mit dem sich z.B. der http://www.mysqldumper.de/ immer wieder durch Selbstaufruf neue 30 Sekunden verschafft, bis er mit dem Sichern der Datenbank fertig ist. Mit einem derartigen Mechanismus versehen, würde sich das Editor-PLugin "codestyling-localization" vermutlich auch von mir nutzen lassen. Wobei ich vollstes Verständnis dafür habe, daß man derlei Features nur dann implementiert, wenn mehr als nur eine Handvoll User davon profitieren würde.

    Dank & Gruß,
    Ralph
     
    #8 zonebattler, 14. Juli 2009
    Zuletzt bearbeitet: 14. Juli 2009
  9. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    369
    Zustimmungen:
    20
    So, jetzt beißt sich die Katze leider in den Schwanz: Der von mir in dieser Sache heute angeschriebene Autor von Poedit (Vaclav Slavik, vslavik@fastmail.fm) argumentiert umgekehrt und weist auf die nötige Eindeutigkeit der String-Zuordnungen in der Katalog-Datei hin:

    "... But the very first message in that forum shows an error in the catalog, *not* a Poedit problem. It shows a msgfmt error message (msgfmt is not part of Poedit, it is a GNU Gettext
    utility) that says the catalog is ill-formed and contains the same string twice. This is invalid .PO file and is clearly the fault of the PO file's creator, i.e. Wordpress I assume.

    This is something I, or Poedit, have no control over. The PO format description says that msgid is unique. This catalog clearly violates this requirement, by having two identical msgid lines. Notice that Poedit itself gracefully handles this malformed file, it's the GNU gettext msgfmt compiler that (rightfully) complains about it."


    Ich selbst bin nun zwar der englischen Sprache mächtig, aber letztlich nur ein WordPress-Endnutzer mit geringen Kenntnissen der hier interagierenden Mechanismen. Daher schlage ich vor, daß sich die zuständigen Moderatoren / Fachleute von WordPress Deutschland direkt mit Vaclav ins Benehmen setzen, um das Problem zielführend anzugehen. Zweifellos ist es vielen WordPress-Nutzern -keineswegs nur mir- ein Bedürfnis, eigene Modifikationen an der deutschen Sprachdatei vorzunehmen. Und eben dies funktionierte bislang (=bis WP 2.7) mit Poedit bestens! Leider besteht auch nicht für alle die Option, auf das empfohlene Plugin auszuweichen und die Katalog-Datien damit online zu editieren.

    Abschließend möchte ich anfügen, daß ich hier niemanden gegen jemand anderen ausspielen oder gar Zwist sähen möchte: Ich bin nur Leidtragender eines aufgetretenen Problems in meinem bislang tadellos funktionierenden Workflow geworden und habe daher an der Wiederherstellung desselben Interesse. Weder ziehe ich die Fähigkeiten noch das Fachwissen aller Beteiligten in Zweifel, daher versuche ich zu vermitteln und diejenigen zum Dialog anzuregen, die tatsächlich was zur Lösung beitragen können...
     
    #9 zonebattler, 14. Juli 2009
    Zuletzt bearbeitet: 14. Juli 2009
  10. codestyling

    codestyling WPD-Team

    Registriert seit:
    30. März 2008
    Beiträge:
    1.904
    Zustimmungen:
    0
    Ich werde das Thema aufgreifen und in der Polyglot Liste sowie im Trac von WP einwerfen. Das Problem ist nicht so einfach, denn es bedarf einer Codeänderung in WP, um das sauber zu bekommen.
    Diese verwendete Pluralform
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ist nun mal was anderes als die hier verwendete Sigular Form:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Es gibt 2 Möglichkeiten, das im Code kenntlich zu machen:
    1. mit implizitem Kontext:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    2. mit explizitem Kontext:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Damit würde man dem Problem auf Codeebene aus dem Weg gehen.
    Allein eine Änderung in der *.po Datei ist nicht Zielführend, denn der Code muß dazu passen.
    Soetwas kann man nur mit dem Entwicklern klären lassen, werde sehen, was ich tun kann.
     
    #10 codestyling, 14. Juli 2009
    Zuletzt bearbeitet: 14. Juli 2009
  11. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    369
    Zustimmungen:
    20
    Vielen Dank für die schnelle Antwort und Dein Engagement in dieser Sache! Ich weiß das sehr zu schätzen! Wie schon in meinem letzten Reply geschrieben wäre es sicher am hilfreichsten, wenn die Fachleute das Problem unter sich ausmachen und dem Anwender eine unkomplizierte Lösung an die Hand geben würden.

    P.S.: Die Editiermöglichkeit der Lokalisations-Datei zukünftig WP-intern zu realisieren hielte ich für ein weit lohnenderes Entwicklungsziel als neue Smileys zu basteln... ;)
     
  12. sepp88

    sepp88 Well-Known Member

    Registriert seit:
    15. Juli 2009
    Beiträge:
    135
    Zustimmungen:
    0
    ich habe das gleich problem mit poedit und würde auch gerne diesen plugin testen. ich habe in runtergeladen und aktiviert, aber ich bin schlichtweg zu doof um irgendwo in meinem admin bereich einen editor des neuen plugins zu finden! könnt ihr mir bitte kurz erklären wo ich den language-editor nun finde?

    danke vielmals
     
  13. codestyling

    codestyling WPD-Team

    Registriert seit:
    30. März 2008
    Beiträge:
    1.904
    Zustimmungen:
    0
    Den Editor findest du unter "Werkzeuge" -> "Lokalisierung"
    Das ist der Menüpunkt , wo man unter anderem auch Daten ex-/importieren kann.
     
  14. sepp88

    sepp88 Well-Known Member

    Registriert seit:
    15. Juli 2009
    Beiträge:
    135
    Zustimmungen:
    0
    danke vielmals

    müssten bei einer deutschen sprachversion eigentlich nicht auch THEME-spezifische texte umgestellt werden! ich habe alles auf deutsch i madmin, aber wenn ich ein neues theme einspiele sind so texte wie "no comments | edit" "posted on ..." blabla alle auf englisch! was muss ich da machen, dass die automatisch deutsch werden, muss ich mich da durch das theme kämpten und die texte alle raussuchen und übersetzen?

    danke für die auskunft

    edit: und müsste wenn ich in der deutschen sprachdatei "BLOGROLL" in "Tolle Links" umbenenne nicht bei dem blogroll widget "tolle links" stehen! irgendwie klappt das nicht! ???
     
    #14 sepp88, 18. Juli 2009
    Zuletzt bearbeitet: 18. Juli 2009
  15. jottlieb

    jottlieb Well-Known Member
    Ehrenmitglied

    Registriert seit:
    20. August 2005
    Beiträge:
    17.381
    Zustimmungen:
    1
    @sepp:
    Kommt drauf an, ob das Theme eben gettext hat, also die Sprachdateien nutzt, oder nicht. Manche sind in Englisch hartcodiert, dann musst du selber ans Theme ran.
     
  16. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    369
    Zustimmungen:
    20
    Zusammenfassung Sachstand 21.07.2009

    Servus zusammen,

    ich möchte mal zusammenfassen, was ich bislang zu dem -aus meiner Sicht immer noch nicht erledigten- Thema eruiert und recherchiert habe:


    Die hier unter

    http://wordpress-deutschland.org/download/sprachdatei/

    angebotene deutsche Sprachdatei (Redaktion: Robert Pfotenhauer) mit Timestamp 20.07.09, 10:51 Uhr läßt sich mit dem bekannten Editor "PoEdit" zwar öffnen, aber nicht wieder speichern. Die entsprechenden Fehlermeldungen habe ich weiter oben in diesem Thread dokumentiert.


    Überdies sind die folgenden 7 Textbausteine offenbar unübersetzt:

    \n
    <h1>Error establishing a database connection</h1>\n
    <p>This either means that the username and password information in your <code>wp-config.php</code> file is incorrect or we can't contact the database server at <code>%s</code>. This could mean your host's database server is down.</p>\n
    <ul>\n
    \t<li>Are you sure you have the correct username and password?</li>\n
    \t<li>Are you sure that you have typed the correct hostname?</li>\n
    \t<li>Are you sure that the database server is running?</li>\n
    </ul>\n
    <p>If you're unsure what these terms mean you should probably contact your host. If you still need help you can always visit the <a href='http://wordpress.org/support/'>WordPress Support Forums</a>.</p>\n


    \n
    <h1>Can’t select database</h1>\n
    <p>We were able to connect to the database server (which means your username and password is okay) but not able to select the <code>%1$s</code> database.</p>\n
    <ul>\n
    <li>Are you sure it exists?</li>\n
    <li>Does the user <code>%2$s</code> have permission to use the <code>%1$s</code> database?</li>\n
    <li>On some systems the name of your database is prefixed with your username, so it would be like <code>username_%1$s</code>. Could that be the problem?</li>\n
    </ul>\n
    <p>If you don't know how to setup a database you should <strong>contact your host</strong>. If all else fails you may find help at the <a href=\"http://wordpress.org/support/\">WordPress Support Forums</a>.</p>


    WordPress database error %1$s for query %2$s made by %3$s


    WordPress database error %1$s for query %2$s


    There doesn't seem to be a <code>wp-config.php</code> file. I need this before we can get started. Need more help? <a href='http://codex.wordpress.org/Editing_wp-config.php'>We got it</a>. You can create a <code>wp-config.php</code> file through a web interface, but this doesn't work for all server setups. The safest way is to manually create the file.</p><p><a href='%ssetup-config.php' class='button'>Create a Configuration File</a>


    Your PHP installation appears to be missing the MySQL extension which is required by WordPress.


    <strong>ERROR</strong>: <code>$table_prefix</code> in <code>wp-config.php</code> can only contain numbers, letters, and underscores.



    Ferner sind die von "tin68" in

    http://forum.wordpress-deutschland.org/sprachdatei/55011-fehler-der-deutschen-sprachdatei.html

    genannten Fehler auch noch vorhanden.

    Das von mir soeben getestete "Konkurrenzprodukt" auf

    http://de.wordpress.org/

    weist weder unübersetzte Strings noch 1:2-Zuordnungen auf, läßt sich demzufolge auch problemlos mit PoEdit poeditten. Über die Aktualität und die sprachlichen Qualitäten jener Lokalisierungs-Datei kann und will ich dabei keinerlei Aussage treffen.

    Der von mir in dieser Sache kontaktierte Autor von Poedit weist jede Verantwortung von sich und argumentierte in einer zweiten Mail an mich wie folgt:

    Ich schrub:

    > Now we seem to have the funny situation that the WordPress people
    > blame you and you blame the WordPress programmers...
    >
    > Since I managed to modify the WP language files with Poedit
    > numerous times before without any problems,
    > I immediately thought that the error messages that started
    > with the new WP 2.8 release must have their
    > origin in faulty catalog files. However, in
    >
    > http://forum.wordpress-deutschland.org/sprachdatei/54936-fehlerhafte-deutsche-sprachdatei.html#post260251
    >
    > the user "codestyling" argues that "it seems to be a bug of Poedit
    > which obviously doesn't manage to handle text strings that adress
    > singular and plural forms under the same message ID. This is, however,
    > essential when handling the .mo file!"



    Er antwortete:

    Again, this is not a Poedit problem. Poedit can, for once, handle this
    file just fine. It's GNU Gettext's msgfmt compiler that detects errors.
    So if Wordpress folks believe this kind of PO file is correct, they
    should talk to GNU Gettext maintainers, not me.

    And he's wrong, BTW, it's not "essential". The standard way to handle
    this situation in Gettext is to use msgctxt (which Poedit supports,
    albeit in suboptimal way).



    Mangels Einblick und Sachkunde kann ich diese Ausführungen nicht bewerten, ich will sie hier auch nur wiedergeben, damit die fähigen Insider hier an einer Stelle alle erforderlichen Informationen vorfinden und sich des Problems annehmen können.

    Einer aus diesem Kreise bat mich in einer PM um meine Mailadresse, um mir eine Testdatei zusenden zu können. Leider habe ich diese Nachricht in meinem Profilbereich erst gestern (nach 10 Tagen Abhängezeit) eher zufällig entdeckt, meine Antwort darauf blieb bislang ohne Folgen. Ich stelle mich aber gerne auch öffentlich als Tester zur Verfügung und bin unter der Adresse

    zonebattler@zonebattler.net

    jederzeit zu erreichen. Allerdings kann ich zur Lösung nicht viel mehr beitragen als den Befund hinsichtlich des Versuches, die Sprachdatei mittels PoEdit zu öffnen und wieder zu speichern...

    Beste Grüße,
    Ralph
     
    #16 zonebattler, 21. Juli 2009
    Zuletzt bearbeitet: 21. Juli 2009
  17. jottlieb

    jottlieb Well-Known Member
    Ehrenmitglied

    Registriert seit:
    20. August 2005
    Beiträge:
    17.381
    Zustimmungen:
    1
    @zonebattler:
    Zu den nicht übersetzten Bausteien...manche Meldungen (wie z.B. Fehlermeldungen bezüglich Datenbank) können nicht per gettext übersetzt werden und sind hartcodiert und werden von uns dementsprechend in der DE-Edition auch direkt in diesen Dateien übersetzt.
     
  18. codestyling

    codestyling WPD-Team

    Registriert seit:
    30. März 2008
    Beiträge:
    1.904
    Zustimmungen:
    0
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden