Django makemessages重复翻译

时间:2016-06-10 09:48:58

标签: python django

我已经存在.po文件,但我仍在构建我的项目,因此添加了新的翻译字符串,并且已经添加了一些正在更改的地方。

要更新我正在运行的.po文件

django-admin makemessages -l en

当我打开文件时,我发现同一翻译多次重复:

#: _templates/admin-users/base/partials/sidebar.html:38
msgid "main-nav-guests"
msgstr "Guests"


#: _templates/admin-users/base/partials/sidebar.html:58
#, fuzzy
#| msgid "main-nav-guests"
msgid "main-nav-event-settings"
msgstr "Guests"

#: _templates/admin-users/base/partials/sidebar.html:101
#, fuzzy
#| msgid "main-nav-guests"
msgid "main-nav-events"
msgstr "Guests"

#: _templates/admin-users/base/partials/sidebar.html:106
#, fuzzy
#| msgid "main-nav-guests"
msgid "main-nav-account-settings"
msgstr "Guests"

我的Django版本是1.9.5

我该如何解决? 谢谢:))

1 个答案:

答案 0 :(得分:1)

makemessages总是试图变得聪明。如果您已经有'main-nav-guests'的翻译(在旁注,你在这里翻译的是什么:英语 - 英语?)并添加类似msgid的其他消息,他们将收到相同的{{1} }}作为现有的,但标有msgstr条注释:

fuzzy

表示这是a)由模糊的msgid匹配自动生成,b)它使用了#, fuzzy #| msgid "main-nav-guests" "main-nav-guests"的翻译。

每次msgid后我通常会做的是搜索makemessagesdjango.pomsgstr个翻译。然后我填空并在必要时更正模糊的,包括从上面删除两条注释行。然后,一切都应该准备好了。

'fuzzy' was suggested and declined添加某种--no-fuzzy选项。