I18n在Django中翻译模型

mis*_*dik 3 django translation django-models internationalization django-forms

我有一个我要翻译的表单:

Models.py:

class Show(models.Model):
    discount_tickets = models.IntegerField("Discount Tickets")
    regular_tickets = models.IntegerField("Regular Tickets")
    afillate_price = models.IntegerField("Afillate Price")
    user_price = models.IntegerField("User Price")
    start_time = models.CharField("Event Time", max_length=20)
    sale_end_time = models.CharField("Sale End Time", max_length=20) 

    def __unicode__(self):
        return unicode(self.discount_tickets)

class ShowForm(ModelForm):
    pass

    class Meta:
        model = Show 
Run Code Online (Sandbox Code Playgroud)

我该如何翻译字段名称?

cat*_*ine 7

from django.utils.translation import ugettext_lazy as _

class Show(models.Model):
    discount_tickets = models.IntegerField(_("Discount Tickets"))
    regular_tickets = models.IntegerField(_("Regular Tickets"))
    afillate_price = models.IntegerField(_("Afillate Price"))
    user_price = models.IntegerField(_("User Price"))
    start_time = models.CharField(_("Event Time"), max_length=20)
    sale_end_time = models.CharField(_("Sale End Time"), max_length=20) 
Run Code Online (Sandbox Code Playgroud)

  • [惯例是将`ugettext_lazy`分配给下划线字符](https://docs.djangoproject.com/en/dev/topics/i18n/translation/#standard-translation); `来自django.utils.translation将ugettext导入为_`,这使它更具可读性. (3认同)