Mehrsprachigkeit, das leidige Thema und noch immer kein Weg

JSommer
Beiträge: 324
Registriert: Fr 5. Sep 2003, 12:32
Wohnort: 192.168.0.11
Kontaktdaten:

Beitrag von JSommer »

Servus Timo,
kannst a net schlafen?! :-)

Ne, ist kein Verständigungsproblem... der Fehler ist reproduzierbar! Aber ich kann heut nimmer, nice weekend, ich hau mich jetzt aufs Ohr *aua*
:)

Jürgen
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

Aha, timo hat seinen Namen gefunden. ;-)
timo hat geschrieben:Ich habe das ganze jetzt nicht weiter verfolgt, aber ich glaube, da gibts einfach irgendwo ein Verständnisproblem - hatten wir bei uns in der Firma auch schon öfters, wo wir davor sassen und dachten: "Was ist das für ein Bug?", obwohl es einfach nur ein Verständnisproblem war (Artikel mit Weiterleitungen, englische Texte in der deutschen Sprach-Abteilung usw) ;)
Na dann gib mal weitere Beispiele fuer Verstaendnisprobleme. :lol: Dass es keine Weiterleitung ist, hatten wir schon geklaert, und ich sag's dir, bei mir sind auch keine Texte in einer Sprache bei der anderen Sprache drin.

Im uebrigen ist meine Seite recht uebersichtlich: es gibt zwar 5 Sprachen, aber pro Sprache lediglich 4 Artikel (Startartikel+3 Kategorien mit jeweils einem Artikel).

Die statische Startseite moechte ich schon behalten, denn anders hiesse es, wenn die Seite gefunden wird, landet man auf irgendeiner Sprache von den 5, und man muss erstmal die richtige Flagge finden ... Deswegen habe ich auch nicht ausprobiert, was passiert, wenn ich die statische Seite entferne. Was ich aber probiert habe, ist, was HerrB schon vorgeschlagen hatte:
HerrB hat geschrieben:Folgendes geht beispielsweise: Rufe die Webseite einmal direkt auf und ändere danach mit changelang die Sprache -> Sprache bleibt erhalten.
und das klappt ja.

Jetzt habe ich aber auch genug, gute Nacht! :o
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Kann mir jemand das ganze in ein paar kurzen Sätzen erklären, was denn genau nicht geht? Ich blicke bei der Konversation nicht so ganz durch...
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

timo hat geschrieben:Kann mir jemand das ganze in ein paar kurzen Sätzen erklären, was denn genau nicht geht?
Na gut, fuer dich also nochmal. :P

Die ganze Site besteht aus 5 Sprachen mit jeweils 4 Artikel: Startartikel +3 Kategorien mit jeweils einem Artikel.

Die Sprachen sind in Contenido in der Reihenfolge angelegt, wie sie auch auf der Startseite erscheinen, d.h. erste Sprache ist Rumaenisch.

Ich habe unter http://www.vila-violeta.de.vu eine statische HTML-Seite. Von dort aus werden die insgesamt 5 Sprachen aufgerufen, und zwar neuerdings nicht nur mit changelang sondern auch mit "lang" als Parameter (die Zahl ist jeweils die gleiche, natuerlich). Dass "lang" mit uebergeben werden soll, hatte neulich jemand in einem anderen Thread empfohlen/vorgeschlagen.

Wenn ich nun auf der statischen Seite eine andere Sprache als Rumaenisch waehle, z.B. Deutsch, und direkt danach z.B. den zweiten Menuepunkt anklicke ("Kontakt"), erscheint die rumaenische Version statt der deutschen. Wenn ich dann auf die dt. Flagge klicke, sehe ich, wie auch gewuenscht, die dt. Version. Es liegt aber nicht am zweiten Menuepunkt, es passiert bei allen Menuepunkten.

Das Verhalten ist reproduzierbar.

Sorry, aber kuerzer geht's nicht. :wink:
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Der Fehler tritt auf, wenn eine Seite direkt mit changelang das allererste Mal aufgerufen wird.

Erzwingt man nach der ersten Darstellung der Seite wieder eine vom Standard abweichende Sprache (mit changelang), funktioniert es, bis der Browser geschlossen wird.

Daher meine Annahme, dass die Änderung via changelang beim allerersten Aufruf nicht in der Session (oder wo auch immer das gespeichert wird) gespeichert wird.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

HerrB hat geschrieben:Der Fehler tritt auf, wenn eine Seite direkt mit changelang das allererste Mal aufgerufen wird.
hmm, nein, nicht direkt. Wenn ich z.B. direkt
http://www.vila-violeta.de.vu/front_con ... ngelang=10
aufrufe, dann erscheint der zweite Menuepunkt auf Ungarisch.
Und wenn ich direkt
http://www.vila-violeta.de.vu/front_con ... ngelang=11
aufrufe, erscheint auch gleich die Startseite auf Franzoesisch, also eigentlich so, wie es sein soll.
Das ist alles ein grosses :?:

Gruss
Christa
JSommer
Beiträge: 324
Registriert: Fr 5. Sep 2003, 12:32
Wohnort: 192.168.0.11
Kontaktdaten:

Beitrag von JSommer »

gleiches problem bei mir :) Guten Morgern, erstmal!
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Ihr versteht mir falsch. Der Auslöser ist, dass man eine Seite direkt mit changelang (oder einem anderen, vom Standard abweichenden lang) aufruft - diese Seite wird in der gewünschten Sprache auch angezeigt.

Wird nun ein beliebiger Menüpunkt angeklickt, erscheint diese Seite in der Standardsprache, wie sie in der config.php des Mandanten definiert ist.

Beispiel:
- Alle Browser-Fenster schließen
- http://www.christa-und-oliver.de/violet ... ngelang=11 aufrufen -> Seite ist französisch
- Klicke auf ersten Menüpunkt links (idcat=60) -> Text erscheint in ungarisch
- Nun URL manuell um changelang ergänzen (d.h. http://www.christa-und-oliver.de/violet ... ngelang=11) und absenden -> Text in französisch
- Klick auf zweiten Menüpunkt -> Text bleibt französisch

Bei JSommer kann man das übrigens sehr schön sehen, welche Sprache gerade aktiv ist: Rechts werden News angezeigt, die den lang-Parameter enthalten.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
JSommer
Beiträge: 324
Registriert: Fr 5. Sep 2003, 12:32
Wohnort: 192.168.0.11
Kontaktdaten:

Beitrag von JSommer »

also müsste in der session oder im cookie was falsch laufen, soweit waren wir schon ... wie wird diese session und ihre parameter gehandelt? das ist nun der casus knacksus...
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

Hallo HerrB,

ja, jetzt, wie du das beschrieben hast, kann ich auch nachvollziehen, also bei mir ist es genau so. Es ist nur Rumaenisch und nicht Ungarisch. :wink:

Jetzt sind wir fast genauso schlau wie zuvor und haben immer noch keine Loesung. :(

Gruss
Christa
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Na ja, eine eindeutige Fehler- und Ablaufbeschreibung verbessert die Erfolgsaussichten kollossal.

Mein Verdacht - und das waren die Tests - war, dass (und so sieht es in der front_content.php auch aus) beim Setzen von changelang, sofern nie zuvor die Seite ohne Sprachangabe aufgerufen wird, lang nicht registriert wird (sess->register("lang") bleibt aus).

Offensichtlich ist es aber doch nicht so einfach... Ansonsten wird nur die Session-ID im Cookie gespeichert (wenn ich es richtig verstanden habe). Die restlichen Angaben bleiben während der Code-Ausführung im Arbeitsspeicher und werden - wenn die Seite fertig dargestellt ist - in der Session in der DB gespeichert (korrigiere mich jemand, wenn ich mich irre).

Ich forsche noch weiter - es muss doch irgendwo einen Unterschied geben...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Nein, noch nix gefunden. In der letzten CVS-Version, die ich habe (Anfang Februar, glaube ich), besteht das Problem auch noch.

Heute kann ich zunächst nicht weiter suchen...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

Ich warte ... denn aendern kann ich's eh' nicht. Wenn du neue Ideen hast, bin ich bereit, sie auszuprobieren. :)

Gruss
Christa
JSommer
Beiträge: 324
Registriert: Fr 5. Sep 2003, 12:32
Wohnort: 192.168.0.11
Kontaktdaten:

Beitrag von JSommer »

ich warte mit, ich habe die CVS vom 18ten Februar, also doch recht aktuell - und der Fehler besteht, das bedeutet der schleift sich derzeit komplett durch :-(
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

HerrB hat geschrieben: Beispiel:
- Alle Browser-Fenster schließen
- http://www.christa-und-oliver.de/violet ... ngelang=11 aufrufen -> Seite ist französisch
- Klicke auf ersten Menüpunkt links (idcat=60) -> Text erscheint in ungarisch
- Nun URL manuell um changelang ergänzen (d.h. http://www.christa-und-oliver.de/violet ... ngelang=11) und absenden -> Text in französisch
- Klick auf zweiten Menüpunkt -> Text bleibt französisch
hmm... damit ich mich auch mal zu wort melde...
ähm für mich ist der fehler logisch...

erste annahme ist korrekt, wenn zu aller erst changelang gesetzt wird
wird lang nicht in der session registriert...
beim klick auf einen menüpunkt wird somit auf die aller erste zuerst definierte sprache gewechselt....
jetzt kommen wir zu dem intressanten teil. bei diesem klick wird lang in der session registriert !
bei einem jetzigen sprachwechsel nur mit changelang wird
$lang = $changelang gesetzt.
und dieser wert wird nun in der session gespeichert...

dieses verhalten ist als bug zu sehen...

jetzt kommen noch ein paar intressante punkte dazu...
am beginn der front_content werden alle werte die in der db gesichert wurden (also mittels register) bei page_open initialisiert...
gespeichert werden diese werte erst wenn page_close() aufgerufen wird !
sollte dazwischen eine weiterleitung statt finden wird der changelang parameter -> also $lang = $changelang ignoriert und der gespeicherte wert von lang aus der session initialisiert...

der bugfix eine ergänzung von $sess->register("lang"); bei

Code: Alles auswählen

if (isset($changelang)) { 
    $lang = $changelang;
    $sess->register("lang");
}
sollte dieses fehlverhalten beheben...

ne saubere lösung wäre es aber erst dann wenn es ne eigene funktion geben würde die vor einer weiterleitung ein page_close() durchführt...
damit weiterleitungen auch ohne probleme funktionieren würden...
*** make your own tools (wishlist :: thx)
Gesperrt