/pdfTranslator

一个具有划词翻译功能的跨平台pdf阅读器,用着挺好用开源一下造福众科研人员,欢迎star

Primary LanguageJavaScript

pdfTranslator

——追求简洁·优雅·美观的解决之道

这是一个具有划词翻译功能的pdf阅读器,用着挺好用开源一下造福众科研人员,欢迎star

online demo

太长不读通道

点此下载,双击打开

软件会自动调用默认浏览器打开一个本地地址,然后软件本身会变成一个后台服务,所有操作在浏览器中进行。

打开新文件有两种方式:

  1. 直接把pdf拖进阅读器中
  2. 或者在阅读器顶部的工具栏点击打开文件的按钮

效果图

效果图

缘由

阅读论文并且想用翻译的时候,经常面临的一个问题就是要在pdf阅读器和谷歌翻译之间切换,非常容易打乱思绪,有一个良好的工具可以实现更好的工作流。

常用的几种解决方案有本地监控剪切板变化,本地监控快捷键,浏览器油猴插件等等。

所有本地监控类型的都不推荐:对系统入侵太大,尤其是那些具有划词功能的词典,居然大部分是不断触发ctrl+c来实现的,经常导致我命令行程序强制退出。

浏览器插件要更优雅一些,比如这个油猴插件,对双屏用户极其友好,无系统入侵并且跨平台。

更好的方案是在pdf阅读器上进行扩展,实现划词翻译,这样视线不用移动多少,更舒服。比如 这个项目。本项目灵感正是来自于它, 感觉挺有用并且想要加一些特性进去,于是就重新造了这个轮子。

特点

  • 划词后自动翻译,工作流更加简单,简单是最重要的,keep it simple stupid
  • 支持google翻译,相对于百度必应和有道,仍然是更喜欢谷歌翻译的结果
  • 跨平台支持(win/linux/mac),使用webui也就是直接用浏览器作为前台,更加干净整洁

技术栈

  • express 实现后端
  • translation.js
  • pdfjs 作为前端

跨平台支持

编译好的二进制包

支持windows & Linux & Mac OS

直接下载,解压,双击打开使用即可

从源码安装运行

git clone https://github.com/axipo/pdfTranslator.git
cd pdfTranslator
npm install
node index.js

打包方法

git clone https://github.com/axipo/pdfTranslator.git
cd pdfTranslator
npm install
npx pkg ./package.json

Q&A

  1. 支持什么浏览器?

    目前仅适配了基于chrome的浏览器以及firefox,ie不支持,Safari测试通过。

    程序启动后自动打开默认浏览器,直接使用浏览器作为UI即可~

    如果默认浏览器是ie,那么可以在其他受支持的浏览器中输入http://127.0.0.1:3000 使用。

    后续会加入对ie的支持

  2. 为什么我划词之后没有自动翻译?

    如果你是使用ie或者基于ie的浏览器,建议换到基于chrome的浏览器或者firefox

    另外,我发现一个共性的问题,如果你用过ipv6 hosts科学上网,那么很有可能只能打开不能获取翻译结果 需要删除掉hosts里面translate.google.cn的记录。原因是hosts里关于google翻译的ipv6地址已经被墙,无法使用。但是删除后走正常的ipv4是可行的,因为谷歌翻译cn域名没有被墙。这也回答了另一个问题,本程序是不需要科学上网的。

  3. 为什么不开发桌面版,还要在浏览器打开?

    这个是一个个人喜好问题了,实际上我还是偏向用webui的方式,界面交由浏览器实现,请求翻译API由后台负责,干净整洁。非常自然的解决了跨平台问题,并且软件体积很小。

  4. 使用人数过多会导致API被限流吗?

    不会,没有使用标准的收费接口,实际上是使用的非正规接入方式。

  5. 软件收费吗?

    nope,项目被别人喜欢带来的快乐感更重要,欢迎star/反馈意见/推广给朋友

To-Do

  • 有时间把有道翻译和必应翻译也加上吧(咕咕咕

  • 有时间把Linux和mac的打包版本也导出好(咕咕咕+1

↑估计要等空闲一点再搞,最近真的忙...

请我喝杯咖啡?(多虑了

收款码