gpt4 book ai didi

Django:使用 gettext 进行 URL 模式转换

转载 作者:行者123 更新时间:2023-12-01 01:30:22 25 4
gpt4 key购买 nike

在一些 Django 应用程序中,我遇到了带有 gettext 的 URL 模式,例如:

from django.utils.translation import ugettext as _

urlpatterns = patterns('',
...
url(r'^%s$' % _('about/'), about, name='about'),
...
)

起初,以统一的方式将 URL 与项目的其余部分国际化似乎是个好主意,但我对此表示怀疑。

AFAIK,URL 模式在应用程序启动时加载。所以我怀疑它们将根据向应用程序发出第一个请求的用户的语言偏好来构建。当线程也参与其中时,这可能会变得更加不可预测。

对于安装将使用单一语言但可能存在其他语言的其他安装(例如论坛应用程序)的情况,此方法可能是合理的。

你认为这是一个问题还是只是我的想象?这种方法可以用于多语言网站吗?可以 ugettext_lazy避免这个问题?

最佳答案

阅读 django 文档:https://docs.djangoproject.com/en/dev/topics/i18n/translation/#url-internationalization

基本上,您可以使用 ugettext_lazy 来翻译您的模式,只要为每个请求设置了一种语言,它就会起作用。为确保这一点,您应该使用 LocaleMiddleware。 https://docs.djangoproject.com/en/dev/ref/middleware/#django.middleware.locale.LocaleMiddleware

关于Django:使用 gettext 进行 URL 模式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5214071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com