7601
查看Django国际化时 makemessages失败的源代码
Django国际化时 makemessages失败
0
←
Django国际化时 makemessages失败
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
你被禁止执行你刚才请求的操作。
您可以查看并复制此页面的源代码:
<pre> D:\W\MP\t\PyWordsTaste> django-admin makemessages -l zh_hans processing locale zh_hans </pre> 如上,提示是成功了,但实际上未生成任何 .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/ 然后将 django.po更改中文后执行 django-admin.py compilemessages时,出错且提示为中文乱码: CommandError: Execution of msgfmt failed: .... 还是直接在 cmd执行 msgfmt <pre> > msgfmt django.po -o django.mo django.po:21:10: 无效的多字节序列 django.po:21:11: 在行尾发现不完整的多字节序列 django.po:22: 字符串内遇到行尾 msgfmt: 发现 3 处致命错误 </pre> 最终……发现是使用 pycharm打开 po文件是当作 txt来打开的,保存的格式为 unicode,而非 utf-8,改用 notepad++ 编辑 OK
返回
Django国际化时 makemessages失败
。
导航菜单
个人工具
   
个人维基
注册
登录
名字空间
页面
变换
查看
阅读
查看源代码
统计
查看历史
操作
搜索
导航
首页
Ubuntu
Android
C&CPP
Java
Python
大杂烩
最近更改
工具箱
所有页面
文件列表
特殊页面