初始提交: PDF翻译网站

功能:
- 上传PDF自动翻译成中文
- 不登录可用(次数限制)
- 登录后获得更多次数
- 会员等级制度(不同权益)
- 智能缓存(相同文件秒出结果)
- 原文译文对比查看
- 支持重新翻译(自定义要求)
- 翻译历史记录

技术栈: Flask + SQLAlchemy + Bootstrap5
This commit is contained in:
2026-04-07 19:01:14 +08:00
commit be1e01a8c6
14 changed files with 2463 additions and 0 deletions
+147
View File
@@ -0,0 +1,147 @@
# 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/<translation_id>
返回: {status, progress}
```
### 获取结果
```
GET /api/result/<translation_id>
返回: {filename, content}
```
### 下载结果
```
GET /api/download/<translation_id>
返回: Markdown文件
```
### 重新翻译
```
POST /api/retranslate/<translation_id>
参数: {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
- 实现支付系统
- 添加文件清理机制