WordPress Theme lokalisieren- Sprachdatei erstellen-Schritt für Schritt Anleitung

Wer ein Wordpress Theme anbietet, mag meist, dass dies auch in anderen Sprachen verwendet werden kann. Für jede Sprache eigene Templates erstellen ist mühsam und viel Arbeit. GetText und als Editor PoEdit hilft dabei. Wenn man weiß wie.

Ein WordPress Theme oder ein WordPress Plugin für viele verschiedene Sprachen anzubieten ist extrem leicht, weil WordPress “gettext” in sich beheimatet. Für technik Freaks, dies ist eine Library, die Übersetzungen einfach machen sollte.

english language flag If you would like to read this tutorial in english, please visit Weblogtoolscollection.

Für nicht Technik Freaks, dieses gettext ermöglicht, dass Übersetzungen nicht im HTML Quelltext gemacht werden müssen.

Also die Sprachdatei wird ausgelagert-ist extra. Ein einziges Mal muss man die Templates von WordPress-also alle Dateien, die ein WordPress Theme hat bearbeiten.

In diesem Artikel erkläre ich wie man die Templates, die einzelnen Dateien eines WordPress Themes vorbereitet, anschließend wie man den Editor PoEdit dann verwendet. PoEdit gibt es für viele Betriebssysteme, sein System bleibt aber gleich.

Meine Erklärungen sind einfachst, denn wer PHP kann, der weiß ja auch so wie es geht. ;)

Ich verwende hier viele Screenshots und viele Codebeispiele daher wird der Artikel lang. Ich empfehle auch diesen Artikel entweder bei einem der Social Bookmark Dienste zu bookmarken oder auszudrucken, denn so kann man leicht nachlesen.

WordPress Theme Templates für die Sprachdatei vorbereiten.

Einach eine Datei eines WP Themes mit einem Texteditor öffnen und nach “Worten” suchen oder ganzen Sätzen.

Beispiel aus meinem my-photo-blog.

Zuerst stand da wo:”Something about you.”

 <?php _e('Something about you.','mtsphoto') ;?>

Dies bedeutet:

<?php

PHP Du bekommst Arbeit. ;)

_e('Something about you.','mtsphoto')

Findet PoEdit nachher wo einen Unterstrich mit einem “e”, dann weiß es:Jetzt muss ich übersetzen. Die Klammer und die Hochkoma mag PHP.

Something about you soll übersetzt werden, dann ein Koma, dann der Name des Projektes.

Eine Übersetzung ist ein Projekt und braucht daher einen Namen.

“mtsphoto” ist ein frei gewählter Name. Ich empfehle einen aussagekräftigen Namen und kurz. Keine Sonderzeichen, keine Ziffern, Groß und Kleinschreibung ist wichtig, daher am besten immer kleine Buchstaben,sonst vertippt man sich zuoft.

Der Freiraum zwischen den Hochkoma ist dann für die Übersetzung wichtig. Es macht also Unterschied, ob man

 <?php _e('Something about you.     ','mtsphoto') ;?>

oder

 <?php _e('Something about you.','mtsphoto') ;?>

getippt hat. Sorgsames Arbeiten erleichtert einiges.

 ;?>

PHP Dein Job ist aus.

Wie geht das, wenn da schon wo PHP beim Arbeiten ist.

Aus

<?php comments_number('Leave a reply', '1 Comment', '% Comments' );?> <?php the_title(); ?>

wird dann:

<?php comments_number(__('Leave a reply','mtsphoto'), __('1 Comment','mtsphoto'), __('% Comments','mtsphoto') );?>

So bereitet man alle zu übersetzenden Worte, Phrasen, Sätze vor.

WordPress Theme und Sprachdatei bekannt machen.

in der functions.php:

Diese mit einem einfachen Texteditor öffnen und ganz oben nach dem Beginn von <?php

load_theme_textdomain( 'mtsphoto', get_template_directory() . '/languages');

Hier sind die Sprachdateien im Ordner *languages*, der innerhalb des Theme Ordners erstellt werden muss.

Sonst weiß das WordPress Theme nicht, dass es da wo eine Datei gibt, die übersetzt.

PoEdit erzeugt jetzt die Sprachdatei,die man dann übersetzen kann.

Den Editor PoEdit kann man tatsächlich einfachst installieren.

