2011-04-05 38 views
2

我卡住了一点,需要你的建议家伙......我创建的网站将被翻译成两种语言。例如,我有两个网址/图库/图片和/ galerija/paveikslai(这些是相同但不同的语言),它们指向相同的内容(例如将显示画廊)。多语言Django网站与自定义网址

当然,根据链接,它应该改变内容的语言和页面本身。任何想法如何做得更好?也许我需要使用语言前缀?如果是的话,我将如何处理它(中间件什么的)?

也许有人已经做了同样的事情,并有一些很好的建议或代码来显示?

感谢, Ignas

+0

你看过'django国际化和本地化吗? http://docs.djangoproject.com/en/dev/topics/i18n/ – manji 2011-04-05 13:35:34

+0

当然。但是你不告诉我把所有从DB获得的内容都翻译成这样?当你有动态内容并且它来自数据库时,我更喜欢用语言指示器将这个不同的内容保存在数据库中。然后通过使用不同的链接或slug,你会得到不同的内容。翻译一些单词,句子 - 确实有翻译文件很好。 – 2011-04-05 13:49:10

+0

这是相当老的博客文章,但可以帮助:http://www.muhuk.com/2010/01/dynamic-translation-apps-for-django/ – 2011-04-05 14:06:59

回答

1

也许是这样的:

settings.py:

from django.utils.translation import ugettext_lazy as _ 

GALLERY_URL = _('gallery') 
PICTURES_URL = _('pictures') 

urls.py:

url(r'^'+settings.GALLERY_URL+'/'+settings.PICTURES_URL+'/$', 
    'my_view',   
    name='my_view'), 

您应该以某种方式验证GALLERY_URL和PICTURES_URL不为空。

+0

不错的提示。我通过分离取决于语言的url.py文件来完成它。我也把语言前缀。中间件检查URL中的语言。这有助于建立更多用户友好的链接。但你的提示也很好。谢谢。 – 2011-06-22 11:47:16