import { Utils } from "../Utils" import { AllKnownLayouts } from "../Customizations/AllKnownLayouts" import TranslatorsPanel from "../UI/BigComponents/TranslatorsPanel" import * as languages from "../assets/generated/used_languages.json" { const usedLanguages = languages.languages // Some statistics console.log( Utils.FixedLength("", 12) + " " + usedLanguages.map((l) => Utils.FixedLength(l, 6)).join("") ) const all = new Map() usedLanguages.forEach((ln) => all.set(ln, [])) for (const layoutId of Array.from(AllKnownLayouts.allKnownLayouts.keys())) { const layout = AllKnownLayouts.allKnownLayouts.get(layoutId) if (layout.hideFromOverview) { continue } const { completeness, total } = TranslatorsPanel.MissingTranslationsFor(layout) process.stdout.write(Utils.FixedLength(layout.id, 12) + " ") for (const language of usedLanguages) { const compl = completeness.get(language) all.get(language).push((compl ?? 0) / total) if (compl === undefined) { process.stdout.write(" ") continue } const percentage = Math.round((100 * compl) / total) process.stdout.write(Utils.FixedLength(percentage + "%", 6)) } process.stdout.write("\n") } process.stdout.write(Utils.FixedLength("average", 12) + " ") for (const language of usedLanguages) { const ratios = all.get(language) let sum = 0 ratios.forEach((x) => (sum += x)) const percentage = Math.round(100 * (sum / ratios.length)) process.stdout.write(Utils.FixedLength(percentage + "%", 6)) } process.stdout.write("\n") console.log( Utils.FixedLength("", 12) + " " + usedLanguages.map((l) => Utils.FixedLength(l, 6)).join("") ) }