Kid

也是老牌了,早先 TG 默认使用该模板,支持在模板里写 python,然后语法比较难理解 ...

↑我也要推荐

Turbogears 的国际化

发布时间:2010-12-19 22:13:01, 关注:+4385, 赞美:+5, 不爽:+5

本文标签: turbogears

Turbogears默认支持国际化,但是自动生成的模板依然有一点小问题,比如setup.py里配置的模板扩展名是.mako,但自动生成的模板扩展名是.mak,还有就是Babel默认把模板的编码当成ascii,抽取需要翻译的信息时会报错。如果要修改配置的话方法如下:

在setup.cfg的[extract_messages]中添加

mapping_file=babel.cfg

然后在同一目录新建一个babel.cfg文件,添加一行内容

# Extraction from Python source files
[python: **.py]

# Extraction from Mako templates
[mako: templates/**.mak]
input_encoding = utf-8

之后就可以正常抽取信息了:

python setup.py extract_messages

python setup.py init_catalog -l zh_CN

找到 i18n/[country code]/LC_MESSAGES/[project-name].po ,编辑翻译内容。(可以使用Poedit,这里下载

最后

python setup.py compile_catalog

重新运行你的项目看看效果吧!

网页增加了其他内容需要翻译时,使用以下指令:

python setup.py update_catalog -l zh_CN

Warning:我在这使用zh_CN,因为实际操作的时候发现,Babel只接受下划线而不是zh-CN,这是让我郁闷的一点,因为浏览器发过来的是zh-CN,因此需要多一层处理.

原文
 

如果你觉得本站对你有帮助,欢迎向本站赞助 :P

使用支付宝捐赠

Copyright© Python4cn(news, jobs) simple-is-better.com, 技术驱动:powered by web.py 空间主机:Webfaction

版权申明:文章转载已注明出处,如有疑问请来信咨询。本站为 python 语言推广公益网站,与 python 官方没有任何关系。

联系/投搞/留言: en.simple.is.better@gmail.com 向本站捐赠