From 936ae0b4cd66a8d2548fd514149ab44f6490b25c Mon Sep 17 00:00:00 2001 From: Ramon Novoa Date: Wed, 1 Mar 2017 12:34:12 +0100 Subject: [PATCH] Apply Aoyagi's patch. --- pandora_console/include/functions_io.php | 35 ++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/pandora_console/include/functions_io.php b/pandora_console/include/functions_io.php index e023c05eb7..7c11505ed3 100755 --- a/pandora_console/include/functions_io.php +++ b/pandora_console/include/functions_io.php @@ -426,6 +426,41 @@ function __ ($string /*, variable arguments */) { return vsprintf ($l10n->translate ($string), $args); } +/** + * Get a translated string for extension + * + * @param string String to translate. It can have special format characters like + * a printf + * @param mixed Optional parameters to be replaced in string. Example: + * + * echo ___('Hello!'); + * echo ___('Hello, %s!', $user); + * + * + * @return string The translated string. If not defined, the same string will be returned + */ +function ___ ($string /*, variable arguments */) { + global $config; + + $trace = debug_backtrace(); + foreach($config['extensions'] as $extension){ + $extension_file = $extension['file']; + if(!isset($config['extensions'][$extension_file]['translate_function'])){ + continue; + } + foreach($trace as $item){ + if(pathinfo($item['file'], PATHINFO_BASENAME) == $extension_file){ + $tranlateString = call_user_func_array($config['extensions'][$extension_file]['translate_function'], func_get_args()); + if ($tranlateString !== false) { + return $tranlateString; + } + } + } + } + + return call_user_func_array('__', func_get_args()); +} + /* * json_encode for multibyte characters. *