Mehrsprachigkeit im TypoScript
Mittels Conditions kann im TypoScript der Code markiert werden, der nur für eine bestimmte Sprache relevant sein soll. Eine Einführung in die Typoscript Grundlagen findest du hier.
Im folgenden Beispiel wird der Inhalt der Library headline in verschiedenen Sprachen befüllt. Die Sprache wird dabei über die languageId abgefragt. Um die ID einer Sprache herauszufinden, einfach mit der Maus über der Sprache im Sprachmenü ruhen. Im Tooltip wird dann die ID angezeigt.
Es können auch einzelne Worte und Sätze im TypoScript hinterlegt werden, die im Fluid Template flexibel und einfach mit dem f:translate-ViewHelper eingesetzt werden können.
Template:
oder als inline Variante:
Automatisch die Browsersprache erkennen
Das Bakehouse wird die Sprache der Benutzer:innen aufgrund der eingestellten Systemsprache erkennen und automatisch auf die entsprechende Sprache weiterleiten. Dieses Feature kann im typo3TYPO3 Back-End unter Sites > Site-Configuration > Languages > Weiterleitung deaktiviert werden.
Folgender TypoScript Code aus Version 8.0 ist nicht mehr gültig:
Sprachenmenü mit TypoScript konfigurieren
Mit folgendem Fluid Tag lässt sich das Sprachenmenü im Template platzieren:
Die Konfiguration des TypoScripts für das Sprachenmenü schaut wie folgt aus:
Standardsprache nicht Deutsch
Es ist möglich das Bakehouse so zu konfigurieren, dass Deutsch nicht die Standardsprache ist. Folgende Einstellungen müssen gesetzt werden, um die Standardsprache auf z. B. Italienisch zu setzen:
Zusätzlich muss typo3 TYPO3 Back-End unter Sites > Site-Configuration > Languages die Default-Sprache (erster Eintrag) angepasst werden.
Achtung: dieser Vorgang ist beim Projektstart vorzunehmen!
Sprachenkürzel in der URL
Das Bakehouse verwendet als Default-Verhalten die Default-Sprache ohne Prefix und alle weiteren Sprachen mit dem jeweiligen Sprachkürzel als Prefix.
Beispiel ohne Prefix (Default)
www.meine-domain.at/
www.meine-domain.at/en/
Beispiel mit Prefix (Default)
www.meine-domain.at/de/
www.meine-domain.at/en/
Dieses Verhalten kann umgestellt werden, in dem man im Back-End unter Sites > Site-Configuration > Languages bei der Default-Sprache entweder / oder /de/ als Entry-Point angiebt.
Für Seiten, die umgestellt werden und vorher mit dem Sprachkürzel /de/ online waren, empfielt sich eine Weiterleitung aller Seiten mit /de/ auf die Seite ohne dem Sprachpräfix. Um dies umzusetzen, bitte folgende Zeile in der /web/public/.htaccess-Datei hinterlegen.
Sprachen nur für angemeldete Benutzer
Soll eine Sprache noch nicht öffentlich zugänglich sein, kann folgender Abschnitt in die .htaccess-Datei eingefügt werden. Als angemeldeter Benutzer kann die Sprache weiterhin bearbeitet werden.
Nicht übersetzte Seite auf noindex
Wenn Seiten nicht übersetzt sind und im TypoScript das indexieren dieser Seiten per Key deaktiviert ist, wird noindex ausgegeben und die Seiten tauchen in der Sitemap nicht auf.