基于C#+asp.net+cs的CS应用程序平台多语种技术设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于C#+asp.net+cs的CS应用程序平台多语种技术设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:


  • 基于C#+asp.net+cs的CS应用程序平台多语种技术设计与实现(毕业论文+程序源码)
  • 1、项目简介
  • 2、资源详情
  • 3、关键词:
  • 4、毕设简介
  • 5、资源下载


1、项目简介

  1. C/S应用程序平台多语种技术是一种基于C/S应用技术结构平台的关于多语种的转换和翻译技术。本设计基于Visual Studio.Net集成开发环境,采用SQL Server2000进行数据库后台开发。通过采用数据字典实现应用系统的静态文本转换;通过使用Visual Studio.Net上的默认控件来实现提示信息的多语种转换;采用JavaScript解决报警信息的多语种转换。能够在软件开发工具和开发平台中能够自由进行多语种切换,增强软件开发工具和开发平台的使用性与通用性。本设计采用.NET技术,跨平台性强,运行速度快,用户可以快速、方便的进行操作,达到了预期效果。

2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:5767个字22页
包含内容:整套源码+完整毕业论文、


3、关键词:


多语种;数据字典;脚本语言


4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

  1. 引言
    1.1 设计背景
    基于C/S应用程序平台的多语种技术是指在一个应用程序中定义一个按钮,能够使用户在程序中方便有效的实现语种的切换。随着与外国专家学者交流机会的增多,也由于双方文化和语言的差异,导致了双方严重的沟通障碍。而且在国内的范围来说,对于多语种的研究,从文献上看,新疆和内蒙古大学的教授们在民族语言的多语种技术在计算机平台的应用走在了中国大学的前面,研制出了蒙、藏、维、哈、朝、汉相兼容的应用系统,成功实现在同一计算机平台上的多语种转换处理[1]。在中国,许多软件都在一定程度上实现语种的切换。

1.2 设计意义
省略

现在的应用程序中,像酒店管理系统、餐厅点菜系统等都是C/S结构,如果能在这些系统中实行多语种化,那么就能在未来的软件设计和开发中体现出更多人性化的需求因素。

