基于数据库设计的中英文双语网站开发模式
扫描二维码
随时随地手机看文章
摘 要: 传统的中英文网站开发采用两套代码两个数据库或者一套代码两套资源文件的开发模式,在软硬件开销、代码与信息分离和系统的维护性方面均存在不同程度的缺陷。针对这一问题,把页面设计与数据库设计结合起来,利用编程技术,用一套代码一个数据库实现中英文双语网站的开发,以提高开发及维护效率,降低软件成本。
关键词: 双语网站;内容管理系统;数据库;静态内容;动态内容
我国一些具有国际战略眼光的企业,不仅建立了企业品牌中文网站,而且还建设了网站外文版[1]。英语是当今世界上主要的国际通用语言之一,为了逾越系统使用者中文要求的限制以及满足企业业务的需要,建立中英文双语管理信息系统网站是企业实现国际化管理的有效途径[1]。
目前通常采用的方法有以下两种[2]:第一种是开发两套系统,即中英文系统自成体系,用两套程序和两个数据库分别实现;第二种是使用一套程序,针对每个页面分别生成中英文两个资源文件以实现两种语言之间的切换,数据库可以用两个,也可以用一个。第一种方法实现容易,但是其开发、测试及维护效率均很低下;第二种方法开发效率相对较高,但由于存放中英文静态内容的资源文件与代码密不可分,不利于系统的维护。为克服上述开发模式的不足,本文选择Microsoft Visual Studio.Net平台的C#,提出一套基于C#的双语网站设计模式,设计一个静态信息表,将中英文静态内容存放于该表的不同字段,系统启动时一次性读出中英文静态内容并存放于DataTable对象中,各页面启动时依据页面编号和语言标志从DataTable中读取并显示静态内容;对页面动态内容,在各信息表中设计两个字段分别存放需要显示的中英文内容,根据页面的语言标志来读取对应字段内容动态显示于页面。即用一套代码一个数据库实现中英文双语网站的开发。
1 系统需求
本文以某企业的法律规章制度的管理信息系统为例来说明双语网站的实现。
(1)在业务需求方面,该系统旨在通过各地区(不同国家或区域)工作人员将各地区与本企业产品相关的产品安全标准和法律规章制度提取出来,按本企业的管理方式以中英文双语录入系统,经过主管部门确认后,向本企业各部门及业务往来公司公开,使企业产品在不违反销售对象国家及区域的法律制度的条件下进行合法营销。而目前的管理完全是通过手工制作Html文件的方式实现信息共享,这种方式既繁琐且工作量大。为了优化系统管理,本文提出利用数据库及网站开发平台来进行系统的设计及开发。
(2)在功能需求方面,该系统用来管理与企业相关产品的法律规章制度,类似于一般管理信息系统的功能:法律规章制度的追加、修改、删除、查询及报表的制作。此外,由于规章制度类信息篇幅较长,以电子文档方式保存的较多,因此,本系统还涉及电子文档的追加、修改、删除、查询功能,即上传、下载及文件浏览功能。
(3)在环境需求方面,由于双语网站面向的用户的多样性,要求客户端在以下4种组合的环境下能正常动作,因此,集成测试及系统测试也必须在这4种组合环境下进行:①中文WindowsXP、中文IE6;②英文WindowsXP、英文IE6;③中文WindowsVista、中文IE7;④英文WindowsVista、英文IE7。
(4)在安全需求方面,只有获得本系统用户名和密码的用户通过登录页面验证方可进入主菜单页面,但进入主菜单的用户权限各不相同,即不是进入主菜单的用户就能进入所有菜单项,通过对用户进行使用权限的设置及检查,控制不同用户对不同菜单项的使用权限;同时需要有效防止不经过菜单页面权限检查,在IE地址栏直接输入IP地址非法进入各业务页面访问。
2 双语对应设计
为了提高双语网站的可维护性,利用一套代码、一个数据库实现双语网站的构建。其主要实现技术主要包括页面设计、数据库表的设计和文件管理设计三个方面。
2.1 页面设计
利用C#进行网站开发,其页面显示的内容主要包含静态内容和动态内容两类。在设计中,页面静态内容并非像通常设计那样设置为固定值,而是从数据库的“静态信息表”读取;页面中同一控件的显示属性可以根据不同环境分别显示为中文与英文。为了便于设计及编程实现,将各页面的控件按统一方式进行编号设计,本文用5位符号字符对控件进行编号,编号规则如下:
第1位:用@表示所有页面共同的显示项,用#表示各页面专用的显示项。
第2、3位:按控件种类划分,用字符表示:
ID:页面名;
NV:向导文字;
LI:文字+链接;
FL:文字+输入(文本框,单、复选按钮,组合框等);
NA:仅显示文字;
BT:按钮名;
IM:画像文件名。
第4、5位:同种类控件按序编号,用数字表示。
页面设计中的上述编号,对应数据库的“静态信息表”的字段“页面控件编号”,不同页面的控件编号基本一致,以“页面编号”和“页面控件编号”为主键来区分不同记录。
设计示例如图1所示(假设页面编号为WWDG001),图中DA01和DA02为动态内容项,其编号不存放于数据库表的某一字段,只作为设计和编程中动态项目的对照依据。
2.2 数据库相关表的设计
本系统双语功能的实现主要借助于数据库设计。首先定义了一个“静态信息表”,在该表中定义了页面编号、页面控件编号、中英文名称等字段,主键为页面编号和页面控件编号,该表用来存放各个页面所有静态内容的中英文显示内容。针对WWDG001页面,静态信息表内容如表1所示。