Мне нужно хранить продукты для решения электронной коммерции в базе данных. Каждый продукт должен иметь описательную информацию, такую как название, описание и т. Д.
Мне нужно, чтобы любой продукт был локализован на x языков.
То, что я сделал до сих пор, - это создание любого столбца, который должен быть локализован, и nvarchar(MAX)
, а затем я сохраняю строку XML, подобную этой:
<cultures>
<culture code="en-us">Super fast laptop</culture>
<culture code="da-dk">Super hurtig bærbar</culture>
</cultures>
И когда я загружаю его из базы данных в мои объекты бизнес-логики, я анализирую строку XML в Dictionary<string, string>
, где ключом является код языка / культуры.
Поэтому, когда я хочу отобразить название продукта, я делаю это:
lblName.Text = product.Name["en-us"];
У кого-нибудь есть лучшее решение?