1.3 设计方法
本设计采用ASP.NET(C#)技术进行开发。ASP.NET技术相对于传统的ASP技术有着绝对的优势,不但减化了程序员的代码量,而且对程序员开发WEB应用程序提供了完备的技术支持。.NET的跨平台性,也使得开发出来的WEB应用程序具有更好的扩展性,能够运行于不同的操作平台之下。由于SQL Server2000数据库与.NET同属微软产品,对接口、性能支持应该会比其它数据库达到更好的效果,所以后台数据库采用SQL Server2000 数据库。

2 需求分析
2.1 实际需求
省略

2.2 功能需求
基于C/S应用平台上的多语种转换技术能够在系统的前台定义一个语言按钮,通过调用后台数据库中数据字典的语种项,来进行语种的转换。而且使用时必须保证较短的请求响应时间。当需要增加一些新的功能时,本系统能进行语种的添加和升级。

3 数据库分析及设计
3.1 数据字典表
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。根据需求分析及模块划分,设计数据字典表结构如下。

用户信息表对应数据库中的数据字典表,其基本信息有:ID、ChineseWord、EnglishWord等,具体设计如表3-1所示。

表3-1 数据字典表

cs结构开发 java cs架构用什么语言开发_c#

3.2 报表信息表

报表信息表对应数据库中表dbo.ToyExp,报表信息表基本信息,如:cToyId、vToyName、vToyDescription等,具体设计如表3-2所示。

表3-2 报表信息表

cs结构开发 java cs架构用什么语言开发_cs结构开发 java_02

4 系统设计
4.1 功能分析
本设计实现的主要功能有三个:静态文本中的多语种转换,它分为单词和语句;在系统的消息中进行多语种的转换,系统消息分为警告、报警、提示等;报表系统前台页面表项的动态转换。

设计分为三个部分:首先在C/S应用程序的按钮上实现静态文本的多语种转换;然后通过设计一个数据字典实现动态的转换;最后用一个报表系统的提交页面实现页面的多语种转换。

设计的主要设计思路为“三层结构”,如图4-1所示,具体描述如下。
表现层:位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。

中间业务层:负责处理用户输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是调用数据访问层中的函数再次读出这些数据。中间业务层也可以包括一些对“商业逻辑”描述代码在里面。

数据访问层:仅实现对数据的保存和读取操作。数据访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。

cs结构开发 java cs架构用什么语言开发_asp.net_03

图4-1三层结构图

4.2 实现流程
本设计的系统实现流程如图4-2所示,通过一个定义的前台按钮,在建立SQL连接中访问ADO接口,再进入数据库访问数据字典,然后根据需求的不同,访问数据项。

cs结构开发 java cs架构用什么语言开发_cs结构开发 java_04

图4-2 流程图

在实现过程中所需的软硬件环境如下。
硬件条件
 个人PC机主要配置:
 CPU:奔腾5以上
 内存:256M以上
软件条件
 Windows Server 2003系统
 Visual Studio 2003集成开发工具
 SQL Server 2000简体个人版
 IIS2.0以上

通过前面的分析,本设计开发一个基于Visual Studio.net软件平台的多语种转换模块,实现静态文本中的多语种转换、系统的消息中进行多语种的转换、在生成报表的过程中多语种的转换的功能。在设计与开发中,重点关注静态文本中的多语种转换、系统的消息中进行多语种的转换。探讨既能实现基本的单词转换,又能实现可靠的语意转换的实现方法。

4.3 模块设计

本设计由三个主要模块组成。即静态的多语种转换、动态的多语种转换、报表系统前台页面表项的动态转换。具体的模块设计如图4-3所示。

cs结构开发 java cs架构用什么语言开发_Text_05

图4-3 模块设计图

4.4 详细设计

4.4.1 静态文本中的多语种转换

静态文本的多语种转换分为单词和语句,本设计重点讨论单词在静态文本中的转换。

下面以一个简单的播放程序为例(如图4-4所示)来说明如何在C/S应用系统中进行单词的静态转换。

cs结构开发 java cs架构用什么语言开发_cs结构开发 java_06

图4-4 播放程序图

通过在说明这个选项中添加一个功能按钮来实现语种的转换如图4-5所示。

cs结构开发 java cs架构用什么语言开发_javascript_07

图4-5 播放程序中的功能按纽

在选项中点击按钮“英语”或“中文”时,就会把静态文本中的语种转换过来,效果如图4-6所示。

cs结构开发 java cs架构用什么语言开发_Text_08

图4-6 转换后的语种图
具体实现代码如下所示。

private void menuItem2_Click(object sender, System.EventArgs e) //英文控制按纽
	  {
		menuFile.Text="File";
		menuOpen.Text = "Open File";
		menuLoad.Text="Load File";
		menuSave.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";
		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 sender, 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="相撲版";
				menuFull.Text="あんよ";
				menuHelp.Text="ほんとう";
				menuAbout.Text="关于 xlFancyPlay";
				menuItem2.Text="英国语";
				menuItem3.Text="日本语";
				menuItem4.Text="中国语";
	}

			private void menuItem4_Click(object sender, 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="右声道";
				menuFull.Text="全屏";
				menuHelp.Text="说明";
				menuAbout.Text="关于 xlFancyPlay";
				menuItem2.Text="英文";
				menuItem3.Text="日文";
				menuItem4.Text="中文";
			}

4.4.2 报警、提示、警告信息的多语种转换
在报表系统进行多语种的转换就是对消息进行多语种的转换,系统消息分为警告、报警、提示等,用Visual Studio.Net系统平台上所默认的控件或者用脚本语言实现转换功能。

报表系统的信息上传界面如图4-7所示。

cs结构开发 java cs架构用什么语言开发_javascript_09

图4-7 信息上传界面

通过右上的四个按钮来控制语种的转换,“提交”按钮控制着信息的上传。系统信息的语种转换是通过选用脚本语言来控制和实现的。关于对用脚本语言进行消息的多语种转换,其主要是用于对验证为空的信息的语言转换。
英语提交前台上的验证信息转换如图4-8所示。

cs结构开发 java cs架构用什么语言开发_asp.net_10

图4-8 英语提交前台上的验证信息转换

在中文提交前台的界面如图4-9所示。

cs结构开发 java cs架构用什么语言开发_asp.net_11

图4-9 中文提交前台的验证信息转换

具体实现代码如下所示。

cs结构开发 java cs架构用什么语言开发_c#_12


cs结构开发 java cs架构用什么语言开发_javascript_13

以上代码的功能是通过加载页面的元素getElementById来判spankiss的值,再最终决定是调用英文还是中文的标识。

在限制数据上传的位数时,采用RangeValidator控件,中文的界面上的报警信息如图4-10所示。

cs结构开发 java cs架构用什么语言开发_cs结构开发 java_14

图4-10 中文界面报警信息

而转换过来的英文界面的报警信息如图4-11所示。

cs结构开发 java cs架构用什么语言开发_javascript_15

图4-11 英文界面报警信息

具体实现代码如下所示:
this.RangeValidator1.ErrorMessage=“ToyId is 3 Bit”;//定义控件的信息内容

this.RangeValidator3.ErrorMessage="ToyDescription is less than 125 chinese wrod";
this.RangeValidator2.ErrorMessage="CategoryId is 3 Bit";
this.RangeValidator4.ErrorMessage="ToyRate is currency";
this.RangeValidator5.ErrorMessage="BrandId should be 3 Bite";
this.RangeValidator6.ErrorMessage="LowerAge is less than 125";
this.RangeValidator8.ErrorMessage="UpperAge is less than 125";

4.4.3 报表系统前台页面表项的动态转换

在数据库技术中,在数据字典中进行单词多语种的关联,使前台能够自由的调用数据,数据字典(如图4-12所示)是指在数据库中所有表的集合。

cs结构开发 java cs架构用什么语言开发_javascript_16

图4-12 数据字典表

通过调用一个按钮调用表中的列来进行动态的调用,效果图如图4-13所示。

cs结构开发 java cs架构用什么语言开发_javascript_17

图4-13 报表上传页面的中文界面

通过英文转换后的界面如图4-14所示。

cs结构开发 java cs架构用什么语言开发_cs结构开发 java_18

图4-14报表上传页面的英文界面
其重要的代码如下所示。

从数据库中访问并提取数据项

public class Class1
	{
		public Class1()
		{
			//
			// TODO: 在此处添加构造函数逻辑
			//
		}
		public SqlConnection Sqlcon()
		{
			SqlConnection conn=new SqlConnection("server=.;uid=sa;pwd=;database=jloa");
			return conn;
	
		}//建立数据库连接
        public string sqlSelect(string ToyId,string ToyName,string ToyDescription,string CategoryId,string ToyRate,string BrandId,string Photo,string ToyQoh,string LowerAge,string UpperAge,string ToyWeight,string ToyImgPath)
		{
			SqlConnection con=this.Sqlcon();
			con.Open();
            SqlCommand  cmd =new SqlCommand("select ChineseWord from Dic ",con);  //从数据字典中调用chineseWord项
			SqlDataReader rd=cmd.ExecuteReader(); //读SQL语句的值;
			string temp="-";
			int i =0;
			while(rd.Read())   //循环读SQL命令
			{
			temp+=rd["ChineseWord"].ToString()+"-"; //把读出来的值放到字符中,用间隔隔开;
				i++;
			}
		 	con.Close();
			return temp;
		}
		public string sqlSelect1(string ToyId,string ToyName,string ToyDescription,string CategoryId,string ToyRate,string BrandId,string Photo,string ToyQoh,string LowerAge,string UpperAge,string ToyWeight,string ToyImgPath)
		{
			SqlConnection con=this.Sqlcon();
			con.Open();
			SqlCommand  cmd =new SqlCommand("select EnglishWord from Dic ",con);
			SqlDataReader rd=cmd.ExecuteReader();
			string temp="-";
			int i =0;
			while(rd.Read())
			{
				temp+=rd["EnglishWord"].ToString()+"-"; 
				i++;
			}
			con.Close();
			return temp;
		}
		public int sqlQuery(string str)
		{
			SqlConnection con=this.Sqlcon();
			con.Open();
			SqlCommand cmd =new SqlCommand(str,con);
			int i=cmd.ExecuteNonQuery();
			con.Close();
			return i;
		}
	}
}
对从数据库提出的数据进行转换。
Class1 tool=new Class1();
			string i=tool.sqlSelect(this.Label2.Text.ToString(),this.Label5.Text.ToString(),this.Label4.Text.ToString(),this.Label3.Text.ToString(),this.Label11.Text.ToString(),this.Label10.Text.ToString(),this.Label9.Text.ToString(),this.Label8.Text.ToString(),this.Label7.Text.ToString(),this.Label6.Text.ToString(),this.Label12.Text.ToString(),this.Label14.Text.ToString());
		Label2.Text=i.Split('-')[1].ToString().Replace("cToyId","ToyId");     //从数据库表中取出某一字段的值,然后再次分配。
			Label5.Text=i.Split('-')[2].ToString().Replace("vToyName","ToyName");
			Label4.Text=i.Split('-')[3].ToString().Replace("vToyDescription","Detail");
			Label3.Text=i.Split('-')[4].ToString().Replace("cCategoryId","CateId");
			Label11.Text=i.Split('-')[5].ToString().Replace("mToyRate","ToyRate");
			Label10.Text=i.Split('-')[6].ToString().Replace("cBrandId","BrandId");
			Label9.Text=i.Split('-')[7].ToString().Replace("imPhoto","Photo");
			Label8.Text=i.Split('-')[8].ToString().Replace("siToyQoh","ToyQoh");
			Label7.Text=i.Split('-')[9].ToString().Replace("siLowerAge","LowerAge");
			Label6.Text=i.Split('-')[10].ToString().Replace("siUpperAge","UpperAge");
			Label12.Text=i.Split('-')[11].ToString().Replace("siToyWeight","Weight");
			Label14.Text=i.Split('-')[12].ToString().Replace("vToyImgPath","ImgPath");
			this.Button3.Text="Refer";
			this.Button2.Text="Chinese";
			this.Button1.Text="English";
			this.Button5.Text="Japenese";
			this.Label13.Text=" refering please!";

