From 19e065374bfb0e5cefff3b699abe4a77008bf9fd Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag <klapinklapin@gmail.com> Date: Sat, 30 Apr 2016 00:54:10 +0200 Subject: [PATCH] let js.php also use the configcascade for localized translation --- lib/exe/js.php | 62 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a/lib/exe/js.php b/lib/exe/js.php index e850218cf..0582ddfcc 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -219,18 +219,33 @@ function js_pluginscripts(){ * @return array */ function js_pluginstrings() { - global $conf; + global $conf, $config_cascade; $pluginstrings = array(); $plugins = plugin_list(); - foreach ($plugins as $p){ - if (isset($lang)) unset($lang); - if (file_exists(DOKU_PLUGIN."$p/lang/en/lang.php")) { - include DOKU_PLUGIN."$p/lang/en/lang.php"; + foreach($plugins as $p) { + $path = DOKU_PLUGIN . $p . '/lang/'; + + if(isset($lang)) unset($lang); + if(file_exists($path . "en/lang.php")) { + include $path . "en/lang.php"; + } + foreach($config_cascade['lang']['plugin'] as $config_file) { + if(file_exists($config_file . $p . '/en/lang.php')) { + include($config_file . $p . '/en/lang.php'); + } } - if (isset($conf['lang']) && $conf['lang']!='en' && file_exists(DOKU_PLUGIN."$p/lang/".$conf['lang']."/lang.php")) { - include DOKU_PLUGIN."$p/lang/".$conf['lang']."/lang.php"; + if(isset($conf['lang']) && $conf['lang'] != 'en') { + if(file_exists($path . $conf['lang'] . "/lang.php")) { + include($path . $conf['lang'] . '/lang.php'); + } + foreach($config_cascade['lang']['plugin'] as $config_file) { + if(file_exists($config_file . $p . '/' . $conf['lang'] . '/lang.php')) { + include($config_file . $p . '/' . $conf['lang'] . '/lang.php'); + } + } } - if (isset($lang['js'])) { + + if(isset($lang['js'])) { $pluginstrings[$p] = $lang['js']; } } @@ -247,15 +262,34 @@ function js_pluginstrings() { * @return array */ function js_templatestrings($tpl) { - global $conf; + global $conf, $config_cascade; + + $path = tpl_incdir() . 'lang/'; + $templatestrings = array(); - if (file_exists(tpl_incdir($tpl)."lang/en/lang.php")) { - include tpl_incdir($tpl)."lang/en/lang.php"; + if(file_exists($path . "en/lang.php")) { + include $path . "en/lang.php"; } - if (isset($conf['lang']) && $conf['lang']!='en' && file_exists(tpl_incdir($tpl)."lang/".$conf['lang']."/lang.php")) { - include tpl_incdir($tpl)."lang/".$conf['lang']."/lang.php"; + foreach($config_cascade['lang']['template'] as $config_file) { + if(file_exists($config_file . $conf['template'] . '/en/lang.php')) { + include($config_file . $conf['template'] . '/en/lang.php'); + } } - if (isset($lang['js'])) { + if(isset($conf['lang']) && $conf['lang'] != 'en' && file_exists($path . $conf['lang'] . "/lang.php")) { + include $path . $conf['lang'] . "/lang.php"; + } + if(isset($conf['lang']) && $conf['lang'] != 'en') { + if(file_exists($path . $conf['lang'] . "/lang.php")) { + include $path . $conf['lang'] . "/lang.php"; + } + foreach($config_cascade['lang']['template'] as $config_file) { + if(file_exists($config_file . $conf['template'] . '/' . $conf['lang'] . '/lang.php')) { + include($config_file . $conf['template'] . '/' . $conf['lang'] . '/lang.php'); + } + } + } + + if(isset($lang['js'])) { $templatestrings[$tpl] = $lang['js']; } return $templatestrings; -- GitLab