WordPress Themes auf deutsch – So geht’s

20. März 2009 · 20 comments

Wie bringt man einem englischsprachigen Theme die deutsche Sprache bei?

Die meisten deutschsprachigen WordPress-Anwender sprechen Englisch. Aber gilt das auch für die Leser? Voraussetzen wird man das nicht können, zumal dann nicht, wenn man sich an ein Publikum außerhalb der Bloggerszene wendet. Außerdem sieht es einfach besser aus, wenn da Schreibe einen Kommentar steht statt Leave a Comment und der Submit-Button mit Abschicken beschriftet ist.

Deutschsprachige Themes und Plugins mit Codestyling Localization

Deutschsprachige Themes und plugins mit Codestyling Localization

Doch wie bringt man seinem Theme die deutsche Sprache bei?

In WordPress selbst wird die Lokalisierung mit Hilfe von GNU-gettext, d.h. PO-(Portable Object)- und MO-(Machine Object)-Dateien, durchgeführt. Die PO-Datei enthält einen Katalog der zu übersetzenden Strings (Texte) im Klartext, die MO-Datei die Übersetzungen in einem maschinenlesbaren Format. Auf sie wird im Live-Betrieb zugegriffen.

Bei guten Themes, die ihr Geld wert sind, geht es genauso. Sie sind ab Werk für die Lokalisierung mit gettext ausgestattet. Sind sie es nicht, bleibt nur die Möglichkeit, die Quelltexte selbst hardcodiert zu übersetzen, aber das ist nicht wirklich eine Option.

Ein paar technische Hinweise zur Lokalisierung für Theme-Entwickler gibt Simon Rimkus in seinem Tutorial »WordPress-Themes lokalisieren«.

Die Aufgabe besteht also jetzt darin, eine mo-Datei mit deutschen Texten zu erstellen.

Ein weit verbreitetes Tool zur Übersetzung von GNU-gettext-Dateien ist der Editor poEdit, den man herunterladen und lokal installieren muss. Die po-Datei wird vom Server heruntergeladen, übersetzt und dann wieder hochgeladen. Das ist umständlich und lästig, denn man kann das Ergebnis nicht sofort im Theme-Kontext überprüfen.

Ich wollte etwas schnelleres, das ein unmittelbares Ergebnis bringt, und habe mir deshalb das WordPress-Plugin Codestyling Localization von Heiko Rabe installiert.

Das »Codestyling Localization«-Plugin im Einsatz

Lokalisierung im Menü Werkzeuge

Lokalisierung im Menü Werkzeuge

Das »Codestyling Localization«-Plugin wird heruntergeladen und installiert. Es benötigt keine weitere Konfiguration, legt keine neuen Tabellen an und kommt ohne eigene Werte in der wp_option Tabelle aus.

Um mit der Übersetzung beginnen zu können, brauchen wir erst einmal einen Katalog der zu übersetzenden Strings, d.h. eine PO-Datei. Für die Varietäten des deutschsprachigen Raumes sind das de_DE.po, de_AT.po oder de_CH.po. Ist so eine Datei schon im Theme oder Plugin vorhanden, findet »Codestyling Localization« sie automatisch, liest sie ein und bietet sie im WordPress-Administrationsbereich zur Bearbeitung an (Punkt Lokalisierung im Menübereich Werkzeuge). Auch die Sprachdateien von WordPress selbst werden gefunden. Wer also schon immer mit der ein oder anderen Formulierung seiner WordPress-Installation unzufrieden war, kann sie hier leicht ändern.

Ist das Theme zwar für die Lokalisierung ausgerüstet, hat aber noch keine deutsche Sprachdatei dabei, müsst ihr selbst eine erstellen. Dazu klickt ihr auf den Link »Neue Sprache hinzufügen« und wählt eine Sprache aus der Dialogbox aus. Diese so erstellte PO-Datei ist aber noch leer. Um sie zu füllen klickt ihr auf den Link »Einlesen«. Das Plugin durchsucht dann die Plugin-Quelldateien nach übersetzbaren Strings und speichert sie in der PO-Datei.

