Django的makemessages创建了许多模糊条目

10
每次我向Django项目添加一些字符串时,我都会运行“django-admin.py makemessages -all”命令为所有语言环境生成.PO文件。
问题在于,即使我只添加了5个新字符串,makemessages命令也会将50个字符串标记为模糊,在.PO文件中,这给我们的本地化维护者带来了很多额外的工作。
这也使得整个i18n在他们手动修订这些模糊字符串之前无法使用。

我认同这可能非常令人沮丧,因为Django让我重新考虑我已经手动编写和验证过的翻译,这只会增加更多的工作,似乎并没有任何帮助。 - MSB
2个回答

6

2
现在,您可以使用gettext命令行工具来实现这一点:
msgattrib --clear-fuzzy --empty -o /path/to/output.po /path/to/input.po

Django管理命令直接调用这些工具,因此您必须安装它。 makemessages使用msgattrib通过将输出设置为与输入相同来清除过时的字符串,因此我怀疑您可以使用上述方法删除模糊字符串。msgattrib手册页面中得知:
       --clear-fuzzy
              set all messages non-'fuzzy'

       --empty
              when removing 'fuzzy', also set msgstr empty

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接