Spaces:
Sleeping
Sleeping
title: EasyTranslator | |
emoji: 🏃 | |
colorFrom: gray | |
colorTo: pink | |
sdk: gradio | |
sdk_version: 5.0.2 | |
app_file: app.py | |
pinned: false | |
license: apache-2.0 | |
# EasyTranslator v1.1.0 | |
基于gradio的汉化辅助工具 | |
## 使用 | |
至少需要安装python3(作者使用的版本是3.10, 其它版本尚未测试) | |
*** | |
### Install | |
``` | |
git clone https://github.com/alienet1109/EasyTranslator.git | |
``` | |
不想安git可以直接下载压缩包 | |
*** | |
### Preparation | |
#### 1. 安装依赖 | |
``` | |
pip install -r requirements.txt | |
``` | |
#### 2. 文本准备 | |
需要使用者自行准备原文本json文件, 或使用本程序将原文本csv文件转换为json文件 \ | |
csv文件格式要求为: | |
* 至少包含人名列、文本列, 按顺序排列的表格 | |
只有文本没有人名也可以使用, 在csv里新建空列'name'即可。\ | |
若不指定id列名, 程序会自动生成id。 \ | |
可以指定人名和文本的列名, 将会分别以'name'、'text'为键输入json文件;其它列将会以原列名为键输入, 以防数据丢失。\ | |
生成json文件后, 下载, 然后输入其路径(不一定要与代码同一文件夹)即可使用。 | |
json文件格式要求为: | |
* 由key为id, value为{'name':'原文人名','text':'原文文本'}的键值对组成, 按文本顺序正序排序的字典。 | |
运行途中会频繁修改json文件, 所以最好做好备份。\ | |
可以随时在页面中修改json文件路径, 修改前务必保存, 修改后请按Load按钮以同步更新否则不知道会有什么bug。\ | |
上次编辑文本编号将会重置, 路径与编号将直接更新至config文件。 | |
#### 3. 修改配置文件`config.json` | |
* 必须: | |
1. 设置文本文件`file_path`及人名词典`name_dict_path`的路径(推荐使用绝对路径)。之后结果会直接保存至对应路径。 | |
* 可选: | |
1. 设置替换词典`replace_dict_path`路径, 如不使用此功能则不需要; | |
2. 可设置api key和分隔符等, 也可以直接在程序更改。程序中的修改会改变预设api key, 但不会改变预设的分隔符。 | |
*** | |
### Run | |
直接点开`EasyTranslator.py`或在文件夹下执行命令: | |
``` | |
python EasyTranslator.py | |
``` | |
然后在网页中打开程序给出的网址(eg: http://127.0.0.1:7860 ) | |
<br><br> | |
## v1.1.0更新内容 | |
1. 现支持通常翻译和批量翻译中gemini, claude, qwen, deepseek...等模型的自由选择和调用。请在`config.json`中或API页填写api key (注:当设置了OpenRouter的api时,会优先使用OpenRouter的接口)。使用gemini, claude, doubao等的官方接口请安装相关依赖包。可以自行修改`utils.py`中的MODEL_LIST以调整可选模型,避免冗余。 | |
2. 修改了键盘快捷键设置<br> | |
alt+w: ↑<br> | |
alt+x: ↓<br> | |
alt+s: save json<br> | |
alt+r: replace<br> | |
alt+q: model1 translate<br> | |
alt+e: model2 translate<br> | |
## v1.0.6更新内容 | |
1. 更新文件合并功能,方便多人协作。在文件合并页中可将依照指示将两个json文件合并,同步人工翻译进度。并支持导出小规模json文件方便传输。 | |
## v1.0.5更新内容 | |
1. 支持键盘快捷键 | |
## v1.0.4更新内容 | |
1. 追加摸鱼模式, 将必要组件集中在半个屏幕内。在`config.json`中`moyu_mode`设为1开启, 设为0关闭 | |
2. 加入对GPT翻译的超时检测, 时间上限在`config.json`的`openai_api_settings`中的`time_limit`处设置, 单位为秒。若请求超时, 会打印超时提示, 但不会报错) | |
3. GPT翻译现在将不返回重复结果 | |
## v1.0.3更新内容 | |
1. 支持预览页直接修改译文, 建议保存JSON后再使用此功能 | |
2. 可选是否即时更新上次编辑id | |
`config.json`中设置`"if_save_id_immediately"`参数, 若为1则逻辑与之前一样, 在切换id时立刻保存进`config.json`;若为0则会显示保存编辑id按钮`SAVE last edited position`, 在点击后存入`config.json`。 | |
## v1.0.2更新内容 | |
1. 支持批量机翻 | |
## v1.0.1更新内容 | |
1. 优化文件读取逻辑 | |
2. 增加错误提示、警告等。保存JSON成功时会提示更新的译文条数 | |
3. 允许自定义传输到gpt的prompt、自定义百度翻译的原文及目标语言 | |
4. 追加上下文预览功能, 并允许自定义预览条数和编号。指定id将会以双星号标记, 修改过的译文将会在前面加星号标记 | |
5. 优化按钮手感 | |
## 特性 | |
1. 一键机翻接口, 提供复制到剪贴板按钮 | |
2. 便捷的上下句切换, 直接跳转功能 | |
3. 记忆上次编辑位置功能 | |
4. 人名翻译记忆功能, 一次修改将会同步到全体。人名词典在程序启动时读取并在保存JSON文件时保存。开启程序时可以直接改`name_cn`, 关闭程序后可以修改人名词典。下次开启程序时人名词典中的内容将会覆盖JSON文件中的`name_cn`。 | |
5. 文本翻译记忆功能, 机翻/修改后只要不关闭程序, 切换上下句, 刷新 网页都不会影响 | |
6. 译文缓存。相对地原文不会缓存, 所以手滑改或删掉只要切换或者刷新即可恢复。因此想查看原文具体某个词的翻译也可以直接编辑原文再机翻, 不会影响原文本。 | |
7. 一键替换功能, 用于专有名词错译的情况。会将机翻及手翻文本中的对象全部替换。替换词典可以在运行中直接更改, 不用重开程序。 | |
8. 便利的api key管理及prompt修改等 | |
9. 提供JSON文件与CSV文件互转 | |
10. 上下文预览功能 | |
<br><br> | |
## 演示 | |
摸鱼模式 \ | |
 \ | |
批量翻译 \ | |
 \ | |
上下文预览\ | |
 | |
 | |
 | |
 | |
 | |
 | |
 | |
 | |
## 计划追加功能 | |
1. 可选主题 | |
2. 追加翻译接口 | |
3. 追加文本输出格式 | |
4. 发生修改时直接存入小规模临时文件, 防止数据丢失 | |