Manchmal ist es notwendig, spezielle Wörter oder Wortlaute eines verwendeten Themes oder eines Themes, dass du selbst erstellt hast zu übersetzen. Vor allem wenn du ein englischsprachiges Theme nutzt, kannst du so die noch nicht übersetzten Wörter leicht ins Deutsche übertragen. Normalerweise ist die Theme-Übersetzung recht umständlich und du benötigst ein Extra-Programm (z.B. PoEdit), um die Übersetzungen anzufertigen. Das praktische WordPress-Plugin “Codestyling Localization” schafft da Abhilfe. Mit Codestyling Localization kannst du all deine Übersetzungen im WP-Admin anlegen und anschließend gleich im Browser testen.

[grey_box] Artikel-Update: Hier kannst du dir auch noch eine Video-Anleitung zur Nutzung des Codestyling Localization Plugins anschauen: WordPress Video-Tutorial Teil 3: Die Theme-Übersetzung. [/grey_box]

Und so funktioniert’s

Es gibt zwei Varianten das Plugin für die Theme-Übersetzung zu nutzen (mit Hilfe des Plugins kannst du neben Themes übrigens auch andere Plugins und WordPress selbst übersetzen). Zum einen kannst du eine Übersetzung für ein Theme anlegen, das bisher noch nicht für die Übersetzung vorbereitet wurde. Oder du kannst mit Hilfe des Plugins bei einer bereits vorhandenen Theme-Übersetzung einzelne Wörter oder Sätze an deine Wünsche anpassen.

Ich möchte hier erklären, wie du für ein noch nicht übersetztes Theme eine eigene Übersetzung anlegst. Als Beispiel habe ich mir das Free-Theme “Sight” heruntergeladen. Das Theme ist bisher nur in einer englischen Version vorhanden und auch noch nicht zur Übersetzung vorbereitet.

1. Alle Theme-Dateien auf gettext-Komponenten prüfen

Damit Texte des WordPress Theme-Codes übersetzt werden können, müssen die Texte innerhalb der PHP-Funktion __() oder _e() stehen.

__() wird genutzt, wenn der Text sich bereits innerhalb von PHP-Code befindet, z.B.:

[php]
<?php the_content( __( ‘Continue Reading &rarr;’, ‘deinthemename’ ) ); ?>
[/php]

_e() wird verwendet, wenn der Text ohne Übersetzung nur in HTML stehen würde, z.B.:

[php]
<?php _e( ‘Not Found’, ‘deinthemename’ ); ?>
[/php]

Die meisten Themes erfüllen diese Voraussetzung bereits. Falls dein Theme die gettext-Komponenten nicht nutzt, musst du diese noch manuell in alle Theme-Dateien einfügen.

2. Den Languages-Ordner erstellen

Um die Übersetzung mit Hilfe des Plugins möglich zu machen, musst du als erstes in deinem Theme-Ordner einen neuen Ordner mit dem Namen “languages” anlegen. Hier werden dann später die für die deutsche Übersetzung benötigten de_DE.po und de_DE.mo Dateien gespeichert.

3. Die Textdomain laden

Jetzt öffnest du die functions.php Datei deines Themes und fügst folgenden Code hinzu, um die Textdomain mit der Funktion load_theme_textdomain zu laden. Nur mit Hilfe des Codes kann das Plugin die Theme-Texte übernehmen.

[php]
/* Make theme available for translation */
load_theme_textdomain( ‘deinthemename’, TEMPLATEPATH . ‘/languages’ );
[/php]

4. Eine neue Theme-Übersetzung mit Codestyling Localization anlegen

Nachdem du das Codestyling Localization Plugin aktiviert hast findest du unter Werkzeuge / Lokalisierung den Link zu den Plugin-Funktionen. Hier siehst du eine Liste aller WordPress-Kompontenen (WordPress selbst, Plugins und Themes), die mit Hilfe des Plugins übersetzt werden können. Unter den Punkt Themes findest du deine installierten und für eine Übersetzung vorbereiteten Themes.

