In diesem Post zeige ich dir, wie man ein bereits existierendes WordPress-Theme oder -Plugin übersetzt: mit Hilfe von ‘Poedit’ oder ‘Codestyling Localization’. Eine voll lokalisierte und übersetzte WordPress-Webseite macht es notwendig, die Inhalte zu übersetzen (mit WPML, Polylang, Multilingual Press, usw.) sowie Textbausteine in php-Dateien einzupflegen (mit Poedit oder einem anderen Plugin).
1. Textbausteine: .POT-, .PO-, .MO-Dateien
1.1. Portable Object Template (POT)
1.2. Portable Object (PO) und Machine Object (MO)
2. Wie man ein WordPress-Theme (oder -Plugin) aktualisiert
2.1. Poedit
2.2. Codestyling Localization Plugin
3. Mehrsprachige WordPress-Themes und -Plugins
Einleitung
Wenn du eine WordPress-Seite in einer oder mehreren Sprachen erstellen willst, musst du unterscheiden. Eine voll lokalisierte und übersetzte WordPress-Seite benötigt sowohl übersetzten Inhalt als auch Texteinheiten:
- Übersetzte den Inhalt (Posts, Seiten, eigens erstellte Post-Arten, usw.)
Dein Inhalt ist in einer Datenbank und nicht in Dateien gespeichert. Um den Inhalt zu übersetzen bedarf es einer Lösung, die deine Posts aus der Datenbank ließt und deine Übersetzungen dort auch wieder abspeichert.
Wenn du wissen willst, wie du deine Inhalte übersetzen kannst, lese diese ausführliche Anleitung. Du kannst auch kostenlose Plugins wie zum Beispiel qTranslate oder Polylang benutzen, oder aber auch Premium-Plugins wie WPML (standalone WordPress-Umgebung) oder Multilingual Press Pro (WordPress-Multisite).
- Textbausteine (PHP-Dateien) in Themes oder Plugins übersetzen
Themes und Plugins beinhalten Textbausteine, die sich in den Dateien befinden. Wann immer du Text wie <php _e( ‘Text’, ‘a-text-domain’ ) ?> in einem PHP-Dokument siehst, solltest du ihn auch übersetzten. Diese Textbausteine erscheinen in dem Backend und dem Frontend.
Beispiele für das Frontend sind:
- “Search” (Suchen)
- “Nothing found” (Wenn nichts bei deiner Suche gefunden wurde)
- “Read more” (Posts)
- “Leave a comment” (Texte, die den Leser ermutigen sollen, eine Nachricht zu hinterlassen)
- “Comments are closed”
- “Older comments”
Beispiele für das Backend sind:
- “Top primary menu” (Text in der Sidebar)
- “Ready to publish your first post?” (Text im WordPress-Dashboard)
- “Number of posts to show:” (Text im WordPress-Dashboard)
- “Twenty Fourteen requires at least WordPress version 3.6. You are running version %s. Please upgrade and try again” (Twenty Fourteen Theme).
Mit Tools wie Poedit (welches du völlig kostenlos benutzen kannst) oder Plugins wie Codestyling Localisation kannst du die Strings in deinen WordPress-Dateien übersetzten. Das geht auch mit Premium-Tools wie WPML.
In diesem Artikel zeige ich dir, wie man die Textbausteine mit Hilfe von Poedit oder Codestyling Localization übersetzt. Aber zunächst ist es wichtig zu wissen, was .POT-, .PO-, .MO-Dateien überhaupt sind.
1. Textbausteine: .POT-, .PO-, .MO-Dateien
WordPress-Themes werden mit dem GNU gettext framework lokalisiert. Das ist für WordPress und jedes Plugin üblich. Dennoch gibt es manche Entwickler, die die Übersetzbarkeit nicht in ihren Themes berücksichtigen, sodass du ein gekauftes Theme oder Plugin unbedingt überprüfen solltest.
Viele Themes sind jedoch schon für den multilingualen Gebrauch geeignet. Sie sollten dann die Dateien im Format .POT, .PO, .MO enthalten.
1.1. Portable Object Template (POT)
Die Master-Theme (oder Plugin-)-Übersetzungsdatei ist die .POT-Datei. Grundsätzlich ist die .POT-Datei eine Liste aller Textzeilen in den englischen Theme-Dateien:
Entwickler benutzen auch Tools wie gettext, die den PHP-Quellcode scannen und eine .POT-Datei erstellen, die dann eine Liste aller Originaltexte enthält, die für eine Übersetzung benötigt wird.
Die .POT-Datei wird dann von dem Entwickler zur Verfügung gestellt und dient als Grundlage für die neu zu erstellende Übersetzung. WordPress selbst benutzt diese nicht.
Die .POT-Datei findest du in der Sprachendatei des Themes und in dem Plugin-Ordner.
Beispiele:
- Reaktionsfähiges (responsive) WordPress Theme: wp-content/themes/responsive/languages/responsive.pot
- Contact Form 7 Plugin: wp-content/plugins/contact-form-7/languages/contact-form-7.pot
Manchmal heißt der Sprachenordner (languages) auch `lang´ und beinhaltet auch .POT-, .PO- und .MO-Dateien und eine README.TXT (Anleitungen für Übersetzter):
1.2. Portable Object (PO) und Machine Object (MO)
Die .PO-Dateien beinhalten die Originaltexte und die Übersetzungen. Dies ist eine Übersetzung, die jemand anderes angefangen (entweder der Autor, ein Übersetzer, ein Themebesitzer, usw.) und eventuell auch zu Ende gebracht hat. WordPress selbst benutzt es nicht.
Vielleicht ist dein Theme auch schon übersetzt. Zum Beispiel: Wenn du eine Datei mit den Namen es_ES.po findest, ist dein Theme schon ins Spanische übersetzt worden (es). Deine Sprache und deinen Ländercode findest du hier.
Die .MO-Dateien haben den gleichen Inhalt wie die .PO-Dateien. Die zwei Dateien unterscheiden sich jedoch in ihrem Format. Während die .PO-Dateien für den Menschen einfach zu lesen sind, sind .MO-Dateien kompiliert und für den Computer gedacht. WordPress nimmt Übersetzungen von .MO-Dateien an.
Die .MO-Dateien werden automatisch von Poedit erstellt, immer wenn man eine .PO-Datei abspeichert. Alles, was du dann mit diesen Dateien machen kannst, ist sie hochzuladen oder zu aktualisieren, wenn du eine .PO erstellst oder aktualisierst.
2. Wie man ein WordPress-Theme (oder -Plugin) aktualisiert
2.1. Poedit
Poedit ist eine Software (verfügbar für Windows, Mac oder Linux), mit der man Themes übersetzen kann. Sie ist kostenlos auf poedit.com verfügbar. Die kostenlose Version beinhaltet ein eingebautes Übersetzungsgedächtnis, das deine letzten Übersetzungen speichert und dementsprechend für ähnliche Texte Vorschläge macht.
Dieses Programm hat eine Pro-Version mit zusätzlichen Features und Vorteilen, wie zum Beispiel besonderen WordPress-Support, Wortzähler, etc. Sie kostet 19.99$.
Die einzelnen Schritte sind:
1. Öffne Poedit und wähle die Datei > Neuer Katalog aus .POT-/ .PO-Datei
2. Wähle die .POT- oder .PO-Datei aus dem jeweiligen Theme oder Plugin aus, das du übersetzen willst (Diese kannst du in den Ordnern wp-content/themes/your-theme/language/ finden)
3. Es erscheint ein Fenster, in dem du die Sprache auswählen kannst
4. Bestätige hier mit OK und Poedit wird die Datei automatisch benennen. Wenn du „Spanisch“ auswählst, heißt sie nun es_ES.po
5. Speichere die Datei auf deinem Computer
6. Jetzt kannst du anfangen, das Theme oder Plugin zu übersetzen. Der Bereich oben im Fenster wird den Text anzeigen, der übersetzt werden kann. Der bereits übersetzte Text erscheint auf der rechten Seite. Die Boxen unten zeigen den Quelltext, deine Übersetzung sowie Notizen für den Übersetzer. Das Übersetzen an sich ist wirklich einfach – wähle lediglich ein Wort oder einen Satz, gebe deine Übersetzung ein und bestätige sie mit einem Klick auf „bestätigen“
WICHTIG:
- Du solltest alle speziellen Zeichen aus dem Originaltext berücksichtigen, wenn du übersetzt (Schau dir dazu den Screenshot an)
- Es ist nicht notwendig, alle Strings zu übersetzen, da du vielleicht keine Zeit darauf aufwenden willst, Strings aus dem Admin-Bereich zu übersetzen
7. Wenn du damit fertig bist, speichere die Datei ab. Poedit erstellt automatisch sowohl eine .PO- als auch eine .MO-Datei, die du in den Sprachenordner deines Themes laden solltest.
2.2. Codestyling Localization Plugin
(Bitte beachten Sie, dass dieses Plugin ist verschwunden. Sie können als Ersatz verwenden Loco Translate)
Du kannst alle Übersetzungsdateien (.PO/.MO) direkt aus deinem WordPress-Backend managen oder ändern, ohne dazu einen externen Editor benutzen zu müssen (wie zum Beispiel Poedit).
Das Codestyling Localization-Plugin erkennt die gettext Komponenten in WordPress oder jedem Plugin oder Theme, das gettext unterstützt. Dieses Plugin ist in der Lage, den Code und die dazugehörigen Quellcodes zu scannen und hilft die mit einer Microsoft oder Google Translation API während der Übersetzung.
Nachdem du das Plugin installiert und aktiviert hast, gehe ganz einfach auf Tools > Localization und übersetze das Theme aus WordPress heraus, indem du der Anleitung befolgst.
3. Mehrsprachige WordPress-Themes und -Plugins
Wenn du eine mehrsprachige Seite haben willst, empfehle ich dir, gleich ein dafür geeignetes Theme zu benutzen. das gilt auch für Plugins.
3.1. Themes
STUDIOPRESS (Genesis Framework)
Du kannst das Genesis Framework automatisch in eine der verfügbaren Sprachen übersetzen. Es besteht hierbei kein Bedarf, diese zu übersetzen und wieder hochzuladen. Das Einzige, was du machen solltest, ist das Genesis Translation-Plugin zu installieren. Du kannst dir hier die Übersetzungen anschauen: http://translate.studiopress.com.
Über diesen Link http://themeforest.net/tags/multilingual findest du einige mehrsprachige Themes. Einige WordPress-Themes sind schon mehrsprachig und eignen sich dafür, mit mit WPML oder Poedit übersetzt zu werden, du kannst aber auch Themes mit einer kompletten integrierten Lösung finden (bei denen du nichts übersetzen brauchst – Beispiel: Amplus).
Alle Themes wurde lokalisiert, um die einfache Übersetzung zu ermöglichen. Mit jedem Theme werden die entsprechenden .PO- und .MO-Dateien mitgeliefert, die zum Übersetzen gebraucht werden können. Bestimmte Sprachen sind schon verfügbar: Zurzeit sind alle Themes bereits ins Englische, Russische und Deutsche übersetzt.
Mehr Informationen gibt es hier: http://www.elegantthemes.com/features/localization.html
Auf WordPress.org findest du für die Mehrsprachigkeit eingerichtete Themes:
https://wordpress.org/themes/tags/translation-ready
DIYTHEMES (Thesis)
Wie man Thesis in andere Sprachen übersetzt (oder einen Skin):
- http://diythemes.com/thesis/rtfm/tutorials/translate
- http://diythemes.com/thesis/rtfm/tutorials/translate-skin
WooThemes beinhalten eineSprachdatei für einfache WordPress-Übersetzungen in deine Sprache. Zudem ist WooCommerce lokalisationsbereit.
3.2. Plugins
Das WordPress-Plugin erlaubt es nicht nach Plugins zu suchen, die schon lokalisiert worden sind, also ist es das Beste, jedes Plugin auf eben dieses Feature hin abzuchecken oder den Entwickler vor dem Download zu kontaktieren.
Die meistenbeliebten Plugins sind von vonherein schon mehrsprachig: Contact Form 7, WordPress SEO by Yoast, Jetpack, MailPoet Newsletters, usw. Auch die meisten Premium-Plugins sinddafür geeignet. Überprüfe aber immer die Features-Liste.
Hast du Ratschläge zum Thema ‘mehrsprachige WordPress’? Wenn ja, teile diese doch in der Kommentarleiste unten.
Danke dafür!
Reisendernerd meint
Hiho! Was mache ich denn bei einem Update des Themes oder Plugins? Muss ich dann wieder alles neu übersetzten oder kann ich schon übersetzte teile übernehmen?
Irena Domingo meint
Das Update behebt die Übersetzungen. Sie müssen auf Ihrem Computer speichern Übersetzungen (PO und MO-Dateien)
Joel meint
Hi!
Danke für den Plugin-Tipp „codestyling localization“. Dieses ist jedoch nicht mehr erhältlich gemäss WordPress. Wenn man den Link oben anklickt, kommt man nicht zum Plugin. Kann mir jemand sagen, wo ich dieses finde? Oder gibt es eine gute Alternative?
Danke vorab!
Irena Domingo meint
Hi Joel,
Alternative plugin: https://wordpress.org/plugins/loco-translate/
Irena
Lars meint
Der Artikel sollte angepasst werden. Ein paar Links sind mittlerweile tot.
Ata meint
Hi, ich habe bereits viel mit PO-Edit experimentiert.
Nach dem Upload meiner MO Datei hat sich in meinem Theme aber nichts geändert und es wurde weiterhin english im Frontend angezeigt.
Ich habe sogar versucht die en_EN vom Webserver zu löschen und den Browsercache geleert. Dennoch zeigt die Website auf englisch an.
Muss ich vielleicht irgendwo innerhalb WordPress definieren welche MO Datei ausgegeben wird?
Aktuell habe ich alle Übersetzungen im PHP Code bearbeitet was sehr lange gedauert hat und dadurch kann ich auch kein Theme Update machen ohne meine Übersetzung zu verlieren.
Arnd Götz meint
Hi, ich hatte genau das gleiche Problem. In meinem Fall lag es letztendlich daran, das man die Verwendung von .po/.mo-Dateien in den Einstellungen des Themes selbst noch einmal aktivieren musste.
Christoph meint
Hallo, ich habe Optimizepress mit Poedit übersetzt aber wenn ich die po datei hochlade wird sie nicht angenommen, also wenn ich dann mit OP arbeiten will wurde nichts übersetzt, alles ist gleichgeblieben obwohl die po datei übersetzt ist und hochgeladen ! Hast du einen Rat oder eine eine Ahnung warum das bei OP nicht funktioniert, bei den anderen plugins funktionierts ja auch ?
Andreas Leicht meint
Danke für den klasse Beitrag !!!
Ich hatte in meinem Avada Theme für WordPress das Problem das nicht alles auf Deutsch übersetzt war. Auf der Suche nach der Problemlösung bin ich auf das Programm Poedit gestoßen und hab die mir notwendigen Wörter übersetzt. Dann habe ich mich gewundert warum die Übersetzung nach dem Hochladen der .po Datei nicht sichtbar ist. Also hab ich stundenlang weitergesucht und bin zum Glück auf diese Seite hier gelangt. Hier wurde die Vorgehensweise so präzise beschrieben das ich nun auch verstanden habe dass beim Speichern der .po Datei die Datei mit der Endung .mo erzeugt wird. Nach dem aktualisieren der .mo Datei klappt nun alles bestens.
Danke nochmal für den tollen Beitrag der mir sehr weitergeholfen hat !