【问题标题】: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 文件中。
【解决方案2】:
我在使用 3rd 方应用时遇到了类似的问题。 makemessages 没有将它们包含在 .po 文件中,当手动添加它们时,makemessages 下次会将它们注释掉。
在我的情况下,我将虚拟环境符号链接到项目文件夹中。为了让 makemessages 看到那些第 3 方应用程序,我必须添加 -s
./manage.py makemessages -a -s -l de -i faker -i openid -i gunicorn
同时我想用-i从翻译中排除一些应用程序