1. Was macht das Modul "Language" (Sprachen-Umschaltung)?

Das Modul "Automatische Menüs" (mod_menu) bringt ja bereits eine umfangreiche Verwaltung verschiedener Sprachzweige einer Webseite mit, bei denen auch unterschiedliche Strukturen möglich sind, damit der Aufwand für die Redakteure in Grenzen gehalten wird und sie nicht bei jedem Artikel erst eine Übersetzung erstellen oder beauftragen müssen.

Ist man aber bereit, immer sofort die Übersetzung einzupflegen, dann kann man mod_language nutzen. Hierbei wird mittels Javascript eine dynamische Umschaltung der Inhalte mittels CSS-Eigenschaften vorgenommen, d.h. auf jeder Seite sind immer alle verschiedenen Sprachen enthalten, es wird aber nur eine angezeigt. Dafür müssen die Inhalte im Template in "Container" wie DIVs, SPANs oder Ps (alle Inline- und Blockelemente sind möglich) geschrieben werden, die mit den jeweiligen Klassen versehen werden, die ebenfalls frei definierbar sind, sich aber im Idealfall an die browsertypischen Sprachangaben halten, z.B.

<div class="DE"><!-- HTML: Deutscher Text; --></div>
<div class="FR"><!-- HTML: texte francais; --></div>
<div class="EN"><!-- HTML: english text; --></div>

Damit auch die Navigation umgeschaltet werden kann, wird diese in allen Sprachen durch einen Trenncode (Vorgabe "//") geteilt eingegeben, z.B. Deutsch//Francais//English.

Diese Verfahren hat sich seit vielen Jahren im praktischen Einsatz bewährt, daher wurde dies zu einem Modul erweitert, um es einfach installieren und anpassen zu können.

Für den Fall, daß clientseitig Javascript deaktiviert wurde und somit keine dynamische Umschaltung möglich ist, wird zuerst ein statischer Code eingesetzt, der auf die jeweilige Homepage verlinkt und einen Parameter setLanguage üergibt, mit dem dann eben die Sprache eingestellt wird.

Das Modul prüft auch zuallererst die im Browser eingestellt Sprache und zeigt von sich aus diese Sprache an (insofern diese als Sprache verfügbar ist, ansonsten die Default-Sprache). Durch das Wählen einer Sprache durch den User wird dieses Verhalten dann aber überschrieben und entweder als Cookie für ein Jahr oder als Session für diese Sitzung gespeichert.