Skip to content

Zsanz3/translate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Realtime Classroom Subtitle Translator

一个面向课堂场景的实时字幕翻译项目。老师端通过浏览器麦克风采集英语音频,服务端调用云端 ASR / 翻译服务,学生端通过教室码实时查看中英字幕。

安全说明

这个仓库只应提交安全版代码,不应提交任何真实账号、密钥、日志或本地测试素材。

  • server/.env 是本地私有配置文件,已经被 .gitignore 排除。
  • server/.env.example 只提供空白模板,使用者必须填写自己的云服务账号和 API Key。
  • node_modules/client/dist/.vite/*.log、本地测试音频、截图和内部开发记录默认不入库。
  • 如果密钥曾经推送到公开仓库,请立即到对应云平台轮换密钥,不要只靠删除提交记录。

项目结构

client/   React + Vite 前端
server/   Node.js + Socket.IO 服务端
test/     本地测试素材目录,默认不入库

环境要求

  • Node.js 18 或更高版本
  • npm
  • 腾讯云实时语音识别 / 文本翻译相关账号和密钥

配置

复制环境变量模板:

PowerShell:

Copy-Item server/.env.example server/.env

macOS / Linux:

cp server/.env.example server/.env

server/.env 中填写自己的配置。账号和密钥不要提交到 GitHub。

TENCENT_APP_ID=
TENCENT_SECRET_ID=
TENCENT_SECRET_KEY=
TENCENT_TMT_REGION=ap-guangzhou
TENCENT_TRANSLATE_SOURCE=en
TENCENT_TRANSLATE_TARGET=zh

可选旧服务变量也保留在 server/.env.example 中,例如百度翻译、豆包 Ark、DeepL。当前主流程使用腾讯云相关配置。

安装与运行

安装服务端依赖:

cd server
npm install

启动服务端:

npm run dev

安装前端依赖:

cd ../client
npm install

启动前端:

npm run dev

默认前端开发服务会通过 Vite 代理连接本地服务端。

测试

服务端:

cd server
npm test

前端:

cd client
npm test
npm run lint
npm run build

推送前检查

推送到 GitHub 前建议执行:

git status --short
git check-ignore server/.env client/node_modules server/node_modules client/dist over.md

确认 server/.env 没有出现在 git status 中,再提交代码。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors