文章收藏-FAQ 位置:电脑学习网

ASP 利用 Google 实现在线翻译功能

    有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好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“ 。

     [文章来源:“十万个为什么”电脑学习网]
     [网络地址:http://why100000.com]
     [版权声明:除本站部分特别声明禁止转载的专稿外,其他的文章可以自由转载,但请务必注明出处和原始作者。本站文章版权归文章原作者所有。如果本站转载的文章有版权问题请联系本站,我们会尽快予以更正。]
 

【字体:[大] [中] [小] 【加入收藏】 【发表评论】 【关闭本窗口】

Copyright © “十万个为什么”电脑学习网 2000-2007 陕ICP备06007929号
站务联系:MSN & Email:zhangking2008@gmail.com  QQ:9365822