# PDF翻译助手 - 英文PDF翻译网站 基于本地LLM服务的英文PDF翻译中文网站。 ## 功能特点 ### 核心功能 - ✅ 上传英文PDF自动翻译成中文 - ✅ 智能缓存机制 - 相同文件秒出结果 - ✅ 翻译进度实时显示 - ✅ 原文译文对比查看 - ✅ 支持重新翻译(带自定义要求) ### 用户系统 - ✅ 不登录可用(有次数限制) - ✅ 免费注册获得更多次数 - ✅ 会员等级制度 ### 会员权益 | 用户类型 | 每日次数 | 最大页数 | 特殊功能 | |---------|---------|---------|---------| | 访客 | 3次 | 20页 | 基础翻译 | | 免费 | 10次 | 50页 | 历史、重译 | | 基础会员 | 50次 | 100页 | 导出PDF | | 专业会员 | 200次 | 500页 | 批量翻译 | | 企业会员 | 无限 | 无限 | API调用 | ## 快速启动 ```bash # 安装依赖 pip install -r requirements.txt # 初始化数据库 python app.py # 启动服务(默认端口5000) python app.py ``` 访问 http://localhost:5000 即可使用。 ## 配置说明 修改 `config.py` 文件: ```python # LLM服务配置 LLM_CONFIG = { "api_base": "http://192.168.2.5:1234/v1", # LLM API地址 "api_key": "your-api-key", "model": "qwen/qwen3.5-35b-a3b", } # 用户权限配置 USER_LIMITS = { "guest": {"daily_translations": 3, "max_pages": 20}, "free": {"daily_translations": 10, "max_pages": 50}, # ... } ``` ## 项目结构 ``` pdf-translate-web/ ├── app.py # Flask主应用 ├── config.py # 配置文件 ├── models.py # 数据库模型 ├── services.py # 翻译服务 ├── requirements.txt # 依赖列表 ├── templates/ # HTML模板 │ ├── index.html # 首页 │ ├── login.html # 登录页 │ ├── register.html # 注册页 │ ├── pricing.html # 会员定价 │ ├── history.html # 翻译历史 │ └── translation.html # 翻译详情 ├── static/ # 静态资源 │ ├── css/style.css # 样式 │ └ js/main.js # 前端脚本 ├── uploads/ # 上传文件目录 ├── cache/ # 翻译缓存目录 └── outputs/ # 输出文件目录 ``` ## API接口 ### 上传翻译 ``` POST /api/upload 参数: file (PDF文件), instruction (翻译要求,可选) 返回: {translation_id, from_cache, task_id} ``` ### 翻译状态 ``` GET /api/status/ 返回: {status, progress} ``` ### 获取结果 ``` GET /api/result/ 返回: {filename, content} ``` ### 下载结果 ``` GET /api/download/ 返回: Markdown文件 ``` ### 重新翻译 ``` POST /api/retranslate/ 参数: {instruction: "翻译要求"} ``` ## 扩展功能建议 1. **导出PDF格式** - 将翻译结果转回PDF保留排版 2. **批量翻译** - 支持多个PDF同时上传 3. **自定义术语库** - 用户可定义专业术语翻译 4. **翻译质量评分** - AI评估翻译质量 5. **API接口** - 提供外部调用接口 6. **导出Word格式** - 方便后续编辑 7. **多语言支持** - 支持更多语言互译 ## 技术栈 - **后端**: Flask + SQLAlchemy - **前端**: Bootstrap 5 + JavaScript - **LLM**: 本地部署的 Qwen3.5 模型 - **缓存**: 文件缓存 + 数据库索引 - **异步**: Python threading ## 注意事项 ⚠️ Qwen模型有思考模式,翻译速度约30秒/块,适合处理重要文档。 ⚠️ 生产环境需要: - 添加HTTPS支持 - 配置真实数据库(PostgreSQL) - 实现支付系统 - 添加文件清理机制