Re: [xwiki-users] How to get the rendered content of a document with translations?

2012-02-16 Thread Guillaume Delhumeau
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?

2012-02-15 Thread Guillaume Delhumeau
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?

2012-02-15 Thread Marius Dumitru Florea
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