screentinker/frontend/js/i18n
ScreenTinker 618af0811a Translate the labels that never went through t()
A title= is a tooltip the user reads and an aria-label is what a screen reader
says, but fourteen of them were hardcoded English. They were invisible to the
key checks added earlier precisely because they never call t() — so a French
user hovering the only route to workspace members read "Manage members", and a
German screen reader announced every modal's close button as "Close".

The user-visible ones matter most: the workspace switcher's Manage members and
Rename, the video wall's rename and remove, and the dashboard's select-for-wall.
All are translated into every active locale, along with the close buttons.

A test now rejects a capitalised literal in a title or aria-label, since that is
the shape this takes and nothing else catches it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uaeo9MvzKoyXuN6ZsbhtkL
2026-07-28 19:52:52 -05:00
..
de.js Translate the labels that never went through t() 2026-07-28 19:52:52 -05:00
en.js Translate the labels that never went through t() 2026-07-28 19:52:52 -05:00
es.js Translate the labels that never went through t() 2026-07-28 19:52:52 -05:00
fr.js Translate the labels that never went through t() 2026-07-28 19:52:52 -05:00
hi.js i18n: extract all strings, add 6 language translations, restructure i18n module 2026-04-29 19:25:22 -05:00
it.js Translate the labels that never went through t() 2026-07-28 19:52:52 -05:00
pt.js Translate the labels that never went through t() 2026-07-28 19:52:52 -05:00