我已经做了一些研究,发现在字符串标记为“fuzzy”时,Django翻译不会显示。
然而,我没有找到任何关于是否可以覆盖这种行为的文档。
是否有Django设置可用于允许Django (或gettext)使用“模糊翻译”?
我知道很多自动翻译可能不完美,但这是为了演示、开发和测试一个开源产品。我更希望用户能用“近似”的翻译在他们自己的语言中进行开发,然后以此作为激励逐步核对翻译。
我已经做了一些研究,发现在字符串标记为“fuzzy”时,Django翻译不会显示。
然而,我没有找到任何关于是否可以覆盖这种行为的文档。
是否有Django设置可用于允许Django (或gettext)使用“模糊翻译”?
如果这些翻译中有一些是错误的,那就很不幸了。 当您更新翻译并修订被标记为模糊的猜测翻译时,应该删除模糊标记。
但是,您可以运行一个工具快速从.po
文件中删除模糊标记: Removing all fuzzy entries of a PO file
以下是GNU gettext 工作流程的优秀概述:https://www.gnu.org/software/gettext/manual/gettext.html#Overview
它是由msgfmt
删除模糊翻译的。它有一个选项--use-fuzzy
,可以包括模糊翻译。
compilemessages
django管理命令会调用msgfmt
,自版本1.8以来也具有--use-fuzzy
选项(https://docs.djangoproject.com/en/1.9/ref/django-admin/#compilemessages)。
USE_FUZZY_TRANSLATIONS = True
这样的东西是不会发生的,因为模糊翻译并没有包含在用于读取翻译的文件(.mo)中。你最后一次修复此问题的机会是在运行compilemessages
时。 - Robert Jørgensgaard Engdahl