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

Problem mit Codestyling Localization

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von Tolden, 22. November 2010.

  1. Tolden

    Tolden Well-Known Member

    Registriert seit:
    9. September 2009
    Beiträge:
    91
    Zustimmungen:
    0
    Das Plugin ist zwar wirklich prima, nur habe ich ein kleines Problem. Wenn ich bspw. ein Plugin übersetze und die mo schreibe, so werden diese auf dem Server im Language-Ordner immer unter anderem Namen gespeichert, also nicht so, wie die anderen Sprachdateien heißen. Meist ist es ja so, dass die deutsche Sprachdatei de_DE.mo/po heißt, CL legt diese Files aber als pluginxy-de_DE.mo/po an. Eigentlich ja kein Problem, benennt man die Files einfach um, aber wenn man im Nachhinein doch noch was ändern möchte und die Files wieder umbenennt zu dem Dateinamen wie CL die Files angelegt hat, so sind in den Dateien die Übersetzungen nicht mehr vorhanden. Gibt es dafür einen Workaround?
     
  2. codestyling

    codestyling WPD-Team

    Registriert seit:
    30. März 2008
    Beiträge:
    1.904
    Zustimmungen:
    0
    Das ist nicht richtig. Wenn der Author das Plugin korrekt geschrieben hat, dann wird die Sprachdatei auch mit dieser Kombination mittels der Funktion load_plugin_texdomain geladen, hier der WordPress Core Code Ausschnitt:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Wie man sieht, wird die Textdomain mit dem Sprache verknüpft, der Dateiname so gebildet und auch so angeladen. Damit ist auch die Arbeitsweise von meinem Plugin korrekt.

    Den Fall, den du beschreibst, sieht mir nach einem Progammierfehler im Plugin aus. Kannst du den Plugin Download bereitstellen, damit man sich das fehlerhafte Plugin ansehen kann?
     
  3. Tolden

    Tolden Well-Known Member

    Registriert seit:
    9. September 2009
    Beiträge:
    91
    Zustimmungen:
    0
    Ich kenne mich leider mit dem Code überhaupt nicht aus, daher kann ich darin nichts erkennen und erlesen. Es taucht bei mir bei so gut wie allen Plugins auf, die ich übersetzt haben, die da wären:

    Buddypress Easy Albums
    Buddypress Achievements
    Buddystream
    Buddypress Invite Anyone

    Das müssten eigentlich alle sein, wo ich die Probleme hatte...
     
  4. codestyling

    codestyling WPD-Team

    Registriert seit:
    30. März 2008
    Beiträge:
    1.904
    Zustimmungen:
    0
    Fehlerbeschreibung anhand von "Invite Anyone"
    Der Author lädt die Sprachdatei nach eigenem Ermessen und nicht passend zu dem, was für Plugins standard ist:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Anstatt load_plugin_textdomain zu benutzen, wird auch hier der Dateiname selbst konstruiert und mittels load_textdomain geladen. Dies wiederum führt dazu, wie die Warnung meines Plugins bereits aussagt, daß es im Ladeverhalten zu Problemen kommen kann.
    Da der Author außerdem noch die Textdomain im PHP Code so verwendet:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    wird mein Plugin nur Sprachdateien erzeugen und/oder akzeptieren, die dem Plugin Schema unterliegen, also:

    bp-invite-anyone-de_DE.po
    bzw.
    bp-invite-anyone-de_DE.mo

    Der Author versucht allerdings eine Datei "invite-anyone-de_DE.mo" zu laden, die mein Plugin gar nicht erzeugt.
    Der Ladecode und die Sprachdateinamen müssten angepasst werden, damit das auch dem Standard entspricht. Du kannst das gern anpassen aber teile dies auch dem Author mit, denn Abweichungen von der standardisierten Ladeprozedur für Sprachdateien (Plugin, Themes oder Core) führen meist zu weiteren, nicht einfach zu lösenden Problemen oder Fehlverhalten von WordPress.
     
  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