Translate Subtitles

Use this workflow to translate existing subtitle or text files.

Supported Inputs

Fast Sub is designed to translate subtitle files and plain text-style inputs such as:

Provider Choices

Local provider:

API provider:

Web providers:

Local Translation

Local NLLB translation keeps subtitle text on your machine. It requires the local translation model to be installed.

If the NLLB model is missing, translation should fail with a recoverable missing-model message. Original-language subtitle generation is not blocked by a missing translation model.

Recommended local workflow:

  1. Install and verify the default NLLB model.
  2. Select local-nllb-ct2.
  3. Choose source and target languages.
  4. Translate a small SRT file first.
  5. Confirm cue count and line layout.
  6. Use larger files after the small test succeeds.

For text files, Fast Sub should preserve physical line structure where possible. Empty lines should remain empty, and translated output should not collapse the entire document into one paragraph.

API Or Web Translation

API and web translation can upload subtitle text to an external service. Fast Sub should require explicit provider selection and confirmation before upload.

Do not paste API keys into logs, screenshots, issues, or release records.

Web providers use a packaged helper and do not require users to install Python web-translate, translators, global Node, or npm packages. If a web provider is unavailable, repair or reinstall Fast Sub, retry later, or switch to local/API translation.

API provider checklist:

Large Files

For large files, prefer local translation or a reliable API provider. Web translation providers may time out or fail because of rate limits, regional access, network failures, or upstream page changes.

Quality Review

Automatic translation is a first draft. Always review:

If translation quality matters, export the result and review it in a subtitle editor.