Python pgettext在django admin中不显示未翻译的值

Python pgettext在django admin中不显示未翻译的值,python,django,translation,gettext,Python,Django,Translation,Gettext,我有一个模型字段: title=models.CharField(pgettext\u lazy('context','title'),最大长度=255) 当我使用ugettext\u lazy时,它会显示未翻译的字符串。(在本例中为“标题”) 但是使用pgettext_lazy它会变成一个空字符串。(它在管理中隐藏标题标签) 这是pgettext的标准行为吗?我错过什么了吗 .po文件内容: msgctxt "context" msgid "title" msgstr "" 管理员似乎找到了

我有一个模型字段:

title=models.CharField(pgettext\u lazy('context','title'),最大长度=255)

当我使用ugettext\u lazy时,它会显示未翻译的字符串。(在本例中为“标题”)

但是使用pgettext_lazy它会变成一个空字符串。(它在管理中隐藏标题标签)

这是pgettext的标准行为吗?我错过什么了吗

.po文件内容:

msgctxt "context"
msgid "title"
msgstr ""

管理员似乎找到了它。pgettext_lazy返回一个代理对象。转换为unicode可以实现以下目的:

unicode(pgettext_lazy('context', 'title'))
编辑:


这不是答案。因为用这种方法,
manage.py makemessages
不会将行拾取为“已标记已翻译”。

找到了它。pgettext_lazy返回一个代理对象。转换为unicode可以实现以下目的:

unicode(pgettext_lazy('context', 'title'))
编辑:

这不是答案。因为通过这种方式,
manage.py makemessages
不会将行拾取为“已标记已翻译”。

这是解决方案:

pgettext_lazy(u'context', u'title')
这就是解决方案:

pgettext_lazy(u'context', u'title')

你对.po文件中的源字符串有什么看法吗?也许有一个空间符号作为翻译或类似的东西?pgettext对于meThe似乎工作正常my.po文件中的源代码似乎正常。我把它添加到问题中。您是如何测试它的?您对.po文件中的源字符串有什么了解吗?也许有一个空间符号作为翻译或类似的东西?pgettext对于meThe似乎工作正常my.po文件中的源代码似乎正常。我把它添加到问题中。你是怎么测试的?