Jens: Automatische Erkennung der (Browser)Sprache

Hallo,
ich suche eine Möglichkeit, dass abhängig von der Browsersprache die deutschsprachige oder englischsprachige Version einer Homepage geladen wird (wenn ein deutschsprachiger Browser benutzt wird, die deutsche Seite, bei allen anderen Sprachen die engl. Seite).
Vielen Dank für Eure Hilfe!
Viele Grüße
Jens

  1. Hi Jens,
    Was verstehst du denn an http://de.selfhtml.org/javascript/objekte/navigator.htm#language nicht, respektive, was hast du versucht?

    Gruß

    Kurt

    --
    Nein, ich beantworte keine Anfragen per e-mail.
    ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
    "Der Ungebildete sieht ueberall nur Einzelnes, der Halbgebildete die Regel, der Gebildete die Ausnahme."  (Franz Grillparzer; oest. Dichter; 1791-1872)
    http://elektro-dunzinger.at
    http://shop.elektro-dunzinger.at
    1. http://de.selfhtml.org/javascript/objekte/navigator.htm#language

      Hallo Kurt,
      danke für den Tipp - nur leider klappt's nicht mit IE, und die Einbindung von navigator.userLanguage. abhängig vom Browser kriege ich nicht hin...
      Viele Grüße
      Jens

      1. Hi Jens,

        Hallo Kurt,
        danke für den Tipp - nur leider klappt's nicht mit IE, und die Einbindung von navigator.userLanguage. abhängig vom Browser kriege ich nicht hin...

        Warum fragst du nicht die Methode ab?

        if(window.opera || (document.getElementById && !document.all)) {
          if(navigator.language.indexOf("en")>-1) {
             top.location usw;
          } else (die zweite Sprachenabfrage) {
             .........
          }
        }
        else if(document.all) {
         (dasselbe wie oben, nur auf den IE bezogen)
        } else {
          {tusonstwas - Fehlerabfangen}
        }

        Gruß

        Kurt

        --
        Nein, ich beantworte keine Anfragen per e-mail.
        ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
        "Schweigen ist ein Argument, das kaum zu widerlegen ist."  (Heinrich Boell; dt. Schriftsteller u. Nobelpreistraeger; 1917-1985)
        http://elektro-dunzinger.at
        http://shop.elektro-dunzinger.at
        1. Hi,

          Warum fragst du nicht die Methode ab?

          Gegenfrage: Warum machst *Du* es nicht? Warum der fehleranfällige Weg via Browserweiche? =:-o

          Als simpler Einzeiler:

          agt_lang=(navigator.language)?navigator.language:(navigator.userLanguage)?navigator.userLanguage:"";

          Zuerst language, dann userLanguage, dann "" - was da ist wird genommen. ;-)

          (aus: http://Coding.vampirehost.de/Systemvariable)

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
          1. Hi Cybaer,

            Gegenfrage: Warum machst *Du* es nicht?

            Ganz einfach, weil ich es nicht brauche. :-)

            Warum der fehleranfällige Weg via Browserweiche? =:-o

            Was ist an der Abfrage der Methode fehleranfällig? Ja, wenn ich  fälschbare Daten abgefragt hätte, aber so... ?

            Als simpler Einzeiler:

            agt_lang=(navigator.language)?navigator.language:(navigator.userLanguage)?navigator.userLanguage:"";

            Zuerst language, dann userLanguage, dann "" - was da ist wird genommen. ;-)

            Dein Einzeiler ist nur solange ein Einzeiler, solange er ohne Sinn für sich alleine steht.

            (aus: http://Coding.vampirehost.de/Systemvariable)

            Gruß

            Kurt

            --
            Nein, ich beantworte keine Anfragen per e-mail.
            ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
            "Schoene Tage - nicht weinen, dass sie vergangen, sondern laecheln, dass sie gewesen."  (Rabindranath Tagore; ind. Philosoph, Dichter u. Maler; 1861-1941)
            http://elektro-dunzinger.at
            http://shop.elektro-dunzinger.at
            1. Hi Cybaer,

              Als simpler Einzeiler:

              agt_lang=(navigator.language)?navigator.language:(navigator.userLanguage)?navigator.userLanguage:"";

              Zuerst language, dann userLanguage, dann "" - was da ist wird genommen. ;-)

              Dein Einzeiler ist nur solange ein Einzeiler, solange er ohne Sinn für sich alleine steht.

              Ganz abgesehen davon, daß das Script dadurch wirklich wesentlich kürzer wird. ;-)
              Allerdings scheint mir ein derart gepacktes Script für einen Anfänger doch ein wenig unverständlich zu sein. ;-)

              Gruß

              Kurt

              --
              Nein, ich beantworte keine Anfragen per e-mail.
              ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
              "Der Zufall ist der einzig legitime Herrscher des Universums."  (Napoleon I.; fr. Kaiser; 1769-1821)
              http://elektro-dunzinger.at
              http://shop.elektro-dunzinger.at
            2. Hi,

              Gegenfrage: Warum machst *Du* es nicht?
              Ganz einfach, weil ich es nicht brauche. :-)

              Dannschreib's auch nicht. ;-)

              Warum der fehleranfällige Weg via Browserweiche? =:-o
              Was ist an der Abfrage der Methode fehleranfällig?

              Hutzbutz einen Browser falsch erkannt (neuer Browser neben Opera mit document.all?) und schon ist essig (sprich: Fehler und Abbruch)

              Dein Einzeiler ist nur solange ein Einzeiler, solange er ohne Sinn für sich alleine steht.

              Deine Abfrage ist problematisch, nicht der Rest.

              Ergänzend zum "Einzeiler":

              if(agt_lang.indexOf("en")>=0) {
               top.location.href="english.htm";
              } else {
               top-ocation.href="deutsch.htm";
              }

              Aber ich würde die Seitensprache ohnehin nicht nach der Browsersprache wählen ...

              Gruß, Cybaer

              --
              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
              1. Hi Cybaer,

                Gegenfrage: Warum machst *Du* es nicht?
                Ganz einfach, weil ich es nicht brauche. :-)

                Dannschreib's auch nicht. ;-)

                Wieso hast's du dann geschrieben? Brauchst du's?»

                Warum der fehleranfällige Weg via Browserweiche? =:-o
                Was ist an der Abfrage der Methode fehleranfällig?

                Hutzbutz einen Browser falsch erkannt (neuer Browser neben Opera mit document.all?) und schon ist essig (sprich: Fehler und Abbruch)

                Ach, gibt's den schon? Dann müsste man die Weiche erweitern. :o)

                Dein Einzeiler ist nur solange ein Einzeiler, solange er ohne Sinn für sich alleine steht.

                Deine Abfrage ist problematisch, nicht der Rest.

                In der jetzigen Form unter jetzigen Voraussetzungen sehe ich keinerlei Problematik. Eventuell irgend wann mal zukünftig....

                Ergänzend zum "Einzeiler":

                if(agt_lang.indexOf("en")>=0) {
                top.location.href="english.htm";
                } else {
                top-ocation.href="deutsch.htm";
                }

                Aber ich würde die Seitensprache ohnehin nicht nach der Browsersprache wählen ...

                Stimmt, Davids Ansatz ist sicher der Bessere.

                Gruß

                Kurt

                --
                Nein, ich beantworte keine Anfragen per e-mail.
                ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                "Es gibt Menschen, die ihre Persoenlichkeit aufgeben, damit ihre Person zur Geltung kommt."  (Friedl Beutelrock; dt. Schriftstellerin; 1899-1958)
                http://elektro-dunzinger.at
                http://shop.elektro-dunzinger.at
                1. Hi,

                  Dannschreib's auch nicht. ;-)
                  Wieso hast's du dann geschrieben? Brauchst du's?»

                  Nein, aber eine "falscher Lösungsweg" sollte nicht unbedingt unkommentiert im Forumsarchiv stehen.

                  Ach, gibt's den schon? Dann müsste man die Weiche erweitern. :o)

                  Ist das jetzt "Rückzugs-Ironie", oder ernst gemeint?

                  Falls letzteres und für JavaScript-Neulinge:

                  Wichtiger JavaScript-Grundsatz, der gerne mißachtet wird: "Gehe *nie* danach, welchen Browser der Surfer verwendet. Halte dich einfach an das, was dieser Browser kann!"

                  Will konkret heißen:

                  agt_lang=(navigator.language)?navigator.language:(navigator.userLanguage)?navigator.userLanguage:"";

                  bzw. die lange Version

                  if(navigator.language) {
                   agt_lang=navigator.language;
                  } else if(navigator.userLanguage) {
                   agt_lang=navigator.userLanguage;
                  } else {
                   agt_lang="";
                  }

                  beachtet diese Regel. Kennt der Browser navigator.language (vielleicht ja auch der IE 7), wird auch navigator.language verwendet. Alternativ wird navigator.userLanguage verwendet. Und wenn es das auch nicht gibt, ist das Gewünschte halt nicht zu ermitteln.

                  Und genau das hatte ich eigentlich erwartet, als Du gefragt hast "Warum fragst du nicht die Methode ab?". Ist halt deutlich sauberer/sicherer/eleganter als "Warum machst du nicht eine Browserweiche?" (grusel).

                  In der jetzigen Form unter jetzigen Voraussetzungen sehe ich keinerlei Problematik. Eventuell irgend wann mal zukünftig....

                  Ja, solcherlei Argumentation kennt man vom "Jahr 2000"-Problem. Da haben die Programmierer im vorigen Jahrhundert auch gesagt: "Was brauchen wir 4 Stellen für die Jahreszahl? 2 tun's doch auch!" >;->

                  Gruß, Cybaer

                  --
                  Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                  1. Hi Cybaer,

                    Dannschreib's auch nicht. ;-)
                    Wieso hast's du dann geschrieben? Brauchst du's?»

                    Nein, aber eine "falscher Lösungsweg" sollte nicht unbedingt unkommentiert im Forumsarchiv stehen.

                    Ach ja, du hast ja das ultimative Wissen, nur du alleine, oder?

                    Ach, gibt's den schon? Dann müsste man die Weiche erweitern. :o)

                    Ist das jetzt "Rückzugs-Ironie", oder ernst gemeint?

                    Das ist durchaus ernst gemeint.

                    Falls letzteres und für JavaScript-Neulinge:

                    Wichtiger JavaScript-Grundsatz, der gerne mißachtet wird: "Gehe *nie* danach, welchen Browser der Surfer verwendet. Halte dich einfach an das, was dieser Browser kann!"

                    Will konkret heißen:

                    agt_lang=(navigator.language)?navigator.language:(navigator.userLanguage)?navigator.userLanguage:"";

                    bzw. die lange Version

                    if(navigator.language) {
                    agt_lang=navigator.language;
                    } else if(navigator.userLanguage) {
                    agt_lang=navigator.userLanguage;
                    } else {
                    agt_lang="";
                    }

                    Und genau das hatte ich eigentlich erwartet, als Du gefragt hast "Warum fragst du nicht die Methode ab?". Ist halt deutlich sauberer/sicherer/eleganter als "Warum machst du nicht eine Browserweiche?" (grusel).

                    Die von mir gepostete Browserweiche basiert auf der Abfrage der einsetzbaren Methoden und nicht auf fälschbaren userAgent-Daten. Unbestritten ist deine Lösung eleganter, nichts desto trotz halte ich dein Verhalten in dieser Sache für mehr als überheblich und dein jetziges Posting für besserwisserisch.

                    In der jetzigen Form unter jetzigen Voraussetzungen sehe ich keinerlei Problematik. Eventuell irgend wann mal zukünftig....

                    Ja, solcherlei Argumentation kennt man vom "Jahr 2000"-Problem. Da haben die Programmierer im vorigen Jahrhundert auch gesagt: "Was brauchen wir 4 Stellen für die Jahreszahl? 2 tun's doch auch!" >;->

                    Ein Vergleich wird nicht besser, je weiter er an den Haaren herbeigezogen wurde.
                    Bist du ein Kontrollfreak?
                    Möchtest du auf alles, was in Zukunft irgendwann mal passieren könnte, sofort eine Antwort haben?
                    Wie sagte ein paar Zeilen weiter oben jemand zu Efchen?
                    <zitat>
                    Was machst du eigentlich, wenn deine Haare sich schon von alleine spalten?
                    </zitat>

                    Gruß

                    Kurt

                    --
                    Nein, ich beantworte keine Anfragen per e-mail.
                    ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                    "Eifer ist Begeisterung, gemildert durch Vernunft."  (Blaise Pascal; fr. Mathematiker, Physiker u. Philiosoph; 1623-1662)
                    http://elektro-dunzinger.at
                    http://shop.elektro-dunzinger.at
                    1. Hi,

                      Ach ja, du hast ja das ultimative Wissen, nur du alleine, oder?

                      Ich weiß zumindest, wie man diese Abfrage so hinbekommt, daß sie garantiert problemlos läuft und der Programmierer sich nie wieder Gedanken darüber zu machen braucht (jedenfalls nicht zur Fehlerkorrektur).

                      Das könnte man wohl, zumindest im Hinblick auf diese Frage, ultimativ nennen. Weniger Probleme als 0 geht halt nicht. :)

                      Es mag vielleicht andere, ebenso gute Lösungen geben, deine war es nicht.

                      Das ist durchaus ernst gemeint.

                      Dann sieh diesen Thread als willkommene Gelegenheit, dein Wissen in Sachen JavaScript-Programmierung zu erweitern.

                      Und nein, das ist nicht arrogant gemeint.

                      Auch ich bin weder allwissend vom Himmel gefallen, noch weiß ich jetzt alles. Wenn Du es als "Schande" ansiehst (oder als "Arroganz" meinerseits), auf diese Art etwas zu lernen, dann tut es mir leid. Wenn ich in der Vergangenheit solcherlei Anwandlungen gezeigt hätte, wüßte ich heute wohl nicht das, was ich weiß! 8-o

                      Ich nehme neues Wissen jedenfalls sehr gerne auf - und kann nur jedem dazu raten, es ebenso zu tun.

                      Die von mir gepostete Browserweiche basiert auf der Abfrage der einsetzbaren Methoden ...

                      ... die sich ändern können.

                      nichts desto trotz halte ich dein Verhalten in dieser Sache für mehr als überheblich und dein jetziges Posting für besserwisserisch.

                      Also ehrlich: Wenn auch nur ein Leser dadurch gelernt hat, wie man solche Abfragen richtig macht (möglichst auch gleich das Prinzip, das dahintersteht und nicht nur für diesen einen Fall - übrigens: ein *elementares* Grundprinzip von JavaScript!), dann kann ich mit deiner Meinung wunderbar leben.

                      Na ja, ich kann es auch, wenn dem nicht so sein sollte. =:-)

                      Bist du ein Kontrollfreak?

                      Im Gegenteil. Mir ist es halt lieber, wenn ich einen Quelltext nie wieder kontrollieren muß, weil ich weiß, daß er korrekt gecodet wurde.

                      Möchtest du auf alles, was in Zukunft irgendwann mal passieren könnte, sofort eine Antwort haben?

                      Ich möchte, daß sich die bereits gelösten Fragen und Probleme mir zukünftig nicht erneut stellen, nur weil sich Dinge geändert haben, auf die ich keinerlei Einfluß habe. Ich möchte, daß meine Programme auch bei Anwendern laufen, die mir nicht anschließend am Rockzipfel hängen können oder wollen, wenn (mal wieder?) irgendetwas nicht mehr funktioniert (das WWW ist voll von solchem Scriptschund). Und das, obwohl ich es durch eine *prinzipiell* andere Programmierung leicht hätte vermieden können.

                      <zitat>
                      Was machst du eigentlich, wenn deine Haare sich schon von alleine spalten?
                      </zitat>

                      Sehr bedauerlich, wenn Du aus diesem Thread nichts gelernt hättest. Aber: Dein Problem, nicht meines ... =:-))

                      Gruß, Cybaer

                      --
                      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                      1. Hi Cybaer,

                        Ich weiß zumindest, wie man diese Abfrage so hinbekommt, daß sie garantiert problemlos läuft und der Programmierer sich nie wieder Gedanken darüber zu machen braucht (jedenfalls nicht zur Fehlerkorrektur).

                        Daran habe ich auch nie gezweifelt.

                        Es mag vielleicht andere, ebenso gute Lösungen geben, deine war es nicht.

                        Auch das habe ich nicht in Frage gestellt, im Gegenteil.

                        Das ist durchaus ernst gemeint.

                        Dann sieh diesen Thread als willkommene Gelegenheit, dein Wissen in Sachen JavaScript-Programmierung zu erweitern.

                        Dazu bin ich immer gerne bereit.

                        Und nein, das ist nicht arrogant gemeint.

                        In deinem jetzigen Tonfall und bei deiner jetzigen Wortwahl habe ich das auch nicht so empfunden.

                        Auch ich bin weder allwissend vom Himmel gefallen, noch weiß ich jetzt alles. Wenn Du es als "Schande" ansiehst (oder als "Arroganz" meinerseits), auf diese Art etwas zu lernen, dann tut es mir leid. Wenn ich in der Vergangenheit solcherlei Anwandlungen gezeigt hätte, wüßte ich heute wohl nicht das, was ich weiß! 8-o

                        Tja, ich nehme an, es wäre hilfreich für dich den Unterton deiner vorhergehenden Postings noch mal auf dich wirken zu lassen.

                        Ich nehme neues Wissen jedenfalls sehr gerne auf - und kann nur jedem dazu raten, es ebenso zu tun.

                        Gerne, ich ebenso, wenn es in adäquater Form vermittelt wird.

                        Die von mir gepostete Browserweiche basiert auf der Abfrage der einsetzbaren Methoden ...

                        ... die sich ändern können.

                        Richtig, das habe ich auch nie in Frage gestellt. In Frage gestellt habe ich lediglich deine Intention, mein Ansatz wäre auch unter heutigen Vorraussetzungen fehlerbehaftet. Dem ist _nicht_ so.

                        nichts desto trotz halte ich dein Verhalten in dieser Sache für mehr als überheblich und dein jetziges Posting für besserwisserisch.

                        Also ehrlich: Wenn auch nur ein Leser dadurch gelernt hat, wie man solche Abfragen richtig macht (möglichst auch gleich das Prinzip, das dahintersteht und nicht nur für diesen einen Fall - übrigens: ein *elementares* Grundprinzip von JavaScript!), dann kann ich mit deiner Meinung wunderbar leben.

                        Das ist gut für dich. Da ich dich ja schon länger kenne, brauche ich dich sicherlich nicht darauf hinweisen, daß dich in der Vergangenheit schon eine Menge anderer Leute der Arroganz und Besserwisserei bezichtigt haben. Möglicherweise liegt es doch an deiner Herangehensweise, grundsätzlich richtiges an den Mann zu brigen?

                        Na ja, ich kann es auch, wenn dem nicht so sein sollte. =:-)

                        Bist du ein Kontrollfreak?

                        Im Gegenteil. Mir ist es halt lieber, wenn ich einen Quelltext nie wieder kontrollieren muß, weil ich weiß, daß er korrekt gecodet wurde.

                        Dessen kannst du dir nie sicher sein. Selbst, wenn du "alle" Eventualitäten berücksichtigt hast, kann irgendwo und irgendwann eine Änderung eintreten, mit der niemand gerechnet hat.

                        Möchtest du auf alles, was in Zukunft irgendwann mal passieren könnte, sofort eine Antwort haben?

                        Ich möchte, daß sich die bereits gelösten Fragen und Probleme mir zukünftig nicht erneut stellen, nur weil sich Dinge geändert haben, auf die ich keinerlei Einfluß habe. Ich möchte, daß meine Programme auch bei Anwendern laufen, die mir nicht anschließend am Rockzipfel hängen können oder wollen, wenn (mal wieder?) irgendetwas nicht mehr funktioniert (das WWW ist voll von solchem Scriptschund). Und das, obwohl ich es durch eine *prinzipiell* andere Programmierung leicht hätte vermieden können.

                        Alleine deine globalisierende Aussage "voll von solchem Scriptschund" lässt mir meine Galle wieder hochsteigen. Imho kannst du etwas, das anerkanntermaßen unter gegebenen Voraussetzungen funktioniert, nicht global als Schund bezeichnen, höchstens als zu wenig zukunftsorientiert.
                        Hier tritt wieder mal deine Arroganz klar zu Tage.

                        <zitat>
                        Was machst du eigentlich, wenn deine Haare sich schon von alleine spalten?
                        </zitat>

                        Sehr bedauerlich, wenn Du aus diesem Thread nichts gelernt hättest. Aber: Dein Problem, nicht meines ... =:-))

                        Fazit:
                        Ich habe nie in Zweifel gezogen, daß dein Ansatz eleganter und ev. auch durchdachter ist als meiner, ich habe lediglich deinen Ton und deine unterschwellige Botschaft, die du dadurch transportiert hast, heftigst kritisiert.
                        Anzunehmen, daß ich nun schmollend diesen Ansatz, nur weil er von dir kam, nicht integrieren und zukünftig nicht auch anwenden würde, ist lächerlich.
                        Ein sehr altes, aber immer noch gültiges Sprichwort sagt schon: Der Ton macht die Musik, und mit dem war ich ganz und gar nicht einverstanden, was aber nicht impliziert, daß ich mich gegen den Gehalt der Botschaft an sich sträuben würde.
                        Du kannst beruhigt sein, es ist mir durchaus bewusst, daß es eine Menge Leute gibt, die mehr mit JS können als ich.

                        Gruß

                        Kurt

                        --
                        Nein, ich beantworte keine Anfragen per e-mail.
                        ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
                        "Es gibt Menschen, die ihre Persoenlichkeit aufgeben, damit ihre Person zur Geltung kommt."  (Friedl Beutelrock; dt. Schriftstellerin; 1899-1958)
                        http://elektro-dunzinger.at
                        http://shop.elektro-dunzinger.at
  2. Hallo Jens,

    ich suche eine Möglichkeit, dass abhängig von der Browsersprache die deutschsprachige oder englischsprachige Version einer Homepage geladen wird (wenn ein deutschsprachiger Browser benutzt wird, die deutsche Seite, bei allen anderen Sprachen die engl. Seite).

    Wieso meinst du anhand der Browsersprache die gewünschte Seitensprache erkennen zu können? Ich hab hier z.B. ein englischsprachiges System, bevorzuge meist aber deutschsprachige Seiten.
    Abgesehen von einer Wechselmöglichkeit zwischen de und eng könntest du dich an den Angaben in der Accept-Language-Angabe des HTTP-Requests orientieren. Verwende dazu eine serverseige Scriptsprache, dann sparst du dir zusätzlich noch einen Request ;)

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
    1. Hallo Jens,

      lass den Javascript-Käse sein und nutze den Vorschlag von David.

      Abgesehen von einer Wechselmöglichkeit zwischen de und eng könntest du dich an den Angaben in der Accept-Language-Angabe des HTTP-Requests orientieren. Verwende dazu eine serverseige Scriptsprache, dann sparst du dir zusätzlich noch einen Request ;)

      Das könnte dann z.B. so aussehen:

      <?php
      $sprache=substr($HTTP_ACCEPT_LANGUAGE, 0, 2);
      if($sprache=="es")
      {header("Location:http://www.deinedomain.de/index_es.html");}
      elseif($sprache=="en")
      {header("Location:http://www.deinedomain.de/index_en.html");}
      else
      {header("Location:http://www.deinedomain.de/index_de.html");}
      ?>

      Oder meintest du noch etwas Anderes, David?

      Gruß
      Bones

      1. Hallo zusammen,

        Oder meintest du noch etwas Anderes, David?

        Bis auf ein wenig Kosmetik an dem Schnipsel (und, falls notwendig, Berücksichtigung von en-us oder en-uk usw) wie die Verwendung von $_SERVER und switch ist es das, was ich im Kopf hatte. Je nach dem Umfang des anzupassenden Teils käme auch ein include() unter Berücksichtigung der Sprache in Betracht.

        Grüße
          David

        --
        >>Nobody will ever need more than 640k RAM!<<
        1981 Bill Gates
  3. Moin,

    ich suche eine Möglichkeit, dass abhängig von der Browsersprache die deutschsprachige oder englischsprachige Version einer Homepage geladen wird (wenn ein deutschsprachiger Browser benutzt wird, die deutsche Seite, bei allen anderen Sprachen die engl. Seite).

    Was machst Du eigentlich, wenn ein nicht Deutsch sprechender Franzose in einem deutschen Internet-Cafe Deine Site aufruft?

    Oder wenn Du Deine Site auch in Schwedisch anbietest, und ich mit deutschem Browser mein Schwedisch bei Dir verbessern will?

    Gruß,
    -Efchen

    1. Was machst Du eigentlich, wenn ein nicht Deutsch sprechender Franzose in einem deutschen Internet-Cafe Deine Site aufruft?

      Oder wenn Du Deine Site auch in Schwedisch anbietest, und ich mit deutschem Browser mein Schwedisch bei Dir verbessern will?

      Was machst du eigentlich, wenn deine Haare sich schon von alleine spalten?

      Mal im Ernst: Er wird doch sicher so schlau sein, eine manuelle Umschaltmöglichkeit anzubieten ... hoffe ich jedenfalls ...

      Gruß
      Bones

      1. Tachchen!

        Was machst du eigentlich, wenn deine Haare sich schon von alleine spalten?

        Darf ich den Spruch klauen für meine gemeinsame Zeit mit Efchen
        wenn das Spotlight-Forum wieder auf hat?

        @Efchen: Ist nicht bös gemeint! ;-)

        Gruß

        Die schwarze Piste

        --
        ie:{ fl:( br:^ va:) ls:# fo:) rl:( n4:& ss:{ de:] js:| ch:? mo:) zu:$
        http://www.smartbytes.de
        1. Tachchen!

          dito!

          Was machst du eigentlich, wenn deine Haare sich schon von alleine spalten?
          Darf ich den Spruch klauen für meine gemeinsame Zeit mit Efchen
          wenn das Spotlight-Forum wieder auf hat?

          Nein. Aber du darfst ihn nutzen unter Angabe des Copyrights ;-)

          @Efchen: Ist nicht bös gemeint! ;-)

          Von mir übrigens auch nicht, ich hoffe das war ersichtlich ...

          Gruß
          Bones

      2. Moin,

        Was machst Du eigentlich, wenn ein nicht Deutsch sprechender Franzose in einem deutschen Internet-Cafe Deine Site aufruft?

        Oder wenn Du Deine Site auch in Schwedisch anbietest, und ich mit deutschem Browser mein Schwedisch bei Dir verbessern will?

        Mal im Ernst: Er wird doch sicher so schlau sein, eine manuelle Umschaltmöglichkeit anzubieten ... hoffe ich jedenfalls ...

        Du hast nicht viel Erfahrung im Umgang mit DAUs.
        Ich sehe das nicht als Haarspalterei. Ich habe solche Fragen schon oft gesehen, und oft haben die Fragenden an sowas schlichtweg NICHT gedacht. Die meinten, sie tun dem Besucher was gutes, wenn sie ihn gleich auf die Sprache verweisen, die sie für richtig halten. Das ist übrigens ein typisches Windows-Verhalten. Eine Bevormundung der Besucher, die selber entscheiden wollen.

        Gruß,
        -Efchen

        P.S.: Nein, ich nehme Euch das nicht übel :-) Aber ich sehe da halt wirklich keine Haarspalterei, das kann ich besser. :)

        P.P.S.: @schwarze Piste: Spotlight-Nick? Ich muss doch wissen, mit wem ich es zu tun habe :-D

        1. Hi Efchen,

          Ich sehe das nicht als Haarspalterei. Ich habe solche Fragen schon oft gesehen, und oft haben die Fragenden an sowas schlichtweg NICHT gedacht. Die meinten, sie tun dem Besucher was gutes, wenn sie ihn gleich auf die Sprache verweisen, die sie für richtig halten. Das ist übrigens ein typisches Windows-Verhalten. Eine Bevormundung der Besucher, die selber entscheiden wollen.

          WENN eine manuelle Umschaltmöglichkeit gegeben ist, halte ich die automatische Sprachzuweisung für sehr sinnvoll. Wer absolut kein Englisch spricht, wird sich vermutlich mitnichten einen englischsprachigen Browser aufspielen. Und warum soll ich einem Angelsachsen (etc.) erst meine deutsche Seite aufzwingen, wenn ich ihm gleich die englische präsentieren kann?

          Aber du hast recht mit dem Einwand, dass der Fragende an so etwas nicht gedacht haben könnte - DAS habe ich wiederum nicht berücksichtigt.

          P.S.: Nein, ich nehme Euch das nicht übel :-) Aber ich sehe da halt wirklich keine Haarspalterei, das kann ich besser. :)

          (: Zeigen, zeigen! :)

          Gruß
          Bones

          1. Moin,

            WENN eine manuelle Umschaltmöglichkeit gegeben ist, halte ich die automatische Sprachzuweisung für sehr sinnvoll.

            Wer absolut kein Englisch spricht, wird sich vermutlich mitnichten einen englischsprachigen Browser aufspielen.

            Meine Frau drückt sich auf vor Englisch, trotzdem habe ich zuhause zeitweilig einen englischen Browser installiert.
            Wer als nicht deutsch Sprechender in ein deutsches Internetcafe geht, bekommt dann auf solchen Sites auch immer zuerst die Deutsche Version.
            Das kann durchaus nerven. Der Link zur anderssprachigen Site sollte daher deutlich sichtbar platziert sein (so wie das vom Impressums-Link gefordert wird). Ich denke, darauf werden wir uns einigen.

            Und warum soll ich einem Angelsachsen (etc.) erst meine deutsche Seite aufzwingen, wenn ich ihm gleich die englische präsentieren kann?

            Weil Du nicht weißt, ob Dein Besucher Angelsachse ist. Es gibt halt keine Möglichkeit rauszufinden, wer den Browser bedient.

            P.S.: Nein, ich nehme Euch das nicht übel :-) Aber ich sehe da halt wirklich keine Haarspalterei, das kann ich besser. :)

            (: Zeigen, zeigen! :)

            Oh schade, da war eben irgendwo ein Posting, wo ich mir die Antwort verkniffen habe...weil sie sicher als Haarspalterei ausgelegt worden wäre und eine endlose Diskussion heraufbeschworen hätte, wo ich wieder als der Böse, Unfreundliche...als das personifizierte Grauen hingestellt worden wäre. (Und garantiert wäre kurz darauf jemand anders gekommen und hätte genau das Verhalten gezeigt, was ich genannt hätte, was alle als Haarspalterei abgetan worden wäre, und dann hätte sich niemand mehr an mich erinnert!)

            Leider weiß ich den Thread und auch das Thema nicht mehr :(

            Oder war es das, wie mit dem Angelsachsen? Ich glaub, da hat auch jemand was geschrieben, dass er mit JavaScript etwas von dem Menschen, der am Browser sitzt, abfragen wollte.. :-)

            Gruß,
            -Efchen

            1. Hi!

              Meine Frau drückt sich auf vor Englisch, trotzdem habe ich zuhause zeitweilig einen englischen Browser installiert.

              Wie du schon schreibst, "zeitweilig". Im Prinzip diskutieren wir hier um des Kaisers Bart, denn es geht ja um Wahrscheinlichkeiten, die nicht genau bestimmbar sind.

              Wie groß ist die Wahrscheinlichkeit, dass derjenige, der einen Browser bedient, eine Website in der Sprache angezeigt haben möchte, die im von ihm benutzten Browser als primäre Sprache eingestellt ist?

              Wer als nicht deutsch Sprechender in ein deutsches Internetcafe geht, bekommt dann auf solchen Sites auch immer zuerst die Deutsche Version.

              Die einzige absolut sichere Abhilfe ist also eine Sprachauswahlseite VOR jeder Website. Hm. Oder vielleicht eine Browsererweiterung, die jeden neuen Benutzer vor dem Surfen fragt, in welcher Sprache er die Seiten angezeigt bekommen möchte. Man könnte auch mal über Hirnimplantate mit Bluetooth-Funktionalität nachdenken, die die gewünschte Sprache direkt im Hirn abfragen und an den Browser übermitteln ...

              Das kann durchaus nerven. Der Link zur anderssprachigen Site sollte daher deutlich sichtbar platziert sein (so wie das vom Impressums-Link gefordert wird). Ich denke, darauf werden wir uns einigen.

              Damit habe ich kein Problem, denn es entspricht exakt meiner Meinung.

              Und warum soll ich einem Angelsachsen (etc.) erst meine deutsche Seite aufzwingen, wenn ich ihm gleich die englische präsentieren kann?

              Weil Du nicht weißt, ob Dein Besucher Angelsachse ist. Es gibt halt keine Möglichkeit rauszufinden, wer den Browser bedient.

              Doch, s.o., naja OK, in ein paar jahren vielleicht ;-)
              Und damit wären wir wieder bei den Wahrscheinlichkeiten ...
              Aber da wir uns ja schon geeinigt haben, würde ich sagen: Thema beendet. OK?

              P.S.: Nein, ich nehme Euch das nicht übel :-) Aber ich sehe da halt wirklich keine Haarspalterei, das kann ich besser. :)

              (: Zeigen, zeigen! :)

              Oh schade, da war eben irgendwo ein Posting, wo ich mir die Antwort verkniffen habe...weil sie sicher als Haarspalterei ausgelegt <... snip ...> dann hätte sich niemand mehr an mich erinnert!)
              Leider weiß ich den Thread und auch das Thema nicht mehr :(

              Alles Ausflüchte. Zeigen! :))))

              Schönes Wochenende! (Und danke für die erfrischende Diskussion.)
              Bones

              1. Moin,

                Meine Frau drückt sich auf vor Englisch, trotzdem habe ich zuhause zeitweilig einen englischen Browser installiert.

                Wie du schon schreibst, "zeitweilig".

                Aber zeitweilig, bis ich die nächste Version installiert hatte, die ist jetzt zufällig deutsch. Nicht, weil ich auf eine deutsche Version gewartet hätte :)

                Im Prinzip diskutieren wir hier um des Kaisers Bart, denn es geht ja um Wahrscheinlichkeiten, die nicht genau bestimmbar sind.

                Wie so vieles.
                Wie so vieles, was Windows und Word mir ständig vorschlagen, obwohl ich es gar nicht will :)

                Wie groß ist die Wahrscheinlichkeit, dass derjenige, der einen Browser bedient, eine Website in der Sprache angezeigt haben möchte, die im von ihm benutzten Browser als primäre Sprache eingestellt ist?

                Kommt drauf an, welche Nutzergruppe Du fragst :-)

                Oder vielleicht eine Browsererweiterung, die jeden neuen Benutzer vor dem Surfen fragt, in welcher Sprache er die Seiten angezeigt bekommen möchte.

                Was auch nicht abfragen könnte, dass erst ein Englischsprachender davor sitzt, und dann ein Deutscher kommt, sich die Tastatur grapscht und sagt "Zeig mal her..." :-)

                Man könnte auch mal über Hirnimplantate mit Bluetooth-Funktionalität nachdenken,

                Ja, das geht schon eher!

                Weil Du nicht weißt, ob Dein Besucher Angelsachse ist. Es gibt halt keine Möglichkeit rauszufinden, wer den Browser bedient.

                Doch, s.o., naja OK, in ein paar jahren vielleicht ;-)
                Und damit wären wir wieder bei den Wahrscheinlichkeiten ...

                :-)

                Aber da wir uns ja schon geeinigt haben, würde ich sagen: Thema beendet. OK?

                Von mir aus :)
                Ich fange aber meist mit dem Antworten an, noch bevor ich den Text ganz gelesen habe, Du entschuldigst also meine Antwort? ;)

                Alles Ausflüchte. Zeigen! :))))

                Geh zu Spotlight und such nach "Efchen", wenn Du da nicht genug Lesestoff findest, weiß ich auch nicht mehr weiter ;)

                Schönes Wochenende! (Und danke für die erfrischende Diskussion.)

                Gern geschehen. Ist immer schön, solche ausufernden Diskussionen zu führen, OHNE dass immer gleich alle Welt denkt, ich wär der Böse und an allem rumnörgeln muss :)

                Gruß,
                -Efchen

        2. Tach Post!

          P.P.S.: @schwarze Piste: Spotlight-Nick? Ich muss doch wissen, mit wem ich es zu tun habe :-D

          Naja ... ein bisserl auf Schreibstil und Wortwahl geachtet und schon sollte das kein Problem mehr sein, oder? ;-)
          (Dies ist absichtlich ein diesbezüglich über die Maßen typisches Posting)

          Gruß

          Die schwarze Piste

          --
          ie:{ fl:( br:^ va:) ls:# fo:) rl:( n4:& ss:{ de:] js:| ch:? mo:) zu:$
          http://www.smartbytes.de