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..
egj
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