I';m无法在代码点火器中获取语言


I'm Not able to Get Languages in code igniter

view:Lang_view.php

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>CodeIgniter Internationalization Example</title>
    </head>
    <body>
        <?php
        form_open('lang');
        ?>
        <select name='language' onchange='javascript:this:form:submit();'>
        <?php
        $lang = array('english'=>'English','french'=>'French','german'=>'German');
        foreach($lang as $key => $val){
            if($key == $language){
            echo "<option value='".$key."' selected>".$val."</option>";}
                    else
            echo "<option value='".$key."'>".$val."</option>";
        }
        ?>
         </select>
<?php form_close(); echo $msg ;?>
    </body>
</html>

控制器:Lang_Controller

class Lang_controller扩展CI_controller{

    public function index(){
        $this->load->helper('form');
        $language = $this->input->post('language');
        if($language == 'french')
            $this->lang->load('french_lang','french');
        else if ($language == 'german'){
            $this->lang->load('german_lang','german');
        }
        else
            $this->lang->load('english_lang','english');
     $data = array(
           'msg' =>  $this->lang->line('msg'),
            'language' =>  $language
        );
        $this->load->view('lang_view',$data);

    }

}

我在应用程序/语言中创建了三个不同的语言文件夹。尽管如此,当我点击任何其他语言时,除了英语之外,我都无法生成输出。

在这里,您需要更改默认语言。

//change system default language dynamically
$language = $this->input->post('language');
$this->config->set_item('language', $language );

要在codeigniter中启动表单,需要在form_open 之前写入echo

<?php echo form_open('lang') ?>