效果一览:源码下载:TracePrint 百度翻译英译中("I was born at an untimely time. All causes and consequences are wrong. God is doomed to be unchangeable. This man is stubborn and goes forward with a heavy load in the strong wind. He uses up his courage all his life and just wants to be worthy of his heart","*","*")'https://api.fanyi.baidu.com/doc/21替换成自己Appid和密钥
Function 百度翻译英译中(待翻译内容,Appid,密钥)
翻译内容 = 待翻译内容
随机=亂數(1000000000, 5000000000)
s= Plugin.Encrypt.Md5String(Appid&翻译内容& 随机&密钥)
for i=1 to len(s)
n=mid(s,i,1)
if asc(n)>64 and asc(n)<91 then
m=m& chr( asc(n)+32)
Else
m=m&n
end if
next
TracePrint m
Dim 百度翻译源码
百度翻译源码 = Lib.网络.获得网页源文件("http://api.fanyi.baidu.com/api/trans/vip/translate?q=" & 翻译内容 & "&from=en&to=zh&appid="&Appid&"&salt=" & 随机 & "&sign=" & m)
Call Plugin.Sys.SetCLB( 百度翻译源码)
获取百度译文 = 获取字符串间的字符(百度翻译源码,"""dst"":""","""}]}",0)
百度翻译英译中 = 正则替换(获取百度译文,"\\u\w{4}","\u",True)
End Function
Function 亂數(最小值, 最大值)
Randomize
亂數 = Int((最大值 - 最小值 + 1) * Rnd + 最小值)
End Function
Function 获取字符串间的字符(字符串, 开始字符串, 结束字符串,方式)
Dim 开始字符串位置, 结束字符串位置
Select Case 方式
Case 0 '从前往后查
开始字符串位置 = InStr(字符串, 开始字符串)
结束字符串位置 = InStr(开始字符串位置, 字符串, 结束字符串)
获取字符串间的字符 = Mid(字符串, 开始字符串位置 + len(开始字符串), 结束字符串位置 - 开始字符串位置 - len(开始字符串))
Case 1 '从后往前查
开始字符串位置 = InStrRev(字符串, 开始字符串)
结束字符串位置 = InStrRev(字符串, 结束字符串, 开始字符串位置)
获取字符串间的字符 = Mid(字符串, 结束字符串位置 + len(结束字符串), 开始字符串位置 - 结束字符串位置 - len(结束字符串))
End Select
End Function
Function 正则替换(字串符, 表达式, 替换为, 忽略大小写)
Dim 替换字符
Set rep = New RegExp
rep.IgnoreCase = 忽略大小写
Execute "rep.Global = True"
rep.Pattern = 表达式
Set MatchEs = rep.Execute(字串符)
替换字符 = 替换为
For Each Match In MatchEs
If UCase(替换为) = "\U" Then 替换字符 = ChrW(Int("&H"&Right(Match.Value, 4)))
字串符 = Replace(字串符, Match.Value, 替换字符)
Next
正则替换 = 字串符
Set rep = Nothing
End Function