# Sprachen-Modul

Wenn die Homepage nicht mehrsprachig betrieben werden soll, muß das Sprachmodul auch nicht aktiviert werden. Benötigte Variablen der Standardsprache laut Einstellung $webutler_config['defaultlang'], werden automatisch geladen.

Das Umschalten der Sprache in der Besucheransicht geschieht automatisch. Dafür wird in der Administration jeder Seite eine Sprache zugeordnet. Wichtig ist das Umschalten hauptsächlich, wenn Module verwendet werden die Sprachkonstanten benutzen. Das gilt z.B. für das Formularmodul, damit alle Fehler- und Bestätigungsmeldungen in der Sprache des Besuchers angezeigt werden.

Wenn das Sprachmodul aktiviert wird, muß auch die Standardsprache laut $webutler_config['defaultlang'] angelegt werden.

## Funktionsweise

Jeder Contentseite wird beim anlegen eine Sprache zugeordnet. Wenn ein Modul in eine Seite includet wird, muß diese Seite für jede Sprache separat angelegt werden, da die Sprachvariablen des Moduls anhand der Sprache der Seite geladen werden.

Wenn Mehrsprachigkeit nachträglich aktiviert wird, müssen auch alle vorhandenen Seiten nachträglich einer Sprache zugeordnet werden. Sinnvollerweise sollte für jede Sprache eine eigene Layoutdatei mit allen sprachspezifischen Headereinstellungen und separaten Menüdateien angelegt werden.

## Administration

Bevor mit dem Sprachmodul gearbeitet wird, sollten alle notwendigen Modul-Übersetzungen vorhanden und Flaggenicons festgelegt sein. Die Übersetzungsdateien müssen sich jeweils im Unterverzeichnis "/lang" befinden. Die Mehrsprachigkeit wird mit der Variablen $webutler_config['languages'] in der globalvars.php aktiviert.

In der Administration werden das Sprachenkürzel sowie der Sprachenname definiert. Anschließend kann jeder Sprache eine Seite als Startseite zugeordnet werden. Dieser Menüpunkt kann mit der Variablen $webutler_config['setnewlang'] deaktiviert werden.

Das Sprachenkürzel muß mit dem Dateinamen der Sprachdateien übereinstimmen: Kürzel "de" für die Dateien de.php oder de.js, Kürzel "en" für die Dateien en.php oder en.js. Man sollte die ISO 639-1 Codes nutzen, dann gibt es auch keine Probleme mit dem CKEditor.

## Sprachauswahl integrieren

Das Template für die Sprachauswahl wird einfach an einer beliebigen Stelle auf den Seiten untergebracht.
<?PHP include "includes/languages/langblock.php"; ?>
In eigenen Modulen kann die vom Besucher gewählte Sprache mit der Sessionvariablen
$_SESSION['language']
abgefragt werden.