php browser language detection

da dies die einzige version, die sofort funktioniert, die ich gefunden habe, dachte ich die gehört vervielfältigt … .

von:
http://wiki.birth-online.de/snippets/php/languagedetection ….. thx

– gibt das ergebnis in der variable $lang aus

::::::::::::::::

Gets the ”accepted languages”-string from the browser and finds the best fitting from the available languages defined in $langs. Result is stored in $lang.

<?php

  $langs = array('de', 'en');
  if (!empty($_GET['lang']) && in_array($_GET['lang'], $langs)) {
    $lang = $_GET['lang'];
  } else {
    if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
      $browserlang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
      $li = 999;
      $lang = $langs[0];
      foreach ($langs as $l) {
        $x = strpos($browserlang, $l);
        if ($x !== false && $x<$li) {
          $li = $x;
          $lang = $l;
        }
      }
    } else {
      $lang = $langs[0];
    }
  }

?>

:::::::::::::::::::::::::::::::