
Bir projem icin aklima gelen bu ozelligi kullanmak icin biraz arastirma yaptim, ise yarayan guzel bir fonksiyona denk geldim. Anlatim ve hazirlanan fonksiyon hosuma gittigi icin siteye link vermek ve bir nevi emeklerine tesekkur etmek, destek olmak istedim.
Erdem arslan (kaynak link konunun altinda) tarafindan hazirlanan fonksiyonu asagida verecegim.
Php ile kullanicinin tarayici diline gore sonuc donderir:
function get_user_lang($http_accept=null,$deflang='en') { $http_accept = is_null($http_accept) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : $http_accept; $x = explode(',',$http_accept); $lang = array(); foreach ($x as $val) { if(preg_match("/(.*);q=([0-1]{0,1}\.\d{0,4})/i",$val,$matches)) { $lang[$matches[1]] = (float)$matches[2]; } else { $lang[$val] = 1.0; } } $qval = 0.0; foreach ($lang as $key => $value) { if ($value > $qval) { $qval = (float)$value; $deflang = $key; } } $dlang = preg_match("/(.*)-(.*)/i",$deflang,$mlang) ? $mlang[1] : $deflang; return strtolower($dlang); } # Kullanimi: $lang = get_user_lang(); echo $lang; # Geri donen deger # tr, en, fr, ar, az gibi...