2

我們有異步Python應用程序(電報機器人),我們想要添加本地化:用戶選擇語言,當他開始與機器人對話,然後機器人爲他轉換所有消息。異步Python本地化電報bot

Django允許爲每個請求更改語言,它正常工作,因爲Django爲每個請求創建單獨的進程。但它不適用於異步機器人 - 只有一個進程,我們應該處理多個使用不同語言的用戶。

我們可以做簡單的事情 - 將用戶的偏好存儲在數據庫中,從每個傳入消息中加載DB的首選語言,並將這些設置傳遞給所有內部函數 - 但它非常複雜,因爲我們的bot很複雜,可以包含十幾個函數調用。

我們如何用優雅的方式在異步應用程序中實現語言切換?

回答

0

好的,我們使用with解決了問題,它爲我們提供了所有內部函數調用的上下文。