Subtitle Edit

the subtitle editor :)


Auto Translate

Automatically translate subtitles using various translation engines and AI services.

Auto Translate

How to Use

  1. Open Translate → Auto-translate…
  2. Select a translation engine
  3. Select the source and target languages
  4. Click Translate to start
  5. Review the translations in the grid
  6. Click OK to apply

Supported Engines

llama.cpp: using your own model

The 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:

  1. Drop a .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.
  2. Run your own server. Tick Use remote server and point Subtitle Edit at any 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.

Prompts: chat models and completion models

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).

Engine Configuration

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.

Translation Review

The translation grid shows the original text alongside the translated text. You can edit individual translations before accepting them.

Keyboard Shortcuts

Key Action
Escape Close / Cancel
F1 Open help