array('de([-_][[:alpha:]]{2})?|german', 'german', 'de'), 'en'=> array('en([-_][[:alpha:]]{2})?|english', 'english', 'en'), 'es'=> array('es([-_][[:alpha:]]{2})?|espagnol', 'espagnol', 'es'), 'ru'=> array('ru([-_][[:alpha:]]{2})?|russian', 'russian', 'ru'), 'pt'=> array('pt([-_][[:alpha:]]{2})?|portuguese', 'portuguese', 'pt'), 'cn'=> array('zh([-Hans][[:alpha:]]{2})?|chinese', 'chinesese', 'cn') //*/ ); $default_lang = 'en'; if (!defined('PMA_IS_LANG_DETECT_FUNCTION')) { define('PMA_IS_LANG_DETECT_FUNCTION', 1); /** * Analyzes some PHP environment variables to find the most probable language * that should be used * * @param string string to analyze * @param integer type of the PHP environment variable which value is $str * * @global array the list of available translations * @global string the retained translation keyword * * @access private */ function PMA_langDetect($str = '', $envType = '') { global $available_languages; global $lang; reset($available_languages); while (list($key, $value) = each($available_languages)) { // $envType = 1 for the 'HTTP_ACCEPT_LANGUAGE' environment variable, // 2 for the 'HTTP_USER_AGENT' one // support@proserver1.at 2011-11-15 if (($envType == 1 && eregi('^(' . $value[0] . ')(;q=[0-9]\\.[0-9])?$', $str)) // || ($envType == 2 && eregi('(\(|\[|;[[:space:]])(' . $value[0] . ')(;|\]|\))', $str))) { if (($envType == 1 && preg_match('/^(' . $value[0] . ')(;q=[0-9]\\.[0-9])?$/i', $str)) || ($envType == 2 && preg_match('/(\(|\[|;[[:space:]])(' . $value[0] . ')(;|\]|\))/i', $str))) { $lang = $key; break; } } } // end of the 'PMA_langDetect()' function } // end if /** * Get some global variables if 'register_globals' is set to 'off' * loic1 - 2001/25/11: use the new globals arrays defined with php 4.1+ */ if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { $HTTP_ACCEPT_LANGUAGE = $_SERVER['HTTP_ACCEPT_LANGUAGE']; } else if (!empty($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'])) { $HTTP_ACCEPT_LANGUAGE = $HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE']; } if (!empty($_SERVER['HTTP_USER_AGENT'])) { $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT']; } else if (!empty($HTTP_SERVER_VARS['HTTP_USER_AGENT'])) { $HTTP_USER_AGENT = $HTTP_SERVER_VARS['HTTP_USER_AGENT']; } if (!isset($lang)) { if (isset($_GET) && !empty($_GET['lang'])) { $lang = $_GET['lang']; } else if (isset($HTTP_GET_VARS) && !empty($HTTP_GET_VARS['lang'])) { $lang = $HTTP_GET_VARS['lang']; } else if (isset($_POST) && !empty($_POST['lang'])) { $lang = $_POST['lang']; } else if (isset($HTTP_POST_VARS) && !empty($HTTP_POST_VARS['lang'])) { $lang = $HTTP_POST_VARS['lang']; } else if (isset($_COOKIE) && !empty($_COOKIE['lang'])) { $lang = $_COOKIE['lang']; } else if (isset($HTTP_COOKIE_VARS) && !empty($HTTP_COOKIE_VARS['lang'])) { $lang = $HTTP_COOKIE_VARS['lang']; } } /** * Do the work! */ // If '$lang' is defined, ensure this is a valid translation if (!empty($lang) && empty($available_languages[$lang])) { $lang = ''; } // Language is not defined yet : // 1. try to findout user's language by checking its HTTP_ACCEPT_LANGUAGE // variable if (empty($lang) && !empty($HTTP_ACCEPT_LANGUAGE)) { $accepted = explode(',', $HTTP_ACCEPT_LANGUAGE); $acceptedCnt = count($accepted); reset($accepted); for ($i = 0; $i < $acceptedCnt && empty($lang); $i++) { PMA_langDetect($accepted[$i], 1); } } // 2. try to findout user's language by checking its HTTP_USER_AGENT variable if (empty($lang) && !empty($HTTP_USER_AGENT)) { PMA_langDetect($HTTP_USER_AGENT, 2); } // 3. Didn't catch any valid lang : we use the default settings if (empty($lang)) { $lang = $default_lang; } //* $language_current = $available_languages[$lang][1]; $language_iso = $available_languages[$lang][2]; //$language_id = $available_languages[$lang][3]; //*/ header('Location: /'.$language_iso.'/'); ?>