Subversion-Projekte lars-tiefland.codeigniter

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 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	mixed
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
		if ( ! isset($lang))
86
		{
87
			log_message('error', 'Language file contains no data: language/'.$idiom.'/'.$langfile);
88
			return;
89
		}
90
 
91
		if ($return == TRUE)
92
		{
93
			return $lang;
94
		}
95
 
96
		$this->is_loaded[] = $langfile;
97
		$this->language = array_merge($this->language, $lang);
98
		unset($lang);
99
 
100
		log_message('debug', 'Language file loaded: language/'.$idiom.'/'.$langfile);
101
		return TRUE;
102
	}
103
 
104
	// --------------------------------------------------------------------
105
 
106
	/**
107
	 * Fetch a single line of text from the language array
108
	 *
109
	 * @access	public
110
	 * @param	string	$line 	the language line
111
	 * @return	string
112
	 */
113
	function line($line = '')
114
	{
115
		$line = ($line == '' OR ! isset($this->language[$line])) ? FALSE : $this->language[$line];
116
		return $line;
117
	}
118
 
119
}
120
// END Language Class
121
 
122
/* End of file Language.php */
123
/* Location: ./system/libraries/Language.php */