Mehrsprachige homepage

Hallo,

gibt es eine elegante Moeglichkeit, eine HTML-Seite mehrsprachig zu setzen und dem Leser die Wahl zu ueberlassen, welche Sprache er liest?

Bislang habe ich drei Ideen:
1. alle Sprachen auf die Seite schreiben. Vorteil: nur jeweils eine Datei zu pflegen. Aber das waere extrem haesslich, um nicht zu sagen unzumutbar fuer den Leser.
2. fuer jede Sprache eine eigene Seite schreiben. Vorteil: ich kann in den Dateien einer Sprache auch immer gleich auf Dateien der anderen Sprache verlinken, der Nutzer bewegt sich nach Wahl einer Sprache immer in der gleichen. Nachteil: ich haette bei n Sprachen n Saetze von Dateien zu pflegen. Aenderungen, die ich in einer mache mueszte ich nach und nach immer in die anderen uebernehmen.
3. die anderen Sprachen mit CSS ausblenden. Vorteil: nur einen Dateisatz pflegen, ich habe die Absaetze aller Sprachen nebeneinander und klassifiziere sie mit (eg.) in eine entsprechende Sprache. Ueber mehrere styles mit etwa .english {display:block} .german{display:none} kann der Leser ueber die Wahl des styles die Sprache waehlen. Nachteil: ich kann (AFAIK) beim Verlinken auf eine Datei nicht bestimmen, in welchem style sie angezeigt wird, der Leser kriegt immer Sprache die durch den ersten style vorgeben ist zu sehen.

Bislang gefaellt mir die letzte Variante am besten. Es handelt sich dabei um lokale Seiten, script-Sprachen wir perl, php oder ssi helfen daher leider auch nicht. Mag mir jemand sagen, wie ich dieses Dilemma loesen kann?

Ein weiteres Problem, dasz ich hab: XHTML scheint im kein lang-Attribut des HTMLs mehr zu haben. Mir ist das xml:lang-Attribut aufgefallen, ist das das entsprechende Pendant? Ist das evtl. auch eine Loesung fuer mein obiges Problem?

Vielen Dank im Voraus,
Gruss vom Frank.

gibt es eine elegante Moeglichkeit, eine HTML-Seite
mehrsprachig zu setzen und dem Leser die Wahl zu ueberlassen,
welche Sprache er liest?

Die wohl eleganteste Methode wäre, den Server die vom Browser angegebene bevorzugte Sprache auszuliefern. Unter Apache 1.3 geht das wie hier beschrieben:

http://httpd.apache.org/docs/content-negotiation.html

möglichkeit 4:
du speicherst sog. language-files, also dateien, die sämtliche texte deiner homepage enthalten (eine für deutsch, eine für englisch…) und diese liest du dann entsprechent der einstellung des users mit php aus. so hast du nur eine einzige seite zu pflegen und der quelltext wird deutlich übersichtlicher, da nicht mehr so viel text drin steht.
die einzelnen texte kannst du natürlich auch in ne mysql-datenbank speichern…

Noch’n Trick
Du hälst alle Sprachen in einer Datei zusammen, legst Sie aber auf verschiedene CSS-Layer. Und abhängig von der Spracheinstellung des Clients, entweder serverseitig, mit SSI, PHP oder noch dickeren Bomben, oder mit manuellem Eingriff per JavaScript-Umschaltung auf der Client-Seite wird der jeweils überflüssige Layer ausgeschaltet.

Gruß

Stefan

genauer (was: mehrsprachige homepage)
Hi,

wahrscheinlich bin ich der letzte Mensch, der HTML dazu einsetzt, wozu es urspruenglich mal gedacht war…

Ich verwende (X)HTML ueberwiegend zu Dokumentation. Genaugenommen ein Handbuch, das auf CD ausgeliefert wird. Ich kann leider nicht erwarten, dasz der Leser einen webserver dafuer installiert. Ich kann ihm gerade so zumuten, dasz er den browser mit gecko-engine verwendet, der mit auf der CD liegt. Ueber den Vorschlag mit javascript denke ich nach. Entschuldigt, dasz ich mich mit dem Begriff lokale Seiten so ungenau ausgedrueckt habe.

Bei naeherer Betrachtung bin ich immer noch der Meinung, dasz Variante 3 (CSS) – technisch – funktionieren musz: wenn sich der Leser durch Wahl eines styles mal fuer ein design entschieden hat kann er doch nicht beim ersten Klick auf einen link wieder das erste vorgesetzt kriegen. Das waehre IMHO ein grober Konzeptfehler von CSS. Genaugenommen ist das sogar wahrscheinlich Aufgabe des browsers, da er ja den style auswaehlt. Oder wie seht ihr das?

Oder um es mal so auszudruecken: es geht nicht darum, irgendeine (Bastel-) Loesung fuer das Problem zu finden. Viel wichtiger ist, dasz die Loesung sauber und skalierbar ist. Falls das mit CSS/(X)HTML grundsaetzlich nicht moeglich ist, waere das auch okay. Dann haette ich zumindest einen weiteren Punkt auf meiner Liste der Gruende, warum diese Sprachen fuer Dokumentation prinzipbedingt ungeeignet sind. Wenn diese Liste lang genug ist laeszt mich $Entscheider vielleicht wieder LaTeX nehmen.

Freundlichen
Gruss vom Frank.