etiny 的本地化其实就是turbogears 的本地化,同大部分python应用一样.本质上都是在用gettext.鉴于我本身不使用turbogears ,摘录这些步骤备忘

 

进入etiny目录,通常是c:\python25\lib\site-packages\eTiny-xxxxx

 

1. 运行tg-admin --config=config/default.cfg i18n collect

 

该命令会在locales 生成messages.pot文件

2. 添加中文

默认的,在locales 目录只有fr,你可以通过如下命令增加中文支持

 

tg-admin --config=config/default.cfg i18n add zh

 

zh也可以是zh-CN 添加繁体可以是zh-TW

 

 

该命令会在locales 目录创建zh\LC_MESSAGES 目录并将messages.pot文件复制到该目录并更名为messages.po

 

注意,该过程只需要做一次

 

3. 修改messages.po文件中的msgstr部分,并编译

tg-admin --config=config/default.cfg i18n compile

 

以后只需要重复1和3

 

 

turboGears 使用的模板是kid  http://www.kid-templating.org/language.html ,在kid模板中,对需要本地化的词汇使用_("") 进行标识, tg-admin i18n collect命令会收集这些字符串. 在kid 模板中用${} 进行表达式置换,所以,通常的用法是

例子:

etinyxxx/tinyep/templaes/master.kid

原来的<a href="/about">About</a>

可替换为 <a hrer="/about">${_('About')}</a> 进行本地化

 

 

执行1和3,然后重新启动start-tinyerp 登录后就能看到效果

 

 

 

 

posted on 2008-08-12 18:25  jjxstudio  阅读(491)  评论(0编辑  收藏  举报