{
  "_meta": {
    "locale": "de",
    "status": "machine-draft",
    "note": "Vollständige deutsche Übersetzung (KI-Entwurf, formelles Sie). Vor Marketingkampagnen von einer Muttersprachlerin oder einem Muttersprachler prüfen lassen, gemäß der Qualitätsrichtlinie für Übersetzungen. Ohne Geviertstriche (em dash), gemäß den CONCORD-Vorgaben. Platzhalter und Eigennamen bleiben unverändert."
  },
  "site": {
    "name": "ronutz",
    "tagline": "Netzwerk- und Sicherheitswerkzeuge, die auf Ihrem Rechner laufen, nicht in der Cloud eines anderen."
  },
  "nav": {
    "tools": "Werkzeuge",
    "about": "Über mich",
    "certifications": "Zertifizierungen",
    "training": "Schulungen",
    "contact": "Kontakt",
    "skipToContent": "Zum Inhalt springen",
    "openMenu": "Menü öffnen",
    "closeMenu": "Menü schließen",
    "learn": "Lernen",
    "endorsements": "Empfehlungen",
    "certs": "Zertifizierungen"
  },
  "languageSwitcher": {
    "label": "Sprache",
    "stubNotice": "Diese Sprache ist noch nicht übersetzt. Es wird Englisch angezeigt."
  },
  "home": {
    "hero": {
      "eyebrow": "Von einem Praktiker gebaut, Datenschutz zuerst",
      "title": "Der Netzwerk- und Sicherheitskasten, der Ihre Daten auf Ihrem Rechner behält.",
      "subtitle": "Subnetz-Berechnungen, DNS- und E-Mail-Diagnose, Zertifikatsprüfung und mehr, lokal in Ihrem Browser berechnet. Kein Upload, keine Protokollierung, kein Konto für die alltäglichen Werkzeuge erforderlich.",
      "ctaPrimary": "Werkzeugkasten öffnen",
      "ctaSecondary": "Wer baut das"
    },
    "credibility": {
      "title": "Gebaut von jemandem, der die Arbeit seit 1996 macht.",
      "body": "Dreißig Jahre in Unternehmensnetzwerken und Sicherheit, geliefert als praktizierender Trainer statt als Marketingseite. Auf vier Plattformen zertifiziert, sodass die Vergleiche hier ehrlich gemacht und nicht verkauft werden.",
      "aboutCta": "Mehr über die Person dahinter"
    },
    "pillars": {
      "title": "Vier Plattformen, unterrichtet und aktuell gehalten.",
      "f5": "F5",
      "fortinet": "Fortinet",
      "extreme": "Extreme Networks",
      "netskope": "Netskope"
    },
    "privacy": {
      "title": "Warum Local-First für Sicherheitsarbeit wichtig ist.",
      "body": "Wenn Sie eine Konfiguration, einen Paketmitschnitt oder ein Zertifikat in ein Werkzeug einfügen, enthalten diese Daten oft Geheimnisse. Hier laufen die alltäglichen Werkzeuge vollständig in Ihrem Browser. Die Eingabe verlässt Ihr Gerät nie, also gibt es nichts zu protokollieren, zu leaken oder per Gerichtsbeschluss anzufordern."
    },
    "toolPreview": {
      "title": "Probieren Sie jetzt ein Werkzeug aus.",
      "body": "Der CIDR-Rechner unten läuft lokal. Geben Sie ein Netzwerk und einen Präfix ein, um den Adressbereich, die Hostanzahl und die Maske zu sehen. Es wird nichts irgendwohin gesendet.",
      "learnHeading": "Die Konzepte lernen",
      "toolboxCta": "Den vollständigen Werkzeugkasten öffnen",
      "seeAllArticles": "Alle Artikel ansehen"
    },
    "provenance": {
      "title": "Credits und Quellen",
      "show": "Anzeigen",
      "hide": "Ausblenden",
      "basisLabel": "Wie es funktioniert",
      "sourcesLabel": "Standards und Quellen"
    },
    "funding": {
      "title": "Dieses Werkzeug unterstützen",
      "pitch": "Dieses Werkzeug ist kostenlos und soll es bleiben. Wenn es einen Platz in Ihrem Arbeitsablauf verdient, können Sie helfen, seinen Unterhalt und das Kommende zu finanzieren.",
      "purposeLabel": "Aktuell finanziert"
    },
    "stats": {
      "tools": "Werkzeuge",
      "articles": "Artikel",
      "sectionLabel": "Das Toolkit auf einen Blick"
    }
  },
  "tools": {
    "cidr": {
      "title": "CIDR-Rechner",
      "description": "Berechnen Sie die Netzwerk- und Broadcast-Adressen, den nutzbaren Hostbereich, die Hostanzahl und die Netzmaske für einen IPv4-CIDR-Block. Läuft lokal in Ihrem Browser.",
      "inputLabel": "CIDR-Block",
      "inputPlaceholder": "192.168.1.0/24",
      "compute": "Berechnen",
      "runsLocally": "Läuft lokal. Es wird nichts an einen Server gesendet.",
      "prefixSlider": "Präfixlänge",
      "bitsHeading": "Adressbits",
      "bitsNetwork": "Netzwerk",
      "bitsHost": "Host",
      "bitsNote": "Die hervorgehobenen Bits kennzeichnen das Netzwerk — die übrigen adressieren Hosts darin.",
      "results": {
        "network": "Netzwerkadresse",
        "broadcast": "Broadcast-Adresse",
        "netmask": "Netzmaske",
        "wildcard": "Wildcard-Maske",
        "firstHost": "Erster nutzbarer Host",
        "lastHost": "Letzter nutzbarer Host",
        "totalAddresses": "Adressen gesamt",
        "usableHosts": "Nutzbare Hosts"
      },
      "errors": {
        "empty": "Geben Sie einen CIDR-Block zur Berechnung ein.",
        "invalid": "Das sieht nicht nach einem gültigen CIDR-Block aus. Versuchen Sie ein Format wie 192.168.1.0/24."
      },
      "name": "CIDR-/Subnetz-Rechner",
      "blurb": "Zerlegen Sie einen beliebigen IPv4-CIDR-Block in Netzwerk- und Broadcast-Adressen, den nutzbaren Host-Bereich, die Host-Anzahl und die Netzmaske. Läuft vollständig in Ihrem Browser.",
      "modes": {
        "subnet": "Subnetz",
        "vlsm": "VLSM",
        "supernet": "Supernetz",
        "overlap": "Überschneidung / Lücke"
      },
      "modeDesc": {
        "subnet": "Analysiert einen einzelnen IPv4-CIDR-Block: Netz, Broadcast, Maske und Host-Bereich.",
        "vlsm": "Teilt einen übergeordneten Block in Subnetze variabler Länge passend zu einer Liste von Host-Zahlen.",
        "supernet": "Fasst eine Liste von Präfixen zur kleinsten Menge abdeckender Blöcke zusammen.",
        "overlap": "Findet Überschneidungen und Verschachtelungen zwischen Präfixen sowie Lücken innerhalb eines optionalen Bereichs."
      },
      "vlsm": {
        "parentLabel": "Übergeordneter Block",
        "reqsLabel": "Subnetz-Anforderungen",
        "namePlaceholder": "Name (optional)",
        "hostsPlaceholder": "Hosts",
        "addRow": "Subnetz hinzufügen",
        "remove": "Entfernen",
        "run": "Zuweisen",
        "th": {
          "name": "Name",
          "hosts": "Hosts",
          "network": "Netz",
          "prefix": "Präfix",
          "netmask": "Netzmaske",
          "range": "Nutzbarer Bereich",
          "broadcast": "Broadcast",
          "usable": "Nutzbare Hosts"
        },
        "stat": {
          "parent": "Übergeordnet",
          "used": "Belegt",
          "free": "Frei",
          "utilization": "Auslastung"
        },
        "unfit": "Nicht passend",
        "parentPlaceholder": "10.0.0.0/24"
      },
      "supernet": {
        "label": "Zu aggregierende Präfixe",
        "run": "Aggregieren",
        "minimal": "Minimale abdeckende Menge",
        "single": "Einzelnes Supernetz",
        "singleExtra": "Fügt {extra} zusätzliche Adressen über die Eingaben hinaus hinzu.",
        "stat": {
          "inputs": "Eingabepräfixe",
          "addresses": "Adressen",
          "blocks": "Aggregierte Blöcke"
        },
        "placeholder": "192.168.0.0/24\n192.168.1.0/24"
      },
      "overlap": {
        "label": "Zu prüfende Präfixe",
        "scopeLabel": "Bereich (optional, aktiviert die Lückenerkennung)",
        "run": "Prüfen",
        "overlapsTitle": "Überschneidungen",
        "noOverlaps": "Keine Überschneidungen gefunden.",
        "gapsTitle": "Lücken im Bereich",
        "noGaps": "Keine Lücken im angegebenen Bereich.",
        "kind": {
          "identical": "identisch mit",
          "contains": "enthält",
          "contained": "liegt in",
          "partial": "überschneidet teilweise"
        },
        "addresses": "Adressen",
        "stat": {
          "covered": "Abgedeckt",
          "scope": "Bereich"
        },
        "placeholder": "10.0.0.0/24\n10.0.0.128/25",
        "scopePlaceholder": "10.0.0.0/16"
      },
      "err": {
        "ipv4": "Keine gültige IPv4-Adresse. Verwende vier Oktette von 0 bis 255, etwa 192.168.1.0.",
        "octet": "Ein Oktett liegt außerhalb des Bereichs (jedes muss zwischen 0 und 255 liegen).",
        "format": "Erwartet wird die Form A.B.C.D/Präfix, etwa 192.168.1.0/24.",
        "prefix": "Die Präfixlänge muss zwischen 0 und 32 liegen.",
        "tooMany": "Zu viele Einträge. Kürze die Liste und versuche es erneut.",
        "noReqs": "Füge mindestens eine Subnetz-Anforderung mit einer Host-Zahl hinzu.",
        "noPrefixes": "Gib mindestens ein Präfix ein, eines pro Zeile."
      },
      "rangeHeading": "Adressaufteilung",
      "usableShort": "nutzbar",
      "rfcNote": "/31 und /32 reservieren nichts: jede Adresse ist nutzbar (RFC 3021).",
      "reservedNote": "Die erste Adresse ist das Netz, die letzte der Broadcast; beide sind reserviert, also nutzbar = gesamt − 2."
    },
    "title": "Werkzeuge",
    "lede": "Kleine, schnelle, datenschutzfreundliche Dienstprogramme, die vollständig in Ihrem Browser laufen. Nichts, was Sie eingeben, wird irgendwohin gesendet. Weitere sind in Arbeit.",
    "open": "Öffnen",
    "comingSoon": "Demnächst",
    "note": "Dieser Werkzeugkasten wächst. Neue Werkzeuge werden hier hinzugefügt, sobald sie fertig sind, jedes Local-First und kostenlos nutzbar.",
    "learnHeading": "Die Konzepte lernen",
    "backToTools": "Werkzeuge",
    "references": "Referenzen",
    "jumpTo": "Springe zu",
    "categories": {
      "identity": "Identität & Tokens",
      "encoding": "Kodierung & Daten",
      "hashing": "Hashing & Krypto",
      "identifiers": "Bezeichner",
      "pki": "Zertifikate & PKI",
      "networking": "Netzwerk",
      "transport": "TLS und Transport"
    },
    "hash": {
      "name": "Hash-Generator (SHA-1/256/384/512)",
      "blurb": "Berechnen Sie SHA-1-, SHA-256-, SHA-384- und SHA-512-Digests eines beliebigen Textes, dargestellt als Hex und Base64, mit dem nativen Web Crypto des Browsers. Läuft vollständig in Ihrem Browser.",
      "algorithmLabel": "Hash-Algorithmus",
      "inputLabel": "Zu hashender Text",
      "inputPlaceholder": "The quick brown fox jumps over the lazy dog",
      "runsLocally": "Das Hashing läuft lokal über Web Crypto. Nichts, was Sie eingeben, verlässt Ihren Browser.",
      "bits": "{bits} Bit ({bytes} Byte)",
      "sha1Note": "SHA-1 ist hinsichtlich der Kollisionsresistenz gebrochen und für Sicherheit (Signaturen, Zertifikate) ungeeignet. Es taugt nur für sicherheitsunkritische Prüfsummen und Legacy-Interoperabilität.",
      "hex": "Hex",
      "base64": "Base64",
      "copy": "Kopieren",
      "copied": "Kopiert"
    },
    "hmac": {
      "name": "HMAC-Generator (SHA-256/384/512)",
      "blurb": "Berechnen Sie einen schlüsselbasierten HMAC über eine Nachricht mit Ihrem geheimen Schlüssel, dargestellt als Hex und Base64, über das native Web Crypto des Browsers. Dieselbe Konstruktion, die der JWT-Verifizierer für HS256 verwendet. Ihr Schlüssel verlässt nie Ihren Browser.",
      "algorithmLabel": "HMAC-Algorithmus",
      "messageLabel": "Nachricht",
      "messagePlaceholder": "Die zu authentifizierende Nachricht",
      "keyLabel": "Geheimer Schlüssel",
      "keyPlaceholder": "Ihr gemeinsames Geheimnis",
      "runsLocally": "HMAC läuft lokal über Web Crypto. Ihre Nachricht und Ihr Schlüssel verlassen nie Ihren Browser.",
      "hex": "Hex",
      "base64": "Base64",
      "copy": "Kopieren",
      "copied": "Kopiert",
      "struct": {
        "heading": "Wie HMAC aufgebaut ist",
        "innerHash": "innerer Hash",
        "note": "HMAC hasht die Nachricht zweimal. Der Schlüssel wird vor dem ersten Hash per XOR mit einem festen inneren Pad und vor dem zweiten mit einem äußeren Pad verknüpft, und diese Zwei-Pad-Konstruktion verhindert Length-Extension-Angriffe. Der Schlüssel wird zuvor auf die Blockgröße des Hashes gebracht."
      }
    },
    "base64": {
      "name": "Base64-, Base32-, Hex- und Prozent-Codec",
      "blurb": "Kodieren Sie Text in Base64, URL-sicheres Base64, Base32, Hexadezimal oder Prozentkodierung, und dekodieren Sie jedes davon zurück. Toleriert fehlende Auffüllung und Leerzeichen und kennzeichnet binäre (nicht UTF-8) Ergebnisse. Läuft vollständig in Ihrem Browser.",
      "directionLabel": "Richtung",
      "direction": {
        "encode": "Kodieren",
        "decode": "Dekodieren"
      },
      "inputLabelEncode": "Zu kodierender Text",
      "inputLabelDecode": "Zu dekodierender kodierter Text",
      "placeholderEncode": "Hello, World!",
      "placeholderDecode": "SGVsbG8sIFdvcmxkIQ==",
      "runsLocally": "Kodierung und Dekodierung laufen lokal. Nichts, was Sie einfügen, verlässt Ihren Browser.",
      "decodeErrors": {
        "invalid-characters": "Diese Eingabe enthält Zeichen außerhalb des Alphabets des ausgewählten Codecs.",
        "invalid-length": "Diese Eingabe hat keine gültige Länge für den ausgewählten Codec.",
        "invalid-escape": "Diese Eingabe enthält eine fehlerhafte Prozent-Escape-Sequenz (ein % ohne zwei folgende Hexadezimalziffern)."
      },
      "outputEncode": "Kodiert",
      "outputDecode": "Dekodierter Text",
      "copy": "Kopieren",
      "copied": "Kopiert",
      "emptyOutput": "(leer)",
      "decodedBytes": "{bytes, plural, one {# Byte dekodiert} other {# Bytes dekodiert}}.",
      "notUtf8": "{bytes, plural, one {# Byte dekodiert} other {# Bytes dekodiert}}, aber das Ergebnis ist kein gültiger UTF-8-Text (wahrscheinlich binär).",
      "codecLabel": "Codec",
      "codec": {
        "base64": "Base64",
        "base64url": "Base64URL",
        "base32": "Base32",
        "base16": "Hex",
        "percent": "Percent"
      }
    },
    "pkce": {
      "name": "OAuth-PKCE-Verifizierer und -Challenge",
      "blurb": "Erzeugen Sie einen OAuth-2.0-code_verifier und leiten Sie dessen S256-code_challenge ab, oder fügen Sie Ihren eigenen ein und prüfen Sie ihn gegen die Längen- und Zeichensatzregeln von RFC 7636. Dieselbe SHA-256-base64url-Ableitung, die Ihr Autorisierungsserver erwartet. Läuft vollständig in Ihrem Browser.",
      "verifierLabel": "Code-Verifier",
      "verifierPlaceholder": "code_verifier einfügen oder einen erzeugen",
      "generate": "Erzeugen",
      "runsLocally": "Erzeugung und Ableitung laufen lokal. Ihr Verifier verlässt nie Ihren Browser.",
      "lengthBadge": "Länge {length} (43-128)",
      "charsetOk": "Unreservierter Zeichensatz",
      "charsetBad": "Ungültige Zeichen",
      "s256Title": "Code-Challenge · S256",
      "plainTitle": "Code-Challenge · plain",
      "plainNote": "Von der plain-Methode wird abgeraten. Verwenden Sie S256, wo immer der Client SHA-256 berechnen kann.",
      "encodingLabel": "base64url",
      "plainValueLabel": "= code_verifier",
      "copy": "Kopieren",
      "copied": "Kopiert",
      "flowHeading": "Wie PKCE funktioniert",
      "laneClient": "App / Client",
      "laneServer": "Autorisierungsserver",
      "s1": "Zufälligen code_verifier erzeugen",
      "s2": "code_challenge ableiten",
      "s3": "Autorisierungsanfrage trägt die Challenge",
      "s4": "Server speichert die Challenge",
      "s5": "Autorisierungscode zurückgegeben",
      "s6": "Token-Anfrage trägt den Verifier",
      "s7": "Server leitet erneut ab und vergleicht",
      "s8": "Access- und Refresh-Token ausgestellt"
    },
    "uuid": {
      "name": "UUID-Generator und -Inspektor (v4 / v7)",
      "blurb": "Erzeugen Sie zufällige v4- oder zeitgeordnete v7-UUIDs oder fügen Sie eine beliebige UUID ein, um ihre Version, Variante und (bei v7) den eingebetteten Erstellungszeitstempel zu lesen. Die Erzeugung nutzt die sichere Zufallsquelle des Browsers. Läuft vollständig in Ihrem Browser.",
      "versionLabel": "UUID-Version",
      "generate": "Erzeugen",
      "clear": "Leeren",
      "emptyHint": "Wählen Sie eine Version und erzeugen Sie.",
      "runsLocally": "Erzeugung und Inspektion laufen lokal. Nichts wird irgendwohin gesendet.",
      "copy": "Kopieren",
      "copied": "Kopiert",
      "inspectLabel": "Eine UUID inspizieren",
      "inspectPlaceholder": "Beliebige UUID einfügen, um sie zu dekodieren",
      "valid": "Gültige UUID",
      "invalid": "Keine gültige UUID",
      "versionField": "Version",
      "variantField": "Variante",
      "timestampField": "Zeitstempel (v7)",
      "versionValue": "Version {version}"
    },
    "jwt": {
      "name": "JWT-Decoder und -Verifizierer",
      "blurb": "Dekodieren Sie Header und Claims eines JSON Web Token, lesen Sie Ablauf und Zeitangaben in Klartext und verifizieren Sie eine HS256/384/512-Signatur mit einem eingefügten Geheimnis. Läuft vollständig in Ihrem Browser.",
      "inputLabel": "JSON Web Token",
      "inputPlaceholder": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
      "runsLocally": "Dekodierung und Signaturprüfungen laufen lokal. Token und Geheimnis verlassen nie Ihren Browser.",
      "errors": {
        "empty": "Fügen Sie einen JSON Web Token zum Dekodieren ein.",
        "format": "Das sieht nicht nach einem JWT aus. Ein Token hat drei base64url-Teile, getrennt durch Punkte: header.payload.signature.",
        "header": "Der Header ist nicht gültig. Er sollte base64url-kodiertes JSON sein.",
        "payload": "Die Payload ist nicht gültig. Sie sollte base64url-kodiertes JSON sein."
      },
      "panels": {
        "header": "Header",
        "payload": "Payload",
        "signature": "Signatur",
        "noSignature": "Kein Signatursegment (ungesicherter Token)."
      },
      "claims": {
        "iss": "Aussteller (iss)",
        "sub": "Subjekt (sub)",
        "aud": "Zielgruppe (aud)",
        "jti": "JWT-ID (jti)",
        "iat": "Ausgestellt am (iat)",
        "nbf": "Nicht vor (nbf)",
        "exp": "Läuft ab (exp)"
      },
      "status": {
        "expired": "Abgelaufen {rel}",
        "expiresIn": "Gültig, läuft ab {rel}",
        "notYetValid": "Noch nicht gültig, beginnt {rel}",
        "noExpiry": "Kein Ablauf-Claim (exp)"
      },
      "verify": {
        "label": "HMAC-Signatur verifizieren (HS256/384/512)",
        "placeholder": "gemeinsames Geheimnis",
        "button": "Verifizieren",
        "valid": "Signatur für dieses Geheimnis gültig.",
        "invalid": "Signatur passt nicht zu diesem Geheimnis.",
        "algNone": "Dieser Token ist ungesichert (alg: none), daher gibt es keine Signatur zu verifizieren.",
        "unsupportedAlg": "Die Verifizierung im Browser deckt nur HS256/384/512 ab. {alg} ist asymmetrisch und benötigt einen öffentlichen Schlüssel.",
        "hint": "Das Geheimnis wird nur zur Berechnung eines HMAC in Ihrem Browser verwendet. Es wird nie irgendwohin gesendet."
      },
      "struct": {
        "heading": "Aufbau eines JWT",
        "signingInput": "Signatureingabe",
        "note": "Header und Payload sind nur base64url-codiert, nicht verschlüsselt, sodass jeder sie lesen kann. Die Signatur wird über Header und Payload gebildet, die mit einem Punkt verbunden sind, und ist das, was eine Prüfung verifiziert."
      }
    },
    "x509": {
      "name": "X.509-Zertifikat-Decoder",
      "blurb": "Fügen Sie ein Zertifikat als PEM, base64 oder hex ein, um Inhaber, Aussteller, Gültigkeitsfenster, öffentlichen Schlüssel und v3-Erweiterungen zu lesen, mit SHA-256- und SHA-1-Fingerabdrücken. Läuft vollständig in Ihrem Browser.",
      "inputLabel": "X.509-Zertifikat",
      "inputPlaceholder": "-----BEGIN CERTIFICATE-----\nMIIB...\n-----END CERTIFICATE-----",
      "runsLocally": "Dekodierung und Fingerabdrücke laufen lokal. Das Zertifikat verlässt nie Ihren Browser.",
      "errors": {
        "empty": "Fügen Sie ein X.509-Zertifikat zum Dekodieren ein.",
        "format": "Das sieht nicht nach einem Zertifikat aus. Fügen Sie PEM (-----BEGIN CERTIFICATE-----), base64 oder hex ein.",
        "der": "Die Bytes sind kein gültiges DER. Prüfen Sie, ob das ganze Zertifikat eingefügt wurde, einschließlich der END-Zeile.",
        "structure": "Dies dekodiert als ASN.1, ist aber kein X.509-Zertifikat. Ein Zertifikat ist eine SEQUENCE aus TBSCertificate, signatureAlgorithm und signatureValue."
      },
      "status": {
        "valid": "Gültig, läuft ab {rel}",
        "expired": "Abgelaufen {rel}",
        "notYetValid": "Noch nicht gültig, beginnt {rel}"
      },
      "panels": {
        "subject": "Inhaber",
        "issuer": "Aussteller",
        "details": "Details",
        "publicKey": "Öffentlicher Schlüssel",
        "extensions": "Erweiterungen",
        "fingerprints": "Fingerabdrücke",
        "sct": "Certificate Transparency"
      },
      "fields": {
        "version": "Version",
        "serial": "Seriennummer",
        "notBefore": "Nicht vor",
        "notAfter": "Nicht nach",
        "signatureAlgorithm": "Signaturalgorithmus",
        "algorithm": "Algorithmus",
        "keySize": "Schlüsselgröße",
        "exponent": "Exponent",
        "curve": "Kurve",
        "bits": "{n} Bit",
        "selfSigned": "Selbstausgestellt"
      },
      "ext": {
        "san": "Alternative Antragstellernamen",
        "keyUsage": "Schlüsselverwendung",
        "extKeyUsage": "Erweiterte Schlüsselverwendung",
        "basicConstraints": "Basiseinschränkungen",
        "subjectKeyId": "Schlüsselkennung des Inhabers",
        "authorityKeyId": "Schlüsselkennung der Zertifizierungsstelle",
        "caTrue": "Zertifizierungsstelle (CA: true)",
        "caFalse": "Keine CA (CA: false)",
        "pathLen": "Pfadlänge {n}",
        "critical": "kritisch"
      },
      "fp": {
        "sha256": "SHA-256",
        "sha1": "SHA-1",
        "computing": "Fingerabdrücke werden berechnet..."
      },
      "chainHeading": "Vertrauenskette",
      "tierRoot": "Root-CA",
      "tierIntermediate": "Zwischen-CA",
      "tierLeaf": "Endzertifikat",
      "roleRoot": "Selbstsignierter Vertrauensanker",
      "roleIntermediate": "Von einer Root signiert; signiert Endzertifikate",
      "roleLeaf": "Identifiziert einen Server oder Client",
      "thisCert": "dieses Zertifikat",
      "issuedBy": "Ausgestellt von",
      "signs": "signiert",
      "trustNote": "Vertrauen fließt nach unten: Jedes Zertifikat wird vom darüberliegenden signiert, bis zu einer Root, der Ihr System bereits vertraut.",
      "sct": {
        "intro": "Eingebettete SCTs: {n}. Jeder ist der signierte Nachweis eines CT-Logs, dass es dieses Zertifikat erfasst hat; Browser verlangen eine Mindestanzahl, damit das Zertifikat vertrauenswürdig ist.",
        "entry": "SCT {i}",
        "logId": "Log-ID",
        "timestamp": "Protokolliert am",
        "signature": "Signatur",
        "note": "Signaturen werden angezeigt, aber hier nicht verifiziert; die Verifizierung eines SCT erfordert den öffentlichen Schlüssel des Logs und das Vorzertifikat."
      }
    },
    "ipv6": {
      "name": "IPv6-Toolkit",
      "blurb": "Parsen Sie eine IPv6-Adresse oder ein Präfix, um die kanonische (RFC 5952) und vollständig expandierte Form, die Klassifizierung als Sonderverwendung, die Präfix-Arithmetik, eine EUI-64-MAC (falls vorhanden) und den ip6.arpa-Reverse-DNS-Namen zu sehen. Läuft vollständig in Ihrem Browser.",
      "inputLabel": "IPv6-Adresse oder -Präfix",
      "inputPlaceholder": "2001:db8::1/64",
      "runsLocally": "Das Parsen läuft lokal. Die Adresse verlässt nie Ihren Browser.",
      "errors": {
        "empty": "Geben Sie eine IPv6-Adresse oder ein Präfix zum Dekodieren ein.",
        "format": "Das ist keine gültige IPv6-Adresse. Verwenden Sie acht Hex-Gruppen, optional einmal mit :: komprimiert (zum Beispiel 2001:db8::1).",
        "prefix": "Die Präfixlänge ist nicht gültig. Für IPv6 muss sie zwischen 0 und 128 liegen."
      },
      "panels": {
        "forms": "Kanonische Formen",
        "classification": "Klassifizierung",
        "prefix": "Präfix",
        "identifiers": "Bezeichner"
      },
      "fields": {
        "compressed": "Komprimiert (RFC 5952)",
        "expanded": "Expandiert",
        "type": "Typ",
        "scope": "Geltungsbereich",
        "embeddedIpv4": "Eingebettete IPv4",
        "network": "Netzwerk",
        "firstAddress": "Erste Adresse",
        "lastAddress": "Letzte Adresse",
        "count": "Adressen",
        "hostBits": "Host-Bits",
        "eui64": "EUI-64-MAC",
        "reverseDns": "Reverse-DNS (ip6.arpa)"
      },
      "badges": {
        "multicast": "Multicast"
      },
      "segHeading": "Adressstruktur",
      "networkSeg": "Netzpräfix",
      "ifaceId": "Interface-ID",
      "hostBits": "Host-Bits",
      "prefixNote": "Bits links der Grenze legt das Präfix fest; Bits rechts identifizieren den Host darin.",
      "conventionNote": "Kein Präfix angegeben, daher markiert die gestrichelte Linie die übliche /64-Teilung: Routing-Präfix und Subnetz links, der 64-Bit-Interface-Identifier rechts."
    },
    "cipher": {
      "name": "Cipher-Suite-Decoder",
      "blurb": "Gib eine TLS-Cipher-Suite ein, als IANA-Name, OpenSSL- oder GnuTLS-Name oder als Hex-Codepunkt, um sie in Schlüsselaustausch, Authentifizierung, Verschlüsselung, Modus und MAC aufzuschlüsseln, mit einer verständlichen Sicherheitsbewertung und der offiziellen IANA-Empfehlung. Läuft vollständig in deinem Browser gegen eine eingebettete Kopie der IANA-Registry.",
      "inputLabel": "Cipher-Suite",
      "inputPlaceholder": "TLS_AES_128_GCM_SHA256, ECDHE-RSA-AES128-GCM-SHA256 oder 0x1301",
      "runsLocally": "Die Dekodierung läuft lokal gegen eine eingebettete Kopie der IANA-TLS-Cipher-Suite-Registry. Es wird nichts irgendwohin gesendet.",
      "notInRegistryNote": "Dieser Name wurde strukturell analysiert, aber nicht im eingebetteten Abzug der IANA-Registry gefunden – sein Codepunkt und die alternativen Namen werden daher nicht angezeigt.",
      "errors": {
        "empty": "Gib eine Cipher-Suite zum Dekodieren ein.",
        "format": "Das ist keine Cipher-Suite. Gib einen IANA-Namen (TLS_...), einen OpenSSL-Namen oder einen Hex-Codepunkt wie 0x1301 ein.",
        "unknown": "Das ist ein gültiges Codepunkt-Format, aber keine in der IANA-Registry vergebene Cipher-Suite."
      },
      "ratings": {
        "recommended": "Empfohlen",
        "secure": "Sicher",
        "weak": "Schwach",
        "insecure": "Unsicher",
        "unknown": "Unbekannt"
      },
      "iana": {
        "Y": "IANA: empfohlen",
        "N": "IANA: nicht empfohlen",
        "D": "IANA: abgeraten"
      },
      "badges": {
        "tls13": "TLS 1.3",
        "notInRegistry": "Nicht im IANA-Abzug"
      },
      "panels": {
        "identity": "Identität",
        "components": "Komponenten",
        "security": "Sicherheit"
      },
      "fields": {
        "codePoint": "Codepunkt",
        "name": "IANA-Name",
        "openssl": "OpenSSL-Name",
        "gnutls": "GnuTLS-Name",
        "protocol": "Protokoll",
        "dtls": "DTLS-OK",
        "references": "Referenzen"
      },
      "protocol": {
        "tls13": "TLS 1.3",
        "legacy": "TLS 1.2 und früher"
      },
      "comp": {
        "keyExchange": "Schlüsselaustausch",
        "authentication": "Authentifizierung",
        "forwardSecrecy": "Forward Secrecy",
        "cipher": "Verschlüsselung",
        "mode": "Modus",
        "aead": "AEAD",
        "prf": "PRF-/KDF-Hash",
        "mac": "MAC",
        "yes": "Ja",
        "no": "Nein",
        "bits": "{n} Bit",
        "negotiatedSeparately": "Separat ausgehandelt (TLS 1.3)"
      },
      "reasons": {
        "nullCipher": "NULL-Verschlüsselung: Der Datenverkehr wird überhaupt nicht verschlüsselt.",
        "anon": "Anonymer Schlüsselaustausch: Die Gegenstelle wird nicht authentifiziert und bietet damit keinen Schutz vor einem aktiven Man-in-the-Middle.",
        "export40": "Schlüssel in Exportstärke (40 Bit): trivial per Brute Force zu knacken, ein Relikt der Exportregeln der 1990er.",
        "rc4": "RC4-Stromchiffre: Der verzerrte Schlüsselstrom macht sie gebrochen, und RFC 7465 verbietet sie für TLS.",
        "singleDes": "Einfaches DES mit 56-Bit-Schlüssel: in Stunden per Brute Force zu knacken.",
        "rc2": "RC2: eine veraltete 40/64-Bit-Chiffre, für moderne Nutzung nicht sicher.",
        "tripleDes": "3DES hat eine 64-Bit-Blockgröße, was es dem Sweet32-Geburtstagsangriff aussetzt (CVE-2016-2183). RFC 8429 erklärt es für veraltet.",
        "md5Mac": "MD5-MAC: MD5 ist kryptografisch gebrochen.",
        "cbcMac": "CBC mit einem HMAC-SHA1- oder MD5-MAC nutzt MAC-then-encrypt und ist Padding-Oracle-Angriffen wie BEAST und Lucky13 ausgesetzt.",
        "ccm8": "CCM_8 kürzt das Authentifizierungs-Tag auf 8 Byte und schwächt damit die Integrität. IANA stuft es nicht als empfohlen ein.",
        "noFs": "Keine Forward Secrecy: Bei statischem Schlüsselaustausch kann ein kompromittierter Langzeitschlüssel vergangene Sitzungen entschlüsseln. Moderne Vorgaben verlangen ECDHE oder DHE.",
        "legacyCipher": "{value} ist eine veraltete Chiffre, für TLS überholt.",
        "aead": "AEAD-Chiffre (authentifizierte Verschlüsselung): Vertraulichkeit und Integrität in einer Primitive, ohne separaten MAC, der falsch verwendet werden könnte.",
        "fs": "Forward Secrecy: Ein flüchtiger Schlüsselaustausch hält vergangenen Verkehr sicher, selbst wenn der Langzeitschlüssel später kompromittiert wird.",
        "tls13": "TLS-1.3-Suite: nur moderne AEAD-Chiffren, mit separat ausgehandeltem und stets flüchtigem Schlüsselaustausch.",
        "ianaD": "IANA kennzeichnet diese Suite als \"D\" (abgeraten): Sie SOLLTE NICHT oder DARF NICHT verwendet werden, je nach Situation.",
        "ianaN": "IANA kennzeichnet diese Suite nicht als \"Empfohlen\": begrenzte Anwendbarkeit oder kein IETF-Konsensverfahren durchlaufen.",
        "signalling": "Signalisierungs-Suite (SCSV): keine echte Chiffre, sondern ein Protokollsignal wie Downgrade-Schutz oder Renegotiation-Info."
      },
      "groups": {
        "title": "Schlüsselaustausch-Gruppen",
        "intro": "TLS handelt die eigentliche Schlüsselaustausch-Gruppe getrennt von der Cipher Suite aus, in der Erweiterung supported_groups. Da \"harvest now, decrypt later\" den Wechsel zu Post-Quanten-Schlüsselaustausch antreibt, kombinieren die folgenden Hybrid-Gruppen eine klassische Kurve mit ML-KEM.",
        "kind": {
          "ecdhe": "ECDHE-Kurve",
          "ffdhe": "DH über endlichem Körper",
          "pq-hybrid": "PQ-Hybrid"
        },
        "pq": {
          "classical": "Klassisch",
          "hybrid-pq": "Hybrid-PQ"
        },
        "recommended": "Empfohlen",
        "obsolete": "Veraltet",
        "legacy": "Alt",
        "combines": "Kombiniert {classical} mit {pq}",
        "foot": "X25519MLKEM768 ist die Hybrid-Gruppe, die die meisten Browser inzwischen standardmäßig senden."
      }
    },
    "f5-ssl-profile-explainer": {
      "name": "F5 SSL-Profil-Erklärer",
      "blurb": "Fügen Sie ein tmsh-Profil (client-ssl oder server-ssl) ein und erhalten Sie dessen Rolle, die TLS-Protokollmatrix und eine Sicherheitsbewertung zu Kette, Renegotiation, SNI, OCSP und gegenseitigem TLS — alles im Browser.",
      "inputLabel": "SSL-Profil (tmsh)",
      "inputPlaceholder": "ltm profile client-ssl /Common/name ...",
      "runsLocally": "Im Browser verarbeitet. Es wird nichts gesendet.",
      "scopeNote": "Entschlüsselt einen eingefügten Profilblock. Kontaktiert nie ein BIG-IP.",
      "errorTitle": "Profil konnte nicht gelesen werden",
      "err_empty": "Fügen Sie ein SSL-Profil ein, um zu beginnen.",
      "err_noHeader": "Erwartet wurde eine Zeile wie: ltm profile client-ssl /Common/name ...",
      "err_noBody": "Keine öffnende Klammer im Profil gefunden.",
      "err_tooLong": "Diese Eingabe ist zu groß zum Verarbeiten.",
      "err_invalid": "Das sieht nicht nach einem client-ssl- oder server-ssl-Profil aus.",
      "protocolsHeading": "TLS-Protokollversionen",
      "permitted": "erlaubt",
      "disabled": "deaktiviert",
      "findingsHeading": "Sicherheitsbewertung",
      "settingsHeading": "Einstellungen erklärt",
      "topoHeading": "Im Datenpfad",
      "nodeClient": "Client",
      "nodeBigip": "BIG-IP",
      "nodePool": "Pool-Mitglied",
      "clientLeg": "Clientseitiges TLS",
      "serverLeg": "Serverseite",
      "thisProfile": "dieses Profil",
      "clientNote": "Ein client-ssl-Profil terminiert das TLS des Clients am BIG-IP. Die Verbindung zum Pool-Mitglied wird nur dann neu verschlüsselt, wenn ein server-ssl-Profil angewendet wird; ohne ein solches ist dieser Abschnitt Klartext (SSL-Offload).",
      "serverNote": "Ein server-ssl-Profil lässt das BIG-IP eine neue TLS-Verbindung zum Pool-Mitglied öffnen (Neuverschlüsselung). Die Clientseite übernimmt ein separates client-ssl-Profil."
    },
    "epoch": {
      "name": "Unix-Zeit-Konverter",
      "blurb": "Geben Sie einen Unix-Zeitstempel — Sekunden, Millisekunden, Mikrosekunden oder Nanosekunden, automatisch erkannt — oder ein ISO-8601-Datum ein und lesen Sie es in allen gängigen Formaten zurück. Alles im Browser.",
      "inputLabel": "Zeitstempel oder Datum",
      "inputPlaceholder": "1700000000  oder  2023-11-14T22:13:20Z",
      "runsLocally": "Im Browser umgewandelt. Es wird nichts gesendet.",
      "scopeNote": "Reine Datumsarithmetik. Die Einheit wird aus der Größe der Zahl abgeleitet; bei Bedarf korrigieren.",
      "nowButton": "Jetzt",
      "errorTitle": "Konnte das nicht lesen",
      "err_empty": "Geben Sie einen Zeitstempel oder ein Datum ein, um zu beginnen.",
      "err_invalid": "Das ist kein Unix-Zeitstempel und kein ISO-8601-Datum.",
      "err_tooLong": "Diese Eingabe ist zu lang.",
      "err_outOfRange": "Dieser Zeitstempel liegt außerhalb des darstellbaren Datumsbereichs.",
      "utcHeading": "UTC-Datum und -Uhrzeit",
      "formatsHeading": "Alle Formate",
      "dayOfYearLabel": "Tag des Jahres",
      "relativeNote": "relativ zur Uhr Ihres Geräts"
    },
    "irules-event-order": {
      "name": "iRule-Ereignisreihenfolge",
      "blurb": "Wählen Sie den Profil-Stack eines BIG-IP-Virtual-Servers — Client-SSL, HTTP, Server-SSL, Pool — und sehen Sie die Reihenfolge, in der die gängigen iRule-Ereignisse auslösen, von CLIENT_ACCEPTED bis CLIENT_CLOSED, als Zeitachse und Liste. Alles im Browser.",
      "stackLabel": "Profil-Stack des Virtual Servers",
      "tog_clientssl": "Client-SSL-Profil",
      "tog_http": "HTTP-Profil",
      "tog_serverssl": "Server-SSL-Profil",
      "tog_pool": "Pool (Lastverteilung)",
      "tog_fastl4": "FastL4 (Paket-Schnellpfad)",
      "presetsLabel": "Vorlagen:",
      "preset_https": "HTTPS mit Neuverschlüsselung",
      "preset_offload": "SSL-Offload",
      "preset_http": "HTTP",
      "preset_tcp": "Reines TCP",
      "runsLocally": "Im Browser berechnet. Es wird nichts gesendet.",
      "scopeNote": "Ein Modell des dokumentierten F5-Verhaltens für einen Standard-Virtual-Server. Es kontaktiert nie ein BIG-IP.",
      "diagramHeading": "Ereignisablauf",
      "listHeading": "Ereignisse in Reihenfolge",
      "conditionalHeading": "Bedingte Ereignisse",
      "conditionalNote": "Diese lösen nur unter bestimmten Bedingungen aus: ein TCP::collect oder HTTP::collect, ein Fehler bei der Lastverteilung oder eine 100-Continue-Antwort.",
      "sideClient": "Client-Seite",
      "sideServer": "Server-Seite",
      "sideGlobal": "global"
    },
    "cert-renewal-planner": {
      "name": "Zertifikat-Erneuerungsplaner",
      "blurb": "Ermitteln Sie die Gültigkeit eines TLS-Zertifikats, ob es in den 47-Tage-Zeitplan des CA/Browser Forums passt, und den daraus folgenden Erneuerungsrhythmus; alles offline.",
      "notBeforeLabel": "Ausgestellt (notBefore)",
      "notAfterLabel": "Läuft ab (notAfter)",
      "runsLocally": "Alles läuft in Ihrem Browser; nichts wird hochgeladen.",
      "exampleLabel": "90-Tage-Beispiel ausprobieren",
      "summaryHeading": "Dieses Zertifikat",
      "validity": "{days} Tage Gültigkeit",
      "compliantBadge": "Innerhalb des Limits",
      "overCapBadge": "Über dem Limit",
      "maxForPhase": "Maximum für sein Ausstellungsdatum: {max} Tage.",
      "overByText": "{days} Tage über dem Maximum von {max} Tagen für sein Ausstellungsdatum; eine öffentliche CA würde es nicht ausstellen.",
      "renewalsValue": "Etwa {n} Erneuerungen pro Jahr bei dieser Gültigkeit.",
      "remainingHeading": "Nach Ihrer Geräteuhr",
      "daysRemaining": "{days} Tage bis zum Ablauf.",
      "expiredText": "Vor {days} Tagen abgelaufen.",
      "renewByText": "Erneuern bis {date} (etwa {lead} Tage vor Ablauf)",
      "renewByDue": "in {days} Tagen",
      "reuseHeading": "Wiederverwendung der Validierung (Ausstellungsära)",
      "dcvText": "Domain-Validierungsdaten (DCV) können {days} Tage wiederverwendet werden.",
      "siiText": "Organisationsidentität (OV/EV SII) kann {days} Tage wiederverwendet werden.",
      "scheduleHeading": "Der SC-081v3-Zeitplan",
      "scheduleIntro": "Öffentliche TLS-Maxima richten sich nach dem Ausstellungsdatum des Zertifikats:",
      "colPeriod": "Ausgestellt ab",
      "colValidity": "Max. Gültigkeit (Tage)",
      "colDcv": "DCV-Wiederverwendung (Tage)",
      "colSii": "SII-Wiederverwendung (Tage)",
      "phaseP0": "Vor 15. März 2026",
      "phaseP1": "15. März 2026",
      "phaseP2": "15. März 2027",
      "phaseP3": "15. März 2029",
      "yourPhase": "← dieses Zertifikat",
      "projectionHeading": "Erneuerungslast bei jedem Limit",
      "projectionIntro": "Erneuerungen pro Zertifikat und Jahr, wenn die Limits sinken:",
      "perYearShort": "Jahr",
      "note_overCap": "Diese Gültigkeit überschreitet das Maximum von {max} Tagen für sein Ausstellungsdatum.",
      "note_future47": "Heute konform, aber länger als das künftige 47-Tage-Limit; mit fortschreitendem Zeitplan sind häufigere Erneuerungen zu erwarten.",
      "note_publicOnly": "Diese Limits gelten nur für öffentlich vertrauenswürdige TLS-Zertifikate. Private oder interne PKI unterliegt nicht der SC-081v3.",
      "note_automate": "Bei diesen Rhythmen sollten Ausstellung und Erneuerung mit ACME (RFC 8555) und ARI (RFC 9773) automatisiert werden; manuelle Erneuerung skaliert nicht.",
      "err_empty": "Geben Sie beide Daten ein, Ausstellung und Ablauf.",
      "err_invalidDate": "Verwenden Sie ein gültiges Datum (JJJJ-MM-TT).",
      "err_order": "Das Ablaufdatum muss nach dem Ausstellungsdatum liegen.",
      "err_tooLong": "Diese Eingabe ist zu lang.",
      "err_invalid": "Diese Daten konnten nicht gelesen werden."
    },
    "csr-decoder": {
      "name": "CSR-Decoder",
      "blurb": "Dekodieren Sie eine PKCS#10-Zertifikatsignieranforderung, um Antragsteller, öffentlichen Schlüssel, angeforderte SANs und Erweiterungen sowie Attribute zu lesen; vollständig im Browser.",
      "inputLabel": "Zertifikatsignieranforderung (PEM, Base64 oder Hex)",
      "inputPlaceholder": "-----BEGIN CERTIFICATE REQUEST-----\n...",
      "exampleLabel": "Beispiel-CSR laden",
      "runsLocally": "Alles läuft in Ihrem Browser; die CSR wird nie hochgeladen.",
      "notCertNote": "Eine CSR ist eine Anforderung, kein Zertifikat. Sie hat keine Seriennummer, keinen Aussteller und keine Gültigkeitsdaten; nur das, worum der Antragsteller eine CA bittet.",
      "subjectHeading": "Antragsteller",
      "colAttr": "Attribut",
      "colValue": "Wert",
      "noSubject": "Kein Antragstellername (diese CSR stützt sich auf angeforderte SANs).",
      "keyHeading": "Öffentlicher Schlüssel",
      "keyAlgorithmLabel": "Algorithmus",
      "keySizeLabel": "Größe",
      "keySizeValue": "{bits} Bit",
      "keyCurveLabel": "Kurve",
      "keyExponentLabel": "Exponent",
      "keyExponentValue": "{exp}",
      "requestedHeading": "Angeforderte Erweiterungen",
      "sanLabel": "Subject Alternative Names",
      "keyUsageLabel": "Schlüsselverwendung",
      "ekuLabel": "Erweiterte Schlüsselverwendung",
      "basicConstraintsLabel": "Basiseinschränkungen",
      "caYes": "CA: ja",
      "caNo": "CA: nein",
      "pathLenValue": "Pfadlänge {n}",
      "noRequested": "Keine Erweiterungen angefordert.",
      "attributesHeading": "Attribute",
      "challengePasswordLabel": "Challenge-Passwort",
      "unstructuredNameLabel": "Unstrukturierter Name",
      "signatureHeading": "Selbstsignatur",
      "signatureAlgLabel": "Algorithmus",
      "signatureBitsLabel": "Länge",
      "signatureBitsValue": "{bits} Bit",
      "versionValue": "Version: v1 ({v})",
      "derLengthValue": "DER: {bytes} Byte",
      "err_empty": "Fügen Sie eine Zertifikatsignieranforderung zum Dekodieren ein.",
      "err_format": "Das sieht nicht nach einer PEM-, Base64- oder Hex-CSR aus.",
      "err_der": "Die DER-Struktur konnte nicht geparst werden.",
      "err_structure": "Dies wird als DER geparst, ist aber keine PKCS#10-Zertifizierungsanforderung."
    },
    "oidc": {
      "name": "OIDC-Decoder",
      "blurb": "Füge ein OpenID-Connect-ID-Token oder ein .well-known/openid-configuration-Dokument ein und decodiere es: die Kern-Claims, Profil-Claims, Endpoints und Fähigkeiten, mit Prüfungen für erforderliche Claims, Signaturalgorithmus, Nonce und PKCE.",
      "inputLabel": "ID-Token (JWT) oder openid-configuration-JSON",
      "inputPlaceholder": "Füge ein ID-Token oder ein OIDC-Discovery-JSON-Dokument ein",
      "runsLocally": "Die Decodierung läuft lokal in deinem Browser. Sie ruft niemals die jwks_uri oder einen Endpoint auf, und es wird nichts irgendwohin gesendet.",
      "notVerifiedNote": "Dieses Tool decodiert und erklärt. Es verifiziert nicht die Token-Signatur, ruft die Signaturschlüssel nicht ab und prüft die Gültigkeit nicht gegen die Uhr.",
      "errors": {
        "empty": "Füge ein ID-Token oder ein openid-configuration-Dokument zum Decodieren ein.",
        "malformed-json": "Das beginnt wie JSON, konnte aber nicht geparst werden. Prüfe auf eine fehlende Klammer, ein Komma oder ein Anführungszeichen.",
        "json-not-oidc": "Das ist JSON, aber kein OpenID-Connect-Discovery-Dokument. Füge ein ID-Token oder ein .well-known/openid-configuration-Dokument ein.",
        "not-jwt": "Das sieht nicht nach einem JWT oder einem OIDC-Dokument aus. Füge ein ID-Token oder ein Discovery-Dokument ein.",
        "jwt-header": "Der Token-Header konnte nicht decodiert werden. Ein JWT besteht aus drei durch Punkte getrennten base64url-Teilen.",
        "jwt-payload": "Die Token-Payload konnte nicht als JSON decodiert werden."
      },
      "badges": {
        "idToken": "ID Token",
        "discovery": "Discovery",
        "signed": "Signiert",
        "unsigned": "Unsigniert",
        "algNone": "alg: none",
        "algUnknown": "alg: ?"
      },
      "panels": {
        "header": "Header",
        "coreClaims": "Kern-Claims des ID-Tokens",
        "metadata": "Anbieter",
        "endpoints": "Endpoints",
        "capabilities": "Fähigkeiten"
      },
      "categories": {
        "binding": "Token-Bindung",
        "profile": "Profil-Claims",
        "email": "E-Mail",
        "address": "Adresse",
        "phone": "Telefon",
        "oauth": "OAuth / Sitzung",
        "other": "Weitere Claims"
      },
      "fields": {
        "alg": "Algorithmus",
        "typ": "Typ",
        "kid": "Schlüssel-ID",
        "iss": "Aussteller (iss)",
        "sub": "Subjekt (sub)",
        "aud": "Zielgruppe (aud)",
        "azp": "Autorisierte Partei (azp)",
        "nonce": "Nonce",
        "acr": "Auth-Kontext (acr)",
        "amr": "Auth-Methoden (amr)",
        "authTime": "Auth-Zeit",
        "iat": "Ausgestellt am (iat)",
        "nbf": "Nicht vor (nbf)",
        "exp": "Läuft ab (exp)",
        "issuer": "Aussteller"
      },
      "reasons": {
        "MISSING_REQUIRED_CLAIM": "Fehlender erforderlicher Claim {value}. Ein ID-Token muss iss, sub, aud, exp und iat enthalten.",
        "ALG_NONE": "Das Token verwendet alg none, ist also unsigniert. Ein unsigniertes ID-Token beweist nichts und muss abgelehnt werden.",
        "ALG_SYMMETRIC": "Signiert mit {value}, einem symmetrischen (HMAC) Algorithmus. ID-Tokens von einem öffentlichen Anbieter verwenden normalerweise einen asymmetrischen Algorithmus wie RS256 oder ES256, damit die Relying Party mit dem öffentlichen Schlüssel verifizieren kann.",
        "ALG_UNKNOWN": "Signiert mit {value}, einem Algorithmus, den dieses Tool nicht erkennt. Stelle sicher, dass es ein erwarteter, starker Algorithmus ist.",
        "SIGNED_ASYMMETRIC": "Signiert mit {value}, einem asymmetrischen Algorithmus. Die Relying Party verifiziert es gegen den öffentlichen Schlüssel des Anbieters aus dem JWKS.",
        "NO_NONCE": "Kein nonce-Claim. Die Nonce bindet das Token an die Authentifizierungsanfrage und schützt vor Replay. Sie sollte vorhanden sein, wenn die Anfrage eine gesendet hat.",
        "MULTI_AUD_NO_AZP": "Das Token hat mehrere Zielgruppen, aber kein azp (autorisierte Partei). Bei mehr als einer Zielgruppe sollte azp den Client benennen, für den das Token bestimmt ist.",
        "DISCOVERY_MISSING_FIELD": "Fehlendes erforderliches Discovery-Feld {value}.",
        "DISCOVERY_ALG_NONE": "Der Anbieter bietet den Signaturalgorithmus none für ID-Tokens an, was unsignierte Tokens erlauben würde. Das sollte nicht angeboten werden.",
        "DISCOVERY_NO_PKCE": "Kein code_challenge_methods_supported. Der Anbieter bietet kein PKCE an, das für den Authorization-Code-Flow empfohlen wird.",
        "DISCOVERY_NO_PKCE_S256": "PKCE wird angeboten, aber ohne die S256-Methode. S256 ist die empfohlene Code-Challenge-Methode."
      },
      "flow": {
        "heading": "Authorization-Code-Flow",
        "laneRp": "Relying Party",
        "laneOp": "OpenID-Anbieter",
        "s1": "Den Benutzer mit scope=openid zum Anbieter umleiten",
        "s2": "Der Anbieter authentifiziert den Benutzer und holt die Zustimmung ein",
        "s3": "Der Anbieter leitet mit einem Authorization Code zurück",
        "s4": "Die Relying Party tauscht den Code am Token-Endpoint ein",
        "s5": "Der Anbieter gibt ein ID-Token und ein Access Token zurück",
        "s6": "Die Relying Party validiert die ID-Token-Signatur gegen das JWKS",
        "s7": "Die Relying Party kann UserInfo mit dem Access Token aufrufen",
        "s8": "Der Anbieter gibt die Claims des Benutzers zurück"
      }
    }
  },
  "privacy_page": {
    "eyebrow": "Datenschutz",
    "title": "Ihre Daten, und was diese Website damit tut",
    "lede": "Eine Darstellung in klarer Sprache, was genau diese Website mit Ihren Informationen tut und was nicht. Sie ist darauf ausgelegt, genau statt bloß beruhigend zu sein, denn unter Regelwerken wie der GDPR und der brasilianischen LGPD ist es die genaue Offenlegung, die zählt.",
    "shortTitle": "Die Kurzfassung",
    "short1": "Diese Website setzt keine Cookies, führt keine Analytik aus, verwendet keine Werbung und enthält keine Tracker von Drittanbietern und kein Fingerprinting. Nichts folgt Ihnen durch das Web.",
    "short2": "Sie verkauft, teilt oder erstellt keine Profile ihrer Besucher und verlangt nichts von Ihnen, damit Sie sie lesen können.",
    "short3": "Die interaktiven Werkzeuge laufen vollständig in Ihrem Browser. Was Sie hineinfügen oder eintippen, bleibt auf Ihrem Gerät und wird nirgendwohin übertragen.",
    "short4": "Nur drei Dinge betreffen überhaupt Daten, und jedes wird unten erklärt: eine einzige Theme-Einstellung, die in Ihrem eigenen Browser gespeichert wird, die standardmäßigen Verbindungsprotokolle, die jeder Website-Besuch auf der Hosting-Ebene erzeugt, und jede Nachricht, die Sie per E-Mail zu senden wählen.",
    "controllerTitle": "Wer verantwortlich ist",
    "controllerBody": "Dies ist die persönliche Website von Rodolfo Nützmann (ronutz.com). Für jede Datenschutzfrage oder zur Ausübung eines der unten beschriebenen Rechte schreiben Sie an {email}. Anfragen werden direkt von Rodolfo Nützmann als dem Verantwortlichen bearbeitet.",
    "noTrackTitle": "Keine Cookies, kein Tracking, keine Analytik",
    "noTrackBody": "Diese Website setzt keinerlei Cookies. Sie verwendet keinen Analysedienst (wie Google Analytics oder Plausible), kein Werbenetzwerk, keine Social-Media-Tracking-Pixel und kein Geräte-Fingerprinting. Ihr Besuch wird zu diesen Zwecken nicht gemessen, profiliert oder mit irgendjemandem geteilt.",
    "browserTitle": "Was in Ihrem Browser gespeichert wird",
    "browserBody": "Eine einzige Kleinigkeit: Ihr gewähltes visuelles Theme, gespeichert im lokalen Speicher (Local Storage) Ihres Browsers, damit die Website es sich beim nächsten Besuch merken kann. Es ist eine Komforteinstellung, die auf Ihrem eigenen Gerät bleibt, niemals an diese Website oder an irgendjemanden gesendet wird und jederzeit über Ihren Browser gelöscht werden kann. Keine anderen Daten über Sie werden auf Ihrem Gerät gespeichert.",
    "hostingTitle": "Hosting und Serverprotokolle",
    "hostingBody": "Die Website wird über Cloudflare ausgeliefert, das ihr Hosting und die Inhaltsauslieferung bereitstellt. Wie bei jeder Website bedeutet das Laden einer Seite, dass sich Ihr Gerät mit einem Server verbindet, und Cloudflare verarbeitet als Hosting-Anbieter grundlegende Verbindungsdaten – einschließlich Ihrer IP-Adresse und üblicher Anfragedetails – um Ihnen die Seiten auszuliefern und die Website vor Missbrauch und Angriffen zu schützen. Diese Verarbeitung ist zum Betrieb und zur Absicherung der Website erforderlich (ein berechtigtes Interesse nach Artikel 6(1)(f) der GDPR und den entsprechenden Grundlagen der Artikel 7 und 10 der LGPD). Sie wird vom Anbieter nur kurz aufbewahrt und hier nicht verwendet, um Sie zu identifizieren oder zu verfolgen.",
    "toolsTitle": "Die Werkzeuge laufen in Ihrem Browser",
    "toolsBody": "Die Decoder und Rechner auf dieser Website – für JWTs, IP-Adressen, Zertifikate und den Rest – rechnen vollständig in Ihrem Browser. Die von Ihnen eingegebenen Werte werden auf Ihrem eigenen Gerät verarbeitet und niemals an einen Server gesendet. Eine separate programmatische Schnittstelle (eine API) wird für Automatisierung und Integrationen angeboten; sie ist von Grund auf zustandslos und protokolliert keine der an sie gesendeten Abfragen oder Anfrageinhalte.",
    "contactTitle": "Wenn Sie mich kontaktieren",
    "contactBody": "Das Kontaktformular übermittelt nichts an einen Server. Stattdessen öffnet es eine vorausgefüllte Nachricht in Ihrer eigenen E-Mail-Anwendung, die Sie dann selbst von Ihrem eigenen Konto aus senden, sodass nichts über einen Dritten läuft. Wenn Sie schreiben, sei es über das Formular oder direkt, erhalte ich die Informationen, die Sie angeben, etwa Ihren Namen, Ihre E-Mail-Adresse und Ihre Nachricht, und verwende sie nur, um Ihnen zu antworten. Ich bewahre sie nur so lange auf, wie es zur Bearbeitung Ihrer Anfrage nötig ist, verwende sie nicht für Marketing und gebe sie nicht weiter.",
    "intlTitle": "Verarbeitung außerhalb Ihres Landes",
    "intlBody": "Da Cloudflare ein globales Netzwerk betreibt, kann die oben beschriebene Verarbeitung auf Verbindungsebene auf Servern außerhalb Ihres eigenen Landes stattfinden, einschließlich außerhalb Brasiliens und des Europäischen Wirtschaftsraums. Wo personenbezogene Daten auf diese Weise international verarbeitet werden, geschieht dies unter den vom jeweiligen Anbieter gebotenen Schutzmaßnahmen.",
    "childrenTitle": "Kinder",
    "childrenBody": "Diese Website richtet sich an ein berufliches, allgemeines Publikum. Sie ist nicht an Kinder gerichtet und erhebt wissentlich keine personenbezogenen Daten von ihnen.",
    "rightsTitle": "Ihre Rechte",
    "rightsBody": "Je nachdem, wo Sie leben, haben Sie Rechte an Ihren personenbezogenen Daten, einschließlich des Rechts, auf sie zuzugreifen, sie berichtigen oder löschen zu lassen, ihrer Verarbeitung zu widersprechen oder sie einzuschränken, eine Kopie in einem übertragbaren Format anzufordern und darüber informiert zu werden, wie sie verarbeitet werden. Um eines davon auszuüben, schreiben Sie einfach an {email}. Da hier so wenige personenbezogene Daten verarbeitet werden, gibt es in der Praxis meist sehr wenig zu tun, aber der Kanal ist stets offen.",
    "rightsGdpr": "Wenn Sie sich im Europäischen Wirtschaftsraum oder im Vereinigten Königreich befinden, haben Sie außerdem das Recht, eine Beschwerde bei Ihrer örtlichen Datenschutzaufsichtsbehörde einzureichen.",
    "rightsLgpd": "Wenn Sie sich in Brasilien befinden, stehen Ihnen die in Artikel 18 der LGPD genannten Rechte zu, und Sie können sich auch an die nationale Datenschutzbehörde (die ANPD) wenden.",
    "changesTitle": "Änderungen an diesem Hinweis",
    "changesBody": "Wenn sich dieser Hinweis ändert, wird die überarbeitete Fassung auf dieser Seite veröffentlicht und das Datum unten aktualisiert. Wesentliche Änderungen werden nicht rückwirkend angewendet.",
    "updated": "Zuletzt aktualisiert: 30. Juni 2026",
    "backHome": "Zurück zur Startseite"
  },
  "footer": {
    "redEducation": "Offizielles Training mit <b>Red Education</b> buchen",
    "privacy": "Datenschutz",
    "builtWith": "Von Rodolfo Nützmann mit CONCORD gebaut",
    "colophon": "Wie dies gebaut wurde",
    "contribute": "Übersetzungen verbessern",
    "feedback": "Feedback senden",
    "api": "API-Referenz",
    "contributeTools": "Teile eine Idee",
    "license": "Lizenz",
    "coffee": "Spendier mir einen Kaffee"
  },
  "search": {
    "kindTool": "Werkzeug",
    "kindArticle": "Artikel",
    "kindPage": "Seite",
    "label": "Suche",
    "placeholder": "Website durchsuchen…",
    "close": "Schließen",
    "searching": "Suche läuft…",
    "noResults": "Keine Ergebnisse für „{query}“.",
    "unavailable": "Die Suche läuft auf der veröffentlichten Website. In der lokalen Vorschau ist sie nicht verfügbar.",
    "hint": "Tippen Sie, um Artikel, Werkzeuge und Seiten zu durchsuchen."
  },
  "theme": {
    "label": "Design",
    "dark": "Dunkel",
    "light": "Hell"
  },
  "about": {
    "eyebrow": "Der Trainer",
    "role": "Leitender Technischer Trainer",
    "lede": "Netzwerk- und Sicherheitsschulungen, geliefert von einem Praktiker, der seine Laufbahn auf der Umsetzungsseite verbracht hat, nicht nur bei den Folien. Ansässig in São Paulo, weltweit unterrichtend, auf Portugiesisch und Englisch.",
    "now": {
      "title": "Was ich heute mache",
      "body": "Ich liefere offizielle, zertifizierte, von Trainern geleitete Schulungen auf vier Sicherheits- und Netzwerkplattformen. Die Arbeit ist praxisnah und laborgetrieben: Das Ziel ist immer, dass die Teilnehmer in der Lage sind, die Sache zu tun, nicht sie nur zu beschreiben. Ich bin seit 1996 autorisierter Trainer, und Schulung und technische Befähigung sind seit den späten 1990er Jahren Teil meiner Arbeit.",
      "basedLabel": "Ansässig in",
      "basedValue": "São Paulo, Brasilien",
      "teachesLabel": "Unterrichtet",
      "teachesValue": "Virtuelle und Vor-Ort-Schulungen mit Trainer, weltweit",
      "languagesLabel": "Sprachen",
      "languagesValue": "Portugiesisch (Muttersprache), Englisch (fließend)"
    },
    "platforms": {
      "title": "Vier Plattformen, vertieft unterrichtet",
      "body": "Auf vier Anbietern zertifiziert zu sein bedeutet, dass ich jeden richtig unterrichten und sie ehrlich vergleichen kann. Dies sind die Plattformen, für die ich derzeit autorisiert bin, offizielle Schulungen zu liefern.",
      "f5": "BIG-IP über das gesamte von Trainern geleitete Curriculum: LTM, DNS, Advanced WAF (ASM), APM, AFM, SSL Orchestrator, Automatisierung und Troubleshooting.",
      "fortinet": "Zertifizierte Fortinet-Schulungen, einschließlich des FCP-Tracks.",
      "extreme": "Extreme Networks Switching, SD-WAN sowie API- und Automatisierungs-Tracks, über Installation, Konfiguration, Verwaltung und Troubleshooting hinweg.",
      "netskope": "Von Trainern geleitete Schulungen zur Netskope Security Cloud."
    },
    "path": {
      "title": "Der Weg hierher",
      "intro": "Meine Laufbahn begann 1996 auf der Anbieter- und Umsetzungsseite und blieb dort zwei Jahrzehnte lang, bevor ich mich voll auf Schulungen konzentrierte. Dieser Umsetzungshintergrund ist der Grund, warum die Schulung ankommt: Ich habe diese Systeme im Produktivbetrieb gebaut, kaputtgemacht und repariert.",
      "present": "heute",
      "cabletron": "Netzwerkingenieur und zertifizierter Trainer. Nicht-Ethernet- und Ethernet-Netzwerke, Campus-Netzwerke, IP-Routing.",
      "riverstone": "Produktsupport-Ingenieur und Wissensdatenbank-Koordinator in Kalifornien. Gigabit Ethernet, Metropolitan Area Networks, IP-Routing, BGP. Eskalation der dritten Ebene, Nachstellung von Kundenszenarien und Regressionstests.",
      "cisco": "Netzwerk-Beratungsingenieur, als zentraler Ansprechpartner für Schlüsselkunden wie SERPRO und Correios. Eskalations- und Kundenzufriedenheitsmanagement.",
      "enterasys": "Netzwerkingenieur und Trainer. Unternehmensnetzwerke, IP-Routing, Benutzerzugriffssteuerung und NAC, IDS und IPS.",
      "juniper": "Channel-Support-Ingenieur und Trainer für Unternehmens-Switches und Firewalls. Technische Vertriebsbefähigung und Junos-SRX-Betriebsschulungen.",
      "f5channel": "Channel-orientiertes Vertriebs- und Pre-Sales-Engineering für F5, mit technischer Befähigung, Proof-of-Concept-Durchführung und Partnerschulungen über die Distribution hinweg.",
      "rededucation": "Autorisierter Schulungstrainer, der offizielle zertifizierte Kurse zu F5, Fortinet, Extreme Networks und Netskope für Organisationen weltweit liefert.",
      "fullHistory": "Die vollständige Geschichte lesen",
      "vendorsLink": "Anbieter, mit denen ich gearbeitet habe"
    },
    "origins": {
      "title": "Wo es begann",
      "body": "Vor der formalen Laufbahn stand die Neugier. In den frühen 1990er Jahren importierte und baute ich Computer zusammen, betrieb und nutzte Bulletin-Board-Systeme und arbeitete mit DOS, Unix, Linux, Netware, frühem Ethernet, X.25 und Einwahl-Internet. Bis 1995 war aus dieser praktischen Arbeit eine erste formale Rolle beim Aufbau eines Systems für den elektronischen Datenaustausch geworden. Der rote Faden von damals bis heute ist derselbe: etwas wirklich Komplexes nehmen und zum Laufen bringen, und es dann für jemand anderen verständlich machen."
    },
    "approach": {
      "title": "Wie ich unterrichte",
      "body": "Ich habe mich auf Schulungen spezialisiert, weil sie tiefes technisches Wissen mit dem Teil der Arbeit verbinden, den ich am meisten genieße: komplexe Konzepte einfach zu erklären. Die stärksten Sitzungen verbinden jedes Konzept mit der Aufgabe, die der Lernende tatsächlich zu erledigen hat, sodass der Inhalt einen Platz zum Ankommen hat. Beispiele aus der Praxis, echte Labore und ein Fokus auf Verständnis statt Auswendiglernen."
    },
    "cta": {
      "title": "Mit den Konzepten beginnen",
      "body": "Der Lernbereich erklärt die Ideen hinter den Werkzeugen, und die Werkzeuge lassen Sie direkt damit arbeiten, alles in Ihrem Browser.",
      "learnButton": "Den Lernbereich lesen",
      "toolsButton": "Die Werkzeuge öffnen"
    },
    "recognition": {
      "title": "Anerkennung",
      "body": "Drei Jahre in Folge als F5 DevCentral MVP anerkannt, in den Jahren 2022, 2023 und 2024, für Beiträge zur technischen F5-Community."
    }
  },
  "endorsements": {
    "eyebrow": "Empfehlungen",
    "title": "Was Menschen sagen, in ihren eigenen Worten.",
    "intro": "{count} wortgetreue Empfehlungen und Bewertungen aus zwei Jahrzehnten Schulung und Beratung. Nichts hier ist umformuliert oder bearbeitet.",
    "provenance": "Stammt aus LinkedIn-Empfehlungen, Google-Bewertungen und verifizierten Red-Education-Teilnehmerbewertungen. Originalwortlaut und Schreibweise sind exakt wie verfasst erhalten."
  },
  "testimonials": {
    "filterLabel": "Erfahrungsberichte filtern",
    "sourceFilter": "Quelle",
    "languageFilter": "Sprache",
    "all": "Alle",
    "showing": "{count} von {total} werden angezeigt",
    "reply": "Antwort von Red Education",
    "translateLabel": "Übersetzung",
    "translateOff": "Ins Englische übersetzen",
    "translateOn": "Englisch wird angezeigt",
    "machineDisclaimer": "Maschinell erstellte Übersetzung. Sie spiegelt den Originalwortlaut möglicherweise nicht genau wider.",
    "showOriginal": "Original anzeigen",
    "hideOriginal": "Original ausblenden"
  },
  "history": {
    "indexTitle": "Die Geschichte",
    "indexLede": "Drei Epochen, ein roter Faden: etwas wirklich Komplexes nehmen, zum Laufen bringen und es dann für jemand anderen verständlich machen.",
    "eraLabel": "Epoche",
    "backToHistory": "Alle Epochen",
    "backToAbout": "Über mich",
    "readNext": "Weiterlesen",
    "pre1996": {
      "years": "Vor 1996",
      "title": "Die Neugier",
      "subtitle": "Teile importieren, Maschinen zusammenbauen und sich ins frühe Internet einwählen, bevor irgendetwas davon ein Beruf war.",
      "intro": "Jede technische Laufbahn hat ein Davor. Vor den Anbieter-Abzeichen und den Zertifizierungen gab es einen Teenager, der Maschinen auseinandernahm, um zu verstehen, wie sie funktionierten, und einen jungen selbstständigen Fachmann, der dieses Verständnis in einen Lebensunterhalt verwandelte. Hier wurde der Instinkt geformt, der alles andere antreibt.",
      "s1Title": "Praktische Hardware, 1991 bis 1995",
      "s1Body": "Ab 1991 war die Arbeit selbstständig und praxisnah: Computerteile aus den Vereinigten Staaten importieren, maßgeschneiderte Personal Computer zusammenbauen und verkaufen sowie sie für jeden installieren, konfigurieren und Fehler beheben, der Hilfe brauchte. Dies war die Ära, in der man eine Maschine aus Komponenten baute und zum Laufen brachte, statt eine von der Stange zu kaufen. Die Systeme jener Zeit gingen direkt durch diese Hände: DOS und CP/M, BASIC, Turbo Pascal, frühes Windows und Office-Anwendungen sowie die Datenbankwerkzeuge, mit denen damals Kleinunternehmen liefen, Clipper und dBase.",
      "s2Title": "Die Netzwerke vor dem Internet",
      "s2Body": "Vernetzung begann nicht mit dem Web. Lange vor Breitband war das Bindegewebe anders und schwieriger zu handhaben: Novell NetWare für lokale Server, Bulletin-Board-Systeme für Gemeinschaft und Dateiaustausch, frühe Ethernet-Netzwerke und die Weitverkehrstechnologien der Zeit, X.25 (in Brasilien als RENPAC bekannt) und Frame Relay. Als das Internet dann kam, kam es über ein Modem, erreicht über einen Shell-Zugang, SLIP oder PPP. Mit all dem zu arbeiten bedeutete, Netzwerke von der Leitung aufwärts zu verstehen, ein Verständnis, das später Unternehmensnetzwerke wie vertrautes Terrain wirken ließ.",
      "s3Title": "BBS, Phreaking und das akademische Internet",
      "s3Body": "Die echte Neugier jener Ära ging über die bezahlte Arbeit hinaus. Die Erkundungen dieser Jahre umfassten das Betreiben und Nutzen von Bulletin-Board-Systemen, das Telefonnetz-Tüfteln der Phreaking-Szene, praktisches UNIX und frühen Zugang zum akademischen Internet. Dies war Lernen durch Tun, in einer Gemeinschaft, die Wissen teilte, weil es nirgendwo sonst zu bekommen war. Diese Gewohnheit, zu graben, bis etwas wirklich verstanden ist, und es dann weiterzugeben, verschwand nie.",
      "s4Title": "1995: die erste formale Rolle",
      "s4Body": "1995 mündete die selbstständige Arbeit in eine erste formale Position. Bei INTELECTA, einem von SEBRAE-SP betreuten Unternehmen, war das Projekt ein System für den elektronischen Datenaustausch zur Vermarktung von medizinischem und Krankenhausbedarf, aufgebaut auf Novell-NetWare-Servern und dem PCBoard-Bulletin-Board-System. Es war ein echtes System, das ein echtes kommerzielles Problem löste, und es markierte den Punkt, an dem aus Hobby und Handwerk ein Beruf wurde.",
      "closer": "Bis Ende 1995 war das Fundament gelegt: eine Person, die Maschinen und Netzwerke von Grund auf verstand, die durch Bauen lernte und bereits den Instinkt zum Erklären hatte. Alles, was folgte, die Anbieter, die Zertifizierungen, die weltweiten Schulungsräume, baute darauf auf."
    },
    "era19962020": {
      "years": "1996 – 2020",
      "title": "Der Praktiker",
      "subtitle": "Zwei Jahrzehnte in der Netzwerk- und Sicherheitsbranche, beim Bauen, Kaputtmachen und Reparieren der Systeme, die später zum Lehrplan wurden.",
      "intro": "Dies ist die lange Mitte der Geschichte und der Grund, warum die später kommende Schulung Gewicht trägt. Rund zwei Jahrzehnte lang war die Arbeit Umsetzung: Netzwerke entwerfen, sie aufbauen, sie unter Druck Fehler beheben und die Person sein, die gerufen wird, wenn etwas Kritisches kaputtging. Die Reise führte durch einige der prägenden Namen der Vernetzung, auf zwei Kontinenten.",
      "s1Title": "Cabletron und Enterasys, 1996 bis 2000",
      "s1Body": "Die formale Laufbahn begann 1996 bei Cabletron Systems, damals ein führender Anbieter von Netzwerkausrüstung mit Sitz in Rochester, New Hampshire. Über viereinhalb Jahre umfasste die Rolle Field Engineering und Post-Sales-Support, Systems Engineering und Pre-Sales und ab 1997 zertifizierte Schulung. Das Themengebiet war das Unternehmens-LAN und -WAN jener Zeit: Switches, Router, Wi-Fi und WLAN, Netzwerkverwaltung, NAC und UAC sowie Stateful-Inspection-Firewalls. Im Jahr 2000 gliederte sich Cabletron in vier Unternehmen um, und der Teil, den diese Laufbahn berührte, wurde zu Enterasys Networks.",
      "s2Title": "Riverstone Networks, Santa Clara, 2000 bis 2002",
      "s2Body": "Das nächste Kapitel spielte in Kalifornien. Riverstone Networks, eine Cabletron-Ausgründung, die Metropolitan-Area-Network-Ausrüstung baute, brachte einen Umzug nach Santa Clara mit einem H1-B1-Arbeitsvisum. Die Rolle war Tier-III-Produktsupport-Ingenieur und Wissensmanagement-Koordinator: technische Eskalation der dritten Ebene, Nachstellen von Kundenszenarien im Labor, Regressionstests und Fehlerverifizierung sowie der Aufbau der Wissensdatenbank, auf die sich der restliche Support verließ. Die Technologien waren das Rückgrat der Carrier- und Metro-Welt der frühen 2000er: Gigabit Ethernet, MPLS, Metropolitan-Area-Switching und -Routing sowie BGP. Diese Zeit brachte auch einen formalen Meilenstein hervor: Als Teil des Visumsverfahrens erkannte eine Bewertung in den Vereinigten Staaten im Jahr 2001 einen Bildungshintergrund an, der einem Bachelor in Informatik und einem Bachelor in Betriebswirtschaft gleichwertig ist.",
      "s3Title": "Cisco Systems, Brasília, 2003 bis 2004",
      "s3Body": "Zurück in Brasilien und über Cisco Professional Services beauftragt, verschob sich die Rolle hin zur Kundenbeziehung in ihrer anspruchsvollsten Form. Als High-Touch-Operations-Manager und zentraler Ansprechpartner war die Arbeit Post-Sales-Kundenzufriedenheitsmanagement für zwei der größten Bundeseinrichtungen Brasiliens, SERPRO, die Datenverarbeitungsagentur der Regierung, und ECT-Correios, die nationale Post. Die technische Oberfläche waren Catalyst-Switches und -Router, PIX-Firewalls sowie CSS-, CSM- und ACE-Load-Balancer, aber die eigentliche Arbeit war Eskalationsmanagement und das reibungslose Laufenhalten kritischer nationaler Infrastruktur.",
      "s4Title": "Enterasys erneut, dann Juniper, 2005 bis 2010",
      "s4Body": "Die zweite Hälfte des Jahrzehnts kehrte als Fachexperte für Unternehmens-LANs auf die Anbieterseite zurück. Bei Enterasys ab 2005 lag der Fokus auf Switches und Routern, Wi-Fi und WLAN, Netzwerkverwaltung, NAC und UAC sowie Intrusion Detection und Prevention, über Lösungsdesign, Implementierung, Auditierung und Schulung hinweg. Ab 2009, bei Juniper Networks über Professional Services für LATAM, war die Rolle die Fürsprache für neue Produkte beim strategischen Partner Telefónica Empresas in Brasilien, zentriert auf EX-Switches und SRX-Firewalls, mit Betriebsschulungen zu Junos-SRX bei Level 3 und Impsat, heute Lumen.",
      "s5Title": "Die Channel- und Beratungsjahre, 2010 bis 2020",
      "s5Body": "Das letzte Jahrzehnt dieser Epoche bewegte sich fließend zwischen Rollen, die alle auf den Trainer hinarbeiteten, bei dem die Geschichte ankommt. Es gab Phasen als Netzwerk- und Sicherheitsingenieur über Reseller und Distributoren, mit vertiefter Expertise in Unternehmens-Switching und -Routing, Firewalls und Next-Generation-Firewalls, SSL-VPN, Benutzerzugriffssteuerung, WAN-Beschleunigung und Internet-Load-Balancing über Juniper- und Cisco-Lösungen. Entscheidend war, dass diese Zeit den Schwenk zu F5 einschloss, mit der beginnenden Arbeit an F5 BIG-IP, die die kommenden Jahre prägen sollte. Über all dem war technische Schulung ein konstanter roter Faden, in keiner Rolle je abwesend.",
      "closer": "Bis 2020 war das Bild vollständig: jemand, der diese Systeme nicht nur studiert, sondern zwanzig Jahre lang in ihnen gelebt hatte, auf der Anbieter- und der Kundenseite, im Entwurf und in der Krise. Das ist der Unterschied, den ein Umsetzer in einen Schulungsraum bringt. Wenn diese Person erklärt, warum sich eine Konfiguration auf eine bestimmte Weise verhält, dann, weil sie gesehen hat, wie sie sich so verhält, um drei Uhr morgens, mit einer wartenden nationalen Post."
    },
    "era2020present": {
      "years": "2020 – heute",
      "title": "Der Trainer",
      "subtitle": "Technische Vollzeitschulung, weltweit geliefert, Plattform für Plattform erweitert.",
      "intro": "2020 wurde aus einem die ganze Laufbahn durchziehenden Faden das ganze Gewebe. Nach zwei Jahrzehnten, in denen Schulung jede Rolle begleitete, wurde Schulung zur Arbeit selbst: Vollzeit, offiziell, zertifizierte Unterweisung für Fachleute und Teams auf der ganzen Welt. Was diese Epoche besonders macht, ist nicht nur der Fokus, sondern die bewusste, datierte Erweiterung über Plattformen hinweg, jede auf tiefer Praktikererfahrung aufbauend statt an ihrer Stelle.",
      "s1Title": "Vollzeit, aus Berufung",
      "s1Body": "Seit 2020 besteht die Arbeit darin, offizielle, von Trainern geleitete Schulungen zu liefern, aus der Ferne und vor Ort, auf Portugiesisch und Englisch, für Zielgruppen rund um den Globus. Die Lieferung reicht bis nach Australien, Singapur, Indien, Mitteleuropa, in die Vereinigten Staaten und nach Brasilien. Brasilianische und deutsche Staatsbürgerschaft, zusammen mit Reisegenehmigung für die Vereinigten Staaten und das Vereinigte Königreich, machen diese globale Reichweite praktikabel: uneingeschränkte Arbeitsberechtigung in der Europäischen Union und im Mercosur und die Freiheit, dorthin zu gehen, wo der Schulungsraum ist.",
      "s2Title": "F5, von Anfang an",
      "s2Body": "F5 ist seit Beginn dieser Epoche der Anker, aufbauend auf Arbeit mit BIG-IP, die über ein Jahrzehnt zurückreicht. Das autorisierte Curriculum deckt den vollständigen von Trainern geleiteten BIG-IP-Katalog ab: Local Traffic Manager, DNS, Advanced WAF, Access Policy Manager, Advanced Firewall Manager, SSL Orchestrator, BIG-IQ, iRules-Entwicklung, Automatisierung und Troubleshooting, von eintägigen bis zu viertägigen Kursen. Neben der Schulung läuft eine praktische Ergänzung: verwaltete F5-BIG-IP-Laborumgebungen, sodass praktische Übung immer einen echten Ort zum Stattfinden hat.",
      "s3Title": "Die Erweiterung, Plattform für Plattform",
      "s3Body": "Was die jüngsten Jahre auszeichnet, ist ein klarer, datierter Fortschritt. Extreme-Networks-Schulungen kamen ab 2021 hinzu und deckten EXOS-Switching, SD-WAN und Automatisierung ab. Fortinet folgte ab 2024, zentriert auf den FCP-FortiGate-Administrator-Track. Netskope kam ab 2025 hinzu und deckte Betrieb, Administration, Implementierung und Integration der Netskope Security Cloud ab. Vier Plattformen, jede bewusst hinzugefügt, jede auf denselben zwei Jahrzehnten Netzwerk- und Sicherheitsumsetzung darunter ruhend.",
      "s4Title": "Über Red Education, in die Welt",
      "s4Body": "Das primäre Vehikel für diese globale Lieferung ist Red Education, ein autorisiertes Schulungszentrum, über das offizielle zertifizierte Kurse Organisationen über Regionen hinweg erreichen. Die Rolle ist Global Technical Training Instructor, mit Lieferung an die Art von internationalem Publikum, die ein Standort in São Paulo, zwei Pässe und eine echte Reiselust möglich machen. Die dauerhafte Beziehung verwandelt individuelle Expertise in etwas, das Organisationen weltweit buchen und sich darauf verlassen können.",
      "closer": "Hier zahlt sich der rote Faden der ganzen Geschichte aus. Die Neugier der frühen Jahre wurde zur Umsetzungstiefe der Praktikerjahre, und diese Tiefe ist nun das, was jeder Teilnehmer erhält: kein Vortragender, der Folien abliest, sondern jemand, der diese Systeme gebaut hat und erklärt, wie sie tatsächlich funktionieren, und warum."
    }
  },
  "vendors": {
    "indexTitle": "Anbieter",
    "indexLede": "Die Netzwerk- und Sicherheitsunternehmen, deren Technologie diese Laufbahn geprägt hat, von der Leitung aufwärts. Dies sind vergangene Beziehungen; die heute unterrichteten Plattformen sind unter Schulungen aufgeführt.",
    "backToVendors": "Alle Anbieter",
    "backToAbout": "Über mich",
    "technologies": "Technologien",
    "role": "Rolle",
    "years": "Jahre",
    "readNext": "Nächster Anbieter",
    "cabletron": {
      "name": "Cabletron und Enterasys",
      "years": "1996 – 2007",
      "tagline": "Wo die Laufbahn begann und das Unternehmens-LAN von Grund auf gelernt wurde.",
      "intro": "Der längste einzelne Faden in dieser Geschichte verläuft durch ein Unternehmen und seinen Nachfolger. Cabletron Systems, ein führender Anbieter von Netzwerkausrüstung mit Sitz in Rochester, New Hampshire, war der erste Arbeitgeber, beginnend 1996. Als Cabletron sich im Jahr 2000 in vier Unternehmen umgliederte, setzte sich die Linie als Enterasys Networks fort, und die Beziehung wurde dort ab 2005 wieder aufgenommen. Zusammen umspannen sie das prägende Jahrzehnt der Expertise in Unternehmensnetzwerken.",
      "s1Title": "Cabletron, 1996 bis 2000",
      "s1Body": "Über viereinhalb Jahre durchlief die Rolle den gesamten Bogen des Anbieter-Engineerings: Field Engineering und Post-Sales-Support, Systems Engineering und Pre-Sales und ab 1997 zertifizierte Schulung. Das Thema war das Unternehmens-LAN und -WAN jener Zeit: Switches und Router, Wi-Fi und WLAN, Netzwerkverwaltung, NAC und UAC sowie Stateful-Inspection-Firewalls. Hier wurde die Disziplin von Lösungsdesign, Implementierung, Auditierung, Troubleshooting und Eskalationsmanagement zuerst praktiziert, und hier trat das Unterrichten zuerst in die Arbeit ein.",
      "s2Title": "Enterasys, 2005 bis 2007",
      "s2Body": "Bei der Rückkehr zur Linie als Services- und Support-Manager lag der Fokus auf der Produktlinie Secure Routing, mit Enterasys als regionalem Knotenpunkt für Brasilien. Die Arbeit verband hochrangigen Kundensupport, komplexes Troubleshooting und Eskalationsmanagement mit lokalisiertem Produktmanagement. Die technische Oberfläche war gewachsen und umfasste nun Netzwerkverwaltung, NAC und UAC, Intrusion Detection und Prevention sowie SIEM, über Unternehmens-Switching und -Routing hinweg. Enterasys wurde später 2013 von Extreme Networks übernommen und schloss damit einen Kreis, der diese frühe Arbeit mit einer noch heute unterrichteten Plattform verbindet.",
      "certs": "Cabletron Systems Engineer (CSE), 1999. Enterasys Systems Engineer (ESE), 2000 und 2007. Enterasys Certified Internetworking Engineer (ECIE), 2007.",
      "lineageTitle": "Die Unternehmenslinie",
      "lineageDesc": "Cabletron Systems mit Sitz in Rochester, New Hampshire, teilte sich im Jahr 2000 in vier Unternehmen auf: Enterasys, Riverstone, Aprisma und GNTS. Enterasys wurde 2013 von Extreme Networks übernommen. Riverstone wurde 2006 von Alcatel-Lucent übernommen."
    },
    "juniper": {
      "name": "NetScreen und Juniper",
      "years": "2009 – 2014",
      "tagline": "Unternehmens-Switching und die Sicherheits-Gateways, die aus NetScreen zur Juniper-SRX-Linie wuchsen.",
      "intro": "Juniper Networks übernahm 2004 NetScreen, das Firewall-Unternehmen, und NetScreens Sicherheitstechnologie wurde zur Grundlage von Junipers Secure-Gateway-Linie. Mit beiden zu arbeiten spiegelt eine durchgehende Linie wider: die NetScreen-SSG-Firewalls und die SRX-Gateways, die ihnen nachfolgten. Die Beziehung lief ab 2009 direkt über Juniper und setzte sich danach über den Reseller-Channel fort.",
      "s1Title": "Juniper Networks, 2009 bis 2010",
      "s1Body": "Über Juniper Professional Services für Brasilien beauftragt, war die Rolle die Fürsprache für die neu eingeführten Unternehmenslinien: die Secure-Gateways der SRX-Serie und die Switches der EX-Serie. Das primäre Engagement bestand mit dem strategischen Partner Telefónica Empresas in Brasilien. Über die Pre-Sales-Fürsprache hinaus lieferte diese Zeit echte Unterweisung: Schulungen zum JUNOS-Netzwerkbetriebssystem und zum Betrieb der SRX-Secure-Gateways für Channel-Partner und Kunden, einschließlich Betriebsschulungen für das Personal des Network Operations Center von Level 3 Communications in Brasilien und Argentinien.",
      "s2Title": "Über den Channel, 2010 bis 2014",
      "s2Body": "Die Beziehung zu Juniper und NetScreen setzte sich über Systemintegratoren und Reseller fort. Bei CYLK umfasste die Arbeit Konfigurationsentwicklung, Proof-of-Concept- und Interoperabilitätstests sowie Live-Implementierung und Troubleshooting über Juniper, NetScreen und F5 hinweg. Bei TDec gesellte sich Juniper zu einer Multi-Vendor-Beratungs- und Schulungspraxis. Das praktische Produktspektrum über diese Jahre war breit: EX-Switches, SRX- und NetScreen-SSG-Firewalls, SA-SSL-VPN, J-Series-Router und AX-Managed-Wi-Fi.",
      "certs": "Juniper Networks Sales Specialist, Enterprise Networking (JNSS-EN), 2010. Juniper Networks Sales Associate, Enterprise Networking (JNSA-EN), 2010.",
      "lineageTitle": "Die Sicherheitslinie",
      "lineageDesc": "NetScreen, Hersteller der SSG-Firewalls, wurde 2004 von Juniper Networks übernommen und wurde zur Grundlage von Junipers SRX-Secure-Gateway-Linie."
    },
    "riverstone": {
      "name": "Riverstone Networks",
      "years": "2000 – 2002",
      "tagline": "Zwei Jahre in Santa Clara, am Rand der Carrier- und Metropolitan-Netzwerke.",
      "intro": "Das eine Kapitel dieser Laufbahn, das vollständig außerhalb Brasiliens angesiedelt war. Riverstone Networks, ein Anbieter von Metropolitan-Area-Network-Ausrüstung mit Sitz in Santa Clara, Kalifornien, brachte einen Umzug in die Vereinigten Staaten mit einem H1-B1-Arbeitsvisum. Riverstone hatte eine eigene ungewöhnliche Abstammung: ursprünglich ein Unternehmen namens Yago, um 1998 von Cabletron übernommen und 2001 durch eine Ausgründung als unabhängiges Unternehmen wieder aufgetaucht. Es wurde später 2006 von Alcatel-Lucent übernommen.",
      "s1Title": "Tier-III-Support und Wissensmanagement",
      "s1Body": "Die Rolle trug zwei Titel über zwei Jahre: Produktsupport-Ingenieur und Wissensmanagement-Koordinator. Als Tier-III-Spezialist für technischen Support war die Arbeit Eskalation der dritten Ebene, Nachstellen von Kundenszenarien im Labor, Regressionstests und Fehlerverifizierung. Als Wissensmanagement-Koordinator ging es um den Aufbau und die Organisation der Wissensdatenbank, auf die sich der restliche Support verließ, neben Produktmarketing-Unterstützung und internen Schulungen. Dies war die tiefste technische Support-Arbeit der Laufbahn, auf der Ebene, auf der die schwersten Probleme eskalieren.",
      "s2Title": "Die Welt der Metropolitan-Netzwerke",
      "s2Body": "Die Technologien waren das Rückgrat der Carrier- und Metro-Ära der frühen 2000er: Gigabit Ethernet, MPLS, Metropolitan-Area-Switching und -Routing sowie Weitverkehrs-IP-Routing einschließlich BGP. Auf der dritten Support-Ebene des Anbieters zu arbeiten bedeutete zu sehen, wie sich diese Systeme an den Rändern verhielten, unter Bedingungen, die nur im Produktivbetrieb in großem Maßstab auftauchen. Es lieferte auch formale Unterweisung: Schulungen zu Riverstone-Konzepten, -Funktionen und -Konfiguration sowie Schulungen zur Problemerkennung im Kundensupport und zu Eskalationsverfahren.",
      "certs": "Riverstone Certified Networking Professional (RCNP), 2001. Bewertung der Bildungsäquivalenz in den Vereinigten Staaten, die einen Hintergrund anerkennt, der einem Bachelor in Informatik und einem Bachelor in Betriebswirtschaft gleichwertig ist, abgeschlossen 2001 im Rahmen des H1-B1-Visumsverfahrens.",
      "lineageTitle": "Die Unternehmenslinie",
      "lineageDesc": "Riverstone Networks begann als ein Unternehmen namens Yago, wurde um 1998 von Cabletron Systems übernommen, tauchte 2001 durch eine Ausgründung als unabhängiges Unternehmen wieder auf und wurde 2006 von Alcatel-Lucent übernommen."
    },
    "cisco": {
      "name": "Cisco Systems",
      "years": "2003 – 2008",
      "tagline": "Kritische nationale Infrastruktur am Laufen halten, als zentraler Ansprechpartner für Brasiliens Bundeskunden.",
      "intro": "Über Cisco Professional Services in Brasilien beauftragt, war dies die Laufbahn in ihrer operativ anspruchsvollsten Form, wo es weniger um eine einzelne Technologie ging und mehr darum, kritische Systeme für Kunden am Laufen zu halten, die sich Ausfallzeiten nicht leisten konnten.",
      "s1Title": "High-Touch-Betrieb, 2003 bis 2004",
      "s1Body": "Als High-Touch-Operations-Manager und zentraler Ansprechpartner war die Rolle Post-Sales-Kundenzufriedenheitsmanagement für zwei der größten Bundeseinrichtungen Brasiliens: SERPRO, die Datenverarbeitungsagentur der Regierung, und ECT-Correios, die nationale Post, über Brasília und São Paulo hinweg. Die technische Oberfläche umfasste Catalyst-Switches und -Router, PIX-Firewalls sowie CSS-, CSM- und ACE-Content- und Load-Balancing-Appliances. Die eigentliche Disziplin war jedoch Eskalationsmanagement und Krisenbewältigung, das Aufrechterhalten hoher Zufriedenheit für Accounts, bei denen es um Nationales ging.",
      "s2Title": "Cisco-Unterweisung, 2007 bis 2008",
      "s2Body": "Die Cisco-Beziehung brachte auch formale Schulungslieferung hervor: IOS- und CatOS-Konzepte und -Betrieb sowie Layer-2- und Layer-3-Netzwerkkonzepte, -Betrieb und -Troubleshooting, in mehrtägigen Kursen. Dies ergänzte die tiefe operative Erfahrung mit der strukturierten Unterweisung, die später zum ganzen Fokus der Laufbahn werden sollte.",
      "ironportTitle": "Eine gesonderte Anmerkung: IronPort, 2004",
      "ironportBody": "Wert, genau festgehalten zu werden, und getrennt von der Cisco-Arbeit: ein kurzes dreimonatiges Engagement Ende 2004 mit IronPort Systems, damals ein unabhängiges Startup für E-Mail-Sicherheits-Appliances mit Sitz in San Bruno, Kalifornien. Die Arbeit war Channel-Entwicklung und technische Pre-Sales-Beratung für seine C-Series-E-Mail-Sicherheits-Appliances. Dies liegt vollständig vor Ciscos Übernahme von IronPort im Jahr 2007, es war also eine gesonderte Beziehung zu einem unabhängigen Unternehmen, keine Cisco-Technologie, und wird hier nur erwähnt, weil das Unternehmen später Teil von Cisco wurde.",
      "certs": "Cisco Certified Network Associate (CCNA), 2000 und 2005. Cisco Internetwork Troubleshooting (CIT), 2003."
    },
    "paloalto": {
      "name": "Palo Alto Networks",
      "years": "2013 – 2015",
      "tagline": "Next-Generation-Firewalls, über den Reseller-Channel und das Klassenzimmer.",
      "intro": "Eine fokussierte Beziehung rund um Next-Generation-Firewall-Technologie, getragen über den Reseller- und Integrator-Channel. Dies ist ein vergangenes Engagement; Palo Alto gehört nicht zu den heute unterrichteten Plattformen, aber die Arbeit war real und zertifiziert.",
      "s1Title": "Channel-Beratung und -Schulung, 2013 bis 2015",
      "s1Body": "Bei TDec Network Group gesellte sich Palo Alto zu einer Multi-Vendor-Beratungs- und Schulungspraxis, die Systems Engineering, Lösungsarchitektur, Anwendungsbefähigung, Implementierung, Audits und Troubleshooting umfasste. Die Beziehung setzte sich 2015 über Cipher Security für Pre-Sales- und Post-Sales-Arbeit fort. Der technische Fokus lag auf Next-Generation-Firewalls und der Panorama-Verwaltungsplattform, dem Kern von Palo Altos damaligem Unternehmenssicherheitsangebot.",
      "s2Title": "PAN-OS-Unterweisung",
      "s2Body": "Diese Zeit umfasste formale Schulungslieferung: ein PAN-OS-6.0-Bootcamp, das dieselbe praktische, laborgetriebene Unterweisung aufbaute, die die heutige Schulungspraxis definiert. Zusammen mit den 2014 erworbenen Zertifizierungen begründete dies echte Tiefe in der Plattform, auch wenn sich der Fokus der Laufbahn später auf andere Technologien konzentrierte.",
      "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. Hinweis: Diese Zertifizierungen sind historisch und werden nicht als aktuell aufrechterhalten."
    }
  },
  "training": {
    "eyebrow": "Schulungen, die ich liefere",
    "title": "Vier Plattformen, unterrichtet von jemandem, der sie betrieben hat.",
    "intro": "Offizielle, zertifizierte, von Trainern geleitete Schulungen über {courses} Kurse zu den vier Plattformen im Zentrum moderner Vernetzung und Sicherheit. Jeder Kurs wird von einem autorisierten Trainer geliefert, mit jahrzehntelanger praktischer Umsetzung hinter der Schulung.",
    "courseCount": "{count} Kurse",
    "since": "seit",
    "representativeNote": "Dieser Katalog ist repräsentativ, nicht erschöpfend. Kursnamen, Dauern und Inhalte spiegeln aktuelle öffentliche Informationen wider und werden aus offiziellen Datenblättern verfeinert.",
    "allPlatforms": "Alle Plattformen",
    "authorizedSince": "Autorisierter Trainer seit {year}",
    "workingSince": "Arbeitet seit {year} mit {platform}",
    "tech": {
      "switchesRouters": "Unternehmens-Switches und -Routern",
      "firewalls": "Firewalls",
      "webCloudSecurity": "Web- und Cloud-Sicherheit"
    },
    "coursesHeading": "{count} Kurse",
    "duration": "Dauer",
    "delivery": "Lieferform",
    "deliveryValue": "Virtuell oder vor Ort",
    "modules": "Module",
    "aboutCourse": "Über diesen Kurs",
    "tableOfContents": "Inhaltsverzeichnis",
    "agendaPending": "Eine detaillierte Tag-für-Tag-Agenda wird aus dem offiziellen Kursdatenblatt hinzugefügt.",
    "moreFrom": "Weitere {platform}-Kurse",
    "requestTraining": "Diese Schulung anfragen",
    "requestVia": "Geliefert über {destination}"
  },
  "teach": {
    "eyebrow": "Wie ich unterrichte",
    "title": "Ein Trainer, der diese Systeme gebaut hat, bevor er sie unterrichtete.",
    "lede": "Die meisten technischen Schulungen werden von Menschen gehalten, die den Stoff gelernt haben, um ihn zu unterrichten. Dies ist das Gegenteil: drei Jahrzehnte Bauen, Kaputtmachen und Reparieren echter Netzwerke und Sicherheitssysteme, destilliert zu Schulungen, die jedes Konzept damit verbinden, wie es sich im Produktivbetrieb tatsächlich verhält.",
    "s1Title": "Warum das im Klassenzimmer zählt",
    "s1Body": "Es gibt einen Unterschied zwischen dem Erklären, wie eine Funktion funktionieren soll, und dem Erklären, warum sie sich so verhält, wie sie es um drei Uhr morgens tut, wenn etwas Kritisches ausgefallen ist. Das Erste kommt aus einem Handbuch. Das Zweite kommt daher, dabei gewesen zu sein. Seit 1996 war die Arbeit Umsetzung: Netzwerke entwerfen, sie aufbauen und die Person sein, die gerufen wird, wenn sie kaputtgingen, für Anbieter und für einige der größten Organisationen Brasiliens. Diese Tiefe ist das, was jeder Teilnehmer erhält, kein Vortragender, der Folien abliest, sondern ein Ingenieur, der in diesen Systemen gelebt hat und erklärt, wie sie wirklich funktionieren.",
    "s2Title": "Komplexes klar gemacht",
    "s2Body": "Tiefes technisches Wissen ist notwendig, aber nicht hinreichend. Die seltenere Fähigkeit ist, es zu übersetzen: etwas wirklich Komplexes zu nehmen, Web Application Firewalls, Identitätsföderation, Traffic Management, SD-WAN, und es für jemanden zum Klicken zu bringen, der ihm zum ersten Mal begegnet. Teilnehmer heben durchweg die Beispiele aus der Praxis und die klare, strukturierte Didaktik hervor, die Fähigkeit, jedes Konzept in den Kontext der Arbeit zu stellen, die sie tatsächlich tun. Unterrichten war ein roter Faden durch diese gesamte Laufbahn, präsent in nahezu jeder Rolle seit 1997, und der Vollzeitfokus seit 2020.",
    "s3Title": "Praxisnah, nicht vage",
    "s3Body": "Technische Fähigkeit wird durch Tun aufgebaut, nicht durch Zuschauen. Jeder Kurs ist um praktische Labore an echten Systemen herum aufgebaut, verstärkt durch verwaltete Laborumgebungen, sodass Übung immer einen echten Ort zum Stattfinden hat. Das Format passt sich der Zielgruppe an: virtuelle, von Trainern geleitete Schulung weltweit, vor Ort, wenn das besser dient, auf Englisch oder Portugiesisch. Das Ziel jeder Sitzung ist dasselbe, dass die Teilnehmer in der Lage sind, die Sache zu tun, nicht sie nur zu beschreiben.",
    "s4Title": "Anerkannt, zertifiziert und aktuell",
    "s4Body": "Die Schulung ruht auf einem Fundament formaler Anerkennung. F5 DevCentral MVP in drei aufeinanderfolgenden Jahren, 2022, 2023 und 2024. F5-Zertifizierungen seit 2015 gehalten, und Trainer-Autorisierung über vier Plattformen: F5, Extreme Networks, Fortinet und Netskope. Die Lieferung erreicht Australien, Singapur, Indien, Mitteleuropa, die Vereinigten Staaten und Brasilien, über Red Education, ein autorisiertes Schulungszentrum. Die Qualifikationen zählen, aber sie sind Kurzform für das Darunterliegende: ein echtes, aktuelles Beherrschen der Technologie.",
    "platformsTitle": "Was ich unterrichte",
    "platformsBody": "Offizielle, zertifizierte, von Trainern geleitete Schulungen über vier Plattformen im Zentrum moderner Vernetzung und Sicherheit. Jede verlinkt auf ihren vollständigen Kurskatalog.",
    "s5Title": "Über das Klassenzimmer hinaus",
    "s5Body": "Dieselbe Tiefe, die gute Schulung ausmacht, macht gute Beratung aus. Dreißig Jahre über Application Delivery, Netzwerksicherheit, Identität und Infrastruktur, auf der Anbieter- und der Kundenseite, sind eine Perspektive, die weit über einen Schulungsraum hinaus trägt, in Architekturentscheidungen, Technologieauswahl und die schweren Probleme, die nicht in einen Lehrplan passen. Die Schulung ist der Fokus; die Erfahrung dahinter steht Teams zur Verfügung, die mehr als einen Kurs brauchen.",
    "toolsTitle": "Werkzeuge, die rechnen, nie raten",
    "toolsBody": "Neben der Schulung steht eine wachsende Sammlung kostenloser, datenschutzfreundlicher Netzwerk- und Sicherheitswerkzeuge, deterministische Dienstprogramme, die vollständig in Ihrem Browser laufen und Ihre Eingabe nie irgendwohin senden. Subnetz- und CIDR-Berechnungen, IPv6, Zertifikats- und Token-Prüfung und mehr, die Art alltäglicher Werkzeuge, zu denen ein praktizierender Ingenieur greift. Sie sind im selben Geist wie die Schulung gebaut: präzise, praktisch und wirklich nützlich. Probieren Sie sie aus, keine Anmeldung, kein Tracking.",
    "toolsCta": "Die Werkzeuge erkunden",
    "historyTitle": "Drei Jahrzehnte, ein roter Faden",
    "historyBody": "Vom Bauen von Computern als Teenager 1991, über zwei Jahrzehnte in der Netzwerk- und Sicherheitsbranche, bis zur weltweiten Vollzeitschulung seit 2020. Die ganze Geschichte ist lesenswert, wenn Sie die Erfahrung hinter dem Unterrichten verstehen möchten.",
    "historyCta": "Die vollständige Geschichte lesen",
    "ctaTitle": "Lassen Sie uns zusammenarbeiten",
    "ctaBody": "Ob Sie offizielle Schulungen buchen, ein maßgeschneidertes Programm für Ihr Team aufbauen oder erfahrene Beratung bei einem schweren Problem hinzuziehen möchten, die Tür steht offen.",
    "ctaButton": "Kontakt aufnehmen",
    "coursesButton": "Alle Kurse durchsuchen"
  },
  "contact": {
    "title": "Kontakt aufnehmen",
    "lede": "Ob Sie offizielle Schulungen buchen, ein maßgeschneidertes Programm für Ihr Team aufbauen oder erfahrene Beratung bei einem schweren Problem hinzuziehen möchten, ich würde mich freuen, von Ihnen zu hören.",
    "formHeading": "Eine Nachricht senden",
    "directHeading": "Oder direkt Kontakt aufnehmen",
    "formName": "Ihr Name",
    "formEmail": "Ihre E-Mail",
    "formTopic": "Worum geht es?",
    "topicTraining": "Offizielle Schulung",
    "topicCustom": "Maßgeschneidertes Programm für ein Team",
    "topicAdvisory": "Beratung und Consulting",
    "topicOther": "Etwas anderes",
    "formMessage": "Ihre Nachricht",
    "formSend": "Nachricht senden",
    "formSending": "Wird gesendet…",
    "formRequired": "Bitte geben Sie Ihren Namen, Ihre E-Mail und eine Nachricht ein.",
    "successTitle": "Vielen Dank.",
    "successBody": "Ihre Nachricht ist unterwegs. Ich melde mich, sobald ich kann.",
    "errorBody": "Beim Senden ist etwas schiefgegangen. Bitte versuchen Sie es erneut oder schreiben Sie direkt eine E-Mail.",
    "emailLabel": "E-Mail",
    "channels": {
      "linkedin": {
        "description": "Beruflich vernetzen",
        "label": "LinkedIn"
      },
      "youtube": {
        "description": "Videos und Anleitungen",
        "label": "YouTube"
      },
      "instagram": {
        "description": "Hinter den Kulissen",
        "label": "Instagram"
      },
      "training": {
        "label": "Offizielle Schulung",
        "description": "Einen Kurs über Red Education buchen"
      }
    },
    "feedbackNote": "Einen Bug, einen Fehler oder eine Ungenauigkeit auf der Website gefunden?",
    "feedbackLink": "Teile es auf der Ideen-Seite"
  },
  "certs": {
    "title": "Zertifizierungen und Qualifikationen",
    "lede": "Drei Jahrzehnte formaler Qualifikationen über Vernetzung und Sicherheit. Die Trainer-Autorisierungen und Zertifizierungen unten sind aktuell; ein vollständiger Nachweis erworbener Qualifikationen, die meisten inzwischen historisch, folgt zur Vertiefung.",
    "jumpToHistorical": "Zum vollständigen Nachweis springen",
    "credlyVerify": "Auf Credly verifizieren",
    "current": "Aktuell",
    "historical": "Historisch",
    "instructorTitle": "Trainer-Autorisierungen",
    "instructorIntro": "Autorisiert, heute offizielle, zertifizierte Schulungen auf jeder dieser Plattformen zu liefern.",
    "currentCertsTitle": "Aktuelle Zertifizierungen",
    "recognitionTitle": "Anerkennung",
    "historicalTitle": "Der vollständige Nachweis",
    "historicalIntro": "Erworbene Qualifikationen über eine Laufbahn, die 1996 begann. Die meisten sind historisch oder abgelaufen, hier behalten wegen der Tiefe, die sie repräsentieren.",
    "verify": "Verifizieren",
    "credly": "Credly",
    "certificate": "Zertifikat",
    "verifyCode": "Code",
    "candidateId": "ID"
  },
  "colophon_page": {
    "eyebrow": "Kolophon",
    "title": "Wie dies gebaut wurde",
    "lede": "Die meisten Websites erklären sich nicht selbst. Diese tut es, denn wie sie gemacht wurde, ist Teil dessen, was sie ist: ein bewusstes Experiment, gut zu bauen, mit ungewöhnlichen Mitwirkenden, und ein bewahrenswerter Nachweis.",
    "concordTitle": "CONCORD",
    "concordBody1": "Diese Website wurde durch ein Protokoll namens CONCORD entworfen und gebaut: eine strukturierte Zusammenarbeit zwischen einer Person und drei verschiedenen KI-Systemen, jedes in einer eigenen Rolle. Es ist kein Gimmick. Es ist eine funktionierende Methode, mit eigener Governance, eigenem Entscheidungsprotokoll und einem einzigen Menschen, der für jede ausgelieferte Wahl verantwortlich ist.",
    "concordBody2": "Die Prämisse ist einfach. Verschiedene KI-Modelle haben verschiedene Stärken, und ein schweres Problem profitiert von mehr als einer Perspektive, in Spannung gehalten. Also wurde die Arbeit nach Rollen aufgeteilt, und eine Person saß im Zentrum, vermittelte zwischen ihnen, bestätigte, was solide war, und verwarf, was es nicht war.",
    "concordBody3": "CONCORD wurde nirgendwo übernommen. Es wurde von Rodolfo Nützmann für dieses Projekt entworfen, aus einem praktischen Bedürfnis heraus: wie man mehrere KI-Systeme zugleich nutzt, von denen jedes in etwas anderem wirklich stark ist, ohne den einen Faden menschlicher Verantwortung aufzugeben, den echte Arbeit verlangt. Die Antwort war, jedem System einen festen Sitz zu geben, sie am Verhandeln untereinander zu hindern und jeden Austausch über eine einzige Person zu leiten, die das Ganze im Blick behielt. Diese Anordnung trägt einen älteren Namen. Die KI-Systeme sind Agenten: Sie handeln auf Anweisung und im Auftrag eines anderen. PRIME ist der Auftraggeber: derjenige, der tatsächlich entscheidet, der das Urteil fällt und der sowohl die Folgen als auch den Namen trägt.",
    "concordBody4": "Es begann informell – als eine Art, die Arbeit aufzuteilen – und verfestigte sich im Lauf des Aufbaus zu einer benannten Methode: feste Sitze, eine einzige übergeordnete Regel, dass nichts live geht, ohne dass PRIME es bestätigt, und eine schriftliche Aufzeichnung, warum jede Entscheidung getroffen wurde. Der Name nennt das Ziel: Eintracht, eine bewusst durch ein Verfahren erzielte Übereinkunft, nicht das, was ein unbeaufsichtigtes Werkzeug zufällig hervorbringt.",
    "concordPrincipal": "Die Hebelwirkung liegt bei den Agenten. Die Verantwortung liegt beim Auftraggeber, und sie geht nicht über.",
    "concordMechTitle": "Die Mechanik, klar gesagt",
    "mech1Label": "Vorschlagen",
    "mech1Gloss": "Jeder Sitz bringt Optionen im eigenen Zuständigkeitsbereich ein.",
    "mech2Label": "Weiterleiten",
    "mech2Gloss": "PRIME trägt Vorschläge zwischen den Sitzen hin und her; diese verhandeln nie direkt.",
    "mech3Label": "Bestätigen",
    "mech3Gloss": "PRIME nimmt an, was tragfähig ist, und lehnt ab, was es nicht ist. Sonst geht nichts live.",
    "mech4Label": "Begrenzen",
    "mech4Gloss": "Ein fester Satz interner Regeln begrenzt jedes Ergebnis, an jedem Sitz.",
    "mech5Label": "Festhalten",
    "mech5Gloss": "Ein schriftliches Entscheidungsprotokoll bewahrt die Begründung jeder Wahl.",
    "mech6Label": "Erinnern",
    "mech6Gloss": "Kontext, interne Regeln und dieses Protokoll bestehen als Dateien fort, von einer Sitzung zur nächsten weitergegeben, sodass die Methode jedes einzelne Gespräch überdauert.",
    "rolesTitle": "Die Sitze",
    "rolePrime": "PRIME",
    "rolePrimeWho": "Rodolfo Nützmann",
    "rolePrimeBody": "Der alleinige Ratifizierer. Jede Entscheidung, jede ausgelieferte Zeile ging durch einen Menschen, der das Gesamtbild hielt und die letzte Verantwortung trug. Die KIs schlugen vor; PRIME entschied.",
    "rolePrimeModel": "Mensch",
    "roleAnvil": "ANVIL",
    "roleAnvilWho": "Engineering",
    "roleAnvilBody": "Der Chefingenieur-Sitz. Architektur, Code, Inhaltsstruktur und der Build selbst, von der Absicht in eine funktionierende, getestete, bereitstellbare Website verwandelt.",
    "roleAnvilModel": "Anthropic · Claude Opus 4.8",
    "roleScout": "SCOUT",
    "roleScoutWho": "Strategie und Marke",
    "roleScoutBody": "Der Sitz für Strategie und Positionierung. Die Fragen, was dies ist, für wen es ist und wie es sich der Welt präsentieren soll.",
    "roleScoutModel": "OpenAI · ChatGPT 5.5",
    "rolePrism": "PRISM",
    "rolePrismWho": "Design",
    "rolePrismBody": "Der Design-Sitz. Die visuelle Sprache, die Typografie, die Farbe und das Gefühl der Sache, geformt zu einem kohärenten System.",
    "rolePrismModel": "Google · Gemini 3.1 Pro",
    "seatsModelNote": "KI-Modellversionen mit Stand Juni 2026.",
    "principlesTitle": "Wie es gemacht wurde",
    "principlesBody": "Einige Prinzipien galten durchgehend, und sie sind sichtbar, wenn man weiß, wo man hinschauen muss.",
    "p1Title": "Rechnen, nie raten",
    "p1Body": "Die Werkzeuge auf dieser Website berechnen Antworten lokal und deterministisch. Sie rufen keinen Server mit Ihrer Eingabe auf, und sie nähern nichts an. Was in Ihrem Browser läuft, bleibt in Ihrem Browser.",
    "p2Title": "Im Kern offen",
    "p3Title": "Durch Konstruktion dokumentiert",
    "p3Body": "Jeder Teil der Codebasis ist kommentiert und dokumentiert, nicht als nachträglicher Gedanke, sondern als stehende Regel. Der Build soll lesbar sein, für seinen Betreuer und für jeden, der ihn erbt.",
    "p4Title": "Gebaut, um zu bestehen und zu reisen",
    "p4Body": "Die Website ist ein statischer Export: schnell, cachebar und zur Laufzeit von nichts abhängig. Sie ist von Grund auf für viele Sprachen strukturiert, sodass sie ein globales Publikum ansprechen kann, ohne neu gebaut zu werden.",
    "stackTitle": "Der Stack",
    "stackBody": "Für die, denen solche Dinge wichtig sind, das technische Fundament, klar benannt.",
    "stackFramework": "Framework",
    "stackFrameworkV": "Next.js 15 und React 19, als vollständig statische Website exportiert",
    "stackI18n": "Internationalisierung",
    "stackI18nV": "next-intl, mit {count} Sprachen und Rechts-nach-links-Unterstützung",
    "stackDesign": "Designsystem",
    "stackDesignV": "Eine skinbare, Token-basierte Theme-Engine; das Standarddesign ist Obsidian",
    "stackType": "Typografie",
    "stackTypeV": "Inter für Fließtext, JetBrains Mono für Daten und Codes",
    "stackEngine": "Werkzeug-Engine",
    "stackEngineV": "Eine deterministische Rechenschicht, die vollständig im Browser läuft",
    "stackSearch": "Suche",
    "stackSearchV": "Statische, clientseitige Volltextsuche; kein Suchserver",
    "vibeTitle": "Ist das Vibe Coding?",
    "vibeBody1": "Eine berechtigte Frage, die eine klare Antwort verdient. Vibe Coding ist ein Begriff, den der KI-Forscher Andrej Karpathy Anfang 2025 für eine Art der Softwareentwicklung prägte, bei der man einem Sprachmodell beschreibt, was man möchte, das Geschriebene übernimmt, ohne es genau zu lesen, und sich an den Ergebnissen statt am Code selbst orientiert. Er beschrieb es als ein Sich-Treibenlassen von den Vibes und Vergessen, dass der Code überhaupt existiert, und machte deutlich, dass es eher für schnelle Wegwerfprojekte taugt als für Systeme, auf die Menschen angewiesen sind.",
    "vibeBody2": "Nach dieser Definition wurde ein Teil dieser Seite so gebaut, und dazu sollte man stehen, statt es zu verbergen. Die Oberfläche der Anwendung, die Verdrahtung des Frameworks, die Komponenten, das Styling, das Leitungswerk, das die Seiten zusammenhält, entstand schnell mit einem KI-Ingenieur und wurde vom Ergebnis und von einem festen Satz interner Regeln geleitet, nicht Zeile für Zeile von Hand getippt. Für diese Schicht, in der ein Fehler sichtbar und leicht zu beheben ist, war Tempo der Sinn der Sache.",
    "vibeBody3": "Die Teile, auf die es am meisten ankommt, werden an einem anderen Maßstab gemessen. Alles, was deine Daten berechnet, wird geprüft, nicht aus dem Bauch heraus erzeugt: Der Kern jedes Werkzeugs wird gegen den veröffentlichten Standard, den es umsetzt, die einschlägigen RFCs und Spezifikationen abgeglichen, und seine Ausgabe wird vor der Veröffentlichung anhand unabhängiger Referenzen bestätigt. Wie ein vielzitierter Satz des Programmierers Simon Willison sagt, ist Code, den du geprüft, getestet und verstanden hast, überhaupt kein Vibe Coding. Karpathy selbst nennt die disziplinierte Variante inzwischen agentic engineering: die Hebelwirkung der KI behalten, ohne die Qualität des Ergebnisses preiszugeben. Das ist die Linie, die dieses Projekt zieht. Schnell, wo Tempo gratis ist, gründlich, wo es zählt, und ein Mensch, der für alles verantwortlich ist.",
    "closingTitle": "Eine Anmerkung zur Methode",
    "closingBody": "Software mit KI-Mitwirkenden zu bauen ist neu genug, dass das Ehrliche ist, darüber transparent zu sein. Nichts hier wurde veröffentlicht, ohne dass ein Mensch entschied, dass es so sein sollte. Die KIs waren Instrumente, fähige, aber Instrumente. Das Urteil, die Verantwortung und der Name auf der Arbeit sind menschlich.",
    "backHome": "Zurück zu den Werkzeugen",
    "standardsTitle": "Standards und Frameworks",
    "standardsLede": "Jedes Tool hier setzt eine veröffentlichte Spezifikation um, keine Vermutung. Die Decoder und Rechner werden anhand der Dokumente gebaut, die ihre Formate definieren, und an die Testvektoren gebunden, die diese Dokumente veröffentlichen – so wird jede Antwort gegen die Quelle der Wahrheit geprüft und nicht gegen sich selbst.",
    "specsLabel": "Die Spezifikationen",
    "specsBody": "JSON Web Tokens folgen RFC 7519, mit Signaturen und Algorithmen in RFC 7515 und 7518; PKCE ist RFC 7636; Base64 und seine Verwandten sind RFC 4648; UUIDs sind RFC 9562 (die RFC 4122 im Jahr 2024 ablöste und eigene Testvektoren mitbringt); HMAC ist RFC 2104, über der in FIPS 180-4 und FIPS 202 standardisierten SHA-Familie; X.509-Zertifikate sind RFC 5280; IPv4 und die CIDR-Notation sind RFC 4632; die IPv6-Adressierung und ihre kanonische Textform sind RFC 4291 und RFC 5952; und der Cipher-Suite-Decoder stützt sich auf die offizielle IANA TLS Cipher Suites-Registry, abgeglichen mit den TLS-1.3- und -1.2-Spezifikationen (RFC 8446 und 5246), den Registry-Update-Regeln, die die Spalte „Recommended“ festlegen (RFC 8447), und dem RC4-Verbot (RFC 7465). Wo eine Registry die Autorität ist, werden ihre Daten direkt übernommen statt neu abgetippt.",
    "vectorsLabel": "Golden Vectors",
    "vectorsBody": "Jedes Tool bringt eine Reihe von Golden Vectors mit: bekannte Eingaben mit bekannt korrekten Ausgaben, entnommen aus den einschlägigen RFCs und Normungsgremien. Sie laufen bei jedem Build – ein Refactoring, das eine Antwort still verändert, lässt den Build fehlschlagen, statt auszuliefern.",
    "owaspLabel": "OWASP",
    "owaspBody": "Die Sicherheitstools sind an den Frameworks von OWASP ausgerichtet, nicht ad hoc zusammengestellt. Die Krypto- und TLS-Tools entsprechen den Bereichen Cryptographic Failures und Security Misconfiguration der OWASP Top 10 und den passenden Prüfungen des Application Security Verification Standard; das Token-Tool folgt OWASPs Leitfaden zum Inspizieren und Validieren von JWTs. OWASPs Prevention Cheat Sheets setzen außerdem feste Regeln dafür, was als Nächstes gebaut wird: jede hier ergänzte XML- oder SAML-Verarbeitung muss vor dem Ausliefern gegen XXE gehärtet sein.",
    "redblueLabel": "Rot und Blau",
    "redblueBody": "Dasselbe Decodieren-und-Erklären, mit dem ein Red-Teamer ein abgefangenes Token liest, lässt einen Blue-Teamer verstehen, was der eigene Stack aussendet. Die Plattform steht bewusst auf der Analyseseite dieser Linie: sie identifiziert, decodiert, konvertiert und erklärt – und geht nicht so weit, zu fälschen, einzuschleusen oder Kontrollen auszuhebeln. Diese Grenze ist eine Designentscheidung, kein Versehen; diese Tools sind da, um zu lehren und zu diagnostizieren, nicht um zur Waffe zu werden.",
    "localLabel": "Lokal und deterministisch",
    "localBody": "Alles läuft im Browser. Das Werkzeug ruft eine reine Funktion auf: bei gleicher Eingabe liefert sie die gleiche Ausgabe, hält keinen Zustand und sendet nichts an einen Server. Keine Cookies, keine Analytics, wie die Datenschutzseite vollständig darlegt.",
    "thanksTitle": "Besonderer Dank",
    "p2Body": "Die deterministische Logik, die jedes Werkzeug ausführt, ist das gesamte Werkzeug: Es gibt keinen verborgenen Serverschritt, kein Konto und keine Telemetrie. Alles läuft in deinem Browser.",
    "changelogLink": "Änderungsprotokoll"
  },
  "support": {
    "title": "Das Projekt unterstützen",
    "lede": "Diese Werkzeuge sind kostenlos und sollen es bleiben. Wenn sie Ihnen Zeit sparen, können Sie gern etwas zu ihrem Unterhalt beisteuern. Völlig optional, immer.",
    "tipHeading": "Ein Trinkgeld geben",
    "tipBlurb": "Jeder Beitrag fließt direkt in die Unterstützung der Werkzeuge und der Zeit, die in sie fließt.",
    "zeroCommission": "0 % Provision. Links führen direkt zum Anbieter; diese Website ist nie im Zahlungsweg.",
    "placeholder": "Unterstützungsoptionen werden gerade eingerichtet und erscheinen bald hier."
  },
  "admin": {
    "eyebrow": "Admin",
    "title": "Website-Steuerung",
    "lede": "Die Steuerungsoberfläche für die optionalen Funktionen und Einstellungen dieser Website.",
    "previewBanner": "Vorschau-Gerüst. Auf der statischen Website zeigen diese Steuerelemente eine Vorschau der Admin-Oberfläche; die Live-Steuerung wird mit der Service-Schicht aktiviert. Änderungen hier werden nicht gespeichert.",
    "featuresTitle": "Funktionen",
    "flagRequestTraining": "Diese Schulung anfragen",
    "flagRequestTrainingDesc": "Der Lead-Generierungs-CTA auf Kurs- und Plattformseiten.",
    "flagTipJar": "TipJar",
    "flagTipJarDesc": "Creator-Support-Links auf der Unterstützungsseite.",
    "flagToolFunding": "Werkzeugfinanzierung",
    "flagToolFundingDesc": "Unterstützungsoberfläche pro Werkzeug.",
    "flagToolProvenance": "Werkzeug-Herkunft",
    "flagToolProvenanceDesc": "Credits- und Quellen-Panel pro Werkzeug.",
    "routingTitle": "Lead-Routing",
    "routingDefaultLabel": "Globaler Standard",
    "routingNoOverrides": "Keine Übersteuerungen pro Plattform oder pro Kurs konfiguriert.",
    "contactTitle": "Kontakt",
    "contactEmailLabel": "E-Mail",
    "contactFormLabel": "Formularübermittlung",
    "formMailto": "Mailto-Fallback (kein Backend)",
    "formEndpoint": "An Endpunkt senden",
    "tipJarTitle": "TipJar-Anbieter",
    "tipConfigured": "Konfiguriert",
    "tipNotConfigured": "Nicht konfiguriert",
    "on": "An",
    "off": "Aus",
    "accessTitle": "Zugriffssteuerung",
    "accessNote": "Nur diese föderierten Identitäten dürfen Admin-Zugriff haben. Serverseitig durch die Service-Schicht durchgesetzt; die statische Website authentifiziert nicht.",
    "accessFederatedOnly": "Nur föderierte Anmeldung. Kein lokaler Konto-Fallback.",
    "accessRoleLabel": "Rolle",
    "accessPermsLabel": "Eigentümer-Berechtigungen"
  },
  "machineTranslation": {
    "notice": "Diese Seite wurde maschinell übersetzt und kann Fehler enthalten.",
    "cta": "Helfen Sie mit"
  },
  "contribute": {
    "eyebrow": "Übersetzungen",
    "title": "Helfen Sie, die Übersetzungen zu verbessern",
    "lede": "Jede Sprache hier außer Englisch ist ein maschinell erstellter erster Entwurf. Wenn Sie eine davon sprechen und etwas Falsches oder Ungeschicktes bemerken, sind Ihre Korrekturen sehr willkommen. So senden Sie sie.",
    "howTitle": "Wie Sie beitragen können",
    "howBody": "Englisch ist die maßgebliche Quelle, und jede andere Sprache wird daraus übersetzt, sodass Fehler möglich sind. Jedes Sprachpaket ist eine einzelne Textdatei mit beschrifteten Phrasen. Laden Sie die herunter, die Sie verbessern möchten, ändern Sie nur den Text nach jeder Beschriftung und lassen Sie die Beschriftungen und alles in geschweiften Klammern genau so, wie es ist. Senden Sie dann die bearbeitete Datei per E-Mail und nennen Sie die Sprache. Jede Einsendung wird von Hand geprüft.",
    "downloadHeading": "Sprachpakete",
    "referenceTag": "Referenz",
    "emailHeading": "Senden Sie Ihren Beitrag",
    "backHome": "Zurück zu den Werkzeugen"
  },
  "api": {
    "title": "API",
    "lede": "Die Werkzeuge auf dieser Website laufen in Ihrem Browser und halten Ihre Daten auf Ihrem Gerät. Für die Automatisierung – Skripte, Pipelines und Integrationen – stehen dieselben deterministischen Berechnungen als kleine HTTP-API zur Verfügung. Sie ist das programmatische Gegenstück zu den Browser-Werkzeugen, kein Ersatz für sie.",
    "privacyTitle": "Was das für Ihre Daten bedeutet",
    "privacyBody": "Die API erhält nur die Eingabe, die Sie ihr senden, berechnet ein Ergebnis und gibt es zurück. Sie ist zustandslos und protokolliert keine Abfragewerte oder Anfragekörper. Wenn Sie garantiert keinen Datenabfluss benötigen, nutzen Sie die Browser-Werkzeuge oder betreiben Sie die offene Engine selbst.",
    "engineTitle": "Dieselbe Engine wie der Browser",
    "specTitle": "Die Spezifikation",
    "specBody": "Der vollständige Vertrag ist als OpenAPI 3.1 veröffentlicht. Laden Sie ihn herunter, richten Sie Ihre eigenen Werkzeuge darauf aus oder lesen Sie die Referenz unten.",
    "downloadSpec": "openapi.yaml herunterladen",
    "baseUrlLabel": "Basis-URL",
    "authLabel": "Authentifizierung",
    "authValue": "Keine. Dies ist eine öffentliche, schreibgeschützte API.",
    "referenceTitle": "Referenz",
    "loading": "Spezifikation wird geladen.",
    "loadError": "Die Spezifikation konnte nicht geladen werden.",
    "tryItTitle": "Ausprobieren",
    "tryItSend": "Senden",
    "tryItRunning": "Wird ausgeführt.",
    "tryItHint": "Läuft gegen die Live-API auf diesem Origin. Ihre Eingabe wird an den Endpunkt gesendet.",
    "paramsTitle": "Parameter",
    "responsesTitle": "Antworten",
    "schemasTitle": "Schemata",
    "exampleLabel": "Beispiel",
    "requiredLabel": "erforderlich",
    "fieldLabel": "Feld",
    "typeLabel": "Typ",
    "descriptionLabel": "Beschreibung",
    "viewReference": "Referenz",
    "viewSwagger": "Swagger UI",
    "swaggerLoadError": "Swagger UI konnte nicht geladen werden.",
    "engineBody": "Jeder Endpunkt führt dieselbe reine Funktion aus wie das Werkzeug im Browser, sodass API und Browser bytegenau identische Ergebnisse liefern."
  },
  "license_page": {
    "eyebrow": "Bedingungen",
    "title": "Lizenz",
    "closedHeading": "Closed Source – diese Website",
    "closedBody": "Die Website selbst ist Closed Source. Ihr Design, ihre Oberfläche, ihre Inhalte (einschließlich jedes Learn-Artikels), ihre Marke und die besondere Art, wie diese Tools hier zusammengestellt und dargestellt werden, sind geschützt, alle Rechte vorbehalten. Es wird keine Erlaubnis erteilt, die Website oder ihre Inhalte ohne vorherige schriftliche Zustimmung zu kopieren, zu vervielfältigen, zu verändern, weiterzuverbreiten oder daraus abgeleitete Werke zu erstellen.",
    "contact": "Fragen zur Lizenz? <a>Nehmen Sie Kontakt auf.</a>",
    "backHome": "Zurück zu den Tools",
    "thirdHeading": "Open-Source-Komponenten",
    "lede": "ronutz.com ist ein proprietäres Werk, alle Rechte vorbehalten. Diese Bedingungen gelten für die Website und ihre Inhalte. Die Website baut auf Open-Source-Software auf, die unter ihren eigenen Lizenzbedingungen verwendet und weiterverbreitet wird, nachstehend genannt.",
    "thirdBody": "Diese Website fußt auf Open-Source-Arbeit. Die Website selbst ist mit Next.js und React gebaut und wird als statischer Export ausgeliefert; die Internationalisierung nutzt next-intl; die Learn-Inhalte werden mit next-mdx-remote, gray-matter, remark-gfm und js-yaml gerendert; und die Suche wird von Pagefind bereitgestellt. Diese stehen unter der MIT License, außer next-mdx-remote (Mozilla Public License 2.0). Die API-Referenz bindet Swagger UI ein, unter der Apache License 2.0. Jede Komponente bleibt unter ihrer eigenen Lizenz, und die vollständigen Hinweise werden zusammen mit dem Quellcode ausgeliefert."
  },
  "contributeIdeas": {
    "eyebrow": "Ideen willkommen",
    "title": "Eine Idee teilen",
    "lede": "Dieses Toolkit ist zum Wachsen gebaut, und das klarste Signal dafür, wohin es sich entwickeln soll, kommt von den Menschen, die es nutzen. Einen Bug, einen Fehler oder eine Ungenauigkeit gefunden? Fehlt ein Werkzeug, das es hier noch nicht gibt? Eine bessere Lösung gesehen oder ein Ergebnis, das du anders formulieren würdest? Schick es; jede Art von Rückmeldung ist willkommen.",
    "sendTitle": "Was du senden kannst",
    "sendBody": "Bugs, Fehler und Ungenauigkeiten jeder Art: ein Werkzeug, das sich falsch verhält, ein falsches Ergebnis, ein Fehler in einem Learn-Artikel oder einfach etwas, das nicht stimmig wirkt. Funktionswünsche für bereits vorhandene Werkzeuge. Ideen für neue Werkzeuge, die das Toolkit haben sollte. Korrekturen und Ergänzungen zu den Learn-Artikeln, etwa eine klarere Erklärung, eine bessere Quelle oder ein fehlendes Thema. Oder einfach ein anderer Blick auf ein Problem. Grob ist in Ordnung; ein Satz genügt, um ein Gespräch zu beginnen.",
    "toolTitle": "Wenn du ein neues Werkzeug vorschlägst",
    "toolBody": "Werkzeuge sind hier kleine, selbstbeschreibende Module: ein Manifest, das sagt, was das Werkzeug ist und woher seine Korrektheit stammt, eine reine Funktion, die die Arbeit erledigt, und ein Satz Golden Vectors, die festen Eingabe-Ausgabe-Paare, die es belegen. Ein guter Kandidat rechnet lokal und deterministisch (dieselbe Eingabe ergibt immer dieselbe Ausgabe, ohne Uhr, Netzwerk oder Zufall im Ergebnis), hält alles Sensible auf dem Gerät und stützt seine Korrektheit auf eine zitierte Quelle wie eine RFC statt auf Meinung. Du musst nichts davon bauen, um eines vorzuschlagen: Beschreibe einfach, was es berechnen soll, ein Beispiel und die Quelle, auf der es beruht.",
    "fitRule": "Ein einfacher Test entscheidet. Jedes Tool hier läuft vollständig in deinem Browser und sendet nichts irgendwohin, also muss ein neues Tool etwas sein, das ein Computer allein aus deiner Eingabe ermitteln kann, indem er einer festen, veröffentlichten Regel folgt. Wenn es online gehen, etwas live nachschlagen, dich anmelden oder sich an dich erinnern muss, gehört es nicht hierher.",
    "fitYes": "Passt:",
    "fitYesBody": "etwas dekodieren oder erklären, das du einfügst (ein Token, ein Zertifikat, eine Konfiguration, eine Befehlsausgabe), zwischen Formaten umwandeln, aus einem Standard oder einer Formel berechnen oder nach einer Regel erzeugen, etwa eine UUID, einen Hash oder eine Befehlszeile.",
    "fitNo": "Passt nicht:",
    "fitNoBody": "alles, was online gehen oder etwas live prüfen muss (eine echte Website testen, einen Live-DNS-Server abfragen, eine Adresse scannen), alles, was ein Konto, eine Anmeldung oder gespeicherte Daten braucht, oder alles, dessen Antwort nicht durch einen veröffentlichten Standard festgelegt ist.",
    "fitUnsure": "Du bist dir nicht sicher, auf welche Seite deine Idee gehört? Schick sie trotzdem und sag, was sie tun soll. Ich sage dir ehrlich, ob sie passt, und warum.",
    "emailTitle": "So erreichst du mich",
    "emailBody": "E-Mail ist der Kanal. Sag mir, was du gefunden hast oder dir wünschst, mit genug Details zum Handeln: ein Beispiel, ein Link, der genaue Wortlaut, was eben passt. Wenn es das Toolkit besser macht, wird es gebaut.",
    "emailLabel": "E-Mail",
    "backToTools": "Zurück zum Werkzeugkasten"
  },
  "languageStatus": {
    "title": "Übersetzungsstatus",
    "reviewed": "Von Menschen geprüft",
    "complete": "Maschinell, vollständig",
    "partial": "Maschinell, in Arbeit",
    "explainTitle": "Wie Übersetzungen gekennzeichnet sind",
    "explainBody": "Englisch und brasilianisches Portugiesisch werden von einer Person geschrieben und geprüft. Die meisten anderen Sprachen sind maschinell übersetzt und nach ihrem Fortschritt gekennzeichnet: Bernstein, sobald eine Sprache die gesamte Website abdeckt, Gelb, solange neuere Inhalte noch auf Englisch sind und aufholen. Rot markierte Sprachen haben noch keine Übersetzung und werden vorerst auf Englisch angezeigt. Maschinell übersetzte Seiten tragen außerdem einen kurzen Hinweis, und Sie sind herzlich eingeladen, sie zu verbessern.",
    "stub": "Noch nicht übersetzt"
  },
  "changelog": {
    "eyebrow": "Änderungsprotokoll",
    "title": "Was ist neu",
    "lede": "Eine fortlaufende Aufzeichnung neuer Tools, neuer Learn-Artikel und wesentlicher Änderungen an dieser Website. Heute sind {count} Tools verfügbar.",
    "kindLaunch": "Start",
    "kindTool": "Neues Tool",
    "kindFeature": "Funktion",
    "kindI18n": "Lokalisierung",
    "kindContent": "Inhalt",
    "kindInfra": "Infrastruktur"
  }
}
