Ich muss Produkte für eine E-Commerce-Lösung in einer Datenbank speichern. Jedes Produkt sollte beschreibende Informationen wie Name, Beschreibung usw. haben.Globalisierung Architektur
Ich brauche ein Produkt, das nach x Anzahl der Sprachen lokalisiert werden soll.
Was ich bisher getan haben, ist jede Spalte zu machen, die lokalisiert werden soll und nvarchar(MAX)
und dann speichere ich eine XML-Zeichenfolge wie folgt aus:
<cultures>
<culture code="en-us">Super fast laptop</culture>
<culture code="da-dk">Super hurtig bærbar</culture>
</cultures>
Und wenn ich es aus der Datenbank geladen werden, in Meine Business-Logik-Objekte, parse ich die XML-Zeichenfolge auf Dictionary<string, string>
, wo der Schlüssel der Kultur/Sprache-Code ist.
Also, wenn ich den Namen eines Produkts angezeigt werden soll, kann ich dies:
lblName.Text = product.Name["en-us"];
Hat jemand eine bessere Lösung?
Gute Idee, "Kultur" im Tabellennamen zu lassen, um den Inhalt der Tabelle als lokalisierte Daten und nicht als etwas anderes zu unterscheiden. – y0mbo