在 Plone 启动时,我收到来自定制产品的警告
/Users/mikko/code/buildout-cache/eggs/zope.configuration-3.7.4-py2.7.egg/zope/configuration/fields.py:416:
UserWarning: You did not specify an i18n translation domain for the 'title' field in /Users/mikko/code/xxx-dev/src/xxx-eggs/Products.xxxExternal/Products/xxxExternal/configure.zcml
不过configure.zcml
里面有i18:domain
设置。我还直接设置了一些额外的属性,以确保:
<configure xmlns="http://namespaces.zope.org/zope"
xmlns:five="http://namespaces.zope.org/five"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
xmlns:browser="http://namespaces.zope.org/browser"
xmlns:i18n="http://namespaces.zope.org/i18n"
i18n:domain="xxxPatient"
>
<include package=".browser" />
<include package="plone.app.z3cform" />
<!-- Register the installation GenericSetup extension profile -->
<genericsetup:registerProfile
name="default"
title="xxxExternal"
directory="profiles/default"
provides="Products.GenericSetup.interfaces.EXTENSION"
i18n:attributes="title; description"
i18n:domain="xxxPatient"
/>
</configure>
这是给出警告的相关代码:
def fromUnicode(self, u):
context = self.context
domain = getattr(context, 'i18n_domain', '')
if not domain:
domain = 'untranslated'
import pdb ; pdb.set_trace()
warnings.warn(
"You did not specify an i18n translation domain for the "\
"'%s' field in %s" % (self.getName(), context.info.file )
)
v = super(MessageID, self).fromUnicode(u)
知道为什么 i18n:domain 没有出现或如何摆脱警告吗?