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

您所在的位置:网站首页 calibre怎么重新设置语言 Ebook Translator:用 Calibre 翻译多语言多格式的电子书 – 书伴

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

2023-06-04 22:16| 来源: 网络整理| 查看: 265

Ebook Translator:用 Calibre 翻译多语言多格式的电子书 2023.05.12 / 版本更新 / v1.3.8 修复无法保存“忽略段落”规则的错误; 修复导致某些段落被忽略翻译的错误; 修复某些内容导致插件中断工作的错误。

Ebook Translator 是书伴开发的一款 Calibre 插件,可以将不同格式不同语言的电子书翻译成指定语言(原文译文对照)指定格式的电子书,支持 Google、ChatGPT 和 DeepL 翻译引擎。

在日常的生活、工作或学习中,如果在阅读或翻译外文电子书的过程中需要频繁使用翻译软件,在内容和翻译软件之间来回切换,可能会成为一件颇为痛苦的事。Ebook Translator 插件借力 Calibre 对电子书的强大处理功能和翻译引擎对多种语言的翻译支持,可以轻松将译文添加到原文段落之后,如下图那样形成双语对照,方便辅助对原文的理解或作为译制材料时的参考。

Ebook Translator插件翻译的电子书效果

▲ 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_v1.3.8.zip MD5: 8081cc8359eb57e2668069508de1d09a SHA1: 9d8ec1d1a773f49d24c97979db955c98a4101610 首先在通过以上链接下载插件文件; 然后打开 Calibre 并依次点击其菜单【首选项 → 插件 → 从文件加载插件】; 在弹出的对话框中选择下载的扩展名为 .zip 的插件文件完成安装(请留意,首次安装此插件时,要选择把图标显示在主工具栏上); 最后关闭并重新打开 Calibre 即可正常使用。

如果你想安装最新的插件,可以运行以下命令从 GitHub 仓库中下载最新的插件文件:

git clone https://github.com/bookfere/Ebook-Translator-Calibre-Plugin.git cd Ebook-Translator-Calibre-Plugin git archive --format zip --output ../Ebook-Translator-Calibre-Plugin.zip master

如果安装插件后,插件图标未出现在 Calibre 的主工具栏上,可以依次点击 Calibre 的菜单【首选项 → 工具与菜单】,在弹出的对话框中点击下拉菜单并选择“主工具栏”,然后在左栏找到并选中插件图标,点击中间的右箭头按钮【>】将其添加到右栏,最后点击【应用】按钮即可。

三、使用方法

在 Calibre 书库中选中要推送的电子书,然后点击 Calibre 主工具栏上的【翻译书籍】图标按钮弹出插件主界面,在这里你可以修改“书名”(作为保存文件时使用的文件名),分别为每一本书选择“输入格式”、“输出格式”、“来源语言”(一般情况下“自动探测”即可满足需求)、“目标语言”(默认使用 Calibre 界面当前所用的语言),最后点击下方的【翻译】按钮即可开始翻译。

中国用户需要注意,插件默认使用 Google 翻译引擎,首次使用时需要进入插件的设置界面填写可用的网络代理,否则无法使用。另外,使用 ChatGPT 需要选择合适的网络代理。

Ebook Translator插件主界面

▲ Ebook Translator 插件主界面

插件会将每本电子书的翻译任务推送添加到 Calibre 的任务队列,你可以通过点击 Calibre 右下角的【任务】查看推送详情,双击任务条目可以进入日志实时查看正在翻译的内容。

插件输出的翻译日志

▲ Ebook Translator 插件输出翻译的日志

当某本书翻译完成后,Calibre 主界面的右下角会弹出提示询问你是否立即打开翻译好的电子书,点击【是】立即打开,点击【否】忽略提示,点击【日志】查看完整的翻译日志。

四、插件设置

Ebook Translator 提供了很多设置,可以根据自己的实际需求进行设置。注意,这些设置不会自动保存,设置完成后需要点击下方的【保存】按钮保存。

Ebook Translator 插件内容面板界面

▲ Ebook Translator 插件内容面板界面

Ebook Translator 插件设置面板界面

▲ Ebook Translator 插件设置面板界面

1、内容 【 译文位置 】 加在原文后 [默认]:将译文添加到原文后 加在原文前:将译文添加到原文前 不保留原文:删除原文只保留译文 【 译文颜色 】 颜色值:CSS 颜色值,如 #666666、grey、rgb(80, 80, 80)

