注:本文的有些步骤,是基于个人的安装配置。具体使用时候可能要针对个人配置专门设置。
satchmo 是建立在 django 之上。 django 的 i18n 机制对satchmo 也适用,原始版本已有多种语言,但是简体,繁体中文目前都没有,需要自己动手。 本文说明satchmo的i18n步骤。
一:下载 gettext-0.14.4-bin.zip
里面包括xgettext.exe 等几个工具,用于导出字符串。另外还须下载2个dll。
二:生成po文件
在satchmo目录(代码目录)执行如下命令:
运行成功 会在satchmo/locale/zh_CN/LC_MESSAGES 目录下生成mo文件。
如果在上述过程中出现错误“translation error”, 可以参照 http://www.satchmoproject.com/trac/ticket/572 官方说已经不需要make-messages.py 但是,具体文档还没有更新。我修改过后的make-messages.py 是可以用的。
三:翻译文件,poedit.exe 是个不错的翻译软件。可以打开po,翻译完成保存。(为了尝试,可以先翻译几个主页上的字符串)
四:成mo文件
同样在satchmo目录下运行 下面命令,运行成功 会在satchmo/locale/zh_CN/LC_MESSAGES 目录下生成mo文件。
satchmo>python django-admin.py compilemessages -l zh_CN
五:加入语言到satchmo ,(看第18行)
在satchmo/shop/config 中修改如下
1: LANGUAGES_AVAILABLE = config_register(
2: MultipleStringValue(LANGUAGE_GROUP,
3: 'LANGUAGES_AVAILABLE',
4: requires = LANGUAGE_ALLOW_TRANSLATIONS,
5: description = _("Available languages"),
6: help_text=_("Languages that have valid translations"),
7: choices=[('en', "English"),
8: ('fr', "Français"),
9: ('de',"Deutsch"),
10: ('es', "Español"),
11: ('he',"עִבְרִית"),
12: ('it',"Italiano"),
13: ('ko', "한국어"),
14: ('sv', "Svenska"),
15: ('pt-br',"Português"),
16: ('bg',"Български"),
17: ('tr',"Türkçe"),
18: ('zh_CN',"简体中文")]
19: ))
在mystore/settings.py 中做如下修改,主要是加入第六行 的东东。[这里涉及到django如何寻找mo文件]
1:
2: INSTALLED_APPS = (
3: ......................
4: 'satchmo.recentlist',
5: 'satchmo.productratings',
6: 'satchmo',
7: 'mystore',
8: )
六:配置网站
在网址 http://127.0.0.1:8000/settings/ 中的 language settings 设置:使其 Allow user to choose from available 选中。 并在可用的语言类表里选中你想要用户选择的语言。
经过上述六步骤,再次打开网站,就可以选择中文了。