Как переключить язык на мультиязычном сайте?
На сайте имеется переключатель языка в виде выпадающего меню, оно работает нормально, меняет язык, но не показывает текущий язык, когда меняю с русского на англ, url сайта и язык меняет, но само слово рув меню не меняется, то есть остается ру, как можно это исправить? Надо чтобы когда нажимаю с ру на en, показывал текущий язык
<div class="dropdown dropdown--light">
<div class="dropdown__toggle button button--hollow"><?echo $dname;?></div>
<div class="dropdown__menu">
<div class="dropdown__content">
<ul class="dropdown__list" >
<? if ($dname == 'en'){ ?>
<!--<li><a href="?lang=ru">Ру</a></li>-->
<li><a href="/">Ру</a></li>
<?} else { ?>
<!--<li><a href="?lang=kk">Кз</a></li>-->
<li><a href="/en/">en</a></li>
<?} if ($dname == 'En'){ ?>
<!-- <li><a href="?lang=ru">Ру</a></li>-->
</ul>
</div>
</div>
</div>
файл view.php и сессия в нем
if(isSet($_GET['lang']))
{
$lang = $_GET['lang'];
// register the session and set the cookie
$_SESSION['lang'] = $lang;
setcookie("lang", $lang, time() + (3600 * 24 * 30));
}
else if(isSet($_SESSION['lang']))
{
$lang = $_SESSION['lang'];
}
else if(isSet($_COOKIE['lang']))
{
$lang = $_COOKIE['lang'];
}
else
{
$lang = 'ru';
}
switch ($lang){
case 'ru':
$language = 'ru_RU.UTF-8';
$domain = 'ru';
$dname = 'Ру';
break;
case 'kz':
$language = 'kz_KZ.utf8';
$domain = 'kz';
$dname = 'Кз';
break;
default:
$language = 'ru_RU.UTF-8';
$domain = 'ru';
$dname = 'Ру';
}
if(isset($language) && isset($domain)) {
putenv("LANG=" . $language);
setlocale (LC_ALL, $language);
bindtextdomain ($domain, "./locale");
bind_textdomain_codeset($domain, 'UTF-8');
textdomain ($domain);
}
function only_in_locale($locales, $what) {
global $domain;
$locales = explode(' ', $locales);
if(!$domain) {
$domain = 'ru';
}
if(in_array($domain, $locales)) {
return $what;
} else {
return null;
}
}