【发布时间】:2017-03-22 13:47:28
【问题描述】:
有没有办法在点击按钮(发送请求)时动态更改 settings.py 中LANGUAGE_CODE 变量的值?
我希望用户为他们的帐户设置自己的“默认语言”。
现在用户可以使用下拉列表选择他们喜欢的语言,网站被完美翻译,并且由于 Django 选择浏览器的语言,用户在重新打开网站后不需要重新选择他们的语言从同一个浏览器。
但是当他们从不同的浏览器打开网站时,默认语言还是“英语”,因为在 settings.py 中将LANGUAGE_CODE 变量设置为en-us。
所以我想做的是让每个用户都可以选择他们想要的语言作为他们的默认语言。我想通过制作另一个(类似的)下拉菜单并要求用户选择他们想要的语言作为“默认”并点击save 按钮,然后在保存时,我想更改LANGUAGE_CODE 的值到用户选择的那个(即动态更改它)。但是我不知道如何动态改变LANGUAGE_CODE的值。
此外,这种方法还有一个问题。假设即使我能够动态更改此 LANGUAGE_CODE 变量,它也会使网站将所选语言作为 ALL THE USERS 的默认语言,而不仅仅是针对更改它的那个特定用户,根据到 Django 的文档:
LANGUAGE_CODE:
- 如果未使用区域设置中间件,它会决定向所有用户提供哪种翻译。
我研究了很多,但找不到适合我的解决方案。我对国际化很陌生。请帮忙。
【问题讨论】:
标签: django internationalization