Написал класс определения языка пользователя:
namespace engine\classes;
class language{
public static $userLang;
public function init(){
$langArray = array('ua', 'ru', 'en');//возможные языки
if(!empty($_GET['lang']) && in_array($_GET['lang'], $langArray)){//если введен язык и он есть в массиве
setcookie('lang', $_GET['lang'], time()+3600, '/', DOMEIN);
self::$userLang = $_GET['lang'];
}elseif(!empty($_COOKIE['lang']) && in_array($_GET['lang'], $langArray)){//если есть кука с языком и она есть в массиве
self::$userLang = $_COOKIE['lang'];
}elseif(empty($_GET['lang']) && empty($_COOKIE['lang'])){//если языка не введено и кука пуста
$browserArray = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
if(in_array($browserArray, $langArray)){
setcookie('lang', $browserArray, time()+3600, '/', DOMEIN);
self::$userLang = $browserArray;
}else self::$userLang = DEFAULT_LANG;
}else self::$userLang = DEFAULT_LANG;//если не один из способов не подошел
}
}
Мб кто-то посоветует, как это сделать короче?