Viewing file: Lang.php (3.27 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?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 {
var $language = 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.) * @return mixed */ function load($langfile = '', $idiom = '', $return = FALSE, $add_suffix = TRUE, $alt_path = '') { $langfile = str_replace(EXT, '', $langfile);
if ($add_suffix == TRUE) { $langfile = str_replace('_lang.', '', $langfile).'_lang'; }
$langfile .= EXT;
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; }
// --------------------------------------------------------------------
/** * Fetch a single line of text from the language array * * @access public * @param string $line the language line * @return string */ function line($line = '') { $line = ($line == '' OR ! isset($this->language[$line])) ? FALSE : $this->language[$line];
// Because killer robots like unicorns! if ($line === FALSE) { log_message('error', 'Could not find the language line "'.$line.'"'); }
return $line; }
} // END Language Class
/* End of file Lang.php */ /* Location: ./system/core/Lang.php */
|