我正在使用Codeigniter开发一个多语言意大利语和英语的网站,但是当我改为意大利语而不改变时,输出只是默认的英语。我没有看到输出中的任何错误。我现在就试着发布我的代码。
我的控制器
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller
{
public function __construct()
{
parent::__construct();
}
public function index($language = null)
{
if($language == 'en')
{
$this->lang->load('home', 'english');
$line_lang = 'english';
}
else
{
$this->lang->load('home', 'italian');
$line_lang = 'italiano';
}
$data = array();
$data['set_lang'] = $line_lang;
$this->load->view('home_view.php', $data);
}
}
查看
$this->lang->line('lingua_sito');
进入英语,了解home_lang.php
$lang['lingua_sito'] = 'Hello Word';
进入意大利文件夹
<?php
$lang['lingua_sito'] = 'Ciao Mondo';
有人有什么建议吗?非常感谢你。
答案 0 :(得分:0)
我只是测试你的代码对我来说工作正常。你可以检查一下你在其他任何地方再次加载语言,即view, post_controller hook
。还可以尝试一个干净的控制器,只查看和加载一种语言而不需要任何if
,看你能加载语言