设计多语言网站数据库的最佳实践

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 中。

【讨论】:

以上是关于设计多语言网站数据库的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

NetCore 国际化最佳实践

以 JSON 格式存储多语言数据 (MySQL)

.htaccess 多语言网站规则

使用 django 创建多语言网站

Spring数据国际化最佳实践

存储多语言字符串的最佳实践