diff --git a/extra/update-language-files/.gitignore b/extra/update-language-files/.gitignore deleted file mode 100644 index 410c913ca..000000000 --- a/extra/update-language-files/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -package-lock.json -test.js -languages/ diff --git a/extra/update-language-files/index.js b/extra/update-language-files/index.js deleted file mode 100644 index 415f7b00b..000000000 --- a/extra/update-language-files/index.js +++ /dev/null @@ -1,105 +0,0 @@ -// Need to use ES6 to read language files - -import fs from "fs"; -import util from "util"; - -/** - * Copy across the required language files - * Creates a local directory (./languages) and copies the required files - * into it. - * @param {string} langCode Code of language to update. A file will be - * created with this code if one does not already exist - * @param {string} baseLang The second base language file to copy. This - * will be ignored if set to "en" as en.js is copied by default - * @returns {void} - */ -function copyFiles(langCode, baseLang) { - if (fs.existsSync("./languages")) { - fs.rmSync("./languages", { - recursive: true, - force: true, - }); - } - fs.mkdirSync("./languages"); - - if (!fs.existsSync(`../../src/languages/${langCode}.js`)) { - fs.closeSync(fs.openSync(`./languages/${langCode}.js`, "a")); - } else { - fs.copyFileSync(`../../src/languages/${langCode}.js`, `./languages/${langCode}.js`); - } - fs.copyFileSync("../../src/languages/en.js", "./languages/en.js"); - if (baseLang !== "en") { - fs.copyFileSync(`../../src/languages/${baseLang}.js`, `./languages/${baseLang}.js`); - } -} - -/** - * Update the specified language file - * @param {string} langCode Language code to update - * @param {string} baseLangCode Second language to copy keys from - * @returns {void} - */ -async function updateLanguage(langCode, baseLangCode) { - const en = (await import("./languages/en.js")).default; - const baseLang = (await import(`./languages/${baseLangCode}.js`)).default; - - let file = langCode + ".js"; - console.log("Processing " + file); - const lang = await import("./languages/" + file); - - let obj; - - if (lang.default) { - obj = lang.default; - } else { - console.log("Empty file"); - obj = { - languageName: "", - }; - } - - // En first - for (const key in en) { - if (!obj[key]) { - obj[key] = en[key]; - } - } - - if (baseLang !== en) { - // Base second - for (const key in baseLang) { - if (!obj[key]) { - obj[key] = key; - } - } - } - - const code = - "export default " + - util.inspect(obj, { - depth: null, - }); - - fs.writeFileSync(`../../src/languages/${file}`, code); -} - -// Get command line arguments -const baseLangCode = process.env.npm_config_baselang || "en"; -const langCode = process.env.npm_config_language; - -// We need the file to edit -if (langCode == null) { - throw new Error("Argument --language= must be provided"); -} - -console.log("Base Lang: " + baseLangCode); -console.log("Updating: " + langCode); - -copyFiles(langCode, baseLangCode); -await updateLanguage(langCode, baseLangCode); -fs.rmSync("./languages", { - recursive: true, - force: true, -}); - -console.log("Done. Fixing formatting by ESLint..."); diff --git a/extra/update-language-files/package.json b/extra/update-language-files/package.json deleted file mode 100644 index c7295175a..000000000 --- a/extra/update-language-files/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "update-language-files", - "type": "module", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "ISC" -} diff --git a/package.json b/package.json index 41f14d31a..4b95ba410 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,6 @@ "simple-mongo": "docker run --rm -p 27017:27017 mongo", "simple-postgres": "docker run --rm -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres", "simple-mariadb": "docker run --rm -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mariadb# mariadb", - "update-language-files": "cd extra/update-language-files && node index.js && cross-env-shell eslint ../../src/languages/$npm_config_language.js --fix", "release-final": "node ./extra/release/final.mjs", "release-beta": "node ./extra/release/beta.mjs", "release-nightly": "node ./extra/release/nightly.mjs", diff --git a/src/lang/en.json b/src/lang/en.json index 5ec8c7dd6..585db61fe 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -39,6 +39,9 @@ "General Monitor Type": "General Monitor Type", "Passive Monitor Type": "Passive Monitor Type", "Specific Monitor Type": "Specific Monitor Type", + "monitorTypeGameServer": "Game Server", + "monitorTypeDatabase": "Database Monitor Type", + "monitorTypeSpecial": "Special", "markdownSupported": "Markdown syntax supported. If using HTML, avoid leading spaces to prevent formatting issues.", "pauseDashboardHome": "Pause", "Pause": "Pause", diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue index 306520e67..9836fb79e 100644 --- a/src/pages/EditMonitor.vue +++ b/src/pages/EditMonitor.vue @@ -35,18 +35,12 @@ class="form-select" data-testid="monitor-type-select" > + - + - - - - - - + + + + @@ -73,29 +72,43 @@ + - - + + + - - - - - - - + + + + + + + + + + + + + + + + + + +