DocuTranslate Lite 是一个轻量级、Web 化的文档翻译工具,利用指定的 AI 接口,在实现批量并发翻译的同时,严格保持原始 Word (.docx) 文档的格式、样式和结构。系统支持用户管理和 Docker 部署,适用于团队和个人使用。
- 严格保持原始文档的格式、样式和结构
- 支持翻译段落、表格、页眉、页脚
- 保持超链接、字体、颜色、大小等格式属性
- 支持一次性上传最多 5 个 .docx 文档
- 最大并发任务数为 5
- 支持任务暂停/继续
- 自动分段保存翻译进度
- 实时显示任务状态和进度
- 支持任务取消和删除
- 历史任务记录管理
- FastAPI - 高性能 Web 框架
- SQLAlchemy - ORM 框架
- python-docx - Word 文档处理
- lxml - XML 操作
- SQLite - 轻量级数据库
- bcrypt - 密码哈希
- python-jose - JWT 认证
- pytz - 时区处理
- HTML5 + CSS3 + JavaScript
- 无依赖的纯前端实现
- Canvas 验证码生成
- 响应式设计
-
安装依赖
pip install -r requirements.txt
-
启动应用
cd backend python app.py -
访问应用
- 应用将在
http://localhost:8000启动 - 默认管理员账号:
admin/admin - API文档:
http://localhost:8000/docs
- 应用将在
-
构建并启动容器
docker-compose up -d
-
访问应用
- 应用将在
http://localhost:8000启动 - 默认管理员账号:
admin/admin
- 应用将在
-
停止容器
docker-compose down
- 登录系统:访问
http://localhost:8000,使用管理员账号登录 - 用户管理:点击"用户管理",可以创建、修改和删除用户
- 密码重置:使用
reset_admin.py脚本可以重置admin密码
- 登录系统:访问
http://localhost:8000,使用分配的账号登录 - 上传文档:拖拽或选择最多 5 个 .docx 文档
- 开始翻译:点击"开始翻译"按钮,系统将自动创建翻译任务
- 监控进度:在右侧任务监控区查看任务状态和进度
- 管理任务:支持暂停、继续、取消任务
- 下载结果:任务完成后,点击"下载"按钮获取翻译后的文档
DocuTranslate/
├── backend/ # 后端代码
│ ├── app.py # FastAPI 主应用
│ ├── routes/ # 路由模块
│ │ ├── auth.py # 认证相关路由
│ │ ├── translation.py # 翻译任务路由
│ │ └── users.py # 用户管理路由
│ ├── services/ # 业务逻辑层
│ │ ├── auth_service.py # 认证服务
│ │ ├── document_parser.py # 文档解析服务
│ │ ├── task_manager.py # 任务管理服务
│ │ └── translation_service.py # 翻译服务
│ ├── models/ # 数据模型
│ │ ├── task.py # 任务模型
│ │ └── user.py # 用户模型
│ ├── database.py # 数据库连接
│ └── __init__.py
├── frontend/ # 前端代码
│ ├── index.html # 主页面
│ ├── login.html # 登录页面
│ ├── user_management.html # 用户管理页面
│ ├── styles.css # 样式文件
│ └── script.js # JavaScript 逻辑
├── uploads/ # 上传文件存储目录
├── translations/ # 翻译结果存储目录
├── logs/ # 日志文件目录
├── Dockerfile # Docker 构建文件
├── docker-compose.yml # Docker Compose 配置
├── docutranslate.db # SQLite 数据库文件
├── requirements.txt # 项目依赖
├── README.md # 项目说明
└── reset_admin.py # Admin 密码重置脚本
- 文本框与形状:不支持翻译 .docx 文档中嵌入的图形对象、文本框或复杂形状内的文本
- 上下文窗口管理:AI 接口的上下文 Token 管理由接口服务侧保证
- API 速率限制:不处理 AI 接口的全局速率限制 (HTTP 429) 问题
启动应用后,访问 http://localhost:8000/docs 查看自动生成的 API 文档。
MIT License