TransIt 经常这么多个版本的更新和维护,也赢得了少许的用户,非常感谢大家对这个扩展的喜爱,但比较遗憾的是,这个扩展越来越不像当初的期望它成为的那个样子,甚至不再是我喜欢的那个样子,这就像一个喜欢扎双马尾和穿哥特萝莉装的小姑娘,随着年龄的增长,为了迎合身边大众的审美,不得以放弃自己内心所爱,开始挽起头发,套上正装,逐渐失去了自我。所以,我决定做出一些改变,找回我遗失的梦想,虽然会损失一些用户,但能够追逐自己喜爱的事物,我想是值得的。我业余开发的应用的第一用户肯定是我自己,如果自己都不喜欢,我想我大概不可能把它长久的做下去。
新的名字
TransIt 这个名字虽然比较直白,但 transit
这个词本身已经有运输的意思了,长久的看,它并不是一个合适的名字,对于陌生人,比较会引起歧义。TransIt 的初衷,是为了在尽量不打断阅读的情况下,让划词翻译变得更简单,就好像如果你是个孩子,学着阅读一个英文的童话故事,突然碰到个不会的单词 apple,你用手一指,看一眼旁边的姐姐,姐姐轻轻得告诉你:「苹果」,并且给你一个甜甜的微笑,然后你安然的继续探索这吸引人的故事,而不是翻开一本厚厚的朗文字典,粗暴的拍在书上,不断重复「apple, 苹果, apple, 苹果, apple 苹果, a-p-p-l-e apple」,念完后可能觉得之前的故事都索然无味了。
温柔,是我对 TransIt 的期许,所以我给她取了新的名字「Smooth Translator」。
抛开枷锁
TransIt 之前一直在尝试添加更多词典的支持,以图满足更多用户的喜好,但也逐渐的失去了自己的初衷:让划词翻译更简单,更多的词典支持并没有让翻译变得简单,反而为了兼容不同的词典,让我无暇去改进已有的功能。而添加的所有不同的词典,做的却都是同样的事情,查询单词,翻译句子。
就单词而言,大家都差不多,因为英语单词的意思是固定的,翻译句子虽然各家有所不同,但并没有量级上的差异,TransIt 从来都不是一个专业的词典,只是一个辅助阅读工具,不是学究。
基于以上的考虑,我决定移除百度词典和必应词典的支持,只保留有道翻译。翻译这件事,有一个服务能做就可以了,我要做的是,让划词翻译这件事,更简单,更贴心。
此外,我还计划移除「翻译结果在划词附近显示」这一设定,它是干扰阅读的元凶,我非常不喜欢这个功能。有的用户有反应,TransIt 在大屏幕上,窗口边缘的翻译结果会离划词的地方太远,眼珠或者脑袋需要转动比较大的角度才能看到。对于这种情况,其实把窗口调小一些就完全不是问题了,退一步讲,即使窗口不想调小,扭一下头或者撇一眼就能办到的事情,没有必要打开一个浮动窗口好几秒停留在自己的视野之内,有时还要手动关闭。
当然了,有的用户无法接受边缘的这种形式,那我很乐意推荐其它的词典扩展,因为它们几乎无一例外的默认就在鼠标附近显示,而且无论是翻译结果的详细程度,还是外观和交互,都胜过 TransIt 很多。
美好的未来
从不打断阅读和让划词翻译更简单这个方向出来,Smooth Translator 的未来还是大有可为的,从 2.0 开始,我准备陆续加入一些新特性以前旧功能的改进。
1. 链接取词快捷键的变化
链接取词是 S.T 的一个非常独特的功能,它解决了我翻译链接中文字的苦恼,但数次变化的快捷键也让使用它变得困难,因为它在不同的键盘上,可能会失灵,新的版本,链接取词的快捷键改为 Chrome 扩展官方推荐的触发方式,用户可以在浏览器中自己设定启用的快捷键。
2. 针对域名的启用和禁用开关
在有的网站上,我们不太想触发划词翻译,之前并没有提供针对域名的启用/禁用划词翻译的功能,新的版本会加入这个功能,可以在一些网站上让页面划词关闭(划词关闭后,你依然可以选择文字,然后点击扩展图标,在打开的小窗中看到页面选中文字的翻译结果)。
3. 扩展小窗口中随输随译
点击扩展围标打开的小窗口中,输入框不再需要考虑怎么换行,以及敲回车提交,一边输入,一边会显示翻译的结果。省力又省心。
4. 地址栏翻译
Chrome 的地址栏是一个非常棒的地方,以后我提供地址栏的快捷翻译的功能。比如 Cmd+L
或者 Ctrl+L
激活地址栏,输入 st
后按 Tab
键进入翻译模式,输入结果会在地址栏显示出翻译,不需要打开额外的窗口。
5. 阅读翻译结果
有可能会提供一种模式,划词后什么都不显示,而是利用 tts,读出翻译的结果,可以设定只读发音、只读第一条解释、以及读全部的解释。
6. 翻译服务主备切换
目前有道翻译是通过抓取页面的方式来获取翻译结果的,之前有使用过 API,但个人开发者,API 频次限制很容易就超出了。所以打算以抓取页面为主,但如果有道更新页面结构,可能导致翻译失败,为避免有道翻译页面变更时翻译完全瘫痪,会自动切换到 API 模式,想来这个时间段,足够我升级爬虫了。
7. 缓存翻译结果
对于翻译过的结果,会在浏览器中作一层缓存,再次请求时不用再重新抓取页面或者调用 API,缓存应试会有一个失效时间,比如一个月。这个缓存并不会作为第三方数据源提供给其它服务,也不会被发送到其它服务器存储,只在用户浏览器端生效,所以也并不会违反有道 API 的协议。
8. 剪贴板翻译
对于 pdf 中的文字,也许可能通过复制到剪贴板的 + Notification 的形式提供翻译结果,我还不确定此路是否行得通。
9. 语音
通过语音输入英文单词,然后自动获取翻译结果,解放双手(路子太野,不确定)。
结语
每一个想要加入的新特性我都会两三考虑,如果它不能让翻译变得更美好,肯定会被舍弃。如果你喜欢 Smooth Translator 的理念,请留在这里和我一起记她变得更美好。