「trans」macOS菜单栏上的轻量级翻译工具

之前发错区了重发一遍…… 链接不能贴2条以上所以删掉了一些参考链接,有兴趣的朋友可以去Github上看Readme。

前几天在macOS的App Store上看到一个叫「小翻译」的应用:

觉得挺简单的,监控剪贴板再随便调用一个在线翻译的API就行了。但是蓝色的图标放菜单太违和了。就想着自己能不能也做一个,于是「trans」就出来了。

和小翻译一样,trans也是一个菜单栏应用,目前支持输入搜索和复制搜索,搜索调用的接口是百度翻译的API。

点击菜单栏的图标可「输入搜索」:

保持后台开启,剪贴板变动的时候触发「复制搜索」:

设想的应用场景和优势:

  1. 浏览网页、文档时。由于是Application作为载体,所以相比于浏览器的划词翻译有更宽泛的使用场景。
  2. 不需要精准翻译和单词管理时。相比欧路词典、有道词典更加轻量化,仅500KB,无论是磁盘还是内存占用都可忽略不计。
  3. 希望获得更原生更自然的体验时。使用Swift语言开发的native应用,macOS原生控件。不需要的时候分分钟泯然众应用中。
  4. 更安全,更隐私。由于能力不足没有历史记录等记录数据的功能,唯一的网络请求是GET百度翻译的API。
  5. 调用百度翻译,相比内置词典有更全和更不准确的词库。

第一次接触macOS开发,由于是兴趣开发所以之后更不更新就随缘了,可能和稻米鼠停更他的公众号一样就再也不更新了(稻米鼠居然更新了公众号)。

梦想中的TO DO:

  • [x] 复制翻译
  • [x] 输入搜索翻译
  • [ ] 设置-开机自启
  • [x] 设置-原文语言和目标语言
  • [ ] 设置-API选择和Token设置
  • [ ] 第一次开启应用时不弹Popover
  • [x] 输入翻译时的TextFiled显示优化
  • [ ] 快捷键翻译

图标是在阿里爸爸的iconfont上找的,用Sketch做了个白色描边以适应暗黑模式。

源码放在Github上,感兴趣的朋友可以自取,完全没有macOS基础开发的应用完全不遵守MVC也请多担待了。

想基于trans开发的小白朋友们可以参考:

新用户会限制 2 个链接,老用户并无此限制。

另外,那个待输入界面,能不能再…漂亮一点。现在有点奇怪

暂时没想到好的方案 因为API返回就是纯文本

比如在空白无内容的时候,小一点。有内容了再变大。还可以用一个动画展现出来,效果会更好。

考虑到界面搜索查词如果输入内容不同时一直改变尺寸有些不便,所以把窗口改小了,翻译结果字体改大了并且设置水平和垂直居中。也许能更好看一点?

另外,新版本增加了翻译模式(中英/英中/自动),自动模式下输入含有中文则翻译为英文,否则翻译为中文。

有字的感觉好很多…没字的时候很奇怪

没输入的时候有占位符,还算看的过去吧

(发现论坛虽然用户体验有些糟糕,但是markdown传图片竟然可以选择图片尺寸百分比,爱了爱了

监控剪贴板然后自动翻译挺好用的,但是很多时候复制内容不一定需求是翻译呀

然后每次都弹通知,很烦。

这个能改成快捷键么?比如复制两次相同的内容再翻译…

谢谢青蛙

复制翻译可以在设置里开关,因为一开始想到的使用场景是一定时间段内看国外网页/文献的时候复制就能翻译。如果想一直开着的话,可以把翻译设置成「->中」这样剪贴板中有中文时就不会翻译了。

快捷键功能会考虑加上的,在To-Do里。

至于复制两次再翻译,这个之前有考虑过,但是一些油猴脚本在选中内容的时候会操作剪贴板(不修改剪贴板内容,但是重新生成一个条目),导致剪贴板中大量的重复,引起误操作,所以trans现在是会检测复制内容的时候和上一次复制是否重复,如果重复就不操作。刚好和复制两次翻译冲突了。

想到更好更普适的解决方法后会更新的。

关于双复制,可以参考这个: