A side question on your original comments Ralph. Does the solution provided
below still support the standard i18n logic of degrading from the dynamic
locations i.e. searching msg_en_GB.xml, then msg_en.xml, then msg.xml
translation files within the 1st dynamic location - then trying the 2nd
location in the same resolution approach of country_lang, country, default? 

I sense none of that makes sense and will expand if required ;o)

Cheers again
Rob

-----Original Message-----
From: Ralph Goers [mailto:[EMAIL PROTECTED] 
Sent: 22 January 2006 18:43
To: [email protected]
Subject: Re: Sitemap/Input Module & i18n guru req.

You can use input modules in your locations, but they won't work the way 
you want. The locations are resolved in when the transformer is 
configured, not in its setup method, so only values that can be resolved 
at that time can be used.

However, I acheive a similar effect by using 
location="prefs://catalog1". prefs is my own Source that locates the 
bundle using values at the time of the request - it returns a systemid 
that varies depending on request information so a different cached 
catalog can be used for each request.

HTH,
Ralph

Rob Gregory wrote:

> Hello Cocoon Supporter; o)
>
> I have a problem with i18n support within Cocoon but suspect the issue 
> can be resolved via the sitemap (which is so flexible) and as such the 
> question is more of an 'InputModule' usage than a problem with i18n.
>
> Basically the i18n support within Cocoon is perfect with the one 
> exception of the location of the translation files being hard coded as 
> follows:-
>
>      <map:transformer name="i18n"
>
>        src="org.apache.cocoon.transformation.I18nTransformer">
>
>        <catalogues **default="mymessages"**>
>
>          **<catalogue id="mymessages" name="messages" location="i18n"/>**
>
>**          <catalogue id="mymessages" name="messages"
location="i18n/alternate"/>**        </catalogues>
>
>        <cache-at-startup>true</cache-at-startup>
>
>      </map:transformer>
>
> I need to replace the hardcoded location to be dynamic depending on 
> the requested URI
>
> For example if the requested uri is rob100_mypage I would need to 
> dynamically change the location to be
>
> Location="I18n/rob100" i.e. I need to substring the first 6 characters 
> of the URI and search this location for i18n catalogues. I presume 
> input modules can be specified in the transformer declaration but I'm 
> not sure how to substring the results of the {request:} inputmodule.
>
> Any help much appreciated.
>
> Thanks in advance
>
> Rob
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]