Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function getLanguagePreferrenceFromBrowser($languageOverride = FALSE){
- $langs = array();
- $languageString = FALSE;
- if( isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ){
- $languageString = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
- }
- if($languageOverride !== FALSE){
- $languageString = $languageOverride;
- }
- if($languageString !== FALSE) {
- // break up string into pieces (languages and q factors)
- preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i', $languageString, $lang_parse);
- if (count($lang_parse[1])) {
- // create a list like "en" => 0.8
- $langs = array_combine($lang_parse[1], $lang_parse[4]);
- // set default to 1 for any without q factor
- foreach ($langs as $lang => $val) {
- if ($val === ''){
- $langs[$lang] = 1;
- }
- }
- // sort list based on value
- arsort($langs, SORT_NUMERIC);
- }
- }
- // look through sorted list and use first one that matches our languages
- foreach ($langs as $lang => $val) {
- //foreach($knownLanguages as $languageAbbrev => $languageID){
- foreach($GLOBALS['activeLanguagesArray'] as $activeLanguage){
- $languageAbbrev = $activeLanguage['abbreviation'];
- $languageID = $activeLanguage['languageID'];
- if (strpos($lang, $languageAbbrev) === 0) {
- return $languageID;
- }
- }
- }
- return LANGUAGE_ENGLISH;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement