T3tipps

TYPO3 Tipps und Tricks gesammelt

Wechseln zu: Inhalt | Sidebar | Footer

Sprachumschaltung mit TYPO3 4.5.4

24 August, 2011 (15:39) | Extensions, HowTo | By: Robert Wenk

Für die Sprachumschaltung gibts eine Vielzahl Rezepte. Nach längerem vergleichen von Umschaltungsvarianten haben wir uns für die TYPO3-Extension Language Selection (sr_language_menu) entschieden.

Mit dieser Extension kann eine mehrsprachige TYPO3-Website als One-Tree realisiert werden. Dabei sind auf jeder Seite in der Sprachnavigation nur die Sprachen anwählbar, für die auch eine Übersetzung vorliegt. Alle anderen Sprachen sind nicht klickbar (in der Flaggenvariante stellt TYPO3 die Flagge grau dar).

Im nachfolgenden kurz die Schritte um die Extension einzubinden.

1. Anlegen einer neuen Sprache
dazu auf die Weltkugel klicken und aus dem Kontext-Menü den Punkt „Neu“ wählen.
Jetzt rechts unter „Neuer Datensatz“ einen Datensatz vom Typ „Website Sprache“ anlegen.
Im Menü sind jetzt die Felder „Sprache“, „Wähle Sprache ISO-Code“ und die Flagge auszuwählen. Wichtig: der ISO-Code der Sprache ist kein Pflichtfeld, wird aber von der TYPO3 Extension benötigt.

2. UID der Sprachen ermitteln
In der Listenansicht die Root-Seite wählen. Jetzt werden rechts die Website-Sprachen angezeigt. Wenn der Mauszeiger über dem Symbol der Sprache liet, dann wird im Tooltip die UID der Sprache angezeigt. Bitte merken.

3. Installation der Extension
Für die Extension wird noch die TYPO3-Extension Static Info Tables (static_info_tables) benötigt. Diese ist ggf. über den Extension-Manager nachzuinstallieren.

4. TYPOscript konfigurieren
TYPOScript muss die Sprachvariablen an die Links anhängen. Dazu ist die Konfig folgendermaßen zu ergänzen. Im Beispiel für die Sprachen Deutsch, Englisch und Französisch. Bei den Zeilen

[globalVar = GP:L = ] und sys_language_uid = ist jeweils die vorher ermittelte UID der Sprache anzupassen.


####################################################
### Spracheinstellung Deutsch ###################
[globalVar = GP:L = 0]
config {
 sys_language_mode = strict; 0
 config.sys_language_overlay = hideNonTranslated
 sys_language_uid = 0
 language = de
 locale_all = de_DE
 htmlTag_langKey = de
}
[global]

# English language, sys_language.uid = 1
[globalVar = GP:L = 2]
config {
 sys_language_uid = 2
 language = en
 locale_all = en_UK
 htmlTag_langKey = en
}
[global]
# French language
[globalVar = GP:L = 3]
config {
 sys_language_uid = 3
 language = fr
 locale_all = fr_FR
 htmlTag_langKey = fr
}
[global]

5. Konfiguration der Extension im Setup
Ins Setup der Seite wird die Extension konfiguriert. Im folgenden mein Codebeispiel:

#Sprachwechsler mit Flaggen zusammenstellen
plugin.tx_srlanguagemenu_pi1 {
useSysLanguageTitle = 0
defaultLanguageISOCode = DE
LanguageISOCode = DE
#Wraps um die Links setzen
#link.CUR.stdWrap.wrap = <li class='CUR'>|</li>
#link.NO.stdWrap.wrap = <li class='NO'>|</li>
link.NO.stdWrap = |
#
hideIfNoAltLanguages = 1
#
# Soll die gewählte Sprache angezeigt werden?
#don't show current language if showCurrent=0
#showCurrent = 0
#
# Template-File auf das eigene Verzeichnis umstellen
templateFile = fileadmin/template/sprachwahl.tmpl
#
#Darstellung auswählen: (2: Liste, 1: Auswahlliste, 0:Flagge)
defaultLayout = 0
links.stdWrap.split.wrap >
_CSS_DEFAULT_STYLE >
#
#Sollen nur bestimmte Sprachen angezeigt werden?
#languagesUidsList = 1,3
}
 

Das html-Template für die Extension ist bei Bedarf noch anzupassen. Dazu wird es aus dem Verzeichnis typo3conf/ext/sr_language_menu/pi1/tx_srlanguagemenu_pi1_template.tmpl ins Verzeichnis fileadmin/template/stprachwahl.tmpl kopiert. Die Datei kann jetzt bearbeitet werden.

6. Plugin ausgeben
im html-Template wird jetzt ein Marker, z.B. ###LANGUAGE### plaziert und im TYPOScript wird dieser mit der folgenden Zeile belegt:

page.10.marks.LANGUAGE < plugin.tx_srlanguagemenu_pi1

Fertig.

Comments

Kommentar von Christian
Erstellt um 19. Dezember 2011 at 19:23

Hallo,
vielen Dank für die tolle Beschreibung – ist Dir evtl. Bekannt, wie man im Nachgang die Sprachen tauschen kann?! Im Moment die DE und dann EN…zukünftig soll aber zuerst EN und dann DE stehen….

Gruß
Christian

Kommentar von Neil
Erstellt um 2. Juli 2013 at 13:32

Hallo ,
ich habe eine Frage über Seiten mit mehreren Sprachen; weiß du nicht zufälligerweiße wie das in TYPO3 6.1 geht ?
ich möchte ein Menu mit kleinen Flagen machen um zu wechseln von der Englische Version in die Deutsche…
LG
Neil…

es wäre super….

Kommentar schreiben