Vertaalgids

Deze site bestaat in het Nederlands, Frans en Engels. Deze pagina legt uit hoe de vertalingen in elkaar zitten, zodat je ze kan onderhouden zonder de structuur te breken.

Hoe de talen opgeslagen zijn

Elke pagina heeft één bestand per taal, in dezelfde map:

content/sessions/python/01-catch-the-stars/_index.md      ← Nederlands (standaardtaal)
content/sessions/python/01-catch-the-stars/_index.en.md   ← Engels
content/sessions/python/01-catch-the-stars/_index.fr.md   ← Frans
  • Nederlands staat op de root (/sessions/...), Frans en Engels onder /fr/ en /en/ met hetzelfde pad.
  • Ontbreekt een vertaling, dan toont de taalwissel die taal wel, maar brengt hij je naar de homepagina van die taal. Er is dus nooit een dode link.
  • Voeg je een nieuwe pagina toe? Maak dan meteen de drie bestanden aan. title, weight, hidden en description horen in elke taal te staan; weight en hidden blijven identiek.

Wat je niet vertaalt

  • Code-identifiers (basket, star, ship, score) blijven Engels, want ze staan in het Python-bestand.
  • Bestandsnamen (star.png, boom.wav, starter.zip) blijven taalneutraal.
  • Productnamen: Pygame, Pgzéro/Pgzero, Thonny, PyCharm, VS Code, uv, Python, Git, GitHub, pygbag.
  • Dojo-termen die we als leenwoord gebruiken: ninja, coach, dojo, cheatsheet, cliffhanger, starter, checkpoint, Dojo Defender.

Wat je wel vertaalt

  • Alle prozatekst, koppen, titels en description-velden.
  • Commentaar en docstrings in codeblokken; identifiers en strings die het programma echt nodig heeft, blijven staan.
  • Labels van de interactieve demo’s (schuifbalken, canvas-teksten).
  • Coach-notities en de “neem mee naar huis”-suggesties.

Vaste termen

NederlandsEngelsFrans
sessiesessionsession
uitdagingchallengedéfi
werkbladworksheetfiche de travail
oplossingsolutionsolution
bronnenresourcesressources
installerensetupinstallation
coach-notitiescoach notesnotes du coach
Wat je vandaag leertWhat you’ll learn todayCe que tu vas apprendre aujourd’hui
Neem mee naar huisTake it homeÀ emporter chez toi
Vastgelopen?Stuck?Bloqué ?
Tot de volgende keer!See you next time!À la prochaine !

Toon: Nederlands gebruikt “je”, Engels “you”, Frans “tu” (tutoiement) — de teksten zijn voor ninja’s van 10 tot 17 jaar.

  • Links naar andere pagina’s gebruik je als {{% relref "/sessions/python/01-catch-the-stars" %}}, zodat ze automatisch de juiste taal volgen.
  • Links naar bestanden in static/ (afbeeldingen, demo-JS, ZIP’s) zijn absoluut en taalneutraal.
  • ZIP’s met code bestaan per taal: starter.zip (Nederlands), starter.en.zip en starter.fr.zip. Elke taalpagina linkt naar zijn eigen ZIP. Asset-pakketten zonder code (images.zip, fruits.zip) hebben geen taalvariant.

Code per taal

De broncode staat in code/. Commentaar is Nederlands; de vertalingen staan als main.en.py en main.fr.py naast het origineel. Bij het bouwen van de ZIP’s wordt <naam>.<taal>.py hernoemd naar <naam>.py en vallen de varianten van andere talen weg. make zips regelt dat.

Interactieve demo’s

Elke demo-JS in static/sessions/ heeft bovenaan een STRINGS-tabel met Nederlands, Engels en Frans. De taal komt uit het lang-attribuut van de pagina; zonder tabel of onbekende taal valt de demo terug op Nederlands.

Controle voor je pusht

make build

De build faalt op een kapotte relref. Loop daarna de drie talen van de gewijzigde pagina na: titel, koppen, links en downloads moeten alle drie hetzelfde werken.