2
我們有異步Python應用程序(電報機器人),我們想要添加本地化:用戶選擇語言,當他開始與機器人對話,然後機器人爲他轉換所有消息。異步Python本地化電報bot
Django允許爲每個請求更改語言,它正常工作,因爲Django爲每個請求創建單獨的進程。但它不適用於異步機器人 - 只有一個進程,我們應該處理多個使用不同語言的用戶。
我們可以做簡單的事情 - 將用戶的偏好存儲在數據庫中,從每個傳入消息中加載DB的首選語言,並將這些設置傳遞給所有內部函數 - 但它非常複雜,因爲我們的bot很複雜,可以包含十幾個函數調用。
我們如何用優雅的方式在異步應用程序中實現語言切換?