Add internationalization support with English and French translations
- Introduced a new i18n module for managing translations using JSON files. - Added English (en.json) and French (fr.json) translation files for UI elements. - Implemented lazy initialization of the translator to load translations on demand. - Added unit tests for translation lookup, fallback behavior, and available languages detection.
This commit is contained in:
parent
fd0482ed2d
commit
7daec731ca
11 changed files with 1184 additions and 280 deletions
|
|
@ -15,6 +15,8 @@ from PySide6.QtWidgets import QApplication
|
|||
|
||||
from webdrop_bridge.config import Config, ConfigurationError
|
||||
from webdrop_bridge.ui.main_window import MainWindow
|
||||
from webdrop_bridge.utils.i18n import get_translations_dir
|
||||
from webdrop_bridge.utils.i18n import initialize as i18n_init
|
||||
from webdrop_bridge.utils.logging import get_logger, setup_logging
|
||||
|
||||
|
||||
|
|
@ -50,6 +52,11 @@ def main() -> int:
|
|||
logger.info(f"Starting {config.app_name} v{config.app_version}")
|
||||
logger.debug(f"Configuration: {config}")
|
||||
|
||||
# Initialize internationalization
|
||||
translations_dir = get_translations_dir()
|
||||
i18n_init(config.language, translations_dir)
|
||||
logger.debug(f"i18n initialized: language={config.language}, dir={translations_dir}")
|
||||
|
||||
except ConfigurationError as e:
|
||||
print(f"Configuration error: {e}", file=sys.stderr)
|
||||
return 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue