用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(&

Copyright ?2005-2008 All rights reserved. www.17zixue8.com 版权所有    赣ICP备07501614号        完美兵团会员待遇说明    站主QQ:335759285