diff options
author | 0neGal <mail@0negal.com> | 2022-01-17 14:47:03 +0100 |
---|---|---|
committer | 0neGal <mail@0negal.com> | 2022-01-17 14:47:03 +0100 |
commit | a28e3812f95fd301201733bc2e7de24bb555ddb8 (patch) | |
tree | 163d5da537e9dd35bf867ed13df7b298f34ddba2 /src/lang.js | |
parent | d92c4523ec92fb46b092308d9b1f3e38aff3a7d9 (diff) | |
download | Viper-a28e3812f95fd301201733bc2e7de24bb555ddb8.tar.gz Viper-a28e3812f95fd301201733bc2e7de24bb555ddb8.zip |
documented: index.js, cli.js, lang.js app/lang.js
Diffstat (limited to 'src/lang.js')
-rw-r--r-- | src/lang.js | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/lang.js b/src/lang.js index d404e8e..b3cbb43 100644 --- a/src/lang.js +++ b/src/lang.js @@ -1,15 +1,23 @@ const fs = require("fs"); -var lang = "en"; +var lang = "en"; // Default language + +// Loads fallback/default language strings var langDef = JSON.parse(fs.readFileSync(__dirname + `/lang/en.json`, "utf8")); + +// If settins are set it'll try to set the language to that instead of +// the default, however if it can't find it, it'll still fallback to the +// default language. This might happen as the default language is +// retrieved from the renderer's navigator.language, which may have +// languages we don't support yet. if (fs.existsSync("viper.json")) { lang = JSON.parse(fs.readFileSync("viper.json", "utf8")).lang; - if (! lang) {lang = "en"} + if (! lang) {lang = "en"} // Uses fallback, if language isn't set if (! fs.existsSync(__dirname + `/lang/${lang}.json`)) { if (fs.existsSync(__dirname + `/lang/${lang.replace(/-.*$/, "")}.json`)) { lang = lang.replace(/-.*$/, ""); } else { - lang = "en"; + lang = "en"; // Uses fallback if language doesn't exist } } } @@ -17,12 +25,14 @@ if (fs.existsSync("viper.json")) { var langObj = JSON.parse(fs.readFileSync(__dirname + `/lang/${lang}.json`, "utf8")); module.exports = (string) => { - if (langObj[string]) { + if (langObj[string]) { // Returns string from language return langObj[string]; - } else { - if (langDef[string]) { + } else { // If string doesn't exist + if (langDef[string]) { // Retrieves from default lang instead return langDef[string]; } else { + // If it's not in the default lang either, it returns the + // string, this is absolute fallback. return string; } } |