Gérer des traductions depuis la db
Bonsoir à tous,
Je suis en train de tester hibernate pour migrer une application JSF existante et je suis bloqué par le mécanisme de traduction à mettre en place. Voici ma situation:
Table "Category"
oid int;
shortname varchar(12);
translation_oid (int);
Table "Translation"
oid int;
language char(2);
translation varchar(255);
A l'exécution, je connais bien entendu la langue en cours (celle de l'utilisateur), et je souhaite que les beans Category soient peuplés avec la "bonne" translation:
public class Category extends BusinessObject {
public int oid;
String shortName;
String translation;
}
Toute idée, piste, ou mieux exemple, est le bienvenu!
D'avance un grand merci
David
explication supplémentaire
Bien sûr...
Voici par exemple un record de la table "Category"
oid = 1; shortName = 'compu'; translation_oid = 1 (la pk de cette table étant le champ oid).
Voici les records correspondants dans la table "Translation":
oid = 1; language = "FR"; translation = "Ordinateur"
oid = 1; language = "EN", translation = "Computer"
Dans cette table, vous l'aurez compris, la PK comprend les champs oid et language.
Il faut donc faire le lien entre Category.translation_oid et Translation.oid en tenant compte de la langue courante qui doit être mappée avec la colonne Translation.language.
Dans mon application JSF, je connais via un session bean la langue de l'utilisateur, et je souhaite que les beans Category aient leur attribut "translation" rempli dans la bonne langue. Donc si la langue courante est "FR" et que la catégorie 1 est demandée:
public class Category extends BusinessObject {
public int oid -> 1
String shortName -> "compu"
String translation -> "Ordinateur"
}
Voilà, j'espère que c'est plus clair et que quelqu'un pourra m'aider...
D'avance merci,
David