J'ai un site Web ASP.NET MVC qui repose sur des fichiers de ressources pour l'internationalisation de l'interface utilisateur. Certaines données dans la base de données seront générées par des utilisateurs (dans leur langue), mais certaines données sont générées par moi et les utilisateurs ne devraient pas les modifier. Pour ces données de système, je devrais stocker juste un "jeton" dans la base de données et le traduire au moment de l'afficher à l'utilisateur dans sa langue.Comment internationaliser les données provenant de la base de données?
Je n'aime vraiment pas l'idée d'avoir la traduction dans la base de données, et de rejoindre chaque colonne de texte avec les tables de traduction.
Quelles sont mes alternatives pour y parvenir? Peut-être un hybride de DB et de ressources?
EDIT: Le nombre de langues est indéterminé, pour l'instant nous travaillons avec 3 langues, mais j'espère que nous pourrions avoir besoin de beaucoup d'autres langues.
EDIT 2: Ceci est principalement pour les données du catalogue ... certains catalogues ont des données système et utilisateur dans le même tableau. Les données système doivent être traduites, car elles ne sont pas modifiables par l'utilisateur.
Je n'aime pas vraiment modifier mes requêtes pour joindre des tables de langues. Que penses-tu d'une méthode hybride: les données de db et de code font-elles la traduction à partir des ressources? – Romias
@Romias: Je pense que c'est ce que j'ai mentionné ci-dessus. Vous extrayez les données de la base de données et, en fonction de celles-ci, extrayez les traductions appropriées des fichiers de ressources. C'est le scénario le plus typicall, et en fait c'est une solution recommandée (par IEEE) pour DB Localizability. –