当前位置: 代码迷 >> 综合 >> trac 出现Trac detected an internal error: AttributeError: NullTranslationsBabel instance has no attrib
  详细解决方案

trac 出现Trac detected an internal error: AttributeError: NullTranslationsBabel instance has no attrib

热度:55   发布时间:2023-12-14 15:49:40.0

是因为Babel 1.3和Trac的配合问题 见 http://trac.edgewall.org/ticket/11345

通过降级babel到0.9.6也可以解决

SetEnv trac.locale zh_CN.UTF-8



ubuntu12 安装 Trac 详解

1. 安装必要的软件和依赖模块
1) 安装mysql和apache
# apt-get install mysql-server mysql-client python-mysqldb
# apt-get install apache2 libapache2-mod-wsgi libapache2-mod-auth-mysql

2) 安装easy_install工具
# apt-get install python-setuptools

3) 安装Trac 0.12
先安装babel和genshi组件
Babel版本如果和Trac版本不匹配的话,Trac的语言设置不会起作用或者web界面会出错:Internal error,AttributeError: NullTranslationsBabel instance has no attribute ‘isactive’
从Trac官网得知与Trac 0.12搭配的babel推荐版本是0.9.6
# easy_install Babel==0.9.6 (由于babel的某些依赖库所在的源码网站被墙,所以该命令可能需要在翻墙的网络环境下执行,例如先配置好goagent翻墙环境,然后执行 http_proxy=127.0.0.1:8087 easy_install Babel==0.8.6)
# easy_install Genshi==0.6

根据不同的需要,以下有两种安装Trac的方式,区别是你是否需要修改Trac自带语言包的翻译:
(1) 如果只需要安装默认国际化语言包的Trac(其中包括简体中文),那么执行下面的命令,整个安装阶段就结束了:
# easy_install Trac==0.12

(2) 如果你需要定制和修改Trac的翻译语言字符串(即自定义修改某些字符串的翻译,例如ticket不用默认的翻译”任务单”,而是改成”表单”), 那么下载Trac源码并解压, cd到源码的解压目录:
生成catalog的目标文件trac/locale/messages.pot
# python setup.py extract_messages

生成各种字符串的汇总文件trac/locale/*/LC_MESSAGES/messages.po(保留之前翻译过的字符串且把messages.pot里新发现的翻译合并进来).
# python setup.py update_catalog

现在可以编辑messages.po文件,按照你的习惯去修改某些特定的翻译,编辑完保存之后再执行下面的命令标准化你的编辑
# python setup.py update_catalog -l

检查messages.p

  相关解决方案