网站想做的有英文,有简体中文.等如何做呢,就是说如微软等跨国的网站为了适应不同语言的用户再网页上总有一有栏让浏览者,有选择性的选择适合自己的语言而阅读浏览网页,请问这个设置如何操作呢,如何才可以实现这个功能,谢谢现在已网站建成了,如何才可以通过什么方法用诸位的方法改过来呢,谢谢
建设一个多语言版的ASP网站<ScriptRUNAT=SERVERLanguage=VBScript>SubApplication_OnStart()DimDictCommonStringsDimDictSpecializedStringsDimConnDimrsCommonStringsDimrsSpecializedStringsSetDictCommonStrings=Server.CreateObject("Scripting.Dictionary")SetDictSpecializedStrings=Server.CreateObject("Scripting.Dictionary") 接下来,我们把数据装入字典对象。通过遍历表,连接StringKey和StringLanguage,并把连接后的值作为字典的键值,来把StringHolder放在对应的字典数据区。实际中,数据库只在应用启动时被访问一次,其后ASP页面将从速度更快的字典对象读取所需数据:SetConn=Server.CreateObject("ADODB.Connection")Conn.ConnectionString="SomeConnectionString"Conn.open' 连接数据库SetrsCommonStrings=Conn.Execute("SelectStringKey,StringHolderfromCommonStrings")DountilrsCommonStrings.EOFDictCommonStrings.AddrsCommonStrings("StringLanguage")&rsCommonStrings("StringKey")_,rsCommonStrings("StringHolder")rsCommonStrings.MoveNext' 打开CommonStrings表,遍历所有记录并装入数据LoopSetrsSpecializedStrings=Conn.Execute("SelectStringKey,StringHolderfromSpecializedStrings")DountilrsSpecializedStrings.EOFDictSpecializedStrings.AddrsSpecializedStrings("StringLanguage")&_rsSpecializedStrings("StringKey"),rsSpecializedStrings("StringHolder")rsSpecializedStrings.MoveNext' 打开SpecializedStrings表,遍历所有记录并装入数据LooprsSpecializedStrings.ClosersCommonStrings.CloseConn.CloseSetrsSpecializedStrings=NothingSetrsCommonStrings=NothingSetConn=NothingEndSub</Script> 再次,我们就要在ASP页面引用文本和文件路径了。做好了前期工作,现在我们要在ASP页面引用已经实例化的字典对象中的文本以及文件路径。1、我们需要需要获知当前用户使用的是何种语言(忙了半天,不就是为了这个嘛)。获知对方使用何种语言的方法有好几种,我们用的是从Request.Server.Variables取得该值的办法,把下列代码放入Session_Onstart事件处理过程:<ScriptLanguage=VBScript>SubSession_OnStart()Session("Lang")=Request.Server.Variables("HTTP_ACCEPT_LANGUAGE")EndSub</Script> 2、再通过键值从字典对象取得对应的文本或图片文件路径。键值由语言前缀加名字组成,代码示例:<HTML><PAlign=center><h1><%=DictSpecializedStrings.Item(Session("Lang")&"Confirmation")%></h1></P><PAlign=center><h5><%=DictSpecializedStrings.Item(Session("Lang")&"OrderDisclaimer")%></h5></P></HTML> 都做好了。中文版浏览器:欢迎光临随风起舞!英文版浏览器:Welcome to Flying Happy in the Sun!
最好的办法是把页面上显示的文字放在资源文件里。如: TITLE_TEXT = 我的网站, CONTACT_TEXT = 联系我们。 这样只要在显示的页面里相应的位置上从资源文件得到文本:Properties.get("TITLE_TEXT");Properties.get("CONTACT_TEXT");对英语来说,把文本改成: TITLE_TEXT = My website, CONTACT_TEXT = contact me , 就可以了,页面的代码无需修改。 这样的话,无论是英语,中文,西班牙语。。。都可以应付了。
<script language="JavaScript" type="text/JavaScript"><!--function MM_jumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0;}//--></script><form name="form1" method="post" action=""> <select name="menu1" onChange="MM_jumpMenu('parent',this,0)"> <option value="中文页面.htm" selected>1</option> <option value="英文页面.htm">2</option> </select></form>