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


延伸阅读

给这篇文章写一条留言

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

小伙伴们写下了 353 条留言

  1. calibre 9.9.0 翻译版本 2.41 繁转简
    翻译过程肉眼可见正确
    输出结果还是繁体 !!!

  2. 你好,这边最新版calibre下载该插件时显示安装失败能帮我看看什么原因吗

    calibre, version 9.7.0
    错误: 插件安装失败: 安装插件时发生了错误。无法安装插件。请把下面的出错详情发布到论坛中该插件的讨论贴中并重启 calibre。

    Traceback (most recent call last):
    File “calibre\gui2\dialogs\plugin_updater.py”, line 897, in _install_clicked
    File “calibre\customize\ui.py”, line 586, in add_plugin
    File “shutil.py”, line 315, in copyfile
    PermissionError: [Errno 13] Permission denied: ‘C:\\Users\\80643\\AppData\\Roaming\\calibre\\plugins\\Ebook Translator.zip’

    • 先尝试关闭并重新打开 Calibre 再安装插件试试看。如果还不行,再尝试删除这个文件在重新安装插件:

      C:\Users\80643\AppData\Roaming\calibre\plugins\Ebook Translator.zip
  3. 你好,我在翻译到99%的时候电脑关机了,现在那个文件在缓存文件夹里,文件类型为Data Base File (.db),我该怎么恢复它?

  4. 您好,我使用插件翻译到一半,因电脑死机重启了,回到插件后,想通过 Temp\com.bookfere.Calibre.EbookTranslator\ 下的.db 缓存恢复,请问我应该怎样操作才能恢复翻译一半的文档呢?
    您好我出现了同样的问题,希望解答

    • 用同样的设置重新打开要翻译的电子书,用新生成的 .db 文件名重命名旧的 .db 文件名,然后用旧的 .db 文件覆盖新的 .db 文件。

        • 假设旧的未翻译完成的缓存文件是 123.db。使用插件并以相同的翻译设置重新打开同一本书,它会重新生成缓存文件,例如 abc.db。将旧缓存文件 123.db 重命名为新缓存文件的名称 abc.db,覆盖新生成的缓存,然后再次打开书即可。

  5. 感谢!请问,我本地安装了DeepSeek的模型并开启了本地服务端口,”http://127.0.0.1:8080/v1/chat/completions”这个地址测试json链接已经通过,请问如何使用自定义翻译引擎?json文件该如何写?我使用了如下的由豆包翻译的json文件,但是翻译都带有内容:

    {
      "name": "DeepSeek-R1-Local",
      "languages": {
        "source": {
          "Auto": "auto",
          "English": "en",
          "Chinese": "zh",
          "Japanese": "ja",
          "French": "fr",
          "German": "de"
        },
        "target": {
          "Chinese": "zh",
          "English": "en",
          "Japanese": "ja",
          "French": "fr",
          "German": "de"
        }
      },
      "request": {
        "url": "http://127.0.0.1:8080/v1/chat/completions",
        "method": "POST",
        "headers": {
          "Content-Type": "application/json"
        },
        "data": {
          "model": "deepseek-r1-0528-qwen3-8b",
          "messages": [
            {
              "role": "system",
              "content": "你是一个专业的书籍翻译助手,严格按照用户要求的目标语言翻译文本,只输出译文,不添加任何额外解释、说明或备注,保持译文的准确性和流畅性。"
            },
            {
              "role": "user",
              "content": "请将以下文本翻译成:"
            }
          ],
          "temperature": 0.1,
          "max_tokens": 3000,
          "stream": false
        }
      },
      "response": "response['choices'][0]['message']['content']",
      "error": "response.get('error', {}).get('message', '翻译失败,请检查服务器连接或模型状态')"
    }

    在测试翻译引擎内翻译“hello world”,最终得到的结果是:

    嗯,用户提供了一个简单的英文短语“Hello World!”要求翻译,并指定了目标语言为中文。

    这个短语是编程入门的经典示例,通常出现在第一个程序中。用户可能正在学习编程基础,或者需要处理国际化项目中的界面文本。“Hello World”在技术文档和代码注释中经常出现,所以ta可能是在准备开发文档或本地化软件界面。

    考虑到这是一个非常基础的翻译任务,我会采用最通用的译法“你好世界”。虽然字面意思是“向世界问好”,但在中文编程语境下这个直译已经约定俗成。用户应该不需要更文学化的表达,而是想要一个技术文档中标准可用的版本。

    要注意保持简洁性,“Hello World”本身只有六个字母加感叹号,在翻译时也要控制字符数在合理范围内。“你好世界”的四个字既准确传达了原意,又符合中文编程社区的习惯用法。如果用户后续需要更详细的解释或变体译文,可以再补充说明。

    你好世界!

  6. 请问,translation position设置原文/译文左右排版,能否增加按页面排布(一页英文、一页中文)
    现在左右排版设置,显示效果为同一页,会感觉有点太紧凑

  7. 你好,我的calibre版本是8.16.2,calibre中Ebook Translator插件版本是2.4.1。在使用Deepseek(chat)引擎翻译从Standard Ebooks上下载的AZW3格式的书时(输出格式也是AZW3),总会在译文中出现{{id_00000}}或者{{id_00001}}的字样。请问怎么设置可以避免此类情况?

  8. 在calibre 中使用Ebook Translator,如何只输出翻译完成的部分,而不要对照的原文?

      • 找到了,谢谢。
        有个建议哈,可否把“译文位置”这个功能放到翻译工作的页面呢?这样就可以根据不同的需要,输出不同格式的译文了

  9. 书中内容较多时,一般在10,000个段落以上时,程序多会崩溃(连同calibre直接消失)。

  10. 请问为啥错误日志显示: 向一个无法连接的网络尝试了一个套接字操作。>无法解析返回的响应。原始数据

  11. 请问为什么主工具栏没有翻译书籍这个选项?按提示把翻译书籍拉到主工具栏了,但就是找不着这个选项

    • 有可能是折叠了。看看主菜单栏最右边是否有一个额外的三个点菜单,点开就可以展开折叠的菜单项了。