你可以通过点击【选择】按钮从调色盘选取颜色,也可以手动输入颜色值,颜色值可参考 MDN 有关“颜色值”的文档。如果留空则不使用自定义颜色。

【 合并翻译 】 启用 [默认不勾选]:启用合并翻译功能

你可以在这里设置单次要翻译的字符数量,默认值为 2000。

【翻译词汇表】 启用 [默认不勾选]:启用所选择的翻译词汇表

翻译词汇表的作用是为某些词汇指定特定翻译,或让翻译引擎忽略翻译某些词汇。

词汇表是扩展名为 .txt 的纯文本文件,格式如下所示。如果词汇需要指定翻译,则两行为一组,上为原文,下为译文;如果需要保持词汇不被翻译,则一行为一组。每组之间由一个空行隔开。

The Eiffel Tower 埃菲尔铁塔 The Statue of Liberty 【 忽略段落】 模式 关键词 [默认]:排除带关键词的内容(一行一条关键词) 关键词(区分大小写):排除带关键词的内容,字母区分大小写(一行一条关键词) 正则表达式:排除匹配正则表达式规则的内容(一行一条规则) 范围 仅文本 [默认]:仅匹配文本 HTML元素:匹配包括文本在内的整个 HTML 元素

正则表达式语法可参考 Python 官方文档中的“正则表达式语法”。

2、设置 【 输出路径 】 书库 [默认]:电子书翻译完成后会放入 Calibre 书库中 路径:电子书翻译完成后会存放到指定目录中 【 翻译引擎 】 Google(Free) [默认]:免费的翻译引擎 Google (Basic):需要 API 密钥(获取) Google (Advanced):需要项目 ID 和 JSON 密钥文件(获取) ChatGPT:需要 API 密钥(获取) DeepL:需要 API 密钥(获取) DeepL(Pro):需要 API 密钥(获取) DeepL(Free):免费的翻译引擎 (不稳定) 有道:需要 APP key 和 secret(获取) 百度:需要 APP id 和 key(获取) [自定义]:自定义任意翻译引擎

注意,除了 Google(Free) 和 DeepL(Free) 不需要 API 密钥外,其他内置翻译引擎都需要你注册相应账户(可能需要付费)获取 API 密钥才能使用。另外,由于插件在开发时缺少 DeepL 的 API 密钥,根据其官网提供的响应信息样例,程序可以正常运行,实际运行情况未知。

如果你打算选用 Google 翻译引擎并使用 JSON 密钥文件,需要确保你的操作系统已安装 Google Cloud CLI 并且能够正常运行 gcloud 命令。

如果选择使用需要付费的翻译引擎,建议前往相应的官方文档查看计费规则。比如,ChatGPT,可以使用其官方提供的工具 Tokenizer 估算要翻译字数大约会消耗多少 token 以便预估费用。

你可以点击【测试】按钮对当前所选翻译引擎进行测试。如果翻译引擎的 API 提供了余量信息,会在测试界面下方显示。

Ebook Translator 插件自定义翻译引擎界面

▲ Ebook Translator 插件自定义翻译引擎界面

点击【自定义】按钮可进入“自定义翻译引擎”界面,在这里可以添加、删除或修改翻译引擎。

配置自定义翻译引擎的数据格式是 JSON 格式,每次新建一个自定义翻译引擎后都会看到如下所示的模板数据:

{ "name": "New Engine - 36e05", "languages": { "source": { "Source Language": "code" }, "target": { "Target Language": "code" } }, "request": { "url": "https://example.api", "method": "POST", "headers": { "Content-Type": "application/json" }, "data": { "source": "", "target": "", "text": "" } }, "response": "response" }

其中包含 4 个键值对,分别是 name、languages、request 和 response,其含义分别如下,你需要根据实际情况进行修改:

name:显示在界面上的名称。如“Bing” languages:翻译引擎支持的语言代码。格式为 {"语言名称": "语言代码"}。具体信息需参考翻译引擎 API 文档。也可以分别填写来源语言和目标语言。 source:来源语言。格式同上 target:目标语言。格式同上 request:请求信息。包含如下键值对 url:API 网址。具体信息需参考翻译引擎 API 文档 method:请求方法(可选)。省略会默认使用 GET headers:请求标头(可选)。可参考翻译引擎 API 文档填写 data:请求数据。可以是 JSON 对象也可以是字符串,JSON 对象默认情况下会被转换成 dict 对象并编码成 application/x-www-form-urlencoded 格式发送,如果想要以普通字符串形式发送,需要同时指定合适的请求标头,如 Content-Type: application/json。其中包含 3 个内置变量,其中 和 分别对应之前填写的语言代码,如不需要可省略, 表示发送给翻译引擎的文本,必须保留。其他具体请求信息需参考翻译引擎 API 文档。 response:根据自己的需要填写解析响应信息的表达式,以抽取其中的译文文本。响应信息包含在变量 response 中,它是一个 JSON 对象(如果翻译引擎返回的数据是 JSON 格式)或 lxml 的 Element 对象(如果翻译引擎返回的数据是 XML 格式)。

自定义翻译引擎数据填写完成后可以点击界面下方的【验证】按钮检查数据是否有效,最后点击【保存】按钮保存所有的修改。

【 ChatGPT提示词 】 自动探测来源语言时的提示词:自定义当来源语言为“自动探测”时的翻译提示词 指定来源语言时的提示词:自定义当来源语言为指定语言时的翻译提示词 【 偏好语言 】 目标语言 [默认界面语言]:为目标语言设置首选语言 【 网络代理 】 开启 [默认不勾选]:开启网络代理 主机:支持 IP 和域名 端口:范围 0-65536 测试:测试代理的连通性 【 缓存 】 开启 [默认勾选]:开启翻译内容的缓存功能 清除:删除所有缓存

开启缓存功能可以避免请求失败或网络中断后对已翻译过的内容进行重新翻译。另外,你还可以在这里看到缓存对磁盘空间的占用量,点击【清除】按钮可删除所有缓存。注意,如果当前有正在进行的翻译任务,则清除按钮不可用。

【 请求 】 并发限制 [默认 1]:并发请求数量限制 重试次数 [默认 3 次]:当请求翻译引擎失败后要重试的次数 最大间隔 [默认 5 秒]:向翻译引擎发送请求的最大时间间隔

插件对翻译引擎的每次请求最长可持续 300 秒,超时后会按照指定的次数进行重试,每次重试的等待时间会逐次加长。请求的时间间隔为 1 到指定最大间隔之间的随机数。

对于 Google 翻译这种目前可以免费使用的接口,建议酌情加长时间间隔(建议 5 秒以上),以免被 Google 翻译视为滥用,从而导致翻译中断或拒绝服务。付费翻译引擎则可以设为 1。

【 日志 】 显示翻译 [默认勾选]:可以在翻译任务各自的日志窗口实时查看翻译内容 五、注意事项

目前 Ebook Translator 插件的各项功能还颇为粗糙,对于内容结构相对简单的电子书(如小说、文档)来说表现还不错,但是对相对复杂的内容结构(如学术、技术类书籍)尚有待优化。

开发 Ebook Translator 插件时用来测试的 Calibre 版本是 3.48 和 6.10,因此理论上插件在 3.x 到 6.x 版本的 Calibre 中都能正常使用,但是如果版本低于 3.x,可能无法正常使用。

尽管 Ebook Translator 插件在发布前尽可能做了可用性测试,但是限于用来测试的电子书数量,仍无法保证在任何情况下运行结果不会出现问题。如果你在使用插件的过程中遇到了问题,欢迎留言详述问题。如果有好的建议或想要贡献代码,也欢迎访问 GitHub 上的插件项目。

六、常见问题 1、翻译文件丢失

有些用户反馈翻译完成后无法打开文件,此问题通常发生在 Windows 系统上。在 Windows 系统中,有一个功能叫做 “存储感知”,它会自动清理长时间运行程序的临时文件。你可以尝试关掉此功能,或通过 Calibre 的环境变量 CALIBRE_TEMP_DIR 为其重新指定一个文件夹。(credit)

2、翻译速度太慢

插件自 1.3.7 版本开始支持并发请求,你可以衡量自己的需要和翻译引擎的限制在设置中设定并发请求数量。此功能仅支持 Calibre 5.0 或更高版本,如果低于 5.0 需要升级 Calibre 版本。

3、合并翻译效果

在使用 ChatGPT 时合并翻译功能表现较差,这是因为插件会在合并后的文本中添加标记,由于无法保证 ChatGPT 翻译这些文本后仍会保留这些标记,因此无法保证最终的翻译效果。因此,如果要使用的 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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3