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 On Fri, Apr 17, 2009 at 3:14 PM, Chris Withers <ch...@simplistix.co.uk>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 - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )