Django compilemessages不能创建.mo文件

5
我正在尝试让我的Django应用程序支持法语(之前只支持英语)。我已经标记了应用程序中的一些字符串以进行翻译。然后,我进入应用程序的根目录(也就是manage.py所在的位置),并运行了django-admin.py makemessages -l fr_CA命令。这将在myapp/locale/fr_CA/LC_MESSAGES目录下创建一个django.po文件。我编辑了该文件,并提供了翻译。返回到应用程序的根目录,我运行了django-admin.py compilemessages -l fr_CA命令。但是命令很快就执行完毕了,没有任何输出到stdout。也没有创建.mo文件。
为什么不会创建.mo文件呢?
我尝试在设置文件中设置了LOCALE_PATHS,但是没有效果(而且,我不需要这样做来创建.po文件,因为它们被定位在默认位置:path/to/myapp/locale)。
1个回答

7

好的,我解决了。不知为什么,在运行 makemessages 命令时与运行 compilemessages 命令的相同位置不起作用,尽管 docs 上是这么说的!

我必须再深入一层目录--包含 settings.py 的目录而不是包含 manage.py 的目录。很奇怪。

由于这明显违反了文档的说明,所以我的应用程序设置肯定有问题或者很奇怪...但我从未改过默认结构...事实证明我改了。


我遇到了非常类似的问题,但是我不得不进入应用程序文件夹(而不是拥有settings.py的文件夹)。 - Scorchio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接