我对py文件中的i18n翻译感到有点困惑。我有一个字符串,其中需要翻译的内容已经存在于plone.pot中的plone域中,因此我想指定仅为该翻译指定域的域名。当我执行以下操作时,出现错误。并且,这确实在页面模板中呈现,因此不需要调用translate函数,这是正确的吗?
raise ValueError(_(u'Some string', domain='plone'))
TypeError: __call__() got an unexpected keyword argument 'domain'
应该怎么做?非常感谢!
答案 0 :(得分:8)
您需要有两个不同的消息工厂,即您在哪里
from zope.i18nmessageid import MessageFactory
_ = MessageFactory('my.package')
你也应该实例化Plone。
_p = MessageFactory('plone')
然后_p('Contributors')
会给你翻译的字符串。
看看here。