PHP5 und gettext verhindern lokalisierte WP-Version

Bei jedem Update und Upgrade von WordPress wiederholt sich das Verwirrspiel: plötzlich ist wieder alles in englisch! Dabei hat man garantiert die Spracheinstellungen in der Datei wp-config.php auf de_DE stehen und auch die Sprachdatei de_DE.mo im Ordner wp-includes/languages. Und bis vor dem Update funktionierte ja auch alles wunderbar.

Mögliche Ursache: PHP5. Ist PHP5 auf dem Server installiert? Schnell mal nachprüfen! Wer nicht weiß, wie das geht (z.B. mit phpinfo() oder phpversion()), dem sei das Plugin Phpinfo empfohlen.

Die PHP-Version hat zwar nur indirekt etwas mit der Problemursache zu tun, aber es tritt nicht bei PHP4 auf. Wer ganz schnell das Problem beheben will, der bearbeite die Datei wp-includes/gettext.php und ersetze die Zeilen

if ($magic == ($MAGIC1 & 0xFFFFFFFF) || $magic == ($MAGIC3 & 0xFFFFFFFF)) {
// to make sure it works for 64-bit platforms
  $this->BYTEORDER = 0;
} elseif ($magic == ($MAGIC2 & 0xFFFFFFFF)) {

durch

if ($magic == $MAGIC1 || $magic == $MAGIC3) {
  $this->BYTEORDER = 0;
} elseif ($magic == $MAGIC2) {

Das müssten aktuell die Zeilen 117-119 sein. Der Kommentar (eingeleitet durch „//“) kann natürlich drin bleiben, aber der wäre dann falsch an dieser Stelle.

Diese Lösung habe ich im offiziellen WordPress-Forum gefunden, wo auf den ursprünglichen Beitrag in einem dänischen WP-Forum verwiesen wurde.

Wer jetzt noch wissen möchte, wieso das so ist, dem kann ich nicht wirklich weiterhelfen. Denn warum sich die Kombination von PHP5, 64-Bit-Plattform-Absicherung und GNU-gettext[1] so seltsam auswirkt, das weiß ich nicht. Wer sich aber für das Grundprinzip der Lokalisierung interessiert, den verweise ich auf meinen langen Beitrag über Lokalisierung.

  1. GNU-gettext ist eine Bibliothek, die genutzt wird, um ein Programm, wie z.B. WordPress, in mehreren Sprachen anzubieten. []

Veröffentlicht von

juliaL49

Wilde Mischung aus musikinteressiertem Konzertbesucher, fernsehbegeistertem Whovian, radfahrendem Läufer, fotografierendem Atheisten und ausgewandertem Bioinformatiker

6 Gedanken zu „PHP5 und gettext verhindern lokalisierte WP-Version“

  1. Deshalb auch immer warten, bis im Dashboard Deines WordPress die News erscheint, dass WordPress jetzt auch in deutscher Sprache erhältlich ist. Ich hatte da immer keinerlei Schwierigkeiten…
    Kann aber auch sein, dass ich Deinen Beitrag überhaupt nicht verstanden habe, weil PHP und was weiß ich nicht alles nicht unbedingt zu meinen Spezialgebieten zählt 😉

  2. @flash
    Na du bist ja genau die Zielgruppe, weshalb diese Abfrage überhaupt eingefügt wurde. Aber für die 32 Bitler ist das nicht nötig und wahrscheinlich auch problematisch.

    @Sasch
    Das hat nichts mit der deutschen Version zu tun. Die ist ja im Original auch in englisch (guck mal in den Quelltext), da ist nur die deutsche Sprachdatei dabei (im languages-Ordner). Das Problem ist hier, dass die Sprachdatei keinerlei Anwendung findet. Ich hatte vorher ja auch das Original-WP installiert und da gab es keine Probleme (weil ich da obige Änderung schon ausgeführt hatte).

  3. Ich wollte mit dem „deutsches WordPress“ nur zum Ausdruck bringen, dass die lokalisierte Version ohne irgendwelche eingriffe läuft.

  4. Joa, dat hab isch schon verstanden 🙂
    Wie gesagt, warum das bei mir (und wohl einigen Anderen) nicht funktioniert, liegt an der PHP-Version (mir fiel es auf, als ich den Server wechselte und von PHP4 auf PHP5 umstieg). Die Lösung habe ich durch Suche gefunden und wenn man den 64-Bit-Fix rückgängig macht, dann geht es wieder. Dort stand allerdings nicht, warum es sich so verhält. Bei einem 64bit-System, wo alles übersetzt wird, besteht ja glücklicherweise kein Handlungsbedarf.

Kommentare sind geschlossen.