代码点火器语言选择


CodeIgniter language selection

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

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

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

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

要么做一个

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

在自定义帮助程序的开头,并将其自动加载到您的配置/自动加载.php中。

否则,您可以通过钩子来完成。
基本使用

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

这里也在 __construct() 中,并有钩点post_controller_constructor .

这将使您在所有控制器中包含 lang 文件。但是,这取决于您要自动加载多少 lang-text,因为它会耗尽服务器,即使只是很小的程度。