Jedes WordPress-Theme und -Plugin kann mit WPML kompatibel gemacht werden. Befolgen Sie dieses Tutorial, um zu erfahren, wie Sie die WPML-Kompatibilität testen und die erforderlichen Änderungen ausführen, um Ihren Code komplett mehrsprachenfähig zu machen.

Dieses Tutorial erklärt, wie Sie verschiedene Teile Ihres Themes mehrsprachenfähig machen können. Es dauert etwa 1-2 Stunden, alle Punkte durchzugehen und auf Ihr Theme anzuwenden.

Wenn Sie fertig sind, sollten Sie eine XML-Sprachkonfigurationsdatei erstellen und diese dem Stammverzeichnis Ihres Themes hinzufügen. Dies wird es anderen ermöglichen, mehrsprachige Seiten mit Ihrem Theme zu betreiben, ohne selbst etwas konfigurieren zu müssen.

Inhalt

  1. Installieren der WPML-Komponenten
  2. Fallstudie – WooThemes-Resort-Theme
  3. Übersetzen der Kopfzeile
  4. Übersetzen von Menüs
  5. Übersetzen des WooThemes-Sliders
  6. Übersetzen von benutzerdefinierten Theme- oder Plugin-Elementen
  7. Übersetzen des Beitragstexts
  8. Übersetzen von Widgets
  9. Übersetzen des Footers
  10. Erstellen einer Sprachkonfigurationsdatei für Ihr Theme
  11. GetText-Unterstützung für hartkodierte Strings
  12. Tipps und Ideen zur Fehlerbehebung

1. Installieren der WPML-Komponenten

WPML enthält mehrere Komponenten. Einige sind nötig, um Ihr Theme kompatibel zu machen, andere hingegen sind für Seiten-Admins gemacht, die später die Inhalte der Seite verwalten.

Sie sollten die essentiellen WPML-Komponenten aktivieren, die es Ihnen ermöglichen werden, Ihr Theme vollständig zu übersetzen, darunter WPML-Kern, WPML String Translation und WPML Translation Management.

Erforderliche WPML Komponenten
Erforderliche WPML Komponenten

Um diese zu erhalten, rufen Sie Ihren WPML-Account auf und klicken Sie auf Downloads.

Natürlich können Sie sich gern im Artikel WPML-Kern und Add-ons über die anderen Komponenten informieren.

2. Fallstudie – WooThemes-Resort-Theme

Sehen wir uns einmal dieses Beispiel einer Webseite von WooThemes an an, die mit Resort erstellt wurde:

Beispiel-Startseite

Während wir die verschiedenen Elemente auf dieser Seite durchgehen, erfahren wir, wie wir reichhaltige Themes oder Plugins mit WPML übersetzen!

3. Übersetzen der Kopfzeile

Die Kopfzeile des Themes oder Plugins kommt aus den allgemeinen Einstellungen von WordPress:

allgemeine-Einstellungen
Einstellungen->Allgemein

Da sie kein Bestandteil eines Beitrags ist, müssen wir WPMLs String Translation einsetzen, um sie zu übersetzen. Gehen Sie auf WPML->String Translation, suchen Sie anhand des Inhalts (dem Titel der Seite) nach dem String und übersetzen Sie ihn.

String-Übersetzung-Beispiel
WPML->String Translation

Sie müssen nichts im Theme oder Plugin einstellen, damit dies funktioniert. WPML kümmert sich automatisch darum. Wir haben Ihnen gezeigt, wie Sie den Seitennamen übersetzen können, denn wir werden WPMLs String Translation noch für vieles mehr in Ihrem Theme oder Plugin einsetzen.

4. Übersetzen von Menüs

WPML übersetzt WordPress-Menüs, ohne dass Sie dafür etwas tun müssen. Solange Ihr Theme das Standard-WordPress-Menüsystem einsetzt, wird WPML die Menüs übersetzen.

Menü-Übersetzungssteuerungen
Menü-Übersetzungssteuerungen

Wenn Sie auf Design->Menüs gehen, sehen Sie die Menü-Übersetzungssteuerungen in WPML. Erfahren Sie mehr über das Übersetzen von Menüs, um zu verstehen, wie dies funktioniert.

5.Übersetzen des WooThemes-Sliders (mit benutzerdefinierten Beitragstypen)

