使用格式函数时,ugettext_lazy在模型选择中不起作用

时间:2018-11-22 22:06:04

标签: django localization

我正在尝试翻译来自我的models.py的选择

from django.utils.translation import ugettext_lazy as _    

GRID_LEVEL = [(None, 'null')]
for r in range(-15, 15):
   text = _('Level %s') % str(r)
   GRID_LEVEL.append((str(r), text))

我尝试了方括号和%(var)s语法,但还是没有运气。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

找到了解决方案。串联,格式化等不适用于惰性对象。相反,我在Django 1.10中使用了string_concat,它返回了一个惰性对象。

from django.utils.translation import string_concat, ugettext_lazy as _

GRID_LEVEL = [(None, 'null')]
for r in range(-15, 15):
   text = string_concat(_('Level '), str(r))
   GRID_LEVEL.append((str(r), text))