Files
pdf-translate-web/README.md
coder be1e01a8c6 初始提交: PDF翻译网站
功能:
- 上传PDF自动翻译成中文
- 不登录可用(次数限制)
- 登录后获得更多次数
- 会员等级制度(不同权益)
- 智能缓存(相同文件秒出结果)
- 原文译文对比查看
- 支持重新翻译(自定义要求)
- 翻译历史记录

技术栈: Flask + SQLAlchemy + Bootstrap5
2026-04-07 19:01:14 +08:00

147 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
- 实现支付系统
- 添加文件清理机制