1234567891011121314151617181920212223242526272829303132 |
- const { readdirSync, writeFileSync } = require("fs");
- const files = readdirSync(`${__dirname}/../src/locales`);
-
- const flatten = (object) =>
- Object.keys(object).reduce(
- (initial, current) => ({ ...initial, ...object[current] }),
- {},
- );
-
- const locales = files.filter(
- (file) => file !== "README.md" && file !== "percentages.json",
- );
-
- const percentages = {};
-
- for (let index = 0; index < locales.length; index++) {
- const currentLocale = locales[index];
- const data = flatten(require(`${__dirname}/../src/locales/${currentLocale}`));
-
- const allKeys = Object.keys(data);
- const translatedKeys = allKeys.filter((item) => data[item] !== "");
-
- const percentage = (100 * translatedKeys.length) / allKeys.length;
-
- percentages[currentLocale.replace(".json", "")] = parseInt(percentage);
- }
-
- writeFileSync(
- `${__dirname}/../src/locales/percentages.json`,
- JSON.stringify(percentages, null, 2),
- "utf8",
- );
|