Language Profiles
Language Profiles
Section titled “Language Profiles”Language profiles control which subtitle languages Sublarr searches for and translates to, on a per-series basis.
Overview
Section titled “Overview”A language profile is a named configuration that specifies:
- Target languages — what languages to search for or translate to
- Format preference — ASS preferred, SRT fallback, or any
- Translation settings — which backend to use, prompt preset
- Upgrade rules — when to replace an existing subtitle
Each series or movie can be assigned one language profile. If no profile is assigned, the global defaults from Settings apply.
Creating a Language Profile
Section titled “Creating a Language Profile”- Go to Settings → Translation → Language Profiles
- Click Add Profile
- Configure:
- Name — e.g., “Anime DE”, “Movies EN”, “Documentary FR”
- Target Language — the language to translate to (or download in)
- Source Language — the original subtitle language (usually
en) - Format Preference — ASS preferred, SRT only, or any
- Translation Backend — Ollama, DeepL, LibreTranslate, etc.
- Prompt Preset — which translation style to apply
- Save
Assigning Profiles to Series
Section titled “Assigning Profiles to Series”Manual Assignment
Section titled “Manual Assignment”- Go to Library → Series
- Click on a series
- In Series Detail, select the language profile from the dropdown
- Click Save
Tag-Based Automatic Assignment
Section titled “Tag-Based Automatic Assignment”If you use Sonarr/Radarr tags, Sublarr can automatically assign profiles based on tags:
- Go to Settings → Integrations → Tag Profile Mapping
- Add mappings like:
- Tag
anime-de→ Profile “Anime DE” - Tag
documentary→ Profile “Documentary FR”
- Tag
- Save
Sublarr reads tags from Sonarr/Radarr when processing webhooks and assigns the matching profile automatically.
Multi-Language Profiles
Section titled “Multi-Language Profiles”One profile can target multiple languages simultaneously. For example, a profile that downloads both German and French subtitles:
- In the profile editor, add multiple target languages
- Sublarr will search for and translate to each language independently
- Per-language settings (backend, prompt) can be overridden per entry
Default Profile
Section titled “Default Profile”The Global Default profile applies when no series-specific profile is assigned. Set the defaults at Settings → Translation.
Profile Lookup Order
Section titled “Profile Lookup Order”When processing a subtitle request, Sublarr checks profiles in this order:
- Series-specific profile (set in Library)
- Tag-assigned profile (from Sonarr/Radarr tags)
- Global default settings
Format Scoring with Profiles
Section titled “Format Scoring with Profiles”Profiles interact with the scoring system:
- ASS Preferred — ASS candidates get +50 bonus in scoring
- SRT Only — ASS candidates scored at 0 (effectively filtered out)
- Upgrade Prefer ASS — SRT → ASS upgrade triggered regardless of score delta
For anime, always use ASS Preferred with Upgrade Prefer ASS enabled. This ensures you always get styled fansub subtitles when available.
Translation Pipeline per Profile
Section titled “Translation Pipeline per Profile”The translation pipeline for each profile:
- Search — query all enabled providers for the target language
- Score — rank results by format, file size, hash match, uploader trust
- Download — fetch the best match
- HI Removal (if enabled) — strip hearing-impaired markers
- Translate — call the configured backend with the configured prompt
- Quality Score (if enabled) — LLM scores each translated line; low scores trigger retry
- Save — write
.{lang}.assor.{lang}.srtnext to the video file - Media Server Refresh — trigger library scan on configured servers
Troubleshooting
Section titled “Troubleshooting”Profile not applied to series:
- Check Settings → Integrations → Tag Profile Mapping for conflicts
- Verify the series is in the Library (Sublarr must have scanned it first)
Wrong language downloaded:
- Verify the target language code is correct (ISO 639-1:
en,de,ja,fr, etc.) - Check if the provider supports the target language
Translation not running:
- Ensure Settings → Connections → Webhooks → Auto-translate on import is enabled.
- Check the Queue page for failed translation jobs.