Skip to content

Repository files navigation

轻量级高保真文档翻译系统 (DocuTranslate Lite)

产品概述

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 验证码生成
  • 响应式设计

快速开始

方法1:直接运行(开发环境)

  1. 安装依赖

    pip install -r requirements.txt
  2. 启动应用

    cd backend
    python app.py
  3. 访问应用

    • 应用将在 http://localhost:8000 启动
    • 默认管理员账号:admin/admin
    • API文档:http://localhost:8000/docs

方法2:Docker部署(生产环境推荐)

  1. 构建并启动容器

    docker-compose up -d
  2. 访问应用

    • 应用将在 http://localhost:8000 启动
    • 默认管理员账号:admin/admin
  3. 停止容器

    docker-compose down

使用指南

管理员操作

  1. 登录系统:访问 http://localhost:8000,使用管理员账号登录
  2. 用户管理:点击"用户管理",可以创建、修改和删除用户
  3. 密码重置:使用 reset_admin.py 脚本可以重置admin密码

普通用户操作

  1. 登录系统:访问 http://localhost:8000,使用分配的账号登录
  2. 上传文档:拖拽或选择最多 5 个 .docx 文档
  3. 开始翻译:点击"开始翻译"按钮,系统将自动创建翻译任务
  4. 监控进度:在右侧任务监控区查看任务状态和进度
  5. 管理任务:支持暂停、继续、取消任务
  6. 下载结果:任务完成后,点击"下载"按钮获取翻译后的文档

项目结构

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) 问题

API 文档

启动应用后,访问 http://localhost:8000/docs 查看自动生成的 API 文档。

许可证

MIT License

About

轻量级高保真文档翻译系统 - 基于 AI 接口的 Word (.docx) 批量翻译工具,保持原始格式、样式和结构

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages