微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

每次都需要运行makemessages吗?

如何解决每次都需要运行makemessages吗?

我正在阅读makemessages的django文档,但措词不是很清楚:

在当前目录的整个源代码树上运行,并拉出所有标记为要翻译的字符串。它在conf / locale(在Django树中)或locale(用于项目和应用程序)目录中创建(或更新)消息文件。对消息文件进行更改后,需要使用可编译的消息对它们进行编译,以与内置的gettext支持一起使用。

在上面的文字中,我似乎不清楚makemessages将“拉出”标记为要翻译的字符串的含义。 (把它们拿出来做什么?去哪里?)

与此同时,compilemessages描述很有意义,因为一旦更改了语言文件,它就可以简单地编译消息。

如果makemessages是否正在寻找我需要的工作,我应该何时使用compilemessagesmakemessages的意义是什么?

解决方法

makemessages用于浏览您的应用程序以查找标记为翻译的字符串。一旦有了这些字符串,就会将它们放入po文件中。如果随后添加其他字符串以转换为您的应用程序,则需要运行makemessages来生成更新的po文件。 compilemessages使用po文件的内容来创建mo文件,因此必须首先更新po文件。

makemessages接受语言环境的参数:

pipenv run django-admin makemessages --locale=de

这使您可以为应用支持的每个语言环境创建一个po文件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。