Dieser Artikel ist über 1 Jahr alt. Deshalb könnten die Informationen hier veraltet sein.
WoWa's Screencast

14. Mai 2011

TYPO3-Tutorial Teil 72: Mehrsprachige Websites

Mit TYPO3 lassen sich auch sehr gut mehrsprachige Websites realisieren. Dabei gibt es allerdings ein paar Punkte zu beachten.

Update vom 15.05.

Dank eines Kommentars bei YouTube von csac3604 gibt es eine kleine Korrektur. Der Code für das TSConfig der Root-Seite muss folgendermaßen lauten, damit es mit der Darstellung der Flagge der Standardsprache klappt.

mod.SHARED {
  defaultLanguageFlag = de
  defaultLanguagelabel = deutsch
}

Vielen Dank für den Tipp! Im Wiki habe ich das auch entsprechend korrigiert.

Tutorials downloaden

Artikel wurde gefunden mit den Suchbegriffen:
  • typo3 mehrsprachigkeit
  • typo3 mehrsprachigkeit tutorial
  • typo3 multilanguage
  • typo3 mehrsprachig
  • typo3 4 7 mehr sprachen
  • typo3 multilanguage tutorial
  • typo3 4 6 mehrsprachigkeit

Wolfgang Wagner

lebt in Friedrichshafen und arbeitet als Web Developer bei der TYPO3 Agentur jweiland.net in Filderstadt. Weitere Orte im Web: Twitter, Facebook, Wolfgangs Blog

