记录项目后续开发计划,按模块分类,标注优先级和状态。
| 标记 | 含义 |
|---|---|
| P0 | 核心功能,近期重点开发 |
| P1 | 重要功能,计划中 |
| P2 | 增强功能,待定 |
| ✅ | 已完成 |
目标:支持将日语字幕翻译成多种目标语言,非硬编码中文
架构设计(Provider + Prompt 模板化):
src/animetranslator/
├── providers/
│ ├── __init__.py
│ ├── base.py # Provider 基类
│ ├── translation/
│ │ ├── __init__.py
│ │ ├── base.py # TranslationProvider 基类
│ │ └── deepseek.py # DeepSeek 实现
│ └── prompt/
│ ├── __init__.py
│ ├── manager.py # 提示词管理器
│ └── templates/
│ ├── zh_CN.yaml # 中文翻译模板
│ ├── en_US.yaml # 英文翻译模板
│ └── ko_KR.yaml # 韩文翻译模板
优先支持的语言:
- English (
en_US) - 简体中文 (
zh_CN) - 重构现有实现 - 繁體中文 (
zh_TW) - 한국어 (
ko_KR)
后续支持:
- 用户自定义语言模板
- 自定义提示词文件路径
配置设计:
# 翻译目标语言
TARGET_LANGUAGE=en_US
# 自定义提示词目录(可选,优先级高于内置)
# PROMPT_TEMPLATES_DIR=/path/to/custom/prompts提示词模板示例 (en_US.yaml):
language: en_US
field_name: en_translated
display_name: English
ass_style:
format: "{ja}\\N{{\\fs45}}{translated}"
font: Arial
prompt: |
You are an expert anime translator.
Translate Japanese dialogue to natural, fluent English.
Rules:
- Preserve anime-specific terms and character names
- Handle honorifics appropriately (-san, -chan, etc.)
- Remove Whisper hallucinations (set to "")
Return JSON: {"1": {"ja_corrected": "...", "en_translated": "..."}}输出文件命名:
| 目标语言 | 输出文件名 |
|---|---|
| zh_CN | video_bilingual.ass (保持兼容) |
| en_US | video_en.ass |
| ko_KR | video_ko.ass |
目标:支持多个翻译 API 服务商,避免单点故障
计划支持的服务商:
- DeepSeek(当前支持)
- OpenAI GPT-4o / GPT-4-turbo
- Anthropic Claude
- Google Gemini
- 阿里云通义千问 (Qwen)
- 智谱 ChatGLM
- OpenAI 兼容接口(支持任意自建服务)
配置设计:
TRANSLATION_PROVIDER=deepseek
TRANSLATION_FALLBACK=openai,claude
DEEPSEEK_API_KEY=sk-xxx
DEEPSEEK_MODEL=deepseek-chat
OPENAI_API_KEY=sk-xxx
OPENAI_MODEL=gpt-4o
CLAUDE_API_KEY=sk-xxx
CLAUDE_MODEL=claude-3-5-sonnet当前问题:
- 3次重试失败后直接返回原文,标注
【API失败暂缺】 - 无备用服务切换机制
改进方案:
主服务失败
→ 重试 3 次
→ 切换备用服务 1(如 OpenAI)
→ 重试 2 次
→ 切换备用服务 2(如 Claude)
→ 最终降级返回原文
配置设计:
TRANSLATION_MAX_RETRIES=3
TRANSLATION_FALLBACK_ENABLED=true
TRANSLATION_FALLBACK_ORDER=openai,claude
TRANSLATION_TIMEOUT=120目标:主服务翻译 → 校对服务润色,提升翻译质量
使用场景:
- DeepSeek 翻译(性价比高)→ GPT-4 校对(质量高)
- 适合对翻译质量要求较高的用户
配置设计:
PROOFREAD_ENABLED=true
PROOFREAD_PROVIDER=openai
PROOFREAD_MODEL=gpt-4o流程:
DeepSeek 翻译 → GPT-4 校对润色 → 输出最终字幕
目标:同时调用多个 API,智能选择最佳结果
模式:
| 模式 | 说明 |
|---|---|
race |
竞速模式,谁先返回用谁 |
vote |
投票模式,多数结果一致则采纳 |
best |
评分模式,用另一个 API 评估质量选最优 |
配置设计:
TRANSLATION_PARALLEL_MODE=race
TRANSLATION_PARALLEL_PROVIDERS=deepseek,openai- 支持 Whisper Medium/Small
- 降低显存需求至 4GB
- 配置项:
WHISPER_MODEL=medium|small
- WhisperX(更快的时间对齐)
- Moonshine(轻量级替代方案)
- FunASR Paraformer(阿里开源模型)
目标:支持从非日语视频生成字幕
- 韩语视频识别(SOURCE_LANGUAGE=ko)
- 英语视频识别(SOURCE_LANGUAGE=en)
- 中文视频识别(SOURCE_LANGUAGE=zh)
- 配置项:
SOURCE_LANGUAGE=ja|ko|en|zh
注意:此功能与翻译模块的"多目标语言支持"不同
- 源语言:视频中的原始语音语言
- 目标语言:翻译后的字幕语言
- 英文界面支持
- 自动检测系统语言
- WebUI 语言切换下拉框
- CLI 帮助文本国际化
- 双语文档 (README)
- 实时预览字幕效果
- 手动修正翻译结果
- 时间轴调整
- 保存修改后的字幕
- Dockerfile
- docker-compose.yml
- 一键部署脚本
- MKV
- MP4
- AVI
- MOV
- FLV
- WMV
- WebM
- SRT 输出格式
- SRT 输入(直接翻译现有字幕)
- VTT 输出格式
- 结构化日志系统
- 配置自动验证
- 日志文件持久化
- WebUI 配置热更新
- 配置预设(快速切换不同服务商组合)
目标:解耦各模块,支持整合包和功能扩展
当前问题:
alignment.py508行,四阶段逻辑全部堆在一个类webui.pyUI与业务逻辑耦合translation.pyDeepSeek 硬编码- 无统一 Pipeline 抽象
优化方向:
- 抽取 Provider 基类(ASR/翻译/VAD)→ 详见翻译模块 Provider 设计
- 提示词模板化,支持自定义 → 详见翻译模块多目标语言支持
- 拆分 alignment.py 为独立 stages/
- 添加 Pipeline 编排器 + 事件系统
- 分离 UI/业务逻辑
目标:支持第三方插件扩展
- 插件加载机制
- 插件 API 接口
- 插件配置管理
目标:支持配置预设,整合包无需改代码
- YAML 配置文件支持
- 配置预设系统(default/quality/fast/offline)
- 整合包打包脚本
| 版本 | 重点功能 | 状态 |
|---|---|---|
| v1.2.x | 多格式视频支持、日志系统、国际化 (i18n) | ✅ 已发布 |
| v1.3.0 | 多目标语言支持、提示词模板化 | 计划中 |
| v1.4.0 | 多服务商支持、降级逻辑改进、Provider 抽象 | 计划中 |
| v1.5.0 | 校对模式、轻量级模型、Pipeline 编排器 | 计划中 |
| v1.6.0 | 多 ASR 引擎、插件系统、整合包配置预设 | 计划中 |
| v2.0.0 | 字幕编辑器、Docker 部署 | 远期规划 |
欢迎参与开发!请查看以下方式:
- 提交 Issue 报告 Bug 或建议新功能
- 提交 PR 贡献代码
- 参与文档翻译和改进
最后更新:2026-03-16