django - 在 django `.po` 文件中查找丢失的翻译

标签 django internationalization locale gettext

使用 Django,你可以使用 django.utils.translation.ugettext....ugettext_lazy (以及一些模板标签)来处理本地化消息的翻译。

稍后,使用命令:django-admin.py makemessages -l <LANGUAGE>您可以生成 po包含原始字符串的文件,以便开发人员可以指定所需的翻译。

问题:是否有 django 命令或任何其他快速方法来找出哪些消息尚未翻译?

通常我会寻找字符串 msgstr ""po文件,但这是不准确的,因为有些翻译是多行的,如下所示:

#file.py:xyz
msgid ""
"Some very long text"
msgstr ""
"The translation of some very long text"

因此,寻找 msgstr ""我得到“误报”(即实际翻译的字符串,但其翻译从下一行开始)。有一千行,这很常见。

有什么聪明的建议吗?

谢谢

最佳答案

假设您正在使用一些流行的编辑器:

  • 在大多数编辑器中,只需搜索 msgstr ""\n\n
  • 在 windows 下/用记事本,也许你会需要类似 msgstr ""\r\n\r\n 的东西
  • 您也可以尝试一些专门的编辑器,check this
  • 最终,您可以执行以下操作:sed -i '/msgstr ""/{N;N; s/\n\n/\n# translate me!\n\n/g}' django.po然后搜索 # translate me!文件中的注释。
  • 关于django - 在 django `.po` 文件中查找丢失的翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33387670/

    相关文章:

    django - ManyRelatedManager 对象不可迭代

    excel - 以编程方式计算 Excel 日期格式

    c++ - 为什么 ICU 的 Locale::getDefault() 返回 "root"?

    Django默认语言

    Django: 'HttpResponse' 对象没有属性 'session'

    wpf - 如何在基于 WPF XAML 的 UI 上提供语言支持

    ruby-on-rails - 翻译模型的复数形式

    ruby-on-rails - Rails 和 I18n : localized templates vs localized string

    c++ - 使用 C++ 写入二进制文件 : does the default locale matter?

    python - Google App Engine 上的 Django 和 GeoSpatial 查询 - 如何克服 'one inequality per query' 问题?