Automatische Sprachwahl in Abhängigkeit der Browsereinstellungen

Mehrsprachige Websites sind mit TYPO3 relativ einfach umzusetzen. Da der Browser des Besuchers neben vielen anderen Dingen auch die bevorzugte Sprache des Benutzers übermittelt, gehört es zum guten Service, diese Information zu nutzen und dem Besucher die Website in seiner Sprache zu präsentieren - so Sie denn zur Verfügung steht.
Natürlich gibt es auch hierfür eine Extension: rlmp_language_detection. Nun ist diese nicht besonders neu (es gibt sie mindestens seit Version TYPO3 3.5) und besonders kompliziert ist sie auch nicht. Da ich aber erst kürzlich wieder bei einer nicht von mir erstellten Seite diese Funktionalität nachrüsten sollte und dabei erst mal komplett vor die Wand gelaufen bin, habe ich die Automatische Sprachwahl zur Extension des Monats August gewählt (ganz demokratisch natürlich).
Die Installation ist denkbar einfach - über den Extension Manager die Extension auswählen und installieren, c'est ca. Allerdings gibt es ein paar Kleinigkeiten zu beachten:
1. Sprachen korrekt konfigurieren
2. Sprachen im Browser umstellen
Um die Funktionalität zu testen, muss natürlich im Browser die Sprache umgestellt werden. Möchte man nun schnell relativ viele Sprachen testen, bietet sich ein AddOn für den Firefox an, dass viel Arbeit abnimmt: der Quick Locale Switcher. Hier sollte man in den Einstellungen konfigurieren, dass nur die Website und NICHT die Benutzeroberfläche umgestellt werden - dann startet der Browser auch nicht jedes Mal neu, wenn man die Sprache ändert. :-)
3. Sonderfälle
Wird bei der lokalen TYPO3-Installation eine andere Sprachvariable als "L" verwendet, muss etwas TypoScript angepasst werden. Wie das genau geht, steht in der Doku. Auch Multiple Page Trees sind möglich.
4. Fallstricke vermeiden
Die Extension installiert sich vollautomatisch und ich gestehe, es hat ein bisserl gedauert, bis ich dahintergekommen bin, was im Hintergrund eigentlich passiert. Das ist nicht weiter schlimm, solange es funktioniert; aber wenn das vorhandene Setup von dem abweicht, was rlmp_language_detection erwartet, kann das eine ausführliche Suche bedeuten.
Die Extension geht davon aus, dass das eigene Seitentemplate page heisst und installiert sich in page.1000. Wenn das Seitenobjekt in Euerem Template nicht page heisst, funktioniert das nicht. Und wenn page.1000 schon belegt ist, interessiert das die Extension auch nicht. Genau da lag auch das Problem bei meiner letzten Seite... Wenn man einmal verstanden hat, wo das Problem liegt, ist es recht einfach, den Fallstrick zu umgehen.
Die Extension versucht folgendes, um sich zu aktivieren:
page.1000 =< plugin.tx_rlmplanguagedetection_pi1
Heisst das Seitenobjekt anders oder ist page.1000 schon belegt, so muss einfach die linke Seite entsprechend angepasst werden. Dann klappt's auch mit den fremdsprachlichen Nachbarn! :-)



Kommentar hinzufügen