| 
	| 〖文章分类:电脑·手机·网络 / 网站设计·开发·优化〗〖阅读选项〗 |  | 有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好 Google  
提供了语言工具功能,下面介绍如何利用它来实现网页多种语言之间的转换。 lan.htm
 <form>
 <select name="lan">
 <option value="en|de">英语 翻译成 德语</option>
 <option value="en|es">英语 翻译成 西班牙语</option>
 <option value="en|fr">英语 翻译成 法语</option>
 <option value="en|it">英语 翻译成 意大利语</option>
 <option value="en|pt">英语 翻译成 葡萄牙语</option>
 <option value="en|ja">英语 翻译成 日语 BETA</option>
 <option value="en|ko">英语 翻译成 朝鲜语 BETA</option>
 <option value="en|zh-CN" >英语 翻译成 中文(简体) BETA</option>
 <option value="de|en">德语 翻译成 英语</option>
 <option value="de|fr">德语 翻译成 法语</option>
 <option value="es|en">西班牙语 翻译成 英语</option>
 <option value="fr|en">法语 翻译成 英语</option>
 <option value="fr|de">法语 翻译成 德语</option>
 <option value="it|en">意大利语 翻译成 英语</option>
 <option value="pt|en">葡萄牙语 翻译成 英语</option>
 <option value="ja|en">日语 翻译成 英语 BETA</option>
 <option value="ko|en">朝鲜语 翻译成 英语 BETA</option>
 <option value="zh-CN|en">中文(简体) 翻译成 英语 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中的内容用来选择要翻译的语言包括原来的语言和要翻译成的语言。我们只需要将lan.htm中的内容拷到提供多语言翻译的页面中就可以了。
 
 translate.asp
 <html>
 <head>
 <title>在线翻译</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 </head>
 
 <body>
 <%
 "on error resume next
 " 如果网速很慢的话,可以调整以下时间。单位秒
 Server.ScriptTimeout = 999999
 "========================================================
 "字符编码函数
 "========================================================
 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
 
 "取行字符串在另一字符串中的出现位置
 Function Newstring(wstr,strng)
 Newstring=Instr(lcase(wstr),lcase(strng))
 if Newstring<=0 then Newstring=Len(wstr)
 End Function
 "替换字符串函数
 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实现翻译功能,这是利用google的语言工具实现的。
 注意,因为提供多语言支持,所以translate.asp文件所用的编码是支持所有字符的"utf-8"
 
 |  | 文章作者:未知  更新日期:2009-07-07 |  | 〖文章浏览:〗〖发送文章〗〖打印文章〗 |  |  |  |