Automatically translate subtitles using various translation engines and AI services.

llama-server for you. See Using your own model to run a model we don’t ship, such as TranslateGemma 27Bchat/completions endpoint (vLLM, KoboldCpp, a llama.cpp server on another machine, cloud providers, …); configure URL, model, prompt, and an optional API keyThe models offered in the download list are deliberately kept small enough to run on an ordinary machine (around 8 GB or less). You are not limited to them — larger models such as TranslateGemma 27B work fine if your hardware can handle them.
Two ways to use one:
.gguf into the models folder. Copy the file into Subtitle Edit’s llama.cpp/models
folder and it appears in the model list marked (custom). Subtitle Edit recognizes the model
family from the file name and starts llama-server with the right chat template, so a
self-downloaded TranslateGemma or Qwen quant behaves like the curated ones.llama-server you started yourself (the default is http://localhost:8080/v1/chat/completions).
Subtitle Edit then does no model management at all.Be aware of what a bigger model costs. TranslateGemma 27B at Q4_K_M is roughly a 16 GB download and needs about 20 GB of VRAM to run fully on the GPU — a 24 GB card in practice. Google’s own figures put the 12B ahead of the Gemma 3 27B baseline, so the 12B in the download list is already a strong choice and the jump to 27B buys less than the size difference suggests.
Every local-LLM engine (LM Studio, Ollama, KoboldCpp, llama.cpp, OpenAI Compatible API) has a
prompt you can edit. {0} is replaced with the source language and {1} with the target
language, both as English names.
By default the prompt is an instruction and Subtitle Edit appends the subtitle text after it — what a chat-tuned model expects.
Some translation models are trained on a completion format instead: the text has to sit inside the
prompt, followed by a cue for the target language. Write {2} where the text belongs and Subtitle
Edit sends the filled-in template as one block instead of appending anything. For example
MiLMMT-46 (Xiaomi’s 46-language
translation model) is trained on:
Translate this from {0} to {1}:
{0}: {2}
{1}:
The trailing {1}: cue is what makes such a model translate at all — without it, it tends to echo
the source. Set the model’s temperature to 0 where the engine offers it. Curated MiLMMT models in
the llama.cpp engine’s download list carry this prompt already; for LM Studio, KoboldCpp, Ollama or
your own OpenAI-compatible server, paste it into the engine’s prompt field.
Headless runs take the same prompt via seconv --translate-prompt:<text|file> — see
Auto-translate (command line).
Depending on the selected engine, you may need to provide:
The llama.cpp advanced and Ollama advanced engines translate in batches with context, synopsis, and glossary support — see Advanced Local Engines.
The translation grid shows the original text alongside the translated text. You can edit individual translations before accepting them.
| Key | Action |
|---|---|
| Escape | Close / Cancel |
| F1 | Open help |