5 系统测试
5.1 遇到的问题
在系统测试过程中,遇到的问题主要如下:

  1. 用户在报表系统的前台页面在用控件对多语种信息进行加载的时候,触发控件时总是只能单独的加载默认信息而使得其它语种信息无法通过按钮的加载的同时,也让其它按钮失去功能。同时数据库开销过大。
  2. 由于之前使用的Datagrid控件时,这个控件只能调用数据库中的唯一的表,这就要求系统的前台必须要建立两个Datagrid控件的同时,要在数据库中建立两个不同语种表,让前台进行调用。这样就拖慢了系统的反应速度。

5.2 解决问题的方法
下面针对系统测试过程中遇到的问题,进行了具体解决。

  1. 控件ID信息无法加载的情况下,发现按钮只能出发同时触发控件,不能分别的触发控件。于是就出现了通过按钮却发现控件的触发全乱套了。于是采用了JavaScript脚本语言。经过测试后发现,功能虽然实现了,但是JavaScript脚本语言是前台语言,不但可读性很差。而且在编程时,对获取系统存储图片的绝对路径并将其存入数据库也很不方便。
  2. 用控件Datagrid调用数据库而造成系统开销过大的问题,使用数据字典来进行解决。因为数据字典是数据库里所有的表的集合,所以可以在数据字典中把所有需要多语种显示的数据项设立不同语种的分列,然后通过前台根据需要来调用,从而解决该问题。

