Skip to content

fix(translations): regenerate messages.pot after the connection-move reword - #44574

Merged
EnxDev merged 1 commit into
apache:masterfrom
EnxDev:enxdev/fix/messages-pot-drift
Sep 23, 2026
Merged

EnxDev merged 1 commit into
apache:masterfrom
EnxDev:enxdev/fix/messages-pot-drift

Conversation

@EnxDev

@EnxDev EnxDev commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

SUMMARY

babel-extract is failing on master and therefore on every open PR:

superset/translations/messages.pot is out of sync with source:
1 string(s) in source are missing from the template,
1 string(s) in the template no longer exist in source.

#44036 reworded the connection-move error in superset/commands/database/exceptions.py so that it also covers OAuth2 endpoint URIs and the OAuth2 client secret, but the extraction was not re-run. The committed template kept the old wording, so scripts/translations/check_pot_drift.py sees one string in source that is not in the template and one in the template that is no longer in source. That check runs before anything else in the job, so the whole babel-extract job stops there.

Because CI builds the merge ref, this fails on PRs that do not touch Python or translations at all. It is currently red on the tip of master (7dd70ea).

The fix is the one the failure message asks for: ./scripts/translations/babel_update.sh, with the regenerated template and catalogs committed.

The only content change is that one msgid, propagated from the template into the 30 language catalogs:

 msgid ""
 "This update would change the connection's effective destination "
-"(host/port, engine parameters, or SSH tunnel endpoint) while reusing the "
-"stored credential. Provide the real password (or SSH tunnel credential) "
-"to confirm a connection move."
+"(host/port, engine parameters, SSH tunnel endpoint, or OAuth2 endpoint "
+"URIs) while reusing the stored credential. Provide the real password (or "
+"SSH tunnel credential / OAuth2 client secret) to confirm a connection "
+"move."
 msgstr ""

No translation is stranded by the reword. The string is new enough that no catalog had translated it, so every msgstr on both sides of the change is empty. The rest of the diff is the POT-Creation-Date stamp that the script rewrites in each file.

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Not applicable.

TESTING INSTRUCTIONS

python scripts/translations/check_pot_drift.py

On master this exits 1 and prints the two drifted strings. On this branch it exits 0 with superset/translations/messages.pot matches a fresh extraction.

To confirm the regeneration is reproducible rather than hand-edited, re-run the script and check that nothing changes:

./scripts/translations/babel_update.sh
git diff --stat   # only POT-Creation-Date, which is stamped with the current time

ADDITIONAL INFORMATION

  • Has associated issue:
  • Required feature flags:
  • Changes UI
  • Includes DB Migration (follow approval process in SIP-59)
    • Migration is atomic, supports rollback & is backwards-compatible
    • Confirm DB migration upgrade and downgrade tested
    • Runtime estimates and downtime expectations provided
  • Introduces new feature or API
  • Removes existing feature or API

🤖 Generated with Claude Code

…reword

apache#44036 reworded the connection-move error in
superset/commands/database/exceptions.py to cover OAuth2 endpoint URIs and
the OAuth2 client secret, but did not re-run the extraction. The committed
template kept the old wording, so check_pot_drift.py fails on every open PR:
one string in source missing from the template, one in the template no longer
in source.

Regenerated with ./scripts/translations/babel_update.sh. The only content
change is that msgid, propagated into the language catalogs; no catalog had
the old string translated, so nothing is stranded.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@bito-code-review

bito-code-review Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Agent Run #bf1905

