aboutsummaryrefslogtreecommitdiff
path: root/src/lang.js
blob: 3e0ca4280b795a846e8a5ea2cd74f3f954fff70e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
const fs = require("fs");

const enLang = JSON.parse(fs.readFileSync(__dirname + `/lang/en.json`, "utf8"));
let lang = "en";
var langObj = {};


function _loadTranslation() {
	if (fs.existsSync("viper.json")) {
		lang = JSON.parse(fs.readFileSync("viper.json", "utf8")).lang;
		if (! lang) {lang = "en"}
		if (! fs.existsSync(__dirname + `/lang/${lang}.json`)) {
			if (fs.existsSync(__dirname + `/lang/${lang.replace(/-.*$/, "")}.json`)) {
				lang = lang.replace(/-.*$/, "");
			} else {
				lang = "en";
			}
		}
	}
	langObj = JSON.parse(fs.readFileSync(__dirname + `/lang/${lang}.json`, "utf8"));
}


module.exports = (string) => {
	_loadTranslation();

	if (langObj[string]) {
		return langObj[string];
	} else {
		if (enLang[string]) {
			return enLang[string];
		} else {
			// If it's not in the default lang either, it returns the
			// string, this is absolute fallback.
			return string;
		}
	}
}