На самом деле вам не нужно, чтобы язык отображался в 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 */