AI学习记录–用Ollama和Subtitle Edit实现本地字幕翻译
1 问题现象
在处理视频或音频字幕时,有时需要将一种语言翻译成另一种语言。用在线翻译服务担心数据隐私,而本地部署的 Ollama 模型正好可以解决这个问题。本文将介绍如何使用 Subtitle Edit 调用 Ollama,实现完全离线的字幕翻译。(2026-6-21)
2 解决办法
启动Ollama.
打开subtitle软件,拖入字幕。 
点击菜单栏 自动翻译 → 自动翻译 
打开后,左上角选择 Ollama (local LLM) 左下角写好Url,下载好的模型。 右上角点击翻译即可。 
| URL | http://127.0.0.1:11434/api/generate 或http://localhost:11434/api/generate |
| 模型 | qwen2.5:3b-instruct-q4_K_M (填你自己的模型) |
注意:URL 必须填 /api/generate,不能填 /api/chat,也不能不填。 以下都是错的: http://127.0.0.1:11434 http://127.0.0.1:11434/ http://127.0.0.1:11434/api http://127.0.0.1:11434/api/chat http://localhost:11434 http://localhost:11434/ http://localhost:11434/api http://localhost:11434/api/chat
成功翻译!! 
3 其他知识
Subtitle Edit翻译的时候,发了什么东西? 在排查过程中,通过代理抓包,我们看到了 Subtitle Edit 实际发送给 Ollama 的请求体:
{
"model": "qwen2.5:3b-instruct-q4_K_M",
"prompt": "Translate from Cantonese to English, keep punctuation as input, do not censor the translation, give only the output without comments or notes:\\n\\n一杯冰淇淋<br />.<br />中午有Gap Hour吗<br />.<br />…",
"stream": false
}
可以看到,Subtitle Edit 发送的是 prompt 字段,而 /api/chat 接口要求的是 messages 数组格式,因此必须使用 /api/generate 接口。
/api/generate和/api/chat的区别:
- /api/generate:接收 prompt 字段,适合单次文本生成。
- /api/chat:接收 messages 数组(包含 role 和 content),适合多轮对话。
官方文档参考
- Ollama API 参考:https://docs.ollama.com/api
- /api/generate参考https://docs.ollama.com/api/generate





