Write the languages each release selects once, and hold every release gate to them #1038
No reviewers
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo!1038
Loading…
Reference in a new issue
No description provided.
Delete branch "347-selected-languages"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #347
What changed
SELECTEDinsrc/postulo/core/messages_tool.py, by release line, so 0.5.0 and every 0.5.x share one. It is a plain literal, soscripts/release_tools.py, which imports nothing, can read it too.selected(version=None)returns a version's list; with no version it uses the core's own, which is what a plugin pinned beside it wants. A line with no list is refused rather than guessed.tests/test_translations.py's release test, nowtest_every_selected_language_is_complete, holds every catalogue set toselected()instead of the fixedEUROPEAN_UNIONtuple, which is gone.scripts/messages.py gate --release [X.Y.Z]gates exactly those languages.scripts/release_tools.py checkrefuses a tag whose line has no list.tests/test_translations.py:gate --releasereads the list.CONTRIBUTING.md(Making a release): step 1 now runsgate --release X.Y.Z, which works before the version is bumped, and names the one list.docs/TRANSLATING.mdgives the concrete 0.4 and 0.5 lists and the rule that a later line keeps the earlier one's languages.Points 2 (the development gate,
gate fr-FR pt-PTon Weblate's pull request, adapted to #706) and 4 (every language scaffolded, 84 catalogues) were already onmain, as was point 5's description in TRANSLATING.md.Where the translations stand
The code is the subject here, not the translations. On today's
main,gate --release 0.4.0names 2,052 empty strings andgate --release 0.5.0names 3,296, across the selected languages. They are to be translated in Weblate before 0.5.0 is tagged; machine drafting is off for now.Tests
tests/test_translations.py,tests/test_release_tools.py,tests/test_changelog.py, the handbook, message-tool and language tests: 592 passed, 28 skipped.ruffclean.Library check
None needed.
🤖 Generated with Claude Code