Skip to content

chore(i18n): update German (de) translation#40431

Open
timitos wants to merge 2 commits into
apache:masterfrom
timitos:timitos/i18n-de
Open

chore(i18n): update German (de) translation#40431
timitos wants to merge 2 commits into
apache:masterfrom
timitos:timitos/i18n-de

Conversation

@timitos
Copy link
Copy Markdown

@timitos timitos commented May 26, 2026

SUMMARY

Updates the German (de) translation file (superset/translations/de/LC_MESSAGES/messages.po).

The existing translation was partially outdated and contained many fuzzy/untranslated entries. This commit refreshes the .po file to align with the current message catalog, removing stale entries and providing accurate German translations for the current UI strings.

TESTING INSTRUCTIONS

  1. Build Superset with LANGUAGES = {"de": {"flag": "de", "name": "German"}} set in superset_config.py
  2. Switch the UI language to German in the user settings
  3. Verify that previously missing or untranslated strings now appear in German
  4. No regressions expected for other locales

ADDITIONAL INFORMATION

  • Required feature flags: none
  • API changes: none
  • DB migration required: no

@timitos timitos requested review from rusackas and sfirke as code owners May 26, 2026 10:18
@dosubot dosubot Bot added the i18n:german Translation related to German language label May 26, 2026
@bito-code-review
Copy link
Copy Markdown
Contributor

bito-code-review Bot commented May 26, 2026

Bito Automatic Review Skipped - Large PR

Bito didn't auto-review this change because the pull request exceeded the line limit. No action is needed if you didn't intend for the agent to review it. Otherwise, to manually trigger a review, type /review in a comment and save.

@github-actions github-actions Bot added the i18n Namespace | Anything related to localization label May 26, 2026
Comment on lines 5298 to 5301
msgstr ""
"Die Engine-Spezifikation \"%(engine_spec)s\" unterstützt keine "
"Konfiguration über einzelne Parameter."
"Die Engine-Spezifikation \"%(engine_spec)s\" unterstützt keine Konfiguration über einzelne "
"Parameter."

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.

Suggestion: The German translation introduces a named interpolation placeholder (%(engine_spec)s) even though the source message has no placeholder at all. This causes a contract mismatch with callers: either users will see raw placeholder text in UI, or formatting code paths can break if they try to apply interpolation unexpectedly. Remove the placeholder from the translation and keep it fully literal to match the source string. [api mismatch]

Severity Level: Major ⚠️
- ⚠️ German database validation error shows raw `%(engine_spec)s` placeholder.
- ⚠️ Database connection wizard error messaging is confusing for German users.
Steps of Reproduction ✅
1. Ensure German locale is active by setting `LANGUAGES = {"de": {"flag": "de", "name":
"German"}}` in `superset_config.py` and switching the UI language to German in user
settings.

2. Trigger the database validation path that uses the message at
`superset/databases/schemas.py:13-16` by sending an API request with an engine/driver
combination that resolves to an invalid engine spec (i.e., `get_engine_spec(engine,
driver)` returns an object without `build_sqlalchemy_uri` or `parameters_schema`). This is
the `ValidationError` raised with `_( 'Engine spec "InvalidEngine" does not support being
configured via individual parameters.' )`.

3. When the validation error is surfaced in the German UI, the translation from
`superset/translations/de/LC_MESSAGES/messages.po:5298-5301` is used:

   - `msgid "Engine spec \"InvalidEngine\" does not support being configured via
   individual parameters."`

   - `msgstr "" "Die Engine-Spezifikation \"%(engine_spec)s\" unterstützt keine
   Konfiguration über einzelne " "Parameter."`

4. Because the source message has no interpolation placeholder but the German translation
introduces `%(engine_spec)s` without any value being passed for `engine_spec`, the user
sees a broken message containing the raw `%(engine_spec)s` placeholder in the German UI
instead of a correctly formatted error string.

Fix in Cursor | Fix in VSCode Claude

(Use Cmd/Ctrl + Click for best experience)

Prompt for AI Agent 🤖
This is a comment left during a code review.

**Path:** superset/translations/de/LC_MESSAGES/messages.po
**Line:** 5298:5301
**Comment:**
	*Api Mismatch: The German translation introduces a named interpolation placeholder (`%(engine_spec)s`) even though the source message has no placeholder at all. This causes a contract mismatch with callers: either users will see raw placeholder text in UI, or formatting code paths can break if they try to apply interpolation unexpectedly. Remove the placeholder from the translation and keep it fully literal to match the source string.

Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
👍 | 👎

@bito-code-review
Copy link
Copy Markdown
Contributor

The provided pr_comments.csv file appears to be empty or incomplete, as it only contains a header row and no actual comment data. Without the content of the file, I cannot validate the correctness of the flagged issue or provide a resolution. Please ensure the file contains the expected review comments for further analysis.

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

Labels

i18n:german Translation related to German language i18n Namespace | Anything related to localization size/XXL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant