# app/templates_config.py """ Shared Jinja2 templates configuration. All route modules should import `templates` from here to ensure consistent globals (like translation function) are available. """ from pathlib import Path from fastapi.templating import Jinja2Templates from app.utils.i18n import ( LANGUAGE_FLAGS, LANGUAGE_NAMES, SUPPORTED_LANGUAGES, DEFAULT_LANGUAGE, create_translation_context, ) # Templates directory TEMPLATES_DIR = Path(__file__).parent / "templates" # Create shared templates instance templates = Jinja2Templates(directory=str(TEMPLATES_DIR)) # Add translation function to Jinja2 environment globals # This makes _() available in all templates AND macros _default_translator = create_translation_context(DEFAULT_LANGUAGE) templates.env.globals["_"] = _default_translator templates.env.globals["t"] = _default_translator # Alias templates.env.globals["SUPPORTED_LANGUAGES"] = SUPPORTED_LANGUAGES templates.env.globals["DEFAULT_LANGUAGE"] = DEFAULT_LANGUAGE templates.env.globals["LANGUAGE_NAMES"] = LANGUAGE_NAMES templates.env.globals["LANGUAGE_FLAGS"] = LANGUAGE_FLAGS