易语言编写翻译小工具源码

易语言编写翻译小工具源码

.版本 2 .支持库 EXMLParser .支持库 spec .支持库 EThread .程序集 窗口程序集_启动窗口 .子程序 子程序_翻译 子程序_发送翻译 (1, 编码_URL编码 (编码_gb2312到utf8 (编辑框_输入.内容), 真, )) 子程序_发送翻译 (2, 编码_URL编码 (编码_gb2312到utf8 (编辑框_输入.内容), 真, )) 子程序_发送翻译 (3, 编码_URL编码 (编码_gb2312到utf8 (编辑框_输入.内容), 真, )) ' 有道: //fanyi.youdao.com/translate?&doctype=json&type=AUTO&i=hello ' 百度: https://fanyi.baidu.com/transapi?from=auto&to=en&query=%E4%BD%A0%E5%A5%BD ' BING: //api.microsofttranslator.com/v2/Http.svc/Translate?appId=AFC76A66CF4F434ED080D245C30CF1E71C22959C&from=&to=zh&text=hello .子程序 子程序_发送翻译 .参数 翻译接口, 整数型, , 1 为百度,2 为有道,3 为Bing .参数 翻译内容, 文本型 .局部变量 局_有道访问, 文本型 .局部变量 局_Bing访问, 文本型 .局部变量 局_百度访问, 文本型 .局部变量 局_返回文本, 文本型 .局部变量 局_地址, 文本型 .局部变量 JSON, 类_json .局部变量 XML, XML树 .局部变量 局_源语种, 文本型 .局部变量 局_目标语种, 文本型 子程序_语种检测 (局_源语种, 局_目标语种) .判断开始 (翻译接口 = 1) 局_百度访问 = “https://fanyi.baidu.com/transapi?from=%s&to=%s&query=%s” 局_地址 = 取文本 (局_百度访问, 局_源语种, 局_目标语种, 翻译内容) .判断 (翻译接口 = 2) 局_地址 = “//fanyi.youdao.com/translate?&doctype=json&type=AUTO&i=” + 翻译内容 ' 有道POST ://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule 数据:i=翻译文本&from=源语种&to=目标语种&smartresult=dict&client=fanyideskweb&salt=随机数&sign=/fanyideskweb+翻译文本+随机数+6x(ZHw]mwzX#u0V7@yfwK/&doctype=json&version=2.1&keyfrom=fanyi.web&action=FY_BY_CLICKBUTTION&typoResult=false .判断 (翻译接口 = 3) 局_Bing访问 = “//api.microsofttranslator.com/v2/Http.svc/Translate?appId=AFC76A66CF4F434ED080D245C30CF1E71C22959C&from=&to=%s&text=%s” 局_地址 = 取文本 (局_Bing访问, 局_目标语种, 翻译内容) .默认 .判断结束 ' 局_返回文本 = 到文本 (网页_访问 (局_地址, 0)) .判断开始 (翻译接口 = 1) 局_返回文本 = 编码_Utf8到Ansi (网页_访问 (局_地址, 0)) JSON.解析 (局_返回文本) 局_返回文本 = JSON.取通用属性 (“data[0].result[0][1]”, ) 调试输出 (“百度翻译结果:” + 局_返回文本) 翻译文本输出 (局_返回文本, 1) .判断 (翻译接口 = 2) 局_返回文本 = 编码_Utf8到Ansi (网页_访问 (局_地址, 0)) JSON.解析 (局_返回文本) 局_返回文本 = JSON.取通用属性 (“translateResult[0][0].tgt”, ) 调试输出 (“有道翻译结果:” + 局_返回文本) 翻译文本输出 (局_返回文本, 2) .判断 (翻译接口 = 3) XML.导入 (网页_访问 (局_地址, 0)) XML.取节点值 (“string”, 局_返回文本) 局_返回文本 = 编码_URL解码 (局_返回文本, 真) 调试输出 (“Bing翻译结果:” + 局_返回文本) 翻译文本输出 (局_返回文本, 3) .默认 .判断结束 .子程序 翻译文本输出 .参数 内容, 文本型 .参数 翻译工具, 整数型, , 1 为百度翻译,2 为有道翻译,0 为未知 .局部变量 局_翻译工具, 文本型 .判断开始 (翻译工具 = 0) 局_翻译工具 = “未知翻译” .判断 (翻译工具 = 1) 局_翻译工具 = “百度翻译(可设置目标语种)” .判断 (翻译工具 = 2) 局_翻译工具 = “有道翻译(中英互译或译为中文)” .判断 (翻译工具 = 3) 局_翻译工具 = “Bing翻译(支持部分目标语种)” .默认 .判断结束 编辑框_输出.加入文本 (内容 + #换行符 + #换行符 + “- - - - - - - - - - -” + 局_翻译工具 + #换行符 + #换行符) .子程序 子程序_语种检测 .参数 源语种, 文本型, 参考 .参数 目标语种, 文本型, 参考 .局部变量 局_语种数组, 文本型, , "0" .局部变量 i, 整数型 局_语种数组 = 分割文本 (#语种对比, #换行符, ) .如果真 (取数组成员数 (局_语种数组) < 1) 返回 () .如果真结束 .计次循环首 (取数组成员数 (局_语种数组), i) .判断开始 (寻找文本 (局_语种数组 [i], 组合框_源语言.取项目文本 (组合框_源语言.现行选中项), , 假) ≠ -1) 源语种 = 取文本左边 (局_语种数组 [i], 寻找文本 (局_语种数组 [i], “----”, , 假) - 1) .判断 (寻找文本 (局_语种数组 [i], 组合框_目标语言.取项目文本 (组合框_目标语言.现行选中项), , 假) ≠ -1) 目标语种 = 取文本左边 (局_语种数组 [i], 寻找文本 (局_语种数组 [i], “----”, , 假) - 1) .默认 .判断结束 .计次循环尾 () .子程序 _编辑框_输入_被双击, 逻辑型 .参数 横向位置, 整数型 .参数 纵向位置, 整数型 .参数 功能键状态, 整数型 编辑框_输出.内容 = “” 启动线程 (&子程序_翻译, , ) .子程序 编码_usc2到ansi, 文本型, , 将usc2转变成ansi 如 %u0031%u0032%u0033 转换后为 123 失败返回空文本 .参数 参_欲转换的文本, 文本型, , \u %u \u25 等3种格式,如果是其它格式,请先用子文本替换成这三种的任意一种才能正常转换 .局部变量 变_对象, 对象 .局部变量 变_文本, 文本型 .局部变量 变_返回值, 文本型 变_文本 = 子文本替换 (参_欲转换的文本, #换行符, “{$}”, , , 真) .如果真 (取字节集左边 (到字节集 (取文本左边 (变_文本, 10)), 1) = { 13 }) 变_文本 = 到文本 (子字节集替换 (到字节集 (变_文本), { 13 }, { }, , 1)) .如果真结束 .判断开始 (寻找文本 (变_文本, “\u”, , 假) ≠ -1) 变_文本 = 子文本替换 (变_文本, “\u”, “%u”, , , 真) .判断 (寻找文本 (变_文本, “\u25”, , 假) ≠ -1) 变_文本 = 子文本替换 (变_文本, “\u25”, “%u”, , , 真) .默认 .判断结束 变_文本 = 子文本替换 (变_文本, “'”, “’”, , , 真) CoInitialize (0) 变_对象.创建 (“ScriptControl”, ) 变_对象.写属性 (“Language”, “JScript”) 变_对象.数值方法 (“ExecuteStatement”, “function xx(){var x='” + 变_文本 + “';return unescape(x);}”) 变_返回值 = 变_对象.文本方法 (“Run”, “xx”) 变_文本 = 编码_Unicode到Ansi_对象 (到字节集 (变_文本)) 变_返回值 = 选择 (取文本长度 (变_返回值) = 0, 变_文本, 变_返回值) 变_对象.清除 () CoUninitialize () 变_返回值 = 子文本替换 (变_返回值, “’”, “'”, , , 真) 返回 (子文本替换 (变_返回值, “{$}”, #换行符, , , 真)) .子程序 编码_Unicode到Ansi_对象, 文本型, , 带BOM头信息编码转换。 .参数 参_欲转换的内容, 字节集 .局部变量 变_Dx, 对象 .局部变量 变_Text, 文本型 .局部变量 变_btx, 变体型 .局部变量 变_type, 文本型 CoInitialize (0) 变_btx.赋值 (参_欲转换的内容, ) .如果真 (变_Dx.创建 (“Adodb.Stream”, ) = 假) 返回 (“”) .如果真结束 变_Dx.写属性 (“Type”, 1) 变_Dx.写属性 (“Mode”, 3) 变_Dx.方法 (“Open”, ) 变_Dx.方法 (“Write”, 变_btx) 变_Dx.写属性 (“Position”, 0) 变_Dx.写属性 (“Type”, 2) 变_Dx.写属性 (“Charset”, “unicode”) 变_Text = 变_Dx.文本方法 (“ReadText”, ) 变_Dx.方法 (“Close”, ) CoUninitialize () 返回 (变_Text) .子程序 __启动窗口_创建完毕 _启动窗口.左边 = 取屏幕宽度 () - _启动窗口.宽度 - 50 .子程序 __启动窗口_尺寸被改变 编辑框_输入.宽度 = _启动窗口.宽度 - 10 编辑框_输出.宽度 = _启动窗口.宽度 - 10 ' 编辑框_输入.高度 = (窗口_翻译.高度 - 分组框1.高度 - 40) ÷ 2 - 10 编辑框_输出.高度 = _启动窗口.高度 - 编辑框_输入.高度 - 60 编辑框_输出.顶边 = 编辑框_输入.高度 + 15
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

易语言编写翻译小工具源码》有0个想法

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注