J'ai besoin de stocker des produits pour une solution de commerce électronique dans une base de données. Chaque produit doit avoir des informations descriptives, telles que le nom, la description, etc.Architecture de la globalisation
J'ai besoin de n'importe quel produit pour être localisé dans x nombre de langues.
Ce que je l'ai fait jusqu'à présent, est de faire une colonne qui doit être localisée et nvarchar(MAX)
puis-je stocker une chaîne XML comme ceci:
<cultures>
<culture code="en-us">Super fast laptop</culture>
<culture code="da-dk">Super hurtig bærbar</culture>
</cultures>
Et quand je le charger à partir de la base de données, en mes objets de logique métier, j'analyse la chaîne XML en Dictionary<string, string>
où la clé est le code de culture/langue.
Alors, quand je veux afficher le nom d'un produit, je fais ceci:
lblName.Text = product.Name["en-us"];
Quelqu'un at-il une meilleure solution?
Bonne idée de laisser "Culture" dans le nom de la table afin de distinguer le contenu de la table en tant que données localisées plutôt que quelque chose d'autre. – y0mbo