如何在Plone

时间:2015-07-06 14:40:04

标签: localization internationalization override plone zope

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

我正在使用带有ZEO服务器的分布式配置和运行多个Plone实例的2个ZEO客户端。

我已经尝试了其他SO questionsblog postspresentations推荐的所有内容,但没有运气:

  • 将我的重写翻译添加到我自己的加载项plone文件夹中的locales域,并在configure.zcml文件
  • 中声明它
  • 将我的重写翻译添加到buildout plone文件夹中的locales域,并在buildout.cfg文件
  • 中声明它

我在buildout配置中添加了以下内容,并且在启动实例时看到正在创建.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

其他翻译工作正常;唯一失败的来自one template that is overridden in one of the add-ons(具体来说,模板中的label_filed_under名称)。

我做错了什么?我该怎么调试呢?

1 个答案:

答案 0 :(得分:0)

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

<html
    ...
    xmlns:i18n="http://xml.zope.org/namespaces/i18n"
    ...
    >

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

为什么始终进行代码审查很重要。