Tip: Auch wenn eine po-Datei vorhanden ist, kann es sich lohnen, mal auf den Einlesen-Link zu klicken. Der Katalog wird dann aktualisiert und es kann durchaus sein, dass man nachher mehr Strings drin hat als vorher. Codestyling Localization hat dann in den Quelldateien Strings gefunden, die noch nicht im Katalog enthalten waren, und hinzugefügt.

.

Eine Sprachdatei bearbeiten und einlesen

Das Übersetzen

Hat man die Vorarbeiten erledigt – was schneller geht als die lange Anleitung vermuten lässt – kann man mit der eigentlichen Übersetzungsarbeit anfangen.

Dazu klickt man auf den Link »Bearbeiten« und erhält ein Fenster mit zwei Spalten. In der linken Spalte stehen die Strings in der Originalsprache, in die rechte kommen eure Übersetzungen. Hat man einen oder mehrere Strings übersetzt, oder vielleicht sogar schon alle, kann man ganz oben links auf den Button »erstelle mo-Datei« klicken. Das Ergebnis, die oben schon erwähnte maschinenlesbare mo-Datei, steht dem System sofort zur Verfügung und man kann sich die Früchte seiner Arbeit in einem zweiten Browser-Tab ansehen.

erstelle mo-Datei

erstelle mo-Datei

Und für alle, die jetzt gleich loslegen wollen, hier nochmal der Download-Link:

WordPress Plugin Codestyling Localisation

{ 20 comments }

1 Torsten 21. März 2009 um 16:14 Uhr

Prima Anleitung, aber wie zur Hölle übersetzt man ein Thesis-Theme?

2 fdb 21. März 2009 um 16:20 Uhr

Das erkläre ich in einem separaten Artikel auf ThesisWorld. Das wird sonst zu lang hier. Erscheint voraussichtlich morgen.

3 Torsten 21. März 2009 um 20:23 Uhr

Super, ich bleibe gespannt!

4 Chris 30. März 2009 um 23:38 Uhr

Tolle Anleitung!

5 struupi 22. Mai 2009 um 09:23 Uhr

Huhu,
klasse Beschreibung!
Danke!!!
Habe gerade das PlugIn installiert und bin irritiert, warum es nur 3 von 10 installierten themes findet?
Kann man da was machen?

lg struupi

6 boris 23. Juli 2009 um 08:20 Uhr

Besten Dank für die Erklärungen, fdb! Mal sehen aber ob bei mir das gut laufen wird.

LG

7 Heiko 7. Dezember 2009 um 12:14 Uhr

Hatte bislang im Code rumgeschrieben, um Kleinigkeiten von Templates zu ändern – das Plugin ist aber wirklich gelungen. Müsste nur noch eine Export-Import-Funktion geben (bzw. konnte ich nach kurzem Test noch nicht finden), um die po/mo Files aus dem Backend zu exportieren, extern zu übersetzen und anschließend wieder einzufügen. Muss ich mir nochmal genauer anschauen.
By the way – ein wirklich gutes Lokalisierungs-Tool für WP Seiten (Content) fehlt bislang. Nutze qTranslate, hat aber leider auch Schwächen, weil es die verschiedenen Sprachen in einem File unterbringt und der Wysiwyg Editor irgendwie damit Probleme hat. Na ja, vielleicht in der nächsten WP Vers

8 fdb 7. Dezember 2009 um 12:40 Uhr

Eine Import/Export-Funktion gibt es. Man kann po-Files einlesen und mo-Files exportieren.

9 Dirk N. 11. Dezember 2009 um 10:24 Uhr

