【发布时间】:2010-09-13 02:18:24
【问题描述】:
我正在尝试设计一些表来存储一些数据,这些数据稍后必须转换为不同的语言。任何人都可以为此提供一些“最佳实践”或指南吗?
谢谢
【问题讨论】:
标签: sql sql-server database-design localization
我正在尝试设计一些表来存储一些数据,这些数据稍后必须转换为不同的语言。任何人都可以为此提供一些“最佳实践”或指南吗?
谢谢
【问题讨论】:
标签: sql sql-server database-design localization
假设您有一个如下所示的产品表:
Products
----------
id
price
Products_Translations
----------------------
product_id
locale
name
description
然后您只需加入 product_id = product.id 和 where locale='en-US'
当然这会对性能产生影响,因为您现在需要一个连接来获取名称和描述,但它允许以后使用任意数量的语言环境。
【讨论】:
您能描述一下“动态数据”的性质吗?
实现这一点的一种方法是使用 3 个不同的表:
输入动态数据后,创建默认的“英语”记录,然后在您空闲时进行翻译。
【讨论】:
我相信有关您正在做什么的更多信息会有所帮助。你能提供一些数据样本吗?你所说的动态是什么意思?随着时间的推移将插入大量数据并对数据进行大量更改,或者数据只需要在很短的时间内可用。
【讨论】:
一般来说,您可能应该查看具有常见非本地化数据的父表,以及具有本地化数据和语言键的子表。如果通过动态,您的意思是它经常更改,您可能想看看使用触发器和类似“translationRequired”标志的东西来标记更改后需要翻译的内容。
【讨论】: