TL;DR: An AI subtitle translation can finish without a technical error and still omit a line, change a number, replace a name, or reverse a negation. A useful QC workflow checks the subtitle mapping first, then compares every source/translation pair for meaning before export. GeekLink uses deterministic checks plus a Jev review pass to mark suspicious lines for human review.
If you have ever opened a translated SRT and found a blank cue, a gap in the dialogue, or a sentence that sounds fluent but says the opposite of the source, the frustrating part is that the file may still look completely valid. The numbering can be present. The timecodes can be intact. The translation request can even be reported as successful.
That is why subtitle translation needs a quality-control step separate from translation itself. The translator creates the target text. QC asks whether every source cue still has a corresponding target cue and whether the meaning survived the translation.
Why can an AI translation be structurally valid and still be wrong?
Most translation pipelines have an easy-to-check failure mode and a difficult-to-check failure mode.
The easy one is structural. A response may contain invalid JSON, omit a subtitle ID, duplicate an ID, return fewer lines than requested, or leave a translation empty. These problems can create visible gaps in the exported subtitle file. They should be caught by the application without spending another model request.
The harder one is semantic. The response can contain valid JSON, the expected number of objects, and perfectly formatted strings while still changing the message:
| Source | Translated subtitle | What changed |
|---|---|---|
| I told him not to come. | Ich sagte ihm, er solle kommen. | The negation disappeared. |
| I waited for three days. | Ich wartete fünf Tage. | The number changed. |
| John called Mary. | John rief Anna an. | A named entity changed. |
| He was tired, but he kept working. | Er war müde. | Part of the meaning was omitted. |
A JSON parser cannot detect any of these errors. Neither can a simple check that counts the number of returned lines. The translation needs a second pass that compares the source and target as language, not just as data.
Are missing subtitles caused by the source file or by translation?
Before blaming the translation model, separate two problems that look similar on screen.
- The source subtitle is already incomplete or out of sync. If the original SRT has missing dialogue or incorrect timecodes, a translation QC pass cannot recover words that are not in the source. The audio or video still needs to be checked.
- The translation output lost or changed content. If the source cue is present but its translated cue is empty, missing, duplicated, shortened, or meaningfully different, the problem happened during translation or output assembly.
This distinction matters for troubleshooting. Jev can review whether a source sentence appears to be preserved in the translation. It cannot prove that the source SRT itself matches the spoken audio, and it does not repair source timecodes.
How do you check AI-translated subtitles before exporting?
A practical workflow has six steps. The first checks protect the subtitle file; the last steps help a person focus on the lines that may change the meaning.
- Keep the source cue as the stable reference. Each source subtitle keeps its original ID and timecode while the target text is generated. The translation should not be allowed to create a new subtitle order.
- Request a structured translation response. The model returns one typed translation object per subtitle ID instead of an unrestricted block of prose. This reduces mapping errors, but structured output does not prove that the wording is correct.
- Run deterministic checks first. Check empty translations, missing IDs, duplicate IDs, count mismatches, and malformed responses locally. These failures are not reasons to spend another semantic-review request.
- Review every eligible source/target pair with Jev. Jev receives the source and translated text together and makes a narrow review decision. The workflow does not pre-filter English and German, or other Latin-script pairs, by shared characters.
- Show the suspicious cues to the user. A flagged cue is a warning that deserves a closer look, not an automatic rewrite. The original source and the current translation remain visible side by side.
- Correct and export only after review. The user decides whether a flagged translation is wrong, acceptable, or needs a manual rewrite before exporting an SRT or burning subtitles into the video.
This order is deliberate. Structural validation prevents a missing or empty result from becoming an invisible gap. Semantic QC catches translations that are present but misleading. Human review remains the final decision because the correct wording can depend on the surrounding scene, speaker, terminology, or editorial style.
What errors can subtitle translation QC find?
The most valuable checks are the ones that are easy to miss when scanning hundreds of fluent-looking lines:
- Omission: one clause, sentence, or subtitle cue is missing from the target.
- Negation flip: “not,” “never,” or an equivalent meaning is lost or added.
- Numbers and dates: quantities, years, durations, percentages, or prices change.
- Named entities: a person, place, product, organization, or title is replaced or dropped.
- Incomplete meaning: the translation ends early or preserves only the first idea in the source.
- Meaning drift: the target is fluent but no longer says what the source says.
- Mapping errors: IDs are missing, repeated, or attached to the wrong target line.
Some warnings are intentionally conservative. A short translation is not automatically wrong, and a proper name may be transliterated differently for a good reason. The purpose of QC is to reduce the amount of subtitle text a person must inspect, not to pretend that a model can replace editorial judgment.
Does translation QC fix subtitle timing or gaps in the original SRT?
No. It is important not to promise more than the check can do.
When the source SRT is correctly timed, the translation workflow should preserve its cue positions and timecodes. QC can then identify a translation that is missing, empty, or mapped to the wrong cue. It can also identify a semantic omission even when the timecodes are perfect.
But if the source SRT itself has a missing line, an incorrect time range, or a transcription error, the solution is to correct the source transcription or compare it with the audio. Jev only sees the source text and the translated text; it does not listen to the video.
Why use Jev as a second check?
A general translation model is optimized to produce a translation. Asking the same model to decide whether its own output is wrong can be useful, but it can also encourage it to defend a plausible-looking sentence. A separate decision step gives the system a narrower job: compare the source and target and mark the pair if it deserves review.
GeekLink uses Jev after translation rather than inside the translation request. Jev does not rewrite subtitles, change timing, or silently replace a line. It returns a typed review result that can be attached to the original subtitle position. If the QC request is unavailable, the completed translation is not erased; the semantic check is simply incomplete and should be treated as a warning.
For the engineering details, see how GeekLink uses Jev to check AI-translated subtitles. The core workflow is also available as the open-source GeekLink Jev Subtitle Translator, which is useful for testing subtitle pairs outside the desktop app.
What does Jev QC not guarantee?
It does not guarantee a perfect translation. A reviewer can miss a subtle cultural reference, flag an acceptable adaptation, or lack enough surrounding context to decide confidently. The check also cannot validate the audio against a source SRT that is already wrong.
The useful promise is smaller: make likely problems visible before they become burned-in mistakes. Instead of trusting every translated line equally or rereading an entire file without guidance, you get a structured output check followed by a focused list of cues worth examining.
If your workflow is English-to-German, Chinese-to-English, or another language pair, the same principle applies: validate the mapping, compare the meaning, and let a person make the final call on flagged lines.
FAQ
Why are some AI-translated subtitle lines missing?
The translation response may omit an ID, return an empty translation, fail to preserve the source-to-target mapping, or fail while the output is being assembled. A complete-looking SRT can also contain semantic omissions where the target line is present but leaves out part of the source meaning.
Can structured JSON output prevent wrong translations?
No. Structured output helps preserve the response shape, subtitle IDs, and mapping. It cannot tell whether a valid translation changed a number, dropped a negation, or replaced a name. That requires a separate semantic check.
Does Jev translate or automatically repair flagged subtitles?
No. Jev reviews the source and target pair and marks lines that deserve attention. The current workflow leaves the correction to the user so it does not silently replace an intentional edit or introduce a context-free retry.
Can Jev detect a missing line in the original SRT?
Not by itself. Jev can detect that a source line was not preserved in its translation, but it cannot know that the audio contained an additional line that never appeared in the source SRT. That requires an audio or transcription check.
Does subtitle QC change timecodes?
No. The source cue positions and timecodes remain the reference. QC reviews the text and the mapping; it does not repair an already mis-timed source subtitle file.
Is a flagged translation definitely wrong?
No. A flag means the line deserves review. Shorter wording, localization choices, names, and idioms can be correct even when they look different from the source. The user makes the final decision.
Disclosure: GeekLink is our own desktop app. This page describes the current post-translation QC workflow and its limits; it is not a guarantee that an AI translation contains no errors.