Blame | Last modification | View Log | RSS feed
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');/*** CodeIgniter** An open source application development framework for PHP 5.1.6 or newer** @package CodeIgniter* @author ExpressionEngine Dev Team* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.* @license http://codeigniter.com/user_guide/license.html* @link http://codeigniter.com* @since Version 1.0* @filesource*/// ------------------------------------------------------------------------/*** Language Class** @package CodeIgniter* @subpackage Libraries* @category Language* @author ExpressionEngine Dev Team* @link http://codeigniter.com/user_guide/libraries/language.html*/class CI_Lang {/*** List of translations** @var array*/var $language = array();/*** List of loaded language files** @var array*/var $is_loaded = array();/*** Constructor** @access public*/function __construct(){log_message('debug', "Language Class Initialized");}// --------------------------------------------------------------------/*** Load a language file** @access public* @param mixed the name of the language file to be loaded. Can be an array* @param string the language (english, etc.)* @param bool return loaded array of translations* @param bool add suffix to $langfile* @param string alternative path to look for language file* @return mixed*/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 itif ($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;}// --------------------------------------------------------------------/*** Fetch a single line of text from the language array** @access public* @param string $line the language line* @return string*/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;}}// END Language Class/* End of file Lang.php *//* Location: ./system/core/Lang.php */