Der Ablauf beim Erzeugen der Untertitel folgt einem definierten Workflow. Zunächst wird die Untertiteldatei in der Ausgangssprache (englisch) erzeugt und optimiert.
Optimieren der Ausgangssprache
- Nach Fertigstellung des finalen Videos: Extrahieren der Tonspur, um eine saubere SRT-Datei mit Timecodes zu erhalten.
- Transkription der Tonspur in Whisper. Aktuell kommt das Sprachmodell „Parakeet V3“ zum Einsatz. Relevant ist nur die Originalsprache – keine Übersetzung!
- Hier erfolgen erste Korrekturen in Whisper, um „grobe“ sofort sichtbare Hörfehler zu korrigieren, die die Zuordnung zum Manuskript behindern. Eine echte Textkorrektur ist nicht erforderlich, da die Texte aus dem Originalmanuskript 1:1 verwendet werden. Zudem Korrektur von Ziffern und Zahlen – insbesondere am Ende eines Cues. 0.5 23.89% etc.
- Import von SRT-Datei und Manuskript (als txt-Datei) im eigenen Tool „Video-Untertitel“. Abgleich (Alignment) mit dem Original-Manuskript. So wird garantiert, dass der Originaltext mit Time-Codes versehen wird.
Dieser Zwischen-Schritt ist nötig, um zwei Prüfungen zu ermöglichen:
– Prüfen, ob der Ablauf stimmt, also ob alle Texte vorhanden sind und es keine ungewollt großen Lücken gibt. Dies wird dann in der Keynote-Datei korrigiert und ein neues Video exportiert.
– Abweichende Schreibweisen bei kritischen Sequenzen zur besserer „Trefferquote“ in der SRT-Datei korrigieren und neu importieren. Im Terminologie-Lexikon können falsche Schreibweisen korrigiert werden, und es können Wörter markiert werden, die austauschbar sind. Dies ist nur bei groben Fehlern erforderlich, die die folgenden Zuordnungen zerschießen. - Wenn die Video-Datei „technisch“ in Ordnung ist, erfolgt ein erstes Hochladen und Transkription bei Vimeo. Dieser Schritt ist nötig, weil Vimeo deutlich kürzere Untertitel-Segmente erzeugt, die für die weitere Arbeit benötigt werden.
- In Vimeo herunteladen der originalen (=englischen) Auto-Transkription als VTT- oder SRT-Datei (=mit Timecodes). Die Datei landet als „autogenerated.vtt“ im Download-Ordner.
- Erneuter Import diesmal der VTT-Datei und Zuordnung zum bereits geladenen Manuskript (als txt-Datei) im eigenen Tool „Video-Untertitel“.
- Abgleich (Alignment) mit dem Original-Manuskript. So wird garantiert, dass der Originaltext mit Time-Codes versehen wird. Nochmal Zuordnung und Timing prüfen. Da das Original-Manuskript verwendet wird, spielen Hörfehler keine Rolle, wenn die Textpassagen richtig zugeordnet werden.
- Export als abgeglichenen und optimierten SRT-Datei. Der Text entspricht 1:1 dem Manuskript und dient als Untertitel-Datei der Originalsprache für Vimeo. Dabei werden die Texte neu gegliedert und nach Satzbau und Zusammenhang aufgeteilt. Dies geschieht automatisch mit den Voreinstellungen aus der class-settings.php und den für dieses Asset gespeicherten Werten für Zeichen- und Zeilenzahl.
- Unter dem Menüpunkt „SRT editieren“ das entsprechende Asset auswählen, für EN einen Sprachtrack anlegen und dies optimierte englische SRT-Datei importieren.
- Im nächsten Schritt erfolgt eine Prüfung der finalen Untertiteldatei. Sollten hier „falsche“ weil ungünstige Cue-Gliederungen auffallen, können mit /// (=Trenner) und +++ (+Verbinder) manuell Cue-Grenzen beim Optimieren erzwungen oder verhindert werden. Sie müssen dazu in die Manuskriptdatei eingetragen werden. Danach erfolgt ein erneuter Import dieser korrigierten Manuskriptdatei und der Ablauf ab Schritt 7.
- Nach Ausführung aller Korrekturen wird eine finale SRT-Datei exportiert. Diese Datei ist die Basis für alle Übersetzungen und wird außerdem bei Vimeo als Untertiteldatei verwendet.
automatische Übersetzung (integriert)
(nur für Admins)
Alle Übersetzungen folgen der Cue-Aufteilung (Timing) der Ausgangssprache. Daher ist es entscheidend, dass diese vorher final optimiert wurde wie vorher beschrieben. Hierbei werden auch die Trennungen beachtet und die Aufteilung der Cues so weit es geht beibehalten.
- Automatisches Erzeugen der Übersetzung mit open-AI-Modell. Dies geschieht unter dem separaten Menüpunkt „SRT editieren“. Hier kann per dropdownmenü die Zeilsprache gewählt werden. Danach wird eine Kostenprognose errechnet und angezeigt. Die Gesamtkosten sind unter einem separaten Menüpunkt („Cost Control“) aufgelistet.
- Nach erfolgreicher Übersetzung wird diese rechts neben der Ausgangssprache angezeigt und kann final geprüft und freigegeben werden.
- Das Ergebnis wird als finale Sprach-Datei exportiert und bei Vimeo als Untertitel-Datei der entsprechenden Sprache importiert.
Optional möglich:
Übersetzung von separater srt-Datei
Alle Übersetzungen folgen der Cue-Aufteilung (Timing) der Ausgangssprache. Daher ist es entscheidend, dass diese vorher final optimiert wurde wie vorher beschrieben. Danach sind diese Schritte erforderlich:
- Automatisches Erzeugen einer SRT-Datei mit open-AI-Modell. Dies geschieht unter dem Menüpunkt „SRT-Translator“. In der rechten Spalte können die Einstellungen geändert werden. In der linken Spalte wird nach Auswahl der Zielsprache und Basisdatei eine Kostenprognose errechnet und angezeigt. Die Gesamtkosten sind unter einem separaten Menüpunkt („Cost Control“) aufgelistet.
- Nach erfolgreicher Übersetzung wird diese Datei unter „SRT editieren“ im entsprechenden Asset-Track als neue Sprache importiert und kann dort mit der (englischen) Originalfassung abgeglichen und ggf. manuell korrigiert werden. Hier ist auch eine externe fachliche Prüfung möglich. Daher ist dieser Menüpunkt auch für die User-Rolle „Translator“ zugänglich.
- Das Ergebnis wird als finale Sprach-Datei exportiert und bei Vimeo als Untertitel-Datei der entsprechenden Sprache importiert.
Zusatz
Prompt für integrierte Übersetzungsautomatik
"Translate the following subtitle cues into {$target_lang}.\n\n" .
"Rules:\n" .
"- Keep the cue boundaries exactly.\n" .
"- Return exactly one translated text per seq.\n" .
"- Do not merge cues.\n" .
"- Do not split cues.\n" .
"- Translate with awareness of neighboring cues in the same chunk.\n" .
"- Ensure natural sentence flow across cue boundaries.\n" .
"- It is allowed to adjust wording so that sentences spanning multiple cues read fluently.\n" .
"- If a sentence continues in the next cue, reflect that grammatically.\n" .
"- Avoid awkward cue openings caused by overly literal continuation.\n" .
"- Avoid starting a cue with lowercase conjunctions like 'und', 'aber', unless grammatically required.\n" .
"- Preserve numbering like '1.' or '2.' in the same cue.\n" .
"- boundary_after=break indicates a strong separation to the next cue.\n" .
"- boundary_after=normal means standard continuity.\n" .
"- Return valid JSON only.\n\n" .
"JSON input:\n" .
wp_json_encode($payload, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) .
"\n\nReturn JSON in this exact shape:\n" .
"{\n" .
' "cues": [ {"seq": 1, "text": "..."} ]' . "\n" .
"}";
Prompt für Übersetzungsautomatik externer SRT-Dateien
You are a professional subtitle translator.
TASK:
Translate the provided subtitle SEGMENT from {source_lang} to {target_lang}.
INPUT (JSON):
{chunk_srt}
Each segment contains:
- id
- text
Translate each segment conservatively and accurately.
OUTPUT (STRICT JSON ONLY):
{
"segments": [
{
"id": "seg_1",
"translated_text": "..."
}
]
}
RULES:
- Return ONLY valid JSON
- Translate EVERY segment
- Keep the SAME segment ids
- Do NOT omit any segment
- Do NOT add any extra ids
- Do NOT merge segments
- Do NOT split segments
- Keep the translation semantically close to the source text
- Do not over-interpret, embellish, summarize, or paraphrase too freely
- Keep medical meaning accurate
- Use natural target language
- Preserve numbers, dosage values, and technical meaning carefully
CRITICAL:
- Output count must match input count exactly
- Every input id must appear exactly once
- Never return empty translated_text unless the source text is empty
Chunk {chunk_index}/{chunk_total}
