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). J'ai pas la problématique, donc à voir si c'est adapté : si on veut pouvoir traduire les champs d'une entité, faut rajouter un champ "property" dans Translation. Pour l'instant je développe le truc dans Wao, pour voir où ça mène mais si l'approche s'avère judicieuse on pourra remonter ça dans Topia dans quelques temps : - en créant des stréréotypes « translatable » sur une entité ou sur un champ - ce stéréoptype ajoute dans le Abstract de l'entité une map pour l'entité ou une map pour chaque champ à traduire - on peut s'appuyer sur hibernate pour remplir cette map dès que l'entité est chargée depuis la base (en eager) -- Brendan Le Ny <bleny@codelutin.com> Code Lutin Conseil & Développement Logiciel Libre +33 (0)2 40 50 29 28 http://codelutin.com