Hi Carsten,
> > The kwarg "context" in translate has a misleading name. The context of
> > translate has to be a request object::
> >
> > translate('no_url', 'my_i18n_domain', context=self.request)
Thanks!
> > I don't know why _() doesn't work. Did you try to use i18n:* attributes
> > in the template?
I did, but it doesn't help. Incidentally, the domain name is set correctly (as
a '_domain' attr in '_').
I'll start using translate(), then. Thanks again,
Kees
Carsten Senger wrote:
> Hi Kees,
>
> --On Montag, Januar 18, 2010 15:03:02 +0100 Kees Hink
> <hink-JZa/QnC6/[email protected]> wrote:
>
>> I'm working on a Plone 4 product, starting from Martin's excellent
>> dexterity development manual
>> (http://plone.org/products/dexterity/documentation/manual/developer-manua
>> l).
>>
>> My problem is I can't seem to get all strings translated. The product
>> contains a dexterity-based content type, for which translatations are
>> working fine. The translation file is in the i18n/ dir.
>>
>> The product also contains a page view (Products.Five.BrowserView), which
>> is unrelated to the content type. Calling '_(u"label_whatever",
>> default="Some message")' from the view class only returns the
>> 'label_whatever', even if i submit strings which are translated well
>> otherwise. I've tested this by putting a pdb break in one the view method
>> of interest.
>>
>> '_' is the same messagefactory the content type uses, it's simply
>> zope.i18nmessageid.MessageFactory("my_i18n_domain"). The '_domain'
>> attribute appears to be set correctly.
>
> I don't know why _() doesn't work. Did you try to use i18n:* attributes
> in the template?
>
>> I've browsed through
>> http://plone.org/documentation/manual/upgrade-guide/version/upgrading-plo
>> ne-3-x-to-4.0/updating-add-on-products-for-plone-4.0/referencemanual-all-
>> pages and the code examples in
>> http://dev.plone.org/collective/changeset/100277 to find an alternative
>> way to do it. However, using zope.i18n.translate didn't work for me,
>> which may also be of interest:
>> (Pdb) from zope.i18n import translate
>> (Pdb) translate('no_url', 'my_i18n_domain', context=self.context)
>> *** TypeError: ('Could not adapt', <PloneSite at /plone>, <InterfaceClass
>> zope.i18n.interfaces.IUserPreferredLanguages>)
>
>
> The kwarg "context" in translate has a misleading name. The context of
> translate has to be a request object::
>
> translate('no_url', 'my_i18n_domain', context=self.request)
>
> ..Carsten
_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers