从codeigniter中的类CI_Controller加载不同的语言

时间:2013-03-15 11:04:21

标签: codeigniter

我正在开发多语种网站。 我在CI_Controller类文件中编写了以下代码,这样我就不必为每个控制器文件加载语言了。

$this->lang->load('english');

问题是当我必须改变其他语言时,例如:让我们说西班牙语。

$this->lang->load('spanish');

当我选择语言>时,如何在这两种语言之间加载?菜单选项中的英语/西班牙语?

2 个答案:

答案 0 :(得分:1)

检查并加载

将此代码放在控制器constructor

 $this->load->library('session');
 $lang= $this->session->userdata('language');

if($lang != ''){
    switch($lang){
        case    'en'    :   
            $this->lang->load('english', 'english');
            break;
        case    'sp'    :   
            $this->lang->load('spanish', 'spanish');
            break;
    }
}

设置语言

将此代码放在设置lang

的位置
$this->session->set_userdata('language', '<set english or spanish>')

答案 1 :(得分:1)

如果您在codeigniter中安装了任何应用程序,或者您正在制作1并且您想要添加一些语言包,请按照以下步骤操作:
 1:在文件夹application / language / arabic中添加语言文件(我在codeigniter内置的库存管理器中添加阿拉伯语lang) 2:转到application / modules / settings / views / setting.php中名为setting.php的文件,在这里找到数组

<?php /*

 $lang = array (
  'english' => 'English',

  'arabic' => 'Arabic',  // i add this here

  'spanish' => 'Español'

现在保存并运行应用程序,它运行良好