眾包網(wǎng)站開發(fā)網(wǎng)站定制
如果要實現(xiàn)自定義workflow,則必須安裝付費版的alfred,囊中羞澀的話可以自行淘寶。自定義步驟如下:
1. 新建空的workflow,填寫基本信息
2. 開發(fā)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, # 該參數(shù)不可省略,將用于后續(xù)的剪貼板復制;否則后續(xù)動作無法觸發(fā)"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:
配置信息說明:
- 觸發(fā)谷歌翻譯關鍵詞:
tr
- 將輸入看做
{query}
- 調(diào)用python腳本進行翻譯:
python ./translate.py "{query}"
- 避免一些轉義符
- 新增剪貼板
在filter后面接一個clipboard:
4. 調(diào)試工作流
右側有個蟲子標記,點擊。然后調(diào)起alfred,輸入命令測試,下面的控制臺會打印日志信息:
如果上述步驟一切順利的話,你的工作流就實現(xiàn)了。
參考
- googletrans
- Alfred工作流workflows實例