我正在将国际化添加到我的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+中不起作用
我不敢相信自己是唯一讨厌默认语言前缀的人))尽管我找不到重定向和默认语言都没有前缀的解决方案。希望有人在这里提供建议