Commit Graph

2 Commits

Author SHA1 Message Date
Gauvino
959b9fc1fb chore(i18n): document allow-list groups + the static-only MISSING check
Addresses review nits on the lean PR:
- expand _ignoreUnusedNote to explain why the watchlists.*/pin.*/player.* keys
  are exempt (planned features, not yet wired), alongside the three tracked by
  issues #1702/#1703/#1704.
- note that MISSING validation only covers static t()/i18nKey keys; a key stored
  as a bare string constant and resolved via t(variable) is treated as used but
  its existence is not checked (static analysis cannot resolve runtime keys).
2026-06-08 16:50:50 +02:00
Gauvino
840b81cded 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.
2026-06-08 13:04:52 +02:00