Das Beispiel-Theme, das wir uns ansehen, setzt einen benutzerdefinierten Beitragstyp ein, einen sogenannten ‚Slide‘ für den Slider. Das heißt, dass Sie einfach mit WPML übersetzen können, ohne viel zu konfigurieren.

Wir müssen WPML sagen, dass der benutzerdefinierte Beitragstyp ‚Slide‘ mehrsprachig ist. Das heißt, dass WPML Benutzern anbietet, ihn zu übersetzen.

Sie fragen sich vielleicht, warum WPML es zulässt, dass auf ein und derselben Seite manche Inhalte mehrsprachenfähig sind und manche ohne Sprachinformationen. Gute Frage!

Wenn Inhalte mehrsprachig sind, filtert WPML sie und gibt nur Ergebnisse in der aktuellen Sprache aus. In manchen Fällen möchten Sie den exakt gleichen Inhalt für alle Sprachen benutzen. Wenn Sie zum Beispiel die genau gleichen Slides (mit den gleichen Titeln) für alle Sprachen anzeigen möchten, behalten Sie für den benutzerdefinierten Beitragstyp Slide den Status ’nicht übersetzen‘ bei. Wir möchten die Slides übersetzen, sodass die Slides je nach Sprache unterschiedliche Titel haben können.

In der grafischen Benutzeroberfläche von GUI bearbeiten Sie einen Slide und scrollen ganz nach unten. Dann sehen Sie einen Bereich namens ‚Einrichtung mehrsprachigen Inhalts‘.

Einrichtung mehrsprachiger Inhalte
Einrichtung mehrsprachiger Inhalte

Klicken Sie das Kontrollkästchen an, um das benutzerdefinierte Feld übersetzbar zu machen und klicken Sie auf Übernehmen.

Können Sie sehen, dass dies auf unserem Screenshot grau hinterlegt ist? Das ist kein Versehen. Das ist, weil wir zum Theme oder Plugin eine Sprachkonfigurationsdatei angegeben haben.

Die Sprachkonfigurationsdatei verrät WPML alles, was es über Ihr Theme wissen muss. Dazu gehört, welche benutzerdefinierte(n) Beitragstypen und Taxonomie übersetzbar sein muss, welche benutzerdefinierten Felder übersetzt oder synchronisiert werden sollen, und welche Strings übersetzt werden sollen.

6. Übersetzen von benutzerdefinierten Theme- oder Plugin-Elementen

Viele Themes oder Plugins haben einzigartige Funktionen, die Texte in der Tabelle wp_options speichern. Die Einleitungsnachricht von Resort macht genau das.

Einleitungsnachricht in Resort
Einleitungsnachricht in Resort

Das Theme oder Plugin speichert diese Texte in der Tabelle wp_options und wir müssen WPML sagen, dass es sie übersetzen soll. Wir fügen diese Informationen der Sprachkonfigurationsdatei hinzu. Dort sagen wir WPML, welche Einträge in der Tabelle wp_options übersetzt werden sollen.

Diese Methode funktioniert gut, wenn die Optionsschlüssel festgelegt sind (wie bei den meisten Themes). Wenn Ihr Theme Arrays von Einträgen benutzt, die bei Benutzereingaben wachsen können, müssen Sie diese Einträge dynamisch registrieren. Benutzen Sie hierzu die Funktionen icl_register_string und icl_t von WPML.

7. Übersetzen des Beitragstexts

Mit WPML können die Benutzer ganz leicht Inhalte übersetzen. Die Beitrag-Bearbeitungsbildschirme enthalten die Übersetzungssteuerungen von WPML und ermöglichen es Ihnen, neue Übersetzungen hinzuzufügen und vorhandene zu bearbeiten.

Hinzufügen von Übersetzungen
Hinzufügen von Übersetzungen

Sie müssen nichts im Theme oder Plugin einstellen, damit dies funktioniert. Das Übersetzen von Inhalten ist eine Kernfunktion von WPML.

Sie müssen darauf achten, dass alle Texte, die Ihr Theme der Ausgabe hinzugefügt, übersetzbar sind. Die farbig markierten Texte auf diesem Screenshots sollten zum Beispiel in GetText-Befehle gepackt sein.

Theme-Texte
Theme-Texte

