In diesem Leitfaden erfahren Sie, wie Sie mehrsprachige WordPress-Themes erstellen können. Bei mehrsprachigen Themes werden nicht nur alle Texte in GetText-Aufrufen eingebunden und eine .mo-Datei bereitgestellt. Die Lokalisierung der Theme-Texte ist ein wichtiger Schritt, aber es gibt noch mehr zu tun.

Ein Theme für eine mehrsprachige Website muss die verfügbaren Sprachen anzeigen, die Auswahl der gewünschten Sprache ermöglichen und alle Sprachen korrekt anzeigen.

Folgendes ist zu tun:

  1. Bereitstellung der Lokalisierung für verschiedene Sprachen.
  2. Ermöglichung des Umschaltens zwischen verschiedenen Sprachen.
  3. Ausgabe des richtigen Inhalts für jede Sprache.
  4. WPML sagen, was übersetzt werden muss.

Vorbereitung des Themes für die Übersetzung

Damit das Theme in verschiedenen Sprachen angezeigt wird, müssen die Texte vor der Anzeige übersetzt werden. WordPress verwendet hierfür GetText, dies sollte auch für Ihr Theme gelten.

Wir haben einen Beitrag über die Lokalisierung von WordPress-Themes verfasst. Dort erfahren Sie, wie Sie diese Theme-Texte in GetText-Aufrufe einbinden, Übersetzungen (.mo-Dateien) erstellen und diese in das Theme einbinden können.

Umschalten zwischen verschiedenen Sprachen

Ein Sprachumschalter zeigt dem Besucher die verfügbaren Sprachen an und ermöglicht ihm die Auswahl.

Sprachumschalter können verschiedene Formen annehmen. Manche Menschen bevorzugen ein kompaktes Dropdown-Menü mit den Namen von Sprachen. Andere zeigen die Flaggen von Ländern an und wieder andere vertikale Listen der Sprachen.

WPML macht die Implementierung von Sprachschaltern einfach. Es wird mit einem eigenen Dropdown Sprachumschalter geliefert, der auch als Widget eingebaut werden kann. Dieser Sprachumschalter kann die Flaggen von Ländern, die Namen von Sprachen und ihre Übersetzungen anzeigen. Es kann vom WPML -> Sprachen-Menü aus konfiguriert werden.

Sie können auch Ihren eigenen, benutzerdefinierten Sprachumschalter erstellen und ihn an verschiedenen Stellen in Ihr Theme einfügen. Die Anleitungsseite Benutzerdefinierter Sprachumschalter erläutert, wie Sie ihn erstellen können. Außerdem liefert sie Beispiele für häufige Verwendungsmöglichkeiten. Das Hinzufügen eines benutzerdefinierten Sprachumschalters zu Ihrem Theme kann für mehr Flair und Eleganz sorgen und es für Benutzer offensichtlich machen, dass das Theme für mehrsprachige Seiten gedacht ist.

Abrufen des Inhalts in der richtigen Sprache

Viele Themes enthalten hartcodierte Links auf Seiten, Kategorien und Tags.

WPML nutzt die Standard-WordPress-API-Funktionen und filtert sie nach Sprache.

Sie rufen zum Beispiel auf:

$args = array( 'category' => 1 );
$myposts = get_posts( $args );

Angenommen Kategorie „1“ ist eine englische Kategorie und die Übersetzung ins Spanische ist Kategorie „4“. Wenn Sie eine spanische Seite aufrufen und diesen Code benutzen, ersetzt WPML die Kategorie-Zahl im Filter durch „4“.

Damit dies funktioniert, darf ihr Code nur WordPress-API-Befehle benutzen und keine manuellen Datenbankabfragen machen (was generell eine schlechte Vorgehensweise ist).

Sie können diese Funktion in WPML -> Sprachen steuern. Suchen Sie die Option zum automatischen Anpassen der IDs.

WPML sagen, was übersetzt werden muss

WPML kann eine Sprachkonfigurationsdatei lesen. Diese Datei sagt dem Plugin alles, was es über Ihr Theme wissen muss.

Dazu gehören Admin-Texte, benutzerdefinierte Felder und benutzerdefinierte Typen, die Sie benutzen.

Sobald Sie diese XML-Datei erstellen, wird WPML sie automatisch konfigurieren und es Benutzern ermöglichen, eine mehrsprachige Seite zu betreiben, ohne auch nur einen einzelnen Einstellungsbildschirm anklicken zu müssen.

Eine Antwort zu “Benutzerdefinierte mehrsprachige Themes”

  1. Hallo,
    ich habe eine kleine Frage zu Ihrem wunderbaren Plugin. Ich würde gerne die Seite, die oben angegeben ist. übersetzen. Ich habe die grundlegenden Funktionen des PluGins verstanden. Nun aber eine kleine Frage, die für mich sehr wichtig ist. Ich habe auf der Seite einige Links, die mit Bildern verlinkt sind, auf den Bildern sind Beschreibungen von Jacken zu sehen.
    http://tunsov.gbc.net/ski-level-3-5/#!prettyphoto%5Bskikids%5D/0/
    Jetzt müsste ich eben diese Beschreibungen auch noch mal in englischer Sprache haben. Ist es Möglich mit dem PlugIn einer Seite zu sagen, dass Sie sich ein anderes Bild (englische Version) holen soll? Außerdem verwende ich ein Theme mit sehr viel custom Funktionen. Bleiben diese alle erhalten? Habe ich auf sie weiterhin zugriff bei Verwendung des PlugIns? Danke und Gruß

    Marcos