这两天准备把前面写的网站 春天音乐 做一下国际化
(补充:翻译量小,半天就完成了,不过教训是一开始应该预留翻译函数接口。在模板中找字符串浪费了很多时间),
以曾经的经验,这样的资源站,超过一半的访客都是通过google进入的,国外用户数高于内地访客。
在windows开发环境中测试i18n可能会遇到一些问题,此处简单罗列:
1. 在windows下安装gnu gettext
i18n需要使用到gettext,windows下单独编译或安装。
当前我win7上所用的django版本为1.5.1,它要求提供至少提供0.15以上的gettext
附0.17的win32安装包: gettext-0.17-win32-setup.exe
安装完毕之后,请把子文件夹bin添加到用户的环境变量PATH中。
2. 让locale文件夹位于app目录下
django-admin.py makemessages -l en
上述命令会自动搜寻 视图文件views.py、模板文件中需要翻译的中文字符串(此处我是中译英),
执行这个命令之前,可以首先切换到app目录下,创建一个locale文件夹。
执行后会自动生成en\LC_MESSAGES\django.po这样的文件,以及其上级父文件夹。
3. 在修改翻译之后,编译并重启web server
在我们修改了django.po中的翻译后,每次都需要执行:
django-admin.py compilemessages
编译它,随后会生成一个django.mo文件。
为了让修改生效,需要重启web服务器。
测试环境中使用WSGIServer同样需要重启。
下载翻译编辑工具poedit: