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' �����ڲ����ⲿ���Ҳ���ǿ����еij���

�������ļ���


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

 

猜你喜欢

转载自lishiguang.iteye.com/blog/1329326