Extract TUI binding descriptions into base.pot and translate raw widget bindings#4587
Open
Softer wants to merge 1 commit into
Open
Extract TUI binding descriptions into base.pot and translate raw widget bindings#4587Softer wants to merge 1 commit into
Softer wants to merge 1 commit into
Conversation
…indings (archlinux#4584) xgettext only knew the tr keyword, so binding descriptions - translated at runtime via tr(b.description) in _translate_bindings() - never made it into base.pot. The strings added manually in archlinux#4363 were wiped by the regeneration in archlinux#4557. Teach the generator two more keywords: Binding:3 picks up our own binding definitions, and tr_noop marks strings that only exist inside the textual package, listed in the new tui/binding_descriptions.py. The list walks the full MRO of the textual classes used in components.py, since _translate_bindings() operates on the merged bindings map (e.g. Scroll Up comes from ScrollView and carries live translations in 18 locales today). Raw Input and Button widgets never went through _translate_bindings(), so their help-panel descriptions stayed English regardless of .po content - subclass them (_Input/_Button) following the _OptionList pattern to make those translations real. test_tooling/check_binding_descriptions.py verifies the list against the installed textual after upgrades (manual, not wired into CI).
Contributor
Author
|
The mypy job died on infra - Docker Hub timed out while pulling the container, mypy itself never ran (it passes locally). Could someone with the button re-run the failed job? |
Member
|
Yeah the infra somewhat often dies and runner results geta screwed. Those are fine, I manually check them usually or re-run from admin panel on GH. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #4584.
The help bar and F1 panel strings never made it into base.pot: they are binding descriptions translated at runtime from a variable (tr(b.description)), and xgettext only knew the literal tr("...") form. #4363 worked around that by adding the strings to base.pot manually, but the regeneration in #4557 wiped them again (and with the freshness check gone since #4576, nothing noticed).
What's here:
Note: the pot regen also picks up the three Plymouth strings from #4555 - master's pot simply hadn't been regenerated since that merge.