PoEdit herunterladen. Die Ausführungsdatei anklicken, den Anweisungen während der Installationsroutine folgen. Kennt man ein englisches Wort nicht, hilft wie immer dict.leo.org. ;)

PoEdit Einstellungen

PoEdit Datei==>Einstellungen
 PoEdit erste Einstellungen

PoEdit das erste Mal öffnen und unter Datei==>Einstellungen den Namen und eine Emailadresse angeben. Mehr habe ich da nicht gemacht.

Eine Sprachdatei ist für PoEdit ein Katalog.

PoEdit neuen Katalog erstellen
 PoEdit Katalogeinstellungen erstellen

Unter Projektinfo gibt man der Reihe nach an: Projektname – am besten den kurzen Namen, der auch in den Templates steht,also: “mtsphoto”.

Übersetzungsteam: Namen des Übersetzers.

Eine Emailadresse.

Sprache und dann Land kann man aus einer langen Liste auswählen.

Zeichensatz und Zeichensatz des Quellcodes ist zu 99,99% UTF 8.

PoEdit Pfad zum Katalog

PoEdit Pfad zum Katalog
 PoEdit Pfad zum Katalog

Wenn die Sprachdatei einfach im Ordner des WordPress Themes liegt, dann gehört da zweimal einfach ein Punkt hin. PoEdit stellt sich da öfters an. Liegt sie im Unterordner : 1 Punkt.
Ich musste den Punkt dreimal angeben bis PoEdit sich diesen merkte. Also wenn was nicht geht diesen Pfad kontrollieren.

PoEdit Schlüsselwörter des Katalogs

PoEdit Schlüsselwörter des Katalogs
 PoEdit Schlüsselwörter des Katalogs

Die Schlüsselwörter sind einerseis der Unterstrich und das kleine e und ein doppelter Unterstrich. Auch hier musste ich zweimal auf das kleine gepunktete Kästchen klicken bis mir PoEdit erlaubte da die Schlüsselwörter einzutragen. Hat man sich vertippt kann man das Schlüsselwort mit Klick auf das “a|e” Kästchen bearbeiten.

PoEdit speichern unter de_DE

PoEdit speichern unter de_DE
 PoEdit speichern unter de_DE

Jetzt alles speichern. Datei==>Speichern unter==>WordPress Theme Ordner suchen und den Dateinamen de_DE vergeben. de_DE ist das Sprachländerkürzel für unsere schöne deutsche Sprache. Es ist sinnvoll dies so zu tun, denn 1. irgendwann gibt es zig solcher Sprachdateien in einem WP Theme, mit de_DE sieht man gleich welche Datei welche Sprache beinhaltet. 2. funktionierts sonst nicht wirklich gut.

PoEdit erstellt nach dem Speichern ganz automatisch zwei Dateien. Eine mit der Endung .mo eine mit der Dateiendung .po. Ich betrachte diese Dateien als Zwillinge, also nicht trennen.

PoEdit endlich übersetzen

Umlaute, Sonderzeichen
 Umlaute und Sonderzeichen als html entities

Mit einem Klick auf die Weltkugel müßte PoEdit jetzt alle zu übersetzenden Worte, Sätze etc. finden und in einer Liste anzeigen. Anklicken und im Feld unterhalb die Übersetzung hineintippen.

Aufpassen: Abstände sind wichtig. Umlaute sind wichtig. Diese müssen als Entities getippt werden.

PoEdit zeigt Fehler auf

Fehleranzeige
 PoEdit zeigt Fehler an

PoEdit zeigt in einer Statusleiste an, ob eine Übersetzung für den Editor verständlich ist.

Fehler finden
 PoEdit zeigt Fehler an auch im Quelltext an

Wenn man nicht weiß wieso PoEdit mit der Übersetzung nicht zufrieden ist. Kann man unter Bearbeiten==>Verweis finden sich die Stelle im Quelltext anzeigen lassen.

Dort findet man oft einen Abstand oder wie meist bei den XYZ Kommentaren einen Fehler. Ausprobieren bis PoEdit in der Statusleiste überall zufrieden ist. Daran denken: Wortabstände sind ebenfalls wichtig.

Datei==>Speichern.

WordPress Theme mit Sprachdatei Kontrolle und mögliche Fehler

Das WordPress Theme hochladen und aktivieren.

