---
title: "Flutter ARB-bestanden vertalen met AI"
description: "Voeg een taal toe aan je Flutter-app. Vertaal app_en.arb met AI, behoud de @-metadata en ICU-meervouden en voer daarna flutter gen-l10n uit. Mogelijkheden en stappen."
date: 2026-10-04
language: nl
canonical: https://ai-glot.com/nl/blog/how-to-translate-flutter-arb-files-with-ai
source: AI Glot blog
---
**Om een taal toe te voegen aan een Flutter-app, vertaal je één bestand: je template-ARB.** Al het andere, ook de Dart-klassen, wordt daaruit gegenereerd.

Deze gids gaat over dat ene bestand, `app_en.arb`, en over de drie dingen die daarin mis kunnen gaan: de `@`-metadata, de placeholders en de meervoudsvormen. Bekijk voor andere app-indelingen [hoe je de taalbestanden van je app vertaalt](/nl/blog/how-to-translate-app-language-files-with-ai).

## Wat is een ARB-bestand?

Een ARB-bestand is JSON met een vaste conventie erbovenop. [Flutter's lokalisatietool](https://docs.flutter.dev/ui/internationalization) leest ARB-bestanden standaard uit `lib/l10n`, gebruikt `app_en.arb` als template en genereert de Dart-klassen wanneer je `flutter gen-l10n` uitvoert. Elk bestand bevat één taal.

Vermeldingen bestaan uit paren: een sleutel met de bijbehorende tekst en een `@`-vermelding die de tekst beschrijft. Alleen de tekst wordt vertaald.

## Welke optie moet je gebruiken?

| | Geschikt voor | Beperking |
|---|---|---|
| **AI Glot** | Een nieuwe locale of vijf, een glossary die altijd moet worden gevolgd, elke release | Niet nodig voor tien strings |
| **Een platform voor vertaalbeheer** (Crowdin, Lokalise, Phrase, Localizely) | Een team met reviewers en een koppeling met een repository | Je moet eerst een project instellen en je repository koppelen |
| **DeepL** | XLIFF-bestanden, die [op de lijst staan](https://developers.deepl.com/docs/best-practices/document-translations) | ARB staat niet op die lijst, dus je moet eerst converteren |
| **ChatGPT, Claude of een andere assistent** | Een handvol strings | Je schrijft zelf de prompt en voegt je glossary aan elk gesprek toe. Bij elke poging kan een sleutel veranderen, een `{placeholder}` kapotgaan of een ICU-meervoudsvorm verminkt raken, dus vergelijk elk bestand |
| **Een freelancer of bureau** | De tekst voor je App Store- en Play Store-vermelding | Het duurt lang, je betaalt per woord en je moet het bestand nog steeds voorbereiden |

**Betaal iemand voor de winkelvermelding en het eerste scherm.** Laat de lange reeks labels en berichten door een engine vertalen.

## Waarom AI Glot geschikt is voor een ARB-bestand

- **Sleutels en `@`-metadata vormen de structuur.** Je kunt ze ongewijzigd laten.
- **Placeholders en ICU-syntaxis blijven behouden.** `{name}` en `{count, plural, ...}` blijven in het bericht staan, terwijl de woorden in elke vertakking worden vertaald.
- **Meerdere talen in één opdracht**, in plaats van vijf keer dezelfde strings.
- **Eén glossary voor elke locale** en voor bestanden die je later toevoegt.
- **Eerst een kostenoverzicht, daarna pas uitgaven**, met een voorbeeld dat je kunt controleren.

## Het traject van één bestand

*Illustration: De vijf stappen van een ARB-taak. Alles vóór goedkeuring is gratis, dus een plan dat het bestand verkeerd las kost niets om te corrigeren.*

## Zo ziet een vertaalde vermelding eruit

*Illustration: Een ARB-item voor en na vertaling. Sleutels, @-metadata en plaatshouders blijven staan zoals ze zijn, terwijl de woorden binnen de meervoudsvormen worden vertaald.*

## Wat je achteraf controleert

**Meervoudsvormen in talen met meer vormen.** In het Engels zijn twee vormen nodig. Het Russisch en Arabisch hebben er meer, en het vertaalde bericht kan vormen nodig hebben die niet in de Engelse brontekst voorkomen. Lees die berichten een keer na.

**`@@locale`.** Als je niet hebt gevraagd om deze waarde bij te werken, blijft die zoals hij was. Stel de waarde daarom in op de doellocale voordat je de bestanden publiceert.

**Lengte.** Controleer de schermen met de langste teksten op tekst die over een knop of kaart heen valt.

## Zo doe je het, stap voor stap

**1. Probeer gratis een bestand uit.** De [ARB-vertaler](/nl/file-formats/arb-translation) werkt zonder account en verwerkt bestanden tot 2 MB en 5,000 woorden.

**2. Upload `app_en.arb`** in [de app](https://app.ai-glot.com/signup), of verstuur het hieronder via de opdrachtregel.

**3. Geef in één zin aan wat je nodig hebt.**

```
Translate this file into French, German and Spanish.
Leave the @ metadata entries alone. Set @@locale to the target language.
```

*Illustration: Je beschrijft de opdracht in gewone taal. AI Glot maakt daar een vertaalplan van dat je kunt nalezen en bijsturen voordat er iets draait.*

De zin bepaalt wat er in het hele bestand wordt vertaald. Een regel over de formulering, zoals "behoud elke `{placeholder}` en de ICU-meervoudssyntaxis exact zoals die is" of "gebruik de informele aanspreekvorm", zet je in het tweede vak bij het goedkeuren. Die regel wordt namelijk toegepast op elk bericht terwijl het wordt geschreven.

**4. Voeg een woordenlijst toe** met de appnaam, functienamen en woorden die je app altijd op dezelfde manier gebruikt. [Zo stel je er een samen](/nl/blog/build-translation-glossary-brand).

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

**5. Bekijk het abonnement en kies een kwaliteitsniveau.**

*Illustration: Twee kwaliteitsniveaus, per bestand te kiezen. Met Lite vertaal je ongeveer drie keer zoveel woorden voor hetzelfde aantal credits.*

**Lite** levert ongeveer drie keer zoveel woorden per credit en is sneller. Ideaal voor een eerste versie in een nieuwe taal. **Standard** is bedoeld voor teksten die gebruikers als eerste lezen. Eén credit staat in Standard gelijk aan één woord.

**6. Keur het resultaat goed en download het.**

*Illustration: Je krijgt één bestand terug, in exact het formaat waarin je het hebt aangeleverd.*

**7. Plaats de bestanden in `lib/l10n`** naast `app_en.arb` en voer vervolgens het volgende uit:

```bash
flutter gen-l10n
```

## Eén bestand, meerdere talen

*Illustration: Één ARB-bronbestand wordt één vertaald bestand per taal, allemaal met dezelfde sleutels en dezelfde woordenlijst.*

De bestandsnamen en aantallen zijn voorbeelden. Een ARB-bestand bevat één taal, dus elke taalregio heeft een eigen bestand.

## Drie manieren om het te gebruiken

*Illustration: Drie manieren om je ARB-bestand te vertalen. Ze leveren allemaal dezelfde vertaalde bestanden op.*

**Via de opdrachtregel** is de aanpak die Flutter-ontwikkelaars blijven gebruiken, omdat je die bij elke release opnieuw kunt uitvoeren:

```bash
id=$(aiglot batches create lib/l10n/app_en.arb \
      --instruction "Translate into French. Leave the @ metadata entries alone. Set @@locale to the target language." \
      --json | jq -r '.data.id')
aiglot batches get "$id" --json | jq '.data.plan'
aiglot batches approve "$id" --quality lite \
  --instructions "Keep every {placeholder} and ICU plural syntax exactly as written."
aiglot batches download "$id" --output lib/l10n/app_fr.arb
```

**Met je AI-agent:** koppel AI Glot als [MCP-server](https://ai-glot.com/docs/mcp/overview). De agent kan je project uitlezen, woordenlijsttermen voorstellen, de vertaaltaak uitvoeren, de bestanden opslaan in `lib/l10n` en `flutter gen-l10n` voor je uitvoeren.

**In de app:** uploaden, klikken, downloaden. Geschikt voor een eenmalige taak.

Bekijk voor een API-integratie de [API-documentatie](https://ai-glot.com/docs/api/overview).

Op de pagina [Prijzen](/nl/pricing) zie je wat grotere volumes kosten. Een [gratis account](https://app.ai-glot.com/signup) bevat credits waarmee je een echt bestand kunt vertalen.

---

*De hier genoemde limieten golden op het moment dat dit werd geschreven: 8 MB per ARB-bestand en 2 MB en 5,000 woorden in de gratis tool. De standaardinstellingen van Flutter komen uit de documentatie van Flutter en kunnen veranderen. De lijst van DeepL komt uit de eigen documentatie. Bestandsnamen en aantallen tekenreeksen in de diagrammen zijn voorbeelden. Je abonnement toont de werkelijke waarden voor je eigen bestand en is gratis in te zien.*