Nothing
goes out
unchecked.
Free translators hand you machine output and hope. Every cue here passes thirteen structural checks — and whatever fails goes back to be fixed, then swept again by an editor pass.
No card · no subscription · 1 free episodeНе, не се притеснявай. Ще се справим.
— Не, не се.
Second line dropped. Ends mid-clause.
— Не, не се притеснявай. Ще се справим.
Both lines kept. Timing untouched.
Four ways subtitles fail quietly
Each of these shipped once. Each is now a check that runs on every cue, and a test that fails if it ever comes back.
— Не, не се.
v1 sent cues as tab-separated text, and a subtitle line break ended the record. The second line of every multi-line cue was silently discarded. It is a regression test now.
Ако съпругът ми почине, сигурно щях да…
Trimming a line to fit the box deletes what someone said. Overflow is compressed instead, never sliced, and reported either way.
медленно и глубоко
Those are Russian words spelled entirely in letters Bulgarian also has. A character-set check waves them through. A wordlist does not.
[СМЯХ]
Sound labels resolve from a fixed table before the model ever sees them, so a whole class of confident nonsense never gets a chance to be written.
Every cue is inspected, and the failures come back
Thirteen checks run on every cue before it is delivered. Nothing here is a mock-up: these are six consecutive cues from a real English to German run, and the flag on the fourth is what the pipeline actually returned for it. Scroll to run the film.
Every cue is checked before it is delivered. The thirteen checks, in the order they run:
- not empty
- not echoed
- is the language
- no alien letters
- no stray latin
- no foreign words
- spans intact
- tags balanced
- numbers match
- length in range
- sentence closed
- fits two lines
- reading speed
In the example shown, six consecutive cues from a real English to German run pass through the gate. Five are kept. The fourth — source “Silas!”, translated “Silas, komm schon!” — fails the length check, because the translation is 300% of the source length: the model added words that were not said. It is sent back to be re-asked with that complaint attached, and the answer is only accepted if it validates no worse than what it replaces.
One episode or a season as a zip. The price is on screen before anything runs.
Cues travel as structured data in batches, never as line-delimited text that can lose a line.
Thirteen structural checks. Whatever fails goes back to the model with the exact complaint attached.
A final pass over register, idiom and name spelling across the whole file.
Subtitles plus the quality report. Your upload is deleted the moment it is ready.
Eight languages have a score. Twenty-eight do not.
This started as a tool for shipping Bulgarian subtitles, and its first regression test came from a real bug in its own first version. That is why Bulgarian leads the list and why the list is honest about the rest: every language runs the same pipeline and the same thirteen checks, but only 8 of the 36 have a human translation to be scored against.
The bars are how much human-translated reference we hold — 13,944 units across 8 languages — and the figure beside each is its chrF++ score against that reference. Those scores are what any change to the pipeline has to beat. They are not comparable between languages: the metric counts word n-grams, so a heavily inflected language is marked down for near misses an analytic one never pays for. Each number is a baseline for its own language and nothing else, which is why these rows are not ranked.
Buy episodes, not months
The unit is an episode, so this is a ruler marked in episodes.
1 credit · 1 episode · ≈ 25 minutes · ≈ 20,000 characters · credits do not expire