mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-22 13:58:40 +01:00
fix regarding get_app in translation. array_merge does renumber and += seems to bear problems, if there already is a translation for the given key (mainscreen_message)
This commit is contained in:
parent
62d3afdd36
commit
1e43e837c0
@ -245,15 +245,19 @@ class translation
|
|||||||
static function add_app($app,$lang=False)
|
static function add_app($app,$lang=False)
|
||||||
{
|
{
|
||||||
$lang = $lang ? $lang : self::$userlang;
|
$lang = $lang ? $lang : self::$userlang;
|
||||||
|
|
||||||
if (!isset(self::$loaded_apps[$app]) || self::$loaded_apps[$app] != $lang)
|
if (!isset(self::$loaded_apps[$app]) || self::$loaded_apps[$app] != $lang)
|
||||||
{
|
{
|
||||||
//$start = microtime(true);
|
//$start = microtime(true);
|
||||||
// for loginscreen we have to use a instance specific cache!
|
// for loginscreen we have to use a instance specific cache!
|
||||||
$loaded =& egw_cache::getCache(in_array($app,self::$instance_specific_translations) ? egw_cache::INSTANCE : egw_cache::TREE,
|
$loaded =& egw_cache::getCache(in_array($app,self::$instance_specific_translations) ? egw_cache::INSTANCE : egw_cache::TREE,
|
||||||
__CLASS__,$app.':'.$lang,array(__CLASS__,'load_app'),array($app,$lang));
|
__CLASS__,$app.':'.$lang,array(__CLASS__,'load_app'),array($app,$lang));
|
||||||
|
foreach(array_keys($loaded) as $key)
|
||||||
self::$lang_arr += $loaded; // use += instead of array_merge, as we have phrases with numerical index, which get renumbered by array_merge
|
{
|
||||||
|
// as array_merge does renumber, and the padding of the loaded langs to the existing langs does lead to strange phenomenons
|
||||||
|
// regarding the mainscreen_message, we do that the old fashioned way.
|
||||||
|
if (!empty($loaded[$key])) self::$lang_arr[$key] = $loaded[$key];
|
||||||
|
}
|
||||||
|
//self::$lang_arr += $loaded; // use += instead of array_merge, as we have phrases with numerical index, which get renumbered by array_merge
|
||||||
self::$loaded_apps[$app] = $lang;
|
self::$loaded_apps[$app] = $lang;
|
||||||
//error_log(__METHOD__."($app,$lang) took ".(1000*(microtime(true)-$start))." ms, loaded ".count($loaded)." phrases -> total=".count(self::$lang_arr).": ".function_backtrace());
|
//error_log(__METHOD__."($app,$lang) took ".(1000*(microtime(true)-$start))." ms, loaded ".count($loaded)." phrases -> total=".count(self::$lang_arr).": ".function_backtrace());
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user