多语言网站没有关系数据库

时间:2011-08-10 14:42:46

标签: java database-design nosql multilingual bigtable

任何人都可以帮助建议如何组织多语言网站的关系数据库吗?这里有一些关于这个问题的问题,但有MySQL等。“多语言”不仅是静态的(我们可以用框架来做),但也有动态内容。实际上,我们不知道用户希望创建内容的语言数量:可以为对象创建“名称”并将其翻译为他想要的语言。

我们的团队使用带有Objectify的GAE上的Java Spring Framework。但我认为这并不重要 - 我们正在使用哪些工具。

或许nosql数据库实际上不适合这样的任务。

P.S。抱歉英文不好

1 个答案:

答案 0 :(得分:1)

如果我不明白错误,我认为这是我为多语言数据库找到的最佳方式(我使用MySQL,但它会是同一个故事):

  • 首先,您应该避免在主表上存储长字符串(例如名称,描述)。您可以将它们存储在不同的表中。你的桌子会更快。

  • 您可以为所有对象(例如产品,订单,运送等)使用翻译表。

翻译表:

translation_id    obj_id     lang_code    field        translation
------------------------------------------------------------------------
      1              2          EN        name      Million Dollar Baby
      2              2          TR        name      Milyonluk Bebek

obj_id实际上引用了product_id,可以与product_id相关联。我更喜欢obj_id,因为我很容易控制所有翻译表而不记住order_id,product_id等。

希望这有帮助。