Skip to content

fix(settings): translate hardcoded strings in org-connect page - #5382

Open
pedrofrxncx wants to merge 1 commit into
mainfrom
fix/i18n-org-connect-hardcoded-strings-w3
Open

fix(settings): translate hardcoded strings in org-connect page#5382
pedrofrxncx wants to merge 1 commit into
mainfrom
fix/i18n-org-connect-hardcoded-strings-w3

Conversation

@pedrofrxncx

@pedrofrxncx pedrofrxncx commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

Source: i18n-coverage-audit focus area — the apps/web/src/views/settings/org-connect.tsx view (Settings > Connections, the "connect to clients" page reached via apps/web/src/routes/orgs/settings/connect.tsx) had zero i18n coverage: every JSX label, tab, button, toast, and confirm-dialog string was hardcoded English, so pt-BR users saw untranslated UI across the entire page.

Payoff: this is a real, visible i18n gap for a page every org visits to connect Claude Code/Cursor/Codex/Claude Desktop clients — pt-BR users currently see raw English strings mixed in with the rest of a translated Settings section.

What changed:

  • Added a new settings.orgConnect.* key group (28 keys) to apps/web/src/i18n/en/settings.ts and its pt-BR mirror in apps/web/src/i18n/pt-br/settings.ts (the satisfies Record<keyof typeof settingsEn, string> check keeps them in sync at compile time).
  • Replaced every hardcoded string in org-connect.tsx (tab labels, descriptions, button text, toasts, the revoke confirm dialog, and the client-name list) with t(...) calls via useT(). The CLIENTS array now carries a labelKey: TranslationKey instead of a raw label: string.
  • No behavior change: same strings, same interpolation values ({client}, {error}, {date}, {name}), just routed through the i18n dictionary.

How to verify: open Settings > Connections with the language preference set to Portuguese (usePreferences() / browser language) and confirm the whole page — tabs, descriptions, buttons, toasts — renders in Portuguese instead of a mix of English and Portuguese.

Checks run locally: bun run fmt (clean), cd apps/web && bunx tsc --noEmit (clean, confirms the satisfies Record<...> mirror check passes and no consumer still references the old label field on CLIENTS). No existing test covers this file. Full CI (lint, full test suite) validates the rest.


Summary by cubic

Translated all hardcoded strings on Settings > Connections (org-connect) to the i18n system. pt-BR users now see a fully localized page; no behavior changes.

  • Bug Fixes
    • Added settings.orgConnect.* keys to the en and pt-br dictionaries, kept in sync via a compile-time mirror check.
    • Replaced all hardcoded UI strings in apps/web/src/views/settings/org-connect.tsx with t(...) via useT(). CLIENTS now uses labelKey for localized labels.

Written for commit 67e27af. Summary will update on new commits.

Review in cubic

The org-connect settings view (Settings > Connections, connect-to-clients
page) had zero i18n coverage — every label, button, tab, toast, and confirm
dialog was a hardcoded English string, so pt-BR users saw untranslated UI
throughout the whole page.
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.

1 participant