A利用ASP小偷和Google實(shí)現(xiàn)在線翻譯功能的代碼
更新時(shí)間:2007年11月02日 21:56:55 作者:
復(fù)制代碼 代碼如下:
有時(shí)候想為我們的網(wǎng)頁(yè)提供多語(yǔ)言支持,如果一種語(yǔ)言用一張網(wǎng)頁(yè)來(lái)做實(shí)在太麻煩了,幸好Google提供了語(yǔ)言工具功能,下面介紹如何利用它來(lái)實(shí)現(xiàn)網(wǎng)頁(yè)多種語(yǔ)言之間的轉(zhuǎn)換。
lan.htm
<form>
<select name="lan">
<option value="en|de">英語(yǔ) 翻譯成 德語(yǔ)</option>
<option value="en|es">英語(yǔ) 翻譯成 西班牙語(yǔ)</option>
<option value="en|fr">英語(yǔ) 翻譯成 法語(yǔ)</option>
<option value="en|it">英語(yǔ) 翻譯成 意大利語(yǔ)</option>
<option value="en|pt">英語(yǔ) 翻譯成 葡萄牙語(yǔ)</option>
<option value="en|ja">英語(yǔ) 翻譯成 日語(yǔ) BETA</option>
<option value="en|ko">英語(yǔ) 翻譯成 朝鮮語(yǔ) BETA</option>
<option value="en|zh-CN" >英語(yǔ) 翻譯成 中文(簡(jiǎn)體) BETA</option>
<option value="de|en">德語(yǔ) 翻譯成 英語(yǔ)</option>
<option value="de|fr">德語(yǔ) 翻譯成 法語(yǔ)</option>
<option value="es|en">西班牙語(yǔ) 翻譯成 英語(yǔ)</option>
<option value="fr|en">法語(yǔ) 翻譯成 英語(yǔ)</option>
<option value="fr|de">法語(yǔ) 翻譯成 德語(yǔ)</option>
<option value="it|en">意大利語(yǔ) 翻譯成 英語(yǔ)</option>
<option value="pt|en">葡萄牙語(yǔ) 翻譯成 英語(yǔ)</option>
<option value="ja|en">日語(yǔ) 翻譯成 英語(yǔ) BETA</option>
<option value="ko|en">朝鮮語(yǔ) 翻譯成 英語(yǔ) BETA</option>
<option value="zh-CN|en">中文(簡(jiǎn)體) 翻譯成 英語(yǔ) BETA</option>
<input style="FONT-SIZE: 12px" type="button" value="Go->" name="Button1" onClick="javascript:window.open("translate.asp?urls="+document.location+"&lan="+lan.value,"_self","")">
</select>
</form>
lan.htm中的內(nèi)容用來(lái)選擇要翻譯的語(yǔ)言包括原來(lái)的語(yǔ)言和要翻譯成的語(yǔ)言。我們只需要將lan.htm中的內(nèi)容拷到提供多語(yǔ)言翻譯的頁(yè)面中就可以了。
translate.asp
<html>
<head>
<title>在線翻譯</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
"on error resume next
" 如果網(wǎng)速很慢的話,可以調(diào)整以下時(shí)間。單位秒
Server.ScriptTimeout = 999999
"========================================================
"字符編碼函數(shù)
"========================================================
Function BytesToBstr(body,code)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset =code
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
"取行字符串在另一字符串中的出現(xiàn)位置
Function Newstring(wstr,strng)
Newstring=Instr(lcase(wstr),lcase(strng))
if Newstring<=0 then Newstring=Len(wstr)
End Function
"替換字符串函數(shù)
function ReplaceStr(ori,str1,str2)
ReplaceStr=replace(ori,str1,str2)
end function
"=====================================================
function ReadXml(url,code,start,ends)
set oSend=createobject("Microsoft.XMLHTTP")
SourceCode = oSend.open ("GET",url,false)
oSend.send()
ReadXml=BytesToBstr(oSend.responseBody,code )
if(start="" or ends="") then
else
start=Newstring(ReadXml,start)
ReadXml=mid(ReadXml,start)
ends=Newstring(ReadXml,ends)
ReadXml=left(ReadXml,ends-1)
end if
end function
dim urlpage,lan
urlpage=request("urls")
lan=request("lan")
%>
<form method="post" action="translate.asp">
<input type="text" name="urls" size="150" value="<%=urlpage%>">
<input type="hidden" name="lan" value="<%=lan%>">
<input type="submit" value="submit">
</form>
<%
dim transURL
transURL="http://216.239.39.104/translate_c?hl=zh-CN&ie=UTF-8&oe=UTF-8&langpair="&server.URLEncode(lan)&"&u="&urlpage&"&prev=/language_tools"
if(len(urlpage)>3) then
getcont=ReadXml(transURL,"gb2312","","")
response.Write(getcont)
end if
%>
</body>
</html>
translate.asp實(shí)現(xiàn)翻譯功能,這是利用google的語(yǔ)言工具實(shí)現(xiàn)的。
注意,因?yàn)樘峁┒嗾Z(yǔ)言支持,所以translate.asp文件所用的編碼是支持所有字符的"utf-8"
相關(guān)文章
在JScript中使用緩存技術(shù)的實(shí)際代碼
在編寫ASP程序時(shí),通常為了提高ASP程序的運(yùn)行效率及減少對(duì)數(shù)據(jù)庫(kù)的連接和查詢,會(huì)使用緩存技術(shù)來(lái)緩存一些需要從數(shù)據(jù)庫(kù)讀取的數(shù)據(jù)。而在ASP中實(shí)現(xiàn)緩存的方法常用的就是使用Application對(duì)象。在編寫ASP程序時(shí),我們有兩種語(yǔ)言可以選擇,分別是VBScript和JScript。2008-05-05asp下輕松實(shí)現(xiàn)將上傳圖片到數(shù)據(jù)庫(kù)的代碼
asp下輕松實(shí)現(xiàn)將上傳圖片到數(shù)據(jù)庫(kù)的代碼...2007-11-11asp兩組字符串?dāng)?shù)據(jù)比較合并相同數(shù)據(jù)
兩組字符串?dāng)?shù)據(jù),需要比較其中相同的數(shù)據(jù),并將其值相加并組成一個(gè)新的字符串?dāng)?shù)據(jù)2008-08-08ASP與Excel結(jié)合生成數(shù)據(jù)表和Chart圖的代碼
ASP與Excel結(jié)合生成數(shù)據(jù)表和Chart圖的代碼,需要的朋友可以參考下。2009-12-12ASP多條件查詢功能實(shí)現(xiàn)代碼(多關(guān)鍵詞查詢)
今天在用asp增加一個(gè)多條件查詢,標(biāo)題可以包括多個(gè)關(guān)鍵詞,這樣提高匹配,防止內(nèi)容重復(fù)等2014-05-05ASP中Null,Empty,Nothing的區(qū)別分析
本文介紹在ASP中,NULL,Empty,Nothing這幾種空值的來(lái)源和判斷方法。希望對(duì)大家有所幫助。2014-08-08