Skip to content

Translate the connector page (DE, IT) - #1325

Merged
helpcodeai merged 2 commits into
HelpCode-ai:mainfrom
sapatmohit:feat/i18n-connector-detail
Oct 29, 2026
Merged

helpcodeai merged 2 commits into
HelpCode-ai:mainfrom
sapatmohit:feat/i18n-connector-detail

Conversation

@sapatmohit

Copy link
Copy Markdown
Contributor

Summary

Fifth area of #1271, first half: the connector page (/connectors/[id]) in German and Italian, without its tools section. No behaviour changes, and Accept-Language: en-US renders exactly what it rendered before.

Splitting the area: like Connectors, connector detail is two PRs. The page is about 2,400 lines and the tool editor another 1,600, so together they would be over 4,000 lines. Both are under #1271 and come one at a time:

  1. This PR: the page itself, without the tools section.
  2. Next: the tools section (import panel, tool list, playground) with components/tool-editor/* and components/tool-annotations-editor.tsx.

Changes

  • app/connectors/[id]/page.tsx:
    • the header actions (Test, Edit/Cancel, Export as JSON/YAML, Delete) and the delete dialog (both variants);
    • the status pill and the message box;
    • the test-result prefixes and the SSRF allowlist link;
    • the catalog update card;
    • the Connector Details card, in view mode and in edit mode for every auth type: API key, bearer, basic, WS-Security, OAuth 2.0 (grants, token endpoint auth, PKCE), OAuth 1.0a and login → token. Also the database access mode, denied tables, the OData/SAP fields, the healthcheck path and the instructions;
    • the OAuth2 and Shopee authorization cards;
    • the environment variables card;
    • the danger zone;
    • the page's own messages: OAuth callback results, auth validation errors, export, spec import, catalog update, environment variables saved, authorization and discovery failures.
  • components/user-credentials-card.tsx: the shared or per-user sign-in card and its confirmation dialog. It's used only on this page.
  • messages/{en,de,it}.json: new namespaces connectorDetail and userCredentials, with 191 keys each.
  • Auth type label: the view mode now uses useAuthTypeLabel from Translate the connector list and marketplace (DE, IT) #1303, so it matches the connector cards.
  • Dates: "Created" and "connected since" now follow the UI language instead of the browser's. For en-US they're unchanged.

Left in English on purpose:

  • Text from the server and the catalog: error messages, warnings, the adapter's Markdown instructions, health and test messages.
  • Technical names: Client ID, Client Secret, Token URL, Scopes, Bearer Token, Consumer Key/Secret, WS-Security, PasswordText/PasswordDigest, OAuth 1.0a, sap-client, POST/GET, and the example values in placeholders.
  • The tools section and its messages (HAR import, tool created/updated, tool toggles), for the next PR.

Self-hosted vs Cloud: frontend only, with no backend, database or ee/ change.

Translations

German and Italian aren't my native languages, so please review those strings. I kept the tone and terms from the earlier PRs: German with Sie, Italian with tu, "Connector" / "connettore", "KI-Client" / "client AI", "API-Schlüssel" / "Chiave API". Strings I'm least sure about:

  • The healthcheck hint: it names our own Test button, so it says „Testen“ / "Testa" where English says "Test connection".
  • Catalog update list labels: "Aktualisiert / Neu / Deaktiviert" and "Aggiornati / Nuovi / Disattivati", and "Ihre eigenen, bleiben unverändert" / "I tuoi, lasciati come sono".
  • "Leave empty to keep current": shortened to "Leer lassen zum Beibehalten" / "Lascia vuoto per mantenerlo" so it fits the half-width credential fields.
  • The OAuth grant names: kept mostly as the OAuth terms, as in Translate the connector setup and new connector pages (DE, IT) #1318.
  • "Gesperrte Tabellen" / "Tabelle bloccate" for "Denied tables".
German Italian
Header
Edit mode
Environment variables and danger zone

Type

  • New feature

Testing

3 new tests in tests/e2e/i18n.spec.ts, with a mocked REST connector using an API key:

  • de-DE: the page renders in German in view mode, the environment variables editor, edit mode (labels and the "keep current" placeholder), the danger zone and the delete dialog.
  • it-IT: the page renders in Italian, including edit mode and the danger zone.
  • en-US: everything stays exactly as before, including the delete dialog text.

The key-parity test from #1248 covers the new keys. The existing specs for this page (environment variables, OAuth grant and completion, OAuth 1.0a editing, export/import, catalog update preview) all still pass. I measured the page at 1280 px in German, Italian and English, and none of them overflows.

Directory Command Result
packages/frontend npm run lint 0 errors, 46 warnings (49 on main; three setState-in-effect warnings on this page no longer fire, none new)
packages/frontend npx tsc --noEmit -p tsconfig.json pass
packages/frontend npm run build pass
packages/frontend npm run test:e2e 294 passed, incl. the 3 new ones

The backend isn't touched, so I didn't rerun its suite.

  • Added/updated tests
  • Tested manually. I checked the page in German and Italian in the browser with mocked API data (the screenshots above), not against a live backend.

Checklist

  • My code follows the existing code style
  • I have tested my changes locally
  • I have updated documentation (if applicable). Not needed: CONTRIBUTING's "Translating the UI" section already covers new namespaces.
  • All existing tests pass (frontend; backend unchanged)
  • This PR has a descriptive title

packages/frontend/AGENTS.md and next-env.d.ts were rewritten by next dev locally and are left out, as AGENTS.md asks.

Related Issues

Part of #1271 (Connector detail, first half)

Part of HelpCode-ai#1271. First half of the connector detail area: the page itself without the tools section, which follows in the next PR. English output is unchanged.

@helpcodeai helpcodeai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks @sapatmohit, this is a careful one. I checked:

  • The changes are text only: every removed English literal from the page is in en.json verbatim, the t → v renames remove the shadowing, and the only other changes are useAuthTypeLabel and toLocaleDateString(locale).
  • connectorDetail (167 keys) and userCredentials (24) have the same keys and placeholders in all three languages; perUserBody keeps its ICU select in each.
  • German and Italian read well and match the earlier PRs: Sie / tu, "Connector" / "connettore", "SAP-Mandant" / "Mandante SAP", "Gesperrte Tabellen" / "Tabelle bloccate". "Leer lassen zum Beibehalten" and "Lascia vuoto per mantenerlo" are fine for the half-width fields.

One optional nit for a later PR, not blocking: as a standalone button, Italian "Testa" can read as the noun ("head"). "Verifica" would be unambiguous, but "Testa la connessione" is already used on the connectors list, so keeping it consistent is fine for now.

I'll bring the branch up to date with main and merge once CI is green. Looking forward to the tools section.

@helpcodeai
helpcodeai merged commit 31fd2ef into HelpCode-ai:main Oct 29, 2026
14 checks passed
@helpcodeai

Copy link
Copy Markdown
Contributor

Merged, thanks @sapatmohit! It's on main now. The DE/IT UI isn't shipped to AnythingMCP Cloud yet: the translations go out together once #1271 is complete.

@github-actions github-actions Bot locked and limited conversation to collaborators Oct 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants