ASP利用Google实现在线翻译功能
程序员文章站
2022-03-25 20:24:56
有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好google提供了语言工具功能,下面介绍如何利用它来实现网页多种语言之间的转换。复制代码 代...
有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好google提供了语言工具功能,下面介绍如何利用它来实现网页多种语言之间的转换。
<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中的内容拷到提供多语言翻译的页面中就可以了。
<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"
复制代码 代码如下:
<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中的内容拷到提供多语言翻译的页面中就可以了。
复制代码 代码如下:
<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"
上一篇: 叶子asp分页类
下一篇: 直接保存URL图像或网页到服务器本地的类
推荐阅读
-
Asp.net 中mvc 实现超时弹窗后跳转功能
-
asp.net实现的MVC跨数据库多表联合动态条件查询功能示例
-
利用Angularjs和bootstrap实现购物车功能
-
拥有网页版小U盘 ASP.NET实现文件上传与下载功能
-
基于Django框架利用Ajax实现点赞功能实例代码
-
利用 Linq+Jquery+Ajax 实现异步分页功能可简化带宽压力
-
利用TaskManager爬取2万条代理IP实现自动投票功能
-
mysql利用init-connect增加访问审计功能的实现
-
ASP.Net MVC+Data Table实现分页+排序功能的方法
-
Asp.net MVC利用knockoutjs实现登陆并记录用户的内外网IP及所在城市(推荐)