Ebook Translator:用 Calibre 翻译多格式双语对照电子书

延伸阅读

给这篇文章写一条留言

提示:带 * 标记的是必填项。您填写的邮箱地址将会被保密。首次留言将会在通过人工审核后显示。如果是提出问题,请务必提供尽可能多信息,这有助于他人更好地理解你所提出的问题。

小伙伴们写下了 299 条留言

  1. 哈喽,想请问:是否有回译功能添加其准确性的脚本在内?

    另外提升其翻译速度的方式(因为我不懂代码,所以口语化表述):

    有没有这个可能,添加一个功能,翻译前将一本书拆解成几部分,然后再进行翻译,翻译成功后,再进行合并。如果有这个功能,那可以极大增加翻译的速度。

    • 后面的版本会增加一个翻译监控面板,可以更精细的控制翻译,包括你所说的让其重新翻译段落,甚至针对同一段落调用不同翻译引擎翻译以获取最佳翻译效果。

      关于速度的问题,主要是受限于翻译引擎 API 的请求限制。插件后面的版本会增加并发请求的功能,对于免费版本的翻译引擎可能效果有限,但是如果你使用的是付费版本,允许大量并发请求,则会大大提升翻译速度。

  2. 你好,我在正常可以访问chatGPT,API我也申请了,但是用这个插件的时候,测试却总是返回“Can not parse returned response. Raw data: HTTP Error 429: Too Many Requests”,请问一下这个怎么解决?

    • 使用了网络代理吗?如果用了的话需要更换 IP。因为可用请求 ChatGPT API 的 IP 可能已经被别人大量请求,导致出现 “Too Many Requests” 的错误。

      • 用了代理,换了多次IP都不成功,这个以后再说吧。
        现在是碰到了一个其他问题。
        当我使用google(free)的时候,翻译都100%了,但是报错FileNotFoundError: [Errno 2] No such file or directory: ‘C:\\Users\\****\\AppData\\Local\\Temp\\calibre_acs3lnag\\hvea0boj_plumber\\OEBPS/Images/2.55_emergence-neurons.png’
        不论我选择书库,还是直接的pc位置比如c:\documents 都会报同样的错误。calibre的版本是6.17.0,插件版本1.3.6。

        • 此问题建议参考这个帖子。在 Windows 系统中,有一个功能叫做 “存储感知”,它会自动清理长时间运行程序的临时文件。你可以尝试关掉此功能,或通过 Calibre 的环境变量 CALIBRE_TEMP_DIR 为其重新指定一个文件夹。

      • 哇,您回复很快捏~我都没有留意,谢谢您了。

        再请教一番:

        chatgpt3.5与Google(Free)哪个精准度会更高?

        因为chatgpt3.5一本书下来费用也不算太高。

        另外您描述的deepl(free)翻译不稳定,不稳定具体再哪里呢?是翻译不准确,还是其他的不稳定?

  3. 你好
    clibre3.48 升级1.35版本失败
    弹框提示
    错误: 未处理的异常: ImportError:cannot import name _z
    请问如何解决,谢谢!

    calibre 3.48 Portable embedded-python: True is64bit: False
    Windows-7-6.1.7601-SP1 Windows (’32bit’, ‘WindowsPE’)
    32bit process running on 64bit windows
    (‘Windows’, ‘7’, ‘6.1.7601’)
    Python 2.7.15+
    Windows: (‘7’, ‘6.1.7601’, ‘SP1′, u’Multiprocessor Free’)
    Interface language: zh_CN
    Successfully initialized third party plugins: KindleUnpack – The Plugin (0, 83, 1) && Ebook Translator (1, 1, 0) && EpubMerge (2, 15, 0) && EpubSplit (3, 5, 0)
    Traceback (most recent call last):
    File “site-packages\calibre\gui2\preferences\plugins.py”, line 319, in add_plugin
    File “site-packages\calibre\customize\ui.py”, line 472, in add_plugin
    File “site-packages\calibre\customize\ui.py”, line 61, in load_plugin
    File “site-packages\calibre\customize\zipplugin.py”, line 201, in load
    File “site-packages\polyglot\builtins.py”, line 186, in reload
    File “site-packages\calibre\customize\zipplugin.py”, line 185, in load_module
    File “calibre_plugins.ebook_translator.__init__”, line 3, in
    ImportError: cannot import name _z

    • 不正常。之前插件同时存在新旧两种抽取元素的方式,会根据电子书结构选择使用。旧的方式会出现忽略某些元素不翻译的情况,新的则不会,现在插件已经决定抛弃旧的方式,你可以按照文中提供的命令从 GitHub 仓库中获取最新的插件文件安装试用。

  4. 连续试了几个版本的插件,目前是1.3.5,发现同等硬件配置下,该插件在Linux客户端下的运行效率明显低于Windows。按Debian 11 + Calibre 6.17 + Ebook Translator 1.3.5的组合,通过Google(Free)的翻译时间是Windows 11 + Calibre 6.17 + Ebook Translator 1.3.5所需翻译时间的几十倍。
    不知道是代码适配问题,还是其他什么原因。

    • 翻译的条目和设置的请求间隔是一样的吗?后面的版本会添加并发请求功能提高一下效率。

      • 插件设置是相同的,不过刚试了其他翻译引擎都正常,google的在我这两个系统下的表现差异太大。google的ping值都很正常,或许也和我这网络环境有关,看来个例的可能性比较大。

  5. 意大利文,会出现如下情况,一部分下级内容不翻译,直接掠过。请问怎么办?

    (作为 1997 年开始的标准政策的一部分,所有项目都包含在所有研究中),汇总每个业务部门的数据,并且该分数与以下相关按业务部门汇总绩效指标:

    métrica de cliente (denominada compromiso del cliente)
    rentabilidad
    productividad

  6. 使用合并翻译时排版会乱,有时候会有好几个句子的翻译挤成一坨,而不是一句原文一句翻译。版本 v1.3.3 翻译引擎chatgpt

      • 试了一下,v1.3.4中还是会出现问题。之前忘了问,使用chatgpt合并翻译的最大字符就是2000吗?我昨天(也就是v1.3.3)中把字符调到3000后,就有一些句子没有被翻译。
        另外,我有一本书无法正确检测到,我发到了,您能帮我看看吗?

        • ChatGPT 具体有多少字数限制不太清楚,但是不建议太长,你可以自行测试找到一个合适数目。

          邮件发来的两本书,其中一个貌似结构有些问题,Calibre 无法将其分段,因此将整本书内容发送给了翻译引擎导致出错,建议先把原书转换成 TXT 再进行翻译。对于 ChatGPT 合并段落的问题,我们对插件又做了一些优化,你可以下载最新版本试用。

          另外,插件的合并翻译功能在 ChatGPT 上的表现仍不太好,这是因为没找到太好的办法让 ChatGPT 原样保留合并段落时插入的标记,如果翻译某些书时问题比较严重,还是逐段翻译比较保险。

  7. 请教一下这是怎么回事?
    AttributeError: ‘NoneType’ object has no attribute ‘tail’

  8. 您好,请问网络代理填写之后,谷歌翻译测试的时候,显示返回的数据有问题,仍然无法翻译,这是怎么回事呢?

      • 就是在设置页面的翻译选择页面的测试按钮,测试谷歌翻译显示无法解析返回的数据,是不是说明我填写的代理Ip无法连接谷歌翻译导致的?

      • 情况就是谷歌翻译无法给出翻译结果,是不是因为代理IP的问题,如果是IP的问题,那我要如何获得代理IP呢?

        • 如果无法正常翻译应该会显示像下面这样的错误信息,其中原始数据后面的信息可以帮助判断问题出在哪儿。

          无法解析返回的响应。原始数据:<urlopen error [Errno 60] Operation timed out>

          你在测试时,翻译失败后插件没有显示原始数据吗?

            • 您好,评论无法上传图片,也提示我请使用汉字交流,有什么方法可以评论出原始数据

              • 我还以为是返回的空信息。如果错误信息里有尖括号,可以将其删除再贴上来,评论需要有至少一个汉字。

                  • 这表示 Google 翻译拒绝服务,看起来是网络代理的问题,如果你使用的代理提供了多条线路,可以更换一个 IP 再试试看。

                • 不好意思管理员,我不太懂这个东西,我不知道要怎么获得可以用的代理ip,是需要我先通过一些付费软件挂到vpn吗?

                  • 现在的网络代理类型有很多种,有免费的也有付费的,一两句话不太能说清楚,你需要自行研究一下。通常代理软件会提供多种线路(即所谓的可用代理 IP),供用户在设置中进行切换。如果你使用的是真正的 VPN,一般不需要在插件中设置代理,因为它是全局的(所有网络流量都会通过它);如果你使用的是其他网络代理协议,并且开启了全局模式,一般也不需要在插件中设置代理,否则,需要在软件设置中找到可用于 HTTP 代理的 IP 和端口,将其填写到插件代理设置中保存即可。

                • 好的管理员,非常感谢您的解答,我去试一下,如果还有问题我会继续留言询问,辛苦了

  9. 您好,请问什么是api啊?我是中国用户,目前没有填写api(因为不知道怎么弄T_T),所以就是无法翻译的状态,请问api到哪里可以买呢?付费的是需要fan强去官网买吗?免费的要怎么获得呢?实在不好意思,我了解得太少了,谢谢!

  10. OpenAI 的api的话,支持代理接口使用吗?代理的话,网址需要带v1/chat/completions 类似这样的后缀吗?
    我看chrome的划词翻译插件和沉浸式翻译,好像都需要带这样的后缀。

  11. 如何获得api密钥呢,在deepl里没找到api获得的路径,如果尝试使用有道翻译,申请api需要应用名称,不知道该如何使用

    • DeepL 的付费服务有区域限制,详情可查看其官方价格页面。申请有道翻译 API 密钥时所要求的应用名称可以随意填写,关键是要获取它的应用 ID 和密钥。另外,你也可以使用插件内置的免费的 Google 或 DeepL 翻译。

  12. 小白求问,插件为啥无法安装成功呢?显示:
    錯誤: 未處理的例外: InvalidPlugin:The plugin in ‘/Users/ylchen/Downloads/Ebook-Translator-Calibre-Plugin_v1-2.zip’ is invalid. It does not contain a top-level __init__.py file

    calibre 6.14.1 embedded-python: True
    macOS-13.2.1-x86_64-i386-64bit Darwin (’64bit’, ”)
    (‘Darwin’, ‘22.3.0’, ‘Darwin Kernel Version 22.3.0: Mon Jan 30 20:42:11 PST 2023; root:xnu-8792.81.3~2/RELEASE_X86_64’)
    Python 3.10.1
    OSX: (‘13.2.1’, (”, ”, ”), ‘x86_64’)
    Interface language: zh_HK
    Traceback (most recent call last):
    File “calibre/gui2/preferences/plugins.py”, line 325, in add_plugin
    File “calibre/customize/ui.py”, line 513, in add_plugin
    File “calibre/customize/ui.py”, line 64, in load_plugin
    File “calibre/customize/zipplugin.py”, line 298, in load
    File “calibre/customize/zipplugin.py”, line 393, in _locate_code
    calibre.customize.InvalidPlugin: The plugin in ‘/Users/ylchen/Downloads/Ebook-Translator-Calibre-Plugin_v1-2.zip’ is invalid. It does not contain a top-level __init__.py file

        • 我留意到你留言中错误提示中的插件文件名是 Ebook-Translator-Calibre-Plugin_v1-2.zip,而不是 Ebook-Translator-Calibre-Plugin_v1.1.0.zip,确定下载的是书伴提供的 ZIP 文件吗?

          • 确定的,我就是在这个页面点进的下载链接,-1应该是因为我下载了两次,第二次的时候系统为了区分文件自动加了一个-1的后缀,我刚刚进行第三次下载的时候下载的文件变成了-2的后缀

              • 感谢,问题解决了!我核对了MD5值发现不一致,原因是浏览器下载zip文件后会自动解压缩,我在安装插件前又手动将文件夹压缩回zip,导致插件不可用

                • 原来是这样。如果需要手动压缩插件(比如从 GitHub 上拉取最新版本),需要注意,压缩文件时不要压缩包含文件的目录,而是直接压缩目录中的所有文件。不然 Calibre 无法正确识别插件。

  13. 翻译完成后输出到了我设定好的文件夹,但进去一看是个0k的空文件?