1

我需要一些帮助来为多语言网站创建数据库。我有一种感觉,我正在创造一个怪物。因此,任何建议都会非常有帮助。我有两个表格供文章使用。

此表包含对每种语言都相同的数据:

article

id_article
images
date_created
date_start
date_end

此表包含不同的数据 - 英文文本与德文文本不同。

article_info

article_id
title
text
info
category_id
lang_id

这背后的想法是一篇文章可以使用多种不同的语言。这是构建表格的好方法还是我做错了什么?有一个更好的方法吗?

4

1 回答 1

2

我相信这种设计,其中一篇文章可以有一个或多个不同语言的渲染,会很好用。我曾在一个类似的系统上工作过,其中多种语言是事后才想到的。在那个系统上,主要语言(通常是 EN-us)在文章表中有列。这个更好。

需要考虑的一件事:您可能希望也可能不希望能够存储文章的摘要数据,例如标题、主题、关键字,甚至可能是多种语言的摘要,即使您没有完整的翻译文章。因此,您可能需要 title_info、text_info、keyword_info 等单独的表,而不是 article_info,每个表都有一个 lang_id 键。

注意你的字符集(utf8 是一个不错的选择)和排序规则。您的默认排序规则应该是 utf8_general_ci,但您的

 ORDER BY xxx COLLATE collation

可能需要根据用户偏好设置逐个用户设置。例如,对于COLLATE utf8_general_ci其中 n 和 ñ 是不同字母的西班牙语标题,不会做正确的事情。

于 2012-12-27T21:55:58.447 回答