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

时间:2016-09-14 09:23:41

标签: php codeigniter

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

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

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

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

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

没用。 那么如何在这些语言之间切换

1 个答案:

答案 0 :(得分:2)

此处$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');
}

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