Änderungen an den Spracheinstellungen durchführen

Die wohl häufigste Änderung am Template dürfte die Änderung an den Spracheinstellungen sein. Außer Sie möchten zufällig die Sprachen deutsch, englisch und französisch (in dieser Reihenfolge) verwenden, wie es die Grund-Einstellung des Templates vorsieht, verwenden, müssen daran immer etwas ändern. Bei allen gezeigten Beispielen gilt: Wenn Sie etwas falsch gemacht haben, genügt es den TypoScript-Code wieder zu löschen und die Grund-Einstellungen sind wieder hergestellt.

Template einsprachig machen

Das hört sich recht kompliziert an, ist aber sehr einfach und kann komfortabel mit dem Constant-Editor durchgeführt werden. Sie erinnern sich an den TSOB. Mit diesem haben Sie bereits herausgefunden, dass der Objektpfad zum Auswahlmenü für die Sprachen lib.teaser.20 lautet. Es ist also nichts weiter zu tun, als dieses Objekt zu löschen. Sie könnten nun in Ihr TypoScript-Setup die Zeile lib.teaser.20 > schreiben oder Sie verwenden den Constant Editor und setzen die Option "Switch off language menu?" auf "yes". Das Ergebnis ist das selbe, das Menü ist weg und damit ist Ihre Website einsprachig.

Sie sollten dann noch die Sprach-Records in der Weltkugel (verwenden Sie das Modul Liste) ebenfalls löschen. Dadurch ist dann die Möglichkeit, Seiten und Inhalte zu übersetzen ebenfalls nicht mehr vorhanden.

Eine Sprache aus dem Template entfernen

Eine Sprache zu entfernen (hier entfernen wir französisch) ist  ebenfalls kein Problem und mit wenigen Zeilen im TypoScript Setup erledigt. Wieder sind alle Änderungen am Objekt lib.teaser.20 durchzuführen. Entweder Sie erledigen das mit dem Constant-Editor und ändern die den Objekten zugewiesenen Constants oder Sie fügen folgende Zeilen in Ihr TS-Setup ein. Beim Entfernen anderer Sprachen gehen Sie bitte analog zum Beispiel vor.

  1. lib.teaser.20.10.special.value = {$standardLanguage},{$firstForeignLanguage}
  2. lib.teaser.20.10.1.NO.allStdWrap.typolink.additionalParams = &L={$standardLanguage} || &L={$firstForeignLanguage}
  3. lib.teaser.20.10.1.NO.10.file = fileadmin/img/flag_de.gif || fileadmin/img/flag_uk.gif
  4. lib.teaser.20.10.1.NO.imgParams = alt="" title="Deutsch" || alt="" title="English"
  5. lib.teaser.20.10.1.USERDEF1.10.file = fileadmin/img/flag_de_d.gif || fileadmin/img/flag_uk_d.gif
  6. lib.teaser.20.10.1.NO.USERDEF1.imgParams = alt="" title="Deutsch - nicht verfügbar" || alt="" title="English - not available yet"

Reihenfolge der Flaggen ändern

Das ist eher eine kosmetische Massnahme, wenn es aber notwendig ist, lässt sich die Reihenfolge der Flaggen auch ändern. Da alle drei Sprachen erhalten bleiben, arbeiten Sie direkt mit den bereits vordefinierten Constants. Die Änderung verschiebt die französische Flagge zwischen die deutsche und die englische. Andere Reihenfolgen sind natürlich ebenfalls möglich.

  1. // Das kommt ins Setup:
  2. lib.teaser.20.10.special.value = {$standardLanguage},{$secondForeignLanguage},{$firstForeignLanguage}
  3. lib.teaser.20.10.1.NO.allStdWrap.typolink.additionalParams = &L={$standardLanguage} || &L={$secondForeignLanguage} || &L={$firstForeignLanguage}
  4.  
  5. // Das kommt in die Constants:
  6. langMenuActFileNames = fileadmin/img/flag_de.gif || fileadmin/img/flag_fr.gif || fileadmin/img/flag_uk.gif
  7. langMenuDimmedFileNames = fileadmin/img/flag_de_d.gif || fileadmin/img/flag_fr_d.gif || fileadmin/img/flag_uk_d.gif
  8. langMenuActAltTitleTags = alt="" title="Deutsch" || alt="" title="Francais" || alt="" title="English"
  9. langMenuDimmedAltTitleTags = alt="" title="Deutsch - nicht verfügbar" || alt="" title="Francais - ne pas encore disponible" || alt="" title="English - not available yet"

Zusätzliche Sprachen hinzufügen

Das Template ist dreisprachig ausgelegt und dementsprechend existieren auch nur für drei Sprachen die Constants, die mit dem Constant Editor komfortabel bearbeitet werden können.

Wenn Sie zusätzliche Sprachen hinzufügen müssen, stellt sich erst einmal die Frage ob die vorhandenen ersetzt werden sollen oder ob sie beibehalten werden und weitere Sprachen hinzukommen.

Beispiel 1: Sie möchten französisch beibehalten, englisch jedoch durch italienisch ersetzen. Das ist recht einfach zu bewerkstelligen, weil in diesem Fall alle Constants bereits existieren und nur geändert werden müssen:

  • Ändern Sie den Sprach-Record (in der Weltkugel) mit der ID 1 (englisch) und machen Sie daraus italienisch.
  • Ändern Sie alle Strings die sich auf firstForeignLanguage beziehen und tragen Sie dort die italienische Übersetzung ein.

Beispiel 2: Sie benötigen zusätzlich zu den drei vorhandenen Sprachen noch eine weitere, die Site soll also viersprachig werden:

An dieser Stelle muss ich leider passen. Nicht dass es mit diesem Template nicht funktionieren würde, aber jemand der eine solche Website im Kundenauftrag aufsetzen muss und dazu eine Anleitung zu Rate ziehen muss, sollte sich überlegen, ob er sich da nicht etwas übernommen hat...

Die Vorgehensweise wäre die, dass zunächst einmal die zusätzlichen Sprachen als Sprach-Records in der Weltkugel hinzugefügt werden. Dann müssen alle Constants, die sich auf Sprachen beziehen, ebenfalls hinzugefügt werden und diese dann an der richtigen Stelle eingesetzt oder ergänzt werden. Dafür fertigen TypoScript Code zu veröffentlichen, hieße den gesamten (geänderten) TS-Code des Templates abbilden zu müssen. Das allerdings wäre eher verwirrend als nützlich, weil es einfach zu viele Kombinationsmöglichkeiten gibt.

In so einmal Falle ist es unumgänglich sich in TypoScript einzuarbeiten, um die Änderungen aufgrund eigenen Wissens durchführen zu können. Oder - wir nehmen diese Aufträge gerne an.

Asiatische, arabische oder hebräische Sprachen

Dadurch dass dieses Template die utf8-Codierung (sowohl für die Ausgabe im Frontend wie auch bei der Speicherung in der Datenbank) verwendet, sind solche Sprachen grundsätzlich sofort und ohne großen Aufwand möglich. Sie müssen lediglich die Sprach-Records in der Weltkugel ändern und mit dem Constant-Editor die Übersetzungen der vordefinierten Constants durchführen.

Für Sprachen, deren Schreibrichtung nicht von links nach rechts verläuft (arabisch z.B.) müssen Sie zusätzlich die Konstante userHtmlTagDir umstellen. Bei diesen Sprachen werden Sie auch die HTML-Vorlagen sowie das CSS anpassen müssen, weil vom Benutzer das Menü dann auch rechts und nicht links erwartet wird.