【问题标题】:Django makemessages decides to comment already existing translationsDjango makemessages 决定评论已经存在的翻译
【发布时间】:2015-09-23 21:31:19
【问题描述】:

当我运行manage.py makemessages 时,我发现.po 文件中的一些消息如下:

msgid "Example"
msgstr "Example"

在我运行命令后变成了这个:

#~ msgid "Example"
#~ msgstr "Example"
  • #~ 是什么意思?由于这些消息的翻译不再起作用,我想这是一条评论。
  • 如何防止 Django 注释掉(或“#~ing”)翻译文件中预先存在的消息?

【问题讨论】:

    标签: python django django-admin manage.py


    【解决方案1】:

    Django 将注释掉所有不再在您的代码中的消息。它不会删除它们,因此您不会丢失它,但这样消息就不会最终出现在已编译的 .mo 文件中。

    【讨论】:

    • 是这个原因,--no-obsolete被介绍了?
    【解决方案2】:

    我在使用 3rd 方应用时遇到了类似的问题。 makemessages 没有将它们包含在 .po 文件中,当手动添加它们时,makemessages 下次会将它们注释掉。

    在我的情况下,我将虚拟环境符号链接到项目文件夹中。为了让 makemessages 看到那些第 3 方应用程序,我必须添加 -s

    ./manage.py makemessages -a -s -l de -i faker -i openid -i gunicorn
    

    同时我想用-i从翻译中排除一些应用程序

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-18
      • 2018-04-22
      • 2018-05-02
      • 1970-01-01
      • 1970-01-01
      • 2019-06-18
      相关资源
      最近更新 更多