Skip to content
一个具有划词翻译功能的pdf阅读器,用着挺好用开源一下造福众科研人员,欢迎star
JavaScript CSS HTML
Branch: master
Clone or download
Latest commit 49e4105 Nov 8, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build fist edition Nov 5, 2019
node_modules fist edition Nov 5, 2019
web 调整显示 Nov 8, 2019
.gitignore small fix Nov 6, 2019
build.sh 允许连续翻译 Nov 6, 2019
index.js 修复翻译含有“%”文本时出错的bug Nov 7, 2019
package-lock.json fist edition Nov 5, 2019
package.json 打包所有平台二进制版本 Nov 8, 2019
readme.md Update readme.md Nov 8, 2019
to-do.md 允许连续翻译 Nov 6, 2019

readme.md

pdfTranslator

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

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

太长不读通道

点此下载,双击打开

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

打开新文件有两种方式:

  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

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

请我喝杯咖啡?(多虑了

收款码

You can’t perform that action at this time.