alfred自定义谷歌翻译workflow

news2024/11/24 16:55:14

如果要实现自定义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 Translator

def main(input_text):
    d = {
        "en": "zh-CN",
        "zh-CN": "en"
    }
    translator = Translator()
    lang = translator.detect(input_text).lang
    alfred_results = []
    # 中英文互译
    if lang in d:
        text = translator.translate(input_text, dest=d[lang]).text
        alfred_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.coloradmin.cn/o/1405814.html

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

相关文章

【GitHub项目推荐--开源2D 游戏引擎】【转载】

microStudio 是一个可在浏览器中运行的游戏引擎,它拥有一套精美、设计精良、全面的工具,可以非常轻松地帮助你创建 2D 游戏。 你可以在浏览器中访问 microStudio.dev 开始搭建你的游戏,当然你可以克隆现有项目或创建新游戏并开始编码&#x…

城市需求显示在地图上(附MATLAB程序)

我们显示很多城市信息时, 有时候需要把各地人口数量, 各地城市对某种货物的需求量呈现到地图上, 可以用以下代码实现: 程序结果: % 画中国地图 clc;close all;clear all; %%曲面拟合 warning off;%禁止显示警告信息 % load lonlatdata.mat; lonlatdataxlsread(工作簿1.xls,D2…

对于超低延迟SSD,IO调度器已经过时了吗?-part1

此前针对linux IO栈与IO调度器,小编有过基本原理的分析,前文阅读请参考: 《存储IO路径》专题:四种IO栈全能大比武 《存储IO路径》专题:不同IO调度器的差异 近期,小编看到一篇来自University of Louisvil…

Python基础之文件操作(I/O)

和其他编程语言一样,Python 也具有操作文件(I/O)的能力,比如打开文件、读取和追加数据、插入和删除数据、关闭文件、删除文件等。合理应用python提供的文件操作基本函数,可大大提高自动化实现的效率与框架代码的稳定性…

luffy商城项目(二)

路飞后端配置 二次封装response drf提供的Response对象,不能很方便的加入code和msg字段,自己封装一个Response类,以后都用我们自己封装的,方便咱们写code和msg 封装步骤: 1 在utils/common_response.py from rest_…

基于leaflet地图实现点击点位图标,在图标边上展示信息弹窗的方案

文章标题很直观明显了,所以正文就直入主题。 leaflet组件其实很友好了,基本上能解决大部分网页端地图的大部分常用需求。 现在,要实现点击点位图标,在图标边上展示信息弹窗这个需求。提供两个思路: 1. 利用leaflet自…

v38.Switch语句

1.Switch语句可以替代if-else语句 2.具体使用 Switch(expression) { case label:...... } ①将x与case后的label 进行比较; ②注意后面有冒号; ③从上往下开始检查case; ④如果…

011 变量

变量的定义 注意事项 作用域 类变量:定义在类中的变量,类的整个生命周期内可用实例变量:定义在类中的变量,类的实例可以使用局部变量:定义在方法中的变量,仅在方法内可以使用 class Dog{// 类变量static …

数据采集与预处理02 :网络爬虫实战

数据采集与预处理02 :网络爬虫实战 爬虫基本知识 1 HTTP的理解 URL uniform resource locator. 是统一资源定位符,URI identifier是统一资源标识符。几乎所有的URI都是URL。 URL前部一般可以看到是HTTP还是HTTPS, 这是访问资源需要的协议…

HelloWorld(java)

1.切换盘符:找到刚刚书写的代码 2.编译:javac是JDK提供的编译工具,通过这个工具,把当前路径下下的HelloWorld.java文件编译成class文件 3.运行:java也是JDK提供的一个工具,作用就是用来运行代码&#xff…

2024.1.23 寒假训练记录(6)

记录一个训练赛踩的大坑:往函数里传vector一定要加引用!犯了三次的错误还是记不住,服了,一道题调了一个小时。 文章目录 CF 1490E Accidental VictoryCF 1753B Factorial DivisibilityCF 1454E Number of Simple PathsAT ARC148A …

ImportError: The Qt version imported is 5.9.7 but Matplotlib requires Qt>=5.12

一、错误描述 ImportError: The Qt version imported is 5.9.7 but Matplotlib requires Qt>5.12 在用python中的plt包进行绘图时对plt进行了更新,更新之后再运行以前的代码就出现了这个问题。 二、bug消除 (一)解决方法——升级pyqt包…

Java面试题之基础篇

文章目录 一:谈谈你对面向对象的理解二:JDK、JRE、JVM三者区别和联系三:和equals比较四:hashCode与equals五:final六:String、StringBuffer、StringBuilder七:重载与重写的区别?八&a…

【云原生】认识docker容器操作命令

目录 一、容器操作命令 1、创建容器 2、删除容器以及停止容器运行 3、查看容器的运行状态 4、查看容器的详细信息 5、将容器的文件传输到宿主机以及将宿主机的文件传输到容器中 6、批量删除容器 7、进入容器 二、容器的迁移 1、先在容器中创建测试文件 2、将容器存储…

永磁同步电机矢量控制原理

永磁同步电机数学模型 永磁同步电机的磁场定向控制

宝塔面板部署MySQL并结合内网穿透实现公网远程访问本地数据库

文章目录 前言1.Mysql服务安装2.创建数据库3.安装cpolar3.2 创建HTTP隧道 4.远程连接5.固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 宝塔面板的简易操作性,使得运维难度降低,简化了Linux命令行进行繁琐的配置,下面简单几步,通过宝塔面板cp…

x-cmd pkg | ascii-image-converter - 图像转 ASCII 艺术照工具

目录 简介首次用户功能特点竞品和相关作品进一步阅读 简介 ascii-image-converter 是图像转换工具,用于将图像转换为 ascii art 图片并在控制台上打印。 首次用户 使用 x env use ascii-image-converter 即可自动下载并使用 在终端运行 eval "$(curl https:/…

部署 IT 资产管理系统 GLPI

一、GLPI 介绍 GLPI 简介 参考:https://github.com/glpi-project/glpi GLPI 是一款开源的 IT 资产管理和服务台软件,可以帮助组织管理和跟踪 IT 资产、故障、变更、问题等。 使用 Docker 来部署 GLPI 可以简化安装和配置过程,并提供一个独立…

透明拼接屏代工:专业制造与质量保证

透明拼接屏代工是指专业的代工厂家根据客户的需求,为其生产透明拼接屏产品。随着透明拼接屏市场的不断扩大,越来越多的企业选择通过代工方式快速进入市场。尼伽小编将深入探讨透明拼接屏代工的优势、选择合适的代工厂家以及质量保证等方面的内容。 一、透…

[C语言]百行代码实现通讯录(进阶篇)

目录 前言: 1.进阶通讯录特点: 2.实现步骤: (1)定义一个结构体来存储联系人的基本信息例如:名字、电话、性别等 ; (2)定义另一个结构体来封装联系人及其个数以及记录…