我需要一点帮助,为多语言网站创建数据库。我有一种感觉,我正在创造一个怪物。所以任何建议都会非常有帮助。我有两张桌子。
此表包含对每种语言都相同的数据:
article
id_article
images
date_created
date_start
date_end
此表包含不同的数据 - 英文文本与德文文本不同。
article_info
article_id
title
text
info
category_id
lang_id
这背后的想法是一篇文章可以使用多种不同的语言。这是建立表格的好方法还是我做错了什么?有更好的方法吗?
答案 0 :(得分: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和ñ是不同的字母。