Django国际化时 makemessages失败

来自个人维基
2017年9月7日 (四) 16:19Hovercool讨论 | 贡献的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
D:\W\MP\t\PyWordsTaste> django-admin makemessages -l zh_hans
processing locale zh_hans

如上,提示是成功了,但实际上未生成任何 .po文件。

通过加断点,进入 makemessages 源码分析,是中间文件 pot文件未生成

然后将命令复制出来,通过 cmd直接运行:

xgettext -d django --language=Python --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy:1,2 --keyword=ugettext_noop --keyword=ugettext_lazy --keyword=ungettext_lazy:1,2 --keyword=pgettext:1c,2 --keyword=npgettext:1c,2,3 --keyword=pgettext_lazy:1c,2 --keyword=npgettext_lazy:1c,2,3 --output=- --files-from c:\\users\\admini~1\\appdata\\local\\temp\\3r9taw --from-code=UTF-8 --add-comments=Translators

弹框提示缺少 intl.dll

这个 dll是包含在 gettext-runtime-X.zip中。

所以,Windows安装 gettext时,要下两个文件 gettext-runtime-X.zip 和 gettext-tools-X.zip,然后解压到同一目录中:

http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/