我对网站的URL地址国际化有疑问。
问题是如何正确使用它?
我想做的是这样的事情。
假设您的地址栏中有网址
www.mydomain.com/en/book
然后,如果您输入www.mydomain.com/de/book
,您将被重定向到某个网站的德语版本,因此该网址将更改为www.mydomain.com/de/buch
,依此类推。
观:
我想过制作一个可以用作不同语言之间字典的表。对于网站内容,我仍然会使用 i18n ,但我认为对于网址,它无法应用。
实施:
我考虑过修改 routing.py 的方式,在调用任何连接之前,我会在URL中识别出用户想要的语言,并将其存储在会话变量中以供以后使用 I18N 即可。然后我会将用户重定向到这个语言的正确URL并调用一个poper controller / action 。
欢迎任何想法,建议或推荐。
编辑(2011-04-04 18:35):
答案 0 :(得分:1)
我相信您的实施将作为日志工作,因为您对不同的网页没有相同的名称,例如,如果您有一个名为www.mydomain.com/en/music
的网页,并且德语中的music
是{{1} },那么问题是,如果你想转到book
,那么你不知道你是来自www.mydomain.com/fr/music
还是/de/
。但这只是一个问题,如果你在不同的页面上有相互冲突的名字,如果你在2个不同的语言中有一个相同的名字你仍然可以工作,你不会真正知道它们的形式,但你会知道它们的前进方向。
如果您遇到该问题,则必须保存会话或希望客户端发送引荐。
答案 1 :(得分:0)
我不知道如何在Python中完成它,但通常人们通过某种URL重写器或URL过滤器来做这些事情 - 这会消耗你的URL并重新指向正确的页面设置Locale at the同一时间。