【问题标题】:Multilanguage Django website with custom URLs具有自定义 URL 的多语言 Django 网站
【发布时间】:2011-04-05 13:31:52
【问题描述】:

我有点卡住了,需要你们的建议......我正在创建一个将被翻译成两种语言的网站。例如,我有两个网址 /gallery/pictures 和 /galerija/paveikslai(它们是相同但不同的语言),它们指向相同的内容(例如将显示绘画画廊)。

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

也许有人已经这样做了,并且有一些不错的建议或代码要展示?

谢谢, 伊格纳斯

【问题讨论】:

  • 你看过django Internationalization and localization吗? docs.djangoproject.com/en/dev/topics/i18n
  • 当然。但是你不告诉我从 DB 获得的所有内容都像这样翻译吗?当您有动态内容并且它来自 DB 时,我更喜欢使用语言指示器将这些不同的内容保存在 db 中。然后通过使用不同的链接或 slug,你会得到不同的内容。翻译一些单词、句子——当然有翻译文件就可以了。
  • 这是一篇相当老的博文,但仍然很有帮助:muhuk.com/2010/01/dynamic-translation-apps-for-django
  • 谢谢!没有更多的建议?奇怪:)

标签: django internationalization multilingual


【解决方案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 不为空。

【讨论】:

  • 不错的提示。我通过根据语言分离 url.py 文件来做到这一点。我还放了语言前缀。中间件检查 url 中的语言。这有助于获得更多用户友好的链接。但你的小费也不错。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-06
  • 2011-08-06
相关资源
最近更新 更多