我正在使用需要支持多种语言的Django Rest Framework构建API,我们正在尝试使用Django翻译框架,并使用here的答案我已经决定如何实现可翻译的选择域。但是我的问题是相反的情况。
说我有这样的模型:
from django.utils.translation import ugettext_lazy as _
class Payment(models.Model):
OPEN = 0
CLOSED = 1
BALANCE = 2
STATUS_CHOICES = (
(OPEN, _('open')),
(CLOSED, _('closed')),
(BALANCE, _('balance')),
)
status = models.IntegerField(choices=STATUS_CHOICES, default=OPEN, verbose_name=_("Status"))
这适用于将信息返回给用户,我们使用存储的状态值并在返回之前进行翻译。但是,我还希望用户能够使用任何语言发布新的付款对象。因此,如果用户想要创建一个开放的交易,他们可以发送{'status':'open'}
,但他们也可以用{'status':'abierto'}
的西班牙语发送。有没有办法自动处理?
基本上我想得到ugettext_lazy函数的反转。
答案 0 :(得分:0)
使用ugettext_noop
代替ugettext_lazy
。