Skip to content

M2niwa/script-translator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Script Translator — AI 多语言剧本翻译表格生成器

基于大语言模型的多语言剧本翻译平台,自动生成双语对照翻译表格。支持 10+ AI 供应商、7 种目标语言、RAG 角色背景注入、Excel 导出。

技术栈

层级 技术
后端 Python 3.11 / FastAPI / SQLite / openpyxl
前端 React 18 + TypeScript + Vite + Ant Design 5 + Zustand
AI OpenAI / DeepSeek / 智谱 / 通义千问 / Moonshot / 硅基流动 / Ollama / Anthropic / Gemini
环境 Conda (Python) + Node.js 18+ (前端)

功能

  • 剧本解析 — 正则识别场景切换、角色台词、动作、舞台指示、环境音,输出结构化数据
  • 多语言翻译 — 简/繁体中文、英/日/法/俄/西/意/他加禄语,SSE 流式推送进度,SQLite 缓存去重
  • RAG 角色背景 — 角色档案 CRUD(别名、简介、背景故事、说话风格),注入 system prompt 提升翻译一致性
  • 多供应商 API — 10 个 LLM 供应商统一接入,LLMClient 封装 OpenAI/Anthropic/Gemini 三套 SDK 差异
  • Excel 导出 — 10 列表头双语对照,蓝色表头白字、交替行色、自适应列宽、冻结首行,支持 CSV
  • 模板管理 — 保存/加载语言配置方案
  • 重做 & 编辑 — 局部重做、完全重做、单元格直接编辑
  • 交互式启动器 — 双击 EXE 显示菜单:启动服务 / 检查环境 / 配置环境
  • 自动端口检测 — 后端自动查找空闲端口,无需手动配置,避免与其他本地服务冲突

项目结构

script-translator/
├── launcher.py                # 交互式 EXE 启动器
├── launch.py                  # 命令行一键启动(自动端口检测)
├── CHANGELOG.md               # 版本更替文档
├── backend/
│   ├── main.py                # FastAPI 入口 + 自动端口检测
│   ├── config.py              # 语言配置 + 翻译提示词模板
│   ├── database.py            # SQLite 初始化与操作
│   ├── models.py              # Pydantic 数据模型
│   ├── parser.py              # 剧本解析器 (正则)
│   ├── providers.py           # 10 供应商抽象层 + LLMClient
│   ├── rag.py                 # RAG 角色背景系统
│   ├── excel_generator.py     # Excel/CSV 导出生成器
│   └── requirements.txt
└── frontend/
    ├── package.json
    ├── vite.config.ts         # Vite 配置(自动读取后端端口)
    └── src/
        ├── App.tsx            # 主布局 (侧边导航 + 路由)
        ├── main.tsx           # 入口 (ErrorBoundary 包裹)
        ├── index.css          # 全局样式(表格交替行色)
        ├── api/
        │   └── client.ts      # API 请求封装(泛型返回类型 + 响应拦截器)
        ├── types/
        │   └── api.ts         # 全局 TypeScript 类型定义
        ├── stores/
        │   └── appStore.ts    # Zustand 全局状态
        ├── hooks/
        │   └── useSSEStream.ts    # SSE 流解析自定义 hook
        ├── components/
        │   └── ErrorBoundary.tsx   # React 18 错误边界
        └── pages/
            ├── ScriptInput.tsx              # 剧本输入 & 解析预览
            ├── TranslationWorkspace.tsx     # 翻译工作区(编排组件)
            ├── TranslationToolbar.tsx       # 语言选择 + 进度条
            ├── TranslationActions.tsx       # 重做 / 导出操作栏
            ├── TranslationTable.tsx         # 翻译结果表格(Ant Design)
            ├── TemplateSaveModal.tsx        # 模板保存弹窗
            ├── ApiConfig.tsx                # API 配置 & 测试连接
            ├── RAGManager.tsx               # 角色管理 CRUD
            └── TemplateManager.tsx          # 模板保存/加载/删除

快速开始

前置要求

  • Miniconda 或 Anaconda
  • Node.js 18+
  • 至少一个 LLM API Key(推荐 DeepSeek 或 OpenAI)

方式一:一键启动(推荐)

python launch.py

后端会自动检测空闲端口(从 8765 开始),前端通过 .env 文件自动匹配。无需手动配置端口。

启动后访问 http://localhost:5173

方式二:EXE 启动器

双击 剧本翻译工具.exe,选择「配置环境」自动完成初始化,再选「启动服务」。

方式三:手动启动

# 1. 创建虚拟环境
conda create -p .venv python=3.11 -y

# 2. 安装后端依赖
conda run -p .venv pip install -r backend/requirements.txt

# 3. 安装前端依赖
cd frontend && npm install && cd ..

# 4. 启动(自动端口检测)
python launch.py

指定后端端口

cd backend && conda run -p ../.venv python main.py --port 9999

API 配置

  1. 打开前端 →「API 配置」
  2. 选择供应商(DeepSeek / OpenAI / ...)
  3. 填入 API Key
  4. 选择或输入模型名
  5. 点击「测试连接」

支持的供应商及默认模型:

供应商 base_url 推荐模型
OpenAI api.openai.com gpt-4o
DeepSeek api.deepseek.com deepseek-chat
智谱 GLM open.bigmodel.cn glm-4-plus
通义千问 dashscope.aliyuncs.com qwen-plus
Moonshot api.moonshot.cn moonshot-v1-8k
硅基流动 api.siliconflow.cn
Anthropic 官方 SDK claude-sonnet-4-20250514
Gemini 官方 SDK gemini-pro
Ollama localhost:11434
自定义 自由输入 自由输入

版本历史

详见 CHANGELOG.md

  • v2.0.0 — React 18 架构重构(组件拆分、自定义 hook、TypeScript 类型安全、Error Boundary)+ 自动端口检测
  • v1.3.0 — EXE 交互菜单 + 环境自检/自动配置
  • v1.2.1 — 角色多别名支持
  • v1.2.0 — EXE 一键启动器 (PyInstaller)
  • v1.1.1 — 模型名自由输入
  • v1.1.0 — 多供应商 API 支持 (10 家)
  • v1.0.0 — 初始版本

License

MIT

About

AI-powered multilingual script translation & bilingual table generator

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors