EasyTranslator

    简译

   多语言阅读得力助手

[![English badge](https://img.shields.io/badge/English-blue)](./README.md)[![简体中文 badge](https://img.shields.io/badge/%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87-red)](./README_ZH-CN.md)[![x badge](https://img.shields.io/badge/Follow-EthanWang-purple?logo=x&labelColor=black)](https://twitter.com/EthanWang999)[![youtube badge](https://img.shields.io/badge/Follow-EthanWang999-green?logo=Youtube&logoColor=red&labelColor=black)](https://www.youtube.com/@EthanWang999)[![bilibili badge](https://img.shields.io/badge/Follow-%E6%96%B9%E7%A8%8B%E6%98%9F-brown?logo=bilibili&logoColor=pink&labelColor=black)](https://space.bilibili.com/29185421) Buy Me A Coffee
--- ## :bookmark_tabs: 介绍 利用 OpenAI API 打造的命令行工具,支持多种格式文件的翻译,包括 .txt、.pdf、.docx、.md、.mobi 和 .epub。 轻松快捷地翻译您的文本文件,让语言不再成为阻碍。 ## :bell: 前置条件 ###### :snake: 代码部分 ```bash git clone https://github.com/artwalker/EasyTranslator.git ``` ```bash pip install -r preconditions.txt ``` ###### :scroll: 配置文件 - .env - 按照[这里](https://platform.openai.com/api-keys)的说明获取您的OpenAI API密钥 - `OPENAI_API_KEY`: 指定 OpenAI API Key,可以使用多个,格式如 "sk-xxxxxxx, sk-xxxxxxx" - `GPT_MODEL`: `GPT_MODEL`: 指定所使用的模型,例如 "gpt-3.5-turbo" - `GPT_TEMPERATURE`: 指定模型回复的随机度,因为是翻译文本,所以最好设置为0 - 若使用 **Azure** 提供的 OpenAI API,需要设置以下参数: - `OPENAI_API_MODEL_AZURE`: 部署在 Azure 上的引擎名称 - `OPENAI_API_KEY_AZURE`: 指定 Azure OpenAI API 的密钥 - `OPENAI_API_ENDPOINT_AZURE`: Azure 的端点 - `OPENAI_API_VERSION_AZURE`: API 的版本 - settings.cfg: - `openai-proxy`: OpenAI 的代理 - `language`: 要翻译的语言 - `prompt`: 输入指定模型翻译的 prompt - `bilingual-output`: 是否保存为双语文本 - `langcode`: 生成的 epub 文件语言编码 - `startpage`: 指定 pdf 文件的起始页码 - `endpage`: 指定 pdf 文件的结束页码 - `transliteration-list`: 译名表文件名称 - `transliteration-word-capi-low`: 译名表是否匹配大小写 ## :running: 使用方法 ```bash python easy_translator.py filename [--show] [--tlist] [--azure] [--test] ``` ```bash python translate_all.py ``` > 请在.md文档中没有结束标点符号的位置添加英文格式的句号. ###### :clap: 说明 - `filename`: 指定要翻译的文件名,支持 txt、pdf、docx、epub、mobi 格式 - `--show`: 显示文本翻译过程 - `--tlist`: 使用译名表 - `--azure`: 使用 Azure 调用 OpenAI API - `--test`: 用于测试翻译效果,翻译三段文字,通常用于调试程序 - `translate_all.py`:使用脚本 translate_all.py 批量翻译文本 - 首先,请确保文件名的格式为 **01_filea.txt, 02_fileb.txt** 等,在每个文件名前添加排序前缀 - 其次,请将您想要翻译的文本放置在 **book** 目录中,如果需要,可以在源代码中修改此目录 ###### :pushpin: 举例 ```bash python easy_translator.py ./book/profile.txt ``` ```bash python easy_translator.py ./book/profile.txt --azure ``` ```bash python easy_translator.py ./book/profile.pdf --show ``` ```bash python easy_translator.py ./book/profile.pdf --azure --show ``` ```bash python easy_translator.py ./book/profile.mobi --show --tlist ``` ```bash python easy_translator.py ./book/profile.mobi --show --tlist --azure ``` ```bash python easy_translator.py ./book/profile.epub --show --tlist --test ``` ```bash python easy_translator.py ./book/profile.epub --show --tlist --azure --test ```
![use terminal in one file location to save the project](./assets/et_open_a_location_to_save_project.png)
选择一个目录并使用终端克隆项目
![enter the file by cloned](./assets/et_enter_the_code_file.png)
进入克隆的项目的目录下/em>
![configure key](./assets/et_config_sk.png)
配置OpenAI的Key
![open terminal in current file](./assets/et_open_terminal_in_current_file.png)
在当前目录下打开终端
![run pip command](./assets/et_run_the_pip_command.png)
运行pip指令
![begin to translation happily](./assets/et_run_translation.png)
开始愉快地翻译旅程吧
## :gift_heart: 打赏

如果你觉得这个程序像一杯热咖啡一样唤醒了你的灵魂,或者像一把瑞士军刀一样解决了你的问题,那么你可能想要考虑打赏一下;

就像给咖啡师小费一样,你的打赏将为我注入更多的动力去改进这个程序及创造新的代码,让世界成为一个更好地方;

无论你选择打赏多少,我都会像收到礼物一样感到欣喜;

感谢你的慷慨支持!

| | | |:---:|:---: | 支付宝 | 微信 |
---
## Star History [![Star History Chart](https://api.star-history.com/svg?repos=artwalker/EasyTranslator.git&type=Timeline)](https://star-history.com/#artwalker/EasyTranslator.git&Timeline)