我想设计一些表格要储存一些数据,这些数据必须转化为不同的语言以后。任何人都可以提供一些"最佳做法"或准则?

感谢

有帮助吗?

解决方案

假设您有一个如下所示的产品表:

Products
----------
id
price

Products_Translations
----------------------
product_id
locale
name
description

然后你加入product_id = product.id和locale ='en-US'

当然这对性能有影响,因为您现在需要一个连接来获取名称和描述,但它稍后允许任意数量的语言环境。

其他提示

我认为有关你正在做的事情的更多信息会有所帮助。你能给出一些数据样本吗?动态是什么意思?随着时间的推移会插入大量数据,对数据进行大量更改,或者数据只需要在一小段时间内可用。

通常,您可能应该查看具有常见非本地化数据的父级,以及包含本地化数据和语言键的子表。如果通过动态,你的意思是它经常变化,你可能想看一下使用触发器和类似'translationRequired'标志的东西来标记在做出改变之后需要翻译的东西。

你能描述的性质'的动态数据'的?

一种方式来实现这将有3个不同的表格:

  • 语言表
    • 这表将储存的语言和关键:
    [1, English], 
    [2, Spanish]
  • 数据定义表
    • 当动态的数据是第一次进入作出记录在该表中,与和标识符的数据:
      [1, 'Data1'], 
      [2, 'Data2']
  • Data_Language表
    • 该表将连接的语言,数据的定义和翻译
      So: [Data_Language, Data_Definition, Language, Translation]
          [1, 1, 1, 'Red']
          [2, 1, 2, 'Rojo']
          [3, 2, 1, 'Green']
          [4, 2, 2, 'Verde']

          etc ...

当动态数据输入建立的默认的'英国'的记录,然后把你的休闲。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top