Просмотр исходного кода

● chore(i18n): collapse informational drift to summary counts

  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.
maziggy 4 месяцев назад
Родитель
Сommit
c894899baf
1 измененных файлов с 14 добавлено и 1 удалено
  1. 14 1
      frontend/scripts/check-i18n-parity.mjs

+ 14 - 1
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)) {