0

我想用 cakephp 在 PHP 中创建一个站点,用户可以手动插入产品。问题在于多语言,因为我可以拥有来自世界各地的网站用户,例如意大利语中的产品“苹果”是“mela”。考虑到我可以有很多很多数据!然后我有一些数据库的解决方案:

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

    • 创建一个带有 id 的表 products
    • 为我想要的每种语言创建一个表,例如:prducts_en、products_it,我可以在其中使用与产品相同的外键存储我的数据,但从语言中划分以进行快速查询。

接受其他解决方案!我从不使用大型多语言数据库帮助我并告诉我什么是我的数据库的最佳解决方案

4

1 回答 1

0

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

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

第二个违反每个数据库规范化规则。

第三个是第二个的不同派生,如果您在已翻译标签表中的语言列上使用索引,则在性能方面应该不会有很大的劣势。

如果你需要我会解释得更好!

于 2012-06-16T12:54:47.447 回答