【问题标题】:CodeIgniter - Load a view part with another language than the current languageCodeIgniter - 使用不同于当前语言的另一种语言加载视图部件
【发布时间】:2012-07-20 11:58:44
【问题描述】:

我目前正在尝试将视图部分准备为变量,但我必须以应用程序的不同语言加载视图部分。

我有我的语言文件夹集(法语和英语),这里我尝试过但没有成功:

// Current language is french
$this->lang->load('[lang_file]', 'english');
$variable = $this->load->view('[path_to_view]', true);
$this->lang->load('[lang_file]');

首先,是否可以加载另一种语言的视图而不是当前的视图?

其次,如果是,我需要做什么?

谢谢。

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    也许在加载视图文件之前临时将语言设置为英语就可以了。试试这个:

    $this->config->set_item('language', 'english');
    $variable = $this->load->view('[path_to_view]', true);
    

    【讨论】:

      【解决方案2】:

      如果我没记错的话,你应该使用$this->lang->load(),但也许你的也可以。

      基本上,是的,它有效。语言键将被覆盖,并应用新的键。

      您的config/config.php 中是否将french 作为默认语言?

      更重要的是,您的视图是否在运行$this->load->language('[lang_file]', 'english'); 之前获取视图使用的数据?可能有来自form_validation 的一些传递错误和类似的错误,这将得到“错误”的语言。

      【讨论】:

      • 我刚刚更正了我的示例代码。是的,法语是我应用中的默认语言。我的代码在 $this->form_validation->run() 方法之后执行。
      • 那么错误将是法语,而视图的其余部分是英语。考虑将lang->load() 放在->run() 之前。但是你得到了什么结果?
      • 我不能把我的lang->load() 放在->run() 之前,因为视图部分需要的语言是$this->input->post()
      猜你喜欢
      • 2012-04-04
      • 1970-01-01
      • 2014-11-04
      • 2011-01-04
      • 2014-03-12
      • 2021-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多