Skip to content

Glossary

The Glossary is a list of source-language terms paired with their preferred target-language renderings. Sublarr injects matching entries into the LLM prompt for every translation job, so a name that gets translated one way in episode 1 doesn’t drift in episode 14. There are two scopes — global (applies to every job) and per-series (applies only to that series).

ScenarioAdd to glossary?
Recurring character name that the LLM pronounces inconsistentlyYes — per-series
Place name with multiple valid translationsYes — global
Idiomatic phrase that needs a fixed renderingYes — global
One-off line that came out wrongNo — fix in the editor instead
Whole sentence transformationsNo — glossary is per-term, not per-line
SurfaceScopeWhen applied
Settings → Translation → GlossaryGlobalEvery translation job that has glossary injection enabled.
Series detail → Translation → GlossaryPer-seriesOnly jobs for that series. Layered on top of the global list.
Subtitle Editor → Translation tab → Glossary togglePer-jobDisable glossary for a single run without removing entries.

Each entry has three fields:

FieldEffect
Source termThe string the LLM will look for in the source-language cue. Case-insensitive match by default.
Target termWhat it must be translated to.
NotesFree-text comment shown to admins (not sent to the LLM). Useful for “Variant of X” reminders.

When a translation job runs:

  1. Sublarr collects matching entries from the global + per-series lists.
  2. The matched entries are appended to the system prompt as a “Required terminology” section.
  3. The LLM is instructed to use the listed renderings verbatim, and to ignore entries that don’t appear in the cue.

The entry budget is capped (default 40) to keep prompts within context limits. If a series has more matching entries than the cap, Sublarr picks the most-recently-edited subset.

The series-level list augments the global list — it does not replace it. If a term appears in both, the series rendering wins. To explicitly override a global entry for one series, add the same source term with the new target term to the series list.

The glossary supports an “auto-extract” pass that reads through your existing translated files and proposes glossary entries based on repeated patterns:

  1. Open Settings → Translation → Glossary → Auto-extract.
  2. Pick a series and the language pair.
  3. Sublarr scans existing translated .srt files, finds proper-noun candidates, and presents them as suggestions.
  4. Review, edit, and accept entries one at a time.

Both the global and per-series glossary are stored in the database and included in Settings → System → Backup. The export format is YAML for human-readable diffs:

global:
- source: Kyoto
target: Kyōto
- source: Senpai
target: Senpai
series:
"Frieren: Beyond Journey's End":
- source: Himmel
target: Himmel # Keep German as-is
SymptomLikely causeFix
Term still translates inconsistentlySource-term casing differs in the cue (e.g. Senpai vs senpai)Add both casings or enable the case-insensitive flag.
LLM ignores the glossaryGlossary toggle disabled for that jobRe-run with the toggle on.
Translation degraded after adding many entriesPrompt budget exceededLower the per-job cap or split global entries into per-series lists.