WordPress Lokalisierung: Sprachdateien online per Plugin bearbeiten

In diesem Post erfährst Du, wie die Lokalisierung in WordPress funktioniert und wie Du selbst ganz einfach die Übersetzung online in Deinem Admin-Bereich bearbeiten kannst.

Und Du brauchst dafür nichts weiter als das kostenlose Plugin Loco Translate.

Ausserdem zeige ich auch, wie Du nach WordPress, Plugin- und Theme-Updates mit wenigen Handgriffen auch Deine individuellen Übersetzungen aktualisieren und wieder aktivieren kannst.

Die Lokalisierung in WordPress

Beginnen wir mit einer kurzen Erklärung des Konzepts der Lokalisierung. In WordPress, und übrigens auch in vielen anderen Open-Source-Projekten, wird für die Übersetzung das gettext-Framework eingesetzt.

Was Dich hauptsächlich fürs Übersetzen interessiert, sind die Sprachdateien.

Die meisten Themes und Plugins sowie WordPress selbst haben eigene Sprachdateien. Mit diesen hattest Du vielleicht bereits zu tun, als Du Dein WordPress übersetzt hast. Hier die verschiedenen Dateien und für was sie benötigt werden:

  • .POT (Portable Object Template): Diese Template-Datei enthält alle Ausdrücke, die in einem Theme oder Plugin übersetzt werden können. Diese Datei brauchst Du nur, wenn Du die Übersetzung lokal auf Deinem PC erstellen möchtest. Mit dem CodeStyling Localization Plugin benötigst Du diese nicht.
  • .PO (Portable Object): Diese Datei enthält jeweils eine Übersetzung und kann von Dir bearbeitet werden. Der Dateiname enthält jeweils den Länder-/Sprachcode der Übersetzung, für Deutsch z.B. de_DE.
  • .MO (Machine Object): Diese Datei enthält ebenfalls eine Übersetzung, ist aber in einem speziellen Format, das von WordPress verwendet wird. Immer wenn Du die .PO-Datei verändert hast, musst Du die .MO-Datei ebenfalls neu generieren lassen, damit die Änderungen in WordPress aktiv werden.

Kurz: Du machst Deine Übersetzungen also immer in einer .PO-Datei, anhand derer die .MO-Datei für WordPress generiert wird.

Tipp: Es lohnt sich übrigens nicht, den Schweizer Ländercode de_CH zu verwenden. Du könntest diesen zwar für Dein Child-Theme einrichten, da jedoch für WordPress selbst und alle Deine eingesetzten Plugins keine de_CH-Übersetzungen existieren, würden grosse Teile Deines Blogs einfach in der Standardsprache Englisch bleiben. Du kannst aber problemlos Deinen de_DE-Sprachdateien einen schweizerischen Touch verleihen 🙂

Die Sprachdateien findest Du meistens im Unterordner /languages des jeweiligen Theme- bzw. Plugin-Ordners, die WordPress eigenen Dateien findest Du unter /wp-content/languages.

Wenn die Übersetzung Lücken hat

Es kann vorkommen, dass Du die Sprachdateien eines Themes oder Plugins komplett übersetzt hast, und immer noch englischsprachige Ausdrücke auf Deiner Website findest. Dann liegt das Problem meistens schlicht einfach daran, dass der entsprechende Ausdruck vom Theme- oder Plugin-Entwickler nicht für die Übersetzung vorbereitet worden ist.

Damit die Übersetzungen aus der .MO-Datei geladen werden, muss im Code der PHP-Dateien die Ausgabe mit den gettext-Funktionen __() oder _e() stehen:

<?php _e( 'Menu', 'themename' ); ?>

Die Funktion _e() wird für Übersetzungen verwendet, die direkt auf der Website ausgegeben werden.

<?php next_comments_link( __( 'Newer Comments &rarr;', 'themename' ) ); ?>

Die Funktion __() wird verwendet, wenn der übersetzte Ausdruck in einer anderen Funktion benötigt wird.

In so einem Fall kannst Du entweder darauf warten, dass ein Update des Themes das Problem behebt, oder Du musst die entsprechende PHP-Datei selbst korrigieren.

Sprachdateien online bearbeiten mit Loco Translate

Legen wir also mit dem Übersetzen los! Zuerst musst Du natürlich das Plugin installieren. Du findest das Plugin unter Plugins – Installieren, wenn Du nach Loco Translate suchst.

Nach der Installation und Aktivierung findest Du die Funktionen des Plugins unter Werkzeuge – Lokalisierung. Für jedes Theme und Plugin siehst Du alle verfügbaren Sprachen, hier z.B. für das von uns in einem anderen Artikel selbst erstellte Child-Theme:

CodeStyling Localization Sprachdatei Auswahl
Loco Translate Sprachdateien unseres Child-Themes

Bevor Du die Sprachdatei bearbeiten kannst, musst Du sie Einlesen. Dabei werden alle PHP-Dateien nach übersetzbaren Ausdrücken durchsucht. Beim Einlesen eines Child-Themes wird dabei direkt auch das Parent-Theme analysiert. Mit Klick auf analysieren startest Du den Suchlauf:

CodeStyling Localization Einlesen
Sprachdatei einlesen

Falls Du das Einlesen vergessen hast, bekommst Du beim Bearbeiten einfach eine Fehlermeldung mit dem Hinweis, die Sprachdatei zuerst einzulesen:

CodeStyling Localization Warnung
Loco Translate Warnung beim fehlenden Einlesen

Nun kannst Du mit dem Übersetzen loslegen:

CodeStyling Localization Übersetzung bearbeiten
Übersetzung bearbeiten

Nicht vergessen: Nachdem Du alle Übersetzungen gemacht hast, musst Du immer die .MO-Datei neu generieren lassen! Das kannst Du ganz einfach indem Du auf den Button erstelle mo-Datei klickst:

CodeStyling Localization Sprachdatei generieren
.mo-Sprachdatei generieren lassen

Nun ist die Übersetzung in WordPress bereit!

Wichtige Erinnerung: Wenn Du die Sprachdateien von Themes, Plugins oder WordPress selbst bearbeitest, werden Deine Änderungen beim nächsten Update wieder überschrieben! Also immer ein Backup der Sprachdateien anlegen (sprich die .PO- und .MO-Dateien von Deinem WordPress herunterladen). Und für Themes am Besten ein Child-Theme verwenden, welches Update-sicher ist. Siehe dazu den Post Theme Update-sicher übersetzen per Child-Theme.

Du hast die Sprachdateien also gesichert? Sehr gut! Und was musst Du jetzt konkret tun, wenn Du …

… ein Theme aktualisiert hast, welches Du in einem Child-Theme übersetzt hast?

Ganz einfach: Du musst in Deinem Child-Theme lediglich wieder die Sprachdatei Einlesen, und Du kannst alle neu hinzugekommen Ausdrücke übersetzen. Das Plugin holt sich mit dem Einlesen alle Änderungen aus dem Parent-Theme, und integriert diese in die Child-Theme-Sprachdatei.

… ein Theme oder Plugin (oder auch WordPress selbst) aktualisiert hast, welches Du direkt übersetzt hast?

Auch das ist relativ einfach: Zuerst musst Du die Sprachdatei mit Deinen Änderungen wieder in WordPress hochladen, da sie beim Update überschrieben oder gelöscht wurden (je nachdem ob das Theme/Plugin deutsche Sprachdateien enthält). Danach musst Du die Sprachdatei im CodeStyling Localization Plugin wieder Einlesen. Nun kannst Du wie gewohnt alle neuen Ausdrücke übersetzen.

Alles klar zum Übersetzen in WordPress oder hast Du noch Fragen?

Du erstellst Deine WordPress Website selber? Hier findest Du eine Sammlung von Checklisten, Anleitungen & Ressourcen für Anfänger.

Michael Brütsch

Webdesigner & WordPress Experte: Ich kreiere WordPress Websites, die Google liebt (aka Suchmaschinenoptimierung / SEO).

4 Gedanken zu „WordPress Lokalisierung: Sprachdateien online per Plugin bearbeiten“

  1. Ich habe deine Anleitung jetzt auch gefunden und meine Website auf deutsch eingestellt. Danke für die Hinweise. Es war mir vorher nicht klar, wie die Sprachdateien auf WordPress und im Theme „funktionieren“, bzw. wo sie überhaupt liegen.

    Antworten
    • Hi Melanie,

      Die Entwicklung des „Codestyling Localization“ Plugin ist mittlerweile eingestellt worden und man findet es gar nicht mehr im WordPress Plugin Verzeichnis. Es kann gut sein, dass es nicht mehr funktioniert…

      Probiere doch mal das „Loco Translate“ Plugin aus. Das verwende ich jetzt, wenn ich Übersetzungen machen will. Vielleicht klappt es damit 🙂

      Beste Grüsse,
      Michael

      Antworten

Schreibe einen Kommentar

Benachrichtigung bei neuen Kommentaren (wenn Du eine E-Mail erhalten willst, sobald ich Dir geantwortet habe):