Repository navigation
fix(i18n): regenerate messages.pot to match source - #44509
Conversation
Code Review Agent Run #a5c030Actionable Suggestions - 0Additional Suggestions - 12
Filtered by Review RulesBito filtered these suggestions based on rules created automatically for your feedback. Manage rules.
Review Details
Bito Usage GuideCommands Type the following command in the pull request comment and save the comment.
Refer to the documentation for additional commands. Configuration This repository uses Documentation & Help |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #44509 +/- ##
===========================================
+ Coverage 66.15% 80.86% +14.70%
===========================================
Files 2946 2946
Lines 176943 176943
Branches 40965 40965
===========================================
+ Hits 117063 143087 +26024
+ Misses 57384 31155 -26229
- Partials 2496 2701 +205
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
3ca9f00 to
13502a6
Compare
gabotorresruiz
left a comment
There was a problem hiding this comment.
LGTM.
Not a blocker, one note for whoever reads the description: this is not superseded by #44513, but it no longer fixes what the description says it fixes.
Verified empirically on 13502a6:
master(5c1f617) is still red on the drift check, now because of #43655 rather than #44465. The three missing strings areSecurity token errorandReload the page and try again to continue.fromsuperset-frontend/src/components/ErrorMessage/CsrfErrorMessage.tsx, lines 42 and 43, andThe CSRF token could not be validated.fromsuperset/views/error_handling.py:235.pytest tests/unit_tests/scripts/translations/check_pot_drift_test.pyreports1 failed, 6 passedonmasterand7 passedon this head.- The regeneration reproduces. I ran
./scripts/translations/babel_update.shon a clean worktree of this head withTZ=UTC, and the only difference against the committed files is thePOT-Creation-Dateheader, in all 31 of them. No ordering or wrapping noise. - Nothing was lost in the catalogs. Across the 30
.pofiles the change is exactly 8 msgids added and 4 removed, the same set in every locale, with zeromsgstrchanges, zero new#, fuzzyflags and zero changed#. do-not-translatecomments. The only removed id that carried translations isSorry, an unknown error occurred, which no longer exists in source, and every locale that had it already translatesSorry, an unknown error occurred.too, so no string falls back to English.
Worth refreshing the description before merge: against current master the template gains 3 msgids and drops none, and the .po catalogs are what carry the other 5, since #44513 committed only messages.pot.
Several merged PRs (CSRF-recovery copy, a native-filters display-format control, and others) added or renamed translatable strings without regenerating the extraction template, leaving master's own check_pot_drift.py (both the standalone babel-extract job and its unit-test twin) failing for every PR built on top of it. Regenerated via scripts/translations/babel_update.sh with the pinned Babel/jinja2 toolchain; verified no existing translations regressed (translated/fuzzy counts unchanged across all 28 catalogs against a fresh master baseline). Co-Authored-By: Evan Rusackas <evan@preset.io> Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
13502a6 to
e5aa9f4
Compare
Pick up apache#44509 (messages.pot regeneration) so the required babel-extract / pot-drift checks pass.
…generation apache#44509 and CI fixes)
…t regeneration apache#44509 and CI fixes)
…p messages.pot regeneration apache#44509 and CI fixes)
…eration apache#44509 and CI fixes)
…ick up messages.pot regeneration apache#44509 and CI fixes)
|
Bito Automatic Review Skipped – PR Already Merged |
babel-extract runs check_pot_drift.py, added in #44467 to fail a PR that adds or renames a translatable string without regenerating messages.pot. It is not currently in .asf.yaml's required contexts, so it can be red (or, on a PR whose branch predates the script's own existence, error outright) without blocking merge. That gap let #44465 land 18 minutes after #44467 regenerated the template, reintroducing drift immediately: #44465's branch was cut before #44467 merged, so check_pot_drift.py did not exist on it yet, and nothing required babel-extract to be green (or even present) on the up-to-date branch before allowing the merge. #44509 cleaned up the resulting drift. babel-extract is also the only translation-drift check gated on both Python and frontend changes (unit-tests-required, which independently covers check_pot_drift.py via check_pot_drift_test.py, only runs when a PR touches Python), so it is the one that has to be required for a frontend-only string addition to be caught at all. This does not by itself close the race that let #44465 through -- that needs required_status_checks.strict: true, a separate, repo-wide decision left for a follow-up PR stacked on this one. This PR only makes the existing check_pot_drift.py gate binding on the PR's own branch. Co-Authored-By: Evan Rusackas <evan@preset.io> Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
SUMMARY
#44465 added/renamed a handful of translatable strings (report/alert retry copy, screenshot cache error messages) without regenerating
messages.pot. That leaves the extraction template out of sync with source, which breakscheck_pot_drift.pyfor every PR built on top of current master — both the standalonebabel-extractCI job and its unit-test twin (tests/unit_tests/scripts/translations/check_pot_drift_test.py::test_committed_template_matches_a_fresh_extraction), which is part of the requiredunit-testsgate.This regenerates
messages.potviascripts/translations/babel_update.sh(5 new msgids added, 4 stale ones removed) and updates the language catalogs accordingly. Existing translations are untouched; the new strings land untranslated, same as any other string addition.Pure translation-template regen, no application code changes.
TESTING INSTRUCTIONS
Should report
superset/translations/messages.pot matches a fresh extraction.ADDITIONAL INFORMATION
🤖 Generated with Claude Code