首页 > 解决方案 > 带有变量的Django翻译不起作用

问题描述

如果我做以下工作:

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”),是的,它可以工作,但是如果你在其中放入一个变量,不。为什么它不工作?

标签: pythondjango

解决方案


推荐阅读