Skip to content

fix(react-spa): translate remaining hardcoded Spanish UI strings - #243

Open
jwatson2029 wants to merge 1 commit into
balejosg:mainfrom
jwatson2029:icode/english-ui
Open

fix(react-spa): translate remaining hardcoded Spanish UI strings#243
jwatson2029 wants to merge 1 commit into
balejosg:mainfrom
jwatson2029:icode/english-ui

Conversation

@jwatson2029

Copy link
Copy Markdown

Summary

A few user-facing strings in the SPA are hardcoded Spanish literals rather than
product-i18n catalog lookups, so they render in Spanish regardless of the
locale resolved by resolveProductLocale — including for en browsers.

This translates the ones that are not routed through t():

  • rules manager filter tabs — Todos / Permitidas / Bloqueadas / Inhabilitadas
    (useRulesManagerViewModel.ts)
  • hierarchical rules table headers — Estado / Acciones
    (HierarchicalRulesTable.tsx, alongside existing t() calls in the same <tr>)
  • dashboard sort options — Nombre (A-Z) / Recientes
    (useDashboardViewModel.ts, where rules already uses t('dashboard.sort.mostRules'))
  • users CSV export headers — Nombre / Estado / Roles_codigo / Estado_codigo
    (exportUsers.ts)

The es catalog in product-i18n.tsx is deliberately untouched; this only
affects literals that bypassed the i18n layer entirely.

Test expectations that asserted the previous Spanish labels are updated to match.

Happy to instead route these through new catalog keys (en + es) if you'd
prefer that over plain English literals — that felt like the larger call to make,
so I kept this change minimal and consistent with the surrounding code.

Test plan

  • npm run test:react-spa
  • npm run verify:quick
  • Load the rules manager and confirm tabs read All / Allowed / Blocked / Disabled
  • Export users CSV and confirm the header row

Made with Cursor

Several user-facing strings bypassed the product i18n layer and rendered
in Spanish regardless of the resolved locale, because they were hardcoded
literals rather than catalog lookups:

- rules manager filter tabs (Todos/Permitidas/Bloqueadas/Inhabilitadas)
- hierarchical rules table headers (Estado/Acciones)
- dashboard sort options (Nombre (A-Z)/Recientes)
- users CSV export headers (Nombre/Estado/Roles_codigo/Estado_codigo)

Test expectations asserting the previous Spanish labels are updated to
match. The es catalog in product-i18n is untouched.

Co-authored-by: Cursor <cursoragent@cursor.com>
@jwatson2029
jwatson2029 requested a review from balejosg as a code owner August 28, 2026 17:34
Copilot AI lite review requested due to automatic review settings August 28, 2026 17:34

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants