Ab Drupal Version 6 wird Drupal mit dem translate ausgeliefert, welches die Übersetzung der Inhalte ermöglicht. Durch den zusätzlichen Einsatz des Models Internationalization wird die Funktionalität hinsichtlich Lokalisierung noch mal erweitert, die z.B. für sprachabhängige Menüs oder Blocks erforderlich sind.

In einem Beispiel eines deutsch / englischen Projektes werde ich aufzeigen, welche Schritte durchgeführt werden müssen, um erfolgreich ans Ziel zu kommen.

Vorgaben für das Beispiel (diese werden im Beispiel verwendet und können selbstverständlich beliebig ausgetauscht werden):

  • 2 Sprachen - deutsch / englisch
  • es wird für jede Sprache eine TLD (Top-Level-Domain) verwendet
  • die deutsche Domain heißt meinedomain.de
  • die englische Domain heißt mydomain.com

Voraussetzungen:

  • Drupal 6
  • Fortgeschrittene Drupal Erfahrung
  • Erfahrung mit dem Umgang eines Editors (wie z.B. Notepad oder psd)
  • Geringfügige Linux Kenntnisse (Umgang mit ssh und einer Shell)

Ziel dieser Dokumentation:

  • mehrere Sprachen mit einer Drupal Installation für den Inhalt (also z.B. die Texte) und der Anwendung (z.B. Menüführung, Meldungen)
  • für jede Sprache wird eine eigene TLD verwendet
  • Die Menüs werden sprachabhängig verwendet
  • Die Blocks werden sprachabhängig verwendet
  • Sprach bezogene Vokabulare
  • Die Startseite wird sprachabhängig gesetzt (wichtig für SEO)
  • Ein Wechsel zwischen den Sprachen kann auf jeder Inhaltsseite durchgeführt werden

Umsetzung:

  1. Webserver Anpassung / .htaccess Bei der Webserverkonfiguration ist es wichtig, dass beide Domains auf das gleiche Document-Root Verzeichnis zeigen - also auf das Basisverzeichnis von Drupal. In die .htaccess Datei muss direkt nach dem Eintrag RewriteEngine On folgender Abschnitt eingefügt werden: ``` RewriteCond %{HTTP_HOST} !^www\.mydomain\.com$ RewriteCond %{HTTP_HOST} !^www\.meinedomain\.de$ RewriteRule ^(.*)$ http://www.mydomain.com$1 [L,R=301] ``` Dies bewirkt, dass immer ein Redirect durchgeführt wird, wenn es sich nicht um www.meinedomain.de oder www.mydomain.com handelt (z.B. ist dass der Fall bei mydomain.com - also ohne www). Dies ist für Suchmaschinenoptimierung wichtig, um doppelten Content zu verhindern. Im drupal/sites Verzeichnis muss jetzt für eine der beiden Domains ein Verzeichnis angelegt werden: drupal/sites/mydomain.com. Darin werden dann im Unterverzeichnis modules alle projektbezogenen Module abgelegt und im Verzeichnis themes die projektbezogenen Themes. Ganz wichtig ist das anlegen der drupal/sites/mydomain.com/settings.php Datei, welche die Grundkonfiguration festlegt. Am besten man kopiert sich aus dem drupal/sites/default Verzeichnis die Datei und passt sich dann dementsprechend an. Meist muss hier nur der Datenbankzugang angepasst werden. Später werden wir hier noch eine Variablen für die Lokalisierung hinzufügen. Als letzter Schritt wir nun noch ein symbolischer Link auf die deutsche Domain gesetzt, welcher für die korrekte Erkennung des Hostnamens innerhalb Drupals notwendig ist: Dazu wechselt man in einer SSH Konsole in das Verzeichnis drupal/sites/ und für folgenden Befehl aus: ``` ln -s mydomain.com meinedomain.de ``` Falls man mit SSH nicht zurecht kommt, kann man es ja mal mit einem FTP Programm versuchen, vielleicht kann man damit auch symbolische Links anlegen (ich habe keine Ahnung ob das geht, da ich immer ssh benutze).
  2. Aktivierung der erforderlichen Module
  3. Übersetzung der Weboberfläche einspielen
  4. Aktivierung der i18n Variablen
  5. Allgemeine Spracheinstellungen
  6. Konfiguration der Inhaltstypen
  7. Umgang mit Menüs
  8. Umgang mit Blöcken
  9. Anpassungen der Webseiten Informationen
  10. Optional: Google Analytics anpassen (falls es genutzt wird) Da die beiden Sprachen getrennt auf unterschiedlichen Domains laufen, ist es auch sinnvoll für jeden der beiden Domains einen eigenen Google Analyitics-Code zu verwenden. So bekommt man die Auswertungen gezielt für jede Domain separat aufgelistet. Zuerst legt man für beide Domains in auf der Seite von Google Analytics einen ein Webprojekt an und notiert sich die Kontonummer für die Drupal Konfiguration. Danach geht an auf http://www.meinedomain.de/admin/settings/googleanalytics und gibt die Kontonummer für die deutsche Seite an. Danach wechselt man auf die englische Domain http://www.meinedomain.de/admin/settings/googleanalytics und gibt dort die Kontonummer für die englische Seite an.

Hinweise für die Suchmaschinenoptimierung:

  • Es dürfen keine Inhalte als Sprachneutral angelegt werden, da diese doppelten Content bedeuten (der Inhalt wird über beide Domains erreichbar sein)
  • Die XML Sitemap muss neu erstellt werden, falls das Projekt vorher mit nur einer Sprache betrieben wurde.

Aktualisiert: