How about just monkeypatching the active negotiator?

negotiator = getUtility(zope.i18n.interfaces.INegotiator)
orig = negotiator.getLanguage
negotiator.getLanguage = lambda foo, bar: 'fr'
text = my_page_template()
negotiator.getLanguage = orig

Haven't tested it, but in my (limited) understanding of the I18N system
something like that ought to work..


On Fri, Apr 17, 2009 at 3:14 PM, Chris Withers <>wrote:

> Hi All,
> What I want to do is best shown in pseudocode:
> something.setLanguage('fr')
> text = my_page_template()
> something.restoreLanguage()
> ...the reason I want to do this is that the results of that template
> will not be in the language negotiated for the current user, as the
> result is then emailed to someone who may not be speaking the same
> language as them.
> I can't find a way to specify a target_language that overrides the
> negotiated language into the ZPT rendering process. Is there such a way?
> Suggestions welcomed!
> Chris
Zope-Dev maillist  -
**  No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to