Ebook Translator:用 Calibre 翻译多语言多格式的电子书

- 添加翻译导航目录中的标题功能;
- 添加保留所有原元素属性的功能;
- 修复保存引擎设置引起冲突错误;
- 确保内容的标题翻译后换行显示;
- 修复无法从系统中获取代理的错误;
- 为 ChatGPT 请求添加用户代理;
- 其他错误修复和功能增强。
Ebook Translator 是书伴开发的一款 Calibre 插件,可以将不同格式不同语言的电子书翻译成指定语言(原文译文对照)指定格式的电子书,支持 Google、ChatGPT 和 DeepL 翻译引擎。
在日常的生活、工作或学习中,如果在阅读或翻译外文电子书的过程中需要频繁使用翻译软件,在内容和翻译软件之间来回切换,可能会成为一件颇为痛苦的事。Ebook Translator 插件借力 Calibre 对电子书的强大处理功能和翻译引擎对多种语言的翻译支持,可以轻松将译文添加到原文段落之后,如下图那样形成双语对照,方便辅助对原文的理解或作为译制材料时的参考。
▲ Ebook Translator 插件翻译的电子书效果
借助 Calibre 对多种电子书格式的灵活支持,进行翻译时,你可以自由地选择输入输出格式,比如把 TXT 翻译成为 TXT 或 EPUB,把 PDF 翻译成 PDF 或 DOCX。
Ebook Translator 插件源代码使用 GPL v3 许可证。插件项目托管在 GitHub 上。
一、功能简介
★ Ebook Translator 插件主要包含以下功能:
- 支持“批量模式”和“高级模式”两种翻译模式,应用于不同使用场景
- 支持所选翻译引擎所支持的语言(如 Google 翻译支持 134 种)
- 支持多种翻译引擎,包括 Google 翻译、ChatGPT 以及 DeepL
- 支持自定义翻译引擎(支持解析 JSON 和 XML 格式响应)
- 支持所有 Calibre 所支持的电子书格式(输入格式 48 种,输出格式 20 种)
- 支持批量翻译电子书,每本书的翻译过程同时进行互不影响
- 支持缓存翻译内容,在请求失败或网络中断后无需重新翻译
- 提供大量自定义设置,如将翻译的电子书存到 Calibre 书库或指定位置
★ Ebook Translator 插件支持翻译的语言:
- Google 翻译支持的语言列表
- DeepL 翻译支持的语言列表
- ChatGPT 具体支持语言不详
- 有道翻译支持的语言列表
- 百度翻译支持的语言列表
★ Ebook Translator 插件支持的输入格式:
EPUB, AZW3, AZW4, MOBI, PDF, DOCX, TXT, MARKDOWN, RTF, RECIPE, HTML, HTM, XHTML, XHTM, TXTZ, CB7, ODT, RAR, FBZ, CBC, SHTM, TEXT, SHTML, POBI, UPDB, OPF, TCR, PML, PDB, CHM, SNB, LRF, LIT, RB, DOWNLOADED_RECIPE, CBR, DJV, DJVU, MD, AZW, TEXTILE, DOCM, HTMLZ, PMLZ, CBZ, ZIP, PRC, FB2
★ Ebook Translator 插件支持的输出格式:
EPUB, AZW3, MOBI, KFX, PDF, DOCX, TXT, RTF, OEB, TCR, PDB, SNB, LRF, TXTZ, LIT, RB, HTMLZ, PMLZ, ZIP, FB2
二、安装插件
首先确保你的操作系统已经安装了 Calibre,然后通过一下任意方式安装本插件:
【方法一】通过 Calibre 安装
- 打开 Calibre 并依次点击其菜单【 首选项… → 插件 → 获取新的插件 】;
- 在插件列表中选中 Ebook Translator 然后点击 【 安装 】 按钮(请留意,首次安装此插件时,要选择把图标显示在主工具栏上);
- 最后关闭并重新打开 Calibre 即可正常使用。
【方法二】通过插件文件安装
- Ebook Translator 插件下载:插件主页 | GitHub下载 | 百度网盘 | Google Drive
NAME: Ebook-Translator-Calibre-Plugin_v2.2.0.zip
MD5: 4eda05385bf2f49d1b8a066b9795e3ab
SHA1: e9bcfc0d02c51dc7dd7d9de9a1f4b0c12e3f6ba0
- 首先在通过以上链接下载插件文件;
- 然后打开 Calibre 并依次点击其菜单【首选项 → 插件 → 从文件加载插件】;
- 在弹出的对话框中选择下载的扩展名为 .zip 的插件文件完成安装(请留意,首次安装此插件时,要选择把图标显示在主工具栏上);
- 最后关闭并重新打开 Calibre 即可正常使用。
如果想安装最新版本,可以访问 https://translator.bookfere.com 点击按钮【Rolling Release】下载。注意,最新版本在每次提交代码时自动生成,未经过严格测试,可能会存在错误。
如果安装插件后,插件图标未出现在 Calibre 的主工具栏上,可以依次点击 Calibre 的菜单【首选项 → 工具与菜单】,在弹出的对话框中点击下拉菜单并选择“主工具栏”,然后在左栏找到并选中插件图标,点击中间的右箭头按钮【>】将其添加到右栏,最后点击【应用】按钮即可。
三、使用方法
Ebook Translator 提供了两种翻译模式,在开启缓存状态下两者共享同一缓存数据。
1、高级模式
- 在 Calibre 书库中选中要推送的电子书,点击 Calibre 主工具栏上的【翻译书籍】图标按钮,或点击图标下拉菜单选择【高级模式】;
- 在弹出的提示框点击选择“高级模式”(首次打开);
- 选择“输入格式”和“输出格式”,点击【开始】进入“高级模式”翻译主界面;
- 点击【删除】按钮删除需要忽略翻译的选中段落(可选);
- 通过以下两种方式进行翻译:
- 点击【翻译所选】按钮翻译选中的段落
- 点击【翻译全部】按钮翻译全部电子书内容
- 翻译完成后,在右方“校对”区域,通过编辑下方文本并点击【保存】,可以更改翻译结果;
- 点击【输出】按钮,存储翻译完成后的电子书。输出任务将被推送添加到 Calibre 的任务队列。
2、批量模式
- 在 Calibre 书库中选中要推送的电子书,点击 Calibre 主工具栏上的【翻译书籍】图标按钮,或点击图标下拉菜单选择【批量模式】;
- 在弹出的提示框点击选择“批量模式”(首次打开);
- 进入插件主界面,在这里你可以修改“书名”(作为保存文件时使用的文件名),分别为每一本书选择“输入格式”、“输出格式”、“来源语言”(一般情况下“自动探测”即可满足需求)、“目标语言”(默认使用 Calibre 界面当前所用的语言);
- 点击下方的【翻译】按钮即可开始翻译。
插件会将每本电子书的翻译任务推送添加到 Calibre 的任务队列,你可以通过点击 Calibre 右下角的【任务】查看推送详情,双击任务条目可以进入日志实时查看正在翻译的内容。
三、插件设置
▲ Ebook Translator 通用设置
▲ Ebook Translator 引擎设置
▲ Ebook Translator 内容设置
有关设置内容的详细说明请查阅 Ebook Translator 项目的 Wiki 页面。
https://github.com/bookfere/Ebook-Translator-Calibre-Plugin/wiki/简体中文#设置说明
五、注意事项
开发 Ebook Translator 插件测试用的 Calibre 版本是 3.48 和最新版版本,因此理论上插件在 3.x 到 6.x 版本的 Calibre 中都能正常使用,但是如果版本低于 3.x,可能无法正常使用。
尽管 Ebook Translator 插件在发布前尽可能做了可用性测试,但是限于用来测试的电子书数量,仍无法保证在任何情况下运行结果不会出现问题。如果你在使用插件的过程中遇到了问题,欢迎留言详述问题。如果有好的建议或想要贡献代码,也欢迎访问 GitHub 上的插件项目。
六、常见问题
1、翻译文件丢失
有些用户反馈翻译完成后无法打开文件,此问题通常发生在 Windows 系统上。在 Windows 系统中,有一个功能叫做 “存储感知”,它会自动清理长时间运行程序的临时文件。你可以尝试关掉此功能,或通过 Calibre 的环境变量 CALIBRE_TEMP_DIR
为其重新指定一个文件夹。(credit)
2、翻译速度太慢
你可以根据自己的需要和翻译引擎的限制在设置中设定并发请求数量以加快翻译速度。
3、合并翻译效果
在使用 ChatGPT 时合并翻译功能表现较差,这是因为插件会在合并后的文本中添加标记,由于无法保证 ChatGPT 翻译这些文本后仍会保留这些标记,因此无法保证最终的翻译效果。因此,如果要使用的 ChatGPT 翻译电子书,不建议开启合并翻译功能。
七、更新日志:
2023.09.29 / v2.2.0
- 添加翻译导航目录中的标题功能;
- 添加保留所有原元素属性的功能;
- 修复保存引擎设置引起冲突错误;
- 确保内容的标题翻译后换行显示;
- 修复无法从系统中获取代理的错误;
- 为 ChatGPT 请求添加用户代理;
- 其他错误修复和功能增强。
2023.09.10 / v2.1.4
- 修正了因语言变体导致错误请求的错误;
- 修正了导致翻译过程意外中断的错误;
- 为高级模式添加了缓存状态指示器。
2023.09.01 / v2.1.3
- 修正了 BOM 导致的词汇表错误;
- 修正了无法删除和删除缓存的错误;
- 修正了无法存储翻译电子书的错误;
- 修正了导致翻译过程崩溃的错误;
- 修正旧版本 Calibre 的翻译错误;
- 修正了无法正确显示设置的错误;
- 加快在 Windows 中存储缓存速度。
2023.08.02 / v2.1.2
- 批量模式下一旦遇到错误就结束翻译;
- 选择仅保留译文时保留原文超链接;
- 修复导致插件崩溃的缓存相关错误;
- 修复词汇表的词汇无法复原的错误。
2023.07.16 / v2.1.1
- 修复无法保存设置的错误。
2023.07.15 / v2.1.0
- 优化翻译引擎的并发请求提升翻译速度;
- 为低版本 Calibre 添加并发请求支持;
- 添加用来管理缓存的“缓存管理”功能;
- 优化词汇表功能以适配多操作系统平台;
- 修复无法正常解析 DeepL 响应的错误;
- 其它错误修复和功能增强(969659e…deac58c)。
2023.06.20 / v2.0.3
- 将 HTTP 请求设置从通用更改为特定于翻译引擎;
- 将请求时间间隔有原来的随机数值更改为固定数值;
- 修复无法禁止在日志中显示译文的错误;
- 修复因标题中含有特殊字符无法输出的错误;
- 修复无法复原 ChatGPT 请求端点的错误;
- 修复因无效的转义导致转换中断的错误;
- 修复某一任务失败导致其他任务失败的错误;
- 更正 Azure ChatGPT 的模型名称。
2023.06.12 / v2.0.2
- 修复无法正确保存自定义引擎的错误;
- 在合并翻译时移除已忽略的段落;
- 优化过滤元素性能,提升高级翻译打开速度;
- 添加微软 Edge 翻译引擎(贡献者 @wanghaosjtu);
- 添加向电子书元数据添加目标语言和主题功能。
2023.06.10 / v2.0.1
- 修复不能正确分割译文中的 ID 标记的错误;
- 修复文本流响应未完成读取的处理错误;
- 修复自动更换 API 密钥功能的错误;
- 修复开启仅保留译文后没删除原文的问题;
- 修复没有删除注音回退括号元素的错误;
- 修复部分翻译引擎破坏词汇表插入标记的问题;
- 修复无法正确过滤掉空内容的错误;
- 优化了缓存和词汇表功能。
2023.06.06 / v2.0.0
- 添加“高级模式”,可以更加细颗粒度控制翻译内容;
- 为 ChatGPT 添加更多选项,如端点、采样、模型;
- 为多有内置翻译引擎添加多 API 密钥的支持;
- 添加“忽略元素”功能,用来排除不需要翻译的元素;
- 增强缓存功能,包含了更多内容供用户检查;
- 添加偏好输入/输出格式和偏好来源于言选项;
- 为内置的翻译引擎添加了 Azure ChatGPT;
- 添加了“偏好模式”选项,用于点击图标按钮设置;
- 为“HTTP 请求”设置添加了“超时”选项;
- 优化了 ChatGPT 提示词,以求更精确的翻译;
- 修复没能正确过滤段落的错误;
- 优化用户体验、增强功能以及其它错误修复。
2023.05.12 / v1.3.8
- 修复无法保存“忽略段落”规则的错误;
- 修复导致某些段落被忽略翻译的错误;
- 修复某些内容导致插件中断工作的错误。
2023.05.11 / v1.3.7
- 支持并发请求(仅 Calibre 5.0 及更高版本可用);
- 为“忽略段落”功能添加过滤范围选项;
- 支持在翻译过程中忽略 pre/code 元素。
2023.05.08 / v1.3.6
- 删除旧的元素抽取方式以避免遗漏翻译;
- 限制文件名为 200 个字符以避免保存时出错;
- 修复插件从低版本升级到低版本时的错误;
- 使插件兼容低版本的 Calibre。
2023.05.06 / v1.3.5
- 自定义翻译引擎已支持“合并翻译”;
- 为 ChatGPT 和自定义翻译引擎优化“合并翻译”功能;
- 为如抽取元素等关键功能添加测试用例。
2023.05.05 / v1.3.4
- 修复了开启“合并翻译”后 ChatGPT 无法保留标记的错误。
2023.05.04 / v1.3.3
- 添加新翻译引擎:Google (Basic)、Google (Advanced);
- 将 Google (Free) 的请求方法改为 GET 以避免“Too Many Requests”错误;
- 在日志中添加重试请求时的时间戳。
2023.05.01 / v1.3.2
- 修复影响插件可用性与处理图片相关的错误;
- 修复导致翻译引擎设置显示错误名称的错误;
- 修复无法为代理主机输入 URI 协议的错误。
2023.04.29 / v1.3.1
- 移除了对百度翻译密钥的输入限制。
2023.04.28 / v1.3.0
- 添加了“合并翻译(测试版)”功能;
- 支持为目标语言设置偏好语言;
- 支持自定词汇表以确保翻译更加精准;
- 添加免费版本的 DeepL 翻译引擎;
- 为 ChatGPT 添加服务器发送事件(SSE)支持。
2023.04.19 / v1.2.2
- 优化自定义翻译引擎功能。
2023.04.18 / v1.2.1
- 修复导致 DeepL 无法正常运行的错误。
2023.04.17 / v1.2.0
- 添加了自定义翻译引擎功能
- 添加了翻译引擎测试功能
- 添加了显示某些翻译引擎使用余量功能
2023.04.08 / v1.1.0
- 可通过“内容”面板调整译文位置
- 添加过关键字或正则表达式排除不需翻译内容
- 添加百度和有道两款翻译引擎
- 将已翻译电子书作为新项目加入书库
- 添加为更改译文文本颜色的功能
- 添加自定义ChatGPT提示词功能
- 忽略对注音(如日语注音)的翻译
- 界面语言添加西班牙语
- 为日志添加有助于排插错误的诊断信息
- 为译文元素标签添加对应的lang属性
- 修复切换Calibre界面语言插件图标消失的错误
- 改进原文的提取功能
2023.03.29 / v1.0.2
- 修复了 MOBI 转 MOBI 时翻译内容丢失的问题
- 优化请求失败后重试时的时间间隔
- 输出文件扩展名改为小写字母
2023.03.29 / v1.0.1
- 修复点击完成提示框上的打开按钮出错的问题
2023.03.28 / v1.0.0
- 首次发布
© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/1057.html
延伸阅读
- [网友投稿]《人生的智慧》直观的生活哲学
- 如何提取 Kindle 系统内置的原生字体文件
- 制作 KF8 标准电子书示例(下):图片与背景
- [每周一书] 如何驾驭游戏让《游戏改变世界》
- Calibre使用教程之为电子书添加或修改封面
- 重新认识汉字:不仅知其然还要知其所以然
- [网友投稿] 如何为 Kindle 全平台更换自定义字体
- Sherry推荐图书(十一)——有关心理疾病
- Kindle 使用小技巧之在线翻译
- 亚马逊中国现已开放 Kindle Voyage 标准版的预售
- 如何把 Kindle 电子书的横排文字改成竖排
- 丛日云:人生多歧路,你将如何做出选择
- Calibre 使用教程之为 Kindle 电子书添加页码
- 张文翊专访:Kindle 电子书还能“狂奔”很多年
- 如何解决 Kindle 电子书无法更换字体的问题
插件无法使用Google翻译引擎是什么原因呢,选择Google翻译引擎以后测试提示超时,但是已经打开了全局代理,Chrome浏览器的划词翻译插件能正常使用谷歌翻译。
此问题的原因和解决方法详见项目 Issue 129。
您好,我发现再ChatGPT的合并翻译中,它总是把几千字的文章翻译成短短一句话“确保保留内容中与模式{{id_\d+}}匹配的占位符。”,这显然是它理解错误了,需要人手动重新翻译。请问,是否可以在使用ChatGPT合并翻译的情况下,把翻译后字符不足50的译文视作翻译错误,并重新翻译呢?
能否在高级模式里选择特定段落进行合并翻译呢
百度翻译合并翻译有问题,如{{id_659}} 会变成(id_660)
求教安装插件,mac系统,下载的calibre-6.26,安装成功后没有找到【菜单/首选项】入口。主工具栏上也没有看到【翻译书籍】入口。
問題已解決!插件安裝成功能使用了!
想问下DeepL(免费)有对IP限制次数,那能否出个单独对应的功能,在出现错误后暂停然后提示更换IP呢
你可以将设置中的“超过错误次数停止翻译”的次数设为 1,这样一旦出错就会停止翻译了。
好的,谢谢,我用的合并翻译,在个别章节前面会出现<br今天的博恩霍尔姆岛是一个宁静的旅游天堂,岛上有风景如画的渔村和田园风光,平坦的乡间小道纵横交错,非常适合骑自行车休闲和在
<br这个没完全去掉
这个也是,有时候在书籍中有插入
m id=240这个也是
使用的DeepL(免费)批量模式错误后停止了,重新开始没有按照之前的进度,是会清缓存吗。因为DeepL对一个IP次数有限制,如果没及时换的话,就会错误。这样批量模式就不好用了呀
如果开启了缓存功能,除非用户手动清除,正常情况下插件是不会清空缓存的。插件默认会将缓存存放在临时目录,有的操作系统,如 Windows 可能会将缓存文件作为临时文件自动删除。建议通过插件的管理缓存功能为缓存另外指定一个安全的位置,再试试看。
试过了,在35/256时发生了错误,重新开始后,是在11/256处开始的,等于没了一半
你用的插件是什么版本?如果是最新版本,可以用高级模式打开确认一下已翻译数目。
最新版,看了下确实是只有十多条翻译而已,我再试试看
您好,请问可以利用插件制作双语书嘛?比如江城我想看原版,但是有的单词不认识,我想把上译翻译的插入进去可以吗
抱歉,此插件无法满足这个需求。
你好,我在github上提交了一个Error,github上有具体的截图。标题:process stops at 99% always, and there is a message。进度停在99%,程序崩溃。 内容:我在旧电脑 Win10使用Calibre 6.13,Translator版本 2.11版本,用来翻译epub书籍,一直没有太多问题。 但是最近买了一个新的电脑,把整个Calibre 库复制到新的电脑中,之后 就一直翻译出错。始终进度,停留在 99%。 而且窗口无法关闭,强制点击后 会崩溃Crash。重新启动后,点击输出,依然job停留在 99%的进度,然后查看log,有如下的报错。请帮忙解决下。(已经尝试过 软件和插件统一退回到旧的版本,依然报错。 新的6.25+2.12也一样的)
详见 #110。
大佬我想问下,你的谷歌、微软、Deep免费使用,是自己掏钱,然后免费给我们用的吗,还是说能申请到免费的,新手最近,想学习做个字幕转换的工具,了解了下,都是要付费的,所以请教一下
用的都是浏览器翻译插件所使用的 API。
如果我想要和您一样使用,要怎么样弄才行呢,在github的源码里面能找到吗?或者哪里可以找到这样的介绍资料。
我上次看着代码是Python,没学过,找好好久,在本地自己跑不起来,没法断点调试,没找到。。。。
相关的实现都可以在源码的 engines 目录中找到。插件的开发和调试方法可以参考 Calibre 提供的资料:Writing your own plugins to extend calibre’s functionality。
好的,感谢大佬的指导,我研究一下,成分感谢
我在翻译时遇到一个问题,翻译电子书进度到67%的时候,会卡主,大概10分钟后会显示进度100%完成,但是文件是错误的,不存在,自然无法打开。
你可以双击任务查看日志,然后把具体的错误信息贴过来以便排查。
在使用翻译功能的时候,被翻译的英文书可以在calibre上正常阅读,显示的是翻译后的效果。
但是我需要被翻译之后的电书文件,当我进入到那个保存翻译后的电子书文件夹中,发现文件不能通过neat reader来打开。
而且文件类型很奇怪,我设置的是epub输出格式,但是输出的文件类型不是预想中的epub文档,而是就只有“文件”两个字,且文件的大小为0kb。
所以想问一下如何获取翻译后的epub格式电子书文件?
你选择的是存放到 Calibre 书库还是指定的其他位置?
我选择的是将翻译后的书籍存放到自己新建的一个在D盘中的文件夹中
请问能否增加一个不对照、只保留翻译后文本的选项?想用这个插件将繁体书翻译成简体的,但现在简体字会出现在繁体字后。另外如果能对目录也增加翻译功能就更好了!
如果不想保留原文,在设置中选择仅保留译文即可。导航目录翻译今后的版本会增加。
请问有办法支持self hold翻译吗,docker上有个LibreTranslate,官网地址:https://libretranslate.com/,这个可以自己搭建翻译服务器,有api功能,有可能支持吗,感谢大佬
你可以利用插件的自定翻译引擎功能使用它。
翻譯詞彙表,gpt好像不能開這個功能,開了會沒辦法翻譯。