2012-03-19 2 views
2

Мой сайт Codeigniter использует языковые классы CodeIgniter с соответствующими языковыми файлами. У меня есть 3 ссылки сверху, чтобы изменить язык. Но как мне создать эти ссылки? Когда я на странице domain.com/nl/home, мой язык должен появиться как этотЯзык изменения языка Codeignizer in view

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

Я также хочу, чтобы добавить класс CSS в настоящее время используется язык.

ответ

0

Вам не нужно, чтобы язык отображался в URL-адресе. Трудно поддерживать, если сайт растет. Вы можете использовать что-то вроде этого - контроллер (или крючок, если вы используете его в нескольких контроллерах)

/* 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 */ 
Смежные вопросы