Sprachwahl auf Homepage

Ling79

Grünschnabel
Hallo,

ich bin gerade dabei zu lernen, wie man Internetseiten erstellt. Habe mit HTML und JAavaScript angefangen. Nun habe ich eine Seite erstellt, die aus drei Seiten besteht: dem Titel (titel.htm), der Navigationsleiste (navigation.htm) und dem Hauptfenster (z.B. home.htm). Ich möchte gern im Navigationsfenster die Option zur Wahl der Sprache geben, allerdings weiss ich nicht, wie ich dann die entsprechende Seite im Hauptfenster und die Sprache in der Navigationsleiste aktualisiere. Ich habe mir das irgendwie mit globalen Variablen vorgestellt, aber das funktioniert nicht. Wer kann mir da helfen? Danke.

Der Frank aus Magdeburg
 
Am einfachst finde ich, ist es wenn man die Wörter in Arrays speichert.

Ein bißchen Code wäre hilfreich;)

z.B. Von deiner Auswahl der Sprache und was dann passiert.

MfG
 
Hallo,

ich dachte, es sollte möglich sein, auf ein Bild (Flagge) zu klicken und damit die Sprache in den vorhandenen Fenstern anzupassen (de/en). Dazu war meine Idee, jeweils eine deutsche und eine engl. Version meiner Seiten zu erstellen und mittels einer globalern Variable den Status (de/en) abzufragen. Entsprechend der Anwort sollte die Seite aktualisiert werden.

Mein Hauptdolument sieht so aus:

Code:
<html>
<head>
<title>Titel</title>
</head>
<frameset rows=155,* frameborder=no frameborder=0 border=0>
<frame src=titel.htm name=navi>
<frameset cols=250,* frameborder=no frameborder=0 border=0>
<frame src=navigator.htm name=navi>
<frame src=home.htm name=main>
</frameset>
</html>

Die Klicke-Buttons befinden sich im Navi-Fenster (Auszüge):

Code:
<html>
<body bgcolor="black" text="silver">

...

<img src="deutsch.png" width=50 height=31>
<img src="englisch.png" width=50 height=31>

</body>
</html>

Allerdings konnte ich nirgends finden, wie man allgemein an ein soches Problem herangeht. Mit einer solchen globalen Variable scheint's jedenfalls nicht zu funktionieren.

Ich hab mir das so vorgestellt wie auf der Seite: http://www.uni-magdeburg.de/. Dort kann man die Sprache durch Mausklick auf die Flagge aktualisieren.

Danke für eure Hilfe.
Frank
 
Was du mit JS machen könntest, wäre das Speichern der Sprache in einem Cookie.
Beim Laden eines Dokumentes schaust du dann nach, ob die aktuelle Seite zur Sprache passt, und leitest dann zur richtigen Seite um, falls nicht.

Wenn die Sprache geändert wird, musst du dann halt alles neu laden.

Günstiger wäre es natürlich, wenn du eine serverseitige Sprache zur Verfügung hättest, das würde die Sache weitaus einfacher gestalten und auch User ohne JS/akzeptierte Cookies berücksichtigen.
 
Hallo und Danke für die schnelle Antwort. Aber was ist eine serverseitige Sprache? Und wie arbeite ich mit solchen Cookies? Ein Hinweis auf eine Referenz würde mir eigentlcih schon genügen.

Viele Grüße
Frank
 
Hallo,

ich denke die Idee mit den Cookies gefällt mir ganz gut. Nun habe ich aber dennoch folgendes Problem: mit einem Cookie kann ich einen Status zuordnen, wie kann ich aber entsprechend des Status alle Einstellugen aktualisieren? Ich habe verschiedene frames in meiner html-Seite. Wenn ich aber auf mein Bildchen mit der deutschen Flagge klicke, dann kann ich nur im main-Fenster den Inhalt ändern und eine Funktion ausführen lassen:

<a href ="contact.htm" target=main border=no onClick="Deutsch()"><img src="deutsch.png" width=50 height=31>

Wie kann ich aber zusätzlich im mavi-Fenster die Sprache ändern? Die Funktion Deutsch() lädt den entsprechenden Wert in meinen Cookie. In Büchern oder im Internet finde ich dazu keinen Hinweis, der mir weiterhilft.

Wäre es nicht am besten, alle drei frames neu zu laden? Also eine Funktion schreiben, die erst die Sprache im Cookie speichert, dann alle drei Fenster (main, mavi, titel) aktualisiert. In den einzelnen html-Dateien (navi.htm) kann man doch bestimmt eine if-Bedingung erstellen, die das Cookie ausliest, oder?

Danke
Frank
 
Ja, am Besten wäre es, alle Frames neu zu Laden.
Im Prinzip kannst du das Ganze sogar ohne JS machen, denn Cookies kannst du auch mit PHP setzen. Da ich jetzt nicht weiss, ob du PHP verfügbar hast, die JS-Variante:
  • Einfache Methode: Du lädts das TOP-Frame neu, dazu müsstest du als Linkziel deine Seite nehmen, welche das Frameset beschreibt, und als target des Links _top
  • ein wenig umständlicher:
Code:
<script type="text/javascript">
<!--
fs=top.frames;
for(f=0;f<fs.length;++f)fs[f].location.reload();
//-->
</script>
 

Neue Beiträge

Zurück