创建多语言数据库的最佳方法是什么? for each 表创建本地化表会使设计和查询变得复杂,在其他情况下,为每种语言添加列很简单,但不是动态的,请帮助我了解企业应用程序的最佳 Select
创建多语言数据库的最佳方法是什么? for each 表创建本地化表会使设计和查询变得复杂,在其他情况下,为每种语言添加列很简单,但不是动态的,请帮助我了解企业应用程序的最佳 Select
我们要做的是 for each 多语言对象创建两个表.
例如,第一个表只包含与语言无关的数据(主键等),第二个表包含每种语言的一条记录,其中包含本地化数据和该语言的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>
使用这种方法,您可以根据需要处理任意多个语言(无需为每种新语言添加额外的字段).
Update (2014-12-14): please have a look at 100, for some additional information about the implementation used to load multilingual data into an application.