Bonjour,

J'essaie d'utiliser le transformer i18n. Cocoon arrive bien à retrouver la 
valeur de locale quand celle-ci est passée en attribut de la requête ( 
?locale=es) et mes pages sont bien traduites.

Mais Cocoon n'arrive pas à récupérer la valeur de Accept-language dans le 
header de la requête http pour obtenir la valeur de locale.

Je me suis inspiré de 
http://wiki.apache.org/cocoon/WorkingWithLocales 

dans mon cocoon.xconf j'ai :
 
<component-instance
        class="org.apache.cocoon.components.modules.input.ChainMetaModule"
        logger="core.modules.input" name="chain">
        <input-module name="request-param"/>
              <input-module name="request-attr"/>
              <input-module name="request-header"/>
              <input-module name="session-attr"/>
              <input-module name="defaults"/>
</component-instance>

<component-instance
        class="org.apache.cocoon.components.modules.input.DefaultsModule"       
logger="core.modules.input" name="defaults">
      <values>
                <locale>fr</locale>
      </values>
</component-instance>

Et dans mon sitemap : 

<map:transform type="i18n">
        <map:parameter name="locale" value="{chain:locale}"/>
</map:transform>
                
J'ai vu qu'il existait quelque part une fonction getLocale() sensée aller 
chercher la valeur de accept-language. Mais il semble qu'elle ne soit jamais 
appelée.

Par ailleurs, mon application sera traduite en français et en espagnol, avec 
langue par défaut en français.
J'espère que cocoon saura afficher la version espagnole du site si il reçoit 
dans le Accept-Language la valeur "en, es" ...

Dans mon cas je ne suis pas sûr qu'en suivant le wiki mentionné plus haut 
j'arriverai à mon résultat. Je travaille avec des flowscript donc si qqun a un 
exemple concret en flowscript pour récupérer la valeur de locale et l'envoyer 
ensuite à mon transformer i18n, je suis preneur.

Aussi, ce n'est pas bien expliqué dans l'aide en ligne de cocoon. Je ne vois 
pas bien comment en flowscript, i18niser mon site. Mettons que par exemple 
j'aie un widget de type message dans un formulaire que j'instancie par un new 
Form() dans mon flowscript, je veux que mon flowscript modifie le contenu du 
message et que le message soit bien traduit en fonction de ce qu'il y a dans 
mon catalogue i18n. C'est quoi le plus simple pour ça ?

Merci d'avance 

Philippe







---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:[EMAIL PROTECTED]
Autres commandes : mailto:[EMAIL PROTECTED]

Répondre à