Mvc本地化数据库值

本文关键字:数据库 本地化 Mvc | 更新日期: 2023-09-27 18:02:20

本地化来自db的数据的最佳方法是什么?如类别名称?

MVCc#net 4 4.5

Mvc本地化数据库值

您需要在数据库中拥有翻译后的值。

如果语言很少,并且不会更改,则可以为每种语言(NameEn, NameEs, NameFr等)添加一列。有点违反规范化规则,但使生活更容易。

另一种db方法是有一个保存所有翻译的表:

Localize
 - Field
 - Locale
 - Translation

那么对于类别名称,您将有三条记录,每种语言一条。您只需按字段和区域设置查询表。

一种非常常见的方法是通过数据库对其进行本地化,方法是为每个至少有一列需要本地化的表创建一个单独的翻译表。这是我们在项目中经常做的事情。数据库数据->数据库本地化。查看/UI字符串->在resx文件中本地化。

看一下这里的答案:用于存储本地化版本数据的良好数据库表设计

编辑:与链接相反,我们通常将"默认"语言存储在原始表中,因此实际上不需要有翻译条目。

例如,如果您的表"Categories"包含列Id和Name,那么对应的翻译表"categores_translation"可以包含列CategoryId, LanguageCode, Name_Tx,而Name_Tx包含语言"LanguageCode"中"Name"的翻译文本。