如何为具有多语言支持的内容管理系统(cms)设计数据库模式?

时间:2009-07-23 09:05:24

标签: database-design content-management-system multiple-languages

我打算建立一个支持多种语言的网站,我需要能够控制文章,公司和产品的工作流程。全部具有多语言支持和多版本控制。 有没有人已经有解决方案,或者我需要从头开始?

2 个答案:

答案 0 :(得分:5)

由于您的问题非常广泛,我将尝试用一个简单的例子给您一个答案。这可以扩展到您要存储的每个实体。我们假设您有一个文章实体。
文章(articleID,langID,ENUTitle,ENUContent,authorID)

默认情况下,您可以在主表中存储英语语言内容。相同的内容或翻译的内容可以存储在单独的语言翻译表中。

Article_Translation(ID,articleID,langID,langTitle,langContent)

内容示例

insert into article values ('art101','ENU','New Website for Developers','Stackoverflow is new and useful','BKM')

Insert into article_translation (1023, 'art101','FRA','nouveau site Web pour les développeurs','stackoverflow est nouveau et utile','BKM')

Insert into article_translation (1024, 'art101','SPA','nuevo sitio web para desarrolladores','Stackoverflow es nuevo y útil','BKM')

根据您的用户语言偏好,可以从文章表或文章翻译表中显示内容

通常,对于需要翻译的每个实体,您都需要一个主表和语言转换表。

答案 1 :(得分:2)

您是否尝试过查看Database Answers的数据库模型?

当然,您可以使用MS SharePoint。

你看过了吗?

  

Joomla是一个屡获殊荣的内容   管理系统(CMS),它启用   你建立网站和强大的   在线申请。很多方面,   包括易用性和   可扩展性,使Joomla成为了   最受欢迎的网站软件   可用。最重要的是,Joomla是一个   开源解决方案是免费的   每个人都可以使用。