Zuerst müssen im Listenmodul auf der Wurzelseite die gewünschten Sprachen erzeugt werden. Die IDs sollten notiert werden.

Benutzergruppe „Redakteure“

Falls eine Benutzergruppe ohne Adminrechte auch Übersetzungen anlegen können muss, bitte darauf achten, das in den Einstellungen der Gruppe unter „Erlaubte Ausschlussfelder„ ein Haken bei „Seiteninhalt: Ursprungstext“ gesetzt ist. Sonst landet die Übersetzung in den „Nicht verwendeten Elementen„.

// CONFIG
// Einstellungen für Standardsprache
config {
  linkVars = L  
  htmlTag_langKey = de_DE  
  sys_language_uid = 0
  language = de
  locale_all = de_DE
  sys_language_mode = content_fallback
  sys_language_overlay = hideNonTranslated
}
 
// Pro verwendeter Sprache eigener Config-Abschnitt
// die Zahl bei L=x ist die ID der Sprache
 
// Language Englisch
[globalVar = GP:L = 1]
  config.linkVars = L
  config.sys_language_uid = 1
  config.language = en
  config.locale_all = en_GB
  config.htmlTag_langKey = en_GB
[global]
 
// Language Niederländisch
[globalVar = GP:L = 2]
  config.linkVars = L
  config.sys_language_uid = 2
  config.language = nl
  config.locale_all = nl_NL
  config.htmlTag_langKey = nl_NL
[global]
# Standardseitensprache für die Anzeige im Backend
 
# Nicht zu verwechseln mit der Spracheinstellung für das Backend in den Benutzereinstellungen. 
# Hier wird definiert, welche Sprache und welche Landesflagge angezeigt wird, wenn man die 
# Sprache eines Inhaltselementes auswählt.
 
#Der Code muss in das TSConfig der ROOT-Seite.
 
mod.SHARED {
  defaultLanguageFlag = de
  defaultLanguageLabel = Deutsch
}
// Templavoila: Einstellungen im XML
 
// Eventuell muss im XML von Seitentemplates oder FCEs noch eine Anpassung vorgenommen werden.
 
// Seiten-Template
<meta type="array">
  <langChildren type="integer">1</langChildren>
  <langDisable type="integer">0</langDisable>
</meta>
 
// Container-FCE (z.B. 2-Spalter usw)
<meta type="array">
  <langDisable>1</langDisable>
</meta>
// Sprachauswahl per Menü
 
// Für die Sprachwahl per Mausklick eignet sich am besten die Extension sr_language_menu.
 
// Um das Sprachwahl-Menü auf jeder Seite einzubinden, muss ein Bereich per Templavoila dafür gemappt werden.
 
// Einbindung dann per TS:
# Language Selection Menu on every page
lib.langmenu < plugin.tx_srlanguagemenu_pi1
 
# IDs der anzuzeigenden Sprachen, die Standardsprache ist automatisch dabei
lib.langmenu.languagesUidsList = 1 
 
# 0 = Landesflaggen, 1 = Dropdown, 2 = Textlinks
lib.langmenu.defaultLayout= 0 
 
//lib.langmenu.flag.CUR.stdWrap >
 
# Zusätzlich muss diese Konstante auf den Language-Code der Default-Sprache gesetzt werden, also bei Deutsch z.B.
plugin.tx_srlanguagemenu_pi1.defaultLanguageISOCode = DE
# CoolURI
 
# Bei der Verwendung von CoolURI muss unter Umständen die Datei CoolURIConf.xml angepasst werden. 
# Am Ende der Datei findet sich folgender Eintrag:
 
<valuemaps>
    <valuemap>
      <parameter>L</parameter>
      <!-- L is empty of 0, result is empty -->
      <value key="">0</value>
      <!-- L is 1, result is "en" -->
      <value key="en">1</value>
    </valuemap>
  </valuemaps>
 
# In der Standardkonfiguration wird also davon ausgegangen, dass bei einer zweisprachigen Seite English 
# die zweite Sprache ist und die ID 1 hat. Falls das nicht zutrifft, müssen die Werte für key=„en“ und 
# die Zahl angepasst werden. Ebenso muss bei Verwendung von mehr als 2 Sprachen der Code entsprechend 
# angepasst werden. 
# Folgender Code würde 4 Sprachen Deutsch(bzw. die Standardsprache), Französisch, Italienisch und Russisch konfigurieren:
 <valuemaps>
    <valuemap>
      <parameter>L</parameter>
      <!-- L is empty of 0, result is empty -->
      <value key="">0</value>
      <!-- L is 1, result is "fr" -->
      <value key="fr">1</value>
      <!-- L is 2, result is "it" -->
      <value key="it">2</value>
      <!-- L is 3, result is "ru" -->
      <value key="ru">3</value>
    </valuemap>
  </valuemaps>