🎬 Lingarr:让字幕翻译变得真正简单的全能工具
在这个多语言视频内容爆发的时代,从 YouTube 到 Netflix,再到个人自制短片,“字幕翻译”已经成为连接全球观众的关键一步。但如果你是一名影视自媒体创作者、字幕组成员,或只是想让外国影片更易理解的普通观众,你可能都曾被一个问题困扰:
为什么翻译字幕总是那么麻烦?
文件格式复杂、语言模型配置繁琐、人工翻译成本高……这些问题往往让人望而却步。
好消息是,Lingarr 正是为了解决这些痛点而生的一款开源工具。它可以自动化处理字幕翻译任务,让你轻松实现批量、精准、多语言的字幕转换。
一、Lingarr 是什么?
Lingarr 是一个基于多种翻译技术的自动化字幕翻译应用,它能够连接 LibreTranslate、DeepL、OpenAI、Anthropic、Gemini、Google、Bing、Yandex 等翻译服务,让你自由选择最适合的翻译引擎。
你可以把它理解为一个**“字幕翻译中枢”**:
只需配置一次,Lingarr 会自动检测并翻译影片字幕,输出你希望的目标语言版本。
无论你是在家用 NAS 上自建影音库,还是运营一个内容分发平台,Lingarr 都能帮助你省下大量重复劳动。
二、核心特性概览
🌍 支持多种翻译引擎
Lingarr 的最大亮点之一,是它能与众多翻译服务无缝协作:
| 支持服务 | 说明 |
|---|---|
| LibreTranslate | 开源、可本地部署的轻量级翻译引擎 |
| LocalAI | 支持本地 AI 模型(例如 Ollama 或兼容 OpenAPI 的模型路由) |
| DeepL | 商业级翻译精度高(暂不支持 pt-BR) |
| Anthropic Claude | 支持自然语言理解型 AI 翻译 |
| OpenAI GPT 系列 | 提供上下文敏感的深层翻译 |
| DeepSeek | 中文语境下表现优秀的 AI 翻译服务 |
| Gemini | Google 新一代多模态语言模型 |
| Google Translate / Bing / Yandex / Azure | 传统机器翻译平台 |
这种灵活性意味着,无论你偏好免费方案还是高精度商业方案,都能找到合适选项。
三、Lingarr 的使用方式
Lingarr 支持 Docker Compose 和 Docker CLI 两种安装方式。下面我们一步步说明。
1. 使用 Docker Compose 安装
最推荐的方法是通过 Docker Compose。只需在你的 docker-compose.yml 文件中添加以下配置:
services:
lingarr:
image: lingarr/lingarr:latest
container_name: lingarr
restart: unless-stopped
environment:
- ASPNETCORE_URLS=http://+:9876
ports:
- "9876:9876"
volumes:
- /path/to/media/movies:/movies
- /path/to/media/tv:/tv
- /path/to/config:/app/config
networks:
- lingarr
networks:
lingarr:
external: true
运行:
docker compose up -d
Lingarr 即会在 9876 端口启动并提供服务。
💡 小贴士
如果你的影片文件夹层级较深,建议查看项目 Wiki 或提交 Issue,以避免动态映射问题。
2. 使用 Docker CLI 安装
如果你更喜欢命令行方式:
docker run -d \
--name lingarr \
--restart unless-stopped \
-p 9876:9876 \
-e ASPNETCORE_URLS=http://+:9876 \
-v /path/to/media/movies:/movies \
-v /path/to/media/tv:/tv \
-v /path/to/config:/app/config \
--network lingarr \
lingarr/lingarr:latest
四、配置 Lingarr 环境变量
Lingarr 的运行依赖一系列环境变量,这些变量控制系统端口、数据库类型、并发任务数等关键参数。
| 环境变量 | 描述 |
|---|---|
ASPNETCORE_URLS |
容器内部监听的端口(默认 http://+:9876) |
MAX_CONCURRENT_JOBS |
并行翻译任务数量,默认为 1 |
DB_CONNECTION |
数据库类型,可选 mysql 或 sqlite |
DB_HOST |
MySQL 主机名 |
DB_PORT |
MySQL 端口(默认 3306) |
DB_DATABASE |
数据库名称 |
DB_USERNAME / DB_PASSWORD |
数据库用户名与密码 |
DB_HANGFIRE_SQLITE_PATH |
Hangfire 任务数据库文件路径(使用 SQLite 时) |
这些变量可在容器启动时通过环境变量传入,也可以在配置文件中持久化保存。
五、连接字幕管理工具(Radarr / Sonarr)
Lingarr 支持与 Radarr、Sonarr 等常见影音库管理系统联动,实现自动化翻译流程。
1. Radarr 配置
| 环境变量 | 描述 |
|---|---|
RADARR_URL |
Radarr API 基地址,例如 http://localhost:7878 |
RADARR_API_KEY |
从 Radarr 实例中获取的 API Key |
2. Sonarr 配置
| 环境变量 | 描述 |
|---|---|
SONARR_URL |
Sonarr API 地址 |
SONARR_API_KEY |
Sonarr 的 API Key |
配置完成后,Lingarr 可以在你下载或整理影片时自动调用字幕翻译流程。
六、配置翻译服务
Lingarr 最大的灵活性来自它支持多种翻译 API。你只需设置 SERVICE_TYPE 即可切换翻译源。
1. 通用设置
| 环境变量 | 描述 |
|---|---|
SERVICE_TYPE |
翻译服务类型,例如 libretranslate, openai, deepl 等 |
SOURCE_LANGUAGES |
源语言数组(JSON 格式) |
TARGET_LANGUAGES |
目标语言数组(JSON 格式) |
示例:
[{"name":"English","code":"en"},{"name":"Dutch","code":"nl"}]
2. 各翻译引擎配置一览
| 服务类型 | 关键变量 | 示例 |
|---|---|---|
| LibreTranslate | LIBRE_TRANSLATE_URL, LIBRE_TRANSLATE_API_KEY |
https://libretranslate.com |
| OpenAI | OPENAI_MODEL, OPENAI_API_KEY, AI_PROMPT |
gpt-4, sk-xxxx |
| Anthropic | ANTHROPIC_MODEL, ANTHROPIC_API_KEY, ANTHROPIC_VERSION |
claude-2 |
| Gemini | GEMINI_MODEL, GEMINI_API_KEY |
gemini-2.0-flash |
| DeepSeek | DEEPSEEK_MODEL, DEEPSEEK_API_KEY |
deepseek-chat |
| LocalAI | LOCAL_AI_MODEL, LOCAL_AI_API_KEY, LOCAL_AI_ENDPOINT |
http://localhost:8080 |
| DeepL | DEEPL_API_KEY |
私有 API 密钥 |
七、配置 LibreTranslate(可选)
如果你选择自建 LibreTranslate 服务,可以用 Docker 部署:
LibreTranslate:
container_name: LibreTranslate
image: libretranslate/libretranslate:latest
restart: unless-stopped
environment:
- LT_LOAD_ONLY=en,nl
ports:
- 5000:5000
volumes:
- /path/to/config:/home/libretranslate/.local/share/argos-translate
networks:
- lingarr
healthcheck:
test: ["CMD-SHELL", "./venv/bin/python scripts/healthcheck.py"]
命令行方式:
docker run -d \
--name LibreTranslate \
-p 5000:5000 \
-v /path/to/libretranslate/db:/app/db \
-v /path/to/libretranslate/local:/home/libretranslate/.local \
libretranslate/libretranslate \
--disable-web-ui \
--load-only=en,nl
八、Lingarr API:让自动化更进一步
Lingarr 提供了完整的 RESTful API,可供你集成到自己的系统或脚本中。
通过 API,你可以:
-
触发字幕翻译任务 -
查询翻译进度 -
管理翻译队列与日志
文档及 Swagger 接口说明可在 https://lingarr.com/docs/api 查阅。
九、FAQ 常见问题
❓1. 可以在本地运行 Lingarr 吗?
可以。你可以在任意 Docker 环境中运行,无论是 NAS、服务器还是开发机。
❓2. 支持哪些字幕格式?
Lingarr 支持常见的 .srt、.ass、.vtt 等格式(具体见源码说明),无需额外转换。
❓3. 我能同时用多个翻译引擎吗?
理论上可以,但推荐一次只启用一个 SERVICE_TYPE,以保证任务稳定性。
❓4. 翻译速度能调快吗?
可以通过设置 MAX_CONCURRENT_JOBS 增加并发任务数量,但需留意 API 限速。
❓5. 我需要数据库吗?
Lingarr 默认使用 SQLite,无需额外配置。如果需要多节点部署,可改用 MySQL。
十、如何参与项目
Lingarr 是一个开源项目,欢迎开发者贡献代码、报告问题或提出新功能建议。
-
📂 GitHub 仓库 -
💬 Discord 社区 -
🪶 致谢:AlexPoint、Lucide、selfh.st、r/selfhosted 等社区成员的贡献。
🧭 总结
Lingarr 不只是一个“字幕翻译器”。
它代表了一种多引擎、自动化、可扩展的内容处理方式。
对创作者而言,它节省时间、降低成本;
对开发者而言,它是一个强大的自动化 API;
对普通用户而言,它让语言的边界变得更模糊。
如果你正寻找一款能“自动理解你的字幕需求”的工具,Lingarr 值得你尝试。
