基于BabelDOC API的Web翻译应用,提供PDF文档翻译功能。
- 📄 PDF文档上传和翻译
- 🌐 多语言支持(中文、英文、日文、韩文等)
- 🤖 多种AI模型选择(GPT-4o、GPT-4o Mini等)
- 📊 实时翻译进度监控
- 📥 双语PDF和单语PDF下载
- 📚 词汇表管理
- 📋 翻译历史记录
- ⚙️ 个性化设置
- React 18 + TypeScript
- Vite 构建工具
- Tailwind CSS 样式框架
- React Router 路由管理
- Zustand 状态管理
- Lucide React 图标库
- Sonner 通知组件
- Python FastAPI
- BabelDOC 翻译引擎
- WebSocket 实时通信
- 文件上传和管理
- Node.js 18+
- Python 3.8+
- OpenAI API Key
# Windows
double-click start.bat- 启动后端服务
# 激活虚拟环境
backend\venv\Scripts\activate
# 启动后端
python backend/main.py- 启动前端服务
# 安装依赖(首次运行)
npm install
# 启动前端
npm run dev- 前端:http://localhost:5173
- 后端API:http://localhost:8000
- API文档:http://localhost:8000/docs
- 访问设置页面
- 输入您的OpenAI API密钥
- 配置默认翻译参数
- 在首页上传PDF文件
- 选择源语言和目标语言
- 选择AI模型和其他参数
- 点击开始翻译
- 实时查看翻译进度
- 查看详细的翻译日志
- 支持取消正在进行的翻译
- 下载单语PDF(仅翻译内容)
- 下载双语PDF(原文+翻译对照)
- 上传自定义词汇表文件
- 管理和删除词汇表
- 提高翻译准确性
BabelDOC/
├── backend/ # Python后端
│ ├── venv/ # Python虚拟环境
│ ├── main.py # FastAPI应用入口
│ └── requirements.txt # Python依赖
├── src/ # React前端源码
│ ├── components/ # 组件
│ ├── pages/ # 页面
│ ├── hooks/ # 自定义Hooks
│ └── lib/ # 工具函数
├── public/ # 静态资源
├── .trae/documents/ # 项目文档
├── start.bat # Windows启动脚本
└── README.md # 项目说明
npm run dev # 开发模式
npm run build # 构建生产版本
npm run preview # 预览生产版本# 激活虚拟环境
backend\venv\Scripts\activate
# 安装新依赖
pip install package_name
pip freeze > backend/requirements.txt
# 运行后端
python backend/main.py后端提供完整的RESTful API和WebSocket接口:
- 文件上传:
POST /api/upload - 开始翻译:
POST /api/translation/start - 翻译状态:
GET /api/translation/{task_id}/status - 实时进度:
WebSocket /api/translation/{task_id}/ws - 下载结果:
GET /api/translation/{task_id}/download - 词汇表管理:
/api/glossary/*
详细API文档请访问:http://localhost:8000/docs
- API密钥安全:API密钥存储在浏览器本地,请妥善保管
- 文件大小限制:建议上传文件不超过50MB
- 网络连接:翻译过程需要稳定的网络连接
- 虚拟环境:后端使用独立的Python虚拟环境,避免依赖冲突
-
后端启动失败
- 检查Python版本是否为3.8+
- 确认虚拟环境已激活
- 检查依赖是否正确安装
-
前端编译错误
- 检查Node.js版本是否为18+
- 删除node_modules重新安装
- 检查依赖版本兼容性
-
翻译失败
- 检查API密钥是否正确
- 确认网络连接正常
- 查看后端日志获取详细错误信息
本项目基于 GNU Affero General Public License (AGPL) v3 许可证开源。
- 本项目基于 BabelDOC 开发,BabelDOC 使用 AGPL-3.0 许可证
- 根据 AGPL-3.0 要求,如果您修改本软件并通过网络提供服务,必须向用户提供修改后的源代码
- 完整的许可证文本请参见 LICENSE 文件
- 版权声明和第三方依赖信息请参见 NOTICE 文件
本项目的完整源代码可在以下地址获取:
- 网络使用条款:如果您修改软件并通过网络提供服务,必须向用户提供源代码
- 版权保留:保留所有版权声明和许可证通知
- 源码分发:分发时必须包含源代码或提供获取源代码的方式
- 修改标记:如有修改,需要明确标记修改内容
如果您计划商业使用或提供在线服务,请确保遵守AGPL-3.0的所有条款。
欢迎提交Issue和Pull Request来改进项目!
在贡献代码前,请确保:
- 您的代码符合项目的编码规范
- 添加适当的测试用例
- 更新相关文档
- 您同意将贡献的代码以AGPL-3.0许可证发布