CodeIgniter语言选择

时间:2012-04-17 12:14:34

标签: php codeigniter

我希望用户从我网站上的任何子页面中选择他的语言。存储每种用户语言的最佳解决方案是会话。

我的网站默认语言是英语,但我该如何加载用户选择的其他语言? 我想我应该这样做:

$this->lang->load('my_language_file', $this->session->userdata('language'));

但是这样,我必须在每个控制器中加载语言。 是否有办法从全局会话中选择用户语言?所以我可以在我网站的每个地方使用$this->lang->line('some-message');吗?

1 个答案:

答案 0 :(得分:4)

要么做一个

$CI =& get_instance();
$CI->lang->load('my_language_file', $CI->session->userdata('language'));

在自定义helper的开头,并在config / autoload.php中添加autoloaded

否则你可以通过hooks来完成 基本使用

$CI =& get_instance();
$CI->lang->load('my_language_file', $CI->session->userdata('language'));

此处以及__construct()内部,并有钩点post_controller_constructor

这将使您在所有控制器中包含lang文件。然而,由您自动加载多少lang-text,因为即使只是在很小程度上耗尽了服务器。