feat: Add new translation keys and backward-compatible aliases for web source settings
Some checks are pending
Tests & Quality Checks / Test on Python 3.11 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.10 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-2 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-2 (push) Waiting to run
Tests & Quality Checks / Build Artifacts (push) Blocked by required conditions
Tests & Quality Checks / Build Artifacts-1 (push) Blocked by required conditions
Some checks are pending
Tests & Quality Checks / Test on Python 3.11 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.10 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-2 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-2 (push) Waiting to run
Tests & Quality Checks / Build Artifacts (push) Blocked by required conditions
Tests & Quality Checks / Build Artifacts-1 (push) Blocked by required conditions
This commit is contained in:
parent
3f9fa06fbd
commit
bc6c08b6ea
8 changed files with 238 additions and 1 deletions
|
|
@ -51,6 +51,39 @@ class Translator:
|
|||
"zh": "中文",
|
||||
}
|
||||
|
||||
# Backward-compatible key aliases for renamed translation keys.
|
||||
# This allows newer UI code to reuse existing localized strings.
|
||||
KEY_ALIASES: Dict[str, str] = {
|
||||
"settings.web_source.url_label": "settings.web_url.label",
|
||||
"settings.web_source.open_btn": "settings.web_url.open_btn",
|
||||
"settings.web_source.url_mappings_label": "settings.url_mappings.label",
|
||||
"settings.web_source.col_url_prefix": "settings.url_mappings.col_prefix",
|
||||
"settings.web_source.col_local_path": "settings.url_mappings.col_path",
|
||||
"settings.web_source.add_mapping_btn": "settings.url_mappings.add_btn",
|
||||
"settings.web_source.edit_mapping_btn": "settings.url_mappings.edit_btn",
|
||||
"settings.web_source.remove_mapping_btn": "settings.url_mappings.remove_btn",
|
||||
"settings.web_source.add_mapping_title": "settings.add_mapping.url_title",
|
||||
"settings.web_source.add_mapping_url_prompt": "settings.add_mapping.url_prompt",
|
||||
"settings.web_source.add_mapping_path_prompt": "settings.add_mapping.path_prompt",
|
||||
"settings.web_source.edit_mapping_title": "settings.edit_mapping.title",
|
||||
"settings.web_source.edit_mapping_url_prompt": "settings.edit_mapping.url_prompt",
|
||||
"settings.web_source.edit_mapping_path_prompt": "settings.edit_mapping.path_prompt",
|
||||
"settings.web_source.select_mapping_to_edit": "settings.error.select_mapping",
|
||||
"settings.logging.level_label": "settings.log_level.label",
|
||||
"settings.logging.file_label": "settings.log_file.label",
|
||||
"settings.logging.browse_btn": "settings.log_file.browse_btn",
|
||||
"settings.logging.select_file_title": "settings.select_log_file.title",
|
||||
"settings.paths.select_dir_title": "settings.select_directory.title",
|
||||
"settings.urls.add_title": "settings.add_url.title",
|
||||
"settings.urls.add_prompt": "settings.add_url.prompt",
|
||||
"settings.profiles.save_title": "settings.profile.save.title",
|
||||
"settings.profiles.save_prompt": "settings.profile.save.prompt",
|
||||
"settings.profiles.select_to_load": "settings.error.select_profile_load",
|
||||
"settings.profiles.select_to_delete": "settings.error.select_profile_delete",
|
||||
"settings.profiles.export_title": "settings.export_config.title",
|
||||
"settings.profiles.import_title": "settings.import_config.title",
|
||||
}
|
||||
|
||||
def __init__(self) -> None:
|
||||
self._language: str = "en"
|
||||
self._translations: Dict[str, str] = {}
|
||||
|
|
@ -107,7 +140,16 @@ class Translator:
|
|||
Translated and formatted string. Returns the *key* itself when no
|
||||
translation is found, so missing keys are always visible.
|
||||
"""
|
||||
text = self._translations.get(key) or self._fallback.get(key) or key
|
||||
text = self._translations.get(key) or self._fallback.get(key)
|
||||
|
||||
if text is None:
|
||||
alias_key = self.KEY_ALIASES.get(key)
|
||||
if alias_key:
|
||||
text = self._translations.get(alias_key) or self._fallback.get(alias_key)
|
||||
|
||||
if text is None:
|
||||
text = key
|
||||
|
||||
if kwargs:
|
||||
try:
|
||||
text = text.format(**kwargs)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue