diff --git a/aiogram/contrib/middlewares/i18n.py b/aiogram/contrib/middlewares/i18n.py index 65cb1400..7b247d8a 100644 --- a/aiogram/contrib/middlewares/i18n.py +++ b/aiogram/contrib/middlewares/i18n.py @@ -4,6 +4,7 @@ from contextvars import ContextVar from typing import Any, Dict, Tuple from babel import Locale +from babel.support import LazyProxy from ... import types from ...dispatcher.middlewares import BaseMiddleware @@ -106,6 +107,9 @@ class I18nMiddleware(BaseMiddleware): else: return translator.ngettext(singular, plural, n) + def lazy_gettext(self, singular, plural=None, n=1, locale=None) -> LazyProxy: + return LazyProxy(self.gettext, singular, plural, n, locale) + # noinspection PyMethodMayBeStatic,PyUnusedLocal async def get_user_locale(self, action: str, args: Tuple[Any]) -> str: """