Zum Inhalt springen

Templavoila und die Mehrsprachigkeit

Erstellt am 11. Mai 2006 · 10 Antworten · letzte Antwort am 5. November 2008

Tags: Templates & Layouts, TYPO3 4, Frage

danjue ·

Hallo Zusammen!

Nachdem ich nun alle Tutorials die ich gefunden habe durchgearbeitet habe, unzaehlige Posts in den Diskussionsforen gelesen habe, nun 4 Tage ins Land gestrichen sind, ist meine letzte Hoffnung hier Hilfe zu finden.

Zur Info: Ich verwende Typo3 4.0 und Templavoila 1.0.1

Was ist mein Ziel: Ich moechte eine Mehrsprachigkeit mit T3 realisieren wobei die Seite auf Templavoila aufbaut.

Wie weit bin ich gekommen: Der Language-Switch funktioniert, ich kann Uebersetzungen anlegen, ich kann Elemente uebersetzen etc. Alles funktioniert auch, nur zeigt er beim switch zur anderen language-ID immer noch den Standartcontent an wobei dann interessanter Weise der Header der uebersetzten Seite wohl angezeigt wird

Folgende Screenshots sollen es mal verdeutlichen:

Seite in Templavoila noch ohne alternative Seitensprache nur mit der default sprache:

Bild: web112.server63.rhs-it.de/…/1.jpg

Nachdem ich eine alternative Sprache (Englisch) angelegt habe erscheinen unten neue Content-Areas:

Bild: web112.server63.rhs-it.de/…/2.jpg

Ich habe dann einfach mal ein Contentelement kopiert, was ich ueber WEB -> Seite gemacht habe. Geht aber auch in TV, aber das Ergebnis scheint mir das Gleiche zu sein.

Bild: web112.server63.rhs-it.de/…/3.jpg

Danach siehts so aus:

Bild: web112.server63.rhs-it.de/…/4.jpg

Wechsel ich nun wieder in WEB -> TV Seite siehts dann so aus:

Bild: web112.server63.rhs-it.de/…/5.jpg

Ich kann auch nun wunderbar alles bearbeiten aber gehe ich dann in die Seitenvorschau, aendert sich nur der Header. Mein uebersetzter Content erscheint nicht.

Bild: web112.server63.rhs-it.de/…/6.jpg

ABER:
Erstelle ich nun manuell ein neues Contentelement in "Main Content Area <ien>" funktioniert es.... Aber das ist ja wohl nicht sinn der sache.

Bild: web112.server63.rhs-it.de/…/7.jpg

Ergebnis ist dann:

Bild: web112.server63.rhs-it.de/…/8.jpg

Noch zur sicherheit, hier mein Typo-Script:

config {
  spamProtectEmailAddresses = 2
  spamProtectEmailAddresses_atSubst = (at)
  extTarget = _blank
  linkVars = L
  sys_language_uid = 0
  language = nl
  locale_all = nl_NL
  xhtml_cleaning=all
}
# English language, sys_language.uid = 5
[globalVar = GP:L = 5]
config.sys_language_uid = 5
config.language = en
config.locale_all = english
config.htmlTag_langKey = en
[global]
# French language, sys_language.uid = 6
[globalVar = GP:L = 6]
config.sys_language_uid = 6
config.language = fr
config.locale_all = fr_FR
config.htmlTag_langKey = fr
[global]

Ich bin schon fast so weit auf das traditionelle Konzept umzusteigen, ohne Templavoila. Es sind zwar fast 400 Contentelemente, die ich quasi neu erstellen muss, aber das ist mir jetzt schon fast egal. #angry# Nicht nochmal wieder eine Woche nicht weiterkommen.... 😢

Winddancer ·

habe exakt dasselbe Problem und im ansonsten hervorragenden Tutorial von Kasper steht leider nichts zu dieser Problematik!

Ich verstehe es auch nicht, zumal das traditionelle Konzept super funktioniert hat.

Sobald ich etwas finde, poste ich die Lösung hierhin...

danjue ·

Hey Winddancer!

Ich bin froh zu lesen das ich nicht der Einzige bin!
Ich alles probiert aber nun bin ich mit meinem Latein am Ende.
Wenn Du eine Loesung findest, waere es super wenn du sie Posten wuerdest!

Viele Gruesse

danjue

Winddancer ·

Ich glaube ich habe das Problem lokalisiert.

Nachdem ich die Anleitung von Kasper nun zum dritten Mal Zeile für Zeile gelesen habe, ist mir auf Seite 27 folgendes aufgefallen:

This is the flexibility of the “Separate” approach - that you can truely localize you content, not just translate it. But the price is
that the relation between the default and translated content is lost in a technical sense.

Man muss also, sofern man wie im alten System arbeiten möchte, im "Inheritance" Modus arbeiten...

Jetzt muss ich nur noch finden WO man das einstellt! lol denn das steht da nicht... *weiterles*[/quote]

Winddancer ·

Halleluja... ich habs...

gepriesen sei die Typo Wiki!

