screeenpx: Sprachabfrage des Browsers

Hallo

ich suche ein JavaScript das eine Sprachabfrage des
Browsers vornimmt und dann je nachdem einen entsprechende Weiterleitung gibt.

ähnlich dem Beispiel für Browsertypabfrage:

<script LANGUAGE="JavaScript">
<!--
var browser = navigator.appName
if (browser == "Microsoft Internet Explorer")
seite=("seite_für_MS.html");
else
seite=("seite_für_net.html");
window.location=seite
//-->
</script>

Danke schonmal im voraus für help

  1. Hi,

    ich suche ein JavaScript

    was passiert dann ohne?

    das eine Sprachabfrage des Browsers vornimmt und dann je nachdem einen entsprechende Weiterleitung gibt.

    Idealwerweise lässt du dies deinen Server entscheiden:

    http://www.google.at/search?q=content+negotiation+sprache
     http://aktuell.de.selfhtml.org/tippstricks/php/httpsprache/

    ähnlich dem Beispiel für Browsertypabfrage:

    <script LANGUAGE="JavaScript">

    Nope. Es heißt <script type="text/javascript">

    var browser = navigator.appName

    Darin kann alles und nichts stehen -- es ist somit unzuverlässig.

    Grüße,
     Roland

    --
    Ich war für das Thema (BARRIEREFREIHEIT) im Forum. Es hat nicht sollen sein.
    ss:| zu:} ls:} fo:} de:> va:} ch:| sh:) n4:& rl:| br:< js:{ ie:{ fl:{ mo:|
    http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
    1. hi danke für den Tip,

      aber

      wie schreibe ich das php so um das er bei zB englischer Spracheinstellung auf ein EN-Verzeichnis weiterleitet ???

      • kann leider noch nich php:

      01 <?php
      02 // Browsersprache ermitteln
      03 function lang_getfrombrowser ($allowed_languages, $default_language, $lang_variable = null, $strict_mode = true) {
      04         // $_SERVER['HTTP_ACCEPT_LANGUAGE'] verwenden, wenn keine Sprachvariable mitgegeben wurde
      05         if ($lang_variable === null) {
      06                 $lang_variable = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
      07         }
      08
      09         // wurde irgendwelche Information mitgeschickt?
      10         if (empty($lang_variable)) {
      11                 // Nein? => Standardsprache zurückgeben
      12                 return $default_language;
      13         }
      14
      15         // Den Header auftrennen
      16         $accepted_languages = preg_split('/,\s*/', $lang_variable);
      17
      18         // Die Standardwerte einstellen
      19         $current_lang = $default_language;
      20         $current_q = 0;
      21
      22         // Nun alle mitgegebenen Sprachen abarbeiten
      23         foreach ($accepted_languages as $accepted_language) {
      24                 // Alle Infos über diese Sprache rausholen
      25                 $res = preg_match ('/^([a-z]{1,8}(?:-[a-z]{1,8})*)'.
      26                                    '(?:;\s*q=(0(?:.[0-9]{1,3})?|1(?:.0{1,3})?))?$/i', $accepted_language, $matches);
      27
      28                 // war die Syntax gültig?
      29                 if (!$res) {
      30                         // Nein? Dann ignorieren
      31                         continue;
      32                 }
      33
      34                 // Sprachcode holen und dann sofort in die Einzelteile trennen
      35                 $lang_code = explode ('-', $matches[1]);
      36
      37                 // Wurde eine Qualität mitgegeben?
      38                 if (isset($matches[2])) {
      39                         // die Qualität benutzen
      40                         $lang_quality = (float)$matches[2];
      41                 } else {
      42                         // Kompabilitätsmodus: Qualität 1 annehmen
      43                         $lang_quality = 1.0;
      44                 }
      45
      46                 // Bis der Sprachcode leer ist...
      47                 while (count ($lang_code)) {
      48                         // mal sehen, ob der Sprachcode angeboten wird
      49                         if (in_array (strtolower (join ('-', $lang_code)), $allowed_languages)) {
      50                                 // Qualität anschauen
      51                                 if ($lang_quality > $current_q) {
      52                                         // diese Sprache verwenden
      53                                         $current_lang = strtolower (join ('-', $lang_code));
      54                                         $current_q = $lang_quality;
      55                                         // Hier die innere while-Schleife verlassen
      56                                         break;
      57                                 }
      58                         }
      59                         // Wenn wir im strengen Modus sind, die Sprache nicht versuchen zu minimalisieren
      60                         if ($strict_mode) {
      61                                 // innere While-Schleife aufbrechen
      62                                 break;
      63                         }
      64                         // den rechtesten Teil des Sprachcodes abschneiden
      65                         array_pop ($lang_code);
      66                 }
      67         }
      68
      69         // die gefundene Sprache zurückgeben
      70         return $current_lang;
      71 }
      72 ?>

      Hi,

      ich suche ein JavaScript

      was passiert dann ohne?

      das eine Sprachabfrage des Browsers vornimmt und dann je nachdem einen entsprechende Weiterleitung gibt.

      Idealwerweise lässt du dies deinen Server entscheiden:

      http://www.google.at/search?q=content+negotiation+sprache
       http://aktuell.de.selfhtml.org/tippstricks/php/httpsprache/

      ähnlich dem Beispiel für Browsertypabfrage:

      <script LANGUAGE="JavaScript">

      Nope. Es heißt <script type="text/javascript">

      var browser = navigator.appName

      Darin kann alles und nichts stehen -- es ist somit unzuverlässig.

      Grüße,
       Roland

      1. Hi,

        wie schreibe ich das php so um das er bei zB englischer Spracheinstellung auf ein EN-Verzeichnis weiterleitet ???

        • kann leider noch nich php:

        Lesen bildet ;-) - [1]

        01 <?php
        ---->8---- *snip*
        69         // die gefundene Sprache zurückgeben
        70         return $current_lang;

        Zuerst entfernst du die Zeilennummern. Dann ist in der Variablen $current_lang die Sprache des Browsers gespeichert, welche du dann z.B. mit einer if-Abfrage auslesen kannst. Mit der Funktion header() [2] (Stichwort: header("Location...")) kannst du dann schließlich einen Redirect-Header an den Browser senden, welcher daraufhin den angegebenen URI laden sollte.

        [1] http://php.net/manual/de
        [2] http://www.php.net/manual/de/function.header.php

        Grüße aus Darmstadt,
        Benjamin

  2. Hi

    ich suche ein JavaScript das eine Sprachabfrage des
    Browsers vornimmt und dann je nachdem einen entsprechende Weiterleitung gibt.

    Guck mal im Archiv unter http://forum.de.selfhtml.org/archiv/2003/4/42858/, isbd. http://forum.de.selfhtml.org/archiv/2003/4/42858/#m234256 dürfte interessant sein, wenn du die Möglichkeit hast PHP zu benutzen.
    Zu JavaScript vielleicht <file:///debian/home1/data/docs/selfhtml80/javascript/objekte/navigator.htm#language>?

    Schöne Grüße

    Johannes

    --
    Stop bushism
    ss:| zu:) ls:[ fo:) de:] va:) ch:] sh:( n4:& rl:( br:^ js:| ie:{ fl:( mo:|
    Selfcode bei http://emmanuel.dammerer.at/selfcode.html
    1. Hi

      danke aber das löst nich soganz das problem ..

      » Hi

      ich suche ein JavaScript das eine Sprachabfrage des
      Browsers vornimmt und dann je nachdem einen entsprechende Weiterleitung gibt.
      Guck mal im Archiv unter http://forum.de.selfhtml.org/archiv/2003/4/42858/, isbd. http://forum.de.selfhtml.org/archiv/2003/4/42858/#m234256 dürfte interessant sein, wenn du die Möglichkeit hast PHP zu benutzen.
      Zu JavaScript vielleicht <file:///debian/home1/data/docs/selfhtml80/javascript/objekte/navigator.htm#language>?

      Schöne Grüße

      Johannes

    2. Hi

      <file:///debian/home1/data/docs/selfhtml80/javascript/objekte/navigator.htm#language>?
      Jetzt ist es mir auch mal passiert. Hab auf meine lokale Platte verlinkt. Es muss natürlich http://selfhtml.teamone.de/javascript/objekte/navigator.htm#language heißen. Nichts für ungut.

      Schöne Grüße

      Johannes

      --
      Stop bushism
      ss:| zu:) ls:[ fo:) de:] va:) ch:] sh:( n4:& rl:( br:^ js:| ie:{ fl:( mo:|
      Selfcode bei http://emmanuel.dammerer.at/selfcode.html
      1. Hi

        <file:///debian/home1/data/docs/selfhtml80/javascript/objekte/navigator.htm#language>?
        Jetzt ist es mir auch mal passiert. Hab auf meine lokale Platte verlinkt. Es muss natürlich http://selfhtml.teamone.de/javascript/objekte/navigator.htm#language heißen. Nichts für ungut.

        Schöne Grüße

        Johannes

        hey danke, denke damit komme ich weiter

        Gruß Ilja