ASP网站实现中英文版的转换
时间:2011-01-17 来源:jiania
建立数据表的时候增加另外一个字段,目的用来存放英文的内容。例如:字段NewsContent用来存放中文的内容,那么 NewsContenten就用来存放英文的内容了;同时图片又要做两份了,图片的规定如下:例如中文的就保存为xx.jpg,英文的就要保存为 xx_en.jpg。中英版网站切换的时候就要用到语言包来实现了,即language.asp。
以下就是language.asp的实现代码:
<%
dim lan,T
lan=ucase(request("lng")) '获得语言种类
select case lan
case "CHN" '中文
Session("Language")=1
case "EN" '英语
session("Language")=2
case else
Session("Language")=3
end select
'取得当前页面的url
T=request("t")
if t="" then
response.Redirect(request.ServerVariables("HTTP_REFERER"))
else
response.Redirect(t)
end if
%>
配置文件siteconfig.asp:
<%
dim sitename,lngstr,languageid
if session("language")="" then
languageid=1 '默认为中文标识
else
languageid=session("language") '保存语言标识
end if
select case languageid '选择语言标识
case "1"
lngstr=""
sitename="XXX网"
case "2"
lngstr="en"
sitename="Programfan"
end select
%>
最后就是中英文版切换的连接了,代码如下:<a href="language.asp?lng=<% if lngstr="" then response.write("en")%>"><!--中英文切换的图片--></a> 。
第二种方法:
建立两个目录,分别为cn/和en/。cn/用来存放中文的网站,en/用来存放英文的网站。但是要确保两个网站的数据表结构字段等等要相同。也要实现language.asp代码:
<%
dim lang,url,queryurl1,queryurl2
lang=request.queryString("lang")
url=request.querystring("url")
queryurl1=request.QueryString("queryurl1")
queryurl2=request.QueryString("queryurl2")
response.redirect "/"&lang&"/"&url&"?"&queryurl1&"&"&queryurl2
%>
中英文版连接代码(中文版切换到英文版):
<%
On Error Resume Next '容错处理
dim currentURL,QueryURL
currentURL=request.ServerVariables("SCRIPT_NAME")'获得脚本名称
QueryURL=request.ServerVariables("QUERY_STRING")'获得查询字符串
currentURLArray=Split(currentURL,"CN/",-1,1) '实现获取CN目录下的ASP文件
QueryURLArray=Split(QueryURL,"&",-1,1) '获取字符串参数
currentURLArray(1)=server.URLEncode(currentURLArray(1))
QueryURLArray(0)=server.URLEncode(QueryURLArray(0))
QueryURLArray(1)=server.URLEncode(QueryURLArray(1))
%>
<a href="language.asp?lang=en&url= <%=currentURLArray(1)%> &queryurl1= <%=QueryURLArray(0)%> &queryurl2= <%=QueryURLArray(1)%> "> <B> English </B> </a>
上面是实现中文版切换到英文版的功能,反之亦然。