Sprachweiterleitung

  • Hi Leute.

    Brauch mal eure Hilfe.
    Ich hab ne Seite die in 5 Sprachen geführt wird. Wäre natürlich jetz ne feine Sache wenn der jeweilige Nutzer direkt auf "SEINE" Seite in der jeweiligen Sprache geschaltet wird.

    Hab da mal ein paar Ansätze in Sachen PHP für die Weiterschaltung.

    Also. Der folgende Code is nem Preloader (index.php) im HEAD-Bereich.

    Hier ist ein Teil der Javascript Funktion, die nach erfolgreichem Laden aller Bilder auf die jeweilige INTRO-Seite weiter leiten soll.

    HTML
    function fertig() {
       if (geladen==25) { top.location.href = "de/Seiten/intro.html"; }

    Nun zum Problem:
    Erstens mal die Frage ob die PHP Funktion soweit in Ordnung ist und ich müsste/will oben in dem PHP Script erkennen welche Sprache das ist und diese Variable unten bei "top.location.href" einsetzen.
    Ist dies irgendwie möglich ???

    1000 Dank im voraus.

    lg

  • Mal davon abgesehen, dass du deine switch/case-Anweisung recht eigenwillig schreibst, würde ich auf solche Sachen eher verzichten. Wenn ich mir jetzt ein englischsprachiges OS installiere oder ein Multilanguage-System habe, leitest du mich auf eine Seite, die ich eigentlich garnicht sehen will. Lass den User die Sprache selber auswählen, das ist der bessere Weg.

  • Hi

    Das ist ja alles schön und gut und auf der Seite ist auch eine Möglichkeit die Sprache auszuwählen.

    Um das mal eben zu verdeutlichen:
    Die Seite ist für ein Restaurant was auf einer spanischen Insel liegt. Das heisst da gibt es regen Touristenbetrieb, die aus unterschiedlichen Ländern kommen. Welche Sprache sollte da default sein???

    Deswegen die Überlegung

  • Die Seite ist für ein Restaurant was auf einer spanischen Insel liegt.
    :
    Welche Sprache sollte da default sein???


    Du antwortest dir selber. ;) Wie gesagt, ich würde auf so eine Sache verzichten.

  • Ich versteh einfach nich dass hier Leuten ihre Ideen immer miesgemacht werden. Kritik ist ja in Ordnung, aber ohne genau zu erklären "WARUM" das denn so scheisse ist kann ich damit nichts anfangen. Und ohne dass man auf die Problemstellung eingeht hilft mir das auch nich grad weiter. Ich will das einfach so machen, da ich das hilfreich finde für den jeweiligen Nutzer da er die Seite "DIREKT" in seiner Sprache hat.
    In erster Linie geht es ja auch nicht um die Sprachweiterleitung sondern um die Übergabe einer PHP-Variable in eine Javascript Funktion (HREF).

    Da werden nun mal "HAUPTSÄCHLICH" Touristen sein und sich noch mal Erinnerungen holen wollen. Diese sind aber nich immer Spanier.

    Irgendwie habe ich gerade gesehen habe, dass ich irgendwie immer den DEFAULT Wert bekomme. Wie sieht denn die Ausgabe mit

    PHP
    $_SERVER['HTTP_ACCEPT_LANGUAGE']

    aus? Da es die Index Seite ist habe ich auch irgendwie ein Problem da mal ein echo/alert rein zu hauen.

    Ich bin dankbar für Kritik und sonst was aber ich will es einfach so machen um es dem User so leicht wie möglich zu machen. Für einen Lösungsansatz wäre ich sehr dankbar.

    lg

  • Ich versteh einfach nich dass hier Leuten ihre Ideen immer miesgemacht werden.


    Was habe ich daran mies gemacht?

    Kritik ist ja in Ordnung, aber ohne genau zu erklären "WARUM" das denn so scheisse ist kann ich damit nichts anfangen.


    Ich habe dir erklärt, warum ich von dieser Idee die Finger lassen würde.

    Und ohne dass man auf die Problemstellung eingeht hilft mir das auch nich grad weiter.


    Na so ein Pech aber auch.


    Ich will das einfach so machen, da ich das hilfreich finde für den jeweiligen Nutzer da er die Seite "DIREKT" in seiner Sprache hat.


    Das ist aber nicht unbedingt der Fall!


    In erster Linie geht es ja auch nicht um die Sprachweiterleitung sondern um die Übergabe einer PHP-Variable in eine Javascript Funktion (HREF).


    Warum überhaupt JavaScript? Es reicht doch, wenn du mit PHP auf die richtige Seite weiterleitest. Außerdem bist du dann doch schon in der entsprechenden Intro-Seite.


    Da werden nun mal "HAUPTSÄCHLICH" Touristen sein und sich noch mal Erinnerungen holen wollen.


    Wenn ich auf eine spanische Domain gehe, erwarte ich nicht unbedingt eine deutschsprachige Seite.


    Da es die Index Seite ist habe ich auch irgendwie ein Problem da mal ein echo/alert rein zu hauen.


    Du arbeitest auf der öffentlichen Seite? Nee, ne?

    Und noch ein Hinweis aus der Doku

    Zitat


    Hinweis: HTTP/1.1 verlangt einen absoluten URI inklusive dem Schema, Hostnamen und absoluten Pfad als Argument von » Location:, aber manche Clients akzeptieren auch relative URIs. Gewöhnlich können Sie mittels $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] und dirname() aus einem relativen Link einen absoluten URI selbst erstellen:

    PHP
    <?php
    /* Redirect auf eine andere Seite im aktuell angeforderten Verzeichnis */
    $host  = $_SERVER['HTTP_HOST'];
    $uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
    $extra = 'mypage.php';
    header("Location: http://$host$uri/$extra");
    exit;
    ?>

    3 Mal editiert, zuletzt von bandit600 (28. Februar 2009 um 19:07)

  • Ich würds folgendermaßen machen:

    Wenn der Benutzer selbst noch keine Sprache ausgewählt hat, kann man den Benutzer weiterleiten (also wie du es vor hattest).
    Wenn dieser die Sprache gewählt hat, sollte immer diese Sprache angezeigt werden. Sonst hat der Benutzer ja keine Möglichkeit eine andere Sprache zu wählen.