CodeIgniter语言类库不起作用

时间:2017-02-18 00:32:42

标签: php arrays codeigniter multilingual

我使用CodeIgniter 3.1.3建立了一个网站,我希望我的网站有多种语言,所以我第一次尝试使用语言库,遵循CI官方指南&来自其他网站的教程,但它没有按预期工作。

我的application/language/english/slogan_lang.php

$lang["slogan1"] = "A little social media but with more fun!",
$lang["slogan2"] = "Where face and real name is not important.",
$lang["slogan3"] = "It's a social media. Eh, it's more like a game.",
$lang["slogan4"] = "Fantastic yet fabulous life in a screen.",
$lang["slogan5"] = "Not just poke with one finger, you can duel!",

我的controller/index

public function index() {
    if ($this->session->has_userdata('userid')) redirect('yay/home');
    if (get_cookie('remember_me')!=null) {
        //bla bla bla

        redirect('yay/home');
    } else {
        $this->lang->load('slogan',$this->session->userdata('lang'));
        $data = array();
        $data['lg_slogan'] = array(
            $this->lang->line('slogan1'),
            $this->lang->line('slogan2'),
            $this->lang->line('slogan3'),
            $this->lang->line('slogan4'),
            $this->lang->line('slogan5'),
        );
        $this->load->view('index',$data);
    }
}

$ this-> session-> userdata('lang')===> '英语'

结果:

$lang arrays echoed behind the navbar

$ lang数组在导航栏后面回显。并且$ lg_slogan [0]没有显示

view source in browser

我做错了什么?请帮忙。

1 个答案:

答案 0 :(得分:0)

这绝对是我的坏事,因为我并不那么小心(......实际上因为我很困,大笑)。 无论如何,它现在已经解决了! 我的错误中有2个:

  1. 我在我的slogan_lang.php文件中键入了开头public String escapeDifferentCharacters(String str1, String str2) { StringBuilder result = new StringBuilder(str1); for (int i = 0; i < str1.length(); i++) { if (str1.charAt(i) != str2.charAt(i)) { result.setCharAt(i, '-'); } } return result.toString(); }
  2. 我使用逗号(,)代替标准分隔符(;)
  3. 那是对不起&amp; amp;谢谢! :&#34)