我有现有的 .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
我该如何解决这个问题? 谢谢 :)
在的示例中,看起来像是
fuzzy
标记导致了问题。Django 的
makemessages
命令使用此标记来识别可能已更改的已翻译字符串。但是,在的情况下,它似乎错误地将不相关的字符串标识为“模糊”。
以下是如何解决此问题的步骤:
-
删除模糊标记:
从的 .po 文件中删除所有
fuzzy
标记。可以手动执行此操作,也可以使用类似于以下内容的命令:
sed -i '/^#, fuzzy/d' locale/en/LC_MESSAGES/django.po
- 重新生成翻译文件: 删除模糊标记后,使用以下命令重新生成翻译文件:
django-admin makemessages -l en
这将创建一个新的 .po 文件,其中包含所有最新字符串,而不会出现重复项。
- 检查并更正翻译: 打开新的 .po 文件并检查所有翻译。由于删除了模糊标记,因此某些翻译可能为空或不正确。更正所有必要的翻译。
其他提示:
- 使用翻译编辑器: 为了更轻松地管理翻译,请考虑使用 Poedit 或 Virtaal 等翻译编辑器。这些编辑器提供了一个用户友好的界面,用于编辑 .po 文件,并可以帮助识别和更正错误。
-
定期更新翻译:
在开发过程中定期运行
makemessages
命令,以确保的翻译是最新的。 - 使用版本控制: 使用 Git 等版本控制系统跟踪对翻译文件的更改。这将使能够在需要时轻松地恢复到以前的版本。
通过遵循这些步骤,可以解决 .po 文件中的重复翻译问题,并确保的 Django 项目正确翻译。
标签:python,django From: 37745118