设计多语言网站数据库的最佳实践
Posted
技术标签:
【中文标题】设计多语言网站数据库的最佳实践【英文标题】:Best Practices to Design multi-language web site database 【发布时间】:2010-03-02 18:50:19 【问题描述】:。
这里采用的技术是 ASP.NET MVC 和 SQL Server。
编辑:
我正在寻找表结构和关系设计。
【问题讨论】:
【参考方案1】:在 DB 端,为您的文本使用 unicode(nvarchar 和 nchar)。
有一个区域设置查找表(包含您需要的区域设置信息 - 即小数点格式),并为每个具有本地化数据的表添加一个外键。
编辑:(跟随 cmets)
最佳实践是使用资源文件进行本地化。
【讨论】:
@Oded : .NET 资源文件很难维护,我更喜欢完整的数据库本地化方法,将所有本地化的“资源”存储在数据库中。 @Yoann。 B 你可以创建你的自定义数据库资源提供者:msdn.microsoft.com/en-us/library/aa905797.aspx 你不是说:(nvarchar 和nchar
)
@Gregoire :好的,但是我应该如何设计我的数据库表?也许在每个表上添加一个“文化”列,其中包含“en-US”、“fr-FR”等值?
@Oded :因为我可以像任何其他数据一样直接通过 Web 界面维护它们。 ResX 文件非常痛苦,需要重新编译等。【参考方案2】:
http://www.west-wind.com/presentations/wwDbResourceProvider/ 详细描述了您要查找的内容。这将向您展示如何使用 Admin UI 创建自定义资源提供程序,以将数据存储在 Sql 中。
【讨论】:
以上是关于设计多语言网站数据库的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章