Back to Copytranslator

关于划译

docs/about/selection-translate.md

12.1.01.4 KB
Original Source

关于划译

浏览器环境下,在这里特指chrome/firefox等现代浏览器,提供了丰富的事件,如鼠标位置事件,选中事件等,使得实现如划译,或者是在特定区域弹出对话框等功能变得非常容易。

而在系统场景下,操作系统尤其是Windows并未提供选中文本这个系统事件供开发者响应。这使得CopyTranslator这种系统级的非侵入性翻译工具要实现划译变得非常困难。

金山词霸和有道词典和也是原生非侵入翻译工具,但是他们在某种程度实现了划译这个功能,确实非常厉害,但是其背后的原理,一直未曾公开。据我了解,暂未有开源的实现,也可能是我孤陋寡闻,如果你知道有的话,可以跟我反映。

有道词典

以下使用四张图解释有道词典划译的实现原理

有道划词翻译-拖拽一定时长触发

有道划词翻译-按住不移动释放时不触发

有道划词翻译-按住移动释放时触发

有道划词翻译-双击时触发

可见有道词典的所谓划词并非真正意义上的划词,其触发条件为

  1. 鼠标拖拽一定时长,一定距离。
  2. 双击