11-12-2007, 06:15 PM
Les tableaux sont pourtant bien plus rapides en l'occurrence Et je vois pas l'intérêt d'utiliser des constantes dans le domaine de la localisation des données tu préfères "LABEL_MENU" plutôt que "$lang['label_menu']" ? La différence est faible, et la souplesse d'un tableau est importante dans le cadre des traductions (textes dynamiques, possibilité de redéfinir une traduction localement).
Enfin dans tous les cas il ne faut pas oublier qu'il y a deux domaines, dont beaucoup semblent ignorer la distinction :
- Les textes fixes (interface, comme les libellés des menus, tous les éléments statiques)
- Les textes dynamiques (description des objets, dialogues des PNJ, etc... tout ce qui est stocké en bdd)
Les premiers peuvent (et doivent) être traduits dans des fichiers, car c'est plus rapide à charger et qu'il serait idiot d'encombrer la bdd avec des données statiques. Ce seront les fichiers "fr.php", "fr/messages.po", "french.xml" ou ce que vous voulez. En général cette étape est la plus facile.
Les seconds ne doivent pas (et peuvent de toute façon difficilement) être stockées en fichiers car ils sont en relation avec des objets de la base de données : les objets et les données internationalisées de ces objets doivent pouvoir être créés et modifiés dans le même environnement. C'est cette étape qui est plus délicate à gérer.
Or dans le cas qui intéressait Sephi-Chan, il me semble que ce qui lui posait le plus de soucis c'était plus plutôt l'internationalisation des éléments dynamiques
Enfin dans tous les cas il ne faut pas oublier qu'il y a deux domaines, dont beaucoup semblent ignorer la distinction :
- Les textes fixes (interface, comme les libellés des menus, tous les éléments statiques)
- Les textes dynamiques (description des objets, dialogues des PNJ, etc... tout ce qui est stocké en bdd)
Les premiers peuvent (et doivent) être traduits dans des fichiers, car c'est plus rapide à charger et qu'il serait idiot d'encombrer la bdd avec des données statiques. Ce seront les fichiers "fr.php", "fr/messages.po", "french.xml" ou ce que vous voulez. En général cette étape est la plus facile.
Les seconds ne doivent pas (et peuvent de toute façon difficilement) être stockées en fichiers car ils sont en relation avec des objets de la base de données : les objets et les données internationalisées de ces objets doivent pouvoir être créés et modifiés dans le même environnement. C'est cette étape qui est plus délicate à gérer.
Or dans le cas qui intéressait Sephi-Chan, il me semble que ce qui lui posait le plus de soucis c'était plus plutôt l'internationalisation des éléments dynamiques
Ressources [PHP][MySQL][prototype.js]