i18n перевод с другим доменом в .py файлах - PullRequest
2 голосов
/ 02 апреля 2012

Я немного запутался в переводах i18n в py-файлах.У меня есть строка, где то, что должно быть переведено, уже находится в домене plone в plone.pot, поэтому я хочу указать домен, который будет использоваться только для этого перевода.Когда я делаю следующее, я получаю ошибку.И это отображается в шаблоне страницы, поэтому нет необходимости вызывать функцию перевода, это правильно?

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

    TypeError: __call__() got an unexpected keyword argument 'domain'

Как это сделать?Большое спасибо!

1 Ответ

8 голосов
/ 02 апреля 2012

У вас должно быть две разные фабрики сообщений, т. Е. Где вы делаете

from zope.i18nmessageid import MessageFactory
_ = MessageFactory('my.package')

, вы также должны создавать экземпляр Plone.

_p = MessageFactory('plone')

Тогда _p('Contributors') даст вампереведенная строка.

Посмотрите здесь тоже.

...