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).
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.