就数据库而言,解决方案是您将拥有一个Languages
表,并且您的每个用户都将在数据库中根据其记录使用一种语言,或者用户可以从页面上的下拉列表中选择语言。我说的所有实体表UserStatus
,UserTypes
等等都会有一个相关的语言表,比如:UserStatus_Lang
,它将保存语言特定的文本,比如:
UserStatus Table
UserStatusId
1
UserStatus_Lang
UserStatusId_FK LangId_FK Text
1 1 Online
1 2 ******
保存时您将保存实体表的 ID,但在显示时您将显示_Lang
表中的文本。
对于页面上的标签等控件,您将创建一个 table Pages
,它将保存页面的页面名称,而不是另一个 tablePageControls
来保存页面上存在的控件,而不是另一个 tablePageControlsText
将针对页面控件保存语言特定文本。在 Page_Init 事件中,您将从数据库中获取页面控件及其文本(根据所选语言),并通过在页面上搜索来设置页面控件的文本。
我希望你对这个实现有一些想法。===============================修改=================== =================
页表
PAGEID PAGENAME [OTHER COLUMNS]
页面控制表
PAGECONTROLID PAGEID_FK PAGECONTROLNAME [OTHER COLUMNS]
页面控制文本表
PAGECONTROLID_FK LANGID_FK PAGECONTROLTEXT
就您的描述而言,您必须像在 2 个表 TABLE1 中那样进行操作
ID ITEM_NAME
比另一个表 TABLE1_LANG
ID_FK LANGID_FK DESCRIPTION
通过使用这种方法,当系统中引入新语言时,您无需修改结构。