在我的 models.py
文件中,我在模型上定义了一个字段,如下所示:
description = models.CharField(
max_length=40,
default=_('Bla bla bla'),
)
现在,_
是 django.utils.translation.ugettext
,我想使用 'Bla bla bla' 的希伯来语翻译作为默认值
,即'בלה בלה'
。 (该网站仅提供希伯来语版本。)该字符串已在消息文件中正确翻译。但是当我运行 Django 管理并创建一个新对象时,我在字段上看到英文 'bla bla bla'
。我假设英语是编译 models.py 模块时的事件语言。我怎样才能解决这个问题并将其变成希伯来语?
我知道一种解决方案是放弃 ugettext
并在 Python 模块内编写希伯来语,但我更愿意避免这种情况,以防止编码 hell 。
最佳答案
尝试ugettext_lazy
https://docs.djangoproject.com/en/1.3/topics/i18n/internationalization/#lazy-translation
Always use lazy translations in Django models.
关于django - 在 Django 字段的定义中使用 `ugettext`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6145447/