Wenn Sie Neueinsteiger in der Benutzung von GetText sind, erfahren Sie in unseren FAQ zum Übersetzen von Theme-Texten mehr darüber.

8. Übersetzen von Widgets

Mit WPML können Benutzer die Inhalte von Text-Widgets übersetzen. Zudem lassen sich die Titel aller anderen Widgets übersetzen. Wenn Ihr Theme oder Plugin seine eigenen benutzerdefinierten Widgets erstellt, achten Sie darauf, deren Titel durch die Standard-WordPress-Filter zu geben. Auf diese Weise ermöglicht WPML es Benutzern, die Titel Ihrer Widgets über den String Translation-Bildschirm zu übersetzen.

9. Übersetzen des Footers

Dieses Theme hat einen benutzerdefinierten Admin-Bildschirm zum Speichern der Footer-Texte.

Footer-Texte
Footer-Texte

Wie bei anderen Texten, die wir gesehen haben, hat das Theme oder Plugin auch die Footer-Texte in der Tabelle wp_options gespeichert. Wir werden diese Einträge der Sprachkonfigurationsdatei hinzufügen und WPML so sagen, dass es sie übersetzen soll.

10. Erstellen einer Sprachkonfigurationsdatei für Ihr Theme

Wenn Sie fertig sind und Ihr Theme komplett WPML-kompatibel ist, möchten Sie es anderen sicher so einfach wie möglich machen, mit dem Theme mehrsprachige Seiten zu betreiben.

Erstellen Sie eine Sprachkonfigurationsdatei für Ihr Theme und speichern Sie diese im Stammverzeichnis des Themes. Diese Datei sagt WPML, welche benutzerdefinierten Beitragstypen, Taxonomie, Felder und Optionen übersetzbar sind.

Diese kleine XML-Datei wird Ihren Kunden stundenlange Arbeit ersparen und es ihnen ermöglichen, mühelos mehrsprachige Seiten zu betreiben. Bei Ihren Kunden wird alles funktionieren, ohne dass sie konfigurieren müssen, was übersetzt werden soll. Dies wird Ihnen auch helfen, Supportleistungen einzusparen.

11. GetText-Unterstützung für hartkodierte Strings

Obwohl dies nicht direkt mit WPML zusammenhängt, sollten Sie daran denken, alle Strings in Ihrem Theme in GetText-Befehle zu packen. Das bedeutet, dass hartkodierte Texte in der richtigen Sprache auf der Seite erscheinen werden. Sie sollten dies sowohl bei Texten im Theme-Admin-Bereich als auch bei Texten machen, die auf Frontend-Seiten angezeigt werden.

Bei allen WordPress-Themes und Plugins, unabhängig davon, ob diese mehrsprachenfähig sind oder nicht, sollte GetText zur Übersetzung hartkodierter Strings benutzt werden. Die WordPress-Standard-Themes nutzen GetText sehr präzise und sind eine tolle Referenz, wenn Sie gerade frisch eingestiegen sind.

Texte in GetText-Befehle zu packen ist ein großes Thema für sich. Wenn Sie nicht damit vertraut sind, oder Hilfe bei der Fehlerbehebung der Lokalisierung Ihres Codes brauchen, sehen Sie sich Folgendes an:

Sie sollten wissen, dass WPML vollständig in GetText integriert ist. Sobald Sie hartkodierte Strings in GetText-Befehle gepackt haben, werden Sie sie mit Hilfe von WPMLs String Translation-Bildschirm direkt vom WordPress-Admin-Bereich aus übersetzen können. WPML kann auch .po-Dateien für Sie exportieren und importieren, sodass Sie alle Strings Ihres Theme von WordPress aus übersetzen können.

12. Tipps und Ideen zur Fehlerbehebung

Wenn Sie bereits mit den Grundlagen von WPML vertraut sind und an der Kompatibilität mit Ihrem Theme oder Plugin arbeiten, sehen Sie sich die Anleitung zur Fehlerbehebung in der Theme-Kompatibilität an. Dort finden Sie Tipps und Ideen, wie Sie Ihr Theme ganz einfach mit WPML kompatibel machen können.

Wenn Sie unsere Hilfe brauchen, sagen Sie uns einfach Bescheid. Gehen Sie in unser technisches Support-Forum, erklären Sie, was schief läuft und wir helfen Ihnen rasch.