diff options
Diffstat (limited to 'src/lang.js')
-rw-r--r-- | src/lang.js | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/lang.js b/src/lang.js index 041ef35..f2fab3a 100644 --- a/src/lang.js +++ b/src/lang.js @@ -5,13 +5,24 @@ let lang = ""; var langObj = {}; -function _loadTranslation() { +function _loadTranslation(forcedlang) { if (fs.existsSync("viper.json")) { - opts = JSON.parse(fs.readFileSync("viper.json", "utf8")); + // Validate viper.json + let opts = { + lang: "en", + autolang: true, + } + + try { + opts = JSON.parse(fs.readFileSync("viper.json", "utf8")); + }catch (e) {} + lang = opts.lang; if (! lang) {lang = "en"} + if (forcedlang) {lang = forcedlang} + if (opts.autolang == false) { lang = opts.forcedlang; if (! lang) {lang = "en"} @@ -32,9 +43,14 @@ function _loadTranslation() { } -module.exports = (string) => { - if (lang === "") +module.exports = (string, forcedlang) => { + if (lang === "") { _loadTranslation(); + } + + if (forcedlang) { + _loadTranslation(forcedlang); + } if (langObj[string]) { return langObj[string]; |