Skip to content

Translate the connector tools and tool editor (DE, IT) - #1326

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

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

Conversation

@sapatmohit

Copy link
Copy Markdown
Contributor

Summary

Fifth area of #1271, second half: the tools section of the connector page (/connectors/[id]) and the tool editor in German and Italian. It follows #1325 (the rest of the page). No behaviour changes, and Accept-Language: en-US renders exactly what it rendered before.

Changes

  • app/connectors/[id]/page.tsx, the tools section:
    • the header buttons (import, import from spec, discover from MCP server, add tool);
    • the import panel: source buttons, the prose placeholders, the OData service path and entity sets, the URL field, the HAR file field with its help, status and errors, and the import button;
    • the tool cards: status badges and their tooltips, the parameter/query/body/header counts, and the Test, Edit, Hints, Enable/Disable, Proxy and Delete buttons;
    • "Show full SQL" / "Show full path" on long endpoints;
    • the playground: env-filled note, input, run button, result line, mapped/raw switch, mapping-failure warning, error-kind prefixes and the empty state;
    • the tool messages: tool created/updated, "Running your first tool call…", import failures, toggle errors, and the two "Authorization failed" messages that Translate the connector page (DE, IT) #1325 missed.
  • components/tool-editor/index.tsx:
    • the whole editor: header, name/description, tool type (the per-connector-type call names), the GraphQL/SQL/SOAP/REST endpoint fields;
    • request body modes and their help;
    • the parameter table: column headers, the phone labels, "Maps To" targets, required/remove, query key and header name overrides;
    • cache TTL and the mapping preview.
  • components/tool-editor/response-mapping-panel.tsx: modes, the template/exclude/JMESPath fields and their help, fallback and size limit, the preview button, its tooltip and its results.
  • components/tool-annotations-editor.tsx: the four hints with their help, the Auto/Yes/No options, "Advertised to clients", save/reset and the messages. The message colour used to be picked with msg.startsWith('Error'), which only works in English, so it's now a separate error flag.
  • messages/{en,de,it}.json:
    • new namespaces connectorTools (93 keys), toolEditor (77), responseMapping (25) and toolAnnotations (26);
    • one new connectorDetail.msg.authorizationFailed key.
  • "Testa" → "Verifica": the Italian connector Test button is now "Verifica", as suggested in Translate the connector page (DE, IT) #1325. The healthcheck hint that names the button follows. "Testa la connessione" on the connectors list is unchanged.
  • Loop variables named t became x/target so they don't shadow the translator. The deprecation date and the mapping sample date now follow the UI language, as in Translate the connector page (DE, IT) #1325.

Left in English on purpose:

  • Text from the server: error messages, test hints and notes, tool names and descriptions. Also the import result message and the notices withImportNotice/withSecretsNotice append in lib/api.ts, which are shared with the setup and new-connector pages.
  • Values saved with the tool: the default "Path parameter: …" description and the default file parameter description go to the AI model, not the UI.
  • Technical names:
    • HTTP methods and the static/query/mutation/invoke/odata_* method values;
    • the JSON Schema types (string, number, …);
    • content types (application/json, …), JMESPath, OpenAPI / Swagger, WSDL, the env badge on a parameter, Proxy;
    • $metadata, $param, {{VAR}}, {{amcp.*}};
    • the code examples in placeholders and "Insert example" (cURL, JSON definitions, GraphQL, SQL, the mapping templates).
  • "Save all as HAR" and "Network" in the HAR help, because they're the browser's own menu names.

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", "Tool" / "strumento". Strings I'm least sure about:

  • "Response-Mapping" / "Mapping della risposta" and "Body-Mapping" / "Mapping del body": I kept "Mapping" as the technical term.
  • Hints: "Hinweise" in German. Italian keeps "Hint", as "Suggerimenti" read like UI tips.
  • The Italian tool Test button is "Prova" (try it), so it doesn't look like the connector's "Verifica". "Run Test" is "Esegui test".
  • Column headers in the parameter table, kept short to fit:
    • "Maps To" is "Ziel" / "Destinazione";
    • "Req" is "Pfl." / "Obbl.".
  • "Open world": "Offene Welt" / "Mondo aperto", literal translations of the MCP term.
  • "Rate limited" / "Upstream error" prefixes: "Ratenlimit erreicht" / "Fehler der API" and "Limite di frequenza raggiunto" / "Errore dell'API".
German Italian
Tool list, hints and playground
Import panel
Tool editor

Type

  • New feature

Testing

3 new tests in tests/e2e/i18n.spec.ts, with a mocked REST connector that has one tool and its annotations:

  • de-DE: the tools section, the playground and the tool editor (including the response mapping panel) render in German.
  • it-IT: the "Verifica" button, the import panel with the HAR help, and the hints editor render in Italian.
  • en-US: the tools section, the import panel, the hints editor and the tool editor stay exactly as before.

The key-parity test from #1248 covers the new keys. I also checked that every German and Italian message parses and uses the same placeholders and tags as the English one.

Directory Command Result
packages/frontend npm run lint 0 errors, 46 warnings (same as main, none new)
packages/frontend npx tsc --noEmit -p tsconfig.json pass
packages/frontend npm run build pass
packages/frontend npm run test:e2e 297 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 tools section and the editor 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 was rewritten by next dev locally and is left out, as AGENTS.md asks.

Related Issues

Part of #1271 (Connector detail, second half). After this, the remaining areas are settings and admin, and knowledge graph and memory.

Part of HelpCode-ai#1271. Second half of the connector detail area: the tools section of /connectors/[id] (import panel, tool list, playground), the tool editor, the response mapping panel and the tool hints editor. 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. Reviewed: the change is limited to message keys (EN/DE/IT) and t() calls; renaming the inner t variables to x avoids shadowing the translator. Code examples in placeholders stay untranslated, as they should. No logic or API changes. Merging.

@helpcodeai
helpcodeai enabled auto-merge (squash) October 29, 2026 15:44
@helpcodeai
helpcodeai merged commit 6e23fbe into HelpCode-ai:main Oct 29, 2026
14 checks passed
@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