Project

General

Profile

Bug #29386 » 29386_v2.diff

Xavier Perseguers, 2011-09-01 14:20

View differences:

typo3/sysext/lang/lang.php
public $parserFactory;
/**
* @var array
*/
protected $languageDependencies = array();
/**
* Initializes the backend language.
* This is for example done in typo3/template.php with lines like these:
*
......
// The charset if different from the default.
$this->charSet = $this->charSetArray[$this->lang];
}
$this->languageDependencies[] = $this->lang;
foreach ($locales->getLocaleDependencies($this->lang) as $language) {
$this->languageDependencies[] = $language;
}
}
if ($GLOBALS['TYPO3_CONF_VARS']['BE']['lang']['debug']) {
......
* @access private
*/
protected function readLLfile($fileRef) {
return t3lib_div::readLLfile($fileRef, $this->lang, $this->charSet);
if ($this->lang !== 'default') {
$languages = array_reverse($this->languageDependencies);
} else {
$languages = array('default');
}
$localLanguage = array();
foreach ($languages as $language) {
$tempLL = t3lib_div::readLLfile($fileRef, $language, $this->charSet);
$localLanguage['default'] = $tempLL['default'];
if (!isset($localLanguage[$this->lang])) {
$localLanguage[$this->lang] = $localLanguage['default'];
}
if ($this->lang !== 'default') {
// Merge current language labels onto labels from previous language
// This way we have a labels with fall back applied
$localLanguage[$this->lang] = t3lib_div::array_merge_recursive_overrule($localLanguage[$this->lang], $tempLL[$language], FALSE, FALSE);
}
}
return $localLanguage;
}
/**
(2-2/2)