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

Fehlernder String in aktueller deutscher Sprachdatei in WP 4.4

Dieses Thema im Forum "Installation" wurde erstellt von zonebattler, 13. Dezember 2015.

  1. zonebattler

    zonebattler Well-Known Member

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

    nachdem ich heute alle meine WP-Installationen manuell auf WP 4.4 upgedated hatte, fiel mir bei einigen Websites auf, daß auf der Hauptseite unter Artikeln mit mehreren Kommentaren nicht mehr

    x Kommentare

    steht, sondern

    x Comments

    Inzwischen habe ich als ursächlich herausgefunden, daß von den drei in der Sprachdatei vorhandenen, hier zuständigen Übersetzungs-Strings

    No Comments
    1 Comment
    % Comments

    nur noch die ersten beiden vorhanden sind, der für die Pluralbildung erforderliche String

    % Comments

    hingegen nicht mehr in der Sprachdatei enthalten ist. Interessanterweise tritt das Phänomen aber nur in Blogs mit relativ alten Themes auf, wie z.B. meinem eigenen:

    http://www.zonebattler.net/

    In Blogs mit einem relativ jüngeren Theme (Twenty Ten modifiziert), wie z.B.

    http://www.fuerthwiki.de/verein/

    steht unter den Artikeln weiterhin korrekterweise

    x Kommentare

    Muß also noch eine andere Variable geben, aber die zu finden kriege ich momentan nicht auf die Reihe, da stehe ich irgendwie mir selbst im Weg bzw. auf dem Schlauch. Kann mir jemand freundlicherweise auf die Sprünge helfen, was ich in meiner index.php in

    comments_popup_link(__('No Comments'), __('1 Comment'), __('% Comments'));

    an letzter Stelle einsetzen muß, um wieder zu einem korrekten deutschsprachigen Plural zu gelangen?

    Vielen Dank und noch einen schönen Advents-Sonntag,
    Ralph
     
  2. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    369
    Zustimmungen:
    20
    So, ich konnte selbst noch was herausfinden: "Neuere" Themes wie Twenty Ten bringen eine eigene Sprachdatei mit, in der die Strings

    0 Comments
    1 Comment
    % Comments

    nochmal separat enthalten und übersetzt sind. Das scheint Priorität über der allgemeinen WordPress-Sprachdatei zu haben, was je prinzipiell in Ordnung ist. Deswegen werden also die meisten User nix von dem lästigen Phänomen bemerken. Fragt man sich nur, warum die Core-Prorammierer nicht alle drei Strings rausgeworfen haben sondern nur einen, wenn man das an der Stelle als redundant und obsolet erachtet?

    Aber egal: Was kann ich jetzt tun?

    1) In meinem Theme "% Comments" durch "% Kommentare" überschreiben (quick & dirty)

    2) Für mein Theme extra deswegen eine eigene Sprachdatei anlegen (aber wie?)

    3) In die offizielle WP-Sprachdatei die fehlende Zeile "% Comments" samt Übersetzung wieder einfügen (auch nicht trivial, wenn man bis dato nur mit Poedit Bestehendes geänadert hat. Hält überdies nur bis zum nächsten offiziellen Update.)

    Was schlagt Ihr vor?

    Vielen Dank und beste Grüße,
    Ralph
     
    #2 zonebattler, 13. Dezember 2015
    Zuletzt bearbeitet: 13. Dezember 2015
  3. FlorianBrinkmann

    FlorianBrinkmann Well-Known Member

    Registriert seit:
    6. Oktober 2013
    Beiträge:
    390
    Zustimmungen:
    1
    Übersetzt ist der String im WordPress-Core.

    Kann es sein, dass dein Theme eigene Sprachdateien mitbringt oder du im Backend die Meldung bekommst, dass du Übersetzungen aktualisieren kannst (Unter „Dashboard“ bei „Aktualisierungen“)?
     
  4. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    369
    Zustimmungen:
    20
    Eben nicht (mehr)! In den mit WP 4.4 mitgelieferten deutschen Lokalisationsdateien de_DE.mo / de_DE.po ist dieser String weggefallen, wie ich eingangs schrub. Womöglich aus Versehen, aber er ist jedenfalls weg. Daher rührt ja auch das Problem...

    Weder/noch, mein Theme hat keine eigene Sprachdatei, also gibt es da auch nix zu aktualisieren. Ergo greifen die coreseitigen Übersetzungen, und da fehlt neuerdings der besagte String... Würde ihn ja gerne einfügen, aber wie? Ursächliche Behebung wäre m.E. angesagt, also Wiederaufnahme in die de_DE.po!

    Beste Grüße,
    Ralph
     
    #4 zonebattler, 13. Dezember 2015
    Zuletzt bearbeitet: 13. Dezember 2015
  5. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    369
    Zustimmungen:
    20
    So, gelöst. In der allgemeinen Sprach-Datei de_DE.PO habe ich unter die Einträge


    #: wp-includes/comment-template.php:880
    msgid "No Comments"
    msgstr "Keine Kommentare"

    #: wp-includes/comment-template.php:882
    msgid "1 Comment"
    msgstr "1 Kommentar"


    soeben manuell hinzugefügt:


    #: wp-includes/comment-template.php:884
    msgid "% Comments"
    msgstr "% Kommentare"


    (wobei ich die 884 geraten/ausprobiert habe). Abgespeichert, in Poedit geladen, kompiliert gespeichert und das Ergebnis hochgeladen: Funzt wieder!

    Würde das gerne an die für die Sprachdatei zuständigen Kollegen weiterreichen, kann das jemand für mich erledigen? Danke!

    Beste Grüße,
    Ralph
     
  6. FlorianBrinkmann

    FlorianBrinkmann Well-Known Member

    Registriert seit:
    6. Oktober 2013
    Beiträge:
    390
    Zustimmungen:
    1
    Bei dir muss dann etwas anderes schief gelaufen sein, der String ist nämlich übersetzt: https://goo.gl/snCygc (muss den URL-Shortener nehmen, da das Forum nicht mit eckigen Klammern in URLs klar zu kommen scheint).
     
  7. Monika

    Monika Well-Known Member
    Ehrenmitglied

    Registriert seit:
    4. Juni 2005
    Beiträge:
    14.126
    Zustimmungen:
    2
    ich habe mir nun extra twenty ten installiert :)

    da find ich

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    und es steht ganz korrekt im Frontend:
    Hinterlasse einen Kommentar

    beim anderen Beitrag
    1Kommentar

    beim anderen wo 2 sind
    2Kommentare

    und ich habe die im twenty ten Ordner vorhandene pot Datei nicht übersetzt,


    grad irrtiert ich bin .. gebe ich zu.
     
  8. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    369
    Zustimmungen:
    20
    @Florian: Interessant, danke! Aber schiefgelaufen ist bei mir nix, denn der von Dir verlinkte String

    %s Comment

    ist ein anderer als der von mir als fehlend angemahnte String

    % Comments

    Offenbar hat man da was umgestellt und eine "veraltete" Form halbherzig/teilweise entfernt, die aber noch von allerlei Themes benutzt wird...


    @Monika: Dann wirf mal die Sprachdatei von Twenty Ten raus (aus dem neuen allgemeinen Language-Ordner) , so daß nur die Core-Übersetzung übrig bleibt. Dann sollten die Strings für keinen oder einen Kommentar weiterhin in Deutsch erscheinen, nicht aber der für mehrere...


    Beste Grüße,
    Ralph
     
    #8 zonebattler, 13. Dezember 2015
    Zuletzt bearbeitet: 13. Dezember 2015
  9. FlorianBrinkmann

    FlorianBrinkmann Well-Known Member

    Registriert seit:
    6. Oktober 2013
    Beiträge:
    390
    Zustimmungen:
    1
    @Ralph,

    wenn ein Theme einen String selbst einfügt, dann sollte es meiner Meinung nach auch selbst die Übersetzung bereitstellen und nicht auf eine Übersetzungs aus dem Core vertrauen – denn wenn die sich ändern, dann hast du genau die Auswirkung. Und das hat nichts mit „halbherzig/teilweise“ zu tun, denn die Core-Übersetzung ist nun mal für den Core gedacht, nicht für Theme-Strings die eventuell zufällig gleich lauten.
     
  10. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    369
    Zustimmungen:
    20
    Florian, ich glaube, wir reden aneinander vorbei. In der deutschen Core-Sprachdatei stand bis zur Version 4.3 drin:


    #: wp-includes/comment-template.php:880
    msgid "No Comments"
    msgstr "Keine Kommentare"

    #: wp-includes/comment-template.php:882
    msgid "1 Comment"
    msgstr "1 Kommentar"

    #: wp-includes/comment-template.php:884
    msgid "% Comments"
    msgstr "% Kommentare"


    Und in der aktuellen Version 4.4 steht nur noch, aber auch immer noch drin:

    #: wp-includes/comment-template.php:880
    msgid "No Comments"
    msgstr "Keine Kommentare"

    #: wp-includes/comment-template.php:882
    msgid "1 Comment"
    msgstr "1 Kommentar"


    Und das führt bei Themes ohne eigene Sprachdatei (und davon kenne ich eine ganze Menge) automatisch und zwangsläufig zu dem von mir beschriebenen Verhalten. Besagtes Theme fügt(e) hier überhaupt nix hinzu, es fiel im Gegenteil eine seit Jahren vorhandene Übersetzung aus dem Core weg!

    Schönen Abend,
    Ralph
     
  11. Monika

    Monika Well-Known Member
    Ehrenmitglied

    Registriert seit:
    4. Juni 2005
    Beiträge:
    14.126
    Zustimmungen:
    2

    ja wozu sollt ich denn das tun?

    regelmäßigst gibts es Veraltetes,
    erst gestern hat mich was irre genarrt (oder ich mich narren lassen)

    dann passe ich es an


    dazu nutze ich das Plugin Theme Check für den allerersten Check

    kostet eindeutigst weniger Nerven und geht ziemlich rasch :)
     
  12. FlorianBrinkmann

    FlorianBrinkmann Well-Known Member

    Registriert seit:
    6. Oktober 2013
    Beiträge:
    390
    Zustimmungen:
    1
    Sorry, aber das ist nicht richtig. Ja, der String wurde geändert von „% Comments“ auf „%s Comments“. Diese Änderung wurde aber beim Upgrade von WordPress 4.3 auf 4.4 auch in der Sprachdatei berücksichtigt (logischerweise). Das hier ist ein Auszug aus der de_DE.po meiner Installation:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und wenn dein Theme, wie du sagst, „% Comments“ nicht verwendet, dann wurde das während des Updates durch „%s Comments“ ersetzt, wobei die neue Sprachdatei perfekt greift. Da du dein Problem aber beheben konntest, indem du das folgende eingetragen hast, bedeutet das, dass in deinem Theme irgendwo der String „% Comments“ vorkommen muss, da aus dem Core nur noch „%s Comments“ geliefert wird.

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und das wiederum heißt, dass sich das Theme um die Übersetzung kümmern muss, nicht der Core.

    Edit: Das hier habe ich gerade eben erst gesehen -.-

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Das ist genau das, was ich weiter oben in meiner anderen Anwort gemeint habe. Du schreibst einen englischen String in ein Theme, ohne die Übersetzung bereitzustellen und vertraust darauf, dass sich im Core keine Strings ändern.
     
    #12 FlorianBrinkmann, 13. Dezember 2015
    Zuletzt bearbeitet: 13. Dezember 2015
  13. FlorianBrinkmann

    FlorianBrinkmann Well-Known Member

    Registriert seit:
    6. Oktober 2013
    Beiträge:
    390
    Zustimmungen:
    1
    Weil ich den obigen Beitrag nicht mehr bearbeiten kann: Ignorier einfach alles bis auf den Edit-Bereich, davor hatte ich die comments_popup_link()-Zeile noch nicht gesehen …
     
  14. zonebattler

    zonebattler Well-Known Member

    Registriert seit:
    23. Februar 2008
    Beiträge:
    369
    Zustimmungen:
    20
    Ich habe keinen englischen String in ein Theme geschrieben, ich habe dort einen vorgefunden und niemals verändert. Bis dato funktionierte der vollständig, nach dem Update auf WP 4.4 nur noch zu zwei Dritteln. Ich konnte das fehlende Drittel mittlerweile wieder "nachrüsten", und damit kann die Akte geschlossen werden. "Abwärtskompatibilität" halte ich nebenbei bemerkt für keine schlechte Sache.

    Vielen Dank und beste Grüße,
    Ralph
     
  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