3 回答
TA贡献1776条经验 获得超12个赞
我们所做的是为每个多语言对象创建两个表。
例如,第一个表仅包含与语言无关的数据(主键等),第二个表包含每种语言一个记录,包含本地化数据和语言的ISO代码。
在某些情况下,我们添加一个DefaultLanguage字段,这样如果没有可用于指定语言的本地化数据,我们就可以回退到该语言。
例:
Table "Product":
----------------
ID : int
<any other language-neutral fields>
Table "ProductTranslations"
---------------------------
ID : int (foreign key referencing the Product)
Language : varchar (e.g. "en-US", "de-CH")
IsDefault : bit
ProductDescription : nvarchar
<any other localized data>
使用此方法,您可以根据需要处理多种语言(无需为每种新语言添加其他字段)。
TA贡献1825条经验 获得超6个赞
我觉得这种方法适合我:
产品产品详细信息国家
========= ================== =========
ProductId ProductDetailId CountryId
- etc - ProductId CountryName
CountryId语言
产品名称 - 等 -
产品描述
- 等 -
ProductDetail表包含您要支持的语言的所有翻译(对于产品名称,描述等)。根据您应用的要求,您可能希望将Country表分解为使用区域语言。
添加回答
举报