import yaml from pathlib import Path class Translator: def __init__(self): self.languages = {} self.load_languages() def load_languages(self): lang_dir = Path("akn/langs") for lang_file in lang_dir.glob("*.yml"): with open(lang_file, 'r', encoding='utf-8') as f: lang_code = lang_file.stem self.languages[lang_code] = yaml.safe_load(f) def get(self, key: str, lang: str = "en", **kwargs) -> str: try: parts = key.split('.') value = self.languages[lang] for part in parts: value = value[part] return value.format(**kwargs) except KeyError: if lang != "en": return self.get(key, "en", **kwargs) return f"[Translation missing: {key}]" transdev = Translator()