ci(i18n): detect unused & missing translation keys + clean en.json key debt

Rebased onto develop (post #1663 sentence-case pass). Adds a dependency-free
Bun checker (bun run i18n:check) wired into the lint matrix: flags keys used in
code but missing from en.json, and keys present in en.json but referenced
nowhere. Source-only - only en.json is checked/edited; Crowdin syncs the other
locales.

en.json: +8 missing source keys, -86 dead keys. Planned-feature keys kept and
allow-listed with tracking issues:
- home.settings.other.show_large_home_carousel (#1702 native media-bar)
- home.settings.logs.delete_all_logs (#1703 iOS logs fix)
- home.suggested_episodes (#1704)

login: point the TV password modal at the existing login.login_button instead
of a redundant login.login alias.
This commit is contained in:
Gauvino
2026-06-08 13:04:52 +02:00
parent a242ff69fd
commit 840b81cded
6 changed files with 334 additions and 107 deletions

View File

@@ -22,6 +22,8 @@
"lint": "biome check --write --unsafe --max-diagnostics 1000",
"format": "biome format --write .",
"doctor": "expo-doctor",
"i18n:check": "bun scripts/check-i18n-keys.mjs",
"i18n:fix-unused": "bun scripts/check-i18n-keys.mjs --fix-unused",
"test": "bun run typecheck && bun run lint && bun run format && bun run doctor",
"postinstall": "patch-package"
},