import translations from './src/translations/index.mjs'

const langs = Object.getOwnPropertyNames(translations);

let en_keys = [...new Map(Object.entries(translations.en)).keys()];

function arrayDiff(a, b) {
  return {
    missing: a.filter(x => !b.includes(x)),
    extra: b.filter(x => !a.includes(x)),
  };
}

for (let lang_num in langs) {
  let lang = new Map(Object.entries(translations[langs[lang_num]]));
  if (lang == "en") continue;
  let lang_keys = [...lang.keys()];
  let di = arrayDiff(en_keys, [...lang.keys()])
  console.log("Language Code:", langs[lang_num])
  console.log("Language Name:", translations[langs[lang_num]]["language_name"])

  console.log("\tPercent Translated:", Math.round((en_keys.length - di.missing.length) / en_keys.length * 100))
  if (di.missing.length > 0) {
    console.log("\tMissing: ", di.missing.join(", "))
  }
  if (di.extra.length > 0) {
    console.log("\tExtra Keys (maybe deprecated, renamed or no longer exists, check git log): ", di.extra.join(", "))
  }
}