extend lang file cascade, so users can override some lang strings

Fixes #692
This commit is contained in:
Gerrit Uitslag 2014-05-13 21:57:50 +02:00
parent 83014c076e
commit 38fb1fc7a9
3 changed files with 12 additions and 2 deletions

View File

@ -259,6 +259,11 @@ function init_paths(){
$conf['media_changelog'] = $conf['metadir'].'/_media.changes';
}
/**
* Load the language strings
*
* @param string $langCode language code, as passed by event handler
*/
function init_lang($langCode) {
//prepare language array
global $lang;
@ -271,6 +276,9 @@ function init_lang($langCode) {
require(DOKU_INC."inc/lang/$langCode/lang.php");
}
}
if (file_exists(DOKU_CONF."lang/$langCode/lang.php")) {
require(DOKU_CONF."lang/$langCode/lang.php");
}
}
/**

View File

@ -124,6 +124,7 @@ class DokuWiki_Plugin {
// 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');
$this->lang = $lang;
$this->localised = true;

View File

@ -1285,8 +1285,8 @@ function tpl_getLang($id) {
// don't include once
@include($path.'en/lang.php');
if($conf['lang'] != 'en') @include($path.$conf['lang'].'/lang.php');
@include(DOKU_CONF.'template_lang/'.$conf['template'].'/'.$conf['lang'].'/lang.php');
}
return $lang[$id];
}
@ -1307,7 +1307,7 @@ function tpl_locale_xhtml($id) {
function tpl_localeFN($id) {
$path = tpl_incdir().'lang/';
global $conf;
$file = DOKU_CONF.'/template_lang/'.$conf['template'].'/'.$conf['lang'].'/'.$id.'.txt';
$file = DOKU_CONF.'template_lang/'.$conf['template'].'/'.$conf['lang'].'/'.$id.'.txt';
if (!@file_exists($file)){
$file = $path.$conf['lang'].'/'.$id.'.txt';
if(!@file_exists($file)){
@ -1329,6 +1329,7 @@ function tpl_localeFN($id) {
*
* @triggers MEDIAMANAGER_CONTENT_OUTPUT
* @param bool $fromajax - set true when calling this function via ajax
* @param string $sort
* @author Andreas Gohr <andi@splitbrain.org>
*/
function tpl_mediaContent($fromajax = false, $sort='natural') {