zoukankan      html  css  js  c++  java
  • CI框架 -- 核心文件 之 Lang.php(加载语言包)

    <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    
    class CI_Lang {
    
        
        var $language    = array();
        
        var $is_loaded    = array();
    
        function __construct()
        {
            log_message('debug', "Language Class Initialized");
        }
    
        //加载语言包
        function load($langfile = '', $idiom = '', $return = FALSE, $add_suffix = TRUE, $alt_path = '')
        {
            $langfile = str_replace('.php', '', $langfile);
    
            if ($add_suffix == TRUE)
            {
                $langfile = str_replace('_lang.', '', $langfile).'_lang';
            }
    
            $langfile .= '.php';
    
            if (in_array($langfile, $this->is_loaded, TRUE))
            {
                return;
            }
    
            $config =& get_config();
    
            if ($idiom == '')
            {
                $deft_lang = ( ! isset($config['language'])) ? 'english' : $config['language'];
                $idiom = ($deft_lang == '') ? 'english' : $deft_lang;
            }
    
            // Determine where the language file is and load it
            if ($alt_path != '' && file_exists($alt_path.'language/'.$idiom.'/'.$langfile))
            {
                include($alt_path.'language/'.$idiom.'/'.$langfile);
            }
            else
            {
                $found = FALSE;
    
                foreach (get_instance()->load->get_package_paths(TRUE) as $package_path)
                {
                    if (file_exists($package_path.'language/'.$idiom.'/'.$langfile))
                    {
                        include($package_path.'language/'.$idiom.'/'.$langfile);
                        $found = TRUE;
                        break;
                    }
                }
    
                if ($found !== TRUE)
                {
                    show_error('Unable to load the requested language file: language/'.$idiom.'/'.$langfile);
                }
            }
    
    
            if ( ! isset($lang))
            {
                log_message('error', 'Language file contains no data: language/'.$idiom.'/'.$langfile);
                return;
            }
    
            if ($return == TRUE)
            {
                return $lang;
            }
    
            $this->is_loaded[] = $langfile;
            $this->language = array_merge($this->language, $lang);
            unset($lang);
    
            log_message('debug', 'Language file loaded: language/'.$idiom.'/'.$langfile);
            return TRUE;
        }
    
        //从language数组中取出一条数据
        function line($line = '')
        {
            $value = ($line == '' OR ! isset($this->language[$line])) ? FALSE : $this->language[$line];
    
            // Because killer robots like unicorns!
            if ($value === FALSE)
            {
                log_message('error', 'Could not find the language line "'.$line.'"');
            }
    
            return $value;
        }
    
    }
  • 相关阅读:
    SQL一般注入(一)
    SQl注入的分类
    SQl注入常见参数
    wireshark
    分享.Net 设计模式大全
    .net Core实战简单文件服务器
    .net Core中间件实战
    c#5.0/6.0/7.0
    使用Bot Framework建立你的第一个聊天机器人
    如何用.net制作一个简易爬虫抓取华为应用市场数据
  • 原文地址:https://www.cnblogs.com/hf8051/p/5160371.html
Copyright © 2011-2022 走看看