Django国际化:prefix_default_language和语言重定向

时间:2019-05-31 10:29:05

标签: django internationalization django-i18n

我正在将国际化添加到我的Django项目中。其工作原理如下:

  • 当用户输入“ /”(即“首页”)时,我们尝试获取其 我们会议中的语言偏好。如果不是我们的默认设置 语言(EN),我们会将用户重定向到本地版本,例如/ ES /, / RU /,/ CN /等

  • 如果没有此类会话数据,请检查Accept-Language和 如果我们支持,将用户重定向到本地版本

  • 如果我们不支持用户的Accept-Language或EN,则不支持 重定向用户!我们只显示“默认语言”

即所有“非默认语言”都应有其前缀,但默认语言没有。为什么默认语言应该带有前缀,对吗? )))

问题是,我不知道如何设置此逻辑。如果我将prefix_default_language=False设置为禁用默认语言的/ EN /前缀,它还将禁用“非默认”重定向。我找到了一个可以解决问题的软件包:https://github.com/st4lk/django-solid-i18n-urls#behaviour settings.SOLID_I18N_USE_REDIRECTS = True,但是在Django 2+中不起作用

我不敢相信自己是唯一讨厌默认语言前缀的人))尽管我找不到重定向和默认语言都没有前缀的解决方案。希望有人在这里提供建议

0 个答案:

没有答案