“Django国际化时 makemessages失败”的版本间的差异

来自个人维基
跳转至: 导航搜索
(以“<pre> D:\W\MP\t\PyWordsTaste> django-admin makemessages -l zh_hans processing locale zh_hans </pre> 如上,提示是成功了,但实际上未生成任何 .po文...”为内容创建页面)

2017年9月7日 (四) 16:19的版本

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/