bat脚本如何自动输入y_在Mac如何写一个相对自动的翻译脚本

近来使用的google翻译的插件有些不稳定, 时灵时不灵的,无奈的使用百度翻译了, 感觉体验也不好, 就想自己写一个翻译的脚本。

整体思路简单, 就是调用百度翻译api再将结果呈现出来, 最后使用alias链接一下。

大致使用工具: md5(自带)、httpie(需要安装)、jq(解析json需要安装),百度翻译api需要注册

1.百度翻译api具体可以在百度翻译开放平台查看

百度翻译开放平台​api.fanyi.baidu.com

分为通用翻译API/定制化翻译API/拍照翻译SDK/语音翻译SDK

使用通用翻译api就可以了不收费, 使用前要创建app,开发文档在:

百度翻译开放平台​api.fanyi.baidu.com

2.安装httpie、jq

brew install jq
brew install httpie

3、创建translate.sh文件写脚本, 详情如下

q=$1      # 接受参数, 有空格的字符串,记得用“”
appid="20141916"  # 百度翻译app id, 注册后创建app就有了
secretKey="134134134qCd0PO" # 百度翻译app 密钥url="http://api.fanyi.baidu.com/api/trans/vip/translate"  # 请求的url
fromLang="auto"  #源语言选择
toLang="zh"     # 目标语言选择
salt=$RANDOM    # 随机串
sign=$appid$q$salt$secretKey # 加密前拼接串
sign=$(md5 -s "$sign"| cut -d '=' -f2|sed 's/^[ ]*//g') # 获取MD5串
# 请求
res=$(http $url appid==$appid q=="$q" from==$fromLang to==$toLang salt==$salt sign==$sign)
res=$(echo $res|jq -r '.trans_result[0].dst') # 解析出值
# 打印结果
echo "n033[36m ********************************************************* 033[0m"
echo "033[32m 翻译结果 033[0m n"
echo "033[32m $res 033[0m"

4、做alias链接, 我使用了oh-my-zsh, 我这里直接编辑用户目录下的~/.zshrc文件, 加入

alias translate="sh /Users/lixiang/translate.sh"

在source ~/.zshrc就可以使用了

f74abefdf09ffa61d6402ce3681ec44f.png

但是实际上来回复制粘贴还是觉得麻烦, 想着减少操作, 想到了可以直接从剪切板里获取, 又将逻辑代码无限循环, 添加了等待和系统通知

last='123413241234' # 记录上次翻译
while true # 循环
do
sleep 3 # 休息时间
q="$(pbpaste | head -n 1)" # 获取剪切板第一条if [[ $q == $last ]]; # 判断是否是上次翻译过的
thencontinue
fiecho $q appid="2fffffffff341916"secretKey="134134134qCd0PO" # 百度翻译app 密钥url="http://api.fanyi.baidu.com/api/trans/vip/translate"fromLang="auto"toLang="zh"salt=$RANDOMsign=$appid$q$salt$secretKeysign=$(md5 -s "$sign"| cut -d '=' -f2|sed 's/^[ ]*//g')res=$(http $url appid==$appid q=="$q" from==$fromLang to==$toLang salt==$salt sign==$sign)res=$(echo $res|jq -r '.trans_result[0].dst')echo "n033[36m ********************************************************* 033[0m"echo "033[32m 翻译结果 033[0m n"echo "033[32m $res 033[0m"s="'"'display notification "'$res'" with title "翻译结果"'"'"echo $s |xargs osascript -e #发送系统通知 last=$q
done

这样我们只要将脚本运行一下, 想翻译的文本复制剪切到剪切板就可以了

效果

78960ad77acc1469fd0c6ebb0203e981.png

还是有很多不足, 无法翻译段落,只要剪切板里有东西就翻译,每次翻译都要复制或者剪切一下等等

但是已经能满足我的需要了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RefFieldMethodDetails——查看类的域和方法

RefFieldMethodDetails,通过反射机制查看类的域和方法(包括编译器添加的“桥方法”) public class RefFieldMethodDetails {/*** 打印出指定类的* 1、声明的所有构造方法(包括私有)* 2、声明的所有方法(包括…

it 部门的建议_应对IT项目阻力的8个建议

点击上方“蓝色字体”,选择 “设为星标”关键讯息,D1时间送达!大多数IT主管表示,有关抵触进行坦率的对话有助于产生新信息,从而最终推动项目向前发展。而且,在某些情况下,阻力是由于对需要进行路…

科学家首次在野外直接观察到雀类新物种的快速形成

来源:与峰同行博客 概要:新物种是怎么形成的?这是生物学上最根本的问题之一。大致听说过进化论的人可能都知道,地球上我们现在看到的各种各样的生物都是由最初的单细胞经过亿万年的进化而来的。 科学家首次在野外直接观察到雀类新…

查看某个分区之前所有的数据_腾讯大数据面试真题汇总

腾讯面试题学长11)笔试部分(1)有一表名t_sh_mtt_netdisk_log,从表名可以看出该表是什么业务的,是什么周期粒度的表。(2)怎么查看表结构,表创建语句?怎么查看表有哪些分区…

全球16家超级独角兽公司,为什么中国能占7家,印度只有1家?未来哪些行业最可能诞生独角兽?

来源: 财看见-腾讯财经(ID:qqckj2017) 概要:对于创业公司来说,成为“独角兽”甚至是“超级独角兽”,就意味离成功只有几步之遥。 对于创业公司来说,成为“独角兽”甚至是“超级独角兽…

数据可视化--pyecharts绘图

pyecharts 是一个用于生成 Echarts 图表的类库。 Echarts 是百度开源的一个数据可视化 JS 库。主要用于数据可视化。 要使用pyecharts绘制地图,首先需要安装一下几个地图模块: 1、安装地图数据包,用于显示地图 pip install echarts-countri…

echart x轴标签偏移_1文搞懂真正的五轴加工中心,到底说的5轴是哪几个轴

随着国内数控技术的日渐成熟,近年来五轴联动数控加工中心在各领域得到了越来越广泛的应用。在实际应用中,每当人们碰见异形复杂零件高效、高质量加工难题时,五轴联动技术无疑是解决这类问题的重要手段。越来越多的厂家倾向于寻找五轴设备来满…

中国在国际上首次提出全液态量子器件与计算技术概念

来源:人民日报 概要:液态金属可以用来制造计算机核心电子元件,进而引发计算机的革命? 液态金属可以用来制造计算机核心电子元件,进而引发计算机的革命?不久前,我国一个研究小组发表了一项成果&…

如何使用frame框架,将左边视为导航栏,右边作为链接界面

在浏览网页时,我们经常会看到一个导航条,当点击导航条上的项目时,相应网页会在显示区域变换显示。那么如何将一个界面中,左边设置为导航栏,点击项目链接,则右边显示相应的内容呢?使用frameset框…

面对大规模AI集成,企业为何迟迟犹豫?

来源:亿欧 概要:首先,需要全面了解您的业务目标、技术需求以及AI对客户和员工的影响。需要解决的问题是,大多数员工面临着接受人工智能程度方面的挑战与担忧。 人工智能是实现流程自动化、降低运营成本和进创新的重要手段。尽管AI…

PostgreSQL+安装及常见问题

postgresql-8.1-int.msi postgresql-8.1.msi (点这个安装) 前面一直用默认 1、到如下画面时注意: 重复账户时,报如下错误: 2、勾选所有连接都能使用该PostgreSQL 数据库,而不是仅仅支持 Localhost 3、…

js 操作vuex数据_vue中使用vuex(超详细)

vuex是使用vue中必不可少的一部分,基于父子、兄弟组件,我们传值可能会很方便,但是如果是没有关联的组件之间要使用同一组数据,就显得很无能为力,那么vuex就很好的解决了我们这种问题,它相当于一个公共仓库,保存着所有组件都能共用的数据。 那么,我们一起来看看vue项目怎…

用脑科学支持人工智能

来源:中国科学报 概要:脑科学研究者正在揭示预测性运动控制神经机制,以脑科学基础研究支持人工智能发展并促进两大领域的深度融合。 最近,在国家自然科学基金(项目号:31671075)的支持下&#x…

mysql数据库进行更新、插入显示中文乱码问题

很多种情况下,从数据库中查询出来的内容中文显示正确,但是如果向数据库中插入或更新表时,会出现中文乱码问题,但英文显示正确,以下三种方式可以解决中文乱码问题。 1.数据库连接的配置文件中添加characterEncodingutf…

1进程 ppid_杀死僵尸进程,你需要这些神奇的Linux命令行

Linux高手,其实都是玩儿命令行很熟练的人。命令行的学习捷径Linux命令有许多强大的功能:从简单的磁盘操作、文件存取,到进行复杂的多媒体图像和流媒体文件的制作,都离不开命令行。在Linux的学习中,新手都会遇到这么一个…

PostgreSQL 常见操作

1、在命令行登录指定数据库 2、创建表 CREATE TABLE weather (city varchar(80),temp_lo int, -- low temperaturetemp_hi int, -- high temperatureprcp real, -- precipitationdate date ); …

MultipartFile文件上传

一、配置文件&#xff1a; SpringMVC 用的是 的MultipartFile来进行文件上传 所以我们首先要配置MultipartResolver:用于处理表单中的file。在springmvc.xml中进行配置&#xff0c;目录结构如下&#xff1a; <!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMul…

一个简单的 iBatis 实现——完整示例

表和数据&#xff1a; CREATE TABLE weather (city varchar(80),temp_lo int, -- low temperaturetemp_hi int, -- high temperatureprcp real, -- average temperaturedate date );insert int…

测绘技术设计规定最新版_公示 | 29家单位申报甲级测绘资质审查意见

关于北京同创天成工程勘测有限公司等29家单位申报甲级测绘资质审查意见的公示  根据《中华人民共和国测绘法》和《测绘资质管理规定》《测绘资质分级标准》(国测管发〔2014〕31号)&#xff0c;我部对北京同创天成工程勘测有限公司、北京麦格天宝科技股份有限公司、中友四达(北…