Wie man an dieser Seite (http://www.jweiland.net) sehen kann, ist es in TYPO3 problemlos möglich, Seiten in mehreren Sprachen zu erstellen und zwischen diesen hin und her zu schalten.

Dazu befindet sich unter dem Menübaum ein Auswahlmenü mit Flaggen. Sofern die Flaggen farbig (und nicht nur grau) dargestellt werden, existiert eine entsprechende Sprachversion und kann durch Anklicken angezeigt werden.

Will man diese Mehrsprachenversion einsetzen, sollte man zuerst das entsprechende Tutorial von Kasper lesen http://www.typo3forum.net/kb.php?mode=article&k=73. Danach blieben bei mir jedoch noch einige Fragen offen.

Da heisst es zum einen "Define which language will be your default language". Hierzu muss man keinen Eintrag in TYPO3 vornehmen, es ist einfach nur eine Definition. Jede Sprache erhält eine ID, die Standardsprache (z.B. Deutsch auf dieser Seite) hat die ID 0. Für jede weitere Sprache legt man im Root des Verzeichnisbaums einen Record an, jeder hat seine eigene Nummer. (Schritt 2 des Tutorials von Kasper).

Als nächsten Schritt muss man das Auswahlmenü für die Sprachen anpassen. Dazu erstellt man eine Kopie des Skripts /media/scripts/example_languageMenu.php und speichert dies z.B. unter /fileadmin/scripts/my_langaugeMenu.php. Speichert man die Kopie dagegen im /media/scripts Verzeichnis, ist die Datei nach dem nächsten TYPO3 Update verschwunden. Das Skript trägt man unter Setup im Template ein (das Beispiel ist passend für das Standard-Template TU, der Wert 'page.10.43' bestimmt, an welcher Stelle der Seite das Menü erscheint):

page.10.43 = PHP_SCRIPT
page.10.43.file = fileadmin/scripts/my_languageMenu.php

Die Datei example_languageMenu.php zeigt die Flaggen Englisch, Dänisch und Deutsch an. Hier ein Beispiel, wie statt dessen die Sprachen Deutsch (id=0) und Englisch (id=3) angezeigt:

Im Template müssen die Sprachen jetzt ebenfalls noch eingerichtet werden. Die ersten 4 Zeilen dienen zur Definition der Standardsprache. Danach folgen die Definitionen L=3. Dabei darf die Zeile [global] für das Ende der Bedingung nicht vergessen werden!

config.linkVars = L
config.sys_language_uid = 0
config.language = de

config.locale_all = de_DE
# English language, sys_language.uid = 3

[globalVar = GP:L = 3]
config.sys_language_uid = 3
config.language = en

config.locale_all = english
[global]

Datum und Zeit

Eine Hürde war für mich die korrekte Formatierung des Datums für die Zeile "zuletzt geändert am...." am Ende einer jeden Seite. Ich wollte das Datum in der Form '9. Juni 2002', allerdings wurde immer der englische Monatsname ausgegeben '9. June 2002'.

Klar, liegt an der Formatierung, dachte ich und fügte folgende Zeilen in das Template ein:

styles.content.lastUpdate.strftime = %e. %B %Y
page.10.65 < styles.content.lastUpdate

Das änderte die Sprache für die Monatsangabe zwar auf Deutsch, aber dafür ging der Datumswert verloren:

"Zuletzt geändert am 1. Januar 1970"
Anfragen im Forum brachten auch keine Hilfe, bis ich dann nach einigen Stunden auf die Lösung kam. Im Template war bereits "styles.content.lastUpdate.date" definiert, dass musste ich löschen:

styles.content.lastUpdate.date >

Um jetzt noch unterschiedliche Formatierungen für Deutsch und Englisch (June 9, 2002) zu erhalten, folgen noch diese Zeilen in meinem Template:

# Default language
styles.content.lastUpdate.strftime = %e. %B %Y

# English language, sys_language.uid = 3
[globalVar = GP:L = 3]
styles.content.lastUpdate.strftime = %B %e, %Y

[global]

Und zum Schluss, damit die Änderungen auch wirksam werden:

page.10.65 < styles.content.lastUpdate

Download PHP Skript für Sprachauswahl (1.6 kB)
http://www.jweiland.net/uploads/medi...nguageMenu.zip

© JWeiland www.jweiland.net/typo3cms/