Subversion Repositories Applications.papyrus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2005 Aurelien 1
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
/**
3
 * CodeIgniter
4
 *
5
 * An open source application development framework for PHP 4.3.2 or newer
6
 *
7
 * @package		CodeIgniter
8
 * @author		ExpressionEngine Dev Team
9
 * @copyright	Copyright (c) 2008, EllisLab, Inc.
10
 * @license		http://codeigniter.com/user_guide/license.html
11
 * @link		http://codeigniter.com
12
 * @since		Version 1.0
13
 * @filesource
14
 */
15
16
// ------------------------------------------------------------------------
17
18
/**
19
 * Language Class
20
 *
21
 * @package		CodeIgniter
22
 * @subpackage	Libraries
23
 * @category	Language
24
 * @author		ExpressionEngine Dev Team
25
 * @link		http://codeigniter.com/user_guide/libraries/language.html
26
 */
27
class CI_Language {
28
29
	var $language	= array();
30
	var $is_loaded	= array();
31
32
	/**
33
	 * Constructor
34
	 *
35
	 * @access	public
36
	 */
37
	function CI_Language()
38
	{
39
		log_message('debug', "Language Class Initialized");
40
	}
41
42
	// --------------------------------------------------------------------
43
44
	/**
45
	 * Load a language file
46
	 *
47
	 * @access	public
48
	 * @param	mixed	the name of the language file to be loaded. Can be an array
49
	 * @param	string	the language (english, etc.)
50
	 * @return	void
51
	 */
52
	function load($langfile = '', $idiom = '', $return = FALSE)
53
	{
54
		$langfile = str_replace(EXT, '', str_replace('_lang.', '', $langfile)).'_lang'.EXT;
55
56
		if (in_array($langfile, $this->is_loaded, TRUE))
57
		{
58
			return;
59
		}
60
61
		if ($idiom == '')
62
		{
63
			$CI =& get_instance();
64
			$deft_lang = $CI->config->item('language');
65
			$idiom = ($deft_lang == '') ? 'english' : $deft_lang;
66
		}
67
68
		// Determine where the language file is and load it
69
		if (file_exists(APPPATH.'language/'.$idiom.'/'.$langfile))
70
		{
71
			include(APPPATH.'language/'.$idiom.'/'.$langfile);
72
		}
73
		else
74
		{
75
			if (file_exists(BASEPATH.'language/'.$idiom.'/'.$langfile))
76
			{
77
				include(BASEPATH.'language/'.$idiom.'/'.$langfile);
78
			}
79
			else
80
			{
81
				show_error('Unable to load the requested language file: language/'.$langfile);
82
			}
83
		}
84
85
86
		if ( ! isset($lang))
87
		{
88
			log_message('error', 'Language file contains no data: language/'.$idiom.'/'.$langfile);
89
			return;
90
		}
91
92
		if ($return == TRUE)
93
		{
94
			return $lang;
95
		}
96
97
		$this->is_loaded[] = $langfile;
98
		$this->language = array_merge($this->language, $lang);
99
		unset($lang);
100
101
		log_message('debug', 'Language file loaded: language/'.$idiom.'/'.$langfile);
102
		return TRUE;
103
	}
104
105
	// --------------------------------------------------------------------
106
107
	/**
108
	 * Fetch a single line of text from the language array
109
	 *
110
	 * @access	public
111
	 * @param	string	$line 	the language line
112
	 * @return	string
113
	 */
114
	function line($line = '')
115
	{
116
		$line = ($line == '' OR ! isset($this->language[$line])) ? FALSE : $this->language[$line];
117
		return $line;
118
	}
119
120
}
121
// END Language Class
122
123
/* End of file Language.php */
124
/* Location: ./system/libraries/Language.php */