Ebook Translator:用 Calibre 翻译多格式双语对照电子书
- 添加“开启/关闭”翻译元数据的选项;
- 更新土耳其语界面翻译;归功于 @DogancanYr
- 修复因缺少命名空间导致的输出错误;
- 修复无法重试翻译失败条目的错误;
- 修复无法正确显示自定义引擎配置的错误;
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,SRT,PGN
★ Ebook Translator 插件支持的输出格式:
EPUB, AZW3, MOBI, KFX, PDF, DOCX, TXT, RTF, OEB, TCR, PDB, SNB, LRF, TXTZ, LIT, RB, HTMLZ, PMLZ, ZIP, FB2,SRT,PGN
二、安装插件
首先确保你的操作系统已经安装了 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 页面。
五、注意事项
开发 Ebook Translator 插件测试用的 Calibre 版本是 3.48 和最新版版本,因此理论上插件在 3.x 到 6.x 版本的 Calibre 中都能正常使用,但是如果版本低于 3.x,可能无法正常使用。
尽管 Ebook Translator 插件在发布会尽可能测试,但仍无法保证在任何情况下不会出现问题。
如果你在使用插件的过程中遇到了问题或有好的建议,欢迎报告错误或提交功能请求。
六、常见问题
1、翻译文件丢失
有些用户反馈翻译完成后无法打开文件,此问题通常发生在 Windows 系统上。在 Windows 系统中,有一个功能叫做 “存储感知”,它会自动清理长时间运行程序的临时文件。
为避免此问题,请通过插件的缓存管理器为缓存另外指定文件夹(请勿选择任何临时目录)。
2、翻译速度太慢
普通翻译服务(如 Google Translate)翻译 1000 个段落通常仅需不到 1 分钟的时间。如果你使用的是 ChatGPT 之类的生成式 AI,耗时则有较大的差异,建议根据服务的速率限制在设置中修改并发请求和请求间隔以加快翻译速度。另外,也可开启合并段落功能大幅提升翻译速度。
3、合并翻译效果
在使用 ChatGPT 时合并翻译功能表现较差,这是因为插件会在合并后的文本中添加标记,由于无法保证 ChatGPT 翻译这些文本后仍会保留这些标记,因此无法保证最终的翻译效果。因此,如果要使用的 ChatGPT 翻译电子书,不建议开启合并翻译功能。
七、更新日志:
2024.06.14 / v2.3.5
- 添加“开启/关闭”翻译元数据的选项;
- 更新土耳其语界面翻译;归功于 @DogancanYr
- 修复因缺少命名空间导致的输出错误;
- 修复无法重试翻译失败条目的错误;
- 修复无法正确显示自定义引擎配置的错误;
2024.05.05 / v2.3.4
- 为高级模式添加过滤功能;
- 支持通过 CSS 选择器保留元素;
- 支持设置需要优先提取的元;
- 添加翻译状态显示器;归功于 @Andy-AO
- 添加未对齐条目数量;归功于 @Andy-AO
- 将翻译失败的条目标记为红色;
- 缓存管理器显示缓存最后修改时间;
- 支持关闭以及自动隐藏通知;
- 添加快捷键和快速访问键;
- 允许用户选择译文书写方向;
- 分离显示翻译进度和转换进度;
- 修复无法设置原文颜色的错误;
- 修复为换行添加译文的错误;
- 修复删除条目出现错误的错误;
- 保存编辑后正确显示条目状态。
2024.03.27 / v2.3.3
- 新增 Claude 翻译引擎;
- 优化添加翻译功能;
- 界面语言添加土耳其语;归功于 @DogancanYr
- 显示电子书内容抽取细节;
- 支持为纯文本选择编码;
- 修复 Windows 下的输出错误;
- 修复 Windows 删除缓存错误。
© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/1057.html
延伸阅读
- [每周一书]《小岛经济学》鱼、美元和经济的故事
- [2017.10.13] Kindle 阅读器固件升级至 5.8.11
- 为何能装一千本书的 Kindle 没革了纸质书的命
- [每周一书] 直面不确定性《理解未来的7个原则》
- 为什么在亚马逊云端找不到购买或推送的电子书
- Kindle 按阅读页数付费对读者和作者会有何影响?
- 再续经典!第三代 Kindle Paperwhite 评测
- 2024 年哪款 Kindle 值得购买
- [每周一书]《失明症漫记》当苦难被视而不见
- 如何利用 Sigil 和 EpubCheck 插件检查和修复 EPUB 文件
- [每周一书]《地理与世界霸权》地理如何影响人类历史?
- [每周一书]《他者的消失》当代社会、感知与交际
- [每周一书]《批判性思维》做一个独立思考的自由人
- Clippings:Kindle“我的剪贴”管理神器
- Calibre 常用命令行工具详解之 ebook-meta
Google (Advanced)翻译引擎的“PROJECT_NUMBER_OR_ID|KEY PATH”中的“key_path”要怎么写才正确呢,密钥JSON文件都下载到电脑本地了,但是咋填都测试不对,显示
“Traceback (most recent call last):
File “calibre_plugins.ebook_translator.components.engine”, line 66, in translate_text
File “calibre_plugins.ebook_translator.engines.google”, line 129, in translate
File “calibre_plugins.ebook_translator.engines.google”, line 59, in _get_credential
File “subprocess.py”, line 966, in __init__
File “subprocess.py”, line 1435, in _execute_child
FileNotFoundError: [WinError 2] 系统找不到指定的文件。”
麻烦指导一下。
插件无法使用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好像不能開這個功能,開了會沒辦法翻譯。