Zum Inhalt springen

templavoila zeigt nur default sprache

Erstellt am 15. Januar 2007 · 3 Antworten · letzte Antwort am 23. August 2008

Tags: Frage

MaxManetti ·

Hi,

fuer die Mehrsprachigkeit mit Templavoila hab ich also nach diversen Tutorials und Foren folgendes:

fuer meine zweite sprache erstmal englisch als neue Website Language definiert habe, dann fuer die jeweilige Seite eine Alternative Page Language.

Den Datenstrukturen von meinen Flexible Content Elementen die nen Container sind das language disable

<meta />
   <langdisable>1</langdisable>
</meta>

Den Datenstrukturen von meinen Flexible Content Elementen mit Inhalt den Language Mode => "Inheritance"

<meta type="array" />
   <langchildren type="integer">1</langchildren>
   <langdisable type="integer">0</langdisable>
</meta>

Desweitern hab ich im Web-->TV Page Modul allen Container-Elementen Language [ALL] zugewiesen und allen Inhaltselementen die passende Sprache.
Im Backend kann ich auch ich auch schoen den Bodytext fuer die default Sprache und direkt darunter den Bodytext fuer die englische Version (vEN) eingeben.

Aber sobald ich Frontend umswitchen will bekomm ich immer nur die default Sprachen, obwohl in der URL auch immer das L=1 oder L=0 mituebergeben wird.

Hier noch das typoscript aus'm template fuer den Switch und das Flaggenmenue:

# Localization menu:
lib.menu_right = HMENU
lib.menu_right {
  special = language
  special.value = 0,1,2
  special.normalWhenNoLanguage = 0
  1 = GMENU
  1.NO {
    XY = 24,12
    5 = IMAGE
    5.file = fileadmin/template/img/flag_es.gif  ||  
             fileadmin/template/img/flag_en.gif
  }
  
  1.ACT < lib.menu_right.1.NO
  1.ACT=1
  
  1.USERDEF1 < lib.menu_right.1.NO	
  1.USERDEF1=1
  #falls sprache nich vorhanden --> graue Flagge
  1.USERDEF1.5.file = fileadmin/template/img/flag_es_d.gif  ||
                      fileadmin/template/img/flag_en_d.gif
  1.USERDEF1.noLink = 0
  1.USERDEF2 < lib.menu_right.1.USERDEF1
}  


#Localization:
page.config {
  linkVars = L
  sys_language_mode = content_fallback
  sys_language_overlay = 1
  uniqueLinkVars = 1
}

[globalVar = GP:L=0]
page.config {
  sys_language_uid = 0
  language = es		
  locale_all = es_ES	
}
[global]

[globalVar = GP:L=1]
page.config {
  sys_language_uid = 1
  language = en		
  locale_all = en_EN
}
[global]

Hoffe das war nich zu viel und vll hat ja jemand ne Idee.Schon ma danke.

Gruss Max

MaxManetti ·

hab uebrigens desweitern folgende mysql Fehlermeldung im backend, wenn ich die Content Elemente der neuen Sprache editieren will (also bei der default Sprache taucht es zumindest nicht auf):

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/*****/public_html/typo3_src-4.0/t3lib/class.t3lib_db.php on line 801

Koennte vll im Zusammenhang stehen, nur weiss jemand wo genau das Problem liegt und/oder wie man es beheben kann?

Gruss Max

erasohr ·

Habe die selbe Warnung. Bin auch am grübeln, wie ich sie weg bekomme.
Habe zu der Einstellung sys_language_overlay folgende Info gefunden:

Wenn gesetzt, werden Inhalte aus bestimmten Tabellen, wie vom »CONTENT-Inhaltsobjekt, welches die languageField-Eigenschaft benutzt, mit der Standardsprache (0) anstelle irgendeiner anderen durch »sys_language_uid oder »sys_language_mode angegebenen Sprache ausgewählt. Zusätzlich wird das System nach einer Übersetzung für den aus gewähltenInhalt suchen und konfigurierte Felder überlagern.
Die Vorraussetzung dafür ist, dass die Tabelle im [ctrl]-Bereich von $TCA mit languageField und transOrigPointerField konfiguriert ist. Der Ausschluss bestimmter Felder kann mit der l10n_mode-Anweisung in der Feldkonfiguration von $TCA erledigt werden.

Für die Backendverwaltung erfordert das, dass Sie das "Web >Seite"-Modul konfigurieren, um die Seiteninhalte entsprechend anzuzeigen; dass nämlich jedes Standardelement gezeigt wird und daneben jede gefundene Übersetzung. Diese Konfiguration kann für einen Bereich der Website mit der Seite TSconfig durch Benutzen des Objektspfads mod.web_layout.defLangBinding=1 erledigt werden.

Schlüsselwort:
hideNonTranslated:Wenn dieses Schlüsselwort benutzt wird, werden Inhalte ohne Übersetzung nicht angezeigt. Standardeinstellung ist, dass Inhalte ohne Übersetzung in der Standardsprache dargestellt werden.

(https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/TopLevelObjects/Config.html)

Aber verstehe nicht so wirklich, was ich nun aendern muss.

bujutsu ·

//Systemsprache
uniqueLinkVars = 1
sys_language_uid = 0
sys_language_mode = content_fallback
sys_language_overlay = hideNoneTranslated
language = de
locale_all = de_DE
htmlTag_langKey = de
xhtml_cleaning=all
linkVars = L

//Deutsch
[globalVar = GP:L = 0]
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
[global]
//Englisch
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = en
config.locale_all = en_UK
[global]

Anbei meine Konfig. die gut funktioniert. Lass einmal das page. weg. Weiters findest Du hier eine super info.
http://wiki.typo3.org/index.php/TemplaVoila#TemplaVoila_working_with_multiple_languages
Du musst die Systemsprache auch, wie eine Fremdsprache in die [global] Anweisung schreiben