Um für ein Theme eine neue Übersetzung anzulegen, klickst du jetzt in der Theme-Ansicht auf Neue Sprache hinzufügen.

WordPress Theme Uebersetzung

Im Menü findest du eine ganze Reihe möglicher Sprachen zur Auswahl. Hier kannst du auch de_DE für die deutschsprachige Übersetzung wählen.

WordPress Theme Uebersetzung

Nachdem du die neue Sprache hinzugefügt hast, siehst du kleine Symbole für die benötigten .po und .mo Dateien.

WordPress Theme Uebersetzung

Ein weißes Symbol bedeutet, dass die .mo Datei noch nicht vorhanden ist. Diese erstellst du erst im nächsten Schritt.

Jetzt klickst du auf Einlesen. Das Plugin durchsucht alle PHP-Dateien deines Themes nach zu übersetzenden Elementen ab. Nachdem der Vorgang abgeschlossen ist kannst du auf Bearbeiten gehen, um mit deiner Übersetzung zu beginnen.

Im Bearbeitungs-Modus findest du eine Liste mit allen Elementen deines Themes, die übersetzt werden können.

WordPress Theme Uebersetzung

Du kannst in der oberen Leiste auch nach bestimmten Wörtern suchen, indem du sie ins Suchfeld eingibst. Die Auswahl wird dann auf Strings mit diesem Wort eingeschränkt.

Indem du rechts auf Bearbeiten klickst, kannst du jetzt jedes einzelne Element deines Themes nach deinen Wünschen übersetzten.

Zur Übersetzung öffnet sich ein praktisches Eingabefeld, in dass du deine Übersetzung eintippst. Bist du dir bei einer Übersetzung nicht ganz sicher, kannst du auch die Google Translate API zur Hilfe nehmen, um deine Übersetzung noch einmal zu überprüfen. Die Google-Übersetzung solltest du aber immer nur als Anhaltspunkt nutzen (Vorsichtig solltest du bei der Google API-Nutzung auch sein, wenn der Text Code-Elemente enthält. Überprüfe noch einmal genau, dass nicht aus versehen falsche Leerzeichen eingefügt wurden.).

WordPress Theme Uebersetzung

Bei Elementen mit Plural-Wörtern hast du in Codestyling Localization sogar die Option, den Plural-Wert genau zu definieren.

WordPress Theme Uebersetzung

Nachdem du alle Elemente deines Themes übersetzt hast, musst du jetzt noch die .mo Datei für deine Textdomain schreiben, indem du den Button erstelle .mo Datei anwählst. Erst dann werden deine eingetragenen Übersetzungen angezeigt, und du kannst deine Theme-Übersetzungen im Browser überprüfen.

Falls du später noch einmal eine Änderung in den Übersetzungen vornimmst, darfst du nicht vergessen auch die .mo Datei immer neu zu überschreiben.

Tipps zum Weiterlesen
  • Auf der Plugin-Homepage gibt es eine ausführliche und hilfreiche Dokumentation des Plugins (auch in deutscher Sprache). Bei Fragen können auch Kommentare an den Autor geschrieben werden.
  • Eine ausführliche Erklärung zum Thema Übersetzung in WordPress kannst du außerdem im WordPress Codex nachlesen. Hier findest du auch Erklärungen zur gettext-Übersetzung, sowie zu den PHP-Funktionen __() und _e().

Wie du siehst, ist das Plugin wirklich sehr hilfreich, um schnell Übersetzungen deines Themes anzulegen oder vorhandene Übersetzungen nach deinen eigenen Wünschen zu ändern.

Über deine Fragen oder weitere Tipps zum Codestyling Localization-Plugin und zum Thema WordPress-Theme Übersetzung allgemein freue ich mich sehr!