当前位置: 首页 > news >正文

alfred自定义谷歌翻译workflow

如果要实现自定义workflow,则必须安装付费版的alfred,囊中羞涩的话可以自行淘宝。自定义步骤如下:

1. 新建空的workflow,填写基本信息

blank workflow

2. 开发python脚本

打开该workflow所在目录,进行下面步骤:

  1. 首先安装谷歌翻译库:
pip install googletrans==3.1.0a0
  1. 编写py脚本
import sys
import json
from googletrans import Translatordef main(input_text):d = {"en": "zh-CN","zh-CN": "en"}translator = Translator()lang = translator.detect(input_text).langalfred_results = []# 中英文互译if lang in d:text = translator.translate(input_text, dest=d[lang]).textalfred_results.append({"title": text,"arg": text,    # 该参数不可省略,将用于后续的剪贴板复制;否则后续动作无法触发"icon": {"path": "./google_translate.png"}})else:alfred_results.append({"title": "未识别语种","icon": {"path": "./google_translate.png"}})return json.dumps({"items": alfred_results}, ensure_ascii=False)if __name__ == "__main__":resp = "no input text to translate"if len(sys.argv) >= 2:input_text = "\t".join(sys.argv[1:])resp = main(input_text)sys.stdout.write(resp)

3. 编辑工作流

  1. 新建script filter:

new script filter

配置信息说明:

  • 触发谷歌翻译关键词:tr
  • 将输入看做{query}
  • 调用python脚本进行翻译:python ./translate.py "{query}"
  • 避免一些转义符

config

  1. 新增剪贴板

在filter后面接一个clipboard:

clipboard

4. 调试工作流

右侧有个虫子标记,点击。然后调起alfred,输入命令测试,下面的控制台会打印日志信息:

debug

如果上述步骤一切顺利的话,你的工作流就实现了。


参考

  • googletrans
  • Alfred工作流workflows实例
http://www.lryc.cn/news/286480.html

相关文章:

  • 【网络安全 -> 防御与保护】专栏文章索引
  • 用户资源(菜单)控制学习使用
  • 邦芒支招:十大秘诀助你轻松进名企
  • 5G_射频测试_参考规范(一)
  • 幻读是什么,用什么隔离级别可以防止幻读?
  • UE5 C++学习笔记 FString FName FText相互转换
  • 【ASOC全解析(三)】machine原理和实战
  • matlab appdesigner系列-常用15-滑块、微调器
  • google翻译相机报错 请安装最新的Google应用,以便使用相机翻译功能
  • openssl3.2/test/certs - 015 - Primary intermediate ca: ca-cert
  • linux中用户及用户组信息
  • 用Go plan9汇编实现斐波那契数列计算
  • Message queue 消息队列--RabbitMQ 【基础入门】
  • 【汇编】 13.3 对int iret和栈的深入理解
  • Git提交大文件报错“remote: Please remove the file from history and try again. ”
  • 接口测试 03 -- 接口自动化思维 Requests库应用
  • SpringBoot:Bean生命周期自定义初始化和销毁
  • Git--基本操作介绍(2)
  • 第08章_面向对象编程(高级)(static,单例设计模式,理解mian方法,代码块,final,抽象类与抽象方法,接口,内部类,枚举类,注解,包装类)
  • Java中Map接口常用的方法
  • Linux软件包管理器yum
  • Linux中NFS服务器的搭建和安装
  • c递归算法模型
  • 力扣740. 删除并获得点数
  • spring和springboot的区别
  • imgaug库图像增强指南(35):【iaa.Fog】——轻松创建自然雾气场景
  • 网络安全--防御保护02
  • UE5 C++学习笔记 常用宏的再次理解
  • SpringBoot整合SSE
  • mysql-进阶篇