Re: [xwiki-users] How to get the rendered content of a document with translations?
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.flo...@xwiki.com On Wed, Feb 15, 2012 at 1:53 PM, Guillaume Delhumeau gdelhum...@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=plainlanguage=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@xwiki.org http://lists.xwiki.org/mailman/listinfo/users ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users
[xwiki-users] How to get the rendered content of a document with translations?
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? -- I also tried to do this : #set($newsletterContent = $xwiki.getURLContent($newsletterContentDoc.getExternalURL('get','outputSyntax=plainlanguage=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@xwiki.org http://lists.xwiki.org/mailman/listinfo/users
Re: [xwiki-users] How to get the rendered content of a document with translations?
On Wed, Feb 15, 2012 at 1:53 PM, Guillaume Delhumeau gdelhum...@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=plainlanguage=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@xwiki.org http://lists.xwiki.org/mailman/listinfo/users ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users