Vielen Dank, habe schon Stunden damit verbracht, WordPress-Themes italienisch beizubringen und dabei oft ziemlich umständlich in den php-Dateien rumgerührt (bin kein Programmierer oder Webdesigner). Sprachdateien ist noch schlimmer, insbesondere weil die ersten Übersetzungen ins Italienische oft ziemlich schwach waren. Mal sehen ob’s mit dem Plugin leichter wird.

10 Timo 16. Dezember 2009 um 12:42 Uhr

Hey,
danke für diesen anschaulichen Beitrag. Dank der genauen Erklärungen und den Sreens hab ich das alles recht schnell hinbekommen.
Danke dafür
Timo von
Webdesign München

11 Matthias Mehnert 19. Dezember 2009 um 14:07 Uhr

Ein interessantes Thema. In dem Zusammenhang bietet es sich an, auf die Option zu verweisen, eine Du- oder eine Sie- Sprachdatei einzusetzen (de_DE.mo bzw. de_DE_Sie.mo). Letztere ist gerade im kommerziell genutzten Blogs oder bei Verwendung von WP als CMS sehr hilfreich, da das „Du“ ja nur in der Bloggerszene üblich ist.

Grüße aus dem Erzgebirge.

PS.: „Notify me of followup comments via e-mail“ wird wohl von den genannten Werkzeugen nicht berücksichtigt? 😉

12 fdb 19. Dezember 2009 um 15:47 Uhr

@Matthias: Doch, würde es. Wenn ich endlich Zeit und Lust hätte, das plugin zu übersetzen. 😉

13 Quantenphysiker 28. April 2010 um 18:02 Uhr

wow super 🙂 genau was ich gesucht hatte. Is immer so blöd wenn der Blog auf Englisch is dann aber da steht you can comment here or send a trackback. 😀 danke für den Post

14 Micha S. 2. Juni 2010 um 20:59 Uhr

Super erklärt, die Themes übersetze ich wenn überhaupt mit der Hand. Das ist allerdings ein ziemliches Code-Gewurschtel. Werde das mal lokal testen.

Liebe Grüße

15 Sascha 1. Juli 2010 um 06:10 Uhr

Super Plugin, das einem unhemilich viel Zeit abnimmt. Allerdings habe ich ein kleines Problem: Plugin funktioniert, findet auch das zu übersetzende Theme und lässt mich auch übersetzen. PO- und MO-Dateien sind im Verzeichnis enthalten…aber die Übersetzung erscheint nicht in der Ansicht. Gibt es noch irgendwo was, was ich einstellen muss?

16 Mika 3. Juli 2010 um 12:30 Uhr

Super Arbeit das habe ich lange gesucht. Vielen dank und Gruß Mika

17 Micha 11. Oktober 2010 um 14:16 Uhr

Hallo

In meinem Theme sind die deutschen .mo und .po Datein schon mitgeliefert.

In den Datein scheint schon alles übersetzt zu sein. Ich weiß nur nicht wie man die aktiviert. Wenn ich die in das normale WP Verzeichniss unter Language abwerfe, kann ich keine einzige veränderung sehen.

18 Unique 3. November 2010 um 05:44 Uhr

Danke. Ein sehr nützliches kleines Tool hast Du da. Ich selbst bearbeite jedes Theme eigtl. immer händisch, wobei das Ganze natürlich oft ein ziemlich großer Aufwand ist.

19 Jogger 18. Dezember 2010 um 15:40 Uhr

Na das ist ja Klasse, ich hab auch immer an denn Themes per Hand sozusagen rum geschraubt und langsam qualmt mir der Schädel. Wie sieht es aus mit Themes wie flexsqueeze oder socratestheme? Weil die halt mit mehr Funktionen ausgestattet sind.

Besten dank Jogger

20 Max 15. März 2011 um 13:50 Uhr

Hey,
Mein Theme wird nicht angezeigt bei der Auswahl. Wie kann man diese anzeigen lassen um sie zu übersetzen.

Theme: Zen Theme von http://pixelthemestudio.ca/

danke

Comments on this entry are closed.

Previous post:

Next post: