【问题标题】:Codeigniter 2: How to switch auto-loaded lang file to different languageCodeigniter 2:如何将自动加载的语言文件切换为不同的语言
【发布时间】:2013-01-22 19:40:40
【问题描述】:

来自 CodeIgniter 用户指南

如果您发现在全球范围内需要某种特定语言 你的应用程序,你可以告诉 CodeIgniter 在 系统初始化。这是通过打开 application/config/autoload.php 文件并将语言添加到 自动加载数组。

我在会话中存储有关用户语言的信息。

$this->session->set_userdata('lang', $lang);

如何更改自动加载的全局 lang 文件的语言(为用户使用的语言)(默认语言是从 config.php 加载的——这显然是明白的)

$autoload['language'] = array('global');

这可能吗,如果没有,应该怎么做? 我需要扩展 CI_Controller 吗?

【问题讨论】:

    标签: php codeigniter codeigniter-2


    【解决方案1】:

    毕竟,我认为最好的解决方案是扩展 CI_controller 就这么简单

    class MY_Controller extends CI_Controller {
    
        function __construct() {
            parent::__construct();
    
            // Global Lang File
            $this->lang->load('global', $this->session->userdata('lang'));
    
        }
    }
    

    【讨论】:

      【解决方案2】:

      这是可能的,但您需要从会话中加载所需的语言:

      $this->lang->load('filename', 'language');
      

      来自手册:

      其中 filename 是您要加载的文件的名称(没有文件扩展名),而 language 是包含它的语言集(即英语)。如果缺少第二个参数,将使用您的 application/config/config.php 文件中设置的默认语言。

      加载所需的语言文件后,您可以使用此功能访问任何文本行:

      $this->lang->line('language_key');
      

      当然,您的语言文件会在“应用程序/语言”中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多