Как переключить язык на мультиязычном сайте?

На сайте имеется переключатель языка в виде выпадающего меню, оно работает нормально, меняет язык, но не показывает текущий язык, когда меняю с русского на англ, 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;
      }
    }

Ответы (0 шт):