Вам необходимо расширить свой контроллер View с проверкой сеанса выбранного языка. Затем вы можете перенаправить () пользователя соответственно.
создать контроллер, т.е. LangSwitch.php
<?php
class LangSwitch extends CI_Controller
{
public function __construct() {
parent::__construct();
$this->load->helper('url');
}
function switchLanguage($language = "") {
$language = ($language != "") ? $language : "en";
$this->session->set_userdata('site_lang', $language);
redirect(base_url());
}
}
Ссылки для переключения каждого из доступных языков:
<a href='<?php echo $base_url; ?>langswitch/switchLanguage/en'>English</a>
<a href='<?php echo $base_url; ?>langswitch/switchLanguage/fr'>French</a>
Определяет / создает класс ловушек [LanguageLoader.php] в каталоге application / hooks с необходимой информацией для его выполнения.
<?php
class LanguageLoader
{
function initialize() {
$ci =& get_instance();
$ci->load->helper('language');
$site_lang = $ci->session->userdata('site_lang');
if ($site_lang) {
$ci->lang->load('message',$ci->session->userdata('site_lang'));
} else {
$ci->lang->load('message','en');
}
}
}
Это просто запущенная идея, которая хорошо сработала для меня. Надеюсь, вам это тоже пригодится.