我正在努力使我的 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
。该命令很快返回,没有输出到标准输出。没有创建 .mo
文件。
为什么这不创建 .mo 文件?
我尝试在我的设置文件中设置我的 LOCALE_PATHS,但这没有效果(此外,我不需要这样做来创建 .po 文件,因为它们位于默认位置,路径/to/myapp/locale
).
最佳答案
好的。弄清楚了。出于某种原因,在我运行 makemessages
命令的同一位置运行 compilemessages
命令不起作用,即使那是 docs说到做到!
我必须深入一个目录 -- 包含 settings.py
的目录 不是 包含 manage.py
的目录。很奇怪。
我的应用程序的设置方式一定有问题或奇怪,因为这显然与文档所说的不符...但我从未更改过默认结构... 结果是我做到了。
关于python - Django compilemessages 不创建 .mo 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28789484/