Определение языка пользователя

В этом уроке мы научимся автоматически определять язык прользователя, открывшего страницу. В любой части сайта можно поставить вывод. Мы будем выводить в таком виде: Язык: * Ваш язык *

Для начала создайте новый php файл и вставьте следующий код. (файл я назвал language.php.)


 function lixlpixel_get_env_var($Var) { 
 if(empty($GLOBALS[$Var])) { 
 $GLOBALS[$Var]=(!empty($GLOBALS['_SERVER'][$Var]))? 
 $GLOBALS['_SERVER'][$Var]: 
 (!empty($GLOBALS['HTTP_SERVER_VARS'][$Var]))? 
 $GLOBALS['HTTP_SERVER_VARS'][$Var]:''; 
 } 
 }
 function lixlpixel_detect_lang() { 
 lixlpixel_get_env_var('HTTP_ACCEPT_LANGUAGE'); 
 lixlpixel_get_env_var('HTTP_USER_AGENT'); 
 
 $_AL=strtolower($GLOBALS['HTTP_ACCEPT_LANGUAGE']); 
 $_UA=strtolower($GLOBALS['HTTP_USER_AGENT']); 
 
 foreach($GLOBALS['_LANG'] as $K) { 
 if(strpos($_AL, $K)===0) 
 return $K; 
 } 
 
 foreach($GLOBALS['_LANG'] as $K) { 
 if(strpos($_AL, $K)!==false) 
 return $K; 
 } 
 foreach($GLOBALS['_LANG'] as $K) { 
 if(preg_match("/[[( ]{$K}[;,_-)]/",$_UA)) 
 return $K; 
 } 
 
 return $GLOBALS['_DLANG']; 
 }
 $GLOBALS['_DLANG']='en';
 $GLOBALS['_LANG'] = array ( 
 'af', // Африканский. 
 'ar', // Арабский. 
 'bg', // Болгарский. 
 'cs', // Чежский. 
 'de', // Немецкий. 
 'el', // Греческий. 
 'en', // Английский. 
 'es', // Испанский. 
 'et', // Истонский. 
 'fi', // Финляндский. 
 'fr', // Французкий. 
 'hi', // Индуский. 
 'hu', // Венгерский. 
 'id', // Индонезийский. 
 'it', // Итальянский. 
 'ja', // Японский. 
 'ko', // Корейский. 
 'lv', // Латинский. 
 'ms', // Малазийский. 
 'no', // Норвежский. 
 'pl', // Польский. 
 'pt', // Португальский. 
 'ro', // Румынский. 
 'ru', // Русский. 
 'sk', // Словакский. 
 'sl', // slovenian. 
 'sq', // Албанский. 
 'sr', // Сербский. 
 'sv', // Швейцарский. 
 'tr', // Турецкий. 
 'uk', // Украинский. 
 'zh' // Китайский. 
 ); 
 echo 'Language: '.lixlpixel_detect_lang();
 

Где Вы хотите сделать вывод вставьте следующий код:

include ( 'language.php');

На этом все!

Понравился урок? Добавьте его к себе в закладки.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *