- Werbung -

Eine Drupal-Seite mehrsprachig auszuführen ist eigentlich nicht so schwierig. Aber an einigen Stellen bedarf es einer speziellen Maßnahme, damit alles korrekt arbeitet. Dazu gehört auch die Startseite von Drupal.

Drupal besitzt genau eine sogenannten Startseite. Die Startseite wird jeweils aufgerufen, wenn man die Domain ohne weitere Angaben in der URL aufruft - also z.B. www.auge.de. Standardmäßig findet man den Eintrag hierfür unter "Administration => Verwalten => Einstellungen => Website-Informationen". Voreingestellt ist dort der Wert "node", man kann aber auch einen beliebigen anderen internen Pfad eintragen und somit die Startseite ändern - sinnvoll ist dies beispielsweise, wenn man einen speziellen View verwenden möchte. Hat man eine mehrsprachige Website, so soll natürlich auch die Startseite jeweils in der richtigen Sprache erscheinen. Für die Mehrsprachigkeit ist das Modul Internationalization (auch i18n genannt) zuständig. Dieses bietet verschiedene Mechanismen, um die richtige Sprachversion auszuliefern. Die Auswertung des Sprachkürzels in der URL ist dabei eine Möglichkeit, d.h. ruft man www.auge.de/en auf so wird die englischsprachige Version der Seite ausgeliefert, während bei www.auge.de/de die deutsche Version erscheint. Eine andere Möglichkeit besteht in der Auswertung der Spracheinstellung des Browsers - ist dieser beispielsweise auf Englisch eingestellt, so wird auch die englische Version der Website ausgeliefert, selbst wenn es keine weiteren Hinweise auf die gewünschte Sprache gibt.

Um nun auch die Startseite jeweils korrekt in der gewünschten Sprache ausliefern zu können, benötigt man sogenannte multilinguale Variablen. Diese werden in der Konfigurationsdatei settings.php eingetragen. Damit können auch die Teile von Drupal mehrsprachig ausgeführt werden, die nicht über i18n erreicht werden (dazu gehören übrigens auch die Standard-Menüs "Primary Links" und "Secondary Links".

Die Modifikation von settings.php erfolgt durch diesen Eintrag, der am besten am Ende der Datei erfolgt, und wie folgt aussieht:

$conf['i18n_variables'] = array(
'site_frontpage',
);

Nun erscheint auf der oben erwähnten Seite "Website-Informationen" neben dem Feld für den Eintrag der Startseite der Hinweis "Dies ist eine mehrsprachige Variable." und der Pfad enthält das Sprachkürzel der aktuellen Sprache. Auf diese Weise kann man für jede Sprachversion eine eigene Startseite angeben. Dazu wechselt man lediglich zu der gewünschten Sprache - bspw. durch Aufruf der URL

http://meine-domain.de/de/admin/settings/site-information (für die deutsche Seite)

oder

http://meine-domain.de/en/admin/settings/site-information (für die englische Seite)

usw.