结 论
本系统是一般C/S应用程序对多语种转换的需求而完成的设计,该设计初衷是以简单实用的原则出发,本着周期短、易维护、重实效的目的,采用“自下向上”的设计思路,重点完成了前台对数据字典表项的调用完成对多语种转换功能的实现,而对数据字典中的语种类型还不够多,如有需要还可以扩充。代码也有可重用性能够最大限度的满足系统的需求。

本设计主要是对基于C/S结构的应用程序中进行多语种转换的方法进行详细的研究和探索。通过功能设计图和结构设计图依次对模块划分,结构设计进行阐述。并对系统从分析到设计以及实现进行了讲述,其中包括方案的选择,项目特色,出现的问题,以及怎样解决进行了论述。

省略
参考文献
[1]范逸之.VisualBasic与分布式监控系统一RS232/485串行通信[M].北京:清华大学出版社,2002.
[2]Charles Petzold著.Microsoft c# Windows程序设计[M].北京:北京大学出版社,2005.
[3]Simon Robinson 、Christian Nagel等著.C#高级编程[M].北京:清华大学出版社,2005.
[4] 王浩然.C#行家设计手册.北京:中国铁道出版社[M],2002.
[5] 刘甲耀、严桂兰.C#程序设计培训教程[M].北京:机械工业出版社,2002.

致 谢
省略