我正在开发多语言网站。 我在CI_Controller类文件中编写了以下代码,因此我无需将语言加载到每个控制器文件。在codeigniter中从类CI_Controller加载不同的语言
$this->lang->load('english');
问题是当我必须改变其他语言例如:让我们说西班牙语。
$this->lang->load('spanish');
如何在菜单选项中选择语言>英语/西班牙语时在这两种语言之间加载?
我正在开发多语言网站。 我在CI_Controller类文件中编写了以下代码,因此我无需将语言加载到每个控制器文件。在codeigniter中从类CI_Controller加载不同的语言
$this->lang->load('english');
问题是当我必须改变其他语言例如:让我们说西班牙语。
$this->lang->load('spanish');
如何在菜单选项中选择语言>英语/西班牙语时在这两种语言之间加载?
检查和加载
将此代码放在控制器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>')
致命错误:调用第53行上的FILE PATH \ system \ core \ Controller.php中的非对象的成员函数userdata() 我想在system/core/contoller.php文件上设置语言,即CI_Controller类。 这样我就不必在所有的控制器文件中使用它了。 – yajay 2013-03-18 08:06:34
只需在'config/autoload.php'中添加'$ this-> load-?library('session');'在顶部或在lirararies数组中添加'session' – mrsrinivas 2013-03-19 19:22:03
如果你有任何安装codeigniter的应用程序,或者你在制作1并且你想添加一些语言包,只需按照以下步骤操作:
1:在文件夹中添加语言文件application/language/arabic建于笨经理提前)
2:转到应用程序/模块/设置/查看/ setting.php文件名为setting.php这里ü找到阵列
<?php /*
$lang = array (
'english' => 'English',
'arabic' => 'Arabic', // i add this here
'spanish' => 'Español'
现在保存并运行应用程序的工作罚款
我的建议是在会话中设置lang类型(英文/西班牙文)。然后将相应的lang加载到基本控制器构造函数中。 – mrsrinivas 2013-03-15 12:08:12
如何在CI_Controller类文件中定义会话? – yajay 2013-03-18 04:19:40