diff options
author | 0neGal <mail@0negal.com> | 2022-02-23 18:18:38 +0100 |
---|---|---|
committer | 0neGal <mail@0negal.com> | 2022-02-23 18:18:38 +0100 |
commit | 70309583c81622ff5f5d41e2a9b85df287792326 (patch) | |
tree | 1c798b113b19f1c5ffe68dec5b577ac79dae3cac | |
parent | 815106a3e1214196b25a380d83e826473840f948 (diff) | |
parent | e96135cbc3877423f4c6c012c5d7e09436e5b32c (diff) | |
download | Viper-70309583c81622ff5f5d41e2a9b85df287792326.tar.gz Viper-70309583c81622ff5f5d41e2a9b85df287792326.zip |
Merge 0neGal/viper into settings-page
-rw-r--r-- | src/lang.js | 44 | ||||
-rw-r--r-- | src/utils.js | 10 |
2 files changed, 30 insertions, 24 deletions
diff --git a/src/lang.js b/src/lang.js index b3cbb43..8174174 100644 --- a/src/lang.js +++ b/src/lang.js @@ -1,35 +1,37 @@ const fs = require("fs"); -var lang = "en"; // Default language +const enLang = JSON.parse(fs.readFileSync(__dirname + `/lang/en.json`, "utf8")); +let lang = ""; +var langObj = {}; -// 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"} // 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"; // Uses fallback if language doesn't exist +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"; + } } + } else { + lang = "en"; } + langObj = JSON.parse(fs.readFileSync(__dirname + `/lang/${lang}.json`, "utf8")); } -var langObj = JSON.parse(fs.readFileSync(__dirname + `/lang/${lang}.json`, "utf8")); module.exports = (string) => { - if (langObj[string]) { // Returns string from language + if (lang === "") + _loadTranslation(); + + if (langObj[string]) { return langObj[string]; - } else { // If string doesn't exist - if (langDef[string]) { // Retrieves from default lang instead - return langDef[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. diff --git a/src/utils.js b/src/utils.js index 5055a2e..2449a73 100644 --- a/src/utils.js +++ b/src/utils.js @@ -75,9 +75,9 @@ async function isGameRunning() { // // It uses isGameRunning() to ensure it doesn't run while the game is // running, as that may have all kinds of issues. -northstar_auto_updates: { +function handleNorthstarAutoUpdating() { if (!settings.autoupdate || !fs.existsSync("viper.json") || settings.gamepath.length === 0) { - break northstar_auto_updates; + return; } async function _checkForUpdates() { @@ -313,7 +313,11 @@ function updatevp(autoinstall) { } autoUpdater.on("error", (info) => {cli.exit(1)}); - autoUpdater.on("update-not-available", (info) => {cli.exit()}); + autoUpdater.on("update-not-available", (info) => { + // only check for N* updates if Viper itself has no updates + handleNorthstarAutoUpdating(); + cli.exit(); + }); autoUpdater.checkForUpdatesAndNotify(); } |