使用不同语言的ion_auth

时间:2013-06-23 16:11:35

标签: codeigniter internationalization ion-auth

我正在尝试使用不同语言的ion_auth

默认为英语,我想我正在尝试使用法语

控制器

class Auth extends CI_Controller {

function __construct()
{
    parent::__construct();
    $this->load->library('ion_auth');
    $this->load->library('form_validation');
    $this->load->helper('url');

    // Load MongoDB library instead of native db driver if required
    $this->config->item('use_mongodb', 'ion_auth') ?
    $this->load->library('mongo_db') :

    $this->load->database();

    $this->form_validation->set_error_delimiters($this->config->item('error_start_delimiter', 'ion_auth'), $this->config->item('error_end_delimiter', 'ion_auth'));

    $this->lang->load('auth','french');
    $this->load->helper('language');

            /*    $lang = $this->session->userdata('lang_name');
    if(!isset($lang))
    { //load default language 
      $this->lang->load('site');
      $this->lang->load('ion_auth');
      $this->lang->load('auth');
    }
    else
    { //load language from session
     // print_r('lang :'.$this->session->userdata('lang_name'));
      $this->lang->load('site',$this->session->userdata('lang_name'));
      $this->lang->load('ion_auth',$this->session->userdata('lang_name'));
      $this->lang->load('auth',$this->session->userdata('lang_name'));
    }*/


}

它始终在英语上永远不会改变为法语或其他语言

<?php
    $this->lang->load('auth','french');
?>

我在视图上也尝试了以上内容,并且没有任何改变法语

3 个答案:

答案 0 :(得分:1)

您必须在CI->config.php

中更改语言

更改此$config['language']= 'english'; to $config['language']= 'french';

供您参考 https://github.com/benedmunds/CodeIgniter-Ion-Auth/issues/472

答案 1 :(得分:0)

我找到了一个解决方案,这是有效的,但我不知道或安全。在Ion_auth文件中(在libraries文件夹中 - codeigniter框架中)

find public function __construct()

change: $this->lang->load('ion_auth');
to: $this->lang->load('ion_auth',trim($this->input->post('language')));

那就是

等...

答案 2 :(得分:0)

如果要更改系统范围的语言,则必须动态编辑配置项。例如;

 if (isset($set_language)) {
    $this->lang->load('auth','french');
    $this->config->set_item('language','french');
}