Added script for checking language strings.

This commit is contained in:
Mike Cao 2020-09-30 19:30:39 -07:00
parent fd69f0df24
commit b2a48b1c4c
2 changed files with 27 additions and 2 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "umami", "name": "umami",
"version": "0.64.0", "version": "0.65.0",
"description": "A simple, fast, website analytics alternative to Google Analytics. ", "description": "A simple, fast, website analytics alternative to Google Analytics. ",
"author": "Mike Cao <mike@mikecao.com>", "author": "Mike Cao <mike@mikecao.com>",
"license": "MIT", "license": "MIT",
@ -29,7 +29,8 @@
"extract-lang": "formatjs extract {pages,components}/**/*.js --out-file build/messages.json", "extract-lang": "formatjs extract {pages,components}/**/*.js --out-file build/messages.json",
"merge-lang": "node scripts/merge-lang.js", "merge-lang": "node scripts/merge-lang.js",
"format-lang": "node scripts/format-lang.js", "format-lang": "node scripts/format-lang.js",
"compile-lang": "formatjs compile-folder --ast build lang-compiled" "compile-lang": "formatjs compile-folder --ast build lang-compiled",
"check-lang": "node scripts/check-lang.js"
}, },
"lint-staged": { "lint-staged": {
"**/*.js": [ "**/*.js": [

24
scripts/check-lang.js Normal file
View File

@ -0,0 +1,24 @@
const fs = require('fs');
const path = require('path');
const chalk = require('chalk');
const messages = require('../lang/en-US.json');
const dir = path.resolve(__dirname, '../lang');
const files = fs.readdirSync(dir);
const keys = Object.keys(messages).sort();
files.forEach(file => {
if (file !== 'en-US.json') {
const lang = require(`../lang/${file}`);
console.log(chalk.yellowBright(`\n## ${file}`));
keys.forEach(key => {
const orig = messages[key];
const check = lang[key];
if (!check || check === orig) {
console.log(chalk.redBright('*'), chalk.greenBright(`${key}:`), orig);
}
});
}
});