Defaultsprache
Die Defaultsprache ist die Sprache, in der die Texte ganz normal eingegeben werden oder bereits eingegeben wurden.
Neue Sprache hinzufügen
Um eine neue Sprache in TYPO3 hinzuzufügen geht man ins Backend, wählt links Liste aus und klickt auf die Wurzel des Seitenbaums (die mit der kleinen Weltkugel als Symbol).
Dort klickt man dann ganz unten auf Neuen Datensatz anlegen.
Auf der nächsten Seite wählt man Website Sprache und gibt einen Namen für die Sprache ein (wird meist nur im Backend verwendet); weiter wählt man den ISO Code (die Sprache in englischer Sprache) und ein passendes Flaggensymbol aus. Speichern und gut :-)
Inhalte übersetzen
Die Sprache ist nun eingerichtet und man kann auch schon anfangen, die Inhalte zu übersetzen :-)
Man geht nun links wieder auf Seite und wählt sich aus dem Seitenbaum die zu übersetzende Seite aus. Dort wählt man dann oben statt Spalten den Eintrag Sprachen aus. Nun kann man unter Neue Übersetzung dieser Seite anlegen: die bzw. eine der gerade angelegten Sprache auswählen in der die Seite zunächst übersetzt werden soll. Für diese bekommt man dann in der Ansicht eine neue Spalte und man kann entweder die Inhalte von der Standardsprache kopieren und übersetzen oder aber ganz neu anlegen.
Sprachen im TypoScript eintragen
Nun müssen wir noch ein paar Zeilen im TypoScript ergänzen, um verschiedene Einstellungen festzusetzen:
# Standard-Sprache # die ID der Standard-Sprache ist immer 0 config.sys_language_uid = 0 # die Sprach-ID wird über den GET-Parameter L übergeben config.linkVars = L page.config.baseURL = http://www.domain.de/ page.config.htmlTag_langKey = de-DE # Sprach-Code in Kurzform page.config.language = de # Sprach-Code page.config.locale_all = de_DE # English language, sys_language.uid = 1 [globalVar = GP:L = 1] config.sys_language_uid = 1 page.config.baseURL = http://www.domain.com/ page.config.htmlTag_langKey = en page.config.language = en page.config.locale_all = en_GB [global]
Im ersten Teil legt man die Standardsprache fest- diese hat immer die ID 0.
Über baseURL kann man bewirken, dass der Besucher immer auf einer bestimmten Domain surft (dieser Wert ist optional).
Wenn man den Wert htmlTag_langKey setzt, dann werden bei XHTML-Seiten die Attribute xml:lang und lang im html-Tag auf diesen Wert gesetzt (optional).
Die ID der Sprache bekommt man heraus, wenn man wieder dort hin geht, wo man die Sprache angelegt hat - auf die Wurzelseite in der Listenansicht. Wenn man dort die Maus über das Weltkugelsymbol der Sprache hält, verrät der Tooltipp die passende ID :-)
Sprachauswahl im Frontend
Mit der Extension sr_language_menu kann man sehr leicht eine Sprachauswahl für seine Besucher ins Frondend integrieren.
Nachdem man die Extension installiert hat, kann man das Content-Element (Language Selection) auf eine Seite seiner Wahl einbinden.
Man hat die Auswahl zwischen klassischen Fahnenbildern der Sprachen/Länder, einer Dropdownliste und einfachen Links. Die Sprachen kann man wie gewohnt mit dem Ordnersymbol hinzufügen- in dem Popup-Fenster wählt man aus der Wurzelseite einfach die gewünschten Sprachen aus (z. B. die, die man wie o. g. zum TYPO3 hinzugefügt hat).
Das Gute an dieser Extension ist, dass sie bspw. die Fahnensymbole ausgraut, wenn für die aktuelle Seite keine Übersetzung verfügbar ist.
Weitere Einstellungen, die hier nicht weiter diskutiert werden sollen, kann man sich selbst im Constant Editor zu Gemüte führen ;-)
Im Constant Editor muss man auch noch die Standardsprache der Seite festlegen, damit dafür auch das entsprechende Fähnchen angezeigt wird (defaultLanguageISOCode), der wohl zumeist auf de stehen sollte :-]
Sprachauswahl auf jeder Seite anzeigen
Um die Sprachauswahl auf jeder Seite anzuzeigen, legt man das Content Element auf einer "toten" Seite oder in einem SysOrdner an und fügt in seinem Template einen Platzhalter an der passenden Stelle ein (z. B. ###sprachauswahl###). Von diesem Element braucht man dann noch die ID (nicht die von der Seite!). Die kriegt man wieder raus, indem man die Maus über das Symbol des Plugins hält. Folgendes fügt man dann, angepasst auf seine ID, in das TypoScript Template ein:
temp.languageMenu = COA
temp.languageMenu {
10 = RECORDS
10.tables = tt_content
# hier kommt die ID des Content Elements hin!
10.source = 7
}
Dieses Konstrukt muss man dann noch seinem Platzhalter zuweisen und schon hat man die Sprachauswahl auf jeder Seite. Und natürlich regiert das Plugin auf jeder Seite so, als wäre es dort eingebunden- also graut die unvorhandenen Übersetzungen aus.
Einige mögliche Werte für locale_all
af
am
ar
az
az_IR
be
bg
bn
br
bs
ca
cs
cy
da
de
de_AT
dz
el
en
en@boldquot
en_CA
en_GB
en@quot
eo
es
et
et_EE
eu
eu_ES
fa
fi
fr
ga
gl
gu
he
hi
hr
hu
hy
ia
id
is
it
ja
ka
km
ko
ku
ky
lg
li
lt
lv
mg
mi
mk
ml
mn
mr
ms
nb
ne
nl
nn
no
nso
or
pa
pl
pt
pt_BR
ro
ru
rw
sk
sl
sq
sr
sr@ije
sr@Latn
sv
ta
te
th
tk
tl
tr
uk
uz
uz@Latn
vi
wa
wo
xh
yi
zh
zh_CN
zh_HK
zh_TW






