如何为多语言网站构建数据库(PHP)

时间:2011-05-20 14:57:36

标签: database database-design

我将要建立一个多语种网站。我不太确定如何构建数据库。我应该有一个数据库,并有这样的表:

markets_en
materials_en
...

markets_es
materials_es
...

或者我应该为每种语言都有一个数据库,所有表的名称都没有语言扩展名(市场,材料等)?简而言之,我不确定切换数据库是否更明智,并且所有结构都是并行的,或者只是在一个数据库中只有相同的表,其中包含不同的语言。

2 个答案:

答案 0 :(得分:1)

我建议使用并行表结构的多个数据库,这意味着您只修改连接字符串而不是每个查询

答案 1 :(得分:0)

在不了解您的具体情况的情况下,在我看来,DRY原则会建议您只有一个数据库,其中一个表存储所有语言,而不是按语言分解。这只是不规模。相反,只需使用UTF-8或类似的东西编码/存储所有条目,然后在用户级别处理编码。 (我们有一个存储全球客户的数据库,编码范围从拉丁到日本编码。)因此,在用户表中(或者在其他地方,如果有意义的话)创建一个基于的编码列,但是你确定它们是什么语言'正在使用。然后,在存储和检索给定用户的记录时,请检查其编码和滚动。你会免除很多麻烦,IMO。

希望有所帮助。