Django 3.0入门与实践
上QQ阅读APP看书,第一时间看更新

4.4 compilemessages

作用:将.po文件编译成用于国际化和本地化的.mo文件(使用makemessages命令可生成.po文件)。

语法:django-admin compilemessages

可选参数:

    --locale LOCALE, -l LOCALE

指定待编译区域(locale),如果没有设置则编译全部区域的.po文件。

    --exclude EXCLUDE, -x EXCLUDE

指定要从处理中排除的区域设置。如果没有提供,则不排除任何地区。

    --use-fuzzy, -f

将模糊翻译编译到.mo文件。

    --ignore PATTERN, -i PATTERN

编译消息文件时忽略与glob风格匹配的路径。可多次出现。

示例:首先在polls应用程序文件夹中准备下图所示的.po文件目录。

仅编译de区域的消息文件,如下图所示。

不编译de区域的消息文件,如下图所示。

因为compilemessages命令使用以下代码查找全部locale路径,所以--ignore参数所忽略的路径也应该包含在对应路径:

为了测试--ignore参数,在mysite文件夹下创建一个相同的locale文件夹,目录结构如下:

执行以上代码测试compilemessages命令所能查找的全部locale目录,如下图所示。

正常执行compilemessages命令,如下图所示。

可以看到根目录mysite下所有locale文件都被编译了,接下来使--ignore参数忽略polls目录下的locale文件,如下图所示。

可以看到,此时只编译了mysite目录下的locale文件。