Translate `key` for `lang`, falling back to English on missing locale or key.
(lang: str | None, key: str, **fmt)
| 757 | |
| 758 | |
| 759 | def t(lang: str | None, key: str, **fmt) -> str: |
| 760 | """Translate `key` for `lang`, falling back to English on missing locale or key.""" |
| 761 | code = normalize_language(lang) |
| 762 | bundle = EMAIL_TRANSLATIONS.get(code, EMAIL_TRANSLATIONS[DEFAULT_LANGUAGE]) |
| 763 | template = bundle.get(key) or EMAIL_TRANSLATIONS[DEFAULT_LANGUAGE].get(key, key) |
| 764 | try: |
| 765 | return template.format(**fmt) |
| 766 | except (KeyError, IndexError): |
| 767 | return template |