guckst Du hier:
http://wiki.typo3.org/index.php/TemplaVoila#TemplaVoila_working_with_multiple_languages

Wie ich schon davor sagte: Es gibt nun zwei Wege eine Seite mit Mehrsprachigkeit zu füllen. Den "Seperate" Ansatz und den "Inheritance" Ansatz.

Beim "Seperate" Ansatz handelt es sich nach Kasper um eine Lokalisierung der Internetseite. NICHT um eine Übersetzung. Daher können hier unterschiedliche Inhalte vorkommen. Das ist das was Du zur Zeit hast. Du kannst unter "Seite" und dann auf englisch Inhalte einpflegen, die dann auch angezeigt werden, ABER der Nachteil ist, dass Du nicht mehr einfach translate benutzen kannst, denn diese Inhalte werden nicht als seperate, englische Inhalte erkannt.

Um eine "Inheritance" Version, also eine komplette Übersetzung der Webseite zu erhalten, muss man folgendes in die Datenstruktur des TV Templates hinzufügen / editieren:

Ändere:

<T3DataStructure>
    <ROOT type="array">

mit

<T3DataStructure>
<meta type="array">
<langChildren type="integer">1</langChildren>
<langDisable type="integer">0</langDisable>
</meta>
    <ROOT type="array">

Dann werden auch die Übersetzungen mittels "Translate" wieder angezeigt.

Hoffe das hilft Dir!

Grüße

Sven

danjue ·

Hey Winddancer!

Erstmal danke fuer deinen Beitrag!

Das habe ich auch schon probiert, nur ist das Ergebnis das gleiche!
Ich vermute eher ich mache grundlegen in TV was falsch?

Wenn ich im TemplaVoila Kontrollcenter die Detailsanssich einschalte, erhalten ich diese Meldung.

Main Template Inheritance: Yes No content fields, recommended to set "<langdisable>" = 1 (ARI=3/1/0)

Wie sieht es da bei dir aus?

Ich weiss ja nicht ob ich jetzt total auf dem Holzweg bin, aber es ist doch richtig die TS-Angaben fuer die Sprachen ins MainTemplate zu schreiben, oder? #angry#

Winddancer ·

Hallo,

Template  	Disabled  	Yes (ARI=8/3/2)  	   	 
    	Standard Template [Template] 	  	  		6

So sieht das MIT 1:1 Übersetzung aus und so ohne:

Template  	Separate  	Yes Container element with separate localization! (ARI=8/1/3)  	   	 
    	Main Template [Template] 	  	  		2

Lies Dir mal intensiv den Link durch, den ich gepostet habe. Das hilft wirklich und ist da super erklärt! 😉

danjue ·

DANKE an WINDDANCER der mir folgende Loesung gegeben hat:

Im typoScript Setup Code fehlte:

config.sys_language_overlay = 1

Jetzt funzt es!

Goubah ·

Ich habe auch zwei Tage dran gesessen bis ich durch diesen Post drauf gekommen bin... Die folgenden Zeilen waren meine Rettung 🙂

1. Web>Page: The page module must know that a translation must be bound 1-1 to the default translation. This is configured by setting “mod.web_layout.defLangBinding = 1” in Page TSconfig.
2.TypoScript: You must ask the frontend rendering to select content from the default language and look for overlay records from the translation. This is configured with “config.sys_language_overlay = 1” in the TypoScript Template.

Aus dem Dokument "Frontend Localization Guide": http://194.117.233.66/t3dl/localization_guide_2.pdf

Gruss,
Mike

crush ·

Huch!

Ich habe nun auch 2 Tage wegen diesem Thema in den Sand gesteckt!

Die localization Guide habe ich gelesen, aber die treffende Stelle wie Goubah darauf hinweist habe ich übersehen, da es sich dabei ja um das alte Page Modul handelt. ?!?

ich habe nebst

#in Page TSconfig:
mod.web_layout.defLangBinding = 1

und

#Page Template
config.sys_language_overlay = 1

noch

#Page Template
config.sys_language_overlay = hideNonTranslated

ergänzt!

Ganz geile Sache! jetzt läufts!

aber ich verstehe nicht für was
Bild: thesky.ch/…/typo3net42879.png
ist.
??

Unbekannter Benutzer ·

hallo!

habe nun auch ewigkeiten rumprobiert und jetzt eine lösung gefunden. bei den fce's muss hierbei für jedes element für die sprache eine localization angelegt werden. ist diese nicht vorhanden, wird das fce der default sprache angezeigt. natürlich muss vorher für die eigentliche seite eine entsprechende sprachversion angelegt werden. aber dann wird lediglich in der default sprachversion editiert bzw. der content gepflegt. erscheint mir - zumindest für meine zwecke - als beste lösung.

im template:
------------
config.sys_language_overlay = 1
config.sys_language_mode = content_fallback

im template ds:
---------------
<meta type="array">
<langChildren type="integer">1</langChildren>
<langDisable type="integer">0</langDisable>
</meta>

im fce ds:
----------
<meta type="array">
<langChildren type="integer">0</langChildren>
<langDisable type="integer">1</langDisable>
</meta>