是否可以在不使用 URL 中的语言代码的情况下拥有多语言 django CMS 站点?
Is it possible to have a multi-lingual django CMS site without using language codes in the URL?
是否可以在 django CMS 不使用 在 URL 中使用语言代码的情况下使用多语言内容,因为 django CMS 还使用会话和 cookie 来跟踪用户的首选语言?
如果不能实现,限制的原因是什么?
目前无法满足您的要求
如果您没有 URL 中的代码(it
、en
或其他),通过更改 URL 模式注册:
urlpatterns = i18n_patterns('',
url(r'^', include('cms.urls')),
)
至
urlpatterns = patterns('',
url(r'^', include('cms.urls')),
)
您将还无法访问内容的多种语言版本。
这样做只适用于单语言网站。
有关更多信息,请参阅 django CMS internationalisation documentation。
CMS 确实也记录了会话和 cookie,但这些实际上 重定向 到正确的语言代码 - 丢失它,您将永远不会被重定向到所需的语言。
不幸的是,您将不得不在单一语言网站或接受包含语言段的 URL 网站之间做出选择。您当然可以分享 URL那些没有的语言段,在这种情况下系统将fall back through various clues 找到所需的语言 - 然后当然会重定向到包含代码的 URL。
至于为什么,内容管理系统的基本原则是 public URL 这种类型应该可靠地指向相同的内容,而不是潜在的意外内容。
也许有理由允许不同的行为,但目前情况就是这样。
是否可以在 django CMS 不使用 在 URL 中使用语言代码的情况下使用多语言内容,因为 django CMS 还使用会话和 cookie 来跟踪用户的首选语言?
如果不能实现,限制的原因是什么?
目前无法满足您的要求
如果您没有 URL 中的代码(it
、en
或其他),通过更改 URL 模式注册:
urlpatterns = i18n_patterns('',
url(r'^', include('cms.urls')),
)
至
urlpatterns = patterns('',
url(r'^', include('cms.urls')),
)
您将还无法访问内容的多种语言版本。
这样做只适用于单语言网站。
有关更多信息,请参阅 django CMS internationalisation documentation。
CMS 确实也记录了会话和 cookie,但这些实际上 重定向 到正确的语言代码 - 丢失它,您将永远不会被重定向到所需的语言。
不幸的是,您将不得不在单一语言网站或接受包含语言段的 URL 网站之间做出选择。您当然可以分享 URL那些没有的语言段,在这种情况下系统将fall back through various clues 找到所需的语言 - 然后当然会重定向到包含代码的 URL。
至于为什么,内容管理系统的基本原则是 public URL 这种类型应该可靠地指向相同的内容,而不是潜在的意外内容。
也许有理由允许不同的行为,但目前情况就是这样。