Hallo Leute!
Habe unter http://www.kalterersee-halbmarathon.com eine dreisprachige Seite erstellt, und zwar auf deutsch (Standardsprache, uid 0), italienisch (uid 1) und englisch (uid 3). Das Ganze läuft unter Typo3 4.1 (war ursprünglich unter 3.8 erstellt worden).
Jedenfalls werden die italienischen Seiten nicht mehr angezeigt, die deutschen und englischen aber sehr wohl. Woran kann das liegen?
Habe testweise eine 4. Sprache angelegt (uid 4) und auf der Home-Seite dafür einen Inhalt erstellt, aber auch diese Seite wird nicht angezeigt.
Komisch, oder? Ich meine, wenn NUR die Standardsprache angezeigt wird, dann liegt der Fehler an der Konfiguration der Seite, aber dass eine zweite Sprache geht und die anderen nicht...?
Viele Grüße
Lemon
Hi Leute!
Sehr komisch, lest mal, wie die Sache weitergeht:
Ich habe die Sprache "italienisch" jetzt nochmal angelegt (uid 5) und im Template folgende Einträge der uid 1 (das "defekte" italienisch) kopiert und für die uid 5 angepasst.
Wenn ich jetzt die Seite mit dem Parameter L=5 (also die neue Sprache) aufrufe, werden alle Inhalte in ital. Sprache angezeigt, OBWOHL ich für die uid 5 keinerlei Inhalte erstellt habe und alle Einträge in der tt_content noch die sys_language_uid 1 haben.
Und wenn ich im Template die GlobalVar-Einstellungen für L=1 deaktiviere, erhalte ich wieder die deutschen Seiten statt der italienischen, egal oder L=1 oder L=5 als Paramter mitgegeben wird.
???????
Lemon
ohne ts kann man wenig sagen und ich hab das leider nicht ganz verstanden
georg
kann es sein, das Du Übersetzungen angelegt hast und danach die Konfiguration verändert hast ? Dann ist Chaos vorprogrammiert.
Sorry, stimmt natürlich, ein bisschen Code muss sein.
Also, zur Übersicht:
- ich habe unter Typo3 3.8 eine mehrsprachige Seite angelegt
- deutsch: uid 0
- italienisch: uid 1
- englisch: uid 3
Kürzlich habe ich dann die Seite auf Typo3 4.0.3 geupdatet, die Probleme sind allerdings erst vor zwei Tagen aufgetreten, und das Update liegt schon ein paar Wochen zurück.
Im TS- Template steht folgendes:
config.linkVars = L
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
[globalVar = GP:L=1]
config.sys_language_uid = 1
config.language = it
[global]
[globalVar = GP:L=3]
config.sys_language_uid = 3
config.language = en
[global]
Mit diesem Setup hab ich das Problem, dass beim Aufrufen der Seite mit dem Parameter L=1 die deutsche Seite angezeigt wird, während bei L=3 richtigerweise die englische Version erscheint.
Nun bin ich nach Anlegen einer neuen Sprache (uid 5) zufällig auf diese "Lösung" gekommen:
[globalVar = GP:L=1]
config.sys_language_uid = 1
config.language = it
[global]
[globalVar = GP:L=5]
config.sys_language_uid = 1
config.language = it
[global]
Nun wird, obwohl ich für die Sprache 5 keinerlei Inhalte angelegt habe, beim Aufruf mit L=5 die richtige, italienische Seite angezeigt.
Achtung: wenn ich die Einträge für "GP:L=1" auskommentiere, klappt das Ganze wieder nicht, d.h. ich bekomme bei L=5 wieder die deutsche Seite.
Chaos, Chaos, Chaos...
Muss ich alles nochmal neu machen?
Viele Grüße
Lemon
Hallo,
ich hatte irgendwann mal was ähnliches, mach doch mal in phpmyadmin ein
repair table pages;
repair table tt_content;
georg
ich bleibe dabei, das es an den Übersetungen liegt.
Schau Dir mal die Tabelle pages_language_overlay genau an, welche id's dort vermerkt sind, insbesonders
SELECT title, sys_language_uid FROM `pages_language_overlay` order by sys_language_uid
@just2b:
Hi Georg, das hat leider nichts verändert.
@steffenk:
Bei allen Datensätzen steht "1" als uid, also vollkommen richtig.
Ich weise nochmal auf die "Unlogik" in dieser Konfiguration hin:
[globalVar = GP:L=1]
config.sys_language_uid = 1
config.language = it
[global]
[globalVar = GP:L=5]
config.sys_language_uid = 1
config.language = it
[global]
Ich meine, wo ist da der Sinn? Es klappt nur, wenn ich L=5 angebe. Klammere ich aber die L=1-Angaben aus, dann klappt auch L=5 nicht mehr.
Viele Grüße
Lemon
wenn überall 1 steht, ist das auch der korrekte Wert. Bearbeite Deine sys_language + Tabelle und vergeb für it auch die uid 1
Hi Leute,
hab jetzt die Lösung gefunden. Das hier fehlte in den Conditions:
[globalVar = GP:L = 0]
config {
sys_language_uid = 0
language = de
locale_all = de_DE
}
Ich hatte nicht gewusst, dass man auch die Standardsprache zuweisen muss, und bis vor ein paar Tagen hat's ja auch geklappt.
Na ja, Ende gut, alles gut :-D
Viele Grüße
Lemon
Hallo zusammen.
Diese Beschreibung passte exakt auf mein Problem. Ich habe drei Sprachen auf der Webseite: Deutsch, Englisch, Dänisch.
Deutsch und Englisch gingen, Dänisch nicht. Nachdem ich die o.a. Lösung umgesetzt habe funcktioniert nun Dänisch ... dafür kommt bei Deutsch und Englisch eine leere Seite :-(
Den ganzen Tag habe ich nun mit dem Suchen einer Lösung verbracht - ohne Erfolg.
Hat einer von Euch eine Idee oder vielleicht sogar eine Lösung ?
Gruß,
Malte
Hallo,
ich habe bis jetzt keine wirklichen Probleme mit der Mehrsprachigkeit gehabt.
Habe heute zwei neue Sprachen(französisch&italienisch)
aufgenommen und das wollte erst nicht klappen.
Aber nachdem ich die uid in der Datenbank
Tabelle: sys_language
uid | pid | tstamp | hidden | title | flag | static_lang_isocode
2 | 0 | 1161065968 | 0 | Englisch | gb.gif | 0
4 | 0 | 1187264742 | 0 | Italian | it.gif | 0
5 | 0 | 1187264771 | 0 | French | fr.gif | 0
mit der uid aus dem TypoScript-Fetzen verglichen und angeglichen hatte,
hat es funktioniert:
config.linkVars = L
config.sys_language_uid = 1
config.language = de
[globalVar = GP:L=2]
config.sys_language_uid = 2
config.language = en
[global]
[globalVar = GP:L=3]
config.sys_language_uid = 5
config.language = fr
[global]
[globalVar = GP:L=4]
config.sys_language_uid = 4
config.language = it
[global]
Nun sieht man unter:
.../index.php?id=1
.../index.php?id=1&L=0
.../index.php?id=1&L=1
die deutschen Seiten
unter:
.../index.php?id=1&L=2
die englischen Seiten
unter:
.../index.php?id=1&L=3
die französischen Seiten
und unter:
.../index.php?id=1&L=4
sieht man die italienischen Seiten
also könnte es sein, dass die uid nicht genau übereinstimmen.
lg
key cee