Return the session language switcher block.
function language_switcher_session($type, $path) {
$param = config('language.negotiation')
->get('session.parameter');
$language_query = isset($_SESSION[$param]) ? $_SESSION[$param] : language($type)->langcode;
$languages = language_list();
$links = array();
$query = $_GET;
foreach ($languages as $language) {
$langcode = $language->langcode;
$links[$langcode] = array(
'href' => $path,
'title' => $language->name,
'attributes' => array(
'class' => array(
'language-link',
),
),
'query' => $query,
);
if ($language_query != $langcode) {
$links[$langcode]['query'][$param] = $langcode;
}
else {
$links[$langcode]['attributes']['class'][] = ' session-active';
}
}
return $links;
}