ai-powered-markdown-translatorArtikel vertaald van fr naar nl met gpt-5.4-mini.
Ik ben verheugd om mijn project AI-Powered Markdown Translator aan je voor te stellen, een open-source Python-script dat automatisch de Markdown-bestanden van mijn blog en bepaalde README-/documentatieteksten uit mijn GitHub-repositories vertaalt. Door toonaangevende AI-modellen zoals OpenAI, Mistral AI, Anthropic (Claude) en Google Gemini te integreren, vertaalt deze tool artikelen, README’s en technische documentatie naar 14 talen, terwijl de structuur en opmaak behouden blijven. Dit project belicht mijn vaardigheden in automatisering, AI-integratie en betrouwbaarheidstechniek, evenals mijn passie om technische content voor iedereen toegankelijk te maken.
Het is niet zomaar een script: het is een bewijs van mijn expertise en mijn visie voor een inclusievere digitale wereld.
Waarom dit project?
Markdown-bestanden zijn essentieel voor mijn digitale ecosysteem: ze bevatten mijn blogartikelen, tutorials en open-source documentatie. Door hun vertaling te automatiseren, maak ik mijn content toegankelijk voor een wereldwijd publiek. Mijn blog is inmiddels beschikbaar in 14 talen dankzij dit script — bijna 1.800 vertaalde versies (orde van grootte, exclusief FR-bronnen) staan vandaag online op jls42.org, en de teller loopt bij elke publicatie verder op.
De v1.9 (mei 2026) markeert een mijlpaal: code ontwikkeld op gevoel (vibe coding) in pair-IA (Claude Code + Codex), beveiligd door een industriële kwaliteitsstack (14 hooks, 229 tests, SonarCloud, AI-ondersteunde PR-review) om te mikken op schone code, ook wanneer niet elke regel handmatig wordt nagelezen.
Hier zijn concrete voorbeelden van het script in actie:
- Deze blog jls42.org in 14 talen — de volledige meertalige redactionele ervaring (artikelen, projecten, AI-nieuws) wordt door dit script geproduceerd. Je kunt bijvoorbeeld de Duitse, Japanse, Chinese, Spaanse of Arabische versie van de site bekijken — elke vertaalde redactionele inhoud is erdoorheen gegaan (de interface-elementen zelf komen uit het native i18n-systeem van Astro).
- De README van het project zelf wordt op GitHub in 14 talen vertaald. Voorbeelden: Engels, Spaans, Chinees.
Dit project laat zien hoe AI praktische problemen kan oplossen en tegelijkertijd toegankelijkheid kan bevorderen.
Mijn vaardigheden in de schijnwerpers
Dit project is een visitekaartje van mijn technische expertise. Dit laat het zien:
- Multi-model orchestration: Claude Code in Opus voor ontwikkeling, Codex als fallback, GPT-5.5 reasoning extra-high om plannen uit te dagen,
/pr-review-toolkitvoor review vóór merge - Integratie van meerdere AI-API’s: 4 verbonden providers (OpenAI, Mistral AI, Claude, Gemini), met aanpassing aan de bijzonderheden van elke API (beheer van
finish_reason/stop_reason, antwoordformaten, tokenlimieten) - Betrouwbaarheidstechniek: dubbele post-vertalingsvalidatie (deterministisch anti-verbatimlek + probabilistisch
langdetect), detectie van stille fouten (silent failures), expliciete statusmeldingen - Industriële kwaliteitsstack: 14 geautomatiseerde hooks (ruff, mypy, shellcheck, Opengrep SAST, pip-audit, Lizard…), 229 unittest-tests, 11 SonarCloud-badges, plus Codacy en CodeFactor
- Open-source geest: beschikbaar op GitHub, GPLv3, README vertaald in 14 talen
Deze aspecten getuigen van mijn vermogen om krachtige, betrouwbare en op lange termijn onderhoudbare tools te bouwen.
Belangrijkste functionaliteiten
Dit is wat het script biedt:
- Multi-Provider: ondersteuning voor 4 API’s (OpenAI, Mistral AI, Claude, Gemini)
- Modellen 2026: standaard GPT-5.5, Claude Sonnet 4.6, Gemini 3.1 Pro
- Economische modus (
--eco): snellere en minder kostbare modellen - Eén bestand (
--file): vertaal één bestand in plaats van een hele map - Behoud van naam (
--keep_filename): behoudt de oorspronkelijke naam en extensie (ideaal voor Astro, Hugo, enz.) - Ondersteuning voor
.env: automatisch laden van API-sleutels uit een.env-bestand - Ondersteuning voor
.mdx-bestanden: naast klassieke.md-bestanden - Behoud van opmaak: codeblokken, inline code, links en metadata blijven intact
Nieuw in v1.9 (mei 2026):
- Post-vertalingsvalidatie: automatische detectie van stille fouten (silent failures) — doeltaal geverifieerd, afgeknotte teksten onderschept bij alle providers.
- Meervoudige notitiepositie (
--note_position,--note_format): boven, onder of beide; legacy-formaat of marker-formaat compatibel met GitHub embed cards. - Versterkte
--news-modus: al geïntroduceerd in v1.8 om broncitaten in EN via placeholders te beschermen, en in v1.9 profiteert de modus van geharde post-herstelvalidatie (resterende placeholder = fout, origineel citaat en toewijzings-URL geverifieerd, doel-/bronvlaggen gecontroleerd) — gebruikt op alleia-actualites-artikelen van de blog.
| Provider | Kwaliteit (standaard) | Economisch (--eco) |
|---|---|---|
| OpenAI | gpt-5.5 | gpt-5.4-mini |
| Claude | claude-sonnet-4-6 | claude-haiku-4-5-20251001 |
| Mistral | mistral-large-latest | mistral-small-latest |
| Gemini | gemini-3.1-pro-preview | gemini-3.1-flash-lite-preview |
Evolutie v1.0 → v1.9
| Versie | Datum | Belangrijkste bijdrage |
|---|---|---|
| 1.0–1.4 | 2024 | OpenAI, daarna Mistral, daarna Claude |
| 1.5 | sept. 2024 | Refactor clients, modellen 2024 (gpt-4o, claude-3.5-sonnet) |
| 1.6 | jan. 2026 | Modellen 2026 (gpt-5, claude-sonnet-4-5, gemini-3-pro), Gemini, economische modus (--eco), één bestand (--file) |
| 1.7 | jan. 2026 | --keep_filename, .env, inline code behouden |
| 1.8 | mrt. 2026 | GPT-5.4-modellen standaard, --news-modus met citation placeholders |
| 1.9 | mei 2026 | Post-vertalingsvalidatie, meervoudige notitiepositie, kwaliteitsstack 14 hooks + 229 tests + AI-review |
Ontwikkeling op gevoel + vangrails
Alle v1.9 is geschreven in pair-IA. Mijn flow: Claude Code (uitsluitend Opus) typt de code, Codex neemt het over wanneer Opus vastloopt of wanneer het gebruiksvenster vol zit, GPT-5.5 (reasoning extra-high) daagt de plannen uit vóór uitvoering, en de /pr-review-toolkit:review-pr-skill leest de PR na vóór elke merge. Ik lees de code zelf niet na. Om deze ontwikkelwijze in productie haalbaar te maken, heb ik geïnvesteerd in een proportionele set vangrails:
- 14 hooks geautomatiseerd (pre-commit + pre-push): shellcheck, ruff, prettier, detect-secrets, Lizard CCN, mypy, Opengrep SAST, pip-audit, unittest
- 229 tests unittest (~98 % dekking op de nieuwe v1.9-code)
- Praktijktests: multi-repo op uiteenlopende README’s, intern gebruik van het product (dogfooding) op de blog (productie = live test), controle van de visuele weergave (browser of Markdown-preview)
- 3 externe platforms: SonarCloud (11 badges), Codacy, CodeFactor
- Skill
/pr-review-toolkit:review-pr: AI-ondersteunde review met meerdere agents vóór merge - Dubbele post-vertalingsvalidatie: deterministisch (anti-verbatimlek) + probabilistisch (
langdetect)
Het idee is niet om te bewijzen dat we klassieke engineering beheersen. Het is dat we geen keuze hebben: AI-code die niet nagelezen is verdient meer vangrails, niet minder. Deze discipline wordt uitgebreid beschreven in de technische deep-dive.
In productie op deze blog
Het project vertaalt zichzelf: de README is in 14 talen beschikbaar, en het genereert alle meertalige versies van deze blog.
- Blogartikelen, 4 projecten en 98 ia-actualites-artikelen vertegenwoordigen bijna 1.800 vertaalde versies exclusief FR-bronnen (dekking per taal varieert afhankelijk van de inhoud)
--news-modus systematisch gebruikt opia-actualites-artikelen om broncitaten in EN te behouden- V1.9-vangrail actief sinds mei 2026: sinds de introductie van dubbele post-vertalingsvalidatie heb ik geen silent-failure van de doeltaal meer gedetecteerd
- Meta-coherentie: de pagina die je leest in het Engels, Duits, Japans… is vertaald door dit script
Om verder te gaan
Om te begrijpen hoe deze v1.9 is geproduceerd (de nieuwigheden in detail, de multi-model workflow, de vangrails die zijn opgezet om schone code na te streven zonder alles na te lezen), zie de volledige technische deep-dive.
En om de toon te vergelijken met een eerdere release, volgt het artikel uit 2024 over v1.5 een meer klassiek release-notes-formaat.
Probeer het zelf
Ontdek het project op GitHub, test het met je Markdown-bestanden en deel je feedback. Jouw ideeën helpen me het verder te verbeteren!
- Broncode op GitHub
- Release v1.9
- PR #2 — 75 commits, migratie + kwaliteit
- README in 14 talen
- CHANGELOG
Contact: contact@jls42.org