源起

之前是在 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:英德互译]]

  1. 关于标签操作器详细的可见这篇。