Zum Inhalt springen

zweite Sprache benutzen wenn bei Default nichts steht

Erstellt am 23. Mai 2007 · 4 Antworten · letzte Antwort am 22. November 2007

Tags: Frage

thomasju ·

Hallo zusammen,

ich habe eine Seite die standardmäßig deutsche Texte enthält. Auf ein paar Unterseiten soll jedoch nur englischer Text stehen, teilweise sind deutsche Texte ins englische Übersetzt. Das funktioniert soweit auch alles. Wenn ich einen deutschen Text habe und keinen englischen, dann wird auch die UK Flagge ausgegraut. Nun möchte ich dies auch für deutsch haben, wenn eine Seite keine Defaultsprache (also deutsch) hat, dann soll die Flagge grau werden und die englische Angezeigt. Bisher ist es so, dass die leere deutsche Seite angezeigt wird, und man nun auf die UK Flagge klicken muss um den englischen Text zu sehen.

Wenn jemand Auszüge aus meinem TS braucht, stelle ich diese gern zur Verfügung. Wobei eigentlich alles nach Anleitung gemacht ist.

Grüße
Thomas

klaeff ·

Ich hol den Beitrag mal nach oben, weil ich genau das gleiche benötige.

Ich habe einen Schritt in die gewünschte Richtung damit realisiert, dass ich für den entsprechenden Seitenbaum ein extension template angelegt habe, mit folgendem typoscript:

page.config.sys_language_uid = 1

Damit schalten dann die entsprechenden Seiten beim anklicken automatisch in den englischen Seitenbaum um.

Verbleibendes Problem: man kann auf diesen Seiten, obwohl die deutsche Flagge aktiv ist, diese nicht mehr auswählen, es hüpft, wahrscheinlich wegen obigem typoscript, immer auf die englische Fassung zurück.

Gibt es hierfür eine Lösung?

Gruß
klaus

gunther ·

Hallo,

das Problem scheint die Umschaltung der Sprache und die damit verbundene Darstellung der Flaggen zu sein - wie wird diese eingebunden?

Um beim Beispiel zu bleiben, kann man nur "deutsche" als auch nur "englische" Seiten darstellen (über die Seiteneigenschaften einstellbar) - dann funktionieren normalerweise auch die "Flaggen".

Ein Fallback für die Inhalte kann über: config.sys_language_mode.content_fallback definiert werden. Ein Fallback über die Seiten (pages) wird von TYPO3 immer über die Standardsprache geregelt; das sollte man bei der Planung beachten.

Grüße
Gunther

klaeff ·

Bei uns ist das übliche languageMenu.php per typoscript eingebunden.
Ich habe das Problem für uns jetzt so gelöst, dass ich mittels typoscript auf den englischsprachigen Seiten ohne deutsche Inhalte das languageMenu.php abgeschalten habe und stattdessen ein "statisches" HTML Element eingefügt habe, dass die Flaggen korrekt ohne Links anzeigt. Das funktioniert prima, allerdings nur, solange es nur zwei Sprachen gibt. Werden es mehr, dann muss man einen anderen Ansatz wählen.

Aber für uns ist es gut so.

Für alle, die es brauchen können mein typoscript:

page.config.sys_language_uid = 1
lib.servicenav.50 >
lib.servicenav.50 = COA
lib.servicenav.50.10 = HTML
lib.servicenav.50.10.value = <div class="langMenu"><img class="flag"  src="fileadmin/img/flag_de_d.gif" alt="Deutsch existiert nicht" title="Deutsch existiert nicht" height="17" width="30"> <img class="arrow" src="fileadmin/img/arrow.gif" alt="" height="17" width="7" /> <img class="flag" src="fileadmin/img/flag_uk.gif" alt="English" title="English" height="17" width="30" /></div>

Gruß
klaus

ManuP ·

Hi Thomasju,

das Problem kenne ich. Der Ansatz an sich ist nicht ganz richtig.
Ich würde es folgendermaßen lösen:

1. Anlegen des Inhaltes als Default in Englisch (geht auch in Deutsch).
2. Anlegen von zwei Websitesprachen: Deutsch (sagen wir L=1) und Englisch (L=2).
3. Jetzt immer die Übersetzungen anlegen, falls vorhanden,
4. Die Verlinkung im Language-Menü erfolgt jetzt auf L=1 oder L=2... aber nicht auf Default, denn das gibt es immer 😉

Und so ist es bei beiden ausgegraut, falls es nicht vorhanden ist. Aber es gibt immer ein Fallback auf Default (also wird auch immer was angezeigt).

Du musst dir nur klar werden, was angezeigt werden soll 😉

Ein Beispiel dazu siehst du z. B. im folgenden Bild (mit Templa Voila):
Hier habe ich aber keine deutsche Übersetzung angelegt, da ich meine Flaggen nicht ausgraue und somit immer Default zieht.

Bild: manuel-palkowitsch.de/…/Beispiel_Backend.jpg

Ciao und viel Erfolg.