Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [Résolu] Moteur d'URL significatives : localisation

Posted by Julien on 09/21/2007 13:10

Salut,

en phase finale de développement du premier site sous Dragon-CMS (houra !! ;) ), je me pose la question suivante :

Ne serait-il pas intéressant de pouvoir localiser le moteur d'URLs significatives ?

Bien entendu, je ne parle pas du urls de pages (par exemple) qui elles sont dans la base de données, mais plutot des parties "statiques" qui servent à différencier les modules (par exemple : "news" qui en FR donnerai "actualites").

Comme le moteur url de jelix est bien pensé, je pourrai faire mon driver complet pour gérér celà, mais je me demande s'il ne serait pas intéressant de le proposer directement sur le moteur significant de base, en conservant la compatibilité actuelle bien entendu.

J'ai en gros 2 solutions qui me viennent à l'esprit :

1. le fichier urls.xml de base, + urls_fr_FR.xml + urls_en_EN + ...

Cela impose de tester l'existence (quid performances ? rajouter un cache ?) du fichier pour la locale courante, sinon de se rabattre sur le fichier global.

Question : les fichiers localisés doivent-ils être des "surcharges" du fichier global, ou bien on duplique tout dans chaque locale ?

2. un seul fichier, avec un attribut facultatif "locale" a mettre sur la balise url.

Cela va faire un gros fichier, une analyse un chouilla + complexe (récupérer les urls globales sans attribut "locale" + les urls localisées pour la locale en cours, ces dernières étant prioritaires).

Les perfs seraient mieux ou pas que solution 1 ? Je ne sais pas vraiment sans tester.

Mon avis perso, solution 1, avec un cache quelconque si nécessaire, et les fichiers localisés surchargent les urls globales.

On pourrait même rajouter un paramètre dans le fichier .ini qui dirait si oui ou non on utilise les urls localisées (si on ne veut pas d'URLs localisées, on met se paramètre sur off et donc on reste sur le moteur tel qu'il est aujourd'hui).
Certes celà commence un peu à ressembler à l'utilisation d'un nouveau driver URL (changements dans le .ini), mais l'avantage d'étendre l'actuel c'est que si on apporte des modifs/bugfixes dans le driver actuel, les URLs localisées profiteront des mêmes améliorations.

Comme dans mon précédent message, avant de proposer le code, je suis ouvert à vos remarques et suggestions et vous en remercie par avance.


Julien

  [Opened] Re: Moteur d'URL significatives : localisation

Reply #1 Posted by laurentj on 09/21/2007 14:43

Tu peux déjà le faire ça, suffit d'indiquer un paramètre statique au niveau de la balise url, et quand tu appelle jUrl, d'appeler en donnant ce paramètre statique :-p

       <url pathinfo="/news" module="news" action="default_index">
          <static name="lang" value="en_EN" />
        </url>
       <url pathinfo="/actualites" module="news" action="default_index">
          <static name="lang" value="fr_FR" />
        </url>

si tu fais

  jUrl::get('news~default_index', array('lang'=>'en_EN'));

tu obtiendra /news

Note que ça fonctionne aussi avec n'importe quel paramètre statique, pas seulement celui qui a pour nom "lang".

 
Page
  1. [Résolu] Moteur d'URL significatives : localisation