Localization 如何调试Zope';普隆中的翻译机器

Localization 如何调试Zope';普隆中的翻译机器,localization,internationalization,overriding,plone,zope,Localization,Internationalization,Overriding,Plone,Zope,我有一个Plone 4.3附加组件,它设置了一个站点,并使用自己的构建配置安装了一些依赖项,其中我需要本地化一些Plone翻译 我使用一个分布式配置,一个ZEO服务器和两个运行多个Plone实例的ZEO客户端 我尝试了其他网站推荐的一切,但运气不佳: 将我的覆盖翻译添加到我的附加组件自己的locales文件夹中的plone域,并在configure.zcml文件中声明它 将我的覆盖翻译添加到buildoutlocales文件夹中的plone域,并在buildout.cfg文件中声明它 我在构

我有一个Plone 4.3附加组件,它设置了一个站点,并使用自己的构建配置安装了一些依赖项,其中我需要本地化一些Plone翻译

我使用一个分布式配置,一个ZEO服务器和两个运行多个Plone实例的ZEO客户端

我尝试了其他网站推荐的一切,但运气不佳:

  • 将我的覆盖翻译添加到我的附加组件自己的
    locales
    文件夹中的
    plone
    域,并在
    configure.zcml
    文件中声明它
  • 将我的覆盖翻译添加到buildout
    locales
    文件夹中的
    plone
    域,并在
    buildout.cfg
    文件中声明它
我在构建配置中添加了以下内容,并在启动实例时看到正在创建.mo文件:

[instance]
recipe = plone.recipe.zope2instance
environment-vars =
    PTS_LANGUAGES en, es, pt-br
    zope_i18n_allowed_languages en, es, pt_BR
    zope_i18n_compile_mo_files true
zcml = my.addon
其他的翻译很好;唯一失败的是来自(特别是模板中的名称)


我做错了什么?如何调试此问题?

此特定问题由一个非常简单的问题引起:我忘记将
i18n
名称空间声明添加到模板中:


一位同事在这里看了一眼后发现


这就是为什么始终进行代码检查很重要。

此特定问题是由一个非常简单的问题引起的:我忘记将
i18n
名称空间声明添加到模板中:


一位同事在这里看了一眼后发现


这就是为什么代码审查总是很重要的原因。

嗨,赫克托,我想这是Plone 4.3,对吗?如果您将zope_i18n_compile_mo_文件添加为true,是否检查po文件是否已编译为mo文件?谢谢,@godefroid chapelle,我根据您的问题更新了我的问题;可能是逗号?在启动实例后,您没有告诉是否在po文件之外添加了mo文件…是的,它在编辑中;但是,是的,它们正在被创建。A)一个常见的错误是忘记在包的configure.zcml中注册locales目录:
B)您是否将po文件放在了您的.package/locales/pt_BR/LC_MESSAGES/plone.po中?C) 可能是,包的加载顺序很重要。试试[instance]zcml=package.to.override你的.packageHi Hector,我想这是Plone 4.3,对吧?如果您将zope_i18n_compile_mo_文件添加为true,是否检查po文件是否已编译为mo文件?谢谢,@godefroid chapelle,我根据您的问题更新了我的问题;可能是逗号?在启动实例后,您没有告诉是否在po文件之外添加了mo文件…是的,它在编辑中;但是,是的,它们正在被创建。A)一个常见的错误是忘记在包的configure.zcml中注册locales目录:
B)您是否将po文件放在了您的.package/locales/pt_BR/LC_MESSAGES/plone.po中?C) 可能是,包的加载顺序很重要。请尝试[instance]zcml=package.to.override您的.package