Локализация для ботов телеграмм Async Python

У нас есть асинхронное приложение python (бот телеграммы), и мы хотим добавить локализацию: пользователь выбирает язык, когда он начинает диалог с ботом, а затем бот переводит все сообщения для него.

Django позволяет изменять язык для каждого запроса, он работает нормально, потому что Django создает отдельный процесс для каждого запроса. Но он не будет работать в async-боте – есть только один процесс, и мы должны обрабатывать несколько пользователей с разными языками внутри него.

Мы можем сделать простую вещь: сохранить пользовательские предпочтения в базе данных, загрузить предпочтительный язык из БД с каждым входящим сообщением, и они передают эти настройки ко всем внутренним функциям, но это довольно сложно, потому что наш бот сложный, и может быть больше, чем дюжина включала вызовы функций.

Как мы можем реализовать языковое переключение в асинхронном приложении с элегантным способом?

Хорошо, мы решили проблему с использованием, обеспечивающую контекст ко всем вызовам внутренних функций.