{
  "_meta": {
    "locale": "nl",
    "status": "machine-draft",
    "note": "Volledige Nederlandse vertaling (AI-concept, informele aanspreekvorm 'je/jij'). Laat dit nakijken door een moedertaalspreker voor marketingcampagnes, conform de kwaliteitsrichtlijn voor vertalingen. Zonder kastlijntjes (em dash), conform de CONCORD-richtlijnen. Variabelen en eigennamen blijven ongewijzigd. Wens je formeel 'u', dan is dat een eenvoudige, consistente aanpassing."
  },
  "site": {
    "name": "ronutz",
    "tagline": "Netwerk- en beveiligingstools die op jouw machine draaien, niet in de cloud van iemand anders."
  },
  "nav": {
    "tools": "Tools",
    "about": "Over",
    "certifications": "Certificeringen",
    "training": "Trainingen",
    "contact": "Contact",
    "skipToContent": "Naar inhoud springen",
    "openMenu": "Menu openen",
    "closeMenu": "Menu sluiten",
    "learn": "Leren",
    "endorsements": "Aanbevelingen",
    "certs": "Certificeringen"
  },
  "languageSwitcher": {
    "label": "Taal",
    "stubNotice": "Deze taal is nog niet vertaald. Engels wordt getoond."
  },
  "home": {
    "hero": {
      "eyebrow": "Door een vakman gebouwd, privacy eerst",
      "title": "De netwerk- en beveiligingstoolbox die jouw data op jouw machine houdt.",
      "subtitle": "Subnetberekeningen, DNS- en e-maildiagnostiek, certificaatinspectie en meer, lokaal berekend in je browser. Geen upload, geen logging, geen account nodig voor de dagelijkse tools.",
      "ctaPrimary": "Open de toolbox",
      "ctaSecondary": "Wie bouwt dit"
    },
    "credibility": {
      "title": "Gebouwd door iemand die het werk al sinds 1996 doet.",
      "body": "Dertig jaar in enterprise-netwerken en -beveiliging, geleverd door een actieve trainer in plaats van een marketingpagina. Gecertificeerd op vier platforms, zodat de vergelijkingen hier eerlijk worden gemaakt, niet verkocht.",
      "aboutCta": "Meer over de persoon erachter"
    },
    "pillars": {
      "title": "Vier platforms, onderwezen en actueel gehouden.",
      "f5": "F5",
      "fortinet": "Fortinet",
      "extreme": "Extreme Networks",
      "netskope": "Netskope"
    },
    "privacy": {
      "title": "Waarom local-first belangrijk is voor beveiligingswerk.",
      "body": "Wanneer je een configuratie, een packet capture of een certificaat in een tool plakt, bevatten die gegevens vaak geheimen. Hier draaien de dagelijkse tools volledig in je browser. De invoer verlaat nooit je apparaat, dus er is niets om te loggen, te lekken of op te vragen."
    },
    "toolPreview": {
      "title": "Probeer nu een tool.",
      "body": "De CIDR-calculator hieronder draait lokaal. Voer een netwerk en een prefix in om het adresbereik, het aantal hosts en het masker te zien. Er wordt niets ergens naartoe gestuurd.",
      "learnHeading": "Leer de concepten",
      "toolboxCta": "Open de volledige toolbox",
      "seeAllArticles": "Alle artikelen bekijken"
    },
    "provenance": {
      "title": "Credits en bronnen",
      "show": "Tonen",
      "hide": "Verbergen",
      "basisLabel": "Hoe het werkt",
      "sourcesLabel": "Standaarden en bronnen"
    },
    "funding": {
      "title": "Steun deze tool",
      "pitch": "Deze tool is gratis en is gebouwd om dat te blijven. Als hij een plek verdient in je workflow, kun je helpen het onderhoud en wat erna komt te financieren.",
      "purposeLabel": "Wordt nu gefinancierd"
    },
    "stats": {
      "tools": "Tools",
      "articles": "Artikelen",
      "sectionLabel": "De toolbox in het kort"
    }
  },
  "tools": {
    "cidr": {
      "title": "CIDR-calculator",
      "description": "Bereken de netwerk- en broadcastadressen, het bruikbare hostbereik, het aantal hosts en het netmasker voor een IPv4-CIDR-blok. Draait lokaal in je browser.",
      "inputLabel": "CIDR-blok",
      "inputPlaceholder": "192.168.1.0/24",
      "compute": "Berekenen",
      "runsLocally": "Draait lokaal. Er wordt niets naar een server gestuurd.",
      "prefixSlider": "Prefixlengte",
      "bitsHeading": "Adresbits",
      "bitsNetwork": "Netwerk",
      "bitsHost": "Host",
      "bitsNote": "De gemarkeerde bits bepalen het netwerk — de rest adresseert hosts daarbinnen.",
      "results": {
        "network": "Netwerkadres",
        "broadcast": "Broadcastadres",
        "netmask": "Netmasker",
        "wildcard": "Wildcard-masker",
        "firstHost": "Eerste bruikbare host",
        "lastHost": "Laatste bruikbare host",
        "totalAddresses": "Totaal aantal adressen",
        "usableHosts": "Bruikbare hosts"
      },
      "errors": {
        "empty": "Voer een CIDR-blok in om te berekenen.",
        "invalid": "Dat ziet er niet uit als een geldig CIDR-blok. Probeer een formaat zoals 192.168.1.0/24."
      },
      "name": "CIDR-/subnetcalculator",
      "blurb": "Splits een willekeurig IPv4-CIDR-blok uit in netwerk- en broadcastadressen, bruikbaar hostbereik, aantal hosts en netmasker. Draait volledig in je browser.",
      "modes": {
        "subnet": "Subnet",
        "vlsm": "VLSM",
        "supernet": "Supernet",
        "overlap": "Overlap / gat"
      },
      "modeDesc": {
        "subnet": "Analyseert één IPv4-CIDR-blok: netwerk, broadcast, masker en hostbereik.",
        "vlsm": "Verdeelt een bovenliggend blok in subnetten van variabele lengte op basis van een lijst met hostaantallen.",
        "supernet": "Vat een lijst met prefixes samen tot de kleinste set dekkende blokken.",
        "overlap": "Vindt overlappingen en insluiting tussen prefixes, plus gaten binnen een optioneel bereik."
      },
      "vlsm": {
        "parentLabel": "Bovenliggend blok",
        "reqsLabel": "Subneteisen",
        "namePlaceholder": "Naam (optioneel)",
        "hostsPlaceholder": "Hosts",
        "addRow": "Subnet toevoegen",
        "remove": "Verwijderen",
        "run": "Toewijzen",
        "th": {
          "name": "Naam",
          "hosts": "Hosts",
          "network": "Netwerk",
          "prefix": "Prefix",
          "netmask": "Netmasker",
          "range": "Bruikbaar bereik",
          "broadcast": "Broadcast",
          "usable": "Bruikbare hosts"
        },
        "stat": {
          "parent": "Bovenliggend",
          "used": "Gebruikt",
          "free": "Vrij",
          "utilization": "Benutting"
        },
        "unfit": "Pasten niet",
        "parentPlaceholder": "10.0.0.0/24"
      },
      "supernet": {
        "label": "Te aggregeren prefixes",
        "run": "Aggregeren",
        "minimal": "Minimale dekkende set",
        "single": "Enkel supernet",
        "singleExtra": "Voegt {extra} extra adressen toe boven op de invoer.",
        "stat": {
          "inputs": "Invoerprefixes",
          "addresses": "Adressen",
          "blocks": "Geaggregeerde blokken"
        },
        "placeholder": "192.168.0.0/24\n192.168.1.0/24"
      },
      "overlap": {
        "label": "Te controleren prefixes",
        "scopeLabel": "Bereik (optioneel, schakelt gatdetectie in)",
        "run": "Controleren",
        "overlapsTitle": "Overlappingen",
        "noOverlaps": "Geen overlappingen gevonden.",
        "gapsTitle": "Gaten in bereik",
        "noGaps": "Geen gaten in het opgegeven bereik.",
        "kind": {
          "identical": "identiek aan",
          "contains": "bevat",
          "contained": "zit in",
          "partial": "overlapt gedeeltelijk met"
        },
        "addresses": "adressen",
        "stat": {
          "covered": "Gedekt",
          "scope": "Bereik"
        },
        "placeholder": "10.0.0.0/24\n10.0.0.128/25",
        "scopePlaceholder": "10.0.0.0/16"
      },
      "err": {
        "ipv4": "Geen geldig IPv4-adres. Gebruik vier octetten van 0 tot 255, zoals 192.168.1.0.",
        "octet": "Een octet ligt buiten bereik (elk moet tussen 0 en 255 liggen).",
        "format": "Verwacht wordt de vorm A.B.C.D/prefix, zoals 192.168.1.0/24.",
        "prefix": "De prefixlengte moet tussen 0 en 32 liggen.",
        "tooMany": "Te veel items. Kort de lijst in en probeer opnieuw.",
        "noReqs": "Voeg ten minste één subneteis met een aantal hosts toe.",
        "noPrefixes": "Voer ten minste één prefix in, één per regel."
      },
      "rangeHeading": "Adresindeling",
      "usableShort": "bruikbaar",
      "rfcNote": "/31 en /32 reserveren niets: elk adres is bruikbaar (RFC 3021).",
      "reservedNote": "Het eerste adres is het netwerk en het laatste is de broadcast; beide zijn gereserveerd, dus bruikbaar = totaal − 2."
    },
    "title": "Tools",
    "lede": "Kleine, snelle, privacyvriendelijke hulpprogramma's die volledig in je browser draaien. Niets van wat je typt wordt ergens naartoe gestuurd. Er komen er meer aan.",
    "open": "Openen",
    "comingSoon": "Binnenkort",
    "note": "Deze toolbox groeit. Nieuwe tools worden hier toegevoegd zodra ze klaar zijn, elk local-first en gratis te gebruiken.",
    "learnHeading": "Leer de concepten",
    "backToTools": "Tools",
    "references": "Referenties",
    "jumpTo": "Ga naar",
    "categories": {
      "identity": "Identiteit & tokens",
      "encoding": "Codering & data",
      "hashing": "Hashing & crypto",
      "identifiers": "Identifiers",
      "pki": "Certificaten & PKI",
      "networking": "Netwerken",
      "transport": "TLS en transport"
    },
    "hash": {
      "name": "Hash-generator (SHA-1/256/384/512)",
      "blurb": "Bereken SHA-1-, SHA-256-, SHA-384- en SHA-512-digests van willekeurige tekst, weergegeven als hex en Base64, met de native Web Crypto van de browser. Draait volledig in je browser.",
      "algorithmLabel": "Hash-algoritme",
      "inputLabel": "Te hashen tekst",
      "inputPlaceholder": "The quick brown fox jumps over the lazy dog",
      "runsLocally": "Het hashen draait lokaal via Web Crypto. Niets van wat je typt verlaat je browser.",
      "bits": "{bits} bits ({bytes} bytes)",
      "sha1Note": "SHA-1 is gebroken wat botsingsbestendigheid betreft en ongeschikt voor beveiliging (handtekeningen, certificaten). Het is alleen geschikt voor niet-beveiligingscontrolesommen en legacy-interoperabiliteit.",
      "hex": "Hex",
      "base64": "Base64",
      "copy": "Kopiëren",
      "copied": "Gekopieerd"
    },
    "hmac": {
      "name": "HMAC-generator (SHA-256/384/512)",
      "blurb": "Bereken een HMAC met sleutel over een bericht met je geheime sleutel, weergegeven als hex en Base64, via de native Web Crypto van de browser. Dezelfde constructie die de JWT-verificateur gebruikt voor HS256. Je sleutel verlaat nooit je browser.",
      "algorithmLabel": "HMAC-algoritme",
      "messageLabel": "Bericht",
      "messagePlaceholder": "Het te authenticeren bericht",
      "keyLabel": "Geheime sleutel",
      "keyPlaceholder": "Je gedeelde geheim",
      "runsLocally": "HMAC draait lokaal via Web Crypto. Je bericht en je sleutel verlaten nooit je browser.",
      "hex": "Hex",
      "base64": "Base64",
      "copy": "Kopiëren",
      "copied": "Gekopieerd",
      "struct": {
        "heading": "Hoe HMAC is opgebouwd",
        "innerHash": "interne hash",
        "note": "HMAC hasht het bericht twee keer. De sleutel wordt via XOR gecombineerd met een vaste binnenste pad vóór de eerste hash en met een buitenste pad vóór de tweede, en deze constructie met twee pads voorkomt length-extension-aanvallen. De sleutel wordt eerst teruggebracht tot de blokgrootte van de hash."
      }
    },
    "base64": {
      "name": "Base64-, Base32-, Hex- en procent-codec",
      "blurb": "Codeer tekst naar Base64, URL-veilig Base64, Base32, hexadecimaal of procentcodering, en decodeer ze allemaal terug. Tolerant voor ontbrekende opvulling en witruimte, en het markeert binaire (niet-UTF-8) resultaten. Draait volledig in je browser.",
      "directionLabel": "Richting",
      "direction": {
        "encode": "Coderen",
        "decode": "Decoderen"
      },
      "inputLabelEncode": "Te coderen tekst",
      "inputLabelDecode": "Gecodeerde tekst om te decoderen",
      "placeholderEncode": "Hello, World!",
      "placeholderDecode": "SGVsbG8sIFdvcmxkIQ==",
      "runsLocally": "Coderen en decoderen draaien lokaal. Niets van wat je plakt verlaat je browser.",
      "decodeErrors": {
        "invalid-characters": "Deze invoer bevat tekens buiten het alfabet van de geselecteerde codec.",
        "invalid-length": "Deze invoer heeft geen geldige lengte voor de geselecteerde codec.",
        "invalid-escape": "Deze invoer heeft een onjuiste procent-escape (een % zonder twee hexadecimale cijfers erachter)."
      },
      "outputEncode": "Gecodeerd",
      "outputDecode": "Gedecodeerde tekst",
      "copy": "Kopiëren",
      "copied": "Gekopieerd",
      "emptyOutput": "(leeg)",
      "decodedBytes": "{bytes, plural, one {# byte gedecodeerd} other {# bytes gedecodeerd}}.",
      "notUtf8": "{bytes, plural, one {# byte gedecodeerd} other {# bytes gedecodeerd}}, maar het resultaat is geen geldige UTF-8-tekst (waarschijnlijk binair).",
      "codecLabel": "Codec",
      "codec": {
        "base64": "Base64",
        "base64url": "Base64URL",
        "base32": "Base32",
        "base16": "Hex",
        "percent": "Percent"
      }
    },
    "pkce": {
      "name": "OAuth-PKCE-verificateur en -challenge",
      "blurb": "Genereer een OAuth 2.0-code_verifier en leid de S256-code_challenge ervan af, of plak je eigen exemplaar en controleer het aan de lengte- en tekensetregels van RFC 7636. Dezelfde SHA-256-base64url-afleiding die je autorisatieserver verwacht. Draait volledig in je browser.",
      "verifierLabel": "Code-verifier",
      "verifierPlaceholder": "Plak een code_verifier, of genereer er een",
      "generate": "Genereren",
      "runsLocally": "Generatie en afleiding draaien lokaal. Je verifier verlaat nooit je browser.",
      "lengthBadge": "Lengte {length} (43-128)",
      "charsetOk": "Niet-gereserveerde tekenset",
      "charsetBad": "Ongeldige tekens",
      "s256Title": "Code challenge · S256",
      "plainTitle": "Code challenge · plain",
      "plainNote": "De plain-methode wordt afgeraden. Gebruik S256 overal waar de client SHA-256 kan berekenen.",
      "encodingLabel": "base64url",
      "plainValueLabel": "= code_verifier",
      "copy": "Kopiëren",
      "copied": "Gekopieerd",
      "flowHeading": "Hoe PKCE werkt",
      "laneClient": "App / Client",
      "laneServer": "Autorisatieserver",
      "s1": "Genereer een willekeurige code_verifier",
      "s2": "Leid de code_challenge af",
      "s3": "Autorisatieverzoek draagt de challenge",
      "s4": "Server bewaart de challenge",
      "s5": "Autorisatiecode geretourneerd",
      "s6": "Tokenverzoek draagt de verifier",
      "s7": "Server leidt opnieuw af en vergelijkt",
      "s8": "Access- en refresh-tokens uitgegeven"
    },
    "uuid": {
      "name": "UUID-generator en -inspecteur (v4 / v7)",
      "blurb": "Genereer willekeurige v4- of tijdgeordende v7-UUID's, of plak een willekeurige UUID om de versie, variant en (voor v7) de ingebedde aanmaaktijdstempel te lezen. De generatie gebruikt de veilige willekeurige bron van de browser. Draait volledig in je browser.",
      "versionLabel": "UUID-versie",
      "generate": "Genereren",
      "clear": "Wissen",
      "emptyHint": "Kies een versie en genereer.",
      "runsLocally": "Generatie en inspectie draaien lokaal. Er wordt niets ergens naartoe gestuurd.",
      "copy": "Kopiëren",
      "copied": "Gekopieerd",
      "inspectLabel": "Een UUID inspecteren",
      "inspectPlaceholder": "Plak een willekeurige UUID om hem te decoderen",
      "valid": "Geldige UUID",
      "invalid": "Geen geldige UUID",
      "versionField": "Versie",
      "variantField": "Variant",
      "timestampField": "Tijdstempel (v7)",
      "versionValue": "Versie {version}"
    },
    "jwt": {
      "name": "JWT-decoder en -verificateur",
      "blurb": "Decodeer de header en claims van een JSON Web Token, lees de vervaltijd en timing in gewone taal en verifieer een HS256/384/512-handtekening met een geplakt geheim. Draait volledig in je browser.",
      "inputLabel": "JSON Web Token",
      "inputPlaceholder": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
      "runsLocally": "Decodering en handtekeningcontroles draaien lokaal. Het token en het geheim verlaten nooit je browser.",
      "errors": {
        "empty": "Plak een JSON Web Token om te decoderen.",
        "format": "Dat ziet er niet uit als een JWT. Een token heeft drie base64url-delen, gescheiden door punten: header.payload.signature.",
        "header": "De header is niet geldig. Het zou base64url-gecodeerde JSON moeten zijn.",
        "payload": "De payload is niet geldig. Het zou base64url-gecodeerde JSON moeten zijn."
      },
      "panels": {
        "header": "Header",
        "payload": "Payload",
        "signature": "Handtekening",
        "noSignature": "Geen handtekeningsegment (onbeveiligd token)."
      },
      "claims": {
        "iss": "Uitgever (iss)",
        "sub": "Onderwerp (sub)",
        "aud": "Doelgroep (aud)",
        "jti": "JWT-ID (jti)",
        "iat": "Uitgegeven op (iat)",
        "nbf": "Niet vóór (nbf)",
        "exp": "Verloopt (exp)"
      },
      "status": {
        "expired": "Verlopen {rel}",
        "expiresIn": "Geldig, verloopt {rel}",
        "notYetValid": "Nog niet geldig, begint {rel}",
        "noExpiry": "Geen vervalclaim (exp)"
      },
      "verify": {
        "label": "HMAC-handtekening verifiëren (HS256/384/512)",
        "placeholder": "gedeeld geheim",
        "button": "Verifiëren",
        "valid": "Handtekening geldig voor dit geheim.",
        "invalid": "Handtekening komt niet overeen met dit geheim.",
        "algNone": "Dit token is onbeveiligd (alg: none), dus er is geen handtekening om te verifiëren.",
        "unsupportedAlg": "Verificatie in de browser dekt alleen HS256/384/512. {alg} is asymmetrisch en heeft een openbare sleutel nodig.",
        "hint": "Het geheim wordt alleen gebruikt om een HMAC in je browser te berekenen. Het wordt nooit ergens naartoe gestuurd."
      },
      "struct": {
        "heading": "Anatomie van een JWT",
        "signingInput": "Handtekeninginvoer",
        "note": "De header en payload zijn alleen base64url-gecodeerd, niet versleuteld, dus iedereen kan ze lezen. De handtekening wordt berekend over de header en payload, samengevoegd met een punt, en is wat een verifier controleert."
      }
    },
    "x509": {
      "name": "X.509-certificaatdecoder",
      "blurb": "Plak een certificaat als PEM, base64 of hex om het onderwerp, de uitgever, het geldigheidsvenster, de openbare sleutel en v3-extensies te lezen, met SHA-256- en SHA-1-vingerafdrukken. Draait volledig in je browser.",
      "inputLabel": "X.509-certificaat",
      "inputPlaceholder": "-----BEGIN CERTIFICATE-----\nMIIB...\n-----END CERTIFICATE-----",
      "runsLocally": "Decodering en vingerafdrukken draaien lokaal. Het certificaat verlaat nooit je browser.",
      "errors": {
        "empty": "Plak een X.509-certificaat om te decoderen.",
        "format": "Dat ziet er niet uit als een certificaat. Plak PEM (-----BEGIN CERTIFICATE-----), base64 of hex.",
        "der": "De bytes zijn geen geldige DER. Controleer of het hele certificaat is geplakt, inclusief de END-regel.",
        "structure": "Dit decodeert als ASN.1 maar is geen X.509-certificaat. Een certificaat is een SEQUENCE van TBSCertificate, signatureAlgorithm en signatureValue."
      },
      "status": {
        "valid": "Geldig, verloopt {rel}",
        "expired": "Verlopen {rel}",
        "notYetValid": "Nog niet geldig, begint {rel}"
      },
      "panels": {
        "subject": "Onderwerp",
        "issuer": "Uitgever",
        "details": "Details",
        "publicKey": "Openbare sleutel",
        "extensions": "Extensies",
        "fingerprints": "Vingerafdrukken",
        "sct": "Certificate Transparency"
      },
      "fields": {
        "version": "Versie",
        "serial": "Serienummer",
        "notBefore": "Niet vóór",
        "notAfter": "Niet ná",
        "signatureAlgorithm": "Handtekeningalgoritme",
        "algorithm": "Algoritme",
        "keySize": "Sleutelgrootte",
        "exponent": "Exponent",
        "curve": "Curve",
        "bits": "{n} bits",
        "selfSigned": "Zelf-uitgegeven"
      },
      "ext": {
        "san": "Alternatieve onderwerpnamen",
        "keyUsage": "Sleutelgebruik",
        "extKeyUsage": "Uitgebreid sleutelgebruik",
        "basicConstraints": "Basisbeperkingen",
        "subjectKeyId": "Sleutel-id van onderwerp",
        "authorityKeyId": "Sleutel-id van autoriteit",
        "caTrue": "Certificeringsinstantie (CA: true)",
        "caFalse": "Geen CA (CA: false)",
        "pathLen": "padlengte {n}",
        "critical": "kritiek"
      },
      "fp": {
        "sha256": "SHA-256",
        "sha1": "SHA-1",
        "computing": "Vingerafdrukken berekenen..."
      },
      "chainHeading": "Vertrouwensketen",
      "tierRoot": "Root-CA",
      "tierIntermediate": "Tussenliggende CA",
      "tierLeaf": "Eindentiteitscertificaat",
      "roleRoot": "Zelfondertekend vertrouwensanker",
      "roleIntermediate": "Ondertekend door een root; ondertekent eindcertificaten",
      "roleLeaf": "Identificeert een server of client",
      "thisCert": "dit certificaat",
      "issuedBy": "Uitgegeven door",
      "signs": "ondertekent",
      "trustNote": "Vertrouwen stroomt naar beneden: elk certificaat is ondertekend door het bovenliggende, tot aan een root die je systeem al vertrouwt.",
      "sct": {
        "intro": "Ingebedde SCT's: {n}. Elk is het ondertekende bewijs van een CT-log dat het dit certificaat heeft vastgelegd; browsers vereisen een minimumaantal om het certificaat te vertrouwen.",
        "entry": "SCT {i}",
        "logId": "Log-ID",
        "timestamp": "Vastgelegd op",
        "signature": "Handtekening",
        "note": "Handtekeningen worden getoond maar hier niet geverifieerd; het verifiëren van een SCT vereist de openbare sleutel van het log en het precertificaat."
      }
    },
    "ipv6": {
      "name": "IPv6-toolkit",
      "blurb": "Parseer een IPv6-adres of -prefix om de canonieke (RFC 5952) en volledig uitgeschreven vormen, de classificatie voor speciaal gebruik, het prefixrekenwerk, een EUI-64-MAC indien aanwezig en de ip6.arpa reverse-DNS-naam te zien. Draait volledig in je browser.",
      "inputLabel": "IPv6-adres of -prefix",
      "inputPlaceholder": "2001:db8::1/64",
      "runsLocally": "Het parseren draait lokaal. Het adres verlaat nooit je browser.",
      "errors": {
        "empty": "Voer een IPv6-adres of -prefix in om te decoderen.",
        "format": "Dat is geen geldig IPv6-adres. Gebruik acht hex-groepen, eventueel één keer gecomprimeerd met :: (bijvoorbeeld 2001:db8::1).",
        "prefix": "De prefixlengte is niet geldig. Voor IPv6 moet die tussen 0 en 128 liggen."
      },
      "panels": {
        "forms": "Canonieke vormen",
        "classification": "Classificatie",
        "prefix": "Prefix",
        "identifiers": "Identifiers"
      },
      "fields": {
        "compressed": "Gecomprimeerd (RFC 5952)",
        "expanded": "Uitgeschreven",
        "type": "Type",
        "scope": "Bereik",
        "embeddedIpv4": "Ingebedde IPv4",
        "network": "Netwerk",
        "firstAddress": "Eerste adres",
        "lastAddress": "Laatste adres",
        "count": "Adressen",
        "hostBits": "Host-bits",
        "eui64": "EUI-64-MAC",
        "reverseDns": "Reverse-DNS (ip6.arpa)"
      },
      "badges": {
        "multicast": "multicast"
      },
      "segHeading": "Adresstructuur",
      "networkSeg": "Netwerkprefix",
      "ifaceId": "Interface-ID",
      "hostBits": "Host-bits",
      "prefixNote": "Bits links van de grens liggen vast door de prefix; bits rechts identificeren de host daarbinnen.",
      "conventionNote": "Geen prefix opgegeven, dus de stippellijn markeert de conventionele /64-splitsing: routeringsprefix en subnet links, de 64-bits interface-identifier rechts."
    },
    "cipher": {
      "name": "Cipher suite-decoder",
      "blurb": "Voer een TLS-cipher suite in, als IANA-naam, OpenSSL- of GnuTLS-naam, of als hexadecimaal codepunt, om hem te ontleden in sleuteluitwisseling, authenticatie, versleuteling, modus en MAC, met een begrijpelijke beveiligingsbeoordeling en de officiële IANA-aanbeveling. Draait volledig in je browser tegen een ingebouwde kopie van het IANA-register.",
      "inputLabel": "Cipher suite",
      "inputPlaceholder": "TLS_AES_128_GCM_SHA256, ECDHE-RSA-AES128-GCM-SHA256 of 0x1301",
      "runsLocally": "Het decoderen draait lokaal tegen een ingebouwde kopie van het IANA-register van TLS-cipher suites. Er wordt niets verzonden.",
      "notInRegistryNote": "Deze naam is structureel ontleed maar niet gevonden in de ingebouwde momentopname van het IANA-register – het codepunt en de alternatieve namen worden daarom niet getoond.",
      "errors": {
        "empty": "Voer een cipher suite in om te decoderen.",
        "format": "Dat is geen cipher suite. Voer een IANA-naam (TLS_...), een OpenSSL-naam of een hexadecimaal codepunt zoals 0x1301 in.",
        "unknown": "Dat is een geldig codepunt-formaat, maar het is geen toegewezen cipher suite in het IANA-register."
      },
      "ratings": {
        "recommended": "Aanbevolen",
        "secure": "Veilig",
        "weak": "Zwak",
        "insecure": "Onveilig",
        "unknown": "Onbekend"
      },
      "iana": {
        "Y": "IANA: aanbevolen",
        "N": "IANA: niet aanbevolen",
        "D": "IANA: afgeraden"
      },
      "badges": {
        "tls13": "TLS 1.3",
        "notInRegistry": "Niet in IANA-momentopname"
      },
      "panels": {
        "identity": "Identiteit",
        "components": "Componenten",
        "security": "Beveiliging"
      },
      "fields": {
        "codePoint": "Codepunt",
        "name": "IANA-naam",
        "openssl": "OpenSSL-naam",
        "gnutls": "GnuTLS-naam",
        "protocol": "Protocol",
        "dtls": "DTLS-OK",
        "references": "Referenties"
      },
      "protocol": {
        "tls13": "TLS 1.3",
        "legacy": "TLS 1.2 en eerder"
      },
      "comp": {
        "keyExchange": "Sleuteluitwisseling",
        "authentication": "Authenticatie",
        "forwardSecrecy": "Forward secrecy",
        "cipher": "Versleuteling",
        "mode": "Modus",
        "aead": "AEAD",
        "prf": "PRF-/KDF-hash",
        "mac": "MAC",
        "yes": "Ja",
        "no": "Nee",
        "bits": "{n}-bits",
        "negotiatedSeparately": "Apart onderhandeld (TLS 1.3)"
      },
      "reasons": {
        "nullCipher": "NULL-versleuteling: het verkeer wordt helemaal niet versleuteld.",
        "anon": "Anonieme sleuteluitwisseling: de tegenpartij wordt niet geauthenticeerd en biedt dus geen bescherming tegen een actieve man-in-the-middle.",
        "export40": "Sleutel van exportsterkte (40-bits): triviaal te kraken met brute kracht, een overblijfsel van de exportregels uit de jaren negentig.",
        "rc4": "RC4-stroomversleuteling: de vertekende sleutelstroom maakt hem gebroken, en RFC 7465 verbiedt hem voor TLS.",
        "singleDes": "Enkelvoudig DES met 56-bits sleutel: in uren te kraken met brute kracht.",
        "rc2": "RC2: een verouderde 40/64-bits versleuteling, niet veilig voor modern gebruik.",
        "tripleDes": "3DES heeft een 64-bits blok, wat het blootstelt aan de Sweet32-verjaardagsaanval (CVE-2016-2183). RFC 8429 verklaart het verouderd.",
        "md5Mac": "MD5-MAC: MD5 is cryptografisch gebroken.",
        "cbcMac": "CBC met een HMAC-SHA1- of MD5-MAC gebruikt MAC-then-encrypt en is blootgesteld aan padding-oracle-aanvallen zoals BEAST en Lucky13.",
        "ccm8": "CCM_8 kort de authenticatietag in tot 8 bytes, wat de integriteit verzwakt. IANA markeert het niet als aanbevolen.",
        "noFs": "Geen forward secrecy: bij een statische sleuteluitwisseling kan één gecompromitteerde langetermijnsleutel eerdere sessies ontsleutelen. Moderne richtlijnen vereisen ECDHE of DHE.",
        "legacyCipher": "{value} is een verouderde versleuteling, achterhaald voor TLS.",
        "aead": "AEAD-versleuteling (geauthenticeerde versleuteling): vertrouwelijkheid en integriteit in één primitief, zonder aparte MAC die verkeerd gebruikt kan worden.",
        "fs": "Forward secrecy: een vluchtige sleuteluitwisseling houdt eerder verkeer veilig, zelfs als de langetermijnsleutel later wordt gecompromitteerd.",
        "tls13": "TLS 1.3-suite: alleen moderne AEAD-versleutelingen, met de sleuteluitwisseling apart onderhandeld en altijd vluchtig.",
        "ianaD": "IANA markeert deze suite als \"D\" (afgeraden): hij ZOU NIET of MAG NIET gebruikt worden, afhankelijk van de situatie.",
        "ianaN": "IANA markeert deze suite niet als \"Aanbevolen\": beperkte toepasbaarheid of niet door het IETF-consensusproces gegaan.",
        "signalling": "Signaleringssuite (SCSV): geen echte versleuteling, maar draagt een protocolsignaal zoals downgradebescherming of heronderhandelingsinfo."
      },
      "groups": {
        "title": "Sleuteluitwisselingsgroepen",
        "intro": "TLS onderhandelt de eigenlijke sleutelovereenkomstgroep los van de cipher suite, in de extensie supported_groups. Omdat \"harvest now, decrypt later\" de overstap naar post-quantum sleuteluitwisseling aandrijft, combineren de hybride groepen hieronder een klassieke curve met ML-KEM.",
        "kind": {
          "ecdhe": "ECDHE-curve",
          "ffdhe": "Eindig-veld-DH",
          "pq-hybrid": "PQ-hybride"
        },
        "pq": {
          "classical": "Klassiek",
          "hybrid-pq": "Hybride PQ"
        },
        "recommended": "Aanbevolen",
        "obsolete": "Verouderd",
        "legacy": "Legacy",
        "combines": "Combineert {classical} met {pq}",
        "foot": "X25519MLKEM768 is de hybride groep die de meeste browsers nu standaard versturen."
      }
    },
    "f5-ssl-profile-explainer": {
      "name": "F5 SSL-profiel-uitlegger",
      "blurb": "Plak een tmsh client-ssl- of server-ssl-profiel en krijg de rol, de TLS-protocolmatrix en een beveiligingsbeoordeling van keten, heronderhandeling, SNI, OCSP en wederzijdse TLS — allemaal in je browser.",
      "inputLabel": "SSL-profiel (tmsh)",
      "inputPlaceholder": "ltm profile client-ssl /Common/name ...",
      "runsLocally": "Verwerkt in je browser. Er wordt niets verzonden.",
      "scopeNote": "Decodeert een geplakt profielblok. Neemt nooit contact op met een BIG-IP.",
      "errorTitle": "Kon het profiel niet lezen",
      "err_empty": "Plak een SSL-profiel om te beginnen.",
      "err_noHeader": "Een regel als deze werd verwacht: ltm profile client-ssl /Common/name ...",
      "err_noBody": "Geen openingsaccolade gevonden in het profiel.",
      "err_tooLong": "Deze invoer is te groot om te verwerken.",
      "err_invalid": "Dit lijkt geen client-ssl- of server-ssl-profiel.",
      "protocolsHeading": "TLS-protocolversies",
      "permitted": "toegestaan",
      "disabled": "uitgeschakeld",
      "findingsHeading": "Beveiligingsbeoordeling",
      "settingsHeading": "Instellingen uitgelegd",
      "topoHeading": "In het datapad",
      "nodeClient": "Client",
      "nodeBigip": "BIG-IP",
      "nodePool": "Poollid",
      "clientLeg": "TLS aan clientzijde",
      "serverLeg": "Serverzijde",
      "thisProfile": "dit profiel",
      "clientNote": "Een client-ssl-profiel beëindigt het TLS van de client op de BIG-IP. De verbinding naar het poollid wordt alleen opnieuw versleuteld als er een server-ssl-profiel is toegepast; zonder dat is dat traject leesbare tekst (SSL-offload).",
      "serverNote": "Een server-ssl-profiel laat de BIG-IP een nieuwe TLS-verbinding naar het poollid openen (herversleuteling). De clientzijde wordt door een apart client-ssl-profiel afgehandeld."
    },
    "epoch": {
      "name": "Unix-tijd-omzetter",
      "blurb": "Typ een Unix-tijdstempel — seconden, milliseconden, microseconden of nanoseconden, automatisch gedetecteerd — of een ISO-8601-datum, en lees het terug in alle gangbare formaten. Allemaal in je browser.",
      "inputLabel": "Tijdstempel of datum",
      "inputPlaceholder": "1700000000  of  2023-11-14T22:13:20Z",
      "runsLocally": "Omgezet in je browser. Er wordt niets verzonden.",
      "scopeNote": "Pure datumberekening. De eenheid wordt afgeleid uit de grootte van het getal; corrigeer indien nodig.",
      "nowButton": "Nu",
      "errorTitle": "Kon dat niet lezen",
      "err_empty": "Voer een tijdstempel of datum in om te beginnen.",
      "err_invalid": "Dat is geen Unix-tijdstempel of ISO-8601-datum.",
      "err_tooLong": "Deze invoer is te lang.",
      "err_outOfRange": "Die tijdstempel valt buiten het weergeefbare datumbereik.",
      "utcHeading": "UTC-datum en -tijd",
      "formatsHeading": "Alle formaten",
      "dayOfYearLabel": "dag van het jaar",
      "relativeNote": "ten opzichte van de klok van je apparaat"
    },
    "irules-event-order": {
      "name": "iRule-gebeurtenisvolgorde",
      "blurb": "Kies de profielstack van een BIG-IP-virtual-server — Client-SSL, HTTP, Server-SSL, pool — en zie de volgorde waarin de gangbare iRule-gebeurtenissen afgaan, van CLIENT_ACCEPTED tot CLIENT_CLOSED, als tijdlijn en lijst. Allemaal in je browser.",
      "stackLabel": "Profielstack van de virtual server",
      "tog_clientssl": "Client-SSL-profiel",
      "tog_http": "HTTP-profiel",
      "tog_serverssl": "Server-SSL-profiel",
      "tog_pool": "Pool (load balancing)",
      "tog_fastl4": "FastL4 (pakket-snelpad)",
      "presetsLabel": "Voorinstellingen:",
      "preset_https": "HTTPS met herversleuteling",
      "preset_offload": "SSL-offload",
      "preset_http": "HTTP",
      "preset_tcp": "Kaal TCP",
      "runsLocally": "Berekend in je browser. Er wordt niets verzonden.",
      "scopeNote": "Een model van gedocumenteerd F5-gedrag voor een Standard-virtual-server. Het contacteert nooit een BIG-IP.",
      "diagramHeading": "Gebeurtenisvolgorde",
      "listHeading": "Gebeurtenissen op volgorde",
      "conditionalHeading": "Voorwaardelijke gebeurtenissen",
      "conditionalNote": "Deze gaan alleen af onder specifieke voorwaarden: een TCP::collect of HTTP::collect, een load-balancingfout, of een 100 Continue-antwoord.",
      "sideClient": "clientzijde",
      "sideServer": "serverzijde",
      "sideGlobal": "globaal"
    },
    "cert-renewal-planner": {
      "name": "Certificaatvernieuwingsplanner",
      "blurb": "Bereken de geldigheid van een TLS-certificaat, of het binnen het 47-dagenschema van het CA/Browser Forum past, en de vernieuwingscadans die daaruit volgt; allemaal offline.",
      "notBeforeLabel": "Uitgegeven (notBefore)",
      "notAfterLabel": "Verloopt (notAfter)",
      "runsLocally": "Alles draait in je browser; er wordt niets geüpload.",
      "exampleLabel": "Probeer een voorbeeld van 90 dagen",
      "summaryHeading": "Dit certificaat",
      "validity": "Geldigheid van {days} dagen",
      "compliantBadge": "Binnen de limiet",
      "overCapBadge": "Boven de limiet",
      "maxForPhase": "Maximum voor de uitgiftedatum: {max} dagen.",
      "overByText": "{days} dagen boven het maximum van {max} dagen voor de uitgiftedatum; een openbare CA zou het niet uitgeven.",
      "renewalsValue": "Ongeveer {n} vernieuwingen per jaar bij deze geldigheid.",
      "remainingHeading": "Volgens de klok van je apparaat",
      "daysRemaining": "{days} dagen tot het verloopt.",
      "expiredText": "{days} dagen geleden verlopen.",
      "renewByText": "Vernieuw vóór {date} (ongeveer {lead} dagen voordat het verloopt)",
      "renewByDue": "over {days} dagen",
      "reuseHeading": "Hergebruik van validatie (uitgiftetijdperk)",
      "dcvText": "Domeinvalidatiegegevens (DCV) kunnen {days} dagen worden hergebruikt.",
      "siiText": "Organisatie-identiteit (OV/EV SII) kan {days} dagen worden hergebruikt.",
      "scheduleHeading": "Het SC-081v3-schema",
      "scheduleIntro": "Openbare TLS-maxima hangen af van de uitgiftedatum van het certificaat:",
      "colPeriod": "Uitgegeven vanaf",
      "colValidity": "Max. geldigheid (dagen)",
      "colDcv": "DCV-hergebruik (dagen)",
      "colSii": "SII-hergebruik (dagen)",
      "phaseP0": "Vóór 15 mrt 2026",
      "phaseP1": "15 mrt 2026",
      "phaseP2": "15 mrt 2027",
      "phaseP3": "15 mrt 2029",
      "yourPhase": "← dit certificaat",
      "projectionHeading": "Vernieuwingslast bij elke limiet",
      "projectionIntro": "Vernieuwingen per certificaat per jaar, naarmate de limieten dalen:",
      "perYearShort": "jaar",
      "note_overCap": "Deze geldigheid overschrijdt het maximum van {max} dagen voor de uitgiftedatum.",
      "note_future47": "Vandaag conform, maar langer dan de uiteindelijke limiet van 47 dagen; verwacht vaker vernieuwen naarmate het schema vordert.",
      "note_publicOnly": "Deze limieten gelden alleen voor openbaar vertrouwde TLS-certificaten. Private of interne PKI valt niet onder SC-081v3.",
      "note_automate": "Bij deze cadansen kun je uitgifte en vernieuwing automatiseren met ACME (RFC 8555) en ARI (RFC 9773); handmatig vernieuwen schaalt niet.",
      "err_empty": "Voer beide datums in, uitgifte en verloop.",
      "err_invalidDate": "Gebruik een geldige datum (JJJJ-MM-DD).",
      "err_order": "De verloopdatum moet na de uitgiftedatum liggen.",
      "err_tooLong": "Deze invoer is te lang.",
      "err_invalid": "Kon die datums niet lezen."
    },
    "csr-decoder": {
      "name": "CSR-decoder",
      "blurb": "Decodeer een PKCS#10-aanvraag voor certificaatondertekening om het subject, de openbare sleutel, de aangevraagde SAN's en extensies en de attributen te lezen; volledig in je browser.",
      "inputLabel": "Aanvraag voor certificaatondertekening (PEM, base64 of hex)",
      "inputPlaceholder": "-----BEGIN CERTIFICATE REQUEST-----\n...",
      "exampleLabel": "Een voorbeeld-CSR laden",
      "runsLocally": "Alles draait in je browser; de CSR wordt nooit geüpload.",
      "notCertNote": "Een CSR is een aanvraag, geen certificaat. Het heeft geen serienummer, geen uitgever en geen geldigheidsdatums; alleen wat de aanvrager door een CA wil laten certificeren.",
      "subjectHeading": "Subject",
      "colAttr": "Attribuut",
      "colValue": "Waarde",
      "noSubject": "Geen subjectnaam (deze CSR steunt op aangevraagde SAN's).",
      "keyHeading": "Openbare sleutel",
      "keyAlgorithmLabel": "Algoritme",
      "keySizeLabel": "Grootte",
      "keySizeValue": "{bits} bits",
      "keyCurveLabel": "Curve",
      "keyExponentLabel": "Exponent",
      "keyExponentValue": "{exp}",
      "requestedHeading": "Aangevraagde extensies",
      "sanLabel": "Subject Alternative Names",
      "keyUsageLabel": "Sleutelgebruik",
      "ekuLabel": "Uitgebreid sleutelgebruik",
      "basicConstraintsLabel": "Basisbeperkingen",
      "caYes": "CA: ja",
      "caNo": "CA: nee",
      "pathLenValue": "padlengte {n}",
      "noRequested": "Geen extensies aangevraagd.",
      "attributesHeading": "Attributen",
      "challengePasswordLabel": "Challenge-wachtwoord",
      "unstructuredNameLabel": "Ongestructureerde naam",
      "signatureHeading": "Zelfondertekening",
      "signatureAlgLabel": "Algoritme",
      "signatureBitsLabel": "Lengte",
      "signatureBitsValue": "{bits} bits",
      "versionValue": "Versie: v1 ({v})",
      "derLengthValue": "DER: {bytes} bytes",
      "err_empty": "Plak een aanvraag voor certificaatondertekening om te decoderen.",
      "err_format": "Dit lijkt niet op een CSR in PEM, base64 of hex.",
      "err_der": "De DER-structuur kon niet worden geparseerd.",
      "err_structure": "Dit wordt geparseerd als DER, maar is geen PKCS#10-certificeringsaanvraag."
    },
    "oidc": {
      "name": "OIDC-decoder",
      "blurb": "Plak een OpenID Connect ID-token of een .well-known/openid-configuration-document en decodeer het: de kern-claims, profiel-claims, endpoints en mogelijkheden, met controles op vereiste claims, ondertekeningsalgoritme, nonce en PKCE.",
      "inputLabel": "ID-token (JWT) of openid-configuration-JSON",
      "inputPlaceholder": "Plak een ID-token, of een OIDC-discovery-JSON-document",
      "runsLocally": "Het decoderen gebeurt lokaal in je browser. Het roept nooit de jwks_uri of een endpoint aan, en er wordt niets ergens naartoe gestuurd.",
      "notVerifiedNote": "Deze tool decodeert en legt uit. Het verifieert de tokenhandtekening niet, haalt de ondertekeningssleutels niet op en controleert de vervaltijd niet tegen de klok.",
      "errors": {
        "empty": "Plak een ID-token of een openid-configuration-document om te decoderen.",
        "malformed-json": "Dit begint als JSON maar kon niet worden geparseerd. Controleer op een ontbrekende accolade, komma of aanhalingsteken.",
        "json-not-oidc": "Dit is JSON, maar geen OpenID Connect-discovery-document. Plak een ID-token, of een .well-known/openid-configuration-document.",
        "not-jwt": "Dit lijkt niet op een JWT of een OIDC-document. Plak een ID-token of een discovery-document.",
        "jwt-header": "De tokenheader kon niet worden gedecodeerd. Een JWT bestaat uit drie door punten gescheiden base64url-delen.",
        "jwt-payload": "De tokenpayload kon niet als JSON worden gedecodeerd."
      },
      "badges": {
        "idToken": "ID-token",
        "discovery": "Discovery",
        "signed": "Ondertekend",
        "unsigned": "Niet ondertekend",
        "algNone": "alg: none",
        "algUnknown": "alg: ?"
      },
      "panels": {
        "header": "Header",
        "coreClaims": "Kern-claims van het ID-token",
        "metadata": "Provider",
        "endpoints": "Endpoints",
        "capabilities": "Mogelijkheden"
      },
      "categories": {
        "binding": "Tokenbinding",
        "profile": "Profiel-claims",
        "email": "E-mail",
        "address": "Adres",
        "phone": "Telefoon",
        "oauth": "OAuth / sessie",
        "other": "Overige claims"
      },
      "fields": {
        "alg": "Algoritme",
        "typ": "Type",
        "kid": "Sleutel-ID",
        "iss": "Uitgever (iss)",
        "sub": "Subject (sub)",
        "aud": "Doelgroep (aud)",
        "azp": "Geautoriseerde partij (azp)",
        "nonce": "Nonce",
        "acr": "Auth-context (acr)",
        "amr": "Auth-methoden (amr)",
        "authTime": "Auth-tijd",
        "iat": "Uitgegeven op (iat)",
        "nbf": "Niet vóór (nbf)",
        "exp": "Verloopt (exp)",
        "issuer": "Uitgever"
      },
      "reasons": {
        "MISSING_REQUIRED_CLAIM": "Ontbrekende vereiste claim {value}. Een ID-token moet iss, sub, aud, exp en iat bevatten.",
        "ALG_NONE": "Het token gebruikt alg none, wat betekent dat het niet ondertekend is. Een niet-ondertekend ID-token bewijst niets en moet worden geweigerd.",
        "ALG_SYMMETRIC": "Ondertekend met {value}, een symmetrisch (HMAC) algoritme. ID-tokens van een openbare provider gebruiken normaal een asymmetrisch algoritme zoals RS256 of ES256, zodat de relying party met de openbare sleutel kan verifiëren.",
        "ALG_UNKNOWN": "Ondertekend met {value}, een algoritme dat deze tool niet herkent. Bevestig dat het een verwacht, sterk algoritme is.",
        "SIGNED_ASYMMETRIC": "Ondertekend met {value}, een asymmetrisch algoritme. De relying party verifieert het met de openbare sleutel van de provider uit de JWKS.",
        "NO_NONCE": "Geen nonce-claim. De nonce bindt het token aan het authenticatieverzoek en beschermt tegen replay. Het zou aanwezig moeten zijn wanneer het verzoek er een heeft verzonden.",
        "MULTI_AUD_NO_AZP": "Het token heeft meerdere doelgroepen maar geen azp (geautoriseerde partij). Bij meer dan één doelgroep zou azp de client moeten benoemen waarvoor het token bedoeld is.",
        "DISCOVERY_MISSING_FIELD": "Ontbrekend vereist discovery-veld {value}.",
        "DISCOVERY_ALG_NONE": "De provider adverteert het ondertekeningsalgoritme none voor ID-tokens, wat niet-ondertekende tokens zou toestaan. Dit zou niet aangeboden moeten worden.",
        "DISCOVERY_NO_PKCE": "Geen code_challenge_methods_supported. De provider adverteert geen PKCE, wat wordt aanbevolen voor de authorization-code-flow.",
        "DISCOVERY_NO_PKCE_S256": "PKCE wordt geadverteerd maar zonder de S256-methode. S256 is de aanbevolen code-challenge-methode."
      },
      "flow": {
        "heading": "Authorization-code-flow",
        "laneRp": "Relying Party",
        "laneOp": "OpenID-provider",
        "s1": "Stuur de gebruiker met scope=openid door naar de provider",
        "s2": "De provider authenticeert de gebruiker en verkrijgt toestemming",
        "s3": "De provider stuurt terug met een authorization code",
        "s4": "De relying party wisselt de code in bij het token-endpoint",
        "s5": "De provider retourneert een ID-token plus een access token",
        "s6": "De relying party valideert de ID-token-handtekening tegen de JWKS",
        "s7": "De relying party kan UserInfo aanroepen met het access token",
        "s8": "De provider retourneert de claims van de gebruiker"
      }
    }
  },
  "privacy_page": {
    "eyebrow": "Privacy",
    "title": "Je gegevens, en wat deze site ermee doet",
    "lede": "Een uitleg in duidelijke taal van wat deze website precies wel en niet met je gegevens doet. Ze is geschreven om accuraat te zijn in plaats van slechts geruststellend, want onder regelgeving zoals de GDPR en de Braziliaanse LGPD is het de accurate verklaring die telt.",
    "shortTitle": "De korte versie",
    "short1": "Deze site plaatst geen cookies, draait geen analytics, gebruikt geen advertenties en bevat geen trackers van derden of fingerprinting. Niets volgt je over het web.",
    "short2": "Ze verkoopt, deelt of bouwt geen profielen van haar bezoekers, en vraagt je niets om ze te lezen.",
    "short3": "De interactieve tools draaien volledig in je browser. Wat je erin plakt of typt blijft op je apparaat en wordt nergens naartoe verzonden.",
    "short4": "Slechts drie dingen raken gegevens, en elk wordt hieronder uitgelegd: één thema-instelling die in je eigen browser wordt opgeslagen, de standaard verbindingslogboeken die elk bezoek aan een site op de hostinglaag genereert, en elk bericht dat je per e-mail kiest te verzenden.",
    "controllerTitle": "Wie verantwoordelijk is",
    "controllerBody": "Dit is de persoonlijke website van Rodolfo Nützmann (ronutz.com). Voor elke privacyvraag, of om een van de hieronder beschreven rechten uit te oefenen, schrijf naar {email}. Verzoeken worden rechtstreeks afgehandeld door Rodolfo Nützmann, als verwerkingsverantwoordelijke.",
    "noTrackTitle": "Geen cookies, geen tracking, geen analytics",
    "noTrackBody": "Deze site plaatst geen enkele cookie. Ze gebruikt geen analysedienst (zoals Google Analytics of Plausible), geen advertentienetwerk, geen tracking-pixels van sociale media en geen apparaat-fingerprinting. Je bezoek wordt voor die doeleinden niet gemeten, geprofileerd of met iemand gedeeld.",
    "browserTitle": "Wat in je browser wordt opgeslagen",
    "browserBody": "Eén klein ding: je gekozen visuele thema, opgeslagen in de lokale opslag (local storage) van je browser zodat de site het bij je volgende bezoek kan onthouden. Het is een gemaksinstelling die op je eigen apparaat blijft, nooit naar deze site of naar iemand anders wordt verzonden, en op elk moment via je browser kan worden gewist. Geen andere gegevens over jou worden op je apparaat opgeslagen.",
    "hostingTitle": "Hosting en serverlogboeken",
    "hostingBody": "De site wordt geleverd via Cloudflare, dat de hosting en contentlevering verzorgt. Zoals bij elke website betekent het laden van een pagina dat je apparaat verbinding maakt met een server, en Cloudflare verwerkt, optredend als hostingprovider, basale verbindingsgegevens – waaronder je IP-adres en standaard requestdetails – om je de pagina's te leveren en de site te beschermen tegen misbruik en aanvallen. Deze verwerking is noodzakelijk om de site te exploiteren en te beveiligen (een gerechtvaardigd belang op grond van Artikel 6(1)(f) van de GDPR, en de overeenkomstige grondslagen van Artikelen 7 en 10 van de LGPD). Ze wordt slechts kort door de provider bewaard en wordt hier niet gebruikt om je te identificeren of te volgen.",
    "toolsTitle": "De tools draaien in je browser",
    "toolsBody": "De decoders en rekenmachines op deze site – voor JWT's, IP-adressen, certificaten en de rest – rekenen volledig binnen je browser. De waarden die je invoert worden op je eigen apparaat verwerkt en worden nooit naar een server verzonden. Een aparte programmatische interface (een API) wordt aangeboden voor automatisering en integraties; ze is naar ontwerp stateless en logt geen van de queries of request-bodies die ernaartoe worden gestuurd.",
    "contactTitle": "Als je contact opneemt",
    "contactBody": "Het contactformulier verzendt niets naar een server. In plaats daarvan opent het een vooraf ingevuld bericht in je eigen e-mailapplicatie, dat je vervolgens zelf vanaf je eigen account verzendt, zodat niets via een derde partij loopt. Als je schrijft, hetzij via het formulier hetzij rechtstreeks, ontvang ik de informatie die je opneemt, zoals je naam, e-mailadres en bericht, en gebruik ik die alleen om je te antwoorden. Ik bewaar die alleen zolang nodig is om je vraag te behandelen, gebruik die niet voor marketing en deel die niet.",
    "intlTitle": "Verwerking buiten je land",
    "intlBody": "Omdat Cloudflare een wereldwijd netwerk exploiteert, kan de hierboven beschreven verwerking op verbindingsniveau plaatsvinden op servers buiten je eigen land, ook buiten Brazilië en de Europese Economische Ruimte. Waar persoonsgegevens op deze manier internationaal worden verwerkt, gebeurt dat onder de waarborgen die de betrokken provider biedt.",
    "childrenTitle": "Kinderen",
    "childrenBody": "Deze site is bedoeld voor een professioneel, algemeen publiek. Ze is niet gericht op kinderen en verzamelt niet bewust persoonsgegevens van hen.",
    "rightsTitle": "Je rechten",
    "rightsBody": "Afhankelijk van waar je woont, heb je rechten over je persoonsgegevens, waaronder het recht op inzage, op correctie of verwijdering, om bezwaar te maken tegen of de verwerking te beperken, om een kopie in een overdraagbare vorm te vragen en om geïnformeerd te worden over hoe ze worden verwerkt. Om er een uit te oefenen, schrijf eenvoudig naar {email}. Omdat hier zo weinig persoonsgegevens worden verwerkt, valt er in de praktijk meestal heel weinig te doen, maar het kanaal staat altijd open.",
    "rightsGdpr": "Als je je in de Europese Economische Ruimte of het Verenigd Koninkrijk bevindt, heb je ook het recht om een klacht in te dienen bij je lokale toezichthoudende autoriteit voor gegevensbescherming.",
    "rightsLgpd": "Als je je in Brazilië bevindt, heb je de rechten uiteengezet in Artikel 18 van de LGPD, en kun je ook contact opnemen met de nationale autoriteit voor gegevensbescherming (de ANPD).",
    "changesTitle": "Wijzigingen in deze kennisgeving",
    "changesBody": "Als deze kennisgeving verandert, wordt de herziene versie op deze pagina gepubliceerd en wordt de datum hieronder bijgewerkt. Wezenlijke wijzigingen worden niet met terugwerkende kracht toegepast.",
    "updated": "Laatst bijgewerkt: 30 juni 2026",
    "backHome": "Terug naar home"
  },
  "footer": {
    "redEducation": "Boek officiële training bij <b>Red Education</b>",
    "privacy": "Privacy",
    "builtWith": "Gebouwd door Rodolfo Nützmann met CONCORD",
    "colophon": "Hoe dit is gebouwd",
    "contribute": "Help de vertalingen verbeteren",
    "feedback": "Feedback geven",
    "api": "API-referentie",
    "contributeTools": "Deel een idee",
    "license": "Licentie",
    "coffee": "Trakteer me op een koffie"
  },
  "search": {
    "kindTool": "Tool",
    "kindArticle": "Artikel",
    "kindPage": "Pagina",
    "label": "Zoeken",
    "placeholder": "Doorzoek de site…",
    "close": "Sluiten",
    "searching": "Bezig met zoeken…",
    "noResults": "Geen resultaten voor „{query}”.",
    "unavailable": "Zoeken werkt op de gepubliceerde site. Het is niet beschikbaar in lokale preview.",
    "hint": "Typ om artikelen, tools en pagina's te doorzoeken."
  },
  "theme": {
    "label": "Thema",
    "dark": "Donker",
    "light": "Licht"
  },
  "about": {
    "eyebrow": "De trainer",
    "role": "Senior technisch trainer",
    "lede": "Netwerk- en beveiligingstrainingen, gegeven door een vakman die zijn loopbaan aan de implementatiekant heeft doorgebracht, niet alleen bij de slides. Gevestigd in São Paulo, wereldwijd lesgevend, in het Portugees en Engels.",
    "now": {
      "title": "Wat ik nu doe",
      "body": "Ik geef officiële, gecertificeerde, door een trainer geleide trainingen op vier beveiligings- en netwerkplatforms. Het werk is praktijkgericht en lab-gedreven: het doel is altijd dat deelnemers vertrekken met het vermogen om het te doen, niet alleen om het te beschrijven. Ik ben sinds 1996 een geautoriseerde trainer, en training en technische enablement maken sinds eind jaren negentig deel uit van mijn werk.",
      "basedLabel": "Gevestigd in",
      "basedValue": "São Paulo, Brazilië",
      "teachesLabel": "Geeft les",
      "teachesValue": "Virtuele en on-site door een trainer geleide trainingen, wereldwijd",
      "languagesLabel": "Talen",
      "languagesValue": "Portugees (moedertaal), Engels (vloeiend)"
    },
    "platforms": {
      "title": "Vier platforms, diepgaand onderwezen",
      "body": "Gecertificeerd zijn op vier leveranciers betekent dat ik elk goed kan onderwijzen en ze eerlijk kan vergelijken. Dit zijn de platforms waarvoor ik momenteel geautoriseerd ben om officiële training te geven.",
      "f5": "BIG-IP over het volledige door een trainer geleide curriculum: LTM, DNS, Advanced WAF (ASM), APM, AFM, SSL Orchestrator, automatisering en troubleshooting.",
      "fortinet": "Gecertificeerde Fortinet-training, inclusief het FCP-traject.",
      "extreme": "Extreme Networks switching, SD-WAN, en API- en automatiseringstrajecten, over installatie, configuratie, beheer en troubleshooting.",
      "netskope": "Door een trainer geleide training over de Netskope Security Cloud."
    },
    "path": {
      "title": "Het pad hiernaartoe",
      "intro": "Mijn loopbaan begon in 1996 aan de leveranciers- en implementatiekant, en bleef daar twee decennia voordat ik me volledig op training richtte. Die implementatieachtergrond is de reden dat de training aankomt: ik heb deze systemen in productie gebouwd, kapotgemaakt en gerepareerd.",
      "present": "heden",
      "cabletron": "Netwerkengineer en geautoriseerde trainer. Niet-Ethernet- en Ethernet-netwerken, campusnetwerken, IP-routing.",
      "riverstone": "Productondersteuningsengineer en kennisbankcoördinator in Californië. Gigabit Ethernet, metropolitan area networks, IP-routing, BGP. Escalatie van het derde niveau, het naspelen van klantscenario's en regressietests.",
      "cisco": "Netwerkadviesengineer, als centraal aanspreekpunt voor belangrijke klanten waaronder SERPRO en Correios. Escalatie- en klanttevredenheidsbeheer.",
      "enterasys": "Netwerkengineer en trainer. Bedrijfsnetwerken, IP-routing, gebruikerstoegangscontrole en NAC, IDS en IPS.",
      "juniper": "Channel-ondersteuningsengineer en trainer voor enterprise-switches en -firewalls. Technische sales-enablement en Junos-SRX-operationele training.",
      "f5channel": "Channel-gerichte sales- en pre-sales-engineering voor F5, met technische enablement, uitvoering van proof-of-concepts en partnertraining door de distributie heen.",
      "rededucation": "Geautoriseerde trainer die officiële gecertificeerde cursussen geeft over F5, Fortinet, Extreme Networks en Netskope aan organisaties wereldwijd.",
      "fullHistory": "Lees de volledige geschiedenis",
      "vendorsLink": "Leveranciers met wie ik heb gewerkt"
    },
    "origins": {
      "title": "Waar het begon",
      "body": "Vóór de formele loopbaan was er de nieuwsgierigheid. In de vroege jaren negentig importeerde en assembleerde ik computers, draaide en gebruikte ik bulletin board-systemen, en werkte ik met DOS, Unix, Linux, Netware, vroeg Ethernet, X.25 en inbelinternet. Tegen 1995 was dat praktische werk een eerste formele rol geworden: het bouwen van een systeem voor elektronische gegevensuitwisseling. De rode draad van toen tot nu is dezelfde: iets werkelijk complex nemen en het laten werken, en het daarna begrijpelijk maken voor iemand anders."
    },
    "approach": {
      "title": "Hoe ik lesgeef",
      "body": "Ik koos ervoor om me te specialiseren in training omdat het diepgaande technische kennis combineert met het deel van het werk dat ik het leukst vind: complexe concepten eenvoudig uitleggen. De sterkste sessies verbinden elk concept met de taak die de lerende daadwerkelijk moet uitvoeren, zodat de inhoud ergens kan landen. Praktijkvoorbeelden, echte labs, en de nadruk op begrip boven memoriseren."
    },
    "cta": {
      "title": "Begin met de concepten",
      "body": "De Leren-sectie legt de ideeën achter de tools uit, en de tools laten je er rechtstreeks mee werken, allemaal in je browser.",
      "learnButton": "Lees de Leren-sectie",
      "toolsButton": "Open de tools"
    },
    "recognition": {
      "title": "Erkenning",
      "body": "Drie opeenvolgende jaren erkend als F5 DevCentral MVP, in 2022, 2023 en 2024, voor bijdragen aan de technische F5-community."
    }
  },
  "endorsements": {
    "eyebrow": "Aanbevelingen",
    "title": "Wat mensen zeggen, in hun eigen woorden.",
    "intro": "{count} letterlijke aanbevelingen en beoordelingen, over twee decennia lesgeven en adviseren. Niets hier is geparafraseerd of bewerkt.",
    "provenance": "Afkomstig van LinkedIn-aanbevelingen, Google-reviews en geverifieerde Red Education-cursistreviews. De oorspronkelijke formulering en spelling zijn exact behouden zoals geschreven."
  },
  "testimonials": {
    "filterLabel": "Testimonials filteren",
    "sourceFilter": "Bron",
    "languageFilter": "Taal",
    "all": "Alle",
    "showing": "{count} van {total} worden getoond",
    "reply": "Reactie van Red Education",
    "translateLabel": "Vertaling",
    "translateOff": "Vertaal naar het Engels",
    "translateOn": "Engels wordt getoond",
    "machineDisclaimer": "Automatisch gegenereerde vertaling. Deze geeft de oorspronkelijke formulering mogelijk niet nauwkeurig weer.",
    "showOriginal": "Origineel tonen",
    "hideOriginal": "Origineel verbergen"
  },
  "history": {
    "indexTitle": "De geschiedenis",
    "indexLede": "Drie tijdperken, één rode draad: iets werkelijk complex nemen, het laten werken, en het daarna begrijpelijk maken voor iemand anders.",
    "eraLabel": "Tijdperk",
    "backToHistory": "Alle tijdperken",
    "backToAbout": "Over",
    "readNext": "Lees verder",
    "pre1996": {
      "years": "Vóór 1996",
      "title": "De nieuwsgierigheid",
      "subtitle": "Onderdelen importeren, machines assembleren en inbellen op het vroege internet, voordat iets daarvan een baan was.",
      "intro": "Elke technische loopbaan heeft een ervoor. Vóór de leveranciersbadges en de certificeringen was er een tiener die machines uit elkaar haalde om te begrijpen hoe ze werkten, en een jonge zelfstandige professional die dat begrip omzette in een inkomen. Hier werd het instinct gevormd dat al het andere aandrijft.",
      "s1Title": "Hands-on met hardware, 1991 tot 1995",
      "s1Body": "Vanaf 1991 was het werk zelfstandig en praktijkgericht: computeronderdelen importeren uit de Verenigde Staten, op maat gebouwde personal computers assembleren en verkopen, en ze installeren, configureren en repareren voor wie maar hulp nodig had. Dit was het tijdperk waarin je een machine uit componenten bouwde en hem liet draaien, in plaats van er een kant-en-klaar te kopen. De systemen van die tijd gingen rechtstreeks door deze handen: DOS en CP/M, BASIC, Turbo Pascal, vroeg Windows en kantoortoepassingen, en de databasetools waarop kleine bedrijven destijds draaiden, Clipper en dBase.",
      "s2Title": "De netwerken van vóór het internet",
      "s2Body": "Netwerken begonnen niet met het web. Lang voor breedband was het verbindende weefsel anders en moeilijker te hanteren: Novell NetWare voor lokale servers, bulletin board-systemen voor gemeenschap en bestandsuitwisseling, vroege Ethernet-netwerken, en de wide-area-technologieën van die tijd, X.25 (in Brazilië bekend als RENPAC) en Frame Relay. Toen het internet uiteindelijk kwam, kwam het via een modem, bereikt via een shell-account, SLIP of PPP. Met dit alles werken betekende netwerken begrijpen vanaf de draad, een begrip dat enterprise-netwerken later als vertrouwd terrein deed aanvoelen.",
      "s3Title": "BBS, phreaking en het academische internet",
      "s3Body": "De echte nieuwsgierigheid van dat tijdperk reikte verder dan betaald werk. De verkenningen van die jaren omvatten het draaien en gebruiken van bulletin board-systemen, het sleutelen aan het telefoonnetwerk van de phreaking-scene, hands-on UNIX, en vroege toegang tot het academische internet. Dit was leren door te doen, in een gemeenschap die kennis deelde omdat er nergens anders was om het te krijgen. Die gewoonte, graven tot iets werkelijk begrepen is en het dan doorgeven, is nooit verdwenen.",
      "s4Title": "1995: de eerste formele rol",
      "s4Body": "In 1995 mondde het zelfstandige werk uit in een eerste formele functie. Bij INTELECTA, een door SEBRAE-SP geïncubeerd bedrijf, was het project een systeem voor elektronische gegevensuitwisseling voor de verkoop van medische en ziekenhuisbenodigdheden, gebouwd op Novell NetWare-servers en het PCBoard bulletin board-systeem. Het was een echt systeem dat een echt commercieel probleem oploste, en het markeerde het punt waarop de hobby en het vak een beroep werden.",
      "closer": "Tegen het einde van 1995 was het fundament gelegd: iemand die machines en netwerken vanaf de eerste principes begreep, die leerde door te bouwen, en die al het instinct had om uit te leggen. Alles wat volgde, de leveranciers, de certificeringen, de wereldwijde leslokalen, is hierop gebouwd."
    },
    "era19962020": {
      "years": "1996 – 2020",
      "title": "De vakman",
      "subtitle": "Twee decennia binnen de netwerk- en beveiligingsindustrie, met het bouwen, kapotmaken en repareren van de systemen die later het curriculum werden.",
      "intro": "Dit is het lange midden van het verhaal, en de reden dat de training die later kwam gewicht draagt. Ongeveer twee decennia lang was het werk implementatie: netwerken ontwerpen, ze opzetten, ze onder druk troubleshooten, en de persoon zijn die wordt gebeld als iets kritieks kapotging. De reis liep door enkele van de bepalende namen in netwerken, op twee continenten.",
      "s1Title": "Cabletron en Enterasys, 1996 tot 2000",
      "s1Body": "De formele loopbaan begon in 1996 bij Cabletron Systems, destijds een toonaangevende leverancier van netwerkapparatuur gevestigd in Rochester, New Hampshire. Gedurende vierenhalf jaar besloeg de rol field engineering en post-sales support, systems engineering en pre-sales, en, vanaf 1997, gecertificeerde training. Het onderwerp was het enterprise-LAN en -WAN van die tijd: switches, routers, Wi-Fi en WLAN, netwerkbeheer, NAC en UAC, en stateful-inspection-firewalls. In 2000 reorganiseerde Cabletron zich in vier bedrijven, en het deel dat deze loopbaan raakte werd Enterasys Networks.",
      "s2Title": "Riverstone Networks, Santa Clara, 2000 tot 2002",
      "s2Body": "Het volgende hoofdstuk speelde zich af in Californië. Riverstone Networks, een afsplitsing van Cabletron die metropolitan-area-network-apparatuur bouwde, bracht een verhuizing naar Santa Clara met een H1-B1-werkvisum. De rol was Tier-III-productondersteuningsengineer en kennismanagementcoördinator: technische escalatie van het derde niveau, het naspelen van klantscenario's in het lab, regressietests en bugverificatie, en het bouwen van de kennisbank waarop de rest van de support steunde. De technologieën waren de ruggengraat van de carrier- en metrowereld van begin jaren 2000: Gigabit Ethernet, MPLS, metropolitan-area-switching en -routing, en BGP. Deze periode leverde ook een formele mijlpaal op: als onderdeel van het visumproces erkende een evaluatie in de Verenigde Staten in 2001 een opleidingsachtergrond gelijkwaardig aan een bachelor in informatica en een bachelor in bedrijfskunde.",
      "s3Title": "Cisco Systems, Brasília, 2003 tot 2004",
      "s3Body": "Terug in Brazilië en gecontracteerd via Cisco Professional Services, verschoof de rol naar de klantrelatie in haar meest veeleisende vorm. Als high-touch operations manager en centraal aanspreekpunt was het werk post-sales klanttevredenheidsbeheer voor twee van de grootste federale entiteiten van Brazilië, SERPRO, het gegevensverwerkingsagentschap van de overheid, en ECT-Correios, de nationale post. Het technische oppervlak bestond uit Catalyst-switches en -routers, PIX-firewalls, en CSS-, CSM- en ACE-loadbalancers, maar het echte werk was escalatiebeheer en het soepel draaiende houden van kritieke nationale infrastructuur.",
      "s4Title": "Opnieuw Enterasys, daarna Juniper, 2005 tot 2010",
      "s4Body": "De tweede helft van het decennium keerde terug naar de leverancierskant als expert op het gebied van het enterprise-LAN. Bij Enterasys vanaf 2005 lag de nadruk op switches en routers, Wi-Fi en WLAN, netwerkbeheer, NAC en UAC, en intrusion detection en prevention, over solution design, implementatie, auditing en training. Vanaf 2009, bij Juniper Networks via Professional Services voor Latijns-Amerika, was de rol nieuwproductpromotie voor de strategische partner Telefónica Empresas in Brazilië, gericht op EX-switches en SRX-firewalls, met operationele training over Junos-SRX gegeven bij Level 3 en Impsat, nu Lumen.",
      "s5Title": "De channel- en adviesjaren, 2010 tot 2020",
      "s5Body": "Het laatste decennium van dit tijdperk bewoog vloeiend tussen rollen, die allemaal bouwden naar de trainer waar het verhaal bij uitkomt. Er waren periodes als netwerk- en beveiligingsengineer via resellers en distributeurs, met verdiepende expertise in enterprise-switching en -routing, firewalls en next-generation firewalls, SSL-VPN, gebruikerstoegangscontrole, WAN-acceleratie en internet-loadbalancing over Juniper- en Cisco-oplossingen. Cruciaal was dat deze periode de ommezwaai naar F5 omvatte, met het beginnende werk aan F5 BIG-IP dat de komende jaren zou bepalen. Door dit alles heen was technische training een constante rode draad, nooit afwezig in welke rol dan ook.",
      "closer": "Tegen 2020 was het beeld compleet: iemand die deze systemen niet alleen had bestudeerd, maar er twintig jaar in had geleefd, aan de leverancierskant en de klantkant, in ontwerp en in crisis. Dat is het verschil dat een implementeerder meebrengt naar een leslokaal. Wanneer deze persoon uitlegt waarom een configuratie zich op een bepaalde manier gedraagt, is dat omdat hij het zich zo heeft zien gedragen, om drie uur 's nachts, met een wachtende nationale post."
    },
    "era2020present": {
      "years": "2020 – heden",
      "title": "De trainer",
      "subtitle": "Voltijdse technische training, wereldwijd geleverd, platform voor platform uitbreidend.",
      "intro": "In 2020 werd een rode draad die de hele loopbaan liep het hele weefsel. Na twee decennia waarin lesgeven elke rol vergezelde, werd training het werk zelf: voltijds, officieel, gecertificeerd onderwijs gegeven aan professionals en teams over de hele wereld. Wat dit tijdperk onderscheidt is niet alleen de focus, maar de bewuste, gedateerde uitbreiding over platforms heen, elk toegevoegd bovenop diepe vakmanervaring in plaats van in plaats daarvan.",
      "s1Title": "Voltijds, uit roeping",
      "s1Body": "Sinds 2020 bestaat het werk uit het geven van officiële door een trainer geleide training, op afstand en in persoon, in het Portugees en Engels, aan doelgroepen over de hele wereld. De levering bereikt Australië, Singapore, India, Centraal-Europa, de Verenigde Staten en Brazilië. De Braziliaanse en Duitse nationaliteit, samen met reistoestemming voor de Verenigde Staten en het Verenigd Koninkrijk, maken die wereldwijde reikwijdte praktisch: onbeperkte gerechtigdheid om te werken in de Europese Unie en de Mercosur, en de vrijheid om te gaan waar het leslokaal is.",
      "s2Title": "F5, vanaf het begin",
      "s2Body": "F5 is het anker sinds het begin van dit tijdperk, voortbouwend op werk met BIG-IP dat meer dan een decennium teruggaat. Het geautoriseerde curriculum dekt de volledige door een trainer geleide BIG-IP-catalogus: Local Traffic Manager, DNS, Advanced WAF, Access Policy Manager, Advanced Firewall Manager, SSL Orchestrator, BIG-IQ, iRules-ontwikkeling, automatisering en troubleshooting, variërend van eendaagse tot vierdaagse cursussen. Naast het lesgeven loopt een praktische aanvulling: beheerde F5 BIG-IP-labomgevingen, zodat praktijkoefening altijd een echte plek heeft om plaats te vinden.",
      "s3Title": "De uitbreiding, platform voor platform",
      "s3Body": "Wat de recente jaren onderscheidt is een duidelijke, gedateerde progressie. Extreme Networks-training werd toegevoegd vanaf 2021, met EXOS-switching, SD-WAN en automatisering. Fortinet volgde vanaf 2024, gericht op het FCP FortiGate Administrator-traject. Netskope kwam erbij vanaf 2025, met de werking, het beheer, de implementatie en de integratie van de Netskope Security Cloud. Vier platforms, elk bewust toegevoegd, elk rustend op dezelfde twee decennia netwerk- en beveiligingsimplementatie eronder.",
      "s4Title": "Via Red Education, naar de wereld",
      "s4Body": "Het belangrijkste voertuig voor deze wereldwijde levering is Red Education, een geautoriseerd trainingscentrum waarlangs officiële gecertificeerde cursussen organisaties in verschillende regio's bereiken. De rol is global technical training instructor, met levering aan het soort internationale doelgroepen dat een basis in São Paulo, twee paspoorten en een oprechte reislust mogelijk maken. De duurzame relatie zet individuele expertise om in iets dat organisaties wereldwijd kunnen boeken en waarop ze kunnen vertrouwen.",
      "closer": "Hier betaalt de rode draad van de hele geschiedenis zich uit. De nieuwsgierigheid van de vroege jaren werd de implementatiediepte van de vakmanjaren, en die diepte is nu wat elke deelnemer ontvangt: geen presentator die slides voorleest, maar iemand die deze systemen heeft gebouwd en uitlegt hoe ze werkelijk werken, en waarom."
    }
  },
  "vendors": {
    "indexTitle": "Leveranciers",
    "indexLede": "De netwerk- en beveiligingsbedrijven wier technologie deze loopbaan heeft gevormd, vanaf de draad. Dit zijn relaties uit het verleden; de platforms die vandaag worden onderwezen, staan onder Trainingen.",
    "backToVendors": "Alle leveranciers",
    "backToAbout": "Over",
    "technologies": "Technologieën",
    "role": "Rol",
    "years": "Jaren",
    "readNext": "Volgende leverancier",
    "cabletron": {
      "name": "Cabletron en Enterasys",
      "years": "1996 – 2007",
      "tagline": "Waar de loopbaan begon, en waar het enterprise-LAN vanaf de grond werd geleerd.",
      "intro": "De langste afzonderlijke draad in deze geschiedenis loopt door één bedrijf en zijn opvolger. Cabletron Systems, een toonaangevende leverancier van netwerkapparatuur gevestigd in Rochester, New Hampshire, was de eerste werkgever, vanaf 1996. Toen Cabletron zich in 2000 in vier bedrijven reorganiseerde, liep de lijn door als Enterasys Networks, en de relatie werd daar vanaf 2005 hervat. Samen beslaan ze het vormende decennium van expertise in enterprise-netwerken.",
      "s1Title": "Cabletron, 1996 tot 2000",
      "s1Body": "Gedurende vierenhalf jaar doorliep de rol de volledige boog van leveranciersengineering: field engineering en post-sales support, systems engineering en pre-sales, en, vanaf 1997, gecertificeerde training. Het onderwerp was het enterprise-LAN en -WAN van die tijd: switches en routers, Wi-Fi en WLAN, netwerkbeheer, NAC en UAC, en stateful-inspection-firewalls. Hier werd de discipline van solution design, implementatie, auditing, troubleshooting en escalatiebeheer voor het eerst beoefend, en hier kwam het lesgeven voor het eerst in het werk.",
      "s2Title": "Enterasys, 2005 tot 2007",
      "s2Body": "Terugkerend in de lijn als services- en supportmanager lag de nadruk op de Secure Routing-productlijn, met Enterasys als regionaal focuspunt voor Brazilië. Het werk combineerde klantondersteuning op hoog niveau, complexe troubleshooting en escalatiebeheer met gelokaliseerd productbeheer. Het technische oppervlak was gegroeid en omvatte nu netwerkbeheer, NAC en UAC, intrusion detection en prevention, en SIEM, over enterprise-switching en -routing. Enterasys werd later in 2013 overgenomen door Extreme Networks, waarmee een cirkel werd gesloten die dit vroege werk verbindt met een platform dat vandaag nog steeds wordt onderwezen.",
      "certs": "Cabletron Systems Engineer (CSE), 1999. Enterasys Systems Engineer (ESE), 2000 en 2007. Enterasys Certified Internetworking Engineer (ECIE), 2007.",
      "lineageTitle": "De bedrijfslijn",
      "lineageDesc": "Cabletron Systems, gevestigd in Rochester, New Hampshire, splitste zich in 2000 in vier bedrijven: Enterasys, Riverstone, Aprisma en GNTS. Enterasys werd in 2013 overgenomen door Extreme Networks. Riverstone werd in 2006 overgenomen door Alcatel-Lucent."
    },
    "juniper": {
      "name": "NetScreen en Juniper",
      "years": "2009 – 2014",
      "tagline": "Enterprise-switching en de beveiligingsgateways die uit NetScreen tot de Juniper-SRX-lijn uitgroeiden.",
      "intro": "Juniper Networks nam NetScreen, het firewallbedrijf, over in 2004, en NetScreens beveiligingstechnologie werd het fundament van Junipers secure-gateway-lijn. Met beide werken weerspiegelt één doorlopende lijn: de NetScreen SSG-firewalls en de SRX-gateways die ze opvolgden. De relatie liep vanaf 2009 rechtstreeks via Juniper, en zette zich daarna voort via het reseller-channel.",
      "s1Title": "Juniper Networks, 2009 tot 2010",
      "s1Body": "Gecontracteerd via Juniper Professional Services voor Brazilië, was de rol nieuwproductpromotie voor de nieuw geïntroduceerde enterprise-lijnen: de secure gateways van de SRX-serie en de switches van de EX-serie. De primaire samenwerking was met de strategische partner Telefónica Empresas in Brazilië. Naast de pre-sales-promotie leverde deze periode echt onderwijs: training over het JUNOS-netwerkbesturingssysteem en de werking van de SRX-secure-gateways voor channelpartners en klanten, inclusief operationele training voor het personeel van het network operations center van Level 3 Communications in Brazilië en Argentinië.",
      "s2Title": "Via het channel, 2010 tot 2014",
      "s2Body": "De relatie met Juniper en NetScreen zette zich voort via systeemintegrators en resellers. Bij CYLK besloeg het werk configuratieontwikkeling, proof-of-concept- en interoperabiliteitstests, en live-implementatie en troubleshooting over Juniper, NetScreen en F5. Bij TDec sloot Juniper zich aan bij een multi-vendor advies- en trainingspraktijk. Het hands-on productassortiment over deze jaren was breed: EX-switches, SRX- en NetScreen SSG-firewalls, SA SSL-VPN, J-serie-routers en AX beheerde Wi-Fi.",
      "certs": "Juniper Networks Sales Specialist, Enterprise Networking (JNSS-EN), 2010. Juniper Networks Sales Associate, Enterprise Networking (JNSA-EN), 2010.",
      "lineageTitle": "De beveiligingslijn",
      "lineageDesc": "NetScreen, maker van de SSG-firewalls, werd in 2004 overgenomen door Juniper Networks en werd het fundament van Junipers SRX-secure-gateway-lijn."
    },
    "riverstone": {
      "name": "Riverstone Networks",
      "years": "2000 – 2002",
      "tagline": "Twee jaar in Santa Clara, aan de rand van de carrier- en metropolitan-netwerken.",
      "intro": "Het enige hoofdstuk van deze loopbaan dat volledig buiten Brazilië was gesitueerd. Riverstone Networks, een leverancier van metropolitan-area-network-apparatuur gevestigd in Santa Clara, Californië, bracht een verhuizing naar de Verenigde Staten met een H1-B1-werkvisum. Riverstone had een eigen ongebruikelijke afkomst: oorspronkelijk een bedrijf genaamd Yago, rond 1998 overgenomen door Cabletron, en in 2001 via een afsplitsing opnieuw verschenen als onafhankelijk bedrijf. Het werd later in 2006 overgenomen door Alcatel-Lucent.",
      "s1Title": "Tier-III-support en kennismanagement",
      "s1Body": "De rol droeg twee titels over twee jaar: productondersteuningsengineer en kennismanagementcoördinator. Als Tier-III-specialist technische support was het werk escalatie van het derde niveau, het naspelen van klantscenario's in het lab, regressietests en bugverificatie. Als kennismanagementcoördinator ging het om het bouwen en organiseren van de kennisbank waarop de rest van de support steunde, naast ondersteuning bij productmarketing en interne training. Dit was het diepste technische supportwerk van de loopbaan, op het niveau waar de moeilijkste problemen escaleren.",
      "s2Title": "De wereld van de metropolitan-netwerken",
      "s2Body": "De technologieën waren de ruggengraat van het carrier- en metrotijdperk van begin jaren 2000: Gigabit Ethernet, MPLS, metropolitan-area-switching en -routing, en wide-area-IP-routing inclusief BGP. Werken bij de support van het derde niveau van de leverancier betekende zien hoe deze systemen zich aan de randen gedroegen, onder omstandigheden die alleen op schaal in productie aan het licht komen. Het leverde ook formeel onderwijs: training over Riverstone-concepten, -functies en -configuratie, en training over probleemidentificatie bij klantondersteuning en escalatieprocedures.",
      "certs": "Riverstone Certified Networking Professional (RCNP), 2001. Evaluatie van opleidingsequivalentie in de Verenigde Staten die een achtergrond erkent gelijkwaardig aan een bachelor in informatica en een bachelor in bedrijfskunde, voltooid in 2001 als onderdeel van het H1-B1-visumproces.",
      "lineageTitle": "De bedrijfslijn",
      "lineageDesc": "Riverstone Networks begon als een bedrijf genaamd Yago, werd rond 1998 overgenomen door Cabletron Systems, verscheen in 2001 via een afsplitsing opnieuw als onafhankelijk bedrijf, en werd in 2006 overgenomen door Alcatel-Lucent."
    },
    "cisco": {
      "name": "Cisco Systems",
      "years": "2003 – 2008",
      "tagline": "Kritieke nationale infrastructuur draaiende houden, als centraal aanspreekpunt voor de federale klanten van Brazilië.",
      "intro": "Gecontracteerd via Cisco Professional Services in Brazilië was dit de loopbaan in haar operationeel meest veeleisende vorm, waar het werk minder ging over één enkele technologie en meer over het draaiende houden van kritieke systemen voor klanten die zich geen downtime konden veroorloven.",
      "s1Title": "High-touch operations, 2003 tot 2004",
      "s1Body": "Als high-touch operations manager en centraal aanspreekpunt was de rol post-sales klanttevredenheidsbeheer voor twee van de grootste federale entiteiten van Brazilië: SERPRO, het gegevensverwerkingsagentschap van de overheid, en ECT-Correios, de nationale post, over Brasília en São Paulo. Het technische oppervlak omvatte Catalyst-switches en -routers, PIX-firewalls, en CSS-, CSM- en ACE-content- en loadbalancing-appliances. De echte discipline was echter escalatiebeheer en crisisbeheersing, het handhaven van hoge tevredenheid voor accounts waar de belangen nationaal waren.",
      "s2Title": "Cisco-onderwijs, 2007 tot 2008",
      "s2Body": "De Cisco-relatie leverde ook formeel trainingsonderwijs op: IOS- en CatOS-concepten en -werking, en Layer 2- en Layer 3-netwerkconcepten, -werking en -troubleshooting, in meerdaagse cursussen. Dit vulde de diepe operationele ervaring aan met het gestructureerde onderwijs dat later de volledige focus van de loopbaan zou worden.",
      "ironportTitle": "Een aparte noot: IronPort, 2004",
      "ironportBody": "Het waard om nauwkeurig vast te leggen, en onderscheiden van het Cisco-werk: een korte samenwerking van drie maanden eind 2004 met IronPort Systems, destijds een onafhankelijke start-up voor e-mailbeveiligingsappliances gevestigd in San Bruno, Californië. Het werk was channelontwikkeling en pre-sales technisch advies voor zijn e-mailbeveiligingsappliances van de C-serie. Dit gaat volledig vooraf aan Cisco's overname van IronPort in 2007, dus het was een aparte relatie met een onafhankelijk bedrijf, geen Cisco-technologie, en wordt hier alleen genoemd omdat het bedrijf later deel werd van Cisco.",
      "certs": "Cisco Certified Network Associate (CCNA), 2000 en 2005. Cisco Internetwork Troubleshooting (CIT), 2003."
    },
    "paloalto": {
      "name": "Palo Alto Networks",
      "years": "2013 – 2015",
      "tagline": "Next-generation firewalls, via het reseller-channel en het leslokaal.",
      "intro": "Een gerichte relatie rond next-generation-firewalltechnologie, gedragen via het reseller- en integrator-channel. Dit is een samenwerking uit het verleden; Palo Alto behoort niet tot de platforms die vandaag worden onderwezen, maar het werk was echt en gecertificeerd.",
      "s1Title": "Channeladvies en -training, 2013 tot 2015",
      "s1Body": "Bij TDec Network Group sloot Palo Alto zich aan bij een multi-vendor advies- en trainingspraktijk die systems engineering, solution-architectuur, applicatie-enablement, implementatie, audits en troubleshooting besloeg. De relatie zette zich voort via Cipher Security in 2015 voor pre-sales- en post-sales-werk. De technische focus lag op next-generation firewalls en het Panorama-beheerplatform, de kern van Palo Alto's enterprise-beveiligingsaanbod destijds.",
      "s2Title": "PAN-OS-onderwijs",
      "s2Body": "Deze periode omvatte formeel trainingsonderwijs: een PAN-OS 6.0-bootcamp, dat hetzelfde hands-on, lab-gedreven onderwijs opbouwde dat de lespraktijk van vandaag bepaalt. Gecombineerd met de in 2014 behaalde certificeringen vestigde dit echte diepgang in het platform, ook al concentreerde de focus van de loopbaan zich later op andere technologieën.",
      "certs": "Palo Alto Certified Network Security Engineer (CNSE 5.1), 2014. Palo Alto Networks Accredited Configuration Engineer (ACE), 2014. Palo Alto Networks Accredited Sales Expert (ASE), 2014. Let op: deze certificeringen zijn historisch en worden niet als actueel onderhouden."
    }
  },
  "training": {
    "eyebrow": "Trainingen die ik geef",
    "title": "Vier platforms, onderwezen door iemand die ze heeft gedraaid.",
    "intro": "Officiële, gecertificeerde, door een trainer geleide training over {courses} cursussen op de vier platforms in het hart van moderne netwerken en beveiliging. Elke cursus wordt gegeven door een geautoriseerde trainer, met decennia hands-on implementatie achter het onderwijs.",
    "courseCount": "{count} cursussen",
    "since": "sinds",
    "representativeNote": "Deze catalogus is representatief, niet uitputtend. Cursusnamen, duur en inhoud weerspiegelen actuele openbare informatie en zijn verfijnd op basis van officiële datasheets.",
    "allPlatforms": "Alle platforms",
    "authorizedSince": "Geautoriseerd trainer sinds {year}",
    "workingSince": "Werkt sinds {year} met {platform}",
    "tech": {
      "switchesRouters": "zakelijke switches en routers",
      "firewalls": "firewalls",
      "webCloudSecurity": "web- en cloudbeveiliging"
    },
    "coursesHeading": "{count} cursussen",
    "duration": "Duur",
    "delivery": "Vorm",
    "deliveryValue": "Virtueel of in persoon",
    "modules": "Modules",
    "aboutCourse": "Over deze cursus",
    "tableOfContents": "Inhoudsopgave",
    "agendaPending": "Een gedetailleerde dag-tot-dag-agenda wordt toegevoegd op basis van de officiële cursusdatasheet.",
    "moreFrom": "Meer {platform}-cursussen",
    "requestTraining": "Vraag deze training aan",
    "requestVia": "Geleverd via {destination}"
  },
  "teach": {
    "eyebrow": "Hoe ik lesgeef",
    "title": "Een trainer die deze systemen bouwde voordat hij ze onderwees.",
    "lede": "De meeste technische training wordt gegeven door mensen die de stof hebben geleerd om die te onderwijzen. Dit is het tegenovergestelde: drie decennia van het bouwen, kapotmaken en repareren van echte netwerken en beveiligingssystemen, gedistilleerd tot training die elk concept verbindt met hoe het zich werkelijk gedraagt in productie.",
    "s1Title": "Waarom dit telt in een leslokaal",
    "s1Body": "Er is een verschil tussen uitleggen hoe een functie verondersteld wordt te werken en uitleggen waarom hij zich gedraagt zoals hij doet om drie uur 's nachts wanneer iets kritieks uitligt. Het eerste komt uit een handleiding. Het tweede komt van er geweest zijn. Sinds 1996 was het werk implementatie: netwerken ontwerpen, ze opzetten, en de persoon zijn die wordt gebeld als ze kapotgingen, voor leveranciers en voor enkele van de grootste organisaties van Brazilië. Die diepte is wat elke deelnemer ontvangt, geen presentator die slides voorleest, maar een engineer die in deze systemen heeft geleefd en uitlegt hoe ze werkelijk werken.",
    "s2Title": "Het complexe helder gemaakt",
    "s2Body": "Diepgaande technische kennis is noodzakelijk maar niet voldoende. De zeldzamere vaardigheid is het vertalen ervan: iets werkelijk complex nemen, web application firewalls, identiteitsfederatie, traffic management, SD-WAN, en het laten klikken voor iemand die het voor het eerst tegenkomt. Deelnemers benoemen consequent de praktijkvoorbeelden en de heldere, gestructureerde didactiek, het vermogen om elk concept in de context te plaatsen van het werk dat ze daadwerkelijk doen. Lesgeven is een rode draad geweest door deze hele loopbaan, aanwezig in vrijwel elke rol sinds 1997, en de voltijdse focus sinds 2020.",
    "s3Title": "Hands-on, niet vaag",
    "s3Body": "Technische vaardigheid wordt opgebouwd door te doen, niet door te kijken. Elke cursus is opgebouwd rond hands-on labs op echte systemen, versterkt met beheerde labomgevingen zodat oefening altijd een echte plek heeft om plaats te vinden. De vorm past zich aan de doelgroep aan: virtuele door een trainer geleide training wereldwijd, in persoon wanneer dat beter past, in het Engels of Portugees. Het doel van elke sessie is hetzelfde, dat deelnemers vertrekken met het vermogen om het te doen, niet alleen om het te beschrijven.",
    "s4Title": "Erkend, gecertificeerd en actueel",
    "s4Body": "Het onderwijs rust op een fundament van formele erkenning. F5 DevCentral MVP drie opeenvolgende jaren, in 2022, 2023 en 2024. F5-certificeringen aangehouden sinds 2015, en trainerautorisatie over vier platforms: F5, Extreme Networks, Fortinet en Netskope. De levering bereikt Australië, Singapore, India, Centraal-Europa, de Verenigde Staten en Brazilië, via Red Education, een geautoriseerd trainingscentrum. De kwalificaties tellen, maar ze zijn een afkorting voor wat eronder ligt: een oprechte, actuele beheersing van de technologie.",
    "platformsTitle": "Wat ik onderwijs",
    "platformsBody": "Officiële, gecertificeerde, door een trainer geleide training over vier platforms in het hart van moderne netwerken en beveiliging. Elk verwijst naar zijn volledige cursuscatalogus.",
    "s5Title": "Voorbij het leslokaal",
    "s5Body": "Dezelfde diepte die goed onderwijs maakt, maakt goed advies. Dertig jaar over application delivery, netwerkbeveiliging, identiteit en infrastructuur, aan zowel de leverancierskant als de klantkant, is een perspectief dat ver buiten een trainingsruimte reikt, tot in architectuurbeslissingen, technologiekeuze en de moeilijke problemen die niet in een lesplan passen. Het onderwijs is de focus; de ervaring erachter is beschikbaar voor teams die meer nodig hebben dan een cursus.",
    "toolsTitle": "Tools die berekenen, nooit gokken",
    "toolsBody": "Naast de training staat een groeiende set gratis, privacyvriendelijke netwerk- en beveiligingstools, deterministische hulpprogramma's die volledig in je browser draaien en je invoer nooit ergens naartoe sturen. Subnet- en CIDR-berekeningen, IPv6, certificaat- en tokeninspectie, en meer, het soort dagelijkse tools waar een werkende engineer naar grijpt. Ze zijn gebouwd in dezelfde geest als het onderwijs: precies, praktisch en oprecht nuttig. Probeer ze, geen registratie, geen tracking.",
    "toolsCta": "Verken de tools",
    "historyTitle": "Drie decennia, één rode draad",
    "historyBody": "Van het bouwen van computers als tiener in 1991, via twee decennia binnen de netwerk- en beveiligingsindustrie, tot voltijdse wereldwijde instructie sinds 2020. Het hele verhaal is de moeite van het lezen waard als je de ervaring achter het lesgeven wilt begrijpen.",
    "historyCta": "Lees de volledige geschiedenis",
    "ctaTitle": "Laten we samenwerken",
    "ctaBody": "Of je nu officiële training wilt boeken, een maatwerkprogramma voor je team wilt opbouwen, of ervaren advies wilt inschakelen voor een moeilijk probleem, de deur staat open.",
    "ctaButton": "Neem contact op",
    "coursesButton": "Blader door alle cursussen"
  },
  "contact": {
    "title": "Neem contact op",
    "lede": "Of je nu officiële training wilt boeken, een maatwerkprogramma voor je team wilt opbouwen, of ervaren advies wilt inschakelen voor een moeilijk probleem, ik hoor graag van je.",
    "formHeading": "Stuur een bericht",
    "directHeading": "Of neem rechtstreeks contact op",
    "formName": "Je naam",
    "formEmail": "Je e-mail",
    "formTopic": "Waar gaat dit over?",
    "topicTraining": "Officiële training",
    "topicCustom": "Maatwerkprogramma voor een team",
    "topicAdvisory": "Advies en consulting",
    "topicOther": "Iets anders",
    "formMessage": "Je bericht",
    "formSend": "Bericht verzenden",
    "formSending": "Bezig met verzenden…",
    "formRequired": "Vul je naam, je e-mail en een bericht in.",
    "successTitle": "Bedankt.",
    "successBody": "Je bericht is onderweg. Ik kom zo snel mogelijk bij je terug.",
    "errorBody": "Er is iets misgegaan bij het verzenden. Probeer het opnieuw, of stuur rechtstreeks een e-mail.",
    "emailLabel": "E-mail",
    "channels": {
      "linkedin": {
        "description": "Professioneel netwerken",
        "label": "LinkedIn"
      },
      "youtube": {
        "description": "Video's en handleidingen",
        "label": "YouTube"
      },
      "instagram": {
        "description": "Achter de schermen",
        "label": "Instagram"
      },
      "training": {
        "label": "Officiële training",
        "description": "Boek een cursus via Red Education"
      }
    },
    "feedbackNote": "Een bug, fout of onnauwkeurigheid op de site gevonden?",
    "feedbackLink": "Deel het op de ideeënpagina"
  },
  "certs": {
    "title": "Certificeringen en kwalificaties",
    "lede": "Drie decennia formele kwalificaties in netwerken en beveiliging. De trainerautorisaties en certificeringen hieronder zijn actueel; een volledig overzicht van behaalde kwalificaties, de meeste inmiddels historisch, volgt voor de diepgang.",
    "jumpToHistorical": "Ga naar het volledige overzicht",
    "credlyVerify": "Verifieer op Credly",
    "current": "Actueel",
    "historical": "Historisch",
    "instructorTitle": "Trainerautorisaties",
    "instructorIntro": "Geautoriseerd om vandaag officiële, gecertificeerde training te geven op elk van deze platforms.",
    "currentCertsTitle": "Actuele certificeringen",
    "recognitionTitle": "Erkenning",
    "historicalTitle": "Het volledige overzicht",
    "historicalIntro": "Kwalificaties behaald tijdens een loopbaan die in 1996 begon. De meeste zijn historisch of verlopen, hier bewaard om de diepte die ze vertegenwoordigen.",
    "verify": "Verifiëren",
    "credly": "Credly",
    "certificate": "Certificaat",
    "verifyCode": "Code",
    "candidateId": "ID"
  },
  "colophon_page": {
    "eyebrow": "Colofon",
    "title": "Hoe dit is gebouwd",
    "lede": "De meeste websites leggen zichzelf niet uit. Deze wel, want hoe hij is gemaakt is deel van wat hij is: een bewust experiment in goed bouwen, met ongebruikelijke medewerkers, en een overzicht dat het bewaren waard is.",
    "concordTitle": "CONCORD",
    "concordBody1": "Deze site is ontworpen en gebouwd via een protocol genaamd CONCORD: een gestructureerde samenwerking tussen één persoon en drie verschillende AI-systemen, elk in een aparte rol. Het is geen gimmick. Het is een werkende methode, met een eigen governance, een eigen besluitenoverzicht, en één mens verantwoordelijk voor elke keuze die werd opgeleverd.",
    "concordBody2": "Het uitgangspunt is eenvoudig. Verschillende AI-modellen hebben verschillende sterktes, en een moeilijk probleem is gebaat bij meer dan één perspectief, in spanning gehouden. Het werk werd daarom verdeeld naar rol, en één persoon zat in het midden, schakelend tussen hen, bekrachtigend wat deugdelijk was en verwerpend wat dat niet was.",
    "concordBody3": "CONCORD is nergens vandaan overgenomen. Het is door Rodolfo Nützmann voor dit project ontworpen, vanuit een praktische behoefte: hoe je tegelijk een beroep doet op meerdere AI-systemen, elk echt sterk in iets anders, zonder de ene draad van menselijke verantwoordelijkheid op te geven die echt werk vereist. Het antwoord was om elk systeem een vaste zetel te geven, te voorkomen dat ze onderling onderhandelden en elke uitwisseling via één persoon te leiden die het geheel overzag. Die opzet heeft een oudere naam. De AI-systemen zijn agenten: ze handelen op aanwijzing en namens iemand anders. PRIME is de opdrachtgever: degene die werkelijk beslist, die het oordeel velt en die zowel de gevolgen als de naam draagt.",
    "concordBody4": "Het begon informeel – als een manier om het werk te verdelen – en verhardde gaandeweg de bouw tot een benoemde methode: vaste zetels, één overkoepelende regel dat er niets live gaat zonder dat PRIME het bekrachtigt, en een schriftelijke vastlegging van waarom elke beslissing is genomen. De naam benoemt het doel: eendracht, een bewust via een proces bereikte overeenstemming, en niet wat een onbeheerd hulpmiddel toevallig oplevert.",
    "concordPrincipal": "De hefboom ligt bij de agenten. De verantwoordelijkheid ligt bij de opdrachtgever, en die gaat niet over.",
    "concordMechTitle": "De werking, helder uitgelegd",
    "mech1Label": "Voorstellen",
    "mech1Gloss": "Elke zetel draagt opties aan binnen het eigen domein.",
    "mech2Label": "Doorgeven",
    "mech2Gloss": "PRIME draagt voorstellen tussen de zetels over; die onderhandelen nooit rechtstreeks.",
    "mech3Label": "Bekrachtigen",
    "mech3Gloss": "PRIME aanvaardt wat deugt en verwerpt wat niet deugt. Anders gaat er niets live.",
    "mech4Label": "Begrenzen",
    "mech4Gloss": "Een vast geheel van interne regels begrenst elk resultaat, op elke zetel.",
    "mech5Label": "Vastleggen",
    "mech5Gloss": "Een schriftelijk besluitenlogboek bewaart de redenering achter elke keuze.",
    "mech6Label": "Onthouden",
    "mech6Gloss": "De context, de interne regels en dat logboek blijven als bestanden bestaan, doorgegeven van de ene sessie naar de volgende, zodat de methode elk afzonderlijk gesprek overleeft.",
    "rolesTitle": "De zetels",
    "rolePrime": "PRIME",
    "rolePrimeWho": "Rodolfo Nützmann",
    "rolePrimeBody": "De enige bekrachtiger. Elke beslissing, elke opgeleverde regel ging door één mens die het volledige beeld had en de eindverantwoordelijkheid droeg. De AI's stelden voor; PRIME beschikte.",
    "rolePrimeModel": "Mens",
    "roleAnvil": "ANVIL",
    "roleAnvilWho": "Engineering",
    "roleAnvilBody": "De zetel van hoofdengineer. Architectuur, code, inhoudsstructuur, en de build zelf, omgezet van intentie naar een werkende, geteste, implementeerbare site.",
    "roleAnvilModel": "Anthropic · Claude Opus 4.8",
    "roleScout": "SCOUT",
    "roleScoutWho": "Strategie en merk",
    "roleScoutBody": "De zetel van strategie en positionering. De vragen van wat dit is, voor wie het is, en hoe het zich aan de wereld moet presenteren.",
    "roleScoutModel": "OpenAI · ChatGPT 5.5",
    "rolePrism": "PRISM",
    "rolePrismWho": "Design",
    "rolePrismBody": "De zetel van design. De visuele taal, de typografie, de kleur en het gevoel van het geheel, gevormd tot een coherent systeem.",
    "rolePrismModel": "Google · Gemini 3.1 Pro",
    "seatsModelNote": "AI-modelversies per juni 2026.",
    "principlesTitle": "Hoe het is gemaakt",
    "principlesBody": "Een paar principes golden van begin tot eind, en ze zijn zichtbaar als je weet waar je moet kijken.",
    "p1Title": "Berekenen, nooit gokken",
    "p1Body": "De tools op deze site berekenen antwoorden lokaal en deterministisch. Ze roepen geen server aan met je invoer, en ze benaderen niets. Wat in je browser draait, blijft in je browser.",
    "p2Title": "Open in de kern",
    "p3Title": "Gedocumenteerd door constructie",
    "p3Body": "Elk deel van de codebase is becommentarieerd en gedocumenteerd, niet als bijzaak maar als staande regel. De build is bedoeld om leesbaar te zijn, voor zijn onderhouder en voor iedereen die hem erft.",
    "p4Title": "Gebouwd om te blijven en te reizen",
    "p4Body": "De site is een statische export: snel, cachebaar, en op runtime van niets afhankelijk. Hij is vanaf de grond gestructureerd voor vele talen, zodat hij een wereldwijd publiek kan aanspreken zonder opnieuw te worden gebouwd.",
    "stackTitle": "De stack",
    "stackBody": "Voor wie dat soort dingen belangrijk vindt, het technische fundament, helder benoemd.",
    "stackFramework": "Framework",
    "stackFrameworkV": "Next.js 15 en React 19, geëxporteerd als volledig statische site",
    "stackI18n": "Internationalisatie",
    "stackI18nV": "next-intl, met {count} talen en ondersteuning voor rechts-naar-links",
    "stackDesign": "Designsysteem",
    "stackDesignV": "Een skin-bare, token-gebaseerde thema-engine; het standaardthema is Obsidian",
    "stackType": "Typografie",
    "stackTypeV": "Inter voor tekst, JetBrains Mono voor data en codes",
    "stackEngine": "Tool-engine",
    "stackEngineV": "Een deterministische rekenlaag die volledig in de browser draait",
    "stackSearch": "Zoeken",
    "stackSearchV": "Statische full-text-zoekfunctie aan de clientzijde; geen zoekserver",
    "vibeTitle": "Is dit vibe coding?",
    "vibeBody1": "Het is een terechte vraag, die een helder antwoord verdient. Vibe coding is een term die de AI-onderzoeker Andrej Karpathy begin 2025 bedacht voor een manier van software bouwen waarbij je aan een taalmodel beschrijft wat je wilt, aanneemt wat het schrijft zonder het nauwkeurig te lezen, en stuurt op resultaten in plaats van op de code zelf. Hij omschreef het als je laten meevoeren door de vibes en vergeten dat de code überhaupt bestaat, en was duidelijk dat het meer geschikt is voor snelle wegwerpprojecten dan voor systemen waarvan mensen afhankelijk zijn.",
    "vibeBody2": "Volgens die definitie is een deel van deze site zo gebouwd, en dat kun je beter toegeven dan verbergen. De buitenkant van de applicatie, de bedrading van het framework, de componenten, de styling, het leidingwerk dat de pagina's bijeenhoudt, is snel tot stand gekomen met een AI-engineer en gestuurd op uitkomst en op een vaste set interne regels, niet regel voor regel met de hand getypt. Voor die laag, waar een fout zichtbaar en makkelijk te herstellen is, was snelheid het punt.",
    "vibeBody3": "De delen die er het meest toe doen, worden aan een andere maatstaf gehouden. Alles wat je gegevens berekent, wordt geverifieerd, niet op gevoel gedaan: de kern van elk hulpmiddel wordt getoetst aan de gepubliceerde standaard die het implementeert, de relevante RFC's en specificaties, en de uitvoer ervan wordt vóór publicatie bevestigd aan de hand van onafhankelijke referenties. Zoals een veelgeciteerde uitspraak van de programmeur Simon Willison luidt, is code die je hebt nagekeken, getest en begrepen helemaal geen vibe coding. Karpathy zelf noemt de gedisciplineerde versie inmiddels agentic engineering: de hefboom van AI behouden zonder de kwaliteit van het resultaat op te geven. Dat is de lijn die dit project trekt. Snel waar snelheid gratis is, grondig waar het telt, en één mens verantwoordelijk voor het geheel.",
    "closingTitle": "Een noot over de methode",
    "closingBody": "Software bouwen met AI-medewerkers is nieuw genoeg dat het eerlijke is om er transparant over te zijn. Niets hier is gepubliceerd zonder dat een mens besloot dat het zo moest zijn. De AI's waren instrumenten, capabele, maar instrumenten. Het oordeel, de verantwoordelijkheid en de naam op het werk zijn menselijk.",
    "backHome": "Terug naar de tools",
    "standardsTitle": "Standaarden en frameworks",
    "standardsLede": "Elk tool hier implementeert een gepubliceerde specificatie, geen gok. De decoders en rekenmachines zijn gebouwd op de documenten die hun formaten definiëren en vastgezet op de testvectoren die die documenten publiceren, zodat elk antwoord wordt getoetst aan de bron van waarheid en niet aan zichzelf.",
    "specsLabel": "De specificaties",
    "specsBody": "JSON Web Tokens volgen RFC 7519, met handtekeningen en algoritmen in RFC 7515 en 7518; PKCE is RFC 7636; Base64 en zijn varianten zijn RFC 4648; UUID's zijn RFC 9562 (die RFC 4122 in 2024 verving en eigen testvectoren bevat); HMAC is RFC 2104, over de in FIPS 180-4 en FIPS 202 gestandaardiseerde SHA-familie; X.509-certificaten zijn RFC 5280; IPv4 en de CIDR-notatie zijn RFC 4632; IPv6-adressering en de canonieke tekstvorm zijn RFC 4291 en RFC 5952; en de cipher-suite-decoder steunt op de officiële IANA TLS Cipher Suites-registry, vergeleken met de TLS 1.3- en 1.2-specificaties (RFC 8446 en 5246), de registry-updateregels die de kolom “Recommended” vastleggen (RFC 8447) en het RC4-verbod (RFC 7465). Waar een registry de autoriteit is, worden de gegevens rechtstreeks overgenomen in plaats van overgetypt.",
    "vectorsLabel": "Referentievectoren",
    "vectorsBody": "Elk tool wordt geleverd met een set referentievectoren: bekende invoer gekoppeld aan bekend-correcte uitvoer, ontleend aan de relevante RFC's en normalisatie-instanties. Ze draaien bij elke build, zodat een refactor die stilletjes een antwoord verandert de build laat mislukken in plaats van uit te brengen.",
    "owaspLabel": "OWASP",
    "owaspBody": "De beveiligingstools zijn gedefinieerd op de frameworks van OWASP, niet ad hoc samengesteld. De crypto- en TLS-tools sluiten aan op de onderdelen Cryptographic Failures en Security Misconfiguration van de OWASP Top 10 en op de bijbehorende controles van de Application Security Verification Standard; het token-tool volgt OWASP's richtlijn voor het inspecteren en valideren van JWT's. OWASP's prevention cheat sheets leggen ook harde regels vast voor wat hierna komt: elke XML- of SAML-verwerking die hier wordt toegevoegd, moet vóór uitlevering tegen XXE gehard zijn.",
    "redblueLabel": "Rood en blauw",
    "redblueBody": "Hetzelfde decoderen-en-uitleggen waarmee een red-teamer een onderschept token leest, laat een blue-teamer begrijpen wat de eigen stack uitzendt. Het platform staat bewust aan de analysekant van die lijn: het identificeert, decodeert, converteert en legt uit, en gaat niet zover om te vervalsen, te injecteren of controles te omzeilen. Die grens is een ontwerpkeuze, geen vergissing; deze tools bestaan om te onderwijzen en te diagnosticeren, niet om een wapen te worden.",
    "localLabel": "Lokaal en deterministisch",
    "localBody": "Alles draait in de browser. De tool roept een pure functie aan: bij dezelfde invoer geeft die dezelfde uitvoer, houdt geen toestand bij en stuurt niets naar een server. Geen cookies, geen analytics, zoals de Privacypagina volledig uiteenzet.",
    "thanksTitle": "Speciale dank",
    "p2Body": "De deterministische logica die elke tool uitvoert, is de hele tool: er is geen verborgen serverstap, geen account en geen telemetrie. Alles draait in je browser.",
    "changelogLink": "Wijzigingslog"
  },
  "support": {
    "title": "Steun het project",
    "lede": "Deze tools zijn gratis en gebouwd om dat te blijven. Als ze je tijd besparen, ben je welkom om bij te dragen aan hun onderhoud. Volledig optioneel, altijd.",
    "tipHeading": "Laat een fooi achter",
    "tipBlurb": "Elke bijdrage gaat rechtstreeks naar de ondersteuning van de tools en de tijd die erin gaat.",
    "zeroCommission": "0% commissie. Links gaan rechtstreeks naar de aanbieder; deze site zit nooit in het betaalpad.",
    "placeholder": "Ondersteuningsopties worden ingesteld en verschijnen hier binnenkort."
  },
  "admin": {
    "eyebrow": "Admin",
    "title": "Sitebeheer",
    "lede": "Het bedieningsoppervlak voor de optionele functies en instellingen van deze site.",
    "previewBanner": "Preview-steiger. Op de statische site tonen deze knoppen een preview van het adminoppervlak; de live-besturing wordt geactiveerd met de servicelaag. Wijzigingen hier worden niet opgeslagen.",
    "featuresTitle": "Functies",
    "flagRequestTraining": "Vraag deze training aan",
    "flagRequestTrainingDesc": "De leadgeneratie-CTA op cursus- en platformpagina's.",
    "flagTipJar": "TipJar",
    "flagTipJarDesc": "Maker-ondersteuningslinks op de ondersteuningspagina.",
    "flagToolFunding": "Toolfinanciering",
    "flagToolFundingDesc": "Ondersteuningsinterface per tool.",
    "flagToolProvenance": "Toolherkomst",
    "flagToolProvenanceDesc": "Credits- en bronnenpaneel per tool.",
    "routingTitle": "Leadrouting",
    "routingDefaultLabel": "Wereldwijde standaard",
    "routingNoOverrides": "Geen overrides per platform of per cursus geconfigureerd.",
    "contactTitle": "Contact",
    "contactEmailLabel": "E-mail",
    "contactFormLabel": "Formulierinzending",
    "formMailto": "Mailto-terugval (geen backend)",
    "formEndpoint": "Verzenden naar endpoint",
    "tipJarTitle": "TipJar-aanbieders",
    "tipConfigured": "Geconfigureerd",
    "tipNotConfigured": "Niet geconfigureerd",
    "on": "Aan",
    "off": "Uit",
    "accessTitle": "Toegangsbeheer",
    "accessNote": "Alleen deze gefedereerde identiteiten mogen admintoegang hebben. Afgedwongen aan de serverzijde door de servicelaag; de statische site authenticeert niet.",
    "accessFederatedOnly": "Alleen gefedereerd inloggen. Geen terugval op een lokaal account.",
    "accessRoleLabel": "Rol",
    "accessPermsLabel": "Eigenaarsrechten"
  },
  "machineTranslation": {
    "notice": "Deze pagina is machinaal vertaald en kan fouten bevatten.",
    "cta": "Help mee"
  },
  "contribute": {
    "eyebrow": "Vertalingen",
    "title": "Help de vertalingen verbeteren",
    "lede": "Elke taal hier behalve Engels is een door een machine gemaakt eerste concept. Als je een ervan spreekt en iets verkeerds of onhandigs opmerkt, zijn je correcties van harte welkom. Zo stuur je ze in.",
    "howTitle": "Hoe je kunt bijdragen",
    "howBody": "Engels is de bron van waarheid, en elke andere taal wordt daaruit vertaald, dus fouten zijn mogelijk. Elk taalpakket is één tekstbestand met gelabelde zinnen. Download het pakket dat je wilt verbeteren, wijzig alleen de tekst na elk label en laat de labels en alles tussen accolades precies zoals het is. Mail daarna het bewerkte bestand en vermeld de taal. Elke inzending wordt met de hand nagekeken.",
    "downloadHeading": "Taalpakketten",
    "referenceTag": "referentie",
    "emailHeading": "Stuur je bijdrage",
    "backHome": "Terug naar de tools"
  },
  "api": {
    "title": "API",
    "lede": "De tools op deze site draaien in je browser en houden je gegevens op je apparaat. Voor automatisering – scripts, pipelines en integraties – zijn dezelfde deterministische berekeningen beschikbaar als een kleine HTTP-API. Het is de programmatische tegenhanger van de browsertools, geen vervanging ervan.",
    "privacyTitle": "Wat dit betekent voor je gegevens",
    "privacyBody": "De API ontvangt alleen de invoer die je verstuurt, berekent een resultaat en geeft het terug. Hij is stateless en logt geen query-waarden of request-bodies. Heb je gegarandeerd nul data-uitgang nodig, gebruik dan de browsertools of draai de open engine zelf.",
    "engineTitle": "Dezelfde engine als de browser",
    "specTitle": "De specificatie",
    "specBody": "Het volledige contract is gepubliceerd als OpenAPI 3.1. Download het, richt je eigen tooling erop of lees de referentie hieronder.",
    "downloadSpec": "openapi.yaml downloaden",
    "baseUrlLabel": "Basis-URL",
    "authLabel": "Authenticatie",
    "authValue": "Geen. Dit is een openbare, alleen-lezen API.",
    "referenceTitle": "Referentie",
    "loading": "Specificatie laden.",
    "loadError": "De specificatie kon niet worden geladen.",
    "tryItTitle": "Probeer het",
    "tryItSend": "Verzenden",
    "tryItRunning": "Bezig.",
    "tryItHint": "Draait tegen de live API op deze origin. Je invoer wordt naar het endpoint gestuurd.",
    "paramsTitle": "Parameters",
    "responsesTitle": "Reacties",
    "schemasTitle": "Schema's",
    "exampleLabel": "Voorbeeld",
    "requiredLabel": "vereist",
    "fieldLabel": "Veld",
    "typeLabel": "Type",
    "descriptionLabel": "Beschrijving",
    "viewReference": "Referentie",
    "viewSwagger": "Swagger UI",
    "swaggerLoadError": "Swagger UI kon niet worden geladen.",
    "engineBody": "Elk endpoint voert dezelfde pure functie uit als de tool in de browser, zodat de API en de browser byte-identieke resultaten teruggeven."
  },
  "license_page": {
    "eyebrow": "Voorwaarden",
    "title": "Licentie",
    "closedHeading": "Closed source – deze website",
    "closedBody": "De website zelf is closed source. Het ontwerp, de interface, de geschreven inhoud (waaronder elk Learn-artikel), de merkidentiteit en de specifieke manier waarop deze tools hier zijn samengesteld en gepresenteerd zijn eigendom, alle rechten voorbehouden. Er wordt geen toestemming verleend om de site of de inhoud ervan te kopiëren, te verveelvoudigen, te wijzigen, te herdistribueren of er afgeleide werken van te maken zonder voorafgaande schriftelijke toestemming.",
    "contact": "Vragen over de licentie? <a>Neem contact op.</a>",
    "backHome": "Terug naar de tools",
    "thirdHeading": "Opensource-componenten",
    "lede": "ronutz.com is een propriëtair werk, alle rechten voorbehouden. Deze voorwaarden gelden voor de website en de inhoud ervan. De site is gebouwd op opensourcesoftware, die wordt gebruikt en herverdeeld onder haar eigen licentievoorwaarden, hieronder vermeld.",
    "thirdBody": "Deze site steunt op opensourcewerk. De site zelf is gebouwd met Next.js en React en wordt geleverd als een statische export; de internationalisatie gebruikt next-intl; de Learn-inhoud wordt gerenderd met next-mdx-remote, gray-matter, remark-gfm en js-yaml; en het zoeken wordt verzorgd door Pagefind. Deze componenten worden geleverd onder de MIT License, behalve next-mdx-remote (Mozilla Public License 2.0). De API-referentie bevat Swagger UI, onder de Apache License 2.0. Elke component blijft onder zijn eigen licentie, en de volledige kennisgevingen worden samen met de broncode geleverd."
  },
  "contributeIdeas": {
    "eyebrow": "Ideeën welkom",
    "title": "Deel een idee",
    "lede": "Deze toolbox is gemaakt om te groeien, en het duidelijkste signaal voor waar hij heen moet komt van de mensen die hem gebruiken. Een bug, een fout of een onnauwkeurigheid gevonden? Mis je een tool die er nog niet is? Zie je een betere aanpak, of een resultaat dat je anders zou verwoorden? Stuur het op; elke vorm van input is welkom.",
    "sendTitle": "Wat je kunt sturen",
    "sendBody": "Bugs, fouten en onnauwkeurigheden van allerlei aard: een tool die zich misdraagt, een verkeerd resultaat, een fout in een Learn-artikel, of gewoon iets dat niet klopt. Functieverzoeken voor tools die er al zijn. Ideeën voor nieuwe tools die de toolbox zou moeten hebben. Correcties en aanvullingen op de Learn-artikelen, zoals een duidelijkere uitleg, een betere bron, of een ontbrekend onderwerp. Of gewoon een andere kijk op een probleem. Ruw mag; één zin is genoeg om een gesprek te beginnen.",
    "toolTitle": "Als je een nieuwe tool voorstelt",
    "toolBody": "Tools zijn hier kleine, zelfbeschrijvende modules: een manifest dat zegt wat de tool is en waar zijn juistheid vandaan komt, één pure functie die het werk doet, en een set golden vectors, de vaste invoer-uitvoerparen die het bewijzen. Een goede kandidaat rekent lokaal en deterministisch (dezelfde invoer geeft altijd dezelfde uitvoer, zonder klok, netwerk of toeval in het resultaat), houdt alles wat gevoelig is op het apparaat, en verankert zijn juistheid in een geciteerde bron zoals een RFC in plaats van in een mening. Je hoeft dat allemaal niet te bouwen om er een voor te stellen: beschrijf gewoon wat het moet berekenen, een voorbeeld, en de bron waarop het rust.",
    "fitRule": "Eén eenvoudige test bepaalt het. Elke tool hier draait volledig in je browser en stuurt niets ergens heen, dus een nieuwe tool moet iets zijn dat een computer alleen uit jouw invoer kan afleiden, door een vaste, gepubliceerde regel te volgen. Als het online moet, iets live moet opzoeken, je moet aanmelden of je moet onthouden, hoort het hier niet thuis.",
    "fitYes": "Past:",
    "fitYesBody": "iets decoderen of uitleggen dat je plakt (een token, een certificaat, een config, commando-uitvoer), tussen formaten converteren, berekenen op basis van een standaard of formule, of genereren volgens een regel, zoals een UUID, een hash of een opdrachtregel.",
    "fitNo": "Past niet:",
    "fitNoBody": "alles wat online moet of iets live moet controleren (een echte website testen, een live DNS-server bevragen, een adres scannen), alles wat een account, een aanmelding of opgeslagen gegevens nodig heeft, of alles waarvan het antwoord niet door een gepubliceerde standaard vastligt.",
    "fitUnsure": "Weet je niet aan welke kant je idee valt? Stuur het toch en zeg wat het zou moeten doen. Ik vertel je eerlijk of het past, en waarom.",
    "emailTitle": "Hoe je me bereikt",
    "emailBody": "E-mail is het kanaal. Vertel me wat je vond of wat je wilt, met genoeg detail om mee aan de slag te gaan: een voorbeeld, een link, de exacte formulering, wat past. Als het de toolbox beter maakt, wordt het gebouwd.",
    "emailLabel": "E-mail",
    "backToTools": "Terug naar de toolbox"
  },
  "languageStatus": {
    "title": "Vertaalstatus",
    "reviewed": "Door een mens nagekeken",
    "complete": "Machinaal, compleet",
    "partial": "Machinaal, in uitvoering",
    "explainTitle": "Hoe vertalingen worden gemarkeerd",
    "explainBody": "Engels en Braziliaans Portugees worden door een persoon geschreven en gecontroleerd. De meeste andere talen zijn machinaal vertaald en gemarkeerd op basis van hoe ver ze zijn: amber zodra een taal de hele site dekt, geel zolang nieuwere inhoud nog in het Engels is en wordt bijgewerkt. Talen die rood zijn gemarkeerd, hebben nog geen vertaling en worden voorlopig in het Engels getoond. Machinaal vertaalde pagina's bevatten ook een korte melding, en je bent welkom om ze te helpen verbeteren.",
    "stub": "Nog niet vertaald"
  },
  "changelog": {
    "eyebrow": "Wijzigingslogboek",
    "title": "Wat is er nieuw",
    "lede": "Een doorlopend overzicht van nieuwe tools, nieuwe Learn-artikelen en belangrijke wijzigingen op deze site. Er zijn vandaag {count} tools beschikbaar.",
    "kindLaunch": "Lancering",
    "kindTool": "Nieuwe tool",
    "kindFeature": "Functie",
    "kindI18n": "Lokalisatie",
    "kindContent": "Inhoud",
    "kindInfra": "Infrastructuur"
  }
}
