satchmo 汉化

来源:互联网 发布:大话西游3知乎 编辑:程序博客网 时间:2024/04/26 23:21

Technorati 标签: satchmo,django,python,i18n 国际化,中文化

注:本文的有些步骤,是基于个人的安装配置。具体使用时候可能要针对个人配置专门设置。

satchmo 是建立在 django 之上。 django 的 i18n 机制对satchmo 也适用,原始版本已有多种语言,但是简体,繁体中文目前都没有,需要自己动手。 本文说明satchmo的i18n步骤。

一:下载 gettext-0.14.4-bin.zip

里面包括xgettext.exe 等几个工具,用于导出字符串。另外还须下载2个dll。

二:生成po文件

在satchmo目录(代码目录)执行如下命令:

satchmo >python make-messages.py -l zh_CN

运行成功 会在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 选中。 并在可用的语言类表里选中你想要用户选择的语言。

 

经过上述六步骤,再次打开网站,就可以选择中文了。

 

   
原创粉丝点击