Bonsoir,

Je suis en phase d'analyse sur la conception d'un site multi-lignue, pour une application PHP/MySQL.
Et nombreuses sont du coup les questions qui me viennent à l'esprit, tant dans un soucis de rapidité de traitement des données que de maintenance des contenus.

J'ai le sentiment qu'il serait judicieux de coupler deux techniques pour développer un site multilingue, l'une pour l'interface "statique" (menus, boutons, ...), l'une pour les contenus dynamiques (description de produits, ...)

Pour l'heure, avec des connaissances basiques qui évoluent au fil des lectures, j'ai pensé à deux systèmes :
  • gettext pour toute la gestion de l'interface de l'appli (ce qui ne sera pas amené à évoluer)
  • XML, pour stocker les intitulés de produits, de catégories de produit, ... (ce qui sera amené à changer au fil du temps)


Parallèlement à cela, j'ai une base MySQL, donc je me demandais quel serait le choix le plus judicieux. MySQL me semble peu judicieux pour gérer diverses langues. Cela étant MySQL conserverait cependant toutes les données concernant ces fameux produits, seul leur libellé serait présent dans le XML, en différentes langues.
  • Cette approche (gettext + XML) semble-t-elle intelligente ?
  • Auriez-vous des idées plus intéressantes ? (plus rapide en accès aux données, en maintien, etc ?)
  • Une idée éventuelle de la manière de structurer les données dans XML ? (un noeud langue avec description de tous les produits ? ou des noeuds produits avec description par langue ? ou autre ?)


Je me demandais si récupérer le XML complet via PHP (& dom, à coups de XPath par la suite pour récupérer les traductions) n'est pas trop gourmand ?

Réelle envie de discuter de cela, pour parfaire mon approche.
Merci bien !