codeigniter的多语言设置

codeigniter的多语言设置,codeigniter,configuration,Codeigniter,Configuration,我正在使用本教程学习codeigniter中的多语言 我已经按照正确列出的说明做了。它没有给我任何错误,但我不能说它工作正常。 当我浏览mysite.com/en/about和mysite.com/fr/about时,它总是给我默认的语言,即英语。我想知道是否有任何配置,我需要设置,以能够正常工作 我正在config.php中考虑这个问题 $config['language'] 及 这是在autoload.php中创建的 $autoload['language'] 我必须配置这些吗?或任何其他配

我正在使用本教程学习codeigniter中的多语言

我已经按照正确列出的说明做了。它没有给我任何错误,但我不能说它工作正常。 当我浏览mysite.com/en/about和mysite.com/fr/about时,它总是给我默认的语言,即英语。我想知道是否有任何配置,我需要设置,以能够正常工作

我正在config.php中考虑这个问题

$config['language']

这是在autoload.php中创建的

$autoload['language']


我必须配置这些吗?或任何其他配置,以正确使用多语言

在分析了CI的代码和博客中的代码之后,我想出了这个解决方案

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class About extends CI_Controller {

    function index()
    {
        // you might want to just autoload these two helpers
        $this->load->helper('language');
        $this->load->helper('url');

    $this->getLang();
        $this->load->view('about');
    }

    function getLang(){
        $url =  $_SERVER['REQUEST_URI'];
        $lang = explode("/", $url);

        if($lang[2] == 'en'){
        // load language file
            return $loadLang = $this->lang->load('english','english');
        }
        else if($lang[2] == 'fr'){
        // load language file
            return $loadLang = $this->lang->load('french','french');
        }
        else{
            // load language file
            return $loadLang = $this->lang->load('english','english');
        }

        return false;
    }


}

很抱歉,您没有提供有关您所做工作的足够信息。但我会尽力回答

我已经尝试了更新的教程,它的作品像一个魅力

首先,您指向一个过时的教程。这是更新链接的来源:

第二个,前缀为MY\的文件(默认配置)是核心类(请参阅)而不是库,应该放在application/core目录中

Third在视图文件中,尽量避免使用php短标记(
),因为并非所有服务器配置都启用php短标记。使用普通的
echo
标签代替
。更长,但在编写标准模式时值得


正如我之前所说,如果你遵循更新的教程,你的脚本应该和我的一样有效。我希望这有帮助。对不起,我的英语,如果我错了,请纠正我。

我想你应该看看我在多语言项目中使用的英语,以及它应该如何工作

$this->lang->load('language_file','language_folder');