多语言数据库设计:耦合翻译表方法

我几天来一直在做关于多语言和递归数据库设计的研究。 我发现下面的文章很有意思:http://www.gsdesign.ro/blog/multilanguage-database-design-approach/,并且喜欢第四种解决方案耦合转换表方法 。 但由于我不了解案件,我感到非常困惑; 我发现pages表上只有一个列id ,我认为我需要首先在pages表上增加id值。 之后,我必须选择id值并在pages_translation表中添加数据。

问题是这样的:我怎么知道哪个页面对应于id的值? 我该怎么办?

你能给我一些关于你正在使用的多语言和递归数据库设计方法的想法吗?

耦合翻译表方法

表语言

  • id(int)
  • name(varchar)
  • 表格页面

  • id(int)
  • 表pages_translation

  • id(int)
  • page_id(int)
  • language_id(int)
  • 标题(文本)
  • 内容(文本)

  • 我正在使用文章中提出的第一种方法。 我不能完全理解第三种和第四种方法,也许因为我不是英语母语,或者因为我没有足够的知识。

    关于缺点和我如何解决它们:

  • 您需要根据语言构建您正在使用的列
  • 我不确定这实际上意味着什么...

  • 难以维护。 尽管对于2-3种语言来说,这是一种简单的方法,但当你有很多列或很多语言时,它会变成真正的拖延
  • 这是事实,如果你使用phpMyAdmin或类似的。 我刚刚创建了一个解决方案 - 仅供受信任的人使用 - 帮助我或可信的翻译人员编辑许多和任何文本字符串。 它不完整,我停止开发它,因为它“有效”,我的页面在其他更重要的领域需要大量的工作。 正如你所看到的,我只能选择我想要的并不是所有的同时,也可以从全文字段改为小字符(长字符串或短字符串)。 其他脚本也有助于解决下一个缺点。

  • 很难添加一种新的语言
  • 我还创建了另一个脚本,帮助翻译字符串的页面字符串,并供最终用户协作。

    链接地址: http://www.djcxy.com/p/37463.html

    上一篇: Multilingual database design: Coupled Translation table approach

    下一篇: Database Design: how to store translated numbers?