mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-08 17:06:15 -08:00
ci(i18n): fail on new English-identical translations (#1793)
* ci(i18n): fail on new English-identical translations The drift check only warned about locale values identical to English, so untranslated strings kept landing. It now fails on any such value that tools/i18n/identical-en-baseline.json does not record for that locale and key. The baseline captures today's 2,015 entries: legitimately identical values (brand and technical names, language autonyms, PIN) and the existing debt. An entry only covers the English text it recorded, so copying reworded English into a locale fails too. Baseline entries that are no longer identical are reported, not fatal. `pnpm run i18n:baseline:update` rewrites the baseline deliberately; CI runs `pnpm run i18n:validate` (node tests, then the check) and never rewrites it. `--fail-on-identical` remains as a strict audit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(i18n): keep the baseline intact on failed updates and strict audits `--update-baseline` now writes nothing while any locale is unreadable or has missing or extra keys, so an incomplete translation cannot reshape the baseline. `--fail-on-identical` no longer reads the baseline it ignores, so a damaged file cannot block a strict audit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4adc3ba20f
commit
0768ae5ea2
7 files changed
+2671
-83
No files matched your search
@@ -390,8 +390,12 @@ jobs:
|
||||
- name: Typecheck Jest spec programs
|
||||
run: pnpm run typecheck:spec:test && pnpm run typecheck:spec
|
||||
|
||||
- name: Check i18n drift
|
||||
run: pnpm run i18n:check
|
||||
# Fails on missing or extra keys and on values identical to
|
||||
# English that tools/i18n/identical-en-baseline.json does not list.
|
||||
# The baseline only changes through a reviewed
|
||||
# `pnpm run i18n:baseline:update`; CI never rewrites it.
|
||||
- name: Check i18n drift and untranslated values
|
||||
run: pnpm run i18n:validate
|
||||
|
||||
# Node specs for the benchmark and journey harness (about ten
|
||||
# seconds). They live in the E2E app, which the unit coverage scope
|
||||
|
||||
Reference in new issue
Block a user