Upayavira wrote:
> > We have successfully used Cocoon on several "DOCUMENT oriented"
> > multi-lingual sites.  In our experience we have found that i18n is 
> > good  for internationalizing our application but not our content.   
> > The text  that is part of the APPLICATION (menu bars, headings, 
> > navigation aides  etc) is all controlled under the i18n umbrella.   
> > The CONTENT however  is simply marked up with language identifying 
> > tags.   We did this for a  couple of reasons.   One was 
> outlined below 
> > in that i18n isn't really  designed for whole documents but rather 
> > bits and pieces.  The second  reason was that we wanted to keep our 
> > content "pure" separate from any  application specific mechanisms.  
> > This way our content stands alone and  is ready to be used 
> or served 
> > by any system.  Whether or not the  translated content is 
> in a single 
> > file per document or individual  language files is 
> completely a design 
> > choice.  We have done it both  ways.
> 
> This is the sort of thing that is intended to be supported by 
> what I am 
> working on. Unfortunately, contrary to what Sjur says, I haven't 
> finished it - I haven't really started it. It is a spare time 
> task, and 
> spare time has been taken up with other more personal stuff recently.
> 
> But, what I want to do, is something like:
> 
> <map:match pattern="**/*.html">
>   <map:generate src="{i18n:content/$locale/{1}/{2}.xml}"/>
>   ...
> </map:match>
> 
> Where $locale is replaced, by this i18n module, with the name of the 
> relevant file, with the appropriate language. It would take 
> into account 
> such things as the locale first, dropping down to the appropriate 
> default until it finds a file, then maybe using a request parameter 
> lang="xxx", etc, until it finds a file, which it then serves up.
> 
> Having described it like that, it doesn't actually seem that 
> hard to do! 
> Maybe I'll actually get it done some time soon!
> 
> Upayavira

This is actually my current approach, but implemented with sitemap
parameters, a stylesheet and cinclude.

<map:match pattern="**/*.*">
        <map:generate type="directory" src="{1}">
                <map:parameter name="include" value="{2}_?(.*).{3}"/>
        </map:generate>
        <map:transform type="xslt" src="match.lang.xslt">
                <map:parameter name="lang" value="{request-param:lang}"/>
                <map:parameter name="path" value="{1}"/>
        </map:transform>
        <map:transform type="cinclude"/>
        <map:serialize type="xml"/>
</map:match>

The stylesheet implements the selection logic to find the correct file, and
if it doesn't find it, serves the closest match.

It works, but it's not rock-solid. A cocoon component that implements this
would be really useful!

Askild
-


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

Reply via email to