Kommentare (46)

  1. Hallo, ich habe mir dein Video angeschaut, vielen Dank!

    Einen 2ten Sprachbaum habe ich auch noch nie gemacht. Zu erwähnen wäre jedoch noch, das man das Fallback-Verhalten Grundsätzlich über die Typo3 Einstellung
    [FE][hidePagesIfNotTranslatedByDefault] = 1 verändern kann und dann bei den Seiteneigenschaften bei den 2 Checkboxen pro Seite angeben kann, was mit der Übersetzung passieren soll.

    Damit kann man auch Seiten in den anderen Sprachen haben, welche in der Standard Sprache nicht angezeigt werden.

    Einige Sachen sind in deiner Config aus meiner Sicht jedoch falsch.

    1. config.linkVars = L
    Wenn das Global angegeben wurde, muss das innerhalb der Condition nicht nochmal stehen. Ausserdem kann man bei linkVars angeben welche Werte erlaubt sind. Also zum Beispiel: linkVars = L(0-9)

    Den Default Wert 0 muss man dazunehmen, wenn man mit der Extension RealUrl arbeitet, und möchte das bei Deutsch ( Default Sprache ) der Sprachprefix /de/ auch im Pfad steht ( Wie das bei CoolURI ist, weiss ich nicht )

    Damit es danach klappt braucht es noch.

    config.defaultGetVars.L = 0
    ( das ist neu und erst ab 4.3 oder so möglich )

    2. config.locale_all
    Die Config so wie bei dir angegeben ist für nix. Kurzversion: Diese Config steuert unter anderem PHP, damit dies die richtige Sprache hat, als das beim Datum zum Beispiel: Montag steht statt Monday.

    Zudem muss die Angabe übereinstimmen mit den auf dem Server installierten Sprachpackete. ( auf meiner Webseite, Schritt 6 ist das etwas genauer erklärt )

    Also wären gültige Werte zum Beispiel: de_CH, de_CH.utf8, de_DE, de_DE.utf8, de_DE@euro

    Gruss
    TheFox

    • Danke für deine Ergänzungen.

      Zu 1.) Als ich das letzte mal diesen Parameter nur in der allgemeinen Config drin hatte, wurde L in den anderen Sprachen nicht mit übergeben. Seitdem baue ich es in der Sprachbezogenen Config auch ein.

  2. Hallo,

    ich soll in eine Seite die Russische Übersetzung einbauen. Wenn ich auf Russisch umschalte, dann bekomme ich auch nicht wie bei den anderen Sprachen en/home.html oder fr/home.html angezeigt sondern nur die ID der Sprache.
    Im Konfig Template habe ich die Sprache so eingestellt:
    // Language Russisch
    [globalVar = GP:L = 2]
    config.linkVars = L
    config.sys_language_uid = 2
    config.language = ru
    config.locale_all = ru_RU
    config.htmlTag_langKey = ru_RU
    [global]

    Des weiteren werden mir uch die Russischen schriftzeichen nicht angezeigt, sondern nur ??????. Ich habe gelesen das man die Seite auf utf-8 umstellen soll, aber das habe ich von anfangan gehabt.

    Hast du da eine Idee?

    • Ist die ID der russischen SPrache auch sicher die 2?

      Zum Zeichensatzproblem: bist du sicher, dass auf dem Webserver der russische Zeichensatz installiert ist?
      Falls du SSH-Zugriff hast, gib in der KOnsole mal “locale -a|grep ru” ein und schau, wie die Ausgabe aussieht.

      Falls du keinen SSH-Zugang hast -> frage deinen Hoster.

      • Ja, die ID ist die 2.
        Wenn ich auf Russisch umschalte, dann bekomme ich den Link so: /home.html?L=2
        Schalte ich jetzt aber auf Englisch, sieht der Link so aus: /en/home.html
        Also denke ich das Cooluri richtig funktioniert.

        Das mit dem Zeichensatz frage ich mal nach!

        • Vielleicht eröffnest du wegen der URL doch mal ein Thema im Forum, vielleicht fällt einem der anderen User noch was dazu ein.

      • Also der Zeichensatz ist auf dem Server drauf. Der Hoster schreibt mir das ich einen Eintrag in der .htaccess machen soll:
        AddDefaultCharset windows-1251

        Aber ich denke dann wird wohl alles auf russisch sein.

    • Nein, leider nicht!

      Oder muss das direkt ins ROOT Verzeichniss?

      • Wenn, dann muss es in die .htaccess in dem Verzeichnis, in dem die index.php liegt. Aber ob das dann funktioniert, weiss ich nicht. Tipp: frag mal im Forum danach, das stehen die Chancen besser, dass einer ne Lösung findet ;)

  3. Moin,
    eine sehr gute Anleitung nur habe ich das Problem, das beim Aufruf einer anderen Sprache ausser der default-sprache der Inhalt immer zweimal hintereinander angezeigt wird. Hast du dazu eine Idee? (Ver. Typo3 4.6.1)

  4. Hallo wie kann ich die Seite automatisch Übersetzen lassen muss alles manuale Übersetzen muss ich da noch was haben ?

  5. Hallo Wolfgang,

    Vielen Dank erstmal für diese super Tutorials!

    Jetzt habe ich eine Frage zur Mehrsprachigkeit und hoffe, du kannst mir weiterhelfen. Ich habe eine Typo3 Seite mit fixen Inhaltselementen und die Mehrsprachigkeit eingerichtet.
    Die flexiblen Inhalte werden ohne Probleme übersetzt aber die fixen Inhalte werden nicht übersetzt bzw. doppelt angezeigt.

    Die fixen Inhalte habe ich durch Marker im Typoscript per z.B.

    footer = CONTENT
    footer {
    table = tt_content
    select {
    pidInList = 10
    where = colPos = 3
    orderBy = sorting
    }
    }

    definiert und auf einer Seite in einem SysOrdner erstellt. Diese Inhalte werden aber leider nicht angezeigt bzw. eben doppelt.

    Ich hoffe, du kannst mir weiterhelfen und mir sagen, woran das liegen könnte?
    Vielen Dank schonmal im Voraus!

    Liebe Grüße,
    Teresa

      • Vielen Dank für die rasche Antwort!

        Ich hab’s jetzt ausprobiert aber leider ändert das Hinzufügen dieser Zeile nichts. Die Inhalte werden trotzdem doppelt angezeigt :-/ Komisch.
        Ich hab jetzt schon einiges ausprobiert, aber nichts scheint zu funktionieren.
        Hättest du vielleicht noch eine Idee?
        Ich bin dir wirklich sehr dankbar für die Hilfe.

        Liebe Grüße,
        Teresa

        • Hast du die Inhaltselemente auf einer normalen Seite oder einem Sysordner abgelegt? Weil ein Sysordner ja keinen Spalten in dem Sinn wie eine normale Seite hat.

          • Ich hab die Inhalte auf einer normalen Seite in einem SysOrdner.
            Wäre es besser ich verschieb die Seite aus dem SysOrdner?

          • Nein, das ist kein Problem. Hm, irgendwie gehen mir jetzt die Ideen aus. Vielleicht beschreibst du doch hier im Forum mal das Problem.

          • Danke, ja das werde ich machen!
            Vielen Dank für deine Mühe und Hilfe!

          • Ich hab’s gefunden und es war ein Schlampigkeitsfehler meinerseits.

            Das Hinzufügen von select.languageField = sys_language_uid hat einwandfrei funktioniert, aber ich hatte vergessen, dass ich das select weggebe :)

            Danke nochmal!

  6. Hallo Wolfgang,

    vielen Dank für die super Tutorials!

    Ich habe deine Anweisungen gefolgt und eine mehrsprachige Seite aufgebaut.
    Als ich aber eine Übersetzung der Home-Seite erstellen wollte, habe ich festgestellt, dass bei mir die Lokalisierungsansicht im Seitenmodul fehlt.

    Dann habe ich alles wieder kontrolliert und festgestellt, dass auch bei der Festlegung der einzelnen Sprachen im Listenmodul auf der Wurzelseite die Spalte für die ISO Kennung fehlt.

    Hast du vielleicht eine Idee, voran das liegen könnte?

    • Lösung gefunden!!!

      Einfach die Ext. “static_info_tabels” installiert!

  7. Hi Wofgang,

    wie kann ich den die Sprachumschaltung per “Flagge” am geschicktesten verschwinden lassen, so daß ich sie später bei Bedarf ganz einfach wieder aktivieren kann?

    LG
    Hanz

    • z.B. die Extension deaktivieren, oder als Quick&Dirty-Lösung den kompletten Bereich per CSS ausblenden, oder wenn die Extension per Typoscript eingebunden wird, diesen Bereich einfach auskommentieren.

  8. Hallo Wolfgang,

    vielen Dank für die Tutorials!

    I habe ein Problem.

    Standart Introduction Package habe ich installiert und möchte Multisprachen aus Menü zu haben. Das funktioniert mit dem Link (z.B. cmsdemo/index.php?id=25&L=2), aber cmsdemo/examples/sprache-link/ funkzioniert nicht.

    Was soll ich korrigieren?

    Liebe Grüße,
    Alex

  9. wegen der Flagge.
    defaultLanguageFlag = de
    anstelle von
    defaultLanguageFlag = de.gif
    dann wird die Flagge richtig angezeigt.

    Gruß
    Frank

  10. Hallo Herr Wagner,

    tolle Tutorials. Aber trotzdem ist mir wohl ein Fehler unterlaufen.
    Fehlermeldung:
    Core: Error handler (BE): PHP Warning: DOMDocument::load() [domdocument.load]: I/O warning : failed to load external entity "/home/www/xxxxxxxx/typo3/sysext/t3editor/res/tsref/tsref.xml" in /home/www/xxxxxxxxx/typo3/sysext/t3editor/classes/ts_codecompletion/class.tx_t3editor_tsrefloader.php line 89

    können Sie mir bitte weiterhelfen.

    Danke für die Bemühungen.

    Tschüß

  11. Hallo Wolfgang, erstmal ruhige Feiertage usw :)

    Leider bringt mich ein (kleines ?) Problem grad dazu fast zu verzweifeln. Die eite soll als zweite Sprache Türkisch haben.

    Es geht um folgendes. Ich habe wie in deinem Video die TS so verändert das folgendes im Code steht

    sys_language_uid = 0
    config.linkVars = L
    language = de
    locale_all = de_DE
    htmlTag_langKey = de
    sys_language_mode = content_fallback
    sys_language_overlay = hideNonTranslated

    config.sys_language_overlay = 1
    config.sys_language_overlay = hideNonTranslated

    [globalVar = GP:L = 1]
    config.sys_language_uid = 1
    config.language = tr
    config.locale_all = en_EN
    config.htmlTag_langKey = tr
    [global]

    [globalVar = GP:L = 2 ]
    config.sys_language_uid = 2
    config.language = en
    config.locale_all = en_EN
    config.htmlTag_langKey = en
    [global]

    }

    Den Eintrag im Türkischen “config.locale_all = en_EN”habe Ich extra reingemacht da es allem Anschein nach ein Problem mit diesem türkischen Eintrag gibt. (lt. Google usw)

    Nicht desto trotz hat mein Problem damit nichts zu tun. Es geht darum das mein deutscher Inhalt ganz regulär auf der Domain http://xxxxxxxxxxx.de/index.php?id=36&L=0 liegt. Ich habe dann wie in deinem Video bei Minute 16:40 die Domain auf http:/xxxxxxxxxx/index.php?id=36&L=1 geändert mit dem Ergebniss das der Inhalt von L = 0 (deutsch) zu sehen ist.

    Selbst das umstellen via sr_language_menu bringt nicht den gewünschten Erfolg obwohl dort auch in der Url zu sehen ist das eigentlich id=36&L=0

    Kannst du mir einen kleinen Tipp (gerne auch einen Großen) geben woran das liegen könnte ?

    gruß Manuel

    p.s.: Weihnachten Nachtschicht, klasse -.-

  12. Ja habe Ich.

    [img]http://666kb.com/i/ca1gqjscysagdzwzm.gif[/img]

    [img]http://666kb.com/i/ca1grc63890w6v1du.gif[/img]

    [img]http://666kb.com/i/ca1grqdw0x22oxj2a.png[/img]

    Ich kann dort auch Daten eintragen. (Im Moment Loremtexte) aber egal was Ich mache wird das nix mit dem Dummytext :(

  13. Hallo,
    Ich hab anscheinend das gleiche Problem wie Manuel.
    Sprachen angelegt, Inhalte angelegt, TS-Script eingefügt jedoch wird nur der Deutsche(Standart) Inhalt angezeigt.
    Verwendete Version ist Typo 4.7.7 liegt es vllt daran?

    lg

  14. hallo, danke fuer die anleitung, eigentlich ganz einfach -
    (fuer mich als typo3 beginner genau richtig)
    leider werden bei mir die uebersetzten inhalte nicht angezeigt???
    navi schaltet sich nach en um, inhaltsbloecke sind uebersetzt und auch
    aktiviert. trotzdem kommt der inhalt nur in deutsch???

    hast du einen idee?
    danke holger

  15. Ich konnte das Problem beheben indem ich die Typo3 Version auf 4.5 runterschraubte.

    lg

  16. Hey, bei mir Funktioniert die Sprachumschaltung nicht :(
    Die menüs werden zwar umgeschaltet (bis auf englisch?!) aber der Inhalt nicht.
    Woran kann das liegen?

    • bei mir lag es daran ->
      anstelle von
      config.sys_language_overlay = hidenontranslated
      einfach
      config.sys_language_overlay = 1
      (warum das erste nicht greift ????????????????)

      ciao ringo

Kommentare sind geschlossen.