源起
之前是在 LCP 中分别建立了欧路词典和德语助手两个单独的搜索动作。现在用dict.cc查英德互译的频率也高了起来,于是索性用 LCP 的 list 特性建立一个聚合了三个字典搜索的动作。
实作
使用 list 的话,基本的 URL 结构如下(为了显示出其语句结构,我模仿编程语言的结构来写,实际上在应用中,字符之间不应该有空格):
[
list:菜单名
|选项1=功能1
|选项2=功能2
更多...
]
欧路词典的 URL Scheme 在 LCP 中就有——eudic://dict/
,在后面加上=[+prompt]
就可以实现点选后弹出输入框,完成输入点击next
就会跳转到应用内,直接显示所输入单词的界面。
德语助手的在 LCP 中只提供了启动应用的 URL Scheme ,即eudic-de:
,但考虑到它和欧路词典其实是一家公司的应用,稍加修改为eudic-de://dict/
,即可实现相同的功能。
Dict.cc 同样在 LCP 中只提供了启动应用的 URL Scheme, 不过在其官网公布了所有的 URL Schemes, 写成ictcc://?word=[+prompt:英德互译]
即可。
值得注意的是,一般需要呼出输入框时,写成[promt]
即可,LCP 会自动编码。但是经我实验在这个动作中出现了问题,无法将输入的单词粘贴到软件搜索框中。经 @文刀汉三 指点,在动作中加了一个标签操作器1+
,写成[+promt]
即可。
成果
最后将三个动作组合起来:
[
list:选择词典
|中英=eudic://dict/=
[
+prompt:中英互译
]
|中德=eudic-de://dict/=
[
+prompt:中德互译
]
|英德=dictcc://?word=
[
+prompt:英德互译
]
]
在 LCP 中不应该有空格,所以写成:
[list:选择词典|中英=eudic://dict/=[+prompt:中英互译]|中德=eudic-de://dict/=[+prompt:中德互译]|英德=dictcc://?word=[+prompt:英德互译]]