本文主要是介绍alfred自定义谷歌翻译workflow,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如果要实现自定义workflow,则必须安装付费版的alfred,囊中羞涩的话可以自行淘宝。自定义步骤如下:
1. 新建空的workflow,填写基本信息
2. 开发python脚本
打开该workflow所在目录,进行下面步骤:
- 首先安装谷歌翻译库:
pip install googletrans==3.1.0a0
- 编写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. 编辑工作流
- 新建script filter:
配置信息说明:
- 触发谷歌翻译关键词:
tr
- 将输入看做
{query}
- 调用python脚本进行翻译:
python ./translate.py "{query}"
- 避免一些转义符
- 新增剪贴板
在filter后面接一个clipboard:
4. 调试工作流
右侧有个虫子标记,点击。然后调起alfred,输入命令测试,下面的控制台会打印日志信息:
如果上述步骤一切顺利的话,你的工作流就实现了。
参考
- googletrans
- Alfred工作流workflows实例
这篇关于alfred自定义谷歌翻译workflow的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!