mirror of
https://github.com/umami-software/umami.git
synced 2025-12-06 01:18:00 +01:00
41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
/* eslint-disable no-console */
|
|
import fs from 'node:fs';
|
|
import path from 'node:path';
|
|
import chalk from 'chalk';
|
|
import { createRequire } from 'module';
|
|
|
|
const require = createRequire(import.meta.url);
|
|
const messages = require(path.resolve(process.cwd(), 'src/lang/en-US.json'));
|
|
const ignore = require(path.resolve(process.cwd(), 'lang-ignore.json'));
|
|
const dir = path.resolve(process.cwd(), 'lang');
|
|
const files = fs.readdirSync(dir);
|
|
const keys = Object.keys(messages).sort();
|
|
const filter = process.argv?.[2];
|
|
|
|
files.forEach(file => {
|
|
if (file !== 'en-US.json') {
|
|
const lang = require(`../lang/${file}`);
|
|
const id = file.replace('.json', '');
|
|
|
|
if (filter && filter !== id) {
|
|
return;
|
|
}
|
|
|
|
console.log(chalk.yellowBright(`\n## ${file.replace('.json', '')}`));
|
|
let count = 0;
|
|
keys.forEach(key => {
|
|
const orig = messages[key];
|
|
const check = lang[key];
|
|
const ignored = ignore[id] === '*' || ignore[id]?.includes(key);
|
|
|
|
if (!ignored && (!check || check === orig)) {
|
|
console.log(chalk.redBright('*'), chalk.greenBright(`${key}:`), orig);
|
|
count++;
|
|
}
|
|
});
|
|
|
|
if (count === 0) {
|
|
console.log('**Complete!**');
|
|
}
|
|
}
|
|
});
|