Je suis à la recherche d'une solution élégante pour le problème suivant:GWT - internationalisation des propriétés des entités
Dans ma base de données, j'ai des entités prédéfinies (!). Ces entités ont des noms et des descriptions (Strings). Autour de la couche d'accès aux données, il existe des EJB contenant une logique métier pour charger/rechercher/etc. ces entités.
Maintenant, pour le frontend, nous développons une application GWT qui appelle les méthodes EJB sur notre backend. Le problème est que le nom et les descriptions des entités mentionnées ci-dessus doivent être internationalisés - par exemple, en fonction des paramètres régionaux de l'utilisateur, la description d'une entité doit être "My cool description" (anglais) ou "Beschreibung bla" (Allemand) ou autre :)
Ma première approche consistait à utiliser une chaîne de ressources dans la base de données. Donc l'entité A a une description "descriptionA", l'entité B a une description "descriptionB" ... Plus tard, l'application GWT (ou tout autre client) traduit cette chaîne de ressource dans la description réelle en utilisant une sorte de "bundle de ressources". Exemples:
* resources_en.properties *:
DescriptionUn = Description effective de l'entité A
descriptionB = Description effective de l'entité B
* resources_de.properties *:
DescriptionUn = Beschreibung A
descriptionB = Beschreibung B
(Rappelez-vous que les entités sont prédéfinies, il est donc possible de "connaître" toutes les descriptions au moment de la compilation. MAIS il serait préférable que le regroupement de ressources puisse être amélioré sans avoir à recompiler l'application).
Est-ce possible avec GWT? Comment puis-je faire ceci? Est-il préférable de "traduire" sur le serveur ou sur le côté client? Sinon, je dois faire face à toutes ces choses i18n sur le côté backend. Eh bien, cela permettrait de conserver les données ensemble (au lieu de définir les descriptions du côté client). Mais le gros inconvénient est que le backend doit être conscient de la localisation de l'appelant.
Cordialement, Frank