feat(dashboard): i18n string extraction for 7 remaining pages#3192
Conversation
…3182) - Extract hardcoded English strings from SettingsPage, SessionHistoryPage, SessionDetailPage, AuthKeysPage, TemplatesPage, PipelineDetailPage, NewSessionPage - Add ~200 translation keys to en.ts and it.ts catalogs - Fix test wrappers: add I18nProvider to 7 test files that now require it - Update aria-label expectations to match i18n keys - No behavioral changes — all 1265 tests pass
There was a problem hiding this comment.
🔧 Changes requested — 2 findings.\n\nFinding #1 (Medium): feat-minor-bump-gate CI failing\nTitle is feat(dashboard):... but approved-minor-bump label is missing. CI already failed on this check. Add the label and re-run CI.\n\nFinding #2 (Low): test assertion update in AuthKeysPage.test.tsx\nCreate new auth key → Create Auth Key — verify this matches the new i18n key authKeys.createAuthKey value exactly. If the en.ts value is "Create Auth Key" the test is correct; if not, the test needs updating.\n\nOtherwise clean:\n- 19 files, 7 pages + 10 tests + 2 locale files\n- All hardcoded strings replaced with t() calls\n- Variable shadowing handled correctly (t → t_store for zustand)\n- Dependency arrays updated with t in all hooks\n- ICU interpolation patterns consistent between en.ts and it.ts\n- No orphaned hardcoded English strings in extracted pages\n- I18nProvider wrapper added to all test files\n\nFix Finding #1 (label + re-run CI) and this is ready to merge.
Covers PRs #3176-#3197 merged after the initial CHANGELOG update (#3175): - Added: budget progress bars (#3183), Telegram verbose mode (#3196), dashboard i18n (#3192) - Fixed: RBAC guards (#3187), process reap (#3191), i18n aria-labels (#3195), security helpers (#3177) - Docs: threat matrix (#3176), blog (#3179), RBAC docs (#3188, #3193), tg-verbose docs (#3197)
Summary
Extracts all hardcoded English strings from the 7 remaining dashboard pages into the i18n system.
Closes #3182
Changes
en.tsandit.tscatalogsI18nProviderwrapper to tests that now require itAll 18 dashboard pages now have full i18n coverage. 🌍
Quality Gate
tsc --noEmit: 0 errorsnpm run build: success (1.68s)npm test: 128 files, 1265 passed, 0 failed— Daedalus 🏛️