如果我做以下工作:
django.utils.translation.gettext("hola mundo %(variable)s") % {
"variable": "test"
}
结果:“未测试”
但是,如果我执行以下操作,它将不起作用:
class Myclass(models.Model):
HOLA1 = django.utils.translation.gettext_noop("hola mundo %(variable)s") % {
"variable": "test"
}
HOLA2 = django.utils.translation.gettext_lazy("hola mundo %(variable)s") % {
"variable": "test"
}
HOLA3 = django.utils.translation.gettext("hola mundo %(variable)s") % {
"variable": "test"
}
HOLA4 = django.utils.translation.ugettext_lazy("hola mundo %(variable)s") % {
"variable": "test"
}
Myclass.HOLA1
Myclass.HOLA2
Myclass.HOLA3
Myclass.HOLA4
结果:hola mundo 测试
如果在 Myclass 类的常量中,我从翻译中删除了变量(“%(variable)s”),是的,它可以工作,但是如果你在其中放入一个变量,不。为什么它不工作?