问题描述
我正在为我的Django项目使用gettext转换,并且我不断通过makemessages
和compilemessages
向.po文件添加新的和新的转换。
现在发生的是,当我发送消息时,我检查了.po文件,尽管其中有100%唯一的字符串,但许多字符串已自动翻译。
示例: 现在生成:
#: .\agregator\models.py:1855
#,fuzzy
#| msgid "distribution order"
msgid "distribution Product Parameters"
msgstr "Objednávka u distribuce"
它会根据msgid "distribution order"
自动翻译,该msgid
与实际字符串并不接近,也没有与此msgstr
的链接。
有人可以向我解释后台发生了什么,如何删除所有此类链接,所以对于msgid
我只能得到空字符串(除非字符串100%相似)?预先谢谢你。
我的技巧是public typealias CoordUnit = Double
public struct StyledAxis: StyledAxisProtocol {
public var name: String
public var bounds: ClosedRange<CoordUnit>
public var distribution: Double?
...
}
是根据字符串片段分配的,以寻找“最佳匹配”。如果是这样的话-如何停止这种行为?
解决方法
如果msgmerge
找到相似字符串的翻译,它将建议它们为“模糊”。这就是您在这里看到的。
模糊翻译不是 ,应由您的应用程序使用/部署。如果您使用.po
将.mo
文件编译成msgmerge
文件(compilemessages
可能会这样做),这些模糊转换将被忽略。
只需将模糊翻译保留在.po
文件中。它们不会受到伤害,并且使以后的翻译更加容易,因为翻译人员不必从头开始翻译,而是改正自动建议的翻译。