资讯专栏INFORMATION COLUMN

使用 Alfred Workflow 制作日文单词翻译器

mikyou / 3418人阅读

摘要:因为我们是查日文单词,如果压根不给出单词那还玩个球输入关键词后出现的标题,告知用户现已启用的。现在,激活我设置为双击键,输入日文单词,就能调用百度翻译的查看到单词释义了。

Alfred 是 Mac 下一款强悍的系统增强工具,可以快速启动+搜索本地和网络任意内容。购买其付费版本的 Power Pack 还能启用 Workflow 功能,使用一门常用的脚本开发语言就能编写自己的工作流来实现各种有趣的插件。(这里有国人收集的很多现成的 Workflow 插件下载)

今天心血来潮花了17英镑购买了 license,搜刮了几个自己可能用到的脚本,顺便研究了下如何进行 Alfred 脚本编写。只需简单的 PHP 就能完成一个 workflow。

这里以编写一个 Alfred 里的日文单词翻译器为例,简单介绍下流程。

基本原理:获取用户在 Alfred 内输入的内容(日文单词) -> POST 到百度云提供的翻译 API 获取翻译结果 -> 解析结果 -> 调用 Alfred Workflow 的方法输出成 Alfred 格式。

完成之后的效果是这样的:

开发实现流程:

一、创建新的 Workflow

二、填写 Workflow 信息

随便写写即可。

三、设置脚本参数

点击空白 Workflow 右上角的加号按钮,Inputs -> Script Filter,弹出如下窗口。

Keyword:激活某个 Workflow 的关键词,输入之后加参数即可完成整套动作。勾选后面的“with space”并在下拉框选择“Argument Required”代表必须附带参数。(因为我们是查日文单词,如果压根不给出单词那还玩个球)

Place Hoder Title:输入关键词后出现的标题,告知用户现已启用的 Workflow。

Place Holder Subtext:附带字符串,随便说点什么。

“Please wait” Subtext:执行命令时(例如从网络获取数据时)显示的文字。

Language:因为我用PHP,所以选 /user/bin/php。

Escaping 不需改动。

图标:随便选一个图拖拽到“Drop an icon above.”区域。我顺便将这个 icon 保存到了工程目录下,命名为 icon.png(下文脚本需要)。

四、复制 PHP 库文件

点击 Save 按钮上方的 Open workflow folder,将进入当前 Workflow 的本地工程目录。切换到上层,再进入其下的其他目录下复制一个 workflow.php 回来。(解析 PHP 脚本所需的库文件,默认在工程目录下不会有,所以需要从现有的其他工程目录里拷一个,如果找不到可以直接从这里取)

五、Script 区域输入代码

因为比较简单,所以直接上代码(你也可以从这里获取):

require("workflows.php");

// Settings
define("TRANS_QUERY_URL","http://openapi.baidu.com/public/2.0/bmt/translate?client_id=Vn8ockFtPxNM655RP4iVWixU&from=auto&to=auto&q=");

// Main Phrase
$wf = new Workflows();
$query = "{query}";
$json = json_decode($wf->request(TRANS_QUERY_URL.$query));

// Fetch Result
foreach ($json->trans_result as $translation):
$result["src"]  =   $translation->src;
$result["dst"]  =   $translation->dst;
$wf->result(1, "http://www.baidu.com",$result["dst"],$query,"icon.png","yes");
endforeach;

// Export Results
echo $wf->toxml();

六、设置动作

点击 Save 保存上述脚本。

返回编辑区,点击右上角加号,选择“Actions->Open URL”,在弹出窗口的 “URL:”里填入“{query}”,保存。将编辑区出现的两个模块拖动连接。

至此整个过程完毕。

现在,激活 Alfred(我设置为双击 Command 键),输入“jp [日文单词]”,就能调用百度翻译的 API 查看到单词释义了。

另外我还做了个游戏王卡牌查询的 Alfred 脚本,代码在此。

整体说来,Alfred Workflow 的编写跟微信公众平台开发比较类似,要做的无非就是输入什么、如何处理及输出什么,没有特别复杂高深的东西,主要还是看想象力。

原文地址:http://www.fanbing.net/alfred-workflow-programming-tutorial.html

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20709.html

相关文章

  • php脚本开发Alfred workflow

    摘要:想想你是不是经常为了查找本地公网,需要打开浏览器,输入百度,输入,搜索。下面演示一下用开发两个简单的。然后的脚本位置在下面这里右键打开文件夹,各种资源文件也放里面。 使用mac的码农应该不会没用过大名鼎鼎的Alfred,至少也听说过。反正我自从接触mac下了Alfred,就基本不会用到mac的spotlight。Alfred源何强大,也是因为他的工作流(workflow)。想想你是不是...

    Caicloud 评论0 收藏0
  • Mac提升工作效率从Alfred神器开始(上)

    摘要:你应该将它移到废纸篓,并非你安装的软件已损坏,而是系统的安全设置问题。以上介绍了的基本功能基本功能基本功能基本功能真正强大的是的下一篇文章会主要介绍一下原提升工作效率从神器开始下 ...

    Lavender 评论0 收藏0
  • 即将立秋的《课多周刊》(第2期)

    摘要:即将立秋的课多周刊第期我们的微信公众号,更多精彩内容皆在微信公众号,欢迎关注。若有帮助,请把课多周刊推荐给你的朋友,你的支持是我们最大的动力。课多周刊机器人运营中心是如何玩转起来的分享课多周刊是如何运营并坚持下来的。 即将立秋的《课多周刊》(第2期) 我们的微信公众号:fed-talk,更多精彩内容皆在微信公众号,欢迎关注。 若有帮助,请把 课多周刊 推荐给你的朋友,你的支持是我们最大...

    ruicbAndroid 评论0 收藏0

发表评论

0条评论

mikyou

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<