Codeigniter语言在视图中更改语言

时间:2012-03-19 20:24:34

标签: php codeigniter view

我的Codeigniter网站使用CodeIgniter的语言类及其相应的语言文件。 我的观点有3个链接在顶部以更改语言。但是我如何创建这些链接? 当我在页面domain.com/nl/home上时,我的语言应该是这样的

domain.com/en/home
domain.com/de/home
domein.com/fr/home

我还想为当前使用的语言添加一个css类。

1 个答案:

答案 0 :(得分:0)

您实际上并不需要在网址中显示该语言。如果网站变大,很难维护。您可以使用这样的控制器(如果您在多个控制器中使用它,则使用挂钩)

/* BEGIN Language settings */
    $lang_array=array('english','spanish');

    if(!$this->session->userdata('language')){
           self::$current_language =  $this->config->item('language');
           $this->session->set_userdata('language', self::$current_language);
    }else{
           self::$current_language = $this->session->userdata('language');
    }
    // Css purpose
    $this->page_data['display_en'] = "";
    $this->page_data['display_sp'] = "";
    switch(self::$current_language){
        case 'english':$this->page_data['display_en'] = "display:none";break;
        case 'spanish':$this->page_data['display_sp'] = "display:none";break;
    }
   // Load language files
   $this->lang->load('profile',  self::$current_language);
   $this->lang->load('products',  self::$current_language);

   $this->page_data['page_lang'] = self::$current_language;
   // Abbreviated language name
   $this->page_data['lang'] = substr(self::$current_language,0,2);

   /* END Language settings */