Typo3 6.2 und Mehrsprachigkeit: Unterschied zwischen den Versionen
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 6: | Zeile 6: | ||
==Sprache aktivieren== | ==Sprache aktivieren== | ||
− | Zuerst muss man die gewünschte Sprache in der Wurzelseite anlegen. | + | Zuerst muss man die gewünschte Sprache in der Wurzelseite anlegen, damit bekommt man dann auch die UID der Sprache für den nächsten Schritt. |
==root-Typoscript== | ==root-Typoscript== | ||
Zeile 76: | Zeile 76: | ||
[[Datei:Mehrsprach.png]] | [[Datei:Mehrsprach.png]] | ||
− | Wichtig ist das auch für die Ausgangsseite, sofern die Elemente enthält, die sich vererben. Ich bringe hier z.B. | + | Wichtig ist das auch für die Ausgangsseite, sofern die Elemente enthält, die sich vererben. Ich bringe hier z.B. gern die Headergrafik unter, die fehlt ohne Übersetzung auf den nachfolgenden Seiten. |
Wenn eine Übersetzung für die Seite angelegt ist, dann lassen sich auch die einzelnen Kontent-Elemente übersetzen. Die unterschiedlichen Elemente werden dann durch die jeweiligen Flaggen gekennzeichnet. | Wenn eine Übersetzung für die Seite angelegt ist, dann lassen sich auch die einzelnen Kontent-Elemente übersetzen. Die unterschiedlichen Elemente werden dann durch die jeweiligen Flaggen gekennzeichnet. | ||
+ | |||
+ | |||
+ | ==Aufruf der Seiten== | ||
+ | Will man die übersetze Version einer Seite aufrufen, so muss man nur den Parameter ?L=1 an den Link anhängen. Zumindest wenn die Sprach-ID und der HTTP-Parameter entsprechend konfiguriert wurden. |
Aktuelle Version vom 7. Mai 2016, 12:33 Uhr
Nach langer Zeit tauchte mal wieder der Wunsch nach einer mehrsprachigen Seite auf. Es sollte neben der deutschen Version auch eine englische Version für alles Seiten vorhanden sein. Das war nicht ganz triviel, weil auch im TemplaVoila eine Änderung vorgenommen werden muss und diese nicht gut dokumentiert ist. Die folgenden Seiten finde ich ganz hilfreich:
- http://www.vincent-tietz.de/blog/goto/articles/mehrsprachigkeit-mit-templavoila/
- https://wiki.typo3.org/TemplaVoila#TemplaVoila_working_with_multiple_languages
Hier meine Änderungen gegenüber der "normalen" Seite:
Sprache aktivieren
Zuerst muss man die gewünschte Sprache in der Wurzelseite anlegen, damit bekommt man dann auch die UID der Sprache für den nächsten Schritt.
root-Typoscript
Am Ende hinzugefügt:
# HTTP-Parameter für Sprache festlegen config.linkVars = L config { # ID der Frontend-Sprache festlegen sys_language_uid = 0 # ISO-Kennung der Frontend-Sprache festlegen (2-stellig) language = de # Locale festlegen (5-stelliger ISO-Code + Zeichensatz) locale_all = de_DE.utf8 # Bei nicht übersetzten Seiten nicht zur Default-Sprache wechseln sys_language_mode = content_fallback # Nicht übersetzte Inhalte in der Default-Sprache anzeigen sys_language_overlay = 1 } # Bedingung für Seiten mit der Sprach-ID 1 (hier Englisch) [globalVar = GP:L = 1] # ID der Frontend-Sprache, ISO-Kennung und Locale setzen config.sys_language_uid = 1 config.language = en config.locale_all = en_UK.UTF8 [global]
TS-config der Root-Seite
# Anzeige Default-Sprache im Backend als Deutsch festlegen mod.SHARED { defaultLanguageFlag = de defaultLanguageLabel = Deutsch }
XML der TV-Templates
Die ersten Zeilen müssen folgendermaßen lauten:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <T3DataStructure> <meta type="array"> <langChildren type="integer">1</langChildren> <langDisable type="integer">0</langDisable> </meta> <ROOT type="array"> ..
ursprünglich stand da:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <T3DataStructure> <meta type="array"> <langDisable type="integer">1</langDisable> </meta> <ROOT type="array"> ..
Konfiguration der einzelnen Seiten
Dann muss man für jede Seite eine Übersetzung anlegen, dazu dient der Reiter Übersetzungen.
Wichtig ist das auch für die Ausgangsseite, sofern die Elemente enthält, die sich vererben. Ich bringe hier z.B. gern die Headergrafik unter, die fehlt ohne Übersetzung auf den nachfolgenden Seiten.
Wenn eine Übersetzung für die Seite angelegt ist, dann lassen sich auch die einzelnen Kontent-Elemente übersetzen. Die unterschiedlichen Elemente werden dann durch die jeweiligen Flaggen gekennzeichnet.
Aufruf der Seiten
Will man die übersetze Version einer Seite aufrufen, so muss man nur den Parameter ?L=1 an den Link anhängen. Zumindest wenn die Sprach-ID und der HTTP-Parameter entsprechend konfiguriert wurden.