WordPress Plugins übersetzen

Viele WordPress-Nutzer bevorzugen eine deutsche Oberfläche, weil sie der englischen Sprache nicht mächtig sind oder es einfach als angenehmer empfinden, sich mit ihrem Blogsystem in ihrer eigenen Muttersprache zu verständigen.
Für das Basissystem von WordPress wird mit großem Enthusiasmus vom wordpress-deutschland.org-Team eine Übersetzung bereitgestellt. Viele Plugins allerdings nicht nur in englischer Sprache verfügbar, was nicht nur den Nutzer verwirrt, wenn plötzlich Meldungen in einer anderen Sprache erscheinen, sondern auch ein uneinheitlichen und unprofessionelles Bild ergibt.

Zum Glück ist es in WordPress aber relativ einfach, Plugins in eine andere Sprache zu übersetzen. Sofern das Plugin es vorsieht und die Funktion __() (Doppelunterstrich) oder _e() für die Textausgaben benutzt. Diese Funktionen benutzen die gettext Bibliotheken und Werkzeuge.

Bei diesem System wird eine Textdatei (.po, Portable Object Template), die den Originaltext und den übersetzten Text enthält, in eine Binärdatei (.mo, machine Object) übersetzt. Bei WordPress Plugins befinden sich diese Dateien häufig im Hauptverzeichnis des Plugins oder in einem Unterverzeichnis namens language, languages oder ähnlich. Die Dateiname bestehen meistens aus dem Namen des Plugins und dem Ländercode der jeweiligen Sprache (z.B de_DE für Deutschland, fr_FR für Frankreich).

Die „.po“-Datei hat folgendes Format:

msgid "Hello World."
msgstr "Hallo Welt."

msgid "Enter password:"
msgstr "Passwort eingeben:"

[...]

In msgid steht immer der Originaltext, wie er im Plugin-Code angegeben ist, in msgstr der übersetzte Text.

Erzeugen einer Sprachdatei mit MS Windows
Besteht bereits eine Sprachdatei für eine andere Sprache, so ist es am einfachsten diese Datei als Vorlage zu kopieren. Diese Datei kann man anschließend im Texteditor seines Vertrauens oder in einem speziellen Programm editieren. Ein einfach zu benutzendes Programm ist Poedit:

Mit „Datei/Öffnen“ öffnet man die vorhandene .po-Datei, geht zeilenweise die Text durch und definiert die deutschen Texte im unteren Texteingabebereich. Ist dies für alle Texte geschehen, speichert man die Datei mit „Datei/Speichern“. Poedit erzeugt dabei automatische die notwendige .mo-Datei.
Jetzt sollte WordPress die Texte in deutscher Sprache ausgeben.

Etwas schwieriger gestaltet sich die Sache, wenn noch keine Sprachdatei vorhanden ist, denn man muss die zu übersetzenden Textstellen selber aus dem Quellcode extrahieren. Dies geschieht am einfachsten mit einem Tool, das Textstellen in einer Datei sucht. Ein kleines und sehr einfach zu benutzendes Programm ist X-Find von Xteq Systems:

Man muss nacheinander nach den Texten "__" (doppelter Unterstrich) und "_e" (Unterstrich und e) suchen und dann die gefundenen Stellen in eine Textdatei übertragen, die das oben angegebene Format hat. Anschließend geht man wie im vorherigen Absatz beschrieben vor.

Wenn das Plugin von sich aus die Internationalisierung nicht unterstützt so bleiben einem zwei Möglichkeiten:
Als erstes sollte man den Autor des Plugins anschreiben, ob es ihm möglich ist, eine Unterstützung für fremde Sprachen in sein/ihr Plugin zu integrieren. Sollte dies nicht möglich sein, so bleibt einem nur der undankbare Weg, die Textstellen im Quelltext des Plugins zu ändern. Dies ist allerdings nicht nur sehr umständlich, sondern führt zu Problemen, wenn eine neue Version des Plugins erscheinen, denn diese würden die übersetzten Dateien wieder überschreiben und alle Arbeit wäre umsonst. Man sollte sich also doch lieber an den Autor wenden und ihn evtl. damit ködern, dass sein Plugin durch die Übersetzung in neue Sprachen noch beliebter wird.

Fazit: Das Überstzen von Plugins ist nicht schwierig, wenn die Vorraussetzugen stimmen und man die notwendigen Werkzeuge zur Hand hat.

Demnächst: Erstellen der Dateien unter Linux und OS X.