2

我们有异步Python应用程序(电报机器人),我们想要添加本地化:用户选择语言,当他开始与机器人对话,然后机器人为他转换所有消息。异步Python本地化电报bot

Django允许为每个请求更改语言,它正常工作,因为Django为每个请求创建单独的进程。但它不适用于异步机器人 - 只有一个进程,我们应该处理多个使用不同语言的用户。

我们可以做简单的事情 - 将用户的偏好存储在数据库中,从每个传入消息中加载DB的首选语言,并将这些设置传递给所有内部函数 - 但它非常复杂,因为我们的bot很复杂,可以包含十几个函数调用。

我们如何用优雅的方式在异步应用程序中实现语言切换?

回答

0

好的,我们使用with解决了问题,它为我们提供了所有内部函数调用的上下文。