Content Sprachen

Website

Zunächst muss man die Standardsprache festlegen (hier: Deutsch). Alle Seiten werden in dieser Sprache angelegt. Die Seiten Titel im Seitenbaum des Backends werden auch in dieser Sprache angezeigt - was ein Problem sein kann.

Hinzufügen einer alternativen Sprache: Website root -> Neu Website Language

Anpassen des Content Renderings

Das Template muss angepasst werden:

select.languageField = sys_language_uid

Anpassen der Templates

Im HMTL Header wird der htmlTag_langKey auskommentiert

config {
  //xhtml-transitional
  //htmlTag_langKey = ...set in language dialog
  doctype = xhtml_trans

  xhtml_cleaning = all
  xmlprologue = none
}

Um nicht übersetzte Seiten generell auszublenden:

# localconf.php
$TYPO3_CONF_VARS['FE']['hidePagesIfNotTranslatedByDefault'] = '1';

# User TS-Config: Option für neue Seiten als default setzen.
TCAdefaults.pages.l18n_cfg = 2

und anstelle von folgenden TypoSript gesetzt:

#--------------------------------
# Language
#--------------------------------
config {
  linkVars = L
  sys_language_mode = content_fallback
  sys_language_overlay = hideNonTranslated
}

# Standard language UID 0 -> English
config.sys_language_uid = 0
config.language = en
config.locale_all = english.UTF-8

# Alternate language UID = 1 -> German
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = de
config.locale_all = de_DE.UTF-8
[global]

config.htmlTag_langKey < config.language

Wichtig ist das Hinzufügen von .UTF-8 after config.locale_all = english oder config.locale_all = de_DE andernfalls wird das Datum in tt_news falsch angezeigt (z.B. das "ä" in März).

Erstellt: 07/2010| Geändert: 10/2015

Sprach Auswahl mit vhs

Mit der Extension vhs lässt sich einfach ein Sprachmenü realisieren:

{namespace v=FluidTYPO3\Vhs\ViewHelpers}
<f:section name="Language">

    <v:page.languageMenu
        defaultLanguageLabel="Deutsch"
        defaultIsoFlag="de"
        hideNotTranslated="1"
        linkCurrent="0"
        layout="flag"
        class="language-navigation"
        flagPath="/typo3conf/ext/rsystemplate_bootstrap/Resources/Public/Images/Flags/">
    </v:page.languageMenu>        

</f:section>

Erstellt: 09/2015| Geändert: 10/2015

Sprach Auswahl

Html Template

Im HTML-Template wird die ###RSYS_LANGUAGE_SELECT### Sektion hinzugefügt.

Template einrichten

Um die Sprache im Frontend auswählen zu können muss folgendes in das Template aufgenommen werden:

includeLibs.languageMenu = fileadmin/scripts/language_select_news.php

page = PAGE
page {
  ...
  marks {
  ...

  # ---------- RSYS_LANGUAGE_SELECT ----------
  RSYS_LANGUAGE_SELECT =    COA
  RSYS_LANGUAGE_SELECT {      
    1 = USER
    1 {
        userFunc = user_languageMenu
      }
  }
  # --- end RSYS_LANGUAGE_SELECT

Extension

Am besten gleich mit sr_language_menu machen, oder zu Fuss wie folgt:

PHP Script

Ei Script wird angelegt mit den Namen language_select_news.php im Verzeichnis fileadmin/scripts. Das Script enthät folgenden Code:example. Es ist eine Modifikation von den Script in tt_news/res/tt_news_languageMenu.php um mit News Übersetzungen zurechtzukommen.

Formatierung

Das Beispielscript erzeugt den folgenden HTML Code der mit stylesheets formatiert werden kann:

<div id="lang_select">
  <div class="langmenu">
    <p>
    <span class="lang_select">
      <a href="91.html?&L=0" target="_top">en</a>
    </span>
    <span class="lang_select_active">
      <a href="91.html?&L=1" target="_top">de</a>
    </span>
    </p>
  </div>
</div>

 

Erstellt: 07/2010| Geändert: 10/2015

Seiten anlegen für Mehrsprachigkeit

Auswählen der zu übersetzenden Seite im Web>Page Modul. Wählen der Funktion Languages und dort Make new translation of this page.

Erstellt: 07/2010| Geändert: 10/2015