Codeigniter язык сменить язык ввиду - PullRequest
2 голосов
/ 20 марта 2012

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

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

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

1 Ответ

0 голосов
/ 03 июня 2013

На самом деле вам не нужно, чтобы язык отображался в 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 */
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...