利用Alfred实现欧陆词典高效查词

欧陆词典是我现在查词的唯一词典,但整个操作体验上还是不高效,于是打算花点时间打磨下

吐槽下当前欧陆

打磨前,先吐槽下个人觉得不爽的地方

  1. 取词查词方面,自动取词设置的话,则每个地方都会一直显示着查词图标,对于追求简洁的我非常反感,手动取词的话,每当想查词时,就自己再输入一次单词检索。
  2. 无法做到一键发音,要么选择查词后自动发音,要么就需要光标操作去选择触发发音

使用流程设计

既然要打磨,就先定个目标,下图为我设计的操作流程。其中解决2个痛点

  1. 唤起欧陆词典后,不用再手动输入一次目标词汇
  2. 一键美式发音

技术

  1. Apple Script实现操作APP查词及发音
  2. Alfred实现获取光标选择内容及热键

Eudic设定

关闭热键设定

自动执行单词检索

1
2
3
4
5

tell application "Eudic"
activate
show dic with word "{query}"
end tell

一键发音

1
2
3
4
5
6
7
on alfred_script(q)
tell application "Eudic"
activate
set windowName to the name of the front window
speak word with word windowName
end tell
end alfred_script

备注:欧陆一键发音是美式发音,正好是我需要的,假如不是,那就不能使用这个方式,需要实现操控光标操作GUI元素的方式解决。

最终的Alfred workflow

注意

  1. 快捷键之所以这么设定是因为,目前我的设计方案是⌘ ⌥ 组合来实现系统级快捷键,而⌘ ⇧组合实现应用级快捷键。E means eudic,s means speak
  2. 之所以第一个workflow还要再加上launch是为了置顶app,网上提到的方案set frontmost to true不起作用。

Workflow下载地址:戳这里

最终效果

第二个一键发音的效果无法展示,自行感受。

AppleScript使用技巧

这番打磨顺便了解了Apple Script,资料其实很少,这里也记录下常用的技巧。

Apple Suite

针对单个APP,我们能做哪些动作,取决于Apple Suite。打开Script Editor,按下⌘ ⇧ O,选择具体APP,可以看到对应的类属性和函数。

log打印

1
log hello

变量设置

1
set name11 to "1111"

写在最后

如今查词比以前又高效些了,Perfect!

相关文档