Matches the existing guards in _set_font and save_console_font.
Behaviour was already safe implicitly via _font_backup=None, but
the explicit check makes intent obvious at the call site.
* Add translation support for TUI help groups and binding descriptions
Help group names shown via F1 (General, Navigation, Selection, Search) and key binding descriptions in the Textual footer (Down, Up, Cancel, Confirm, etc.) were hardcoded in English and never went through the translation system.
* ruff_format_check and mypy fixes
* Refactor _translate_bindings to accept BindingsMap instead of Any
Add TApp.translate_bindings() to avoid exporting private functions
across modules.
* Revert deprecated curses help.py change
* Move TApp import to module level in global_menu
* Change translate_bindings from staticmethod to member method
Move font set/restore into Textual lifecycle to prevent color
artifacts from 256/512 glyph transitions. Apply FONT env var
and language font in on_mount, restore in _on_exit_app.
Skip font change when loading language from config (set_font=False)
to defer it until TUI starts.
The directives were added because a PR branch accidentally lagged
behind master and did not contain the mypy python_version bump from
commit 0175949ca.
This fixes commit d70e03fa3.
* Update German translations in base.po
Updated German translations for various prompts and messages in the base.po file.
* Apply suggestions from code review
Co-authored-by: Luca Zeuch <l-zeuch@email.de>
* Removed the # fuzzy´s from the already translated sentences.
---------
Co-authored-by: Luca Zeuch <l-zeuch@email.de>
* Add WaylandProfile to avoid installing xorg packages for Wayland compositors
* Refactor: use composition (is_wayland) instead of WaylandProfile inheritance
* Fix X11 profiles to inherit xorg packages from XorgProfile
* Style: use consistent multi-line super().__init__ for Wayland profiles
* Refactor: replace is_wayland with DisplayServerType enum
Add DisplayServerType enum (Xorg/Wayland) to Profile. All profiles
now inherit Profile directly with an explicit display_server param.
desktop.py installs xorg-server and xorg-xinit for Xorg profiles.
XorgProfile remains for standalone Xorg selection.
* Remove unnecessary super().packages from desktop profiles