如果要实现自定义workflow,则必须安装付费版的alfred,囊中羞涩的话可以自行淘宝。自定义步骤如下:
打开该workflow所在目录,进行下面步骤:
pip install googletrans==3.1.0a0
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)
配置信息说明:
tr
{query}
python ./translate.py "{query}"
在filter后面接一个clipboard:
右侧有个虫子标记,点击。然后调起alfred,输入命令测试,下面的控制台会打印日志信息:
如果上述步骤一切顺利的话,你的工作流就实现了。