Reference: 本教程的所有代码由 bilingual_book_maker 提供。
bilingual_book_maker 是一个 epub 格式电子书翻译项目,很好用,但很多朋友并不熟悉 Python 和 Github。本文提供一个简化流程,通过 Jupter Notebook 实现。
本教程依托于詹老师发起的「自闭症」康复教育行动。国内比较缺乏相关的资料,国外的知识体系比较发达,但欠缺中文翻译,且很多内容中国无法出版。该项目动员志愿者,通过 OpenAI、DeepL 和彩云翻译等软件,翻译一些相关资料,并非盈利性的共享给需要的群体。
想要尝鲜的,可以直接看最后一节,通过 Google colab 运行。不用配置环境,windows 和 macos 上的流程一样。需要注意:Colab 没有本地运行稳定,对网络的要求也高,如需进行几小时的翻译作业,容易被系统重置。还是更推荐在本地运行。
准备阶段
演示环境:Apple M2 Pro,Ventura 13.2.1 (22D68),Anaconda 2.4.0
下载 Anaconda,安装,并启动。
进入 bilingual_book_maker 项目的 Github 库,点击下图所示的 Download ZIP
。
解压缩该文件夹,文件夹名应该为:bilingual_book_maker-main。(非必要:将文件夹保存在一个你熟悉的路径下,方便随后的步骤)
将下面这个 Jupter notebook 文件(简化版双语书翻译.ipynb
)复制到 「bilingual_book_maker-main 文件夹」中。
该文件也可以从 Github 中下载:https://github.com/DayuGuo/follow-project-learn-data-science
开始翻译
下图是 Anaconda 的主界面,点击 Jupter Notebook。
随后自动会激活「终端」,并在你的默认浏览器中启动 Jupter Notebook,界面如下。
然后,需要找到「bilingual_book_maker-main 文件夹」,进入文件夹,并双击启动刚刚下载的「简化版双语书翻译.ipynb」。
我们先使用 animal_farm.epub 来测试一下流程。
共有三段代码。
需要修改的部分,仅有下图中红色圈出的部分,请删除圈出的文字,并填入你的 API key。两边的空格请保留。
鼠标单击第一组代码,然后点击 Run
,即可运行这一组代码。
依次运行这三组代码,即可开始翻译,正常运行的界面如下:
翻译过程中,不能关闭 Anaconda 软件、终端和浏览器,并需要保持网络通畅。
翻译你的电子书
将你要翻译的电子书,放置于 test_books 文件夹中,命名请尽可能简单,使用全英文,不使用符号。
将下图中的 animal_farm 替换为新书的文件名。
之后,您只需要启动第三段代码,即你修改过的这段代码,即可启动翻译程序。
通过 Googel colab 运行
注册一个 Google 账号。
点击这个 link:https://colab.research.google.com/drive/16Q6AZgjOaXWkD8Rcoh_oHrRrREjc8FBv?usp=sharing
填入你的 API,依次运行代码框,即可完成测试。
如果想要翻译自己的书,需要将书上传到下图所示的文件夹中,并更换代码中的书名(参考上面几章节的教程)。
您好,文中提到詹老师「自闭症」康复教育行动,在哪里可以具体了解下吗?我也想学习下,谢谢。
通过邮件回复你啦
您好我想请教下,有没有什么合适的prompt可以用在这个项目上。按照默认的设置,翻译的结果总感觉不是很理想,虽然能读懂大致的含义但感觉用词不够优雅整洁。
这个没有研究过
请问运行第三段代码没有反应,是怎么回事
确认前两步运行成功了吗?另外,api key 填进去了吗?
成功了,到第三句语句,加!就没反应,不加!就提示这个SyntaxError: invalid syntax
哈哈哈,真棒!
“!” 符号后面的是作为操作系统命令运行的,所以不大一样。
作者又更新了源代码,好像运行方式有细微变化
Traceback (most recent call last):
File “C:\Users\lasx\Desktop\ebook-GPT-translator\bilingual-book-maker\make_book.py”, line 4, in
main()
File “C:\Users\lasx\Desktop\ebook-GPT-translator\bilingual-book-maker\book_maker\cli.py”, line 407, in main
e.translate_model.set_gpt35_models()
File “C:\Users\lasx\Desktop\ebook-GPT-translator\bilingual-book-maker\book_maker\translator\chatgptapi_translator.py”, line 316, in set_gpt35_models
i[“id”] for i in self.openai_client.models.list().model_dump()[“data”]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “F:\ANACONDA\Lib\site-packages\openai\resources\models.py”, line 79, in list
return self._get_api_list(
^^^^^^^^^^^^^^^^^^^
File “F:\ANACONDA\Lib\site-packages\openai\_base_client.py”, line 1257, in get_api_list
return self._request_api_list(model, page, opts)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “F:\ANACONDA\Lib\site-packages\openai\_base_client.py”, line 1102, in _request_api_list
return self.request(page, options, stream=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “F:\ANACONDA\Lib\site-packages\openai\_base_client.py”, line 897, in request
return self._request(
^^^^^^^^^^^^^^
File “F:\ANACONDA\Lib\site-packages\openai\_base_client.py”, line 988, in _request
raise self._make_status_error_from_response(err.response) from None
openai.NotFoundError: Error code: 404 – {‘detail’: ‘Not Found’}
显示这个,搞不清楚状况
用 Google colab 试试吧,这个环境稳定一些,路径也简单。
另外,现在直接用这个浏览器插件翻译更方便些:沉浸式翻译。
colad 第三部就出问题了,ERROR: file:///content (from -r /content/bilingual_book_maker/requirements.txt (line 1)) does not appear to be a Python project: neither ‘setup.py’ nor ‘pyproject.toml’ found.我就点了一下启动,其他都没动
然后最后一步还缺
ModuleNotFoundError: No module named ‘ebooklib’
好像改版了,删掉`pip install -r /content/bilingual_book_maker/requirements.txt`,试试这个:`pip install -U bbook_maker`
参考:https://github.com/yihong0618/bilingual_book_maker