数据库概念多语言

时间:2012-06-16 12:35:37

标签: php sql database cakephp

我想在PHP中使用cakephp创建一个用户可以手动插入产品的网站。 问题在于多语言,因为我可以从世界各地进入我的网站用户,例如意大利语中的产品'apple'是'mela'。 考虑一下,我可以拥有许多数据! 然后我有一些数据库的解决方案:

    • 创建ID为
    • 的表格产品
    • 创建一个表product_aliases,其中我有一个id为产品语言的id和文本(例如apple) 在这种模式下,用户可以输入'apple',翻译广告我在product_aliases中插入一个新行,其中id产品的语言不同,文字不同但产品相同
  1. 定义5种语言并创建一个包含更多字段的表格(title_en,title_it,title_es ...)翻译在同一记录中 只有一个表但限制语言

    • 创建ID为
    • 的表格产品
    • 为我想要的每种语言创建一个表格:prducts_en,products_it,我可以使用相同的外键将数据存储到产品中,但除了语言以快速查询。
  2. 其他解决方案被接受!! 我从不使用大型多语言数据库帮助我,并告诉我什么是我的数据库的最佳解决方案

1 个答案:

答案 0 :(得分:0)

第一个是一般的正确解决方案。

它用于许多企业应用程序:一个带有id字段的表,用于标识非多语言信息(例如:产品的单价)和一个表,每个组合产品/语言都有一行。

第二个是针对每个数据库规范化规则。

第三个是第二个的不同推导,如果你在翻译标签表的语言列上使用索引,你就不应该在性能方面有很大的劣势。

如果您需要,我会更好地解释!