Bleibt die Seite dann Weiß, so richtig schön jungfräulich Weiß hat man irgendwo in einem Template bei den Übersetzungsangaben einen PHP Fehler. Eine vergessene Klammer, ein Hochkoma nicht gemacht oder eines zuviel. Den Strichpunkt nicht angegeben. Das Fragezeichen verloren oder eine spitze Klammer.

Bleiben die Worte English, obwohl PoEdit keinen Fehler gemeldet hat, dann hat man vergessen in der header.php//functions.php die Sprachdatei mit dem WordPress Theme bekannt zu machen. Erklärung wie das geht viel weiter oben. ;)

Ich wünsche viel Freud mit dem lokalisierten WordPress Theme, auf dass es von China bis Afrika und sonst wo auf der Welt oft genutzt wird.

Andere Toturials zum Thema:

Fragen:

bitte mein EmailFormular nutzen, so ich Zeit habe beantwort ich gern Fragen dazu – das mache ich in der Freizeit, da kanns ein bisschen dauern, aber Antwort kommt immer. Danke!

War dies hilfreich so ist weitersagen ausdrücklichst erlaubt ;)
30 Kommentare zu "WordPress Theme lokalisieren- Sprachdatei erstellen-Schritt für Schritt Anleitung"
  1. Vielen Dank für die ausführliche Anleitung. Nun habe auch ich endlich verstanden, wie es geht. Veilleicht kann ich dieses Wissen bald mal umsetzten … Nötig hätte es meine Seite jedenfalls.

  2. Respekt, eine wunderbar verständliche Einführung in die Welt von poEdit.
    Ich werde von meinem Artikel hierher verlinken, denn du hast einiges sehr viel knackiger formuliert :-)

  3. schau mal in den WP Dateien, wie da die Englischen Begriffe angegeben sind, so ergänzt Du die Deinen, dann öffnest Du die deutsche Sprachdatei, läßt sie alle neuen Begriffe suchen und übersetzt dann

    lg

  4. Wie mache ich denn das, wenn ich meine deutsche Sprachdatei bearbeiten möchte? Ich habe die englische WordPress Software installiert und nutze per Plugin sowohl die Deutsche als auch englische Sprache. Ich möchte aber die deuscthe Sprachdatei um ein paar Begriffe erweitern. Geht das?

  5. Dankeschön!
    Besonders der Hinweis, das Theme mit der Datei “bekannt zu machen” ist wirklich Gold wert ;)

  6. Die Anleitung ist sehr gut, ich habe allerdings noch ein Problem:

    Übersetzungen die so aussehen

    <?php comments_number(__(‘Leave a reply’,'coda’),

    funktionieren. Texte die im Ursprung so aussehen

    Comments are closed.

    bekomme ich nicht übersetzt. Ist das evtl. gar nicht möglich?

  7. Hallo Christoph doch das geht auch, Du mußt sie vorher nur so vorbereiten wie eben Leave a reply vorbereitet ist, das habe ich versucht oben zu erklären

    <?php _e('Comments are closed','coda')?>

    lg

  8. Hallo,

    es scheint, dass die aktuelle PoEdit-Version einen Fehler hat. Zumindest bei mir erzeugt sie beim Speichern einen Fehler, der die erzeugten Dateizwillinge unbrauchbar macht. Das WP-Plugin “Codestyling Localization” erzeugt Abhilfe (dies ist quasi ein PoEdit für das WP-Backend).

    LG, Sascha

  9. Hi Sascha ich nutze Version 1.4.1 und die funktioniert tadellos

    Codestylings Plugin gab es noch nicht als der Artikel entstand ;)

    lg

  10. Hallo,

    ich benutze v1.4.2
    Vielleicht ist auch nur bei der Installation irgendwas schief gegangen oder die Version verträgt sich mit irgend einer anderen installierten Software nicht.

    LG, Sascha

  11. Hi Sascha das kann sein, auf alle Fälle ist das Übersetzungsplugin von Codestyling ja ne tolle Alternative .. und Du hast es geschafft, das zählt ;)

    lg

  12. Super! Vielen Dank für die Anleitung! Ich bin gerade über einen Link bei Xing aus dieser Woche hergekommen…

    LG, Annette

  13. hi,

    Ich weiß nicht, ob das hier so gut reinpasst, aber ich habe auch eine Webseite, die ich in andere Sprachen übersetzen möchte, bis jetzt wurde mir nur eine Agentur dazu empfohlen:deu.uebersetzungsagentur24.com // Übersetzungsbüro

    hat noch jemand gute Erfahrungen gehabt?

    Danke

    gruß

  14. Hi Stewart dies ist hier falsch,
    da gehts um was anders, darum lösch ich auch den Link wieder ;)

  15. Hat auch bei mir geklappt, besten Dank. Allerdings: In WP 2.9.1 müssen die beiden de_DE Dateien unbedingt in den Ordner “languages” des themes-ordner.
    Wer Glück hat, findet dort bereits ein für die Übersetzung vorbereitetes Dokument. Beim themes “magazine-basic” war es so.

  16. Super Tutorial, nur leider bleiben bei mir die Worte Englisch. :( Habe auch die in die header.php eingefügt. Muss denn noch was anderes gemacht werden? In der config.php hab ich WPLANG auch auf de_DE.

    Danke schonmal. :P

  17. Na, keine Antwort auf Patricks Frage? Hab nämlich das selbe Problem….. Was ist mit .mo-Dateien?

  18. Patrick und Valentin: was für eine Sprachdatei ist es denn? WordPress-System, Theme oder Plugin? Davon hängt es ab, wo die mo-Datei hingehört (po ist unwichtig). Das Einfügen in die header.php ist nur in Sonderfällen nötig.

  19. Um die fürs Theme. Hab die .mo-Datei an den gewünschten Stellen editiert, Zeilen geändert etc pp aber nichts ändert sich und ich versteh nicht weshalb.

  20. Dann müsste die mo-Datei in den languages-Ordner des Themes. (vorausgesetzt du hast das aktuelle WP 2.9.2) und dass dein Theme verschiedene Sprachen unterstützt (alle Texte mit _e).
    Heißt die Datei de_DE.mo? (keine Tippfehler)

  21. Ja, keine Tippfehler, Sprachunterstützung, languages-Ordner, alles wie gehabt. Ich glaub ich kämm einfach mal den WordPress Codex durch. Trotzdem danke!

  22. Also ich hab auch eine Sprachdatei für ein Theme erstellt. Für das Theme gibt es auch schon mehrer andere Sprachen – also ist es mehrsprachenfähig. Und habe auch kein Schreibfehler. Im Theme Ordner sind die anderen Sprachen in dem Unterordner “lang” auch wenn ich einen neuen Ordner mit dem Namen “languages” oder “language” erstelle funktioniert es auch nicht. Habe auch die aktuelle Version von WordPress. :(

    Danke für jede Hilfe! :)

  23. meist muss man dann in der functions.php die Sprachdateien auch mal verlinken…

    findest du in der functions.php wo eine Angabe bei der der Sprachordner dabei ist?

    ist bei der Installation WordPress auch in Deutsch?

    lg

  24. Hey,

    naja wie gesagt, das Theme gibt es in verschiedenen Sprachen aber die anderen Sprachen funktionieren auch nicht.

    In der functions.php im Themeordner steht schon folgendes drin:

    load_theme_textdomain(‘destyle’,TEMPLATEPATH . ‘/lang’);

    also gleich der Ordner wo alle anderen Sprachen auch drin sind. Und wenn man bei der config.php von WordPress bei WPLANG einfach de_DE angibt sollte es auch funktionieren, laut der Dokumentation des Themes.
    Aber funktioniert nicht. :(

  25. Super klasse der Artikel. Hab mich grade dran gemacht ein Theme zu übersetzen. Und siehe da es geht super, danke für den einfach zu verstehenden Artikel.

  26. Danke, ich habe gestern 3 Stunden gebraucht zum schaitern. Tanja hat mir dein Link gegeben und mein Fehler war der tolle ‘Punkt’ wo ich immer irgendwie vergessen habe, bzw es nie gefressen hat.
    Danke, mein Plugin kann endlich andere Sprachen.

2 Pings zu "WordPress Theme lokalisieren- Sprachdatei erstellen-Schritt für Schritt Anleitung"
  1. Sprachanpassung | Die Metaphorik des Seins
    [...] ich stundenlang herumgebastelt habe und dieses Howto leider nicht funktioniert hat (PoEdit hat in meiner Installation offensichtlich irgendeinen [...]
  2. Sprachdatei in WordPress erstellen » SigisWorld
    [...] Sprachdatei in WordPress erstellen Freitag, 23. September 2011 - 10:23In manchen Themes fehlt eine Sprachdatei, die jedoch notwendig ist ...