Spaces:
Build error
Build error
| 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() |