7

我正在尝试设计一些表来存储一些数据,这些数据稍后必须转换为不同的语言。任何人都可以为此提供一些“最佳实践”或指导方针吗?

谢谢

4

4 回答 4

15

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

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

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

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

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

于 2008-09-25T13:34:13.443 回答
1

你能描述一下“动态数据”的性质吗?

实现这一点的一种方法是拥有 3 个不同的表:

  • 语言表
    • 该表将存储语言和密钥:
    [1、英文],
    [2、西班牙语]
  • 数据定义表
    • 首次输入动态数据时,在此表中使用数据的标识符和标识符进行记录:
      [1, '数据1'],
      [2,“数据2”]
  • 数据_语言表
    • 该表将链接语言、数据定义和翻译
      所以:[Data_Language,Data_Definition,语言,翻译]
          [1, 1, 1, '红色']
          [2, 1, 2, '罗霍']
          [3, 2, 1, '绿色']
          [4, 2, 2, '佛得角']

          ETC ...

输入动态数据后,创建默认的“英语”记录,然后在您空闲时进行翻译。

于 2008-09-25T13:36:44.840 回答
0

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

于 2008-09-25T13:31:16.180 回答
0

通常,您可能应该查看具有常见非本地化数据的父表,以及具有本地化数据和语言键的子表。如果通过动态,您的意思是它经常更改,您可能想看看使用触发器和类似“translationRequired”标志的东西来标记更改后需要翻译的内容。

于 2008-09-25T13:36:10.147 回答