Dependency-free Bun script (bun run i18n:check, added to the linting matrix):
flags keys referenced in code but missing from en.json, and keys in en.json
referenced nowhere. Handles dynamic t(\prefix.\\) and keys stored as string
constants (exact delimited-literal match). Source-only: only en.json is
checked/edited; Crowdin syncs the other locales. Planned-feature keys are
allow-listed in scripts/i18n-keys.config.json.