diff options
author | git-marijus <mario@mariovavti.com> | 2017-08-24 21:58:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-24 21:58:44 +0200 |
commit | 9cb856d5fd1505577fb50de299a63ef4ac7b5783 (patch) | |
tree | ad24adea25fbc6649a102f14889729661013c386 /view/js/mod_help.js | |
parent | 2d5768b71c0fa588524849749cfb0b6ffe6300b7 (diff) | |
parent | 90ec3340e44a3d3c69779f0db33ee49e864f326d (diff) | |
download | volse-hubzilla-9cb856d5fd1505577fb50de299a63ef4ac7b5783.tar.gz volse-hubzilla-9cb856d5fd1505577fb50de299a63ef4ac7b5783.tar.bz2 volse-hubzilla-9cb856d5fd1505577fb50de299a63ef4ac7b5783.zip |
Merge pull request #849 from anaqreon/doco
Added language selector menu for Help pages
Diffstat (limited to 'view/js/mod_help.js')
-rw-r--r-- | view/js/mod_help.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/view/js/mod_help.js b/view/js/mod_help.js index 0f85af462..257be67e6 100644 --- a/view/js/mod_help.js +++ b/view/js/mod_help.js @@ -71,4 +71,54 @@ $(document).ready(function () { var newref = p.protocol + '//' + p.hostname + portstr + p.pathname + p.hash.split('?').shift(); location.replace(newref) } + + + // Determine language translations available from the language selector menu itself + var langChoices = []; + $('.lang-selector').find('.lang-choice').each(function (idx, a) { + langChoices.push($(a).html()); + }); + // Parse the URL and insert the language code for the loaded language, based + // on the variable "help_language" that is declared in the help.tpl page template + var path = window.location.pathname.split('/'); + var pathParts = []; + var pick_me = true; + for (var i = 0; i < path.length; i++) { + if(i === 2 && pick_me ) { + if(path[i].length > 0) { + pathParts.push(help_language); + pick_me = false; + if($.inArray(path[i], langChoices) < 0) { + i--; + } + } + } else { + if(path[i].length > 0) { + pathParts.push(path[i]); + } + } + + } + // Update the address bar to reflect the loaded language + window.history.pushState({}, '', '/' + pathParts.join('/')); + + // Highlight the language in the language selector that is currently viewed + $('.lang-selector').find('.lang-choice:contains("' + help_language + '")').css('font-weight','bold').css('background-color','lightgray'); + + // Construct the links to the available translations based and populate the selector menu + $('.lang-selector').find('.lang-choice').each(function (idx, a) { + var langLink = []; + + for (var i = 0; i < pathParts.length; i++) { + + if(i === 1) { + langLink.push($(a).html()); + } else { + langLink.push(pathParts[i]); + } + + } + $(a).attr('href', '/' + langLink.join('/')); + }); + }); |