1.752 posts in één dag: hoe onze devblog twaalf nieuwe talen leerde 🌍
7 november 2026
In augustus leerde ons spel in een week veertien talen. De devblog bleef lang achter. Als je de site in het Frans of Japans opende, zei de blogpagina alleen dat er geen posts in deze taal waren. De taalkiezer boven elk artikel bood alle veertien talen aan, maar twaalf ervan leidden naar een foutpagina. 🙈 Sinds 3 oktober is dat voorbij.
De cijfers. Toen had de blog 146 artikelen, elk in het Duits en Engels. Op één dag kwamen er twaalf talen bij: Frans, Spaans, Italiaans, Portugees, Nederlands, Pools, Turks, Russisch, Oekraïens, Japans, Koreaans en Chinees. Dat is 146 × 12 = 1.752 nieuwe posts, plus 72 vertaalde categorieën. Elke vertaling draagt de datum van het Duitse origineel. Een post van 20 juni is ook in het Pools gedateerd op 20 juni, niet op 3 oktober. Alle versies zijn aan elkaar gekoppeld, dus de taalkiezer brengt je nu naar hetzelfde artikel in de andere taal.
Waarom niet gewoon op de vertaalknop drukken? Onze website draait op Wix, en Wix kan posts zelf vertalen. Voor ons zou dat betekend hebben dat we 1.752 keer op “Vertalen” moesten klikken en daarna 1.752 keer de datum met de hand moesten aanpassen. Ons tegoed was er ook niet bij in de buurt gekomen: we hadden ongeveer 746.000 woorden nodig en hadden er ongeveer 43.000. En een algemene machinevertaling kent de woorden niet die ons spel gebruikt.
Het spel als woordenboek. Dus bouwden we het zelf. Een klein programma haalt elke post op via de interface van Wix (een API, een deur waardoor programma's in plaats van mensen met de website praten) en knipt hem in alinea's. De AI vertaalt alinea voor alinea en krijgt de eigen taalbestanden van het spel als woordenboek. Zo heet de werkbank in de blog hetzelfde als de knop in het spel. Commando's zoals /tp, toetsnamen, versienummers en namen blijven zoals ze zijn. Daarna vergelijkt een controleprogramma elke vertaling met het origineel. Het zorgt ervoor dat het aantal alinea's, de links, de getallen en de versienummers allemaal kloppen, en dat het schrift juist is. Japans moet echt in Japanse tekens staan. Pas als alles klopt, gaat een post online.
Een tweede blik op gevoelige onderwerpen. Ongeveer 25 posts per taal kregen een tweede beoordeling: alles over kinderen en de school-AG, over kinderveiligheid, over onze licentie en over het verhaal. In die posts kan één verkeerd woord echt schade doen. Daarna hebben we die 300 posts nog eens op de live site gecontroleerd.
De dure les. 💸 Bij de eerste poging had elk pakket een vertaler en een beoordelaar. Allebei waren AI-agenten die hun bestanden zelf bij elkaar zochten. Dat kostte ongeveer 10 miljoen tokens per pakket (tokens zijn de kleine woordstukjes waarmee AI wordt afgerekend), en na 6 % van het werk zat ons account aan de limiet. Bij de tweede poging bereidden we alles voor: elk pakket kreeg één compact invoerbestand met de teksten en precies de bijpassende woordenboekinvoeren. De AI schreef zijn vertaling in een paar grote stukken, gevolgd door één controlerun. Een kleiner, sneller model (Sonnet) was daarvoor genoeg. We lieten nooit meer dan vijf agenten tegelijk draaien, anders slaat de limiet per minuut van ons AI-account toe. Zo liepen 98 agenten zonder één fout door, en alles bij elkaar kostte ongeveer evenveel als één enkel pakket eerder. De les gaat veel verder dan de blog: AI is snel en goedkoop als je alles klaarlegt wat het nodig heeft. Het wordt duur als het zelf op zoek moet.
Het is niet vlekkeloos. Machines vertalen verbazingwekkend goed, maar niet perfect. In de teksten van het spel werd een bank ooit een werkbank en een hangar een baai aan zee, in acht talen tegelijk. Voor de blog vragen we de vertalers uitdrukkelijk om niemands geslacht af te leiden uit een voornaam. In sommige talen deden ze het toch, bijvoorbeeld in het Russisch, Pools en Frans. Daarom controleren we die plekken nu zelf.
Sindsdien loopt het gewoon mee. Elke nieuwe post, ook elke updatepost, wordt in de twaalf andere talen vertaald zodra hij in het Duits en Engels uit is, en met dezelfde datum gepubliceerd. Als we later iets in de Duitse tekst veranderen, merkt het systeem welke vertalingen verouderd zijn en vertaalt ze opnieuw. En sinds versie 2026.10.4 toont het venster “Wat is er nieuw?” in het spel het nieuws ook in jouw taal.
Spreek je een van deze talen en struikel je over een zin, laat het ons weten: in het spel met F1 (F2 in de browser) of op GitHub. 🙏
Opmerkingen