2020-07-19 13:40:27 +00:00
|
|
|
const base = require("./base")
|
|
|
|
|
|
|
|
class Lang {
|
|
|
|
constructor() {
|
|
|
|
/** @type {Map<string, import("./base")>} */
|
|
|
|
this.backing = new Map()
|
|
|
|
|
|
|
|
this.backing.set("base", require("./base"))
|
|
|
|
|
2020-07-27 14:48:36 +00:00
|
|
|
for (const code of ["en", "en-us", "it", "fa"]) {
|
2020-07-19 13:40:27 +00:00
|
|
|
// Assign lang
|
|
|
|
const data = require(`./${code}`)
|
|
|
|
this.backing.set(code, data)
|
|
|
|
// Check properties
|
|
|
|
for (const key of Object.keys(base)) {
|
2020-07-27 15:31:21 +00:00
|
|
|
if (!key.startsWith("meta_") && (!data[key] || data[key] === base[key])) {
|
2020-07-19 13:40:27 +00:00
|
|
|
console.log(`[!] [${code}] ${key} was not replaced`)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {string} code
|
|
|
|
*/
|
|
|
|
get(code) {
|
|
|
|
if (this.backing.has(code)) {
|
|
|
|
// console.log(`[.] Getting language code ${code}`)
|
|
|
|
return this.backing.get(code)
|
|
|
|
} else {
|
|
|
|
console.log(`[!] WARNING: tried to get missing language code ${code}`)
|
|
|
|
return this.backing.get("base")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
const lang = new Lang()
|
|
|
|
|
|
|
|
module.exports = lang
|