1 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
5 * An open source application development framework for PHP 5.1.6 or newer
8 * @author ExpressionEngine Dev Team
9 * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
10 * @license http://codeigniter.com/user_guide/license.html
11 * @link http://codeigniter.com
16 // ------------------------------------------------------------------------
21 * @package CodeIgniter
22 * @subpackage Libraries
24 * @author ExpressionEngine Dev Team
25 * @link http://codeigniter.com/user_guide/libraries/language.html
29 var $language = array();
30 var $is_loaded = array();
37 function __construct()
39 log_message('debug', "Language Class Initialized");
42 // --------------------------------------------------------------------
45 * Load a language file
48 * @param mixed the name of the language file to be loaded. Can be an array
49 * @param string the language (english, etc.)
52 function load($langfile = '', $idiom = '', $return = FALSE, $add_suffix = TRUE, $alt_path = '')
54 $langfile = str_replace(EXT, '', $langfile);
56 if ($add_suffix == TRUE)
58 $langfile = str_replace('_lang.', '', $langfile).'_lang';
63 if (in_array($langfile, $this->is_loaded, TRUE))
68 $config =& get_config();
72 $deft_lang = ( ! isset($config['language'])) ? 'english' : $config['language'];
73 $idiom = ($deft_lang == '') ? 'english' : $deft_lang;
76 // Determine where the language file is and load it
77 if ($alt_path != '' && file_exists($alt_path.'language/'.$idiom.'/'.$langfile))
79 include($alt_path.'language/'.$idiom.'/'.$langfile);
85 foreach (get_instance()->load->get_package_paths(TRUE) as $package_path)
87 if (file_exists($package_path.'language/'.$idiom.'/'.$langfile))
89 include($package_path.'language/'.$idiom.'/'.$langfile);
97 show_error('Unable to load the requested language file: language/'.$idiom.'/'.$langfile);
104 log_message('error', 'Language file contains no data: language/'.$idiom.'/'.$langfile);
113 $this->is_loaded[] = $langfile;
114 $this->language = array_merge($this->language, $lang);
117 log_message('debug', 'Language file loaded: language/'.$idiom.'/'.$langfile);
121 // --------------------------------------------------------------------
124 * Fetch a single line of text from the language array
127 * @param string $line the language line
130 function line($line = '')
132 $line = ($line == '' OR ! isset($this->language[$line])) ? FALSE : $this->language[$line];
134 // Because killer robots like unicorns!
137 log_message('error', 'Could not find the language line "'.$line.'"');
144 // END Language Class
146 /* End of file Lang.php */
147 /* Location: ./system/core/Lang.php */