Webstatt.org - Community seit 2006 - 2012 (2024?)

Sprache auslesen?

Avatar user-182
04.03.2007 14:51

Moin,

ich möchte gerne die Sprache eines Besuchers auslesen. Wie mache ich das? (es gibt zwar $_SERVER['HTTP_ACCEPT_LANGUAGE'], allerdings gibt das doch auch manchmal soetwas wie DE-CH aus, oder?)
Wie kann ich dadrauf ambesten reagieren, mir wäre auch schon geholfen wenn ich wissen würde was alles für $_SERVER['HTTP_ACCEPT_LANGUAGE'] stehen kann.. lächeln

Viele Grüße,
Franky

Seid ihr auch schon wix'r? xD
Avatar user-159
04.03.2007 15:27

<?php
function orderedLanguages()
{
$languages = split(",", $_SERVER['HTTP_ACCEPT_LANGUAGE'] );
$lang_q = Array();
foreach( $languages as $aLang ) {
$lang_array = split(";q=", trim( $aLang ) );
$lang = trim( $lang_array[0] );
if( !isset( $lang_array[1] ) )
$q = 1;
else
$q = trim($lang_array[1]);
$lang_q["$lang"] = (float)$q;
}
arsort($lang_q);
//extra code for making the languages key indexed
$i = 0;
$lang_index = Array();
foreach($lang_q as $lang => $q) {
// $lang_q[$i] = $lang; //add to the same array the index key/language
$lang_index[$i] = $lang; //add to a new array the index key/language
$i++;
}

//return $lang_index; // uncomment for returning array with keys={0..n-1}, values={most..least preferred}
return $lang_q;
}

?>


von php.net aus den Kommentaren.

Denke mal das ist sowas, was du suchst oder?

Avatar user-253
04.03.2007 16:28

ich würde nur die ersten beiden Buchstaben vergleichen. Ohne Groß- und Kleinschreibung. user-158n klappt das ganz gut mit 'DE', 'EN' usw