summaryrefslogtreecommitdiff
path: root/inc/plugin.php
diff options
context:
space:
mode:
authorGerrit Uitslag <klapinklapin@gmail.com>2014-09-28 13:27:05 +0200
committerGerrit Uitslag <klapinklapin@gmail.com>2014-09-28 13:27:05 +0200
commitdd7a6159c4224a6a3dda22a1f35f5fb13b06ec2e (patch)
treefb334e50ccb72a0398fe7f0711c50bb5a9c0de54 /inc/plugin.php
parent89417bb7bf90154b2a5c17e0717028f7a7d9797f (diff)
downloadrpg-dd7a6159c4224a6a3dda22a1f35f5fb13b06ec2e.tar.gz
rpg-dd7a6159c4224a6a3dda22a1f35f5fb13b06ec2e.tar.bz2
use config cascade for loading of localizations
Diffstat (limited to 'inc/plugin.php')
-rw-r--r--inc/plugin.php24
1 files changed, 18 insertions, 6 deletions
diff --git a/inc/plugin.php b/inc/plugin.php
index dd374a4a4..f632e3dd0 100644
--- a/inc/plugin.php
+++ b/inc/plugin.php
@@ -114,17 +114,29 @@ class DokuWiki_Plugin {
* this function is automatically called by getLang()
*/
function setupLocale() {
- if ($this->localised) return;
+ if($this->localised) return;
- global $conf; // definitely don't invoke "global $lang"
- $path = DOKU_PLUGIN.$this->getPluginName().'/lang/';
+ global $conf, $config_cascade; // definitely don't invoke "global $lang"
+ $path = DOKU_PLUGIN . $this->getPluginName() . '/lang/';
$lang = array();
// don't include once, in case several plugin components require the same language file
- @include($path.'en/lang.php');
- if ($conf['lang'] != 'en') @include($path.$conf['lang'].'/lang.php');
- @include(DOKU_CONF.'plugin_lang/'.$this->getPluginName().'/'.$conf['lang'].'/lang.php');
+ @include($path . 'en/lang.php');
+ foreach($config_cascade['lang']['plugin'] as $config_file) {
+ if(@file_exists($config_file . $this->getPluginName() . '/en/lang.php')) {
+ include($config_file . $this->getPluginName() . '/en/lang.php');
+ }
+ }
+
+ if($conf['lang'] != 'en') {
+ @include($path . $conf['lang'] . '/lang.php');
+ foreach($config_cascade['lang']['plugin'] as $config_file) {
+ if(@file_exists($config_file . $this->getPluginName() . '/' . $conf['lang'] . '/lang.php')) {
+ include($config_file . $this->getPluginName() . '/' . $conf['lang'] . '/lang.php');
+ }
+ }
+ }
$this->lang = $lang;
$this->localised = true;