У меня есть функция перевода сообщений и файлы с переводом
async def _(text, lang):
file_path = os.path.join(os.path.dirname(__file__), f"{lang}.json")
if not os.path.exists(file_path):
return text
async with aiofiles.open(file_path, mode='r') as file:
lang_data = json.loads(await file.read())
for key in text.split("."):
lang_data = lang_data.get(key, None)
if lang_data is None:
return text
return lang_data
Данные пользователя и какой именно у него язык храняться в базе данных, кэшировать это как-то не хочется, а писать в каждой функции обращение к базе с запросом какой язык у пользователя не уверен что правильно.
Подскажите какой есть способ чтоб не обращаться к базе в каждой функции или не имеет смысла и общаться каждый раз?