如何在 运行 时间内在 Codeigniter 中更改语言?
How to change the language in run time in Codeigniter?
我想根据用户选择的语言偏好发送时事通讯。
并且偏好存储在数据库中,可以正确获取。
这是扩展控制器:
class Front_Controller extends CI_Controller {
public function __construct() {
parent::__construct();
if ($this->session->userdata('site_lang') == false) {
$this->session->set_userdata('site_lang', "english");
if ($this->agent->is_referral()) {
redirect($this->agent->referrer());
}
}
//set language
$lang = $this->session->userdata('site_lang');
$this->config->set_item('language', $lang);
$this->lang->load("site", $lang);
}
这是API发送邮件
class Purchase extends Front_Controller {
public function __construct() {
parent::__construct();
}
public function test() {
$user_id = $this->input->post('user_id');
$user = $this->User_model->get_user(array("id" => $user_id));
//correctly get the perference
//need the code to change language
echo lang("hello"); //the "hello" should be based on the language preference
}
});
我尝试在 test() 中设置配置,但似乎语言没有改变。
非常感谢
我不知道你到底知道什么,但你可以通过 ci_i18n_library.zip
找到一个可能的解决方案
访问此站点了解更多详情http://jeromejaglale.com/doc/php/codeigniter_i18n
我想根据用户选择的语言偏好发送时事通讯。
并且偏好存储在数据库中,可以正确获取。
这是扩展控制器:
class Front_Controller extends CI_Controller {
public function __construct() {
parent::__construct();
if ($this->session->userdata('site_lang') == false) {
$this->session->set_userdata('site_lang', "english");
if ($this->agent->is_referral()) {
redirect($this->agent->referrer());
}
}
//set language
$lang = $this->session->userdata('site_lang');
$this->config->set_item('language', $lang);
$this->lang->load("site", $lang);
}
这是API发送邮件
class Purchase extends Front_Controller {
public function __construct() {
parent::__construct();
}
public function test() {
$user_id = $this->input->post('user_id');
$user = $this->User_model->get_user(array("id" => $user_id));
//correctly get the perference
//need the code to change language
echo lang("hello"); //the "hello" should be based on the language preference
}
});
我尝试在 test() 中设置配置,但似乎语言没有改变。
非常感谢
我不知道你到底知道什么,但你可以通过 ci_i18n_library.zip
找到一个可能的解决方案访问此站点了解更多详情http://jeromejaglale.com/doc/php/codeigniter_i18n