Hallo,
im Allgemeinen ist es sinnvoller, verschiedene Dokumente zu erstellen, wenn du denselben Text in verschiedenen Sprachen anbieten willst. Dann kann der Server automatisch das Dokument ausliefern, dass der von Browser angeforderten Sprache (Accept-Language) entspricht.
Jeden Absatz in mehreren Sprachen zu wiederholen kann zu Verwirrungen führen. Ohne JavaScript ist kein Umschalten möglich. Suchmaschinen-Robots werden die Sprache des Dokuments nicht eindeutig erkennen können, und auf eine spezifische Sprachversion lässt sich nicht ohne weiteres verlinken.
Wenn möglich, möchte ich nicht - wie in alten Beiträgen vorgeschlagen - alle DOM-Elemente absuchen, sonder nur einen zentralen Eingriff. Dazu habe ich nichts gefunden.
Du kannst eine Klasse beim html- oder body-Element setzen und über den Nachfahrenselektor alle Elemente verstecken, die nicht der gewählten Sprache entsprechen.
Zum Initialisieren die Standardsprache setzen:
<body class="lang-en">
Beim Umschalten:
var lang = "de"; // oder "en" usw.
document.body.className = "lang-" + lang;
Die Elemente in der jeweils anderen Sprachen werden versteckt:
.lang-en :lang(de) { display: none; }
.lang-de :lang(en) { display: none; }
Das wird bei vielen Sprachen natürlich frickelig.
Beispiel:
http://jsfiddle.net/RmEvg/
Wenn du nicht mehrere Dokumente verwendest, so würde ich eher deutschen Text und englischen Text als zusammenhängende Blöcke untereinander schreiben. Dann ist das Umschalten auch viel einfacher, es kann durch einfache Links erfolgen. Das funktioniert prinzipiell ohne Javascript, es lässt sich mit JavaScript ggf. verbessern.
Mathias