Mehrsprachige Primary & Secondary Links in Drupal 6

Mehrsprachige Primary & Secondary Links in Drupal 6

In Sachen Mehrsprachigkeit hat Drupal 6 deutliche Fortschritte gegenüber der Vorgängerversion gemacht. Aber noch immer gibt es Stellen an denen es hakt. Eine solche sind die Primary und Secondary Links, bzw. alle Menüs, die nicht in Form von Blocks auf der Seite erscheinen. Zwar kann man die Menüpunkte mit Hilfe der Oberflächenübersetzung in andere Sprachen übersetzen. Diese Methode versagt jedoch, wenn sich die Menüstrukturen in den verschiedenen Sprachen unterscheiden, oder einzelne Menüpunkte auf andere Ziele verweisen.

Für Abhilfe sorgt der Einsatz von mehrsprachigen Variablen. Und das geht so:

  1.  In die Datei settings.php - zu finden unter ../sites/default/ - trägt man am Ende folgenden zusätzlichen Code ein

    /** * Multilingual settings * * This is a collection of variables that can be set up for each language when i18n is enabled. * These are the basic ones for Drupal core, but you can add your own here. */ $conf['i18n_variables'] = array( // Site name, slogan, mission, etc.. // 'site_name', // 'site_slogan', // 'site_mission', // 'site_footer', // 'anonymous', // Different front page for each language // 'site_frontpage', // Primary and secondary links 'menu_primary_links_source', 'menu_secondary_links_source', // Contact form information // 'contact_form_information', );
    Alle Einträge die mit // beginnen sind auskommentiert! Lediglich die Variablen für die Primary und die Secondary Links werden verwendet. Die Datei nun speichern und wieder schreibschützen.
     

  2. Während der Tests sollte auf jeden Fall der Block für die Sprachumschaltung aktiviert sein: "Verwalten -> Strukturierung -> Blöcke -> Sprachumschalter". Damit kann bequem zwischen den verschiedenen Sprachen wechseln.
     
  3. Nun für jede zusätzlich Sprache ein weiteres Menü anlegen und die Menüpunkte in der jeweiligen Sprache eintragen. Nach Möglichkeit sollte man die Menüs so benennen, dass ihre Sprache leicht erkennbar ist. Also z.B. "Hauptmenü DE", "Hauptmenü EN" usw.
     
  4. Anschließend unter "Verwalten -> Strukturierung -> Menüs -> Einstellungen" im Feld "Die Quelle der Hauptlinks" mit dem Menü für die deutsche Sprache verbinden. Dass diese Variable mehrsprachig ist erkennt man an dem Hinweistext "Dies ist eine mehrsprachige Variable." der unter dem Feld steht. Entsprechend verfährt man mit den Secondary Links in "Die Quelle der Sekundärlinks".
     
  5. Jetzt die Konfiguration speichern, zur nächsten Sprache wechseln und Schritt 4 wiederholen, bis alle Sprachen abgearbeitet sind.

So lässt sich für jede Sprache ein individuelles Menü anbieten, auch wenn dieses nicht in einer Blockposition erscheint.