Django 国际化文件生成方法
本文只对Django中的language file部分做一说明。
1.如何创建language file?
使用?
django-admin.py?makemessages -l zh_CN
?命令自动创建语言文件,该语言文件是.po为后缀的纯文本文件。
?
如果报如下错误: 需要手工在工程下 创建一个?locale 文件夹() 否则不知道往哪生成.
?
?
Error: This script should be run from the Django SVN tree or your project or app tree. If you did indeed run
or application, maybe you are just missing the conf/locale (in the django tree) or locale (for project and a
utomatically, you have to create it by hand if you want to enable i18n for your project or application.
?
language file的格式为:
msgid "Welcome to my site."
msgstr "欢迎光临"
其中msgid 是要转换的字符串,存在于程序源码中,所以请不要更改
msgstr是基于特定语言的对msgid 的解释,初始为空,开发者需要对msgstr做相应更改
2.编译message file。
创建language file以后,紧接着要做的是将language file编译成一种更有效的格式。可以通过?django-admin.py compilemessages 来实现。
?
在使用以上两个命令时,如果是在windows环境下需要特别注意,因为这两个命令使用了一个windows下默认没有安装的组件,gettext。为在windows下运行,需要下载安装gettext。具体下载以及配置方法如下:
1.在http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/下载gettext-runtime-X.zip以及gettext-tools-X.zip的最新版(注:X为版本号)
2.将上述两个文件中的bin\目录解压缩后放到同一个文件夹,比如C:\Program?Files\gettext-utils
3.设置系统环境变量,在系统环境变量中增加;C:\Program?Files\gettext-utils\bin(具体路径要看gettext安装路径)
注:
如果没有安装?gettext?组件,则会提示错误
?
runnerw.exe C:\Python26\python.exe "C:\Program Files\JetBrains\PyCharm 2.0.1\helpers\pycharm\django_manage.py" makemessages -l zh_CN
processing language zh_CN
Error: errors happened while running xgettext on __init__.py
'xgettext' ????????????????????????е????
???????????
Django language file存放结构如下:
mysite/
locale/
zh/
LC_MESSAGES/
django.po
django.mo
?
注:对于Localization的详细解释请参阅Django Docs,http://docs.djangoproject.com/en/dev/topics/i18n/localization/#topics-i18n-localization
?
转自:?http://www.haogongju.net/art/1158678
?
?
?