Hoe Markdown-documentatie voor ontwikkelaars te vertalen
Open-source projecten leven of sterven bij hun documentatie. Een briljante bibliotheek met alleen een Engelstalige README zal nooit developers in China, Japan of Brazilië bereiken—markten die 40% van de wereldwijde ontwikkelaarsbevolking vertegenwoordigen. Toch is het vertalen van markdown-documentatie uniek uitdagend: je moet codeblokken behouden, de linkstructuur intact houden, versiebeheer beheren en vertalingen gesynchroniseerd houden terwijl je project evolueert.
Volgens het GitHub 2024 Octoverse-rapport komt 78% van de open-source bijdragen van niet-moedertaalsprekers van het Engels, maar blijft 92% van de documentatie Engelstalig. Dit creëert een enorme barrière voor adoptie, bijdragen en het opbouwen van een wereldwijde gemeenschap.
Deze uitgebreide gids laat zien hoe je markdown-documentatie effectief vertaalt: van het behouden van codesyntaxis en links tot het beheren van vertaalworkflows in Git, het automatiseren van updates en het bouwen van meertalige documentatiesites met tools zoals Docusaurus, VuePress en MkDocs.
Waarom Markdown-documentatievertaling anders is
Markdown is een opmaaktaal ontworpen voor technische schrijverij. Wanneer je markdown-documentatie vertaalt, vertaal je niet alleen proza—je beheert een complexe mix van code, opmaak-syntax, hyperlinks, versiebeheer en continue updates.
De Markdown-vertalingsuitdaging
1. Codeblokken mogen nooit vertaald worden
## Installatie
Voer het volgende commando uit:
```bash
npm install awesome-library
Bij vertaling naar het Spaans:
- "Installation" → "Instalación" ✅
- "Run the following command:" → "Ejecuta el siguiente comando:" ✅
- `npm install awesome-library` → ONGEWIJZIGD LATEN ✅
Generieke vertaaltools breken vaak door code te vertalen!
2. Markdown-syntax moet behouden blijven
**Vetgedrukte tekst** moet **vet** blijven
*Schuingedrukte tekst* moet *schuin* blijven
[Linktekst](url) moet de linkstructuur behouden
`inline code` moet de backticks behouden
Slechte vertaling kan leiden tot:
**Vet** (verliest markdown-syntax)
*Schuin (ontbrekende sluitende ster)
[Tekst](url (kapotte link)
3. Relatieve links moeten worden bijgewerkt voor taalve rsies
Engels: [Bekijk API-referentie](./api-reference.md)
Spaans: [Ver Referencia API](./referencia-api.md)
^linktekst vertaald ^bestandsnaam ook vertaald
Beide moeten bestaan en correct linken!
4. Documentatie evolueert—vertalingen ook
Dag 1: Vertaal README.md (Engels → Spaans)
Dag 15: Engelstalige README.md bijgewerkt (nieuwe functie toegevoegd)
Probleem: Spaanse versie is nu verouderd!
Workflow nodig om vertaalupdates te volgen en te synchroniseren.
Impact in de echte wereld
Succesverhaal: Vue.js
- Documentatie vertaald naar 10+ talen
- Chinese vertaling cruciaal voor adoptie in Azië
- Community-gedreven vertaalworkflow via GitHub
- Resultaat: 40% van npm-downloads uit Azië, enorme Chinese gemeenschap
Succesverhaal: React
- Officiële vertalingen in 30+ talen beheerd door community
- Aparte repos voor elke taal (react.dev, zh-hans.react.dev, es.react.dev)
- Vertaalgids en automatiseringstools voorzien
- Resultaat: Wereldwijde adoptie door developers, bijdragen uit 100+ landen
Succesverhaal: Rust-programmeertaal
- "The Rust Book" vertaald naar 15+ talen
- Community onderhoudt vertalingen via mdBook
- Japanse vertaling leidde tot 300% stijging in Japanse Rust-developers
- Actieve vertaalteams houden docs gesynchroniseerd met Engelse updates
Mislukking: Verlaten vertalingen Veel open-source projecten hebben verouderde vertalingen:
- Franse README voor het laatst 2 jaar geleden bijgewerkt
- Engelstalige README wekelijks bijgewerkt
- Resultaat: Franse developers in de war, verlaten project of worstelen met verouderde info
Markdown-grondbeginselen voor vertaling
Kern Markdown-elementen
Koppen:
# Kop 1
## Kop 2
### Kop 3
Vertaal tekst, behoud symbolen:
# Installation → # Installatie
## Quick Start → ## Snelle start
Benadrukking:
**vette tekst** → **vette tekst**
*schuine tekst* → *schuine tekst*
~~doorstreping~~ → ~~doorstreping~~
Behoud markdown-syntax exact zoals het is.
Lijsten:
Ongeordend:
- Item één
- Item twee
- Genest item
Geordend:
1. Eerste stap
2. Tweede stap
3. Derde stap
Vertaal inhoud, behoud structuur:
- Eerste item
- Tweede item
- Genest item
Links:
[Linktekst](url)
[Documentatie](https://example.com/docs)
Vertaal tekst, behoud URL (tenzij je ook de gelinkte pagina vertaalt):
[Documentatie](https://example.com/docs)
Of als Spaanse docs bestaan:
[Documentatie](https://example.com/nl/docs)
Afbeeldingen:


Vertaal alt-tekst en titel:

Bestandsnaam van afbeelding blijft meestal hetzelfde (gedeelde bron).
Codeblokken:
Inline code: Gebruik `npm install` om pakketten te installeren.
Vertaal proza, behoud code: Gebruik npm install om pakketten te installeren.
Omheinde codeblokken:
function greet(name) {
console.log(`Hello, ${name}!`);
}
NOOIT code binnen hekken vertalen. Hou exact zoals het is.
**Tabellen:**
```markdown
| English | Spanish | French |
|---------|---------|--------|
| Hello | Hola | Bonjour|
| Goodbye | Adiós | Au revoir|
Vertaal inhoudscellen, behoud structuur:
| Engels | Spaans | Frans |
|---------|---------|--------|
| Hello | Hola | Bonjour|
| Goodbye | Adiós | Au revoir|
Geavanceerde Markdown-functies
Citaatblokken:
> Dit is belangrijke informatie die gebruikers moeten weten.
Vertaal inhoud, behoud > symbool:
> Dit is belangrijke informatie die gebruikers moeten weten.
Horizontale regels:
---
of
***
of
___
Ongewijzigd houden (visuele scheider, geen tekst).
HTML in Markdown:
<div class="warning">
Wees voorzichtig bij het gebruik van deze functie!
</div>
HTML-tags behouden, inhoud vertalen:
<div class="warning">
Wees voorzichtig bij het gebruik van deze functie!
</div>
Voetnoten:
Hier is een verwijzing naar een voetnoot[^1].
[^1]: Dit is de inhoud van de voetnoot.
Zowel de verwijzingscontext als de voetnoottekst vertalen:
Hier is een verwijzing naar een voetnoot[^1].
[^1]: Dit is de inhoud van de voetnoot.
Vertalingsworkflow voor Markdown-documentatie
Optie 1: Afzonderlijke bestanden per taal (Aanbevolen)
Mapstructuur:
docs/
├── nl/
│ ├── README.md
│ ├── installatie.md
│ ├── api-referentie.md
│ └── probleemoplossing.md
├── en/
│ ├── README.md
│ ├── installation.md
│ ├── api-reference.md
│ └── troubleshooting.md
├── es/
│ ├── README.md
│ ├── instalacion.md
│ ├── referencia-api.md
│ └── solucion-problemas.md
├── fr/
│ ├── README.md
│ ├── installation.md
│ ├── reference-api.md
│ └── depannage.md
└── zh/
├── README.md
├── installation.md
├── api-reference.md
└── troubleshooting.md
Voordelen: ✅ Schone scheiding (geen gemengde talen) ✅ Elke taal kan een andere bestandstructuur hebben indien nodig ✅ Makkelijk te zien welke bestanden zijn vertaald ✅ Eenvoudig linken binnen dezelfde taal
Nadelen: ❌ Moeilijker om bij te houden welke vertalingen verouderd zijn ❌ Meer bestanden om te beheren
Optie 2: Gebaseerd op achtervoegsel (Alternatief)
Mapstructuur:
docs/
├── README.md (Engels standaard)
├── README.nl.md (Nederlands)
├── README.es.md (Spaans)
├── README.fr.md (Frans)
├── README.zh.md (Chinees)
├── installation.md
├── installation.nl.md
├── installation.es.md
├── installation.fr.md
└── installation.zh.md
Voordelen: ✅ Vertaalde bestanden naast bron (makkelijker om ontbrekende vertalingen te zien) ✅ Alfabetisch gesorteerd op basismnaam
Nadelen: ❌ Wordt rommelig met veel talen ❌ Moeilijker om taal-specifieke documentatie te doorzoeken
Oordeel: Gebruik afzonderlijke mappen voor projecten met uitgebreide documentatie.
Stapsgewijze vertaalproces
Stap 1: Stel vertalingsmapstructuur in
# Maak taalmappen
mkdir -p docs/nl docs/fr docs/zh
# Kopieer Engelse structuur naar nieuwe taal
cp -r docs/en/* docs/nl/
# Nu vertaal elk bestand in docs/nl/
Stap 2: Maak vertalingsstatus bijhouden
translation-status.md:
# Vertalingsstatus
## Nederlands (nl)
| Bestand | Status | Laatst bijgewerkt | Vertaalster |
|---------|--------|-------------------|-------------|
| README.md | ✅ Actueel | 2025-01-25 | @vertaler1 |
| installatie.md | ⚠️ Verouderd | 2025-01-10 | @vertaler1 |
| api-referentie.md | ❌ Nog niet begonnen | - | - |
## Frans (fr)
| Bestand | Status | Laatst bijgewerkt | Vertaalster |
|---------|--------|-------------------|-------------|
| README.md | ✅ Actueel | 2025-01-22 | @vertaler2 |
| installation.md | ✅ Actueel | 2025-01-22 | @vertaler2 |
Of gebruik geautomatiseerde tools (later besproken).
Stap 3: Vertaal met behoud van codeblokken
Origineel (en/installation.md):
# Installation
## Prerequisites
- Node.js 18+
- npm or yarn
## Install via npm
Run the following command in your terminal:
```bash
npm install awesome-library
Verify Installation
Create a test file test.js:
const awesome = require('awesome-library');
console.log(awesome.version);
Run it:
node test.js
You should see the version number printed.
**Vertaald (nl/installatie.md):**
```markdown
# Installatie
## Vereisten
- Node.js 18+
- npm of yarn
## Installeren via npm
Voer het volgende commando uit in je terminal:
```bash
npm install awesome-library
Installatie controleren
Maak een testbestand test.js:
const awesome = require('awesome-library');
console.log(awesome.version);
Voer het uit:
node test.js
Je zou het versienummer moeten zien.
**Wat is veranderd:**
- Koppen vertaald
- Proza vertaald
- Codeblokken ONGEWIJZIGD (bash-commando's, JavaScript-code)
- Inline code ONGEWIJZIGD (`test.js`, npm-pakketnamen)
- Bestandsstructuur behouden
**Stap 4: Update interne links**
**Engels (en/README.md):**
```markdown
Zie [Installatiehandleiding](./installatie.md) voor installatie-instructies.
Controleer de API-referentie voor gedetailleerde documentatie.
Nederlands (nl/README.md):
Bekijk de [Installatiehandleiding](./installatie.md) voor configuratie-instructies.
Nu, detecteer de brontaal en herschrijf de volgende inhoud naar het Nederlands:
Spaans (es/README.md):
Raadpleeg de [Installatiegids](./installatie.md) voor configuratie-instructies.
Bekijk de [API-referentie](./referentie-api.md) voor gedetailleerde documentatie.
Kritisch:
- Linktekst vertaald
- Link-URL bijgewerkt naar Spaanse bestandsnaam
- Spaanse bestanden moeten daadwerkelijk bestaan!
Stap 5: Commit naar Git
git add docs/es/
git commit -m "Add Spanish translation of installation docs"
git push origin main
Het omgaan met speciale gevallen
1. Code-opmerkingen in codeblokken
Moet je opmerkingen vertalen?
## Voorbeeld
```javascript
// Initialiseer de applicatie
const app = createApp();
// Start de server op poort 3000
app.listen(3000);
**Optie A: Houd code-opmerkingen in het Engels**
```javascript
// Initialize the application
const app = createApp();
// Start the server on port 3000
app.listen(3000);
Voordelen: Universeel (ontwikkelaars lezen Engelse opmerkingen) Nadelen: Minder toegankelijk voor beginners
Optie B: Vertaal code-opmerkingen
// Applicatie initialiseren
const app = createApp();
// Server starten op poort 3000
app.listen(3000);
Voordelen: Toegankelijker voor niet-Engelstalige ontwikkelaars Nadelen: Code is niet meer direct kopieerbaar (mix van talen)
Aanbeveling: Houd Engels voor productiecode-voorbeelden. Vertaal voor tutorial/leren-inhoud waar begrip > kopiëren-plakken.
2. Variabelen- en functienamen
Nooit vertalen in code:
// FOUT - Niet vertalen variabelennamen
function verkrijgGebruiker(gebruikerId) {
return database.zoek(gebruikerId);
}
// GOED - Houd code in het Engels
function getUser(userId) {
return database.find(userId);
}
Uitzondering: Pseudocode of conceptuele voorbeelden
Engels:
if user is logged in: show dashboard else: redirect to login
Nederlands (acceptabel voor pseudocode):
als gebruiker is ingelogd: toon dashboard anders: doorsturen naar login
3. Opdrachtregelvoorbeelden
Vertaal beschrijvingen, niet commando's:
Engels:
## Genereer een Nieuw Component
Gebruik de CLI om een component te maken:
```bash
npx create-component MyComponent
Dit creëert een nieuw component in src/components/MyComponent/.
Nederlands:
Nieuw Component Genereren
Gebruik de CLI om een component te maken:
npx create-component MyComponent
Dit creëert een nieuw component in src/components/MyComponent/.
**Commando's blijven Engels, uitleg vertalen.**
### 4. API-eindpunt-URL's
**Houd URL's ongewijzigd:**
```markdown
Engels:
### Gebruikersprofiel Ophalen
GET /api/v1/users/:id
Nederlands:
### Gebruikersprofiel Ophalen
GET /api/v1/users/:id
Niet: `GET /api/v1/gebruikers/:id` (zou de API breken!)
5. Omgevingsvariabelen en configuratie
Houd variabelennamen, vertaal beschrijvingen:
Engels:
Stel je API-sleutel in:
```bash
export API_KEY=your_key_here
Nederlands: Configureer je API-sleutel:
export API_KEY=jouw_sleutel_hier
API_KEY blijft Engels (omgevingsvariabelenaam).
your_key_here → jouw_sleutel_hier (voorbeeldwaarde, kan vertalen).
### 6. Badge-links en shields
**Veelvoorkomend in README.md-bestanden:**
```markdown
Engels:
[](https://travis-ci.org/user/repo)
[](https://www.npmjs.com/package/awesome-lib)
Nederlands: Houd badges zoals ze zijn
(Ze zijn automatisch van externe services, taal-onafhankelijk)
Of als je vertaalde tekst-badges wilt:
[](https://travis-ci.org/user/repo)
Meestal: Houd Engelse badges (ontwikkelaars verwachten ze, status is universeel).
Automatisering en tooling
Vertalingbeheersystemen voor Markdown
1. Crowdin
Functies:
- GitHub/GitLab-integratie
- Markdown-bestandsondersteuning
- Behoudt codeblokken automatisch
- Communityvertaling (bijdragers vertalen via web-UI)
- Vertaalgeheugen
Workflow:
1. Verbind Crowdin met GitHub-repo
2. Crowdin detecteert nieuwe/gewijzigde bestanden in docs/en/
3. Vertalers vertalen via Crowdin-webinterface
4. Crowdin dient pull request in met vertalingen
5. Controleer en merge
Prijs: Gratis voor open-source, $40/maand+ voor commercieel
2. Lokalise
Functies:
- Vergelijkbaar met Crowdin
- Betere API voor automatisering
- Markdown-ondersteuning
- CLI-tool voor sync
Workflow:
# Upload bronnenvbestanden
lokalise2 file upload --lang-iso en --file docs/en/README.md
# Download vertalingen
lokalise2 file download --lang-iso nl --dest docs/nl/
Prijs: $120/maand+
3. Transifex
Functies:
- Open-source vriendelijk
- Markdown-ondersteuning
- Vertaalbeoordelingen
- Kwaliteitscontroles
Prijs: Gratis voor open-source, $30/maand+ voor commercieel
Git-gebaseerde vertaalworkflows
Aanpak: Afzonderlijke branches voor vertalingen
# Hoofdbranch: Engelse documentatie
git checkout main
# Maak vertaalbranch aan
git checkout -b translate/spanish
# Vertaal bestanden
# ...
# Commit
git add docs/es/
git commit -m "Voeg Spaanse vertaling toe"
# Push en maak PR aan
git push origin translate/spanish
# Open pull request op GitHub
Voordelen:
- Vertalers werken onafhankelijk
- Reviewproces via PR
- Volg vertalingen als features
Aanpak: Vertalingstracking met Git-metadata
en/installation.md:
<!--
Laatst bijgewerkt: 2025-01-25
Vertaling status:
- es: 2025-01-20 (verouderd)
- fr: 2025-01-24 (actueel)
- zh: nog niet begonnen
-->
# Installatie
...
Geautomatiseerd script kan deze commentaren controleren en verouderde vertalingen markeren.
Geautomatiseerde detectie van vertalingsupdates
Script om verouderde vertalingen te detecteren:
import os
from datetime import datetime
def check_translation_status(base_dir="docs"):
languages = ['en', 'es', 'fr', 'zh']
base_lang = 'en'
for lang in languages:
if lang == base_lang:
continue
en_dir = os.path.join(base_dir, base_lang)
lang_dir = os.path.join(base_dir, lang)
for file in os.listdir(en_dir):
if not file.endswith('.md'):
continue
en_file = os.path.join(en_dir, file)
lang_file = os.path.join(lang_dir, file)
if not os.path.exists(lang_file):
print(f"⚠️ {lang}/{file} - Niet vertaald")
continue
en_modified = os.path.getmtime(en_file)
lang_modified = os.path.getmtime(lang_file)
if en_modified > lang_modified:
print(f"❌ {lang}/{file} - Verouderd (EN bijgewerkt na vertaling)")
else:
print(f"✅ {lang}/{file} - Actueel")
check_translation_status()
Uitvoeren als GitHub Action:
# .github/workflows/check-translations.yml
name: Controleer vertalingstatus
on:
push:
paths:
- 'docs/**'
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Controleer vertalingen
run: python scripts/check-translations.py
- name: Commentaar op PR
if: github.event_name == 'pull_request'
run: |
python scripts/check-translations.py > translation-status.txt
gh pr comment ${{ github.event.number }} --body-file translation-status.txt
AI-ondersteunde Markdown-vertaling
AI Trans voor markdown-documentatie:
Functies:
- Behoudt codeblokken automatisch
- Behoudt markdown-syntax
- Houdt links intact
- Snel (vertaal gehele documentatie in minuten)
Workflow:
# Vertaal README.md van Engels naar Spaans
ai-translator translate \
--input docs/en/README.md \
--output docs/es/README.md \
--source en \
--target es \
--format markdown
# Batch-vertaal alle bestanden
for file in docs/en/*.md; do
filename=$(basename "$file")
ai-translator translate \
--input "$file" \
--output "docs/es/$filename" \
--source en \
--target es \
--format markdown
done
Prijs: $10 voor 1M karakters (Standaard) of $50 voor 10M karakters (Business) Gratis Starter Pack: 100.000 karakters om te testen Typische kostenvoorbeelden:
- Kleine documentatie (50K karakters): $0,50
- Middelgrote documentatie (200K karakters): $2
- Grote documentatie (1M karakters): $10
Best practice: AI vertalen → menselijke review → commit
Opbouwen van meertalige documentatiesites
Docusaurus (gebaseerd op React)
Installatie:
npx create-docusaurus@latest my-docs classic
cd my-docs
i18n-configuratie (docusaurus.config.js):
module.exports = {
i18n: {
defaultLocale: 'en',
locales: ['en', 'es', 'fr', 'zh'],
localeConfigs: {
en: { label: 'English' },
es: { label: 'Español' },
fr: { label: 'Français' },
zh: { label: '中文' }
}
},
// ...
};
Mapstructuur:
docs/
├── intro.md (Engels standaard)
├── installation.md
i18n/
├── es/
│ └── docusaurus-plugin-content-docs/
│ └── current/
│ ├── intro.md (Spaans)
│ └── installation.md
├── fr/
│ └── docusaurus-plugin-content-docs/
│ └── current/
│ ├── intro.md (Frans)
│ └── installation.md
Build:
# Bouw alle talen
npm run build
# Bouw specifieke taal
npm run build -- --locale es
Resultaat: Automatische taalschakelaar, SEO-geoptimaliseerde meertalige site.
VuePress (gebaseerd op Vue)
i18n-configuratie (.vuepress/config.js):
module.exports = {
locales: {
'/': {
lang: 'en-US',
title: 'My Documentation',
description: 'Documentation for awesome library'
},
'/es/': {
lang: 'es-ES',
title: 'Mi Documentación',
description: 'Documentación para awesome library'
},
'/fr/': {
lang: 'fr-FR',
title: 'Ma Documentation',
description: 'Documentatie voor awesome library'
}
},
themeConfig: {
locales: {
'/': {
selectText: 'Talen',
label: 'Engels',
nav: [
{ text: 'Handleiding', link: '/guide/' },
{ text: 'API', link: '/api/' }
]
},
'/es/': {
selectText: 'Idiomas',
label: 'Español',
nav: [
{ text: 'Guía', link: '/es/guide/' },
{ text: 'API', link: '/es/api/' }
]
}
}
}
};
**Directory:**
docs/ ├── README.md (Engels) ├── guide/ │ └── installation.md ├── es/ │ ├── README.md (Spaans) │ └── guide/ │ └── installation.md └── fr/ ├── README.md (Frans) └── guide/ └── installation.md
### MkDocs (Python-gebaseerd)
**Installeren met i18n-plugin:**
```bash
pip install mkdocs mkdocs-static-i18n
mkdocs.yml:
plugins:
- i18n:
default_language: en
languages:
en: English
es: Español
fr: Français
material_alternate: true
nav:
- Home: index.md
- Installation: installation.md
- API Reference: api.md
Directory:
docs/
├── index.md (Engels standaard)
├── index.es.md (Spaans)
├── index.fr.md (Frans)
├── installation.md
├── installation.es.md
├── installation.fr.md
Build:
mkdocs build
Resultaat: Genereert site/ met taalschakelaar.
GitHub Pages Deployment
Multilingual Docusaurus-site deployen:
# .github/workflows/deploy.yml
name: Deploy Documentation
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Install dependencies
run: npm install
- name: Build website
run: npm run build
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build
Toegang:
- Engels: https://youruser.github.io/yourrepo/
- Spaans: https://youruser.github.io/yourrepo/es/
- Frans: https://youruser.github.io/yourrepo/fr/
Best Practices en Valstrikken
Best Practices
1. Begin met pagina's met hoge impact
Prioriteer:
1. README.md (eerste wat gebruikers zien)
2. Installation/Getting Started (blokkeert adoptie)
3. API Reference (ontwikkelaars hebben dit nodig)
4. Contributing Guide (voor internationale bijdragers)
Overslaan aanvankelijk:
- Changelogs (minder kritisch)
- Verouderde docs
- Interne ontwikkelaarsnotities
2. Houd een vertaalstijlhandleiding aan
# Vertaalstijlhandleiding - Spaans
## Terminologie
- "library" → "biblioteca" (niet "librería" wat boekwinkel betekent)
- "framework" → behoud als "framework" (breed begrepen)
- "deploy" → "desplegar" (niet "implementar")
## Toon
- Gebruik formele "usted" voor technische docs
- Gebruik informele "tú" voor tutorials/handleidingen
- Wees bondig (Spaans is gemiddeld 20% langer dan Engels)
## Code
- Vertaal nooit codeblokken
- Houd technische termen in het Engels als ze breed gebruikt worden
3. Versieer je vertalingen
README.md:
<!--
Translation: Spanish
Source version: v2.5.0
Translated: 2025-01-25
Translator: @username
-->
# Instalación
...
Dit helpt bij het bijhouden wanneer vertalingen achterlopen.
4. Stimuleer bijdragen van de gemeenschap
## Bijdragen aan Vertalingen
We verwelkomen vertalingen! Om bij te dragen:
1. Fork deze repository
2. Maak `docs/[language-code]/` directory
3. Vertaal bestanden van `docs/en/`
4. Dien een pull request in
Vertaalhandleiding: [TRANSLATION.md](./TRANSLATION.md)
Veelvoorkomende Valstrikken
Valstrik 1: Vertalen van URL's en bestandspaden
❌ FOUT:
[Zie installatie](./instalación.md)
# Bestand bestaat niet (heeft accenten)
✅ GOED:
[Zie installatie](./instalacion.md)
# Bestand: instalacion.md (geen accenten in bestandsnaam)
Valstrik 2: Relatieve links breken
Engels: docs/en/guide.md linkt naar: ../assets/image.png
Spaans: docs/es/guia.md moet linken naar: ../assets/image.png (zelfde pad!)
Als Spaanse vertaler schrijft: ./assets/image.png (defect!)
Valstrik 3: Alt-tekst van afbeeldingen vergeten

Moet zijn:

Spaans:

Alt-tekst is belangrijk voor toegankelijkheid!
Valstrik 4: Inconsistente terminologie
Pagina 1: "servidor" (server)
Pagina 3: "server" (in Engels gehouden)
Pagina 5: "servidor" weer
Kies er één en houd je eraan! Gebruik een glossarium.
Succes Meten
Te Volgen Metrics
1. Documentatiegebruik per taal
Google Analytics (documentatiesite):
- Verkeer per taal (es, fr, de, etc.)
- Tijd op pagina (hoger = beter begrip)
- Bounce rate (lager voor moedertaal-docs)
Voorbeeld:
Engelse docs: 70% van gebruikers
Spaanse docs: 15% van gebruikers (maar groeiend!)
Franse docs: 10% van gebruikers
Overig: 5%
2. GitHub-inzichten
GitHub Issues:
- Aantal issues ingediend in elke taal
- Reactietijd op niet-Engelstalige issues
Pull Requests:
- Bijdragen uit niet-Engelstalige landen
- Na Spaanse docs: +40% bijdragen van LATAM-ontwikkelaars
Stars/Forks:
- Groei volgen na vertaalreleases
3. Communitygroei
Discord/Slack:
- Activiteit in taal-specifieke kanalen
- Vragen in moedertalen
Stack Overflow:
- Vragen getagd met je bibliotheek in verschillende talen
4. npm/PyPI-downloads per regio
npm downloadstatistieken per land:
Voor Chinese vertaling:
- China: 5% van downloads
Na Chinese vertaling:
- China: 22% van downloads (4,4x groei!)
Kosten en ROI
Vertalingsinvestering
Kleine open-source bibliotheek (5.000 woorden docs):
Professionele vertaling:
Vertaling: 5.000 × $0,08 = $400 per taal
Review: $100
Totaal per taal: $500
3 talen (es, fr, zh): $1.500
AI-ondersteunde vertaling:
AI-vertaling (AI Trans): 5.000 woorden × 6 tekens gem = 30.000 tekens = $0,30
Technische reviewer: 5 uur × $75 = $375
Totaal per taal: $375,30
3 talen: $1.126 (bespaart 25%)
Community-bijdragen (gratis maar langzamer):
Crowdin opzetten: Gratis voor open-source
Vertalingen: Gratis (community-vrijwilligers)
Reviewtijd: Jouw tijd (5-10 uur per taal)
3 talen: $0 monetaire kosten, 15-30 uur tijdsinvestering
ROI voor Open-Source Projecten
ROI is niet altijd monetair—het is communitygroei:
Metrieken voor Spaanse/Chinese vertalingen:
- Maandelijkse npm-downloads: 50.000
- GitHub stars: 2.500
- Bijdragers: 40 (voornamelijk VS/Europa)
6 maanden na vertalingen:
- Maandelijkse npm-downloads: 120.000 (140% groei)
- GitHub stars: 6.800 (172% groei)
- Bijdragers: 95 (55 nieuw uit LATAM/Azië)
Communitywaarde: Onbetaalbaar
Kosten: $1.500 voor AI-ondersteund + review
Tools en Bronnen
Vertalingstools
AI Trans
- Behoudt markdown-opmaak automatisch
- Houdt codeblokken intact (vertalt nooit code)
- Behoudt linkstructuur
- $10 per 1M tekens (Standard) of $50 per 10M tekens (Business)
- Gratis 100K tekens starterpakket
- 57 talen ondersteund
DeepL API
- Hoge kwaliteit voor Europese talen
- Markdown-ondersteuning met preprocessing
- $25 per miljoen tekens + $5,49/maand abonnement
Google Cloud Translation
- 133 talen
- Goed voor brede taaldekking
- $20 per miljoen tekens
- Geen markdown-begrip (vereist preprocessing)
Markdown-linting en validatie
markdownlint
- Valideert markdown-syntax
- Zorgt voor consistente opmaak
- CLI en editor-plugins
npm install -g markdownlint-cli
markdownlint docs/es/*.md
markdown-link-check
- Valideert alle links in markdown-bestanden
- Vangt kapotte relatieve links op
npm install -g markdown-link-check
markdown-link-check docs/es/README.md
Documentatiesitebouwers
Docusaurus (React)
- Beste voor: React-ontwikkelaars, moderne SPA-docs
- i18n ingebouwd
- Gratis
VuePress (Vue.js)
- Beste voor: Vue-ontwikkelaars
- Eenvoudige setup
- Gratis
MkDocs (Python)
- Beste voor: Python-projecten
- Minimale configuratie
- Gratis
GitBook
- Beste voor: Niet-ontwikkelaars (GUI-editor)
- Gehoste oplossing
- Gratis voor open-source
Conclusie
Het vertalen van markdown-documentatie is een van de meest impactvolle bijdragen die je kunt leveren aan de wereldwijde developer-community. Door je project toegankelijk te maken in meerdere talen, ontgrendel je adoptie door miljarden niet-Engelstalige ontwikkelaars en stimuleer je diverse, internationale samenwerking.
Belangrijkste takeaways:
- Behoud codeblokken, markdown-syntax en linkstructuur
- Gebruik aparte directories per taal voor schone organisatie
- Automatiseer vertaal-synchronisatie met Git-workflows
- Gebruik AI-vertaling + menselijke review voor kosteneffectieve kwaliteit
- Bouw meertalige sites met Docusaurus, VuePress of MkDocs
- Volg vertalingen met metadata en geautomatiseerde checks
- Stimuleer community-bijdragen voor duurzame vertaling
Moderne AI-tools zoals AI Trans kunnen vertaalingskosten met 70-90% verminderen terwijl alle kritische markdown-elementen zoals codeblokken, links en opmaak behouden blijven. De optimale workflow: AI vertaalt initiële documentatie (minuten, geen weken), technische reviewers zorgen voor nauwkeurigheid en consistentie, dan helpt de community bij het onderhouden van updates.
Typische documentatievertaalkosten:
- Klein project (50K tekens): $0,50 met AI Trans vs. $400 menselijke vertaling
- Middelgroot project (200K tekens): $2 met AI Trans vs. $1.600 menselijke vertaling
- Groot project (1M tekens): $10 met AI Trans vs. $8.000 menselijke vertaling
Tijdwinst: 95%+ (minuten vs. weken)
Of je nu een kleine utility-bibliotheek onderhoudt of een groot open-source framework, vertaalde documentatie verwijdert taalbarrières en verwelkomt ontwikkelaars wereldwijd in je project.
Klaar om je documentatie te vertalen? Begin met het vertalen van je markdown-docs met de code-behoudende vertaalengine van AI Trans en bereik ontwikkelaars wereldwijd.