diff --git a/classes/Translate.php b/classes/Translate.php index bfd852601..a2d3ec4f3 100644 --- a/classes/Translate.php +++ b/classes/Translate.php @@ -116,7 +116,7 @@ class TranslateCore * @param string $source * @return string */ - public static function getModuleTranslation($module, $string, $source, $sprintf = null) + public static function getModuleTranslation($module, $string, $source, $sprintf = null, $js = false) { global $_MODULES, $_MODULE, $_LANGADM; @@ -126,7 +126,6 @@ class TranslateCore static $translations_merged = array(); $name = $module instanceof Module ? $module->name : $module; - if (!isset($translations_merged[$name])) { $filesByPriority = array( @@ -175,6 +174,9 @@ class TranslateCore if ($sprintf !== null) $ret = Translate::checkAndReplaceArgs($ret, $sprintf); + if ($js) + $ret = addslashes($ret); + $lang_cache[$cache_key] = str_replace('"', '"', $ret); } return $lang_cache[$cache_key]; diff --git a/config/smartyfront.config.inc.php b/config/smartyfront.config.inc.php index 45b47c6bb..4c55e6b9f 100644 --- a/config/smartyfront.config.inc.php +++ b/config/smartyfront.config.inc.php @@ -30,7 +30,7 @@ function smartyTranslate($params, &$smarty) { global $_LANG; - if (!isset($params['js'])) $params['js'] = 0; + if (!isset($params['js'])) $params['js'] = false; if (!isset($params['pdf'])) $params['pdf'] = false; if (!isset($params['mod'])) $params['mod'] = false; if (!isset($params['sprintf'])) $params['sprintf'] = null; @@ -45,7 +45,7 @@ function smartyTranslate($params, &$smarty) $key = 'override_'.$key; if ($params['mod']) - return Translate::getModuleTranslation($params['mod'], $params['s'], $basename, $params['sprintf']); + return Translate::getModuleTranslation($params['mod'], $params['s'], $basename, $params['sprintf'], $params['js']); else if ($params['pdf']) return Translate::getPdfTranslation($params['s']); @@ -62,6 +62,6 @@ function smartyTranslate($params, &$smarty) if ($params['sprintf'] !== null) $msg = Translate::checkAndReplaceArgs($msg, $params['sprintf']); - return $params['js'] ? $msg : Tools::htmlentitiesUTF8($msg); + return $params['js'] ? $msg : addslashes($msg); }