| 1234567891011121314151617181920212223242526272829303132333435 | const { readdirSync, writeFileSync } = require("fs");const files = readdirSync(`${__dirname}/../src/locales`);const flatten = (object = {}, result = {}, extraKey = "") => {  for (const key in object) {    if (typeof object[key] !== "object") {      result[extraKey + key] = object[key];    } else {      flatten(object[key], result, `${extraKey}${key}.`);    }  }  return result;};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 = Math.floor((100 * translatedKeys.length) / allKeys.length);  percentages[currentLocale.replace(".json", "")] = percentage;}writeFileSync(  `${__dirname}/../src/locales/percentages.json`,  `${JSON.stringify(percentages, null, 2)}\n`,  "utf8",);
 |