Actionable Suggestions - 0
Additional Suggestions - 6
  • superset/translations/ar/LC_MESSAGES/messages.po - 1
    • Empty Arabic translation · Line 18400-18403
      The `msgid` was updated to match the new source string in `exceptions.py` (`DatabaseUpdateUnsafeRebindError`), but the `msgstr` on line 18404 is still empty. Arabic users will see the untranslated English message. Per BITO rules [12743]/[13343], empty `msgstr` should not be merged; add the Arabic translation for the new OAuth2 wording.
  • superset/translations/ro/LC_MESSAGES/messages.po - 1
    • Missing Romanian translation · Line 18032-18035
      The updated msgid (connection-move warning, now mentioning OAuth2 endpoint URIs) has an empty `msgstr`, so Romanian users see the untranslated English string. The msgid matches the source in `superset/commands/database/exceptions.py` (`DatabaseConnectionMoveError`). Per BITO rules [12743]/[13343], fill the `msgstr` before merge.
  • superset/translations/lv/LC_MESSAGES/messages.po - 1
    • Missing Latvian translation · Line 16861-16864
      The msgid was updated to add OAuth2 endpoint URIs / client secret, but the Latvian `msgstr` remains empty, so Latvian users see the untranslated English error. Per BITO.md rules 12743/13343, fill the `msgstr` with a verified Latvian translation before merging.
  • superset/translations/pl/LC_MESSAGES/messages.po - 1
    • Missing Polish translation · Line 18710-18713
      The msgid was updated to add OAuth2 endpoint/secret wording (matches `DatabaseUpdateUnsafeRebindError` in `commands/database/exceptions.py`), but the Polish `msgstr` is still empty, so Polish users see the English error. Per BITO rules [12743]/[13343], fill the translation before merge.
  • superset/translations/fa/LC_MESSAGES/messages.po - 1
    • Missing Persian translation · Line 17953-17956
      The updated `msgid` (matching `DatabaseTestConnectionUnsafeRebindError` in `exceptions.py:57-62`) has an empty `msgstr ""`, so Persian users will see the untranslated English error. Per BITO.md rules [13343]/[12743], fill in the Persian translation before merging.
  • superset/translations/pt_BR/LC_MESSAGES/messages.po - 1
    • Missing pt_BR translation · Line 18452-18455
      This modified msgid is a user-facing error message (`DatabaseUpdateUnsafeRebindError` in `commands/database/exceptions.py`), but its `msgstr` (line 18456) is empty, so pt_BR users see untranslated English. BITO.md rule 12743 requires complete translations for all user-facing error messages. Please fill the empty `msgstr`.
Review Details
  • Files reviewed - 31 · Commit Range: 958381c..958381c
    • superset/translations/ar/LC_MESSAGES/messages.po
    • superset/translations/ca/LC_MESSAGES/messages.po
    • superset/translations/cs/LC_MESSAGES/messages.po
    • superset/translations/de/LC_MESSAGES/messages.po
    • superset/translations/en/LC_MESSAGES/messages.po
    • superset/translations/es/LC_MESSAGES/messages.po
    • superset/translations/fa/LC_MESSAGES/messages.po
    • superset/translations/fi/LC_MESSAGES/messages.po
    • superset/translations/fr/LC_MESSAGES/messages.po
    • superset/translations/it/LC_MESSAGES/messages.po
    • superset/translations/ja/LC_MESSAGES/messages.po
    • superset/translations/ko/LC_MESSAGES/messages.po
    • superset/translations/lv/LC_MESSAGES/messages.po
    • superset/translations/messages.pot
    • superset/translations/mi/LC_MESSAGES/messages.po
    • superset/translations/nl/LC_MESSAGES/messages.po
    • superset/translations/pl/LC_MESSAGES/messages.po
    • superset/translations/pt/LC_MESSAGES/messages.po
    • superset/translations/pt_BR/LC_MESSAGES/messages.po
    • superset/translations/ro/LC_MESSAGES/messages.po
    • superset/translations/ru/LC_MESSAGES/messages.po
    • superset/translations/sk/LC_MESSAGES/messages.po
    • superset/translations/sl/LC_MESSAGES/messages.po
    • superset/translations/sr/LC_MESSAGES/messages.po
    • superset/translations/sr_Latn/LC_MESSAGES/messages.po
    • superset/translations/ta/LC_MESSAGES/messages.po
    • superset/translations/th/LC_MESSAGES/messages.po
    • superset/translations/tr/LC_MESSAGES/messages.po
    • superset/translations/uk/LC_MESSAGES/messages.po
    • superset/translations/zh/LC_MESSAGES/messages.po
    • superset/translations/zh_TW/LC_MESSAGES/messages.po
  • Files skipped - 0
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers an incremental AI Review.

  • /review full - Manually triggers a full AI Review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

