diff options
Diffstat (limited to 'app/Core/Translator.php')
-rw-r--r-- | app/Core/Translator.php | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/app/Core/Translator.php b/app/Core/Translator.php index 7cd3cc4f..43015e48 100644 --- a/app/Core/Translator.php +++ b/app/Core/Translator.php @@ -27,6 +27,26 @@ class Translator private static $locales = array(); /** + * Flag to enable HTML escaping + * + * @static + * @access private + * @var boolean + */ + private static $enable_escaping = true; + + /** + * Disable HTML escaping for translations + * + * @static + * @access public + */ + public static function disableEscaping() + { + self::$enable_escaping = false; + } + + /** * Get a translation * * $translator->translate('I have %d kids', 5); @@ -42,8 +62,10 @@ class Translator array_shift($args); array_unshift($args, $this->get($identifier, $identifier)); - foreach ($args as &$arg) { - $arg = htmlspecialchars($arg, ENT_QUOTES, 'UTF-8', false); + if (self::$enable_escaping) { + foreach ($args as &$arg) { + $arg = htmlspecialchars($arg, ENT_QUOTES, 'UTF-8', false); + } } return call_user_func_array( |