from typing import Dict import json import os class LocalizationManager: def __init__(self): self.translations = self._load_translations() self.current_language = 'en' def _load_translations(self) -> Dict[str, Dict[str, str]]: translations = {} translations_dir = os.path.join(os.path.dirname(__file__), '../translations') for filename in os.listdir(translations_dir): if filename.endswith('.json'): language = filename.split('.')[0] with open(os.path.join(translations_dir, filename)) as f: translations[language] = json.load(f) return translations def get_text(self, key: str, language: str = None) -> str: lang = language or self.current_language try: return self.translations[lang][key] except KeyError: return self.translations['en'][key] def set_language(self, language: str): if language in self.translations: self.current_language = language # Initialize localization localization = LocalizationManager()