---
title: "YouTube-ondertiteling naar meerdere talen vertalen"
description: "YouTube vereist voor elke taal een apart ondertitelbestand. Zo maak je van één SRT-bestand acht bestanden, rechtstreeks in je browser of door je AI-agent de hele reeks te laten verwerken."
date: 2026-09-07
language: nl
canonical: https://ai-glot.com/nl/blog/translate-youtube-subtitles-multiple-languages
source: AI Glot blog
---
**YouTube vereist voor elke taal een apart ondertitelbestand. Een video in acht talen bestaat dus uit acht bestanden.** Vertalen is het makkelijke deel. Het acht keer herhalen is wat mensen rond de derde taal laat afhaken.

Deze gids behandelt beide manieren: alles zelf aanklikken, wat prima werkt voor één of twee talen, en de hele reeks overlaten aan een AI-agent die onze commandlinetool voor je uitvoert. Met de tweede aanpak kost acht talen verwerken evenveel werk als twee.

## Wat YouTube je geeft en wat het terugverwacht

Open YouTube Studio, ga naar de ondertiteling van de video en **download het bestaande ondertitelbestand**. Je kunt uit verschillende bestandsindelingen kiezen. AI Glot kan alle drie de indelingen van YouTube lezen: SRT, VTT en SBV. Download dus de indeling die je wilt. In deze handleiding gebruiken we `.srt`, een indeling die de meeste editors en spelers ook ondersteunen. Op de pagina met [ondersteunde bestandsindelingen](https://support.google.com/youtube/answer/2734698) staat dat SRT en SBV alleen basis-timing bevatten, zonder herkende opmaak, terwijl VTT positionering ondersteunt. De [WebVTT-specificatie](https://www.w3.org/TR/webvtt1/) schrijft voor dat een VTT-bestand begint met de header `WEBVTT` en tijdstempels punten gebruikt waar SRT komma's gebruikt. Alleen de bestandsnaam wijzigen zet een bestand dus niet om.

YouTube verwacht voor elke taal hetzelfde type bestand: een `.srt`-bestand dat je uploadt voor een taal die je aan de video toevoegt. Er is nergens een veld waarin je in één keer acht talen kunt toevoegen.

**Gebruik je alleen de automatische ondertiteling van YouTube? Corrigeer die dan voordat je gaat vertalen.** Automatische transcriptie verstaat productnamen, namen van personen en alles wat snel wordt gezegd vaak verkeerd. Als je dat vertaalt, komt één verkeerd woord in het Engels ook in alle acht talen terecht. Dan moet je het acht keer corrigeren in plaats van één keer.

## Het belangrijkste aan een ondertitelbestand, dat de hele klus bepaalt

Een SRT-bestand is een genummerde lijst met ondertitelblokken. Elk blok heeft een nummer, een begin- en eindtijdcode en de tekst die in beeld verschijnt.

*Illustration: Een ondertitelblok voor en na vertaling. Alleen de tekstregel verandert, zodat het bestand weer exact synchroon onder dezelfde video past.*

Het nummer en de tijdcode vormen de structuur. Die blijven ongewijzigd: voor elk invoerblok komt één uitvoerblok, er worden geen blokken samengevoegd of opgesplitst. Zo past het vertaalde bestand weer bij dezelfde video en blijft de ondertiteling synchroon lopen.

**En dit is de beperking die de rest bepaalt: het bestand bevat precies één tekstspoor.** Er is geen tweede kolom voor Spaans en ook geen plek om er een toe te voegen. Bij het vertalen van een SRT vervang je de tekst van elk ondertitelblok op dezelfde plek. Daarom gebruiken spelers en YouTube één bestand per taal.

Acht talen betekent dus niet één klus met acht uitvoerbestanden. Het zijn acht klussen.

*Illustration: Één ondertitelbestand bevat één taal, dus acht talen betekent acht afzonderlijke vertalingen van dezelfde tijdscodes.*

## Twee dimensies, en talen zijn er maar één van

De meeste mensen hebben met allebei tegelijk te maken: meerdere video's en meerdere talen. Die werken verschillend, en als je weet wat wat is, bespaar je jezelf een hoop geklik.

| Wat je hebt | Hoe het werk eruitziet | Hoe je het aanpakt |
| --- | --- | --- |
| Eén video, acht talen | Acht bestanden, acht opdrachten | Eén opdracht per taal, achter elkaar |
| Twaalf afleveringen, één taal | Twaalf bestanden, één opdracht | Zet ze samen in één ZIP-bestand |
| Twaalf afleveringen, acht talen | Acht ZIP-bestanden, acht opdrachten | Eén ZIP-bestand per taal, achter elkaar |

**De ZIP is het onderdeel dat mensen over het hoofd zien.** Een hele serie in één taal voeg je toe als één archief: maximaal 200 bestanden, 20 MB voor het archief en 4 MB per bestand. Je vertaalt alles in één keer, met één instructie en één woordenlijst voor elke aflevering. Ondertitelbestanden hebben geen gedeeld schema dat overtreden kan worden, dus afleveringen van verschillende lengtes passen zonder problemen in hetzelfde archief.

Bij talen werkt dat niet zo. Welke route je ook kiest, het aantal opdrachten is gelijk aan het aantal talen.

## De route via de browser, en wanneer je daarvoor kiest

Upload het bestand via de [SRT-vertaalpagina](/nl/file-formats/srt-translation) of in de app, beschrijf in één zin wat je wilt, bekijk het plan, keur het goed en download het resultaat. Doe dat vervolgens opnieuw voor de volgende taal.

Voor één of twee talen is dit echt de snelste optie, en je hoeft er geen terminal voor te openen. Bij acht talen betekent het acht uploads, acht instructies, acht plannen, acht goedkeuringen en acht downloads. Dan sluipen er al snel administratieve fouten in: het Duitse bestand wordt opgeslagen over het Franse bestand heen, of een taal ontbreekt ongemerkt.

## De route via een agent: één prompt voor de hele set

Werk je al met Claude, ChatGPT, Cursor of een andere AI-agent die opdrachten op je computer kan uitvoeren, dan hoef je helemaal geen browser te gebruiken. Onze opdrachtregeltool meldt je één keer aan en kan een bestand rechtstreeks verwerken. Zo kan een agent de hele set uitvoeren en een map opleveren met voor elke taal één ondertitelbestand.

*Illustration: Dezelfde acht talen, één voor één aangeklikt of in één keer als één prompt aan een agent gegeven.*

Installeer het en meld je één keer aan:

```bash
npm install --global @ai-glot/cli
aiglot auth login
```

Daarmee open je een browser om de machine te autoriseren. Gebruik op een server zonder browser `aiglot auth login --device` voor de apparaatcodeprocedure. In CI werkt `aiglot auth login --key <key>`.

### De prompt voor je agent

Plak dit en pas het pad en de talenlijst aan. De tekst is bedoeld om aan een agent te geven, niet om zelf uit te voeren.

```
My English subtitles are at ~/Videos/episode-04.srt, exported from YouTube.

Translate them into Spanish, Portuguese, French, German, Italian, Japanese,
Hindi and Indonesian using the aiglot CLI. Read `aiglot batches create --help`
and `aiglot batches approve --help` first so you use the real flags, and run
`aiglot languages` to confirm each language tag before you start.

An SRT holds one language, so create ONE batch per target language, eight in
total. The source language is English: say so explicitly in every instruction
rather than letting it be inferred.

Use the lite quality tier. Add "keep every subtitle line short enough to read at
speed (42 characters or fewer is the English and Latin-script guideline, so keep
Japanese, Hindi and Indonesian lines short too) and never merge or split cues"
as the string-level instruction at approval.

Show me all eight plans and the total word count and cost BEFORE you approve
anything. Then wait for me to confirm.

After I confirm, approve them, poll until each one reaches a terminal status,
and download the results into ~/Videos/subtitles/ as episode-04.<lang>.srt
using the two-letter code for each language. Tell me if any batch failed.
```

Vier onderdelen van deze prompt doen echt hun werk. Die zijn het waard om over te nemen in je eigen prompt.

**Je vertelt de agent om eerst de helpinformatie te lezen.** Als een agent de namen van opties moet raden, mislukt de eerste opdracht. Daarna verzint de agent een aannemelijke verklaring. Door de echte helpinformatie te lezen, of in één keer de volledige commandostructuur op te vragen met `aiglot help --json`, voorkom je dat helemaal.

**Je zegt expliciet dat er één batch per taal moet komen.** Als een agent uitgaat van één opdracht met acht doeltalen, maakt die een instructie die het formaat niet kan uitvoeren. Een ondertitelbestand dat Japans had moeten zijn, komt dan in een andere taal terug.

**Je vermeldt de brontaal.** Zonder die informatie leidt de engine de brontaal af uit de inhoud. Dat gaat juist het vaakst mis wanneer de gevolgen het grootst zijn: bij korte regels, bestanden met ergens een verdwaalde vertaalde zin en teksten vol namen.

**Je laat de agent stoppen voordat er kosten worden gemaakt.** `aiglot batches approve` is de enige opdracht die credits kost. Alles daarvoor is gratis en kan steeds opnieuw worden uitgevoerd. Eerst acht plannen laten tonen kost dus niets en voorkomt misverstanden die geld kosten.

### Wat de agent daadwerkelijk uitvoert, per taal

*Illustration: De vier stappen, één keer herhaald per taal. Alleen goedkeuring kost credits, dus elk plan is gratis na te lezen.*

Vier opdrachten, herhaald voor elke taal. Als shell-loop ziet dat er zo uit. Dit is ongeveer wat je agent uiteindelijk zal doen:

```bash
# "code:Language" pairs, so the filename gets the code and the instruction
# gets the language name.
for pair in es:Spanish pt:Portuguese fr:French de:German \
            it:Italian ja:Japanese hi:Hindi id:Indonesian; do
  code=${pair%%:*}
  lang=${pair#*:}

  id=$(aiglot batches create ~/Videos/episode-04.srt \
        --instruction "The source language is English. Translate the text of every cue into ${lang}. Leave cue numbers and timecodes exactly as they are." \
        --json | jq -r '.data.id')

  # Read the plan for free, and only then commit.
  aiglot batches get "$id" --json | jq '.data.plan'

  aiglot batches approve "$id" --quality lite \
    --instructions "Keep every subtitle line short enough to read at speed: about 42 characters or fewer for English and Latin-script languages, and short in every other language too. Never merge or split cues."

  # Wait for a TERMINAL status, not for a specific one.
  until status=$(aiglot batches get "$id" --json | jq -r '.data.status'); \
    [ "$status" = "completed" ] || [ "$status" = "failed" ] || [ "$status" = "cancelled" ]; do
    sleep 5
  done

  [ "$status" = "completed" ] && \
    aiglot batches download "$id" --output ~/Videos/subtitles/episode-04.${code}.srt
done
```

Eén detail hierin is het overnemen waard, zelfs als je nooit ondertitels vertaalt. **De loop wacht op elke eindstatus, in plaats van alleen op `completed`.** Een script dat alleen wacht op de status waarop het hoopt, blijft bij een fout voor altijd wachten. Een vergelijking met een waarde die nooit binnenkomt, is namelijk geen fout. Die is gewoon altijd onwaar.

Er is ook een MCP-server, `aiglot mcp`, voor het geval je agent liever met tools werkt dan met een shell. De CLI is een beter startpunt: die werkt in een script en in CI, en je kunt precies zien wat er is uitgevoerd.

## De twee instructies die vaak door elkaar worden gehaald

Dit onderscheid is het enige in deze hele workflow dat ongemerkt mis kan gaan, dus het is de moeite waard om er dertig seconden aan te besteden.

**De instructie voor het plan bepaalt wat er wordt vertaald.** Die wordt één keer gelezen, op basis van de structuur van het bestand. Hier geef je de doeltaal op: "Vertaal de tekst van elke cue naar het Duits."

**Instructies op stringniveau worden toegepast terwijl elke regel wordt geschreven.** De engine ziet één ondertitelregel tegelijk, dus deze instructies kunnen alleen iets beschrijven wat binnen één regel zichtbaar is. Denk aan de regellengte, de toon of een naam die niet mag worden aangepast.

Een regel over de maximale regellengte in het plan zetten, heeft geen zin. En een zin als "vertaal alleen de tweede helft van het bestand" bij de instructies op stringniveau zetten, doet helemaal niets, omdat het bestand op dat moment niet in beeld is. Er verschijnt geen foutmelding. Je krijgt gewoon uitvoer waarin je instructie is genegeerd.

## Namen in een hele reeks hetzelfde houden

Acht talen maal twaalf afleveringen zijn zesennegentig bestanden. Wat er misgaat, heeft niets met grammatica te maken: je product heet in aflevering twee anders dan in aflevering negen.

*Illustration: Een woordenlijst legt termen vast die niet mogen verschuiven en past dezelfde keuze toe op elk bestand.*

Zet termen die niet mogen veranderen eenmalig in een [woordenlijst](/nl/blog/build-translation-glossary-brand) voor de werkruimte: productnamen, namen van personages en de vaste vertaling van een zin die je in elke intro herhaalt. De woordenlijst wordt vervolgens toegepast op elk bestand in elke taal, ook op de aflevering die je volgende maand publiceert.

Hier loopt een algemene automatische vertaler tegen problemen aan, en dat komt door de manier waarop die werkt. De woordenlijst vervangt een term zodra die overeenkomt, zonder de rest van de zin opnieuw te bekijken. Hier wordt een term als betekenis meegenomen terwijl de regel wordt geschreven, zodat die zich aanpast aan de zin in plaats van er middenin te worden ingevoegd.

## De bestanden weer uploaden naar YouTube

Voeg in Studio een taal toe aan de video en upload vervolgens het bestand voor die taal. Doe dit eerst voor één taal, bekijk dertig seconden van de video met dat ondertitelspoor ingeschakeld en controleer twee dingen: of een lange regel geen muur van tekst is geworden en of de timing nog klopt nu de formulering langer is. Afhankelijk van het talenpaar neemt vertaalde tekst vaak meer ruimte in dan Engelse tekst. In het [artikel van W3C over tekstlengte bij vertalingen](https://www.w3.org/International/articles/article-text-size) zie je hoeveel die uitbreiding verschilt per taal en per lengte van de tekst. Daar beschermt de instructie voor de regellengte je precies tegen.

Upload daarna de rest.

## Wat levert dit je nu eigenlijk op?

Twee afzonderlijke dingen. Het is belangrijk om die uit elkaar te houden, omdat het bewijs voor elk ervan anders is.

### Vindbaarheid, de reden om te vertalen

Dit cijfer komt rechtstreeks van YouTube. **"Gemiddeld komt meer dan twee derde van de kijktijd van het publiek van een creator van buiten diens eigen regio."** Dit is het eigen cijfer van YouTube, op de eigen [pagina over vertaaltools](https://support.google.com/youtube/answer/4792576), en het is het nuttigste cijfer in dit artikel: het grootste deel van je publiek bevindt zich al ergens anders.

Het mechanisme wordt op dezelfde pagina uitgelegd. Vertaalde titels en beschrijvingen **kunnen in YouTube-zoekresultaten verschijnen voor kijkers die die talen spreken**, en kijkers die in hun eigen taal zoeken, kunnen elke video vinden en bekijken met ondertiteling die ze kunnen lezen. Met één Engelstalig spoor is een video in één taal vindbaar. Met negen sporen is die in negen talen vindbaar.

Vertaal dus ook de titel en beschrijving, niet alleen de ondertiteling. Die vormen samen het zoekresultaat en bestaan uit drie regels tekst naast een uur gesproken tekst.

### Toegankelijkheid, de reden om überhaupt ondertiteling toe te voegen

Ondertiteling is voor een grote groep mensen geen luxe. De Wereldgezondheidsorganisatie verwacht dat **[bijna 2.5 miljard mensen](https://www.who.int/news/item/02-03-2021-who-1-in-4-people-projected-to-have-hearing-problems-by-2050), oftewel 1 op de 4, in 2050 in zekere mate gehoorverlies zal hebben**. In de [richtlijnen voor ondertiteling](https://www.w3.org/WAI/media/av/captions/) van het W3C wordt ondertiteling omschreven als de tekstweergave van spraak en geluiden voor dove en slechthorende kijkers. Vertaalde ondertitels zijn spraak die in een andere taal is vertaald. Ondertiteling is dus de toegankelijkheidsvoorziening; vertaalde ondertitels dragen daar slechts indirect aan bij.

En dan is er iedereen die prima kan horen, maar toch graag leest. In een [YouGov-peiling](https://yougov.com/en-us/articles/45987-american-adults-under-30-watching-tv-subtitles) onder 1,000 volwassenen in de VS, gehouden van 29 juni tot en met 5 juli 2023, **zei 63% van de mensen onder de 30 dat ze bij het tv-kijken liever ondertiteling aan hebben staan**, zelfs als ze de taal kennen. Hoe jonger de deelnemers, hoe vaker ze dat aangaven. De jongste groep wilde ondertiteling het liefst.

En mensen kijken zonder geluid. In een onderzoek van Verizon Media en Publicis Media uit april 2019 onder 5,616 volwassenen in de VS van 18 tot 54 jaar (we verwijzen ernaar via het [artikel van 3Play Media](https://www.3playmedia.com/blog/verizon-media-and-publicis-media-find-viewers-want-captions/)), **zei 80% eerder een video helemaal uit te kijken als er ondertiteling beschikbaar is**. De helft was het ermee eens dat ondertiteling belangrijk is en gaf aan meestal zonder geluid te kijken.

**Wees precies met wat die laatste twee cijfers aantonen**, want je kunt ze makkelijk te ver oprekken. Ze gaan over ondertiteling in een taal die de kijker al spreekt. Ze zijn dus een argument om überhaupt een ondertitelspoor aan te bieden, niet het bewijs dat een Japans spoor je Japanse kijkers oplevert. Het YouTube-cijfer hierboven gaat wél over vertaling. Samen laten de cijfers alleen zien dat een tekstspoor aandacht trekt, en dat een tekstspoor in iemands eigen taal aandacht trekt in een markt waarin je nu nog niet zichtbaar bent.

Houd ook deze twee cijfers in gedachten. Ze komen uit onderzoek naar kopen, niet naar kijken: [CSA Research](https://csa-research.com/l/media/Consumers-Prefer-their-Own-Language) ondervroeg in 2020 8,709 consumenten in 29 landen. Daaruit bleek dat 76% van de online shoppers liever producten koopt met informatie in hun eigen taal, en dat 40% nooit iets koopt op websites in andere talen. Als je video's iets verkopen, geldt datzelfde argument ook voor het afrekenen.

## En YouTube's eigen automatische vertaling?

YouTube kan een ondertitelspoor in de speler automatisch vertalen voor de kijker. Dat kost niets en is een redelijke oplossing voor de lange staart van talen waarvoor je nooit een professionele vertaling zult publiceren.

Maar die vertaling is niet van jou. Ze wordt in de speler gegenereerd, je bepaalt de formulering niet en er is geen bestand dat je kunt controleren of opnieuw gebruiken. Een geüpload spoor werkt precies andersom: het verschijnt in het ondertitelmenu van je video, bevat de tekst die jij hebt gekozen en hetzelfde bestand werkt op elk ander platform waarop je die video plaatst.

Gebruik automatische vertaling voor talen waarin je niet investeert. Upload echte ondertitelsporen voor de talen waarin je dat wel doet.

## Waarvoor dit wel en niet geschikt is

Voor één korte video in één taal levert iemand die die taal spreekt beter werk dan al deze opties. Vraag die persoon dus om hulp.

Bij acht talen voor een volledige backcatalogus zit de hele kostenpost in het bestandsbeheer, niet in het vertaalwerk. Verwerk de bulk met AI Glot en laat de teksten alleen nakijken waar dat echt iets oplevert: in de talen die voor je publiek het belangrijkst zijn en bij video's die daadwerkelijk iets verkopen. Veel teams gebruiken het als eerste versie en laten een moedertaalspreker de output controleren. Zo zet je een expert goed in, in plaats van een middag te verspillen aan het hernoemen van bestanden.

Wil je het eerst op één aflevering proberen voordat je je aan een hele serie verbindt? De [ondertitelvertaler](/nl/file-formats/srt-translation) accepteert bestanden zonder account. [Maak een gratis account aan](https://app.ai-glot.com/signup) als je klaar bent om de hele reeks te verwerken.

---

*De YouTube-informatie op deze pagina is voor het laatst gecontroleerd op 2026-09-29. De genoemde limieten zijn de limieten die golden toen dit werd geschreven: 4 MB per ondertitelbestand (8 MB voor TTML) en voor een archief met ondertitelbestanden: 200 bestanden en 20 MB. Het aantal woorden en cues en de kosten hangen altijd af van het abonnement dat je voor je eigen bestand kiest. Het maken en corrigeren ervan is gratis.*