Mehrsprachige Webseiten mit WordPress

Eine praktikable Lösung für die Realisierung von mehrsprachigen Webseiten mit WordPress ist das Plugin qTranslate von Qian Qin. Mit Hilfe des Plugins lassen sich Titel, Artikel, Seiten und Kategorien mehrsprachig anlegen und verwalten. Mittels eines Sprachswitch-Buttons lässt sich bequem im Frontend und im Backend zwischen den Sprachen wechseln.

Mit dem Plugin qTranslate lassen sich mehrsprachige Webseiten mit WordPress realisieren

Sprachverwaltung von qTranslate

Das Plugin qTranslate hat sich im Einsatz, sowohl aus redaktioneller als auch aus administrativer Sicht, als gut händelbar erwiesen. Eine genauere Beschreibung des Plugins für mehrsprachige Webseiten in WordPress findet ihr auf Elmastudio und dem Blog von Roman Kaeppeler.

Mehrsprachige Texte in den Template-Dateien erstellen

Um auch Texte und benutzerdefinierte Felder in den Template-Dateien des WordPress-Themes mehrsprachig anzeigen zu lassen, stellt das Plugin für jede Sprache Quicktags zur Verfügung (z. B. [:en] für die englische Variante).

So lassen sich mehrsprachige Texte direkt im Template darstellen:

<?php _e("[:de] deutscher Text [:en] englischer Text"); ?>

Um einen Link mehrsprachig zu erstellen:

<a href="<?php _e("[:de] http://www.deutsch.de/ [:en] http://www.englisch.de"); ?>"><?php _e("[:de] Ankertext [:en] Anchor Text"); ?></a>

Benutzerdefinierte Felder für die Mehrsprachigkeit

Texte in den angelegten benutzerdefinierten Felder (custom fields) können mit Hilfe der Sprach-Quicktags auch mehrsprachig angezeigt werden. Hier der entsprechende Code für die Template-Dateien zur Ausgabe der custom fields:

<?php echo _e(apply_filters(' ', _(get_post_meta($post->ID, 'benutzerdefiniertes_feld', true)))); ?>

Als Wert für das benutzerdefinierte Feld wird der mehrsprachige Text mit Hilfe der Quicktags angelegt: [:de] deutscher Text [:en] englischer Text.

Conditional Tag für mehrsprachige Webseiten mit qTranslate

Mit Hilfe einer Abfrage können Elemente in Abhängigkeit der gewählten Sprache im Frontend angezeigt werden. Im folgenden Beispiel wird mit Hilfe von zwei benutzerdefinierten Felder der Seitentitel je nach gewählter Sprache unterschiedlich ausgegeben:

<title>
<?php
if(qtrans_getLanguage() == "de")
echo _e(apply_filters(' ', _(get_post_meta($post->ID, 'Title_Deutsch', true))));
else if(qtrans_getLanguage() == "en")
echo _e(apply_filters(' ', _(get_post_meta($post->ID, 'Title_Englisch', true))));
?>
</title>

Sprachswitch ohne Widget

Das Plugin stellt ein Widget für den Sprachwechsel zur Verfügung. Möchte man außerhalb der definierten Widget-Area einen Sprachswitch einfügen geht das mit Hilfe eines Template-Tags:

<?php qtrans_generateLanguageSelectCode('$type'); ?>

$type = ‘image’ – Flaggen für die Sprachwahl
$type = ‘text’ – zeigt nur Text an
$type = ‘both’ – zeigt sowohl Flaggen als auch Text an
$type = ‘dropdown’ – generiert eine Dropdown-Liste

Verschiedene Post-URLs für unterschiedliche Sprachen

Bedauerlicherweise stellt qTranslate für die Beitrags-URL lediglich eine Variante zur Verfügung. Hier schafft die Erweiterung qTranslate-Slug Abhilfe. Dieses Plugin unterstützt für jede Sprache eine eigene Post-URL.

Fazit:
Mit Hilfe des Plugins qTranslate und der genannten Code-Schnipsel hat man eine flexible Möglichkeit mehrsprachige Webseiten in WordPress zu erstellen.

Schreibe einen Kommentar

Required fields are marked *.