在一些Django应用程序中,我遇到了使用gettext的URL模式,例如:
from django.utils.translation import ugettext as _
urlpatterns = patterns('',
...
url(r'^%s$' % _('about/'), about, name='about'),
...
)
起初,似乎以与项目的其余部分采用统一的方式国际化URL是一个好主意,但我有疑虑。
据我所知,URL模式是在应用程序启动时加载的。因此,我怀疑它们将根据首次请求应用程序的用户的语言偏好进行构建。当线程也加入进来时,这可能会变得更加不可预测。
这种方法对于安装在单一语言中的情况可能是合理的,但可能会有其他安装在其他语言中的情况,例如论坛应用程序。
你认为这是一个问题还是只是我的想象?这种方法可以用于多语言站点吗?
ugettext_lazy
能避免这个问题吗?
gettext_lazy
字段名称、help_text属性等进行翻译可以正常工作。但对于URL来说,我想这样做不行。 - onurmatik