chore(i18n): update German (de) translation#40431
Conversation
|
Bito Automatic Review Skipped - Large PR |
| 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." | ||
|
|
There was a problem hiding this comment.
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|
The provided |
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
.pofile to align with the current message catalog, removing stale entries and providing accurate German translations for the current UI strings.TESTING INSTRUCTIONS
LANGUAGES = {"de": {"flag": "de", "name": "German"}}set insuperset_config.pyADDITIONAL INFORMATION