在.py文件中使用不同的域进行i18n转换

JCa*_*ter 2 python translation plone internationalization

我对py文件中的i18n翻译感到有点困惑.我有一个字符串,其中需要翻译的内容已经存在于plone.pot中的plone域中,因此我想指定仅为该翻译指定域的域名.当我执行以下操作时,出现错误.并且,这确实在页面模板中呈现,因此不需要调用translate函数,这是正确的吗?

    raise ValueError(_(u'Some string', domain='plone'))

    TypeError: __call__() got an unexpected keyword argument 'domain'
Run Code Online (Sandbox Code Playgroud)

该怎么做?非常感谢!

ggo*_*zad 8

您需要有两个不同的消息工厂,即您所在的位置

from zope.i18nmessageid import MessageFactory
_ = MessageFactory('my.package')
Run Code Online (Sandbox Code Playgroud)

你也应该实例化Plone.

_p = MessageFactory('plone')
Run Code Online (Sandbox Code Playgroud)

然后_p('Contributors')会给你翻译的字符串.

看看这里也是.