Achja… der Benutzer sollte immer auf der richtigen Sprache landen.
Kunde im Workshop
Dieser kleine Nebensatz in einem Workshop oder einer Anforderung für ein mehrsprachiges TYPO3 lässt uns sofort an eine Spracherkennung denken. Diese gibt es in TYPO3 als verschiedene Extensions, jedoch nicht als eine Version, welche zahlreiche Features unterstützt und modern als PSR-15 Middelware bereitgestellt wird. Grund genug unserer Spracherkennung aus unserem TYPO3 Master auszugliedern, zu erweitern und separat als Extension zu publizieren.
Doch was genau ist eine Spracherkennung eigentlich und wie funktioniert das? Und was ist „die richtige Sprache“? Jeder Browser hat eine Liste von konfigurierten Sprachen, welche der Benutzer des Browser beliebig einstellen kann. Diese Liste wird an jede Webseite übermittelt die wir aufrufen. Die Liste besteht dabei nicht nur aus Sprachen (Beispiel „de“ für Deutschland), sondern enthält auch regionale Ausprägungen in Form eines Locales – zu Deutsch „Gebietsschema“ (z.B. „de_CH“ für Deutsch in der Schweiz). Dadurch können wir auf der Webseite auch Währungen, Datums- und Zeit-Angaben oder auch Zahlen richtig formatieren.
Diese Liste (Beispiel von meinem Browser: „de, de_DE, en, en_GB“) kann dann von dem Server ausgewertet werden und entsprechend darauf reagiert werden. An dieser Stelle findet ein Mapping von den Sprachen/Locales des Benutzers mit den Sprachen im TYPO3 statt, um die „am besten passenden Sprache“ zu wählen. Hierbei gibt es verschiedene Vorgehen, gerade wenn die erste Sprache nicht direkt einen Treffer hat. „Am besten“ ist dies bzgl. nämlich ein schwammiger Begriff, da das Regelwerk oft nicht mit den Business-Interaktionen der Kunden zusammen hängt. Geografische Grenzen oder gar Geofencing spielen bei einer Sprach-Erkennung eigentlich eine untergeordnete Rolle.
Wird eine passende Sprache ermittelt, wird dorthin weitergeleitet. Wird keine Gefunden, greift weiterhin ein Default. That’s it!
Unsere Integration – die Extension EXT:language_detection – kann über das TER oder auch via composer installiert werden. Nach der Installation kann die komplette Konfiguration mittels des TYPO3 Site-Module durchgeführt werden. Dabei hat die Extension folgende besondere Merkmale:
Alles in allem eine schöne Extension geworden, welche genau das tut, was sie soll. Wir freuen uns immer über Feedback. Vielleicht habt ihr ja Anforderungen an eine Spracherkennung, die richtig cool wären. Sagt einfach Bescheid und probiert die Extension gerne aus!
Funfact: Sprachen haben keine Flaggen. Think about it 😉