#15586·activepieces

[BUG] Auth fields of pieces with multiple auth methods are never translated

Author: bst1nCreated Sep 16, 2026Updated Sep 17, 2026
Labels🐛 bug🧩 area/third-party-pieces🛟 support

Problem

When a piece declares several auth methods (auth: [authA, authB]), none of its connection texts are translated: auth descriptions, field labels and field descriptions stay in English in every locale.

They are missing from the piece's src/i18n/translation.json, so they never reach Crowdin. Example: Umami (umamiAuth = [selfHostedAuth, cloudAuth]) still defines Instance URL, Username, Password, API Key and their descriptions in lib/auth.ts, but the generator dropped them from translation.json in #12530. Same for Slack, SavvyCal and Google Sheets: none of their auth texts are in their translation.json.

Root cause

pieceTranslation.pathsToValuesToTranslate in packages/pieces/framework/src/lib/i18n.ts only walks a single auth object (auth.props.*.displayName, auth.description, …). When auth is an array, these paths resolve to undefined, so nothing is found.

Both sides rely on these paths:

  • extraction: generateTranslationFileFromPiece in packages/cli/src/lib/commands/generate-translation-file-for-piece.ts
  • display: pieceTranslation.translatePiece

Adding the keys to Crowdin by hand would therefore not help either.

Affected pieces (30)

amazon-bedrock, amazon-s3, amazon-secrets-manager, aws-bedrock, baremetrics, clicdata, digital-ocean, fathom, getresponse, github, gmail, google-bigquery, google-calendar, google-docs, google-drive, google-forms, google-sheets, hubspot, intercom, klaviyo, mistral-ai, notion, savvycal, sendgrid, sign-now, slack, snowflake, teable, tenzo, umami

Expected

Each entry of an auth array is extracted and translated like a single auth. There is also no path for auth.displayName, which is what labels each method when a piece offers several.

Related: #13530

Source: activepieces/activepieces