Le Thu, 10 Feb 2011 17:46:45 +0100, Brendan Le Ny <bleny@codelutin.com> a écrit :
Dans Wao, j'ai la problématique de traduction d'entités.
Les utilisateurs de Wao doivent pouvoir créer de nouvelles entités, et donc ajouter les traductions. Dans Wao, j'ai choisi de faire comme suit : - Création d'une entité Translation - id : le topiaid de l'entité traduite - locale : "fr", "en_GB" etc. - text : la trad - J'ai une interface TranslatableEntity (qui étend TopiaEntity) - Sur l'entité traductible, j'ajoute l'interface. Ça ajoute une ptite méthode pour obtenir le nom de l'entité dans la bonne langue
An moment de restaurer les entités traductibles, le service passe par une méthode qui va charger toutes les traductions d'une entité donnée dans l'entité elle-même (oui, toutes les traductions et pas seulement la langue courante, car en contexte web, la traduction peut changer en live, sans recharger les données en base).
En gros tu passes deux requêtes ? une pour avoir l'entité et une autre pour la traduction. Je suis pas fan, je préfère avoir un string avec l'ensemble des traductions directement dedans du genre {fr_FR : oui, en_GB : yes}. Julien