3

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

MVC C# .net 4,4.5

4

2 回答 2

3

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

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

另一种数据库方法是拥有一个保存所有翻译的表:

Localize
 - Field
 - Locale
 - Translation

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

于 2013-03-06T00:45:00.563 回答
1

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

在此处查看此答案:用于存储本地化数据版本的良好数据库表设计

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

例如,如果您的表“Categories”包含 Id 和 Name 列,则相应的 Translation 表“Categories_Translation”可能包含 CategoryId、LanguageCode、Name_Tx 列,而 Name_Tx 包含“LanguageCode”语言中“Name”的翻译文本。

于 2013-03-06T13:52:29.803 回答