Php 如何设置Codeigniter多语言支持?

Php 如何设置Codeigniter多语言支持?,php,codeigniter,programming-languages,codeigniter-hmvc,Php,Codeigniter,Programming Languages,Codeigniter Hmvc,我只是有点被卡住了,我一直在努力理解语言设置 我想看看这是不是正确的方法 在我的Language/English文件夹中,我有一个名为common的文件夹,它是一个名为header.php的文件 我不确定这是否是将数据放在上面的正确方法 <?php // Text $_['text_home'] = 'Home'; $_['text_search'] = 'Search'; ?> 在视图common/header.php上 $this->l

我只是有点被卡住了,我一直在努力理解语言设置

我想看看这是不是正确的方法

在我的Language/English文件夹中,我有一个名为common的文件夹,它是一个名为header.php的文件

我不确定这是否是将数据放在上面的正确方法

<?php
// Text
$_['text_home']           = 'Home';
$_['text_search']         = 'Search';
?>
在视图common/header.php上

$this->language->load('common/header');
$this->data['text_home'] = $this->language->get('text_home');
$this->data['text_search'] = $this->language->get('text_search');
$this->data['home'] = $this->url->link('common/home');
<div class="links"><a href="<?php echo $home; ?>"><?php echo $text_home; ?></a></div>

有什么问题?我不确定我是否试过。

\35;语言

语言/en/site_lang.php

$lang['site_title'] = "English Title";
$lang['site_title'] = "Malayalam Title";
languages/ml/site_lang.php

$lang['site_title'] = "English Title";
$lang['site_title'] = "Malayalam Title";
#控制器

// Load the language helper to get lang() method in view
$this->load->helper('language'); 

// Change the 'en' key to 'ml' for change the language
$this->lang->load("site", 'en'); 
#查看

// This will echo 'English Title'
<?php echo lang('site_title'); ?>
//这将回显“英文标题”

多语言支持,也称为国际化,是现代web应用程序的关键功能。大多数全栈PHP框架都提供了多语言支持,这使我们能够用不同的语言动态呈现应用程序的界面,而无需复制每种语言的现有源代码。今天,我们将讨论如何使用CodeIgniter启用多种语言,以及一些定制核心功能的技巧

配置多语言支持

首先,我们需要配置必要的文件,然后才能开始使用语言支持。CodeIgniter配置文件位于application/config目录中,包含一个名为language的选项,该选项定义了应用程序的默认语言

<?php
$config['language'] = 'english';

我该放些什么呢?我要在几天前给它
<?php
$this->lang->line("msg_hello_english");
<?php
lang("msg_view_english");
<?php
$config['enable_hooks'] = TRUE;
 <?php
    $hook['post_controller_constructor'] = array(
        'class' => 'LanguageLoader',
        'function' => 'initialize',
        'filename' => 'LanguageLoader.php',
        'filepath' => 'hooks'
    );
<?php
class LanguageLoader
{
    function initialize() {
        $ci =& get_instance();
        $ci->load->helper('language');
        $ci->lang->load('message','english');
    }
}
<?php
class LangSwitch extends CI_Controller
{
    public function __construct() {
        parent::__construct();
        $this->load->helper('url');
    }

    function switchLanguage($language = "") {
        $language = ($language != "") ? $language : "english";
        $this->session->set_userdata('site_lang', $language);
        redirect(base_url());
    }
}
<a href='<?php echo $base_url; ?>langswitch/switchLanguage/english'>English</a>
<a href='<?php echo $base_url; ?>langswitch/switchLanguage/french'>French</a>
<?php
class LanguageLoader
{
    function initialize() {
        $ci =& get_instance();
        $ci->load->helper('language');

        $site_lang = $ci->session->userdata('site_lang');
        if ($site_lang) {
            $ci->lang->load('message',$ci->session->userdata('site_lang'));
        } else {
            $ci->lang->load('message','english');
        }
    }
}