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

8

我打算建立一个具有多语言支持的网站,并且需要能够控制文章、公司和产品的工作流程。所有这些都需要支持多种语言和多个版本。 已经有人解决了这个问题,还是我需要从头开始?


3
看起来您得到了一些不太好的答案。这里有一个类似的问题,提供了您可能在寻找的答案:https://dev59.com/LnNA5IYBdhLWcg3wgeSk - d-_-b
2个回答

5
作为您的问题非常广泛,我将尝试用一个简单的例子来回答您。这可以扩展到您想要存储的每个实体。让我们假设您有一个文章实体。默认情况下,您可以在主表中存储英语语言内容。同样的内容或翻译后的内容可以存储在单独的语言翻译表中。 文章(文章ID,语言ID,ENUTitle,ENUContent,作者ID) 文章_翻译(ID,文章ID,语言ID,语言标题,语言内容)
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')

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

一般来说,对于每个需要翻译的实体,您都需要一个主表和语言翻译表。


4

你是否尝试查看Database Answers上的数据库模型?

当然,您也可以使用MS SharePoint。

您看过以下内容吗:

Joomla是一款获奖的内容管理系统(CMS),它使您能够构建网站和强大的在线应用。许多方面,包括其易用性和可扩展性,使Joomla成为最受欢迎的网站软件。最重要的是,Joomla是一个开源解决方案,对每个人都免费提供。


嗨,Mitch, 我有一个非常具体的问题,你能详细解释一下吗?我迷失在成百上千个模型中:-s - Hoang Pham
谢谢你,Mitch。我想要的是我的解决方案的数据库架构,或者数据库设计,或者任何关于创建我想要实现的数据库设计的指导文档。谢谢 ;) - Hoang Pham
这个评论给出了三个非常模糊的答案。在现在,这三个答案都只能算是平庸的建议。 - Craig Hooghiem
1
@gamerzfuse:你的证书是什么?欢迎提供更好的答案(三年后...) - Mitch Wheat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接