aboutsummaryrefslogtreecommitdiff
path: root/src/lang.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/lang.js')
-rw-r--r--src/lang.js24
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];