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

发布于 2024-08-29 20:52:52 字数 225 浏览 6 评论 0原文

每次我向 Django 项目添加一些字符串时,我都会运行“django-admin.py makemessages -all”来为所有语言环境生成 .PO 文件。

问题是即使我只添加了 5 个新闻字符串,makemessages 命令也会在 .PO 文件中将 50 个字符串标记为模糊,这给我们的语言环境维护人员带来了很多额外的工作。

这也使得在他们手动修改那些模糊字符串之前整个 i18n 都无法使用。

Each time I added some strings to a Django project, I run "django-admin.py makemessages -all" to generate .PO files for all locales.

The problem is even I only added 5 news strings, the makemessages command will mark 50 strings as fuzzy in .PO files which brings a lot of extra work for our locale maintainers.

This also makes the entire i18n unusable before they manually revise those fuzzy strings.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

终止放荡 2024-09-05 20:52:52

消除模糊正是我正在做的事情......看看这个。

http://code.djangoproject.com/ticket/10852

听起来我们需要额外的 sh 脚本自动从 po 中删除所有模糊。

Removing fuzzy is exactly what I am doing... check this out.

http://code.djangoproject.com/ticket/10852

Sounds like we need extra sh script that automatically removes all the fuzzy from po.

书信已泛黄 2024-09-05 20:52:52

您现在可以使用 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

You can use the gettext command line tools to do this now:

msgattrib --clear-fuzzy --empty -o /path/to/output.po /path/to/input.po

The Django management commands just call these tools directly, so you must have this installed. The makemessages uses msgattrib to clear the obsolete strings by setting the output to the same as the input, so I suspect you can do the same with the above to remove fuzzy strings.

From the msgattrib man page:

       --clear-fuzzy
              set all messages non-'fuzzy'

       --empty
              when removing 'fuzzy', also set msgstr empty
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文