From c894899bafd8d0fbeddcf2bca6d80f209b9b5d53 Mon Sep 17 00:00:00 2001 From: maziggy Date: Mon, 20 Apr 2026 11:55:18 +0200 Subject: [PATCH] =?UTF-8?q?=E2=97=8F=20chore(i18n):=20collapse=20informati?= =?UTF-8?q?onal=20drift=20to=20summary=20counts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The parity gate expansion in 8f9eb0d4 started printing the full missing-key and placeholder-mismatch lists for every informational locale on every test run, which was noisy given CI only cares about strict locales. Collapse info reports to one line per category (`fr: missing keys vs en: 74`) and keep the full lists available via VERBOSE_INFO=1 for when someone is actually catching up a locale. --- frontend/scripts/check-i18n-parity.mjs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/frontend/scripts/check-i18n-parity.mjs b/frontend/scripts/check-i18n-parity.mjs index 4b4c480dd..73447c93c 100644 --- a/frontend/scripts/check-i18n-parity.mjs +++ b/frontend/scripts/check-i18n-parity.mjs @@ -207,7 +207,20 @@ if (isMainModule) { const infoReports = reports.filter((r) => !strictSet.has(codeOf(r.label))); printReports(strictReports, '=== STRICT locales (failures below fail CI) ==='); - printReports(infoReports, '=== INFORMATIONAL locales (drift shown, does not fail CI) ==='); + // Informational locales: show per-category drift counts only, not the + // full key lists — the leaf-count table below already gives the overall + // picture. Flip VERBOSE_INFO=1 to dump the full missing-key/placeholder + // reports when actually working on translations. + if (infoReports.length) { + if (process.env.VERBOSE_INFO === '1') { + printReports(infoReports, '=== INFORMATIONAL locales (drift shown, does not fail CI) ==='); + } else { + console.error('\n=== INFORMATIONAL locales (drift summary; VERBOSE_INFO=1 for detail) ==='); + for (const { label, items } of infoReports) { + console.error(` ${label}: ${items.length}`); + } + } + } console.log('\nLocale leaf counts:'); for (const [code, map] of Object.entries(locales)) {