1、C/S 应用程序平台多语种技术应用研究摘 要C/S 应用程序平台多语种技术是一种基于 C/S 应用技术结构平台的关于多语种的转换和翻译技术。本设计基于 Visual Studio.Net 集成开发环境,采用SQL Server2000 进行数据库后台开发。通过采用数据字典实现应用系统的静态文本转换;通过使用 Visual Studio.Net 上的默认控件来实现提示信息的多语种转换;采用 JavaScript 解决报警信息的多语种转换。能够在软件开发工具和开发平台中能够自由进行多语种切换,增强软件开发工具和开发平台的使用性与通用性。本设计采用.NET 技术,跨平台性强,运行速度快,用户可以快速
2、、方便的进行操作,达到了预期效果。关键词: 多语种;数据字典;脚本语言The Multilingual Language Technology of C / SApplications PlatformAbstractThe multilingual language conversion of C / S applications platform is a sort of technology that is based on C / S applications in the platform of the structure on the multilingual conversion
3、 and translation. It is developed with visual integrated development tools as ground-designed and SQL Server 2000 database as development background. The static text conversion is achieved with the use of data dictionary application system. The message of the multilingual conversion is completed wi
4、th the use of the default controls in the Visual Studio.Net. The multilingual conversion is resolved with JavaScript alarm of information. The software tools and platform in this thesis can be multilingual switching freely, enhanced software development tools and developed platform usability. For us
5、ed .NET technology in this system, the system is a strong cross-platform, can be run quickly and easily conducted the operation which achieve the desired effect. Key words: multilingual language; data dictionary; JavaScript目录论文总页数:23 页1. 引言 .11.1 设计背景 .11.2 设计意义 .11.3 设计方法 .12. 需求分析 .22.1 实际需求 .22.2
6、 功能需求 .23. 数据库分析及设计 .23.1 数据字典表 .23.2 报表信息表 .34. 系统设计 .34.1 功能分析 .34.2 实现流程 .44.3 模块设计 .54.4 详细设计 .54.4.1 静态文本中的多语种转换 .54.4.2 报警、提示、警告信息的多语种转换 .84.4.3 报表系统前台页面表项的动态转换 .125. 系统测试 .165.1 遇到的问题 .165.2 解决问题的方法 .16结 论 .16参考文献 .17声 明 .19第 1 页 共 22 页1. 引言1.1 设计背景基于 C/S 应用程序平台的多语种技术是指在一个应用程序中定义一个按钮,能够使用户在程序
7、中方便有效的实现语种的切换。随着与外国专家学者交流机会的增多,也由于双方文化和语言的差异,导致了双方严重的沟通障碍。而且在国内的范围来说,对于多语种的研究,从文献上看,新疆和内蒙古大学的教授们在民族语言的多语种技术在计算机平台的应用走在了中国大学的前面,研制出了蒙、藏、维、哈、朝、汉相兼容的应用系统,成功实现在同一计算机平台上的多语种转换处理 1。在中国,许多软件都在一定程度上实现语种的切换。在国外,微软在推出不同时期各个操作系统中,都成功的进行了多语种的处理和切换。1.2 设计意义近几年由于发达国家普遍把应用软件外包给国外那些有着雄厚技术能力以及廉价的人力资源的软件公司,进行应用软件的开发和
8、设计。但是由于许多国家在教育、语言、经济条件等基本国情的制约下,既懂技术又懂外语的科学人才严重缺乏,而导致了软件的开发工具和开发平台在世界上通用性不强,假如能够在软件的开发工具和开发平台中能够自由的进行多语种的切换,那么就会使开发平台和开发工具在国际上具有通用性和普及性。在面向对象软件中有许多可以通用的模块,假如能够用多语种计算机技术让它在同一个平台上进行多语种的切换,那么它的通用性将会打破国家、地域、语言文化的界限,在国际上的通用性会更大。现在的应用程序中,像酒店管理系统、餐厅点菜系统等都是 C/S 结构,如果能在这些系统中实行多语种化,那么就能在未来的软件设计和开发中体现出更多人性化的需求
9、因素。1.3 设计方法本设计采用 ASP.NET(C#)技术进行开发。ASP.NET 技术相对于传统的 ASP技术有着绝对的优势,不但减化了程序员的代码量,而且对程序员开发 WEB应用程序提供了完备的技术支持。.NET 的跨平台性,也使得开发出来的 WEB应用程序具有更好的扩展性,能够运行于不同的操作平台之下。由于 SQL Server2000 数据库与.NET 同属微软产品,对接口、性能支持应该会比其它数据库达到更好的效果,所以后台数据库采用 SQL Server2000 数据库。第 2 页 共 22 页2. 需求分析2.1 实际需求随着中国加入 WTO,国家的软件业正在向规范化、产业化、国
10、际化的方向发展。在许多高新技术进入中国的同时,在同那些优秀的外国专家交流沟通过程中发现一些小问题,比如在一些应用系统平台上,编写的应用程序为了满足中国人自己的需求,而采用的汉语的表示方法,可是在工作和学习的过程中,难免会与外国专家打交道,计算机应用技术是一门新兴的技术,在中国这个大环境下,合格的计算机翻译可以说几乎没有。大多数技术人员、软件程序员都存在外语能力严重不足的缺点,将在很长的时间里成为 IT 界发展的初级阶段。2.2 功能需求基于 C/S 应用平台上的多语种转换技术能够在系统的前台定义一个语言按钮,通过调用后台数据库中数据字典的语种项,来进行语种的转换。而且使用时必须保证较短的请求响
11、应时间。当需要增加一些新的功能时,本系统能进行语种的添加和升级。3. 数据库分析及设计3.1 数据字典表数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。根据需求分析及模块划分,设计数据字典表结构如下。用户信息表对应数据库中的数据字典表,其基本信息有:ID、 ChineseWord、EnglishWord 等,具体设计如表 3-1 所示。表 3-1 数据字典表Id ChineseWord EnglishWord01 玩具 ID cToyId02 玩具名称 vToyName03 玩具描述 vToyDescription04 种类 ID cCategoryId05 玩具
12、价格 mToyRate06 商标 ID cBrandId07 照片 imPhoto08 数量 siToyQoh09 最底年龄 siLowerAge10 最大年龄 siUpperAge11 玩具重量 siToyWeight12 玩具图象路径 vToyImgPath第 3 页 共 22 页3.2 报表信息表报表信息表对应数据库中表 dbo.ToyExp,报表信息表基本信息,如:cToyId、vToyName、vToyDescription 等,具体设计如表 3-2 所示。表 3-2 报表信息表数据字段名 数据类型 字段意义cToyId char(6) primary key 玩具 IDvToyNa
13、me Varchar(20) not null 玩具名称vToyDescription Varchar(250) null 玩具描述cCategoryId char(3)null 种类 IDmToyRate moneynot null 玩具价格cBrandId char(3)null 商标 IDimPhoto Datatimenull 照片siToyQoh smallint not null 数量siLowerAge smallint not null 最底年龄siUpperAge smallint not null 最大年龄siToyWeight smallint null 玩具重量vToy
14、ImgPath Varchar(50) null 玩具图象路径4. 系统设计4.1 功能分析本设计实现的主要功能有三个:静态文本中的多语种转换,它分为单词和语句;在系统的消息中进行多语种的转换,系统消息分为警告、报警、提示等;报表系统前台页面表项的动态转换。 设计分为三个部分:首先在 C/S 应用程序的按钮上实现静态文本的多语种转换;然后通过设计一个数据字典实现动态的转换;最后用一个报表系统的提交页面实现页面的多语种转换。设计的主要设计思路为“三层结构”,如图 4-1 所示,具体描述如下。表现层:位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面
15、。中间业务层:负责处理用户输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是调用数据访问层中的函数再次读出这些数据。中间业务层也可以包括一些对“商业逻辑”描述代码在里面。数据访问层:仅实现对数据的保存和读取操作。数据访问,可以访问数据第 4 页 共 22 页库系统、二进制文件、文本文档或是 XML 文档。表 现 层中间业务层数据访问层表 现 层中间业务层数据访问层项目依赖方向 数值返回方向图 4-1 三层结构图4.2 实现流程本设计的系统实现流程如图 4-2 所示,通过一个定义的前台按钮,在建立SQL 连接中访问 ADO 接口,再进入数据库访问数据字典,然后根据需求的不同,访问数据项
16、。图 4-2 流程图在实现过程中所需的软硬件环境如下。硬件条件 个人 PC 机主要配置: CPU:奔腾 5 以上 内存:256M 以上软件条件 Windows Server 2003 系统 Visual Studio 2003 集成开发工具 SQL Server 2000 简体个人版 IIS2.0 以上前台按钮数据字典英文单词日语汉字中文汉字ADO 数据接口第 5 页 共 22 页通过前面的分析,本设计开发一个基于 Visual S 软件平台的多语种转换模块,实现静态文本中的多语种转换、系统的消息中进行多语种的转换、在生成报表的过程中多语种的转换的功能。在设计与开发中,重点关注静态文本中的多语
17、种转换、系统的消息中进行多语种的转换。探讨既能实现基本的单词转换,又能实现可靠的语意转换的实现方法。4.3 模块设计本设计由三个主要模块组成。即静态的多语种转换、动态的多语种转换、报表系统前台页面表项的动态转换。具体的模块设计如图 4-3 所示。图 4-3 模块设计图4.4 详细设计4.4.1 静态文本中的多语种转换 静态文本的多语种转换分为单词和语句,本设计重点讨论单词在静态文本中的转换。下面以一个简单的播放程序为例(如图 4-4 所示)来说明如何在 C/S 应用系统中进行单词的静态转换。图 4-4 播放程序图文本单词转换动态转换验证信息多语种转换提示信息多语种转换报警信息多语种转换静态转换
18、模块设计第 6 页 共 22 页通过在说明这个选项中添加一个功能按钮来实现语种的转换如图 4-5 所示。图 4-5 播放程序中的功能按纽在选项中点击按钮“英语”或“中文”时,就会把静态文本中的语种转换过来,效果如图 4-6 所示。图 4-6 转换后的语种图具体实现代码如下所示。private void menuItem2_Click(object sender, System.EventArgs e) /英文控制按纽menuFile.Text=“File“;menuOpen.Text = “Open File“;第 7 页 共 22 页menuLoad.Text=“Load File“;men
19、uSave.Text=“Save Anther File“;menuClose.Text=“Close File“;menuDelSelect.Text=“Delete Select File“;menuDelAll.Text=“Delete All File“;menuExit.Text=“Exit“;menuMedia.Text=“Media“;menuPlay.Text=“Play“;menuPause.Text=“Pause“;menuStop.Text=“Stop“;menuPrevious.Text=“Previous File“;menuNext.Text=“Next File“
20、;menuDiploid.Text=“Diploid Play“;menuHalf.Text=“Half Play“;menuLeft.Text=“Left“;menuRight.Text=“Right“;menuFull.Text=“Full screen“;menuHelp.Text=“Help“;menuAbout.Text=“About xlFancyPlay“;menuItem2.Text=“English“;menuItem3.Text=“Japanese“;menuItem4.Text=“Chinese“;private void menuItem3_Click(object s
21、ender, System.EventArgs e)/日语控制按钮menuFile.Text=“文件“;menuOpen.Text = “君名“;menuLoad.Text= “女風呂“;menuSave.Text=“消“;menuClose.Text=“;menuDelSelect.Text=“知人実見談“;menuDelAll.Text=“伝説“;menuExit.Text=“銭湯“;menuMedia.Text=“知“;menuPlay.Text=“絶“;menuPause.Text=“;menuStop.Text=“;menuPrevious.Text=“風景“;menuNext.Text=“部屋“;menuDiploid.Text=“子供“;menuHalf.Text=“風呂“;menuLeft.Text=“伝説“;menuRight.Text=“相撲版“;