Zwischen 2 Sprachen umschalten
schnakenfuss
- php
Hi @ all,
also ein ganzes Vorwort zu mir. Ich bin noch ein Frischling und werd mich wahrscheinlich auch so ausdrücken. Sorry. Ich kann zwar ein bisschen Html aber PHP und JavaScript sind im Moment noch Bücher mit 7 Siegeln für mich.
Nun zu meinem Problem:
Ich habe eine Webseite erstellt die in 2 Sprachen funktionieren soll und in der es dem User ermöglicht sein soll zwischen den Sprachen hin und her zu switchen. In meiner Site benutze ich ein IFrame in dem die Inhalte aufgerufen werden. Außerhalb des IFrames sitzen aber nun die zwei „Umschalter“ für die Sprachen de und en. Siehe:
http://www.schnakenfuss.de/ballon-pins/index.php
Mein IFrame heisst main.
Meine Lösungsüberlegung:
Eigentlich dachte ich mir das ich ein extrene PHP Datei nötig hab, in der die Sprachparamenter d.h. en und de zwischengelagert werden. Die dann von jeder Inhaltsseite aufgerufen werden und diese dann die Texte je nach Parameter in Englisch und Deutsch anzeigen sollen. Ein Problem seh ich darin die aktuelle Seite im IFrame festzustellen und dann wieder erneut zu laden.
Könnt Ihr mir bitte helfen… ich hab nämlich echt keine Ahnung (Schande)
Falls Ihr mir einen Code gibt, da bin ich ganz ehrlich – wäre ich natürlich hoch erfreut ;-) Aber bitte mit Erklärung – ich will ja was lernen. Falls Ihr mir mit einem Code nicht weiterhelfen könnt wäre ich auch sehr dankbar wenn Ihr mir miteilt ob ich mit meinen Gedankengängen richtig liege.
Falls Ihr noch was an Code braucht – einfach melden.
Gruss Schnakenfuss
P.S. Meinungen zum Design sind auch gern erwünscht – vor allem weil ich die Site bis jetzt nur im IE getestet hab
Hallo,
hearusfinden, welche Datei im iframe gerade geladen ist, kann ich mir gerade nur mit Javascript vorstellen. Eine andere Möglichkeit ist es mit php zu machen. Du speicherst die Seite auf der du gerade bist in einer Session, rufst dann beim Sprachwechsel eine Datei auf die dich an die Seite in der anderen Sprache weiterleitet.
Kleines Scriptbeispiel:
Speichern in die Session:
<?php
// Session starten (muss vor jeder ausgabe stehen)
session_start();
// Findet den Datei Namen heraus
$seite = filename($_SERVER["PHP_SELF"];
// In die Session speichern
$_SESSION["seite"] = $seite;
?>
Auslesen der Session:
<?php
// Session starten (muss vor jeder ausgabe stehen)
session_start();
// Variable $seite mit dem Inhalt der Session füllen
$seite = $_SESSION["seite"];
// Weiterleitung
header("Location: http://abc.de/...");
?>
Nachteile:
- Die Session läuft nach nicht allzulanger Zeit ab
- Hat der Benutzer zwei Seiten gleichzeitig offen könnte das Script ins Schleudern kommen
Mit Javascript kenne ich mich nicht ganz so gut aus, aber ich denke du müsstest so: parent.main.document.location hearusfinden können welche Seite geladen ist.
Hi,
Ich habe eine Webseite erstellt die in 2 Sprachen funktionieren soll und in der es dem User ermöglicht sein soll zwischen den Sprachen hin und her zu switchen.
wenn ich da mal ein wenig schlaumeiern darf:
Du moechtest Zwei- bzw. Mehrsprachigkeit implementieren. Letzteres ist in aller Regel angewiesen. Da wir den genannten Sachverhalt im Kontext PHP bearbeiten, ist davon auszugehen, dass Inhalte aus einer bestimmten Datenhaltung fuer Darstellungszwecke herangezogen werden. Ist das der Fall, dann werden Dir Codebrocken und aehnliches Input ganz vermutlich nicht weiterhelfen.
Ganz alleine richtig waere es eine neue Schicht einzuziehen, der wir einfach mal den Namen Mehrsprachigkeit (BTW - natuerlich nicht zu verwechseln mit Mehrstaatlichkeit) geben wollen. Als Folge wirst Du _alle_ Zeichenketten, die sprachlichen Inhalt transportieren, extrahieren muessen und durch Kodierungen zu ersetzen haben.
Wuerde ich mal so annehmen wollen. :-)
(Haben wirs mit "statischen" Webinhalten - also ohne bestimmter serverseitiger Logik und so - zu tun, dann koennte die Anforderung allerdings auch ein wenig "erdiger" bearbeitet werden.)
Gruss,
Ludger