diff options
author | Andrew Manning <andrewmanning@grid.reticu.li> | 2017-08-23 03:33:03 +0000 |
---|---|---|
committer | Andrew Manning <andrewmanning@grid.reticu.li> | 2017-08-23 03:33:03 +0000 |
commit | 6c388575022cc10f28ed99e8e414fbc76a67bb00 (patch) | |
tree | 49bc3d01e54023855ae95a124efda3d822ab576a /include/help.php | |
parent | 9d5b6858ea627b5eb6115cacd870ef0277f87b2a (diff) | |
download | volse-hubzilla-6c388575022cc10f28ed99e8e414fbc76a67bb00.tar.gz volse-hubzilla-6c388575022cc10f28ed99e8e414fbc76a67bb00.tar.bz2 volse-hubzilla-6c388575022cc10f28ed99e8e414fbc76a67bb00.zip |
Repaired and extended support for help page translations including table of contents files at the top level. Moved help module javascript to mod_help.js.
Diffstat (limited to 'include/help.php')
-rw-r--r-- | include/help.php | 39 |
1 files changed, 29 insertions, 10 deletions
diff --git a/include/help.php b/include/help.php index 4f9251b1b..cbadd02d9 100644 --- a/include/help.php +++ b/include/help.php @@ -107,20 +107,39 @@ function preg_callback_help_include($matches) { } - +function determine_help_language() { + require_once('Text/LanguageDetect.php'); + $lang_detect = new Text_LanguageDetect(); + $lang_detect->setNameMode(2); + if($lang_detect->languageExists(argv(1))) { + $lang = argv(1); + $from_url = true; + } else { + $lang = \App::$language; + if(! isset($lang)) + $lang = 'en'; + $from_url = false; + } + return array('language' => $lang, 'from_url' => $from_url); +} function load_doc_file($s) { - $lang = \App::$language; - if(! isset($lang)) - $lang = 'en'; + $path = 'doc'; + $x = determine_help_language(); + $lang = $x['language']; + $url_idx = ($x['from_url'] ? 1 : 0); + if($x['from_url'] && $lang !== 'en') { + $path .= '/' . $lang; + } + $b = basename($s); - $d = dirname($s); - - if($dirname !== '-') { - $c = find_doc_file("$d/$lang/$b"); - if($c) - return $c; + + for($i=1+$url_idx; $i<argc()-1; $i++) { + $path .= '/' . argv($i); } + $c = find_doc_file($path . '/' . $b); + if($c) + return $c; $c = find_doc_file($s); if($c) return $c; |