@github-actions github-actions Bot added i18n Namespace | Anything related to localization i18n:spanish Translation related to Spanish language i18n:italian Translation related to Italian language i18n:french Translation related to French language i18n:chinese Translation related to Chinese language i18n:japanese Translation related to Japanese language i18n:russian Translation related to Russian language i18n:korean Translation related to Korean language i18n:dutch i18n:slovak i18n:ukrainian i18n:portuguese i18n:brazilian i18n:traditional-chinese i18n:persian i18n:czech i18n:latvian labels Sep 23, 2026
@codecov

codecov Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.99%. Comparing base (f8f293d) to head (958381c).

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #44574       +/-   ##
===========================================
+ Coverage   66.14%   80.99%   +14.85%     
===========================================
  Files        2950     2950               
  Lines      177666   177666               
  Branches    41177    41177               
===========================================
+ Hits       117509   143909    +26400     
+ Misses      57653    31045    -26608     
- Partials     2504     2712      +208     
Flag Coverage Δ
hive 36.86% <ø> (ø)
mysql 56.02% <ø> (-0.01%) ⬇️
postgres 56.03% <ø> (+<0.01%) ⬆️
presto 38.79% <ø> (ø)
python 85.30% <ø> (+28.95%) ⬆️
sqlite 55.74% <ø> (ø)
unit 77.56% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@EnxDev
EnxDev merged commit 689ab4a into apache:master Sep 23, 2026
81 checks passed
deepujain added a commit to deepujain/superset that referenced this pull request Sep 23, 2026
Upstream apache#44574 landed the messages.pot regeneration on master; the
babel-extract and unit-tests (check_pot_drift_test.py) failures on this PR
were base drift, not contributor code. Fresh CI will run against the new
merge commit with the fixed base pot.
deepujain added a commit to deepujain/superset that referenced this pull request Sep 23, 2026
Upstream apache#44574 landed the messages.pot regeneration on master; the
babel-extract failure on this PR was base drift, not contributor code.
Fresh CI will run against the new merge commit with the fixed base pot.
deepujain added a commit to deepujain/superset that referenced this pull request Sep 23, 2026
Upstream apache#44574 landed the messages.pot regeneration on master; the
babel-extract and unit-tests (check_pot_drift_test.py) failures on this PR
were base drift, not contributor code. Fresh CI will run against the new
merge commit with the fixed base pot.
deepujain added a commit to deepujain/superset that referenced this pull request Sep 23, 2026
Upstream apache#44574 landed the messages.pot regeneration on master; the
babel-extract failure on this PR was base drift, not contributor code.
Fresh CI will run against the new merge commit with the fixed base pot.
deepujain added a commit to deepujain/superset that referenced this pull request Oct 1, 2026
Upstream apache#44574 landed the messages.pot regeneration on master; the
babel-extract and unit-tests (check_pot_drift_test.py) failures on this PR
were base drift, not contributor code. Fresh CI will run against the new
merge commit with the fixed base pot.
deepujain added a commit to deepujain/superset that referenced this pull request Oct 9, 2026
Upstream apache#44574 landed the messages.pot regeneration on master; the
babel-extract and unit-tests (check_pot_drift_test.py) failures on this PR
were base drift, not contributor code. Fresh CI will run against the new
merge commit with the fixed base pot.

Signed-off-by: Deepak Jain <deepujain@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

i18n:brazilian i18n:chinese Translation related to Chinese language i18n:czech i18n:dutch i18n:french Translation related to French language i18n:italian Translation related to Italian language i18n:japanese Translation related to Japanese language i18n:korean Translation related to Korean language i18n:latvian i18n:persian i18n:portuguese i18n:russian Translation related to Russian language i18n:slovak i18n:spanish Translation related to Spanish language i18n:traditional-chinese i18n:ukrainian i18n Namespace | Anything related to localization size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants