柯林斯字典的出现也许让不少不曾接触过日区 App Store 的人注意到了「物書堂」这个字典应用开发商。这家开发商的字典虽然都是一个模子,但是这个模子兼顾易用和便捷(具体可以看 官网介绍),尤其是对 URL Schemes 的支持深得我心。因为查单词这种操作是最适合通过 Launch Center Pro + URL Schemes 这个组合来完成的。
于是我前两天在推上和微博上都发了「物書堂」官网的 URL Schemes 页,结果有几个人在评论里跟我说里面没有新出的 柯林斯英汉字典。原因我猜是因为这个页面已经很久没被认真编辑过了,大辞林 现在都出到 4.1.1 版了,网页里还是 1.2 版……
于是我根据给出的范例推断了一下,测试以后发现是正确的。柯林斯字典查词用的 URL Scheme 是:
mkcccad://jp.monokakido.CCCAD/search?text=单词
然后我来简单说一下我是怎么推的。
首先看官网给出的,过期了的,标准格式:
这个格式翻译成中文是:
辞典 Scheme 名
://jp.monokakido.辞典 App ID
/search?text=待查单词
&src=返回 URL(可省略)
&srcname=返回应用名(可省略)
&usePasteboardText= 调用剪切板,可填 Yes 或省略(省略时默认为 No)
&option=日中字典里以中搜日时专用的数字:16777216(可省略)
首先,它 URL 给得很长,你用不着全部都用。URL Schemes 这个东西比较灵活,用哪截哪就可以,比如我文首给的柯林斯英汉的 URL,只到待查单词
这一步就结束了。实际上,为什么说它这个标准格式过期呢,因为 URL 后面带有「(可省略)」字样的部分,都不用怎么考虑:返回 URL 和返回应用名似乎在 iOS 9 推出「返回上一个 App」这功能后已经基本失效1;取剪切板内容可以直接被支持 URL Schemes 的工具(比如 Pin 和 LCP)自带的剪切板功能取代:最后那个数字只对日中字典有用。
然后我们来接着推英汉字典的 URL。
这些辞典的 Scheme 名,还有 App ID,其实在该页最初的表格里已经提供,网页中的表格是这样的:
应用 | 版本号 | 辞典 Scheme 名 | 辞典 App ID |
---|---|---|---|
大辞林 | v1.2 | mkdaijirin | DAIJIRIN |
... | ... | ... | ... |
然后你看,它的辞典 App ID
就是辞典 Scheme 名
去掉mk
以后的大写。
所以,要柯林斯英汉的 URL Schemes,只要知道 App ID 或者 Scheme 名其中一个就行了。
那这俩怎么找?我就想啊,程序员起名是很懒的,这么多字典,它能用一种模式起名就不会每个都另想一种模式。然后我打开柯林斯英英(第 8 版)和柯林斯英英(美语版)第 2 版的网站,发现两个网站的链接的最后都有它们的 App ID:
- 柯林斯英英(第 8 版)页面 URL:https://www.monokakido.jp/foreign/ccadb/
- 柯林斯英英(美语版)第 2 版页面 URL:https://www.monokakido.jp/foreign/ccad/
最后的 App ID 分别是:ccadb
和 ccad
。
那我知道柯林斯英汉字典页面的 URL,我不就知道它的 App ID 咯:
柯林斯英汉:https://www.monokakido.jp/cn/foreign/cccad/
看最后,App ID 是 cccad
,那 Schemes 肯定就是 mkcccad
。知道这俩,就做得出文首查词的 URL Schemes 了。
- 基本失效指:本身这个部分应该做到的是,跳转查词后,给你一个选项,问你是否再次跳转。它的使用情境可以是:查词以后跳回要查词的 App,比如 Pocket。或者,你对语义的精准度要求非常高,需要对照不同字典的释义和例句,这样你可以在物書堂买不同的字典,然后用这一个 URL,在字典之间来回跳转查同一个单词。但是现在,它指在第一个字典查询失败以后有效。所以基本没啥用了。 ↩︎