// getModulesTranslations optimization
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@14602 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
@@ -123,7 +123,10 @@ class TranslateCore
|
|||||||
public static function getModuleTranslation($module, $string, $source)
|
public static function getModuleTranslation($module, $string, $source)
|
||||||
{
|
{
|
||||||
global $_MODULES, $_MODULE, $_LANGADM;
|
global $_MODULES, $_MODULE, $_LANGADM;
|
||||||
|
|
||||||
static $lang_cache = array();
|
static $lang_cache = array();
|
||||||
|
// $_MODULES is a cache of translations for all module.
|
||||||
|
// $translations_merged is a cache of wether a specific module's translations have already been added to $_MODULES
|
||||||
static $translations_merged = array();
|
static $translations_merged = array();
|
||||||
|
|
||||||
if ($module instanceof Module)
|
if ($module instanceof Module)
|
||||||
@@ -138,15 +141,16 @@ class TranslateCore
|
|||||||
}
|
}
|
||||||
|
|
||||||
// @retrocompatibility with translations files in module root
|
// @retrocompatibility with translations files in module root
|
||||||
|
// @since 1.5 modules have a translations/ folder
|
||||||
if (Tools::file_exists_cache($local_path.'/translations/'.Context::getContext()->language->iso_code.'.php'))
|
if (Tools::file_exists_cache($local_path.'/translations/'.Context::getContext()->language->iso_code.'.php'))
|
||||||
$file = $local_path.'/translations/'.Context::getContext()->language->iso_code.'.php';
|
$file = $local_path.'/translations/'.Context::getContext()->language->iso_code.'.php';
|
||||||
else
|
else
|
||||||
$file = $local_path.'/'.Context::getContext()->language->iso_code.'.php';
|
$file = $local_path.'/'.Context::getContext()->language->iso_code.'.php';
|
||||||
|
|
||||||
if (Tools::file_exists_cache($file) && include_once($file))
|
// Load translations file if it has not been already done
|
||||||
|
if (!isset($translations_merged[md5($file)]) && Tools::file_exists_cache($file) && include_once($file))
|
||||||
{
|
{
|
||||||
if (!isset($translations_merged[md5($file)]))
|
$_MODULES = !empty($_MODULES) ? array_merge($_MODULES, $_MODULE) : $_MODULE;
|
||||||
$_MODULES = !empty($_MODULES) ? array_merge($_MODULES, $_MODULE) : $_MODULE;
|
|
||||||
$translations_merged[md5($file)] = true;
|
$translations_merged[md5($file)] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,15 +162,11 @@ class TranslateCore
|
|||||||
if ($_MODULES == null)
|
if ($_MODULES == null)
|
||||||
return str_replace('"', '"', $string);
|
return str_replace('"', '"', $string);
|
||||||
|
|
||||||
$currentKey = strtolower('<{'.$name.'}'._THEME_NAME_.'>'.$source.'_'.$key);
|
$currentKey = strtolower('<{'.$name.'}'._THEME_NAME_.'>'.$source).'_'.$key;
|
||||||
$defaultKey = strtolower('<{'.$name.'}prestashop>'.$source.'_'.$key);
|
$defaultKey = strtolower('<{'.$name.'}prestashop>'.$source).'_'.$key;
|
||||||
|
|
||||||
if (isset($_MODULES[$currentKey]))
|
if (isset($_MODULES[$currentKey]))
|
||||||
$ret = stripslashes($_MODULES[$currentKey]);
|
$ret = stripslashes($_MODULES[$currentKey]);
|
||||||
elseif (isset($_MODULES[$currentKey]))
|
|
||||||
$ret = stripslashes($_MODULES[$currentKey]);
|
|
||||||
elseif (isset($_MODULES[$defaultKey]))
|
|
||||||
$ret = stripslashes($_MODULES[$defaultKey]);
|
|
||||||
elseif (isset($_MODULES[$defaultKey]))
|
elseif (isset($_MODULES[$defaultKey]))
|
||||||
$ret = stripslashes($_MODULES[$defaultKey]);
|
$ret = stripslashes($_MODULES[$defaultKey]);
|
||||||
// if translation was not found in module, look for it in AdminController or Helpers
|
// if translation was not found in module, look for it in AdminController or Helpers
|
||||||
|
|||||||
Reference in New Issue
Block a user