要實現中英文版網站轉換暫時有兩種方法。
第一種方法:
建立資料表的時候增加另外一個欄位,目的用來存放英文的內容。例如:欄位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>
上面是實現中文版切換到英文版的功能,反之亦然。