From 1e67672ef0d28f94a50b0377cca8e8ff2a87e983 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sun, 7 Feb 2021 12:55:24 +0100 Subject: [PATCH] Added translation sorting secript ref # --- package.json | 5 +++-- sort_translations.js | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 sort_translations.js diff --git a/package.json b/package.json index cfbd746..814da18 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "dev": "nodemon src/app.ts", "build": "rimraf ./dist && tsc", "licenses:export": "license-exporter --markdown", - "release": "release-it --only-version" + "release": "release-it --only-version", + "translations:sort": "node sort_translations.js" }, "repository": { "type": "git", @@ -80,4 +81,4 @@ "publish": false } } -} +} \ No newline at end of file diff --git a/sort_translations.js b/sort_translations.js new file mode 100644 index 0000000..1120c86 --- /dev/null +++ b/sort_translations.js @@ -0,0 +1,16 @@ +const fs = require('fs'); +// get all language files +const files = fs.readdirSync('./src/locales/'); +files.forEach((f) => { + // read file as object + const unordered = JSON.parse(fs.readFileSync(`src/locales/${f}`)); + // order object by keys alpabetically A-Z + const ordered = Object.keys(unordered).sort().reduce((obj, key) => { + obj[key] = unordered[key]; + return obj; + }, {}); + // format output as json for commit diff compatibility + const out = JSON.stringify(ordered, 0, 4); + // write output file + fs.writeFileSync(`src/locales/${f}`, out); +});