diff options
author | 0neGal <mail@0negal.com> | 2022-01-19 23:48:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-19 23:48:17 +0100 |
commit | ae7de46f4748c800097f0f3c700e6525d7d7cc4f (patch) | |
tree | 5c66168894e5ad3b26e0330d24d62e1a985bea7c /src/lang.js | |
parent | 2ed4338b9608211c07c4dd620e7f3b073131388a (diff) | |
parent | cc2fcbbdba49149724de7a07415d0dee23cc57d1 (diff) | |
download | Viper-ae7de46f4748c800097f0f3c700e6525d7d7cc4f.tar.gz Viper-ae7de46f4748c800097f0f3c700e6525d7d7cc4f.zip |
Merge pull request #46 from 0neGal/documentation
Adding documentation/comments
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; } } |