102 |
102 |
{
|
103 |
103 |
// now load and merge the files in order SYSTEM - DEFAULT - CURRENT
|
104 |
104 |
$this->_aLanguageTable = array();
|
105 |
|
// at first search SYSTEM_LANGUAGE
|
106 |
|
$this->_loadLanguage($sLangDir, $this->_sSystemLanguage);
|
107 |
|
// at second merge DEFAULT_LANGUAGE
|
108 |
|
if(!in_array($sDefaultLanguage, $this->_aLoadedLanguages)) {
|
109 |
|
$this->_loadLanguage($sLangDir, $sDefaultLanguage);
|
110 |
|
}
|
111 |
|
// at third merge CURRENT_LANGUAGE
|
|
105 |
// at first load DEFAULT_LANGUAGE
|
|
106 |
$this->_loadLanguage($sLangDir, $sDefaultLanguage);
|
|
107 |
// at second merge CURRENT_LANGUAGE to front if not already loaded
|
112 |
108 |
if(!in_array($sCurrentLanguage, $this->_aLoadedLanguages)) {
|
113 |
109 |
$this->_loadLanguage($sLangDir, $sCurrentLanguage);
|
114 |
110 |
}
|
|
111 |
// at last merge SYSTEM_LANGUAGE to background if not already loaded
|
|
112 |
if(!in_array($this->_sSystemLanguage, $this->_aLoadedLanguages)) {
|
|
113 |
$this->_loadLanguage($sLangDir, $this->_sSystemLanguage, true);
|
|
114 |
}
|
115 |
115 |
// if no predefined language was fond, search for first available language
|
116 |
116 |
if(sizeof($this->_aLanguageTable) == 0) {
|
117 |
117 |
// if absolutely no language was fond, throw an exception
|
... | ... | |
139 |
139 |
* @param string $sLangDir
|
140 |
140 |
* @param string $sLanguage
|
141 |
141 |
*/
|
142 |
|
private function _loadLanguage($sLangDir, $sLanguage)
|
|
142 |
private function _loadLanguage($sLangDir, $sLanguage, $bLoadSystemLanguage = false)
|
143 |
143 |
{
|
144 |
144 |
if(is_readable($sLangDir.$sLanguage.'.php')) {
|
145 |
|
$this->_aLanguageTable = array_merge($this->_aLanguageTable,
|
146 |
|
$this->_importArrays($sLangDir.$sLanguage.'.php'));
|
|
145 |
$aTemp = $this->_importArrays($sLangDir.$sLanguage.'.php');
|
|
146 |
if($bLoadSystemLanguage) {
|
|
147 |
$this->_aLanguageTable = array_merge($aTemp, $this->_aLanguageTable);
|
|
148 |
}else {
|
|
149 |
$this->_aLanguageTable = array_merge($this->_aLanguageTable, $aTemp);
|
|
150 |
}
|
147 |
151 |
$this->_aLoadedLanguages[] = $sLanguage;
|
148 |
152 |
}
|
149 |
153 |
}
|
ModLanguages:: fixed the order of loading languages