diff --git a/package.json b/package.json index 3f7b857..3dc15b3 100644 --- a/package.json +++ b/package.json @@ -50,13 +50,15 @@ "scripts": { "start": "npm run build-css && npm-run-all -p watch-css start-js", "start-js": "react-scripts start", - "start-fake": "node make-fake-data.js && REACT_APP_FAKE_API=1 npm run start", + "start-fake": "npm run make-fake-data && REACT_APP_FAKE_API=1 npm run start", "build": "npm-run-all build-css build-js", - "build-fake": "node make-fake-data.js && REACT_APP_FAKE_API=1 npm run build", + "build-fake": "npm run make-fake-data && REACT_APP_FAKE_API=1 npm run build", "build-js": "react-scripts build", "build-css": "node-sass-chokidar --include-path ./node_modules ./src/scss -o ./src/scss", "watch-css": "node-sass-chokidar --include-path ./node_modules ./src/scss -o ./src/scss --watch --recursive", - "update-translations": "node update-translations.js", + "update-translations": "node scripts/update-translations.js && npm run generate-language-list", + "generate-language-list": "node scripts/generate-language-list.js", + "make-fake-data": "node scripts/make-fake-data.js", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject", "format": "prettier --write \"src/**/*.js\"", diff --git a/scripts/generate-language-list.js b/scripts/generate-language-list.js new file mode 100644 index 0000000..ddb8499 --- /dev/null +++ b/scripts/generate-language-list.js @@ -0,0 +1,17 @@ +/* Pi-hole: A black hole for Internet advertisements + * (c) 2019 Pi-hole, LLC (https://pi-hole.net) + * Network-wide ad blocking via your own hardware. + * + * Web Interface + * Update languages.json with the current languages + * + * This file is copyright under the latest version of the EUPL. + * Please see LICENSE file for your rights under this license. */ + +const fs = require("fs-extra"); + +// Get the available languages +const languages = fs.readdirSync("public/i18n"); + +// Save the language list so the web interface knows what's available +fs.outputFileSync("src/languages.json", JSON.stringify(languages)); diff --git a/make-fake-data.js b/scripts/make-fake-data.js similarity index 100% rename from make-fake-data.js rename to scripts/make-fake-data.js diff --git a/update-translations.js b/scripts/update-translations.js similarity index 96% rename from update-translations.js rename to scripts/update-translations.js index 405b6fb..a830aab 100644 --- a/update-translations.js +++ b/scripts/update-translations.js @@ -166,7 +166,4 @@ getTranslatedLanguages().then(languages => { console.log(`Languages over 70% translated: ${languages.join(", ")}`); for (const lang of languages) fetchAllTags(lang); - - // Save the language list so the web interface knows what's available - fs.outputFileSync("src/languages.json", JSON.stringify(languages)); }); diff --git a/src/languages.json b/src/languages.json index a551091..21c0eb4 100644 --- a/src/languages.json +++ b/src/languages.json @@ -1 +1 @@ -["bg","ca","en","fr","de","it","pt","es","tr"] \ No newline at end of file +["bg","ca","de","en","es","fr","it","pt","tr"] \ No newline at end of file