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

标签 java database-design nosql multilingual bigtable

任何人都可以提供有关如何为多语言站点组织非关系数据库的建议吗?这是关于这些东西的一些问题,但是对于 MySQL 等。“多语言”不仅是静态的(我们可以使用框架来做到这一点),而且还具有动态内容。事实上,我们不知道用户希望创建内容的语言有多少种:可以为对象创建“名称”并将其翻译成他想要的多种语言。

我们的团队在带有 Objectify 的 GAE 上使用 Java Spring Framework。但我认为这并不重要——我们使用的是什么工具。

或者 nosql 数据库实际上并不是完成此类任务的正确工具。

附注对不起英语不好

最佳答案

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

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

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

翻译表:

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等就可以轻松控制所有的翻译表。

希望这对您有所帮助。

关于java - 没有关系数据库的多语言网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7012669/

相关文章:

java - 不兼容类型 : void cannot be converted to int

mysql - 如何在联结表中进行编辑

php - 基于动态配置文件的网站也有硬链接(hard link)?

java - HBase:从 HDFS 加载主协处理器

java - 如何在不离开页面的情况下从 servlet 返回一个字符串?

java - 当文件名以 r 开头时,速度模板无法正确渲染

python - 在redis中查询

python - 快速存储、查找和检索数据库设计

java - 从我的应用程序运行例行备份

django - 将数据从一个表链接到另一个表,并通过中间表连接