是否有可能拥有一个多语言的django CMS网站,而不使用URL中的语言代码



由于django CMS还使用会话和cookie来跟踪用户的首选语言,因此在不使用URL中的语言代码的情况下,是否可以在django CMS中拥有多语言内容?

如果不能实现,限制的原因是什么?

目前,您所需要的是不可能的。

如果您在URL中没有代码(iten或其他代码),则通过将URL模式注册从:更改

urlpatterns = i18n_patterns('',
    url(r'^', include('cms.urls')),
)

 urlpatterns = patterns('',
    url(r'^', include('cms.urls')),
)

您也将失去对内容的多种语言版本的访问权限。

这样做只适用于单语言网站

有关更多信息,请参阅django CMS国际化文档。

的确,CMS也会注意到会话和cookie,但实际上会将重定向到正确的语言代码-如果丢失了这一点,您将永远不会被重定向到所需的语言。

不幸的是,您将不得不在单一语言网站或接受包含语言插件的URL之间做出选择。当然,您可以共享没有语言段的URL,在这种情况下,系统将通过各种线索找到所需的语言,然后当然会重定向到包含代码的URL。

至于为什么,内容管理系统的一个基本原则是,这种公共URL应该可靠地指向相同的内容,而不是潜在的意外内容。

也许有理由允许不同的行为,但目前情况就是这样。

最新更新