Django 懒惰与非懒惰翻译
例子
使用非延迟翻译时,字符串会被立即翻译。
>>> from django.utils.translation import activate, ugettext as _
>>> month = _("June")
>>> month
'June'
>>> activate('fr')
>>> _("June")
'juin'
>>> activate('de')
>>> _("June")
'Juni'
>>> month
'June'使用懒惰时,只有在实际使用时才会进行翻译。
>>> from django.utils.translation import activate, ugettext_lazy as _
>>> month = _("June")
>>> month
.__proxy__ object at 0x7f61cb805780>
>>> str(month)
'June'
>>> activate('fr')
>>> month
.__proxy__ object at 0x7f61cb805780>
>>> "month: {}".format(month)
'month: juin'
>>> "month: %s" % month
'month: Juni' 在以下情况下,您必须使用延迟翻译:
_("somestring")评估时可能无法激活翻译(未选择语言)
某些字符串可能仅在启动时进行评估(例如,在模型和表单字段定义等类属性中)
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下