Added unused translations counter
This commit is contained in:
41
scripts/translations/count.js
Normal file
41
scripts/translations/count.js
Normal file
@@ -0,0 +1,41 @@
|
||||
const path = require('path');
|
||||
const twoskyConfig = require('../../.twosky.json')[0];
|
||||
|
||||
const {languages} = twoskyConfig;
|
||||
const LOCALES_DIR = '../../client/src/__locales';
|
||||
const LOCALES_LIST = Object.keys(languages);
|
||||
const BASE_FILE = 'en.json';
|
||||
|
||||
const main = () => {
|
||||
const pathToBaseFile = path.join(LOCALES_DIR, BASE_FILE);
|
||||
const baseLanguageJson = require(pathToBaseFile);
|
||||
|
||||
const summary = {};
|
||||
|
||||
LOCALES_LIST.forEach((locale) => {
|
||||
const pathToFile = path.join(LOCALES_DIR, `${locale}.json`);
|
||||
if (pathToFile === pathToBaseFile) {
|
||||
return;
|
||||
}
|
||||
|
||||
let total = 0;
|
||||
let translated = 0;
|
||||
|
||||
const languageJson = require(pathToFile);
|
||||
for (let key in baseLanguageJson) {
|
||||
total += 1;
|
||||
if (key in languageJson) {
|
||||
translated += 1;
|
||||
}
|
||||
}
|
||||
|
||||
summary[locale] = Math.round(translated / total * 10000) / 100;
|
||||
});
|
||||
|
||||
console.log('Translations summary:');
|
||||
for (let key in summary) {
|
||||
console.log(`${key}, translated ${summary[key]}%`);
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
Reference in New Issue
Block a user