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

@易小学生.版本 2

.支持库 EXMLParser

.支持库 spec

.支持库 EThread

.程序集 窗口程序集_启动窗口

.子程序 子程序_翻译

子程序_发送翻译 (1, 编码_URL编码 (编码_gb2312到utf8 (编辑框_输入.内容), 真, ))

子程序_发送翻译 (2, 编码_URL编码 (编码_gb2312到utf8 (编辑框_输入.内容), 真, ))

子程序_发送翻译 (3, 编码_URL编码 (编码_gb2312到utf8 (编辑框_输入.内容), 真, ))

' 有道: http://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: http://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)

局_地址 = “http://fanyi.youdao.com/translate?&doctype=json&type=AUTO&i=” + 翻译内容

' 有道POST :http://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访问 = “http://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

文件下载

解压密码:

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575)

易语言源码翻译c,易语言编写翻译小工具源码相关推荐

  1. 2023 易语言 查看系统信息小工具源码

    使用精易模块,调用电脑自带的系统信息,一次性查询,做电脑店的可以拿去用,看配件很方便 2023 易语言 查看系统信息小工具源码

  2. 七夕节微信表白墙小程序源码/基于Laravel的表白墙微信小程序源码

    七夕节微信表白墙小程序源码/基于Laravel的表白墙微信小程序源码 ☑️ 编号:ym499 ☑️ 品牌:无 ☑️ 语言:小程序 ☑️ 大小:11.2MB ☑️ 类型:微信表白墙小程序 ☑️ 支持:小 ...

  3. MFC自用小工具源码

    效果:快速打开计算机内常用的软件,功能,设置 // 自用小工具Dlg.cpp : 实现文件 // #include "stdafx.h" #include "自用小工具. ...

  4. 用于校园流浪猫信息记录和分享的小程序源码/微信云开发中大猫谱小程序源码

    用于校园流浪猫信息记录和分享的小程序源码/微信云开发中大猫谱小程序源码 ☑️ 编号:ym478 ☑️ 品牌:无 ☑️ 语言:微信小程序 ☑️ 大小:6.5MB ☑️ 类型:校园流浪猫信息记录和分享 ☑ ...

  5. thinkphp开发的活动报名小程序源码带后台管理完整的报名小程序源码

    介绍: 活动报名小程序源码,基于thinkphp开发的报名小程序源码,带有后台管理,用户发布活动信息.报名可以后台管理,简单测试了一下,基本都还是可以的. 不过需要注意的是,用户注册部分是发送手机短信 ...

  6. 小程序源码:修复登录大河盲盒小程序源码,实现运营“玩法自由”,超多功能的盲盒型抽奖挖矿程序源码下载

    程序介绍 应用支持哪些类型的商品? 1.实物需邮寄商品,用户领取时填写收货信息,后台发货. 2.虚拟商品,如:教程.课程.图文.图片.下载链接等等. 3.卡密商品,后台添加卡密商品,填写使用方法.批量 ...

  7. 小程序源码:端午送粽子祝福微信小程序源码下载支持打赏模式带背景音乐

    端午节的时候很火的一款小程序 给亲朋好友送祝福也是一款引流非常不错的一款小程序 支持打赏小程序模式实现盈利模式 当然了,有能力的小伙伴也可以魔改一下做成别的小程序也是可以的 该小程序无需服务器和域名, ...

  8. 小程序源码:网课查题微信小程序源码下载,题库资源丰富自动采集,支持语音拍照识别

    这是一款网课查题微信小程序源码 题库资源丰富自动采集, 支持语音拍照识别 该款采用接口方式,所以题库自动全网采集 而且该款小程序无需服务器和域名即可搭建 大家解压源码然后使用微信开发者工具打开源码 然 ...

  9. 小程序源码:后台版本趣味测试微信小程序源码下载支持自定义问题等等

    这是一款有后台版本的趣味测试小程序 支持用户自定义添加和删除问题 支持流量主后台设置 支持用户个人中心等等 该程序是微擎框架的,所以后台需要有微擎 PS:该小程序的登录接口并未替换更新还是采用的旧版登 ...

  10. 小程序源码:AI智能配音助手微信小程序源码支持多种声音场景选择

    大家好今天给大家带来一款配音小程序 这款小程序支持多种不同声音和场景的选择更人性化 比如说支持各地区的方言,英文,童声呀等等 另外也支持男声女声的选择,反正就是模板那些非常的多 当然啦音量,语调,语速 ...

最新文章

  1. 实现数组字符串翻转的两种方法
  2. fedora18装一些软件及配置
  3. Android应用---基于NDK的samples例程hello-jni学习NDK开发
  4. centos7查看当前端口_Centos7 防火墙开放端口,查看状态,查看开放端口
  5. C++ 深浅拷贝 01
  6. 讯闪菜单密码去除方法
  7. LeetCode 1966. Binary Searchable Numbers in an Unsorted Array
  8. c语言逃跑的蠕虫函数,源码指标:穿越5线 第一时间吃鱼身 上行末端逃跑 没有未来函数 通达信幅图 精品公式...
  9. Element menu
  10. ios中navigationItem的titleView如何居中
  11. iOS11 获取手机已安装应用列表
  12. python 设计简易计算器_python小项目——实现简易的计算器
  13. 测试工程师面试必问的十道题目!全答上来的直接免试
  14. [No0000120]Python教程3/9-第一个Python程序
  15. unity 模型销毁_Unity GameObject 销毁(Destroy)后的几种状态
  16. 经典排序算法(五)--鸽巢排序Pigeonhole Sort
  17. 数据库学习----MySQL(一)
  18. 前端实现图片或视频预览的3种方法
  19. 计算机网络的定义以及分类
  20. ZVK13(参考VK13)查销售价格

热门文章

  1. 一百个你不应该继续用Dev C++的理由
  2. 字典总结一|脚本类、用户名字典
  3. linux只能单向ping通,两机只能单向Ping通的原因、ping的原理
  4. python画k线_python下画k线
  5. 数据库三范式和BCNF范式的理解:生动举例
  6. dota2服务器切换账号,DOTA2怎么改成国服 教你三步完成设置
  7. Spring Boot入门
  8. 将excel转为图片
  9. 实用工具分享,如何批量修改文件夹名称的一部分
  10. 怎样批量更改文件夹里的文件名称?