任何人都可以帮助建议如何组织多语言网站的关系数据库吗?这里有一些关于这个问题的问题,但有MySQL等。“多语言”不仅是静态的(我们可以用框架来做),但也有动态内容。实际上,我们不知道用户希望创建内容的语言数量:可以为对象创建“名称”并将其翻译为他想要的语言。
我们的团队使用带有Objectify的GAE上的Java Spring Framework。但我认为这并不重要 - 我们正在使用哪些工具。
或许nosql数据库实际上不适合这样的任务。
P.S。抱歉英文不好
答案 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等。
希望这有帮助。