Sorry, aber ich glaube da gibt es noch Klärungs-
Gern.
und Optimierungsbedarf.
öhm, weiß nich'. Zumindest nicht bei Contenido.
Aber nochmal im Detail:
Der IE cached sehr hartnäckig. Es ist ein Browser-Problem.
Heißt dann im Umkehrschluss wohl auch das die Cache-Controll nicht funktioniert bei gleicher URL?
Welche Angaben er nun tatsächlich verwendet, um festzustellen, dass es sich um eine aktualisierte Seite handelt, werden im Detail nur die Entwickler wissen - Dateigröße, Serverheader, Änderungsdatum, Bildanzahl und -bezeichnung ... - die Sprache des Textes ist es auf jeden Fall nicht. Eine neue URL ist für den IE definitiv eine neue Seite (bis er sie wieder gecached hat).
Wenn das so ist, wird die Seite beim Wechsel ja doch langsamer, schließlich werden ja dann immer alle Daten übertragen- Auch die, die eigentlich schon im lokalen Cache liegen!?
"Langsamer" ist halt relativ. Wenn es sich um eine bildlastige oder umfangreiche Seite handelt, wird eine Seite ohne Cache sicherlich schneller wieder angezeigt. Aber es braucht genauso lange, wie beim ersten Aufruf einer Seite - wenn die Seite mehr als x Sekunden zum Laden braucht, würde ich den Inhalt sowieso anders aufteilen.
Je nach Cache-Einstellung im IE wird die Seite "irgendwann" neu angefordert ("bei jedem Zugriff auf die Seite", "bei jedem Start des IE", "Automatisch" (whatever this means und da liegt das Problem) oder "nie"). Die Einstellung "bei jedem Zugriff auf die Seite" entspricht der Verwendung der Cache-Control-Tags (-> kein Cache). Wenn also die Redakteure ihre Übersetzung prüfen wollen, wäre das eine sinnvolle Einstellung.
Desweiteren würde das bedeuteten das mein Kunde jedes Mal manuell das ?lang=x bei allen Links einfügen muss.
Nein (siehe unten).
Wenn das bedeutet das ich jedes Mal den Cache vor bzw. nach einem Sprachwechsel leeren soll / muss, ist das keine sehr erfreunliche Antwort.
Nein, es heißt nur, dass man entweder die Cache-Einstellung des Browsers anpassen muss oder entsprechende meta-Tags in das Layout integrieren muss (cache-control).
Bisher ist mir leider noch nicht klar ob ich wirklich das ?lang brauche oder nicht.
Na schauen wir mal: Welche Fälle gibt es?
a) Nutzer ist Redakteur, übersetzt die Texte und möchte eine Endkontrolle durchführen -> Cache-Einstellungen des Browsers oder cache-control-Angaben im Layout.
b) Nutzer ist Chef und will sich alles in allen Sprachen ansehen, aber man kann ihm nicht erklären, wie man die Cache-Einstellungen vornimmt: cache-control-Angaben im Layout
c) Nutzer ist Besucher der Webseite -> Er dürfte am Anfang die Sprache umschalten und dann die weiteren Seiten nur in seiner Sprache besuchen (und die sind für ihn dann in seiner Sprache, da er sie noch nicht besucht hat. Vielleicht hat er sogar Firefox..., Safari...). Wenn man sichergehen möchte: cache-control-Angaben im Layout. Eine geringfügig längere Ladezeit würde ich dabei hinnehmen (und ich ziehe da mal kurz den Zorn der es-gibt-auch-Modem-und-ISDN-Surfer auf mich: ich weiß, durfte es gerade selbst genießen).
und um es mal anders zu sehen:
d) Die wichtigsten Seiten werden regelmäßig, vielleicht sogar täglich geändert: das Cachen der Seite bringt wenig.
e) Es gibt Seiten mit dynamischen Inhalten ("Werbespruch des Tages", "Mitarbeiter des Monats", "Das Zen-Gebet des Tages", "Die Top 10 der geänderten Seiten"): das Cachen ist kontraproduktiv...
Das ist eine Abwägung: Wenn man viele sich kurzfristig ändernde Seiten hat oder es wichtig ist, dass sie Sprachumstellung auf jeden Fall funktioniert (weil der Nutzer vorher verzweifelt auf der Seite gesucht und damit einige Seiten im Cache hat), sollte man den cache deaktivieren (cache-control).
Wenn es nur um die Redakteure geht, genügt die Info, wie man den Browser einstellt.
Gruß
HerrB