Vielen Dank für die schnellen Antworten!
Ich habe zunächst versucht Auges Vorschlag umzusetzen. Zu deiner Frage: Oben auf der Seite gibt es einen Link zum Umschalten. Damit das über alle zugehörigen Seiten konsistent bleibt, wird ein Cookie gesetzt, und anschließend ausgelesen. Anschließend wird je nach Inhalt des Cookies die Sprache gesetzt.
Mit Auges Methode funktioniert die Sprachwahl momentan nur beim Neuladen der Seite, nicht aber per späterem Klick. Das lang Attribut wird dann zwar noch geändert, der angezeigte Text passt sich aber nicht mehr an.
So sieht das bei mir im Moment aus:
<script>
document.getElementsByTagName("html")[0].setAttribute("lang", "de");
alert(document.getElementsByTagName("html")[0].lang);
function cookie(l) {
var cookie = "lang=; path=/;expires=Thu, 18 Dec 1913 12:00:00 UTC;";
document.cookie = cookie;
var cookie = "lang=" + l + "; path=/;expires=Thu, 18 Dec 2019 12:00:00 UTC;";
document.cookie = cookie;
lang();
}
function lang() {
if (document.cookie == "lang=de") {
document.getElementsByTagName("html")[0].setAttribute("lang", "de");
alert('deutsch, cookie: ' + document.cookie + ' lang=' + document.getElementsByTagName("html")[0].lang);
}
else if (document.cookie == "lang=en") {
document.getElementsByTagName("html")[0].setAttribute("lang", "en");
alert('englisch, cookie: ' + document.cookie + ' lang=' + document.getElementsByTagName("html")[0].lang);
}
}
</script>
Bezüglich der Frage, ob es sinnvoll ist, beide verwendeten Sprachen in einem Dokument unterzubringen, möchte ich ergänzen, dass die Seite nur sehr wenig Text enthält, und ich es daher für effiezienter halte, das alles einzubinden, als Seiten neu zu laden.
Wo wäre folgender Text von Matthias genau zu notieren?
html:lang=de :lang:not(:lang=de) { display: none; }
html:lang=en :lang:not(:lang=en) { display: none; }
Beste Grüße