django-modeltranslation 选择字段问题

问题描述 投票:0回答:1

我在使用带有选择字段的应用程序 django-modeltranslation 时遇到问题。

我的模型计划有一个名为间隔的字段,有以下选择:

class IntervalChoices(models.TextChoices):
    DAY = DATE_INTERVALS.DAY, _("Day")
    WEEK = DATE_INTERVALS.WEEK, _("Week")
    MONTH = DATE_INTERVALS.MONTH, _("Month")
    YEAR = DATE_INTERVALS.YEAR, _("Year")
class Plan(SoftDeleteBasedMixin):
    INTERVALS = IntervalChoices
    interval = models.CharField(
      choices=INTERVALS.choices,
      max_length=12,
      default=INTERVALS.MONTH,
      help_text="The frequency with which a subscription should be billed.",
    )

我使用 django-modeltranslation 来翻译管理上的标签和计划描述,方法是直接在 Django 管理中输入它们,但由于这些选择是预设的,我无法在管理中编辑它们。

我已经在选项名称上使用了 gettextlazy ,并且在 django.po 上有翻译

#:plan.py:44 msgid "Day" msgstr "Dia"

#:plan.py:45 msgid "Week" msgstr "Semana"

#:plan.py:46 msgid "Month" msgstr "Mês"

#:plan.py:47 msgid "Year" msgstr "Ano"

但是当我将网站或管理员更改为葡萄牙语(这是我要翻译的语言之一)时,间隔会以英语显示。

这是我的翻译.py

from billing.models.plan import Plan
from modeltranslation.translator import TranslationOptions, register


@register(Plan)
class PlanTranslationOptions(TranslationOptions):
    fields = ("label", "description")

有人可以帮我看看如何继续吗?

django django-models django-templates django-modeltranslation
1个回答
0
投票

添加翻译后是否运行过

python manage.py compilemessages
命令?

© www.soinside.com 2019 - 2024. All rights reserved.