Codeigniter 3,在动态更改默认语言的问题


Codeigniter 3, issue in changing default language dynamically

我在application/config.php文件中将默认语言定义为$config['language'] = 'english' ;

但在某些情况下,我想切换到其他语言,我尝试使用

$this->config->set_item('language', 'japanese');

和在我的系统/语言文件夹中,我有英语和日语文件夹和相关文件,但当使用

切换控制器时
$this->config->set_item('language', 'japanese');

不工作。如何在这些语言之间切换

这里$this->config->set_item('language', $user_lang );应该调用控制器的构造函数或控制器的相关函数。

function __construct() {
    parent::__construct();
    //wanted to make this controller's language  dynamic
    $user_lang = $this->session->userdata('user_lang');
    $this->config->set_item('language', $user_lang );
}

在我的函数中,我是这样使用验证的

public function insert(){ 
  $user_lang = $this->session->userdata('user_lang');
  $this->lang->load('uitext',$user_lang);
    // validate data  
    $this->load->library('form_validation');
    $this->form_validation->set_rules('username', $this->lang->line('uitext_username'), 'required');
    $this->form_validation->set_rules('email', $this->lang->line('uitext_email'), 'required|valid_email');
}

现在验证消息根据用户选择的语言(英语/日语)动态显示