Hi.
Thanks for your answers.
Edo
$xwiki.renderText(Document.getTranslatedContent(language), Document)
That doesn't work, I get the answer "Nested scripts are not allowed". (my
document contains velocity scripts)
Marius
but this won't fix the fact that $msg.get('key') takes into account
the context language, not the document language. If
you can use
programming rights then you can try setting the context language
before rendering the document, and revert it afterwards.
You are right. That the trick I expected. So the answer is to do :
$xcontext.getContext().setLanguage('fr')
before getting the rendered content.
Maybe we could add this to the public API, or add a new parameter to
getRenderedContent() ?
Thanks again,
Guillaume
2012/2/15 Marius Dumitru Florea <mariusdumitru.florea(a)xwiki.com
> On Wed, Feb 15, 2012 at 1:53 PM, Guillaume Delhumeau
> <gdelhumeau(a)xwiki.com> wrote:
> > Hi guys.
>
> > Let met describe you my problem.
>
> > I get the rendered content of a
document on a velocity script :
>
> > #set($newsletterContent =
$newsletterContentDoc.getRenderedContent())
>
> > But I would like to specify the
language I want ('fr' or 'en') because my
> > document contains translation keys.
>
> > Of course, I tried to use Document.getTranslatedDocument() before
> rendering
> > it, but it doesn't work, maybe because my translated content is inside a
> > velocity script of the document.
>
> > The best way would be having a
language parameter into
> getRenderedContent()
> > function but since we can't, is there an easy way to do it?
> You can render explicitly the content of
the translated document with
>
$targetDocument.getRenderedContent($targetDocument.getTranslatedContent('fr'),
> $targetDocument.syntax.toIdString())
> but this won't fix the fact that
$msg.get('key') takes into account
the context language, not the document language. If
you can use
programming rights then you can try setting the context language
before rendering the document, and revert it afterwards.
> Hope this helps,
> Marius
>
> > --
>
> > I also tried to do this :
>
> > #set($newsletterContent =
>
>
$xwiki.getURLContent($newsletterContentDoc.getExternalURL('get','outputSyntax=plain&language=fr')))
>
> > but it is very dirty and doesn't
work since the wiki ask for credentials
> > when I do getURLContent().
>
> > --
>
> > Thx a lot.
> > Guillaume
> > _______________________________________________
> > users mailing list
> > users(a)xwiki.org
> >
http://lists.xwiki.org/mailman/listinfo/users
> _______________________________________________
> users mailing list
> users(a)xwiki.org
>
http://lists.xwiki.org/mailman/listinfo/users