{
  "_meta": {
    "locale": "da",
    "status": "machine-draft",
    "note": "Fuld dansk oversættelse (AI-udkast, tiltaleformen 'du', som er standard i moderne dansk). Bør gennemgås af en modersmålstalende før marketingkampagner, jf. kvalitetsretningslinjen for oversættelser. Uden tankestreger (em dash), jf. CONCORD-retningslinjerne. Variabler og egennavne er uændrede."
  },
  "site": {
    "name": "ronutz",
    "tagline": "Netværks- og sikkerhedsværktøjer, der kører på din egen maskine, ikke i en andens sky."
  },
  "nav": {
    "tools": "Værktøjer",
    "about": "Om",
    "certifications": "Certificeringer",
    "training": "Uddannelse",
    "contact": "Kontakt",
    "skipToContent": "Spring til indhold",
    "openMenu": "Åbn menu",
    "closeMenu": "Luk menu",
    "learn": "Lær",
    "endorsements": "Anbefalinger",
    "certs": "Certificeringer"
  },
  "languageSwitcher": {
    "label": "Sprog",
    "stubNotice": "Dette sprog er endnu ikke oversat. Viser på engelsk."
  },
  "home": {
    "hero": {
      "eyebrow": "Bygget af en fagperson, med privatliv først",
      "title": "Værktøjskassen til netværk og sikkerhed, der holder dine data på din maskine.",
      "subtitle": "Subnetberegninger, DNS- og e-maildiagnostik, certifikatinspektion og meget mere, beregnet lokalt i din browser. Ingen upload, ingen logning, ingen konto nødvendig til de daglige værktøjer.",
      "ctaPrimary": "Åbn værktøjskassen",
      "ctaSecondary": "Hvem bygger det her"
    },
    "credibility": {
      "title": "Bygget af en, der har gjort arbejdet siden 1996.",
      "body": "Tredive år inden for virksomhedsnetværk og sikkerhed, leveret af en aktiv instruktør og ikke af en marketingside. Certificeret på fire platforme, så sammenligningerne her er lavet ærligt, ikke for at sælge.",
      "aboutCta": "Mere om personen bag"
    },
    "pillars": {
      "title": "Fire platforme, undervist og holdt aktuelle.",
      "f5": "F5",
      "fortinet": "Fortinet",
      "extreme": "Extreme Networks",
      "netskope": "Netskope"
    },
    "privacy": {
      "title": "Hvorfor lokal kørsel betyder noget i sikkerhedsarbejde.",
      "body": "Når du indsætter en konfiguration, en pakkeoptagelse eller et certifikat i et værktøj, indeholder de data ofte hemmeligheder. Her kører de daglige værktøjer helt i din browser. Inddata forlader aldrig din enhed, så der er intet at logge, lække eller udlevere efter en retskendelse."
    },
    "toolPreview": {
      "title": "Prøv et værktøj nu.",
      "body": "CIDR-beregneren nedenfor kører lokalt. Indtast et net og et præfiks for at se adresseintervallet, antallet af værter og masken. Intet sendes nogen steder hen.",
      "learnHeading": "Lær begreberne",
      "toolboxCta": "Åbn hele værktøjskassen",
      "seeAllArticles": "Se alle artikler"
    },
    "provenance": {
      "title": "Tak og kilder",
      "show": "Vis",
      "hide": "Skjul",
      "basisLabel": "Sådan fungerer det",
      "sourcesLabel": "Standarder og kilder"
    },
    "funding": {
      "title": "Støt dette værktøj",
      "pitch": "Dette værktøj er gratis og bygget til at forblive sådan. Hvis det fortjener en plads i dit arbejdsflow, kan du hjælpe med at finansiere vedligeholdelsen og det, der kommer næst.",
      "purposeLabel": "Finansieres nu"
    },
    "stats": {
      "tools": "Værktøjer",
      "articles": "Artikler",
      "sectionLabel": "Værktøjskassen kort fortalt"
    }
  },
  "tools": {
    "cidr": {
      "title": "CIDR-beregner",
      "description": "Beregn net- og broadcastadresserne, det anvendelige værtsinterval, antallet af værter og netmasken for en IPv4 CIDR-blok. Kører lokalt i din browser.",
      "inputLabel": "CIDR-blok",
      "inputPlaceholder": "192.168.1.0/24",
      "compute": "Beregn",
      "runsLocally": "Kører lokalt, intet sendes til nogen server.",
      "prefixSlider": "Præfikslængde",
      "bitsHeading": "Adressebits",
      "bitsNetwork": "Netværk",
      "bitsHost": "Vært",
      "bitsNote": "De fremhævede bits angiver netværket — resten adresserer værter i det.",
      "results": {
        "network": "Netadresse",
        "broadcast": "Broadcastadresse",
        "netmask": "Netmaske",
        "wildcard": "Wildcard-maske",
        "firstHost": "Første anvendelige vært",
        "lastHost": "Sidste anvendelige vært",
        "totalAddresses": "Samlet antal adresser",
        "usableHosts": "Anvendelige værter"
      },
      "errors": {
        "empty": "Indtast en CIDR-blok for at beregne.",
        "invalid": "Det her ligner ikke en gyldig CIDR-blok. Prøv et format som 192.168.1.0/24."
      },
      "name": "CIDR-/subnetberegner",
      "blurb": "Opdel en vilkårlig IPv4-CIDR-blok i netværks- og broadcastadresser, brugbart værtsinterval, antal værter og netmaske. Kører helt i din browser.",
      "modes": {
        "subnet": "Subnet",
        "vlsm": "VLSM",
        "supernet": "Supernet",
        "overlap": "Overlap / hul"
      },
      "modeDesc": {
        "subnet": "Analyserer en enkelt IPv4-CIDR-blok: net, broadcast, maske og værtsinterval.",
        "vlsm": "Opdeler en overordnet blok i subnet af variabel længde efter en liste over antal værter.",
        "supernet": "Opsummerer en liste over præfikser til det mindste sæt dækkende blokke.",
        "overlap": "Finder overlap og indlejring mellem præfikser samt huller inden for et valgfrit område."
      },
      "vlsm": {
        "parentLabel": "Overordnet blok",
        "reqsLabel": "Subnetkrav",
        "namePlaceholder": "Navn (valgfrit)",
        "hostsPlaceholder": "Værter",
        "addRow": "Tilføj subnet",
        "remove": "Fjern",
        "run": "Tildel",
        "th": {
          "name": "Navn",
          "hosts": "Værter",
          "network": "Net",
          "prefix": "Præfiks",
          "netmask": "Netmaske",
          "range": "Anvendeligt interval",
          "broadcast": "Broadcast",
          "usable": "Anvendelige værter"
        },
        "stat": {
          "parent": "Overordnet",
          "used": "Brugt",
          "free": "Ledig",
          "utilization": "Udnyttelse"
        },
        "unfit": "Kunne ikke være der",
        "parentPlaceholder": "10.0.0.0/24"
      },
      "supernet": {
        "label": "Præfikser, der skal aggregeres",
        "run": "Aggreger",
        "minimal": "Mindste dækkende sæt",
        "single": "Enkelt supernet",
        "singleExtra": "Tilføjer {extra} ekstra adresser ud over inputtet.",
        "stat": {
          "inputs": "Inputpræfikser",
          "addresses": "Adresser",
          "blocks": "Aggregerede blokke"
        },
        "placeholder": "192.168.0.0/24\n192.168.1.0/24"
      },
      "overlap": {
        "label": "Præfikser, der skal kontrolleres",
        "scopeLabel": "Område (valgfrit, aktiverer huldetektion)",
        "run": "Kontrollér",
        "overlapsTitle": "Overlap",
        "noOverlaps": "Ingen overlap fundet.",
        "gapsTitle": "Huller i området",
        "noGaps": "Ingen huller i det angivne område.",
        "kind": {
          "identical": "identisk med",
          "contains": "indeholder",
          "contained": "ligger i",
          "partial": "overlapper delvist"
        },
        "addresses": "adresser",
        "stat": {
          "covered": "Dækket",
          "scope": "Område"
        },
        "placeholder": "10.0.0.0/24\n10.0.0.128/25",
        "scopePlaceholder": "10.0.0.0/16"
      },
      "err": {
        "ipv4": "Ingen gyldig IPv4-adresse. Brug fire oktetter fra 0 til 255, som 192.168.1.0.",
        "octet": "En oktet er uden for intervallet (hver skal være mellem 0 og 255).",
        "format": "Det forventede format er A.B.C.D/præfiks, som 192.168.1.0/24.",
        "prefix": "Præfikslængden skal være mellem 0 og 32.",
        "tooMany": "For mange poster. Forkort listen, og prøv igen.",
        "noReqs": "Tilføj mindst ét subnetkrav med et antal værter.",
        "noPrefixes": "Angiv mindst ét præfiks, ét pr. linje."
      },
      "rangeHeading": "Adresselayout",
      "usableShort": "anvendelige",
      "rfcNote": "/31 og /32 reserverer intet: hver adresse er anvendelig (RFC 3021).",
      "reservedNote": "Den første adresse er netværket og den sidste er broadcast; begge er reserveret, så anvendelige = i alt − 2."
    },
    "title": "Værktøjer",
    "lede": "Små, hurtige og privatlivsvenlige værktøjer, der kører helt i din browser. Intet af det, du skriver, sendes nogen steder hen. Flere er på vej.",
    "open": "Åbn",
    "comingSoon": "Kommer snart",
    "note": "Denne værktøjskasse vokser. Nye værktøjer tilføjes her, efterhånden som de bliver klar, hver med lokal kørsel og gratis at bruge.",
    "learnHeading": "Lær koncepterne",
    "backToTools": "Værktøjer",
    "references": "Referencer",
    "jumpTo": "Hop til",
    "categories": {
      "identity": "Identitet og tokens",
      "encoding": "Kodning og data",
      "hashing": "Hashing og krypto",
      "identifiers": "Identifikatorer",
      "pki": "Certifikater og PKI",
      "networking": "Netværk",
      "transport": "TLS og transport"
    },
    "hash": {
      "name": "Hash-generator (SHA-1/256/384/512)",
      "blurb": "Beregn SHA-1-, SHA-256-, SHA-384- og SHA-512-sammendrag af vilkårlig tekst, vist som hex og Base64, med browserens indbyggede Web Crypto. Kører helt i din browser.",
      "algorithmLabel": "Hash-algoritme",
      "inputLabel": "Tekst der skal hashes",
      "inputPlaceholder": "The quick brown fox jumps over the lazy dog",
      "runsLocally": "Hashingen kører lokalt via Web Crypto. Intet af det, du skriver, forlader din browser.",
      "bits": "{bits} bit ({bytes} byte)",
      "sha1Note": "SHA-1 er brudt med hensyn til kollisionsmodstand og uegnet til sikkerhed (signaturer, certifikater). Det duer kun til ikke-sikkerhedskontrolsummer og ældre interoperabilitet.",
      "hex": "Hex",
      "base64": "Base64",
      "copy": "Kopiér",
      "copied": "Kopieret"
    },
    "hmac": {
      "name": "HMAC-generator (SHA-256/384/512)",
      "blurb": "Beregn en nøglebaseret HMAC over en besked med din hemmelige nøgle, vist som hex og Base64, via browserens indbyggede Web Crypto. Samme konstruktion, som JWT-verifikatoren bruger til HS256. Din nøgle forlader aldrig din browser.",
      "algorithmLabel": "HMAC-algoritme",
      "messageLabel": "Besked",
      "messagePlaceholder": "Beskeden der skal autentificeres",
      "keyLabel": "Hemmelig nøgle",
      "keyPlaceholder": "Din delte hemmelighed",
      "runsLocally": "HMAC kører lokalt via Web Crypto. Din besked og din nøgle forlader aldrig din browser.",
      "hex": "Hex",
      "base64": "Base64",
      "copy": "Kopiér",
      "copied": "Kopieret",
      "struct": {
        "heading": "Sådan er HMAC opbygget",
        "innerHash": "indre hash",
        "note": "HMAC hasher beskeden to gange. Nøglen kombineres med XOR med en fast indre pad før den første hash og med en ydre pad før den anden, og denne konstruktion med to pads er det, der forhindrer length-extension-angreb. Nøglen reduceres først til hashens blokstørrelse."
      }
    },
    "base64": {
      "name": "Base64-, Base32-, Hex- og procent-codec",
      "blurb": "Kod tekst til Base64, URL-sikker Base64, Base32, hexadecimal eller procentkodning, og afkod hvilken som helst af dem tilbage. Tolererer manglende udfyldning og mellemrum, og markerer binære (ikke-UTF-8) resultater. Kører helt i din browser.",
      "directionLabel": "Retning",
      "direction": {
        "encode": "Kod",
        "decode": "Afkod"
      },
      "inputLabelEncode": "Tekst der skal kodes",
      "inputLabelDecode": "Kodet tekst, der skal afkodes",
      "placeholderEncode": "Hello, World!",
      "placeholderDecode": "SGVsbG8sIFdvcmxkIQ==",
      "runsLocally": "Kodning og afkodning kører lokalt. Intet af det, du indsætter, forlader din browser.",
      "decodeErrors": {
        "invalid-characters": "Dette input indeholder tegn uden for den valgte codecs alfabet.",
        "invalid-length": "Dette input har ikke en gyldig længde for den valgte codec.",
        "invalid-escape": "Dette input har en forkert procent-escape (et % uden to efterfølgende hexadecimale cifre)."
      },
      "outputEncode": "Kodet",
      "outputDecode": "Afkodet tekst",
      "copy": "Kopiér",
      "copied": "Kopieret",
      "emptyOutput": "(tom)",
      "decodedBytes": "{bytes, plural, one {# byte afkodet} other {# byte afkodet}}.",
      "notUtf8": "{bytes, plural, one {# byte afkodet} other {# byte afkodet}}, men resultatet er ikke gyldig UTF-8-tekst (sandsynligvis binært).",
      "codecLabel": "Codec",
      "codec": {
        "base64": "Base64",
        "base64url": "Base64URL",
        "base32": "Base32",
        "base16": "Hex",
        "percent": "Percent"
      }
    },
    "pkce": {
      "name": "OAuth-PKCE-verifikator og -challenge",
      "blurb": "Generér en OAuth 2.0-code_verifier og udled dens S256-code_challenge, eller indsæt din egen og tjek den mod længde- og tegnsætsreglerne i RFC 7636. Samme SHA-256-base64url-udledning, som din autorisationsserver forventer. Kører helt i din browser.",
      "verifierLabel": "Code verifier",
      "verifierPlaceholder": "Indsæt en code_verifier, eller generér en",
      "generate": "Generér",
      "runsLocally": "Generering og udledning kører lokalt. Din verifier forlader aldrig din browser.",
      "lengthBadge": "Længde {length} (43-128)",
      "charsetOk": "Ureserveret tegnsæt",
      "charsetBad": "Ugyldige tegn",
      "s256Title": "Code challenge · S256",
      "plainTitle": "Code challenge · plain",
      "plainNote": "Plain-metoden frarådes. Brug S256, hvor end klienten kan beregne SHA-256.",
      "encodingLabel": "base64url",
      "plainValueLabel": "= code_verifier",
      "copy": "Kopiér",
      "copied": "Kopieret",
      "flowHeading": "Sådan virker PKCE",
      "laneClient": "App / Klient",
      "laneServer": "Autorisationsserver",
      "s1": "Generér en tilfældig code_verifier",
      "s2": "Udled code_challenge",
      "s3": "Autorisationsanmodning bærer challenge",
      "s4": "Serveren gemmer challenge",
      "s5": "Autorisationskode returneret",
      "s6": "Tokenanmodning bærer verifier",
      "s7": "Serveren udleder igen og sammenligner",
      "s8": "Access- og refresh-tokens udstedt"
    },
    "uuid": {
      "name": "UUID-generator og -inspektør (v4 / v7)",
      "blurb": "Generér tilfældige v4- eller tidsordnede v7-UUID'er, eller indsæt en vilkårlig UUID for at læse dens version, variant og (for v7) det indlejrede oprettelsestidsstempel. Genereringen bruger browserens sikre tilfældighedskilde. Kører helt i din browser.",
      "versionLabel": "UUID-version",
      "generate": "Generér",
      "clear": "Ryd",
      "emptyHint": "Vælg en version, og generér.",
      "runsLocally": "Generering og inspektion kører lokalt. Intet sendes nogen steder hen.",
      "copy": "Kopiér",
      "copied": "Kopieret",
      "inspectLabel": "Inspicér en UUID",
      "inspectPlaceholder": "Indsæt en vilkårlig UUID for at afkode den",
      "valid": "Gyldig UUID",
      "invalid": "Ikke en gyldig UUID",
      "versionField": "Version",
      "variantField": "Variant",
      "timestampField": "Tidsstempel (v7)",
      "versionValue": "Version {version}"
    },
    "jwt": {
      "name": "JWT-afkoder og -verifikator",
      "blurb": "Afkod en JSON Web Tokens header og claims, læs dens udløb og tidsangivelser i klart sprog, og verificér en HS256/384/512-signatur med en indsat hemmelighed. Kører helt i din browser.",
      "inputLabel": "JSON Web Token",
      "inputPlaceholder": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
      "runsLocally": "Afkodning og signaturtjek kører lokalt. Token og hemmelighed forlader aldrig din browser.",
      "errors": {
        "empty": "Indsæt en JSON Web Token for at afkode.",
        "format": "Det ligner ikke en JWT. En token har tre base64url-dele adskilt af punktummer: header.payload.signature.",
        "header": "Headeren er ikke gyldig. Den bør være base64url-kodet JSON.",
        "payload": "Payloaden er ikke gyldig. Den bør være base64url-kodet JSON."
      },
      "panels": {
        "header": "Header",
        "payload": "Payload",
        "signature": "Signatur",
        "noSignature": "Intet signatursegment (usikret token)."
      },
      "claims": {
        "iss": "Udsteder (iss)",
        "sub": "Subjekt (sub)",
        "aud": "Målgruppe (aud)",
        "jti": "JWT-ID (jti)",
        "iat": "Udstedt (iat)",
        "nbf": "Ikke før (nbf)",
        "exp": "Udløber (exp)"
      },
      "status": {
        "expired": "Udløbet {rel}",
        "expiresIn": "Gyldig, udløber {rel}",
        "notYetValid": "Ikke gyldig endnu, starter {rel}",
        "noExpiry": "Ingen udløbs-claim (exp)"
      },
      "verify": {
        "label": "Verificér HMAC-signatur (HS256/384/512)",
        "placeholder": "delt hemmelighed",
        "button": "Verificér",
        "valid": "Signatur gyldig for denne hemmelighed.",
        "invalid": "Signaturen matcher ikke denne hemmelighed.",
        "algNone": "Denne token er usikret (alg: none), så der er ingen signatur at verificere.",
        "unsupportedAlg": "Verifikation i browseren dækker kun HS256/384/512. {alg} er asymmetrisk og kræver en offentlig nøgle.",
        "hint": "Hemmeligheden bruges kun til at beregne en HMAC i din browser. Den sendes aldrig nogen steder hen."
      },
      "struct": {
        "heading": "Et JWT's opbygning",
        "signingInput": "Signaturinput",
        "note": "Header og payload er kun base64url-kodet, ikke krypteret, så alle kan læse dem. Signaturen beregnes over header og payload samlet med et punktum, og er det, en verifikator kontrollerer."
      }
    },
    "x509": {
      "name": "X.509-certifikatafkoder",
      "blurb": "Indsæt et certifikat som PEM, base64 eller hex for at læse dets subjekt, udsteder, gyldighedsvindue, offentlige nøgle og v3-udvidelser, med SHA-256- og SHA-1-fingeraftryk. Kører helt i din browser.",
      "inputLabel": "X.509-certifikat",
      "inputPlaceholder": "-----BEGIN CERTIFICATE-----\nMIIB...\n-----END CERTIFICATE-----",
      "runsLocally": "Afkodning og fingeraftryk kører lokalt. Certifikatet forlader aldrig din browser.",
      "errors": {
        "empty": "Indsæt et X.509-certifikat for at afkode.",
        "format": "Det ligner ikke et certifikat. Indsæt PEM (-----BEGIN CERTIFICATE-----), base64 eller hex.",
        "der": "Bytene er ikke gyldig DER. Tjek, at hele certifikatet blev indsat, inklusive END-linjen.",
        "structure": "Dette afkodes som ASN.1, men er ikke et X.509-certifikat. Et certifikat er en SEQUENCE af TBSCertificate, signatureAlgorithm og signatureValue."
      },
      "status": {
        "valid": "Gyldigt, udløber {rel}",
        "expired": "Udløbet {rel}",
        "notYetValid": "Ikke gyldigt endnu, starter {rel}"
      },
      "panels": {
        "subject": "Subjekt",
        "issuer": "Udsteder",
        "details": "Detaljer",
        "publicKey": "Offentlig nøgle",
        "extensions": "Udvidelser",
        "fingerprints": "Fingeraftryk",
        "sct": "Certificate Transparency"
      },
      "fields": {
        "version": "Version",
        "serial": "Serienummer",
        "notBefore": "Ikke før",
        "notAfter": "Ikke efter",
        "signatureAlgorithm": "Signaturalgoritme",
        "algorithm": "Algoritme",
        "keySize": "Nøglestørrelse",
        "exponent": "Eksponent",
        "curve": "Kurve",
        "bits": "{n} bit",
        "selfSigned": "Selvudstedt"
      },
      "ext": {
        "san": "Alternative subjektnavne",
        "keyUsage": "Nøgleanvendelse",
        "extKeyUsage": "Udvidet nøgleanvendelse",
        "basicConstraints": "Grundlæggende begrænsninger",
        "subjectKeyId": "Subjektets nøgleidentifikator",
        "authorityKeyId": "Udstederens nøgleidentifikator",
        "caTrue": "Certifikatmyndighed (CA: true)",
        "caFalse": "Ikke en CA (CA: false)",
        "pathLen": "stilængde {n}",
        "critical": "kritisk"
      },
      "fp": {
        "sha256": "SHA-256",
        "sha1": "SHA-1",
        "computing": "Beregner fingeraftryk..."
      },
      "chainHeading": "Tillidskæde",
      "tierRoot": "Rod-CA",
      "tierIntermediate": "Mellemliggende CA",
      "tierLeaf": "Slutentitetscertifikat",
      "roleRoot": "Selvsigneret tillidsanker",
      "roleIntermediate": "Signeret af en rod; signerer slutcertifikater",
      "roleLeaf": "Identificerer en server eller klient",
      "thisCert": "dette certifikat",
      "issuedBy": "Udstedt af",
      "signs": "signerer",
      "trustNote": "Tillid flyder nedad: hvert certifikat signeres af det ovenfor, helt op til en rod, som dit system allerede stoler på.",
      "sct": {
        "intro": "Indlejrede SCT'er: {n}. Hver er en CT-logs signerede bevis for, at den registrerede dette certifikat; browsere kræver et minimumsantal, for at certifikatet er betroet.",
        "entry": "SCT {i}",
        "logId": "Log-id",
        "timestamp": "Logget den",
        "signature": "Signatur",
        "note": "Signaturer vises, men verificeres ikke her; verificering af en SCT kræver loggens offentlige nøgle og præcertifikatet."
      }
    },
    "ipv6": {
      "name": "IPv6-værktøjskasse",
      "blurb": "Parsér en IPv6-adresse eller et præfiks for at se dens kanoniske (RFC 5952) og fuldt udfoldede former, klassificering til særlig brug, præfiksaritmetik, en EUI-64-MAC hvis den findes, og dens ip6.arpa-omvendt-DNS-navn. Kører helt i din browser.",
      "inputLabel": "IPv6-adresse eller -præfiks",
      "inputPlaceholder": "2001:db8::1/64",
      "runsLocally": "Parsningen kører lokalt. Adressen forlader aldrig din browser.",
      "errors": {
        "empty": "Indtast en IPv6-adresse eller et præfiks for at afkode.",
        "format": "Det er ikke en gyldig IPv6-adresse. Brug otte hex-grupper, eventuelt komprimeret én gang med :: (for eksempel 2001:db8::1).",
        "prefix": "Præfikslængden er ikke gyldig. For IPv6 skal den være mellem 0 og 128."
      },
      "panels": {
        "forms": "Kanoniske former",
        "classification": "Klassificering",
        "prefix": "Præfiks",
        "identifiers": "Identifikatorer"
      },
      "fields": {
        "compressed": "Komprimeret (RFC 5952)",
        "expanded": "Udfoldet",
        "type": "Type",
        "scope": "Omfang",
        "embeddedIpv4": "Indlejret IPv4",
        "network": "Netværk",
        "firstAddress": "Første adresse",
        "lastAddress": "Sidste adresse",
        "count": "Adresser",
        "hostBits": "Værtsbit",
        "eui64": "EUI-64-MAC",
        "reverseDns": "Omvendt DNS (ip6.arpa)"
      },
      "badges": {
        "multicast": "multicast"
      },
      "segHeading": "Adressestruktur",
      "networkSeg": "Netværkspræfiks",
      "ifaceId": "Grænseflade-ID",
      "hostBits": "Værtsbit",
      "prefixNote": "Bits til venstre for grænsen fastlægges af præfikset; bits til højre identificerer værten inden i det.",
      "conventionNote": "Intet præfiks angivet, så den stiplede linje markerer den konventionelle /64-deling: routingpræfiks og subnet til venstre, den 64-bit grænsefladeidentifikator til højre."
    },
    "cipher": {
      "name": "Afkoder til ciphersuiter",
      "blurb": "Indtast en TLS-ciphersuite, som IANA-navn, OpenSSL- eller GnuTLS-navn, eller et hexadecimalt kodepunkt, for at bryde den ned i nøgleudveksling, autentificering, kryptering, tilstand og MAC, med en letforståelig sikkerhedsvurdering og den officielle IANA-anbefaling. Kører helt i din browser mod en indlejret kopi af IANA-registret.",
      "inputLabel": "Ciphersuite",
      "inputPlaceholder": "TLS_AES_128_GCM_SHA256, ECDHE-RSA-AES128-GCM-SHA256 eller 0x1301",
      "runsLocally": "Afkodningen kører lokalt mod en indlejret kopi af IANA's register over TLS-ciphersuiter. Intet sendes nogen steder hen.",
      "notInRegistryNote": "Dette navn blev fortolket strukturelt, men blev ikke fundet i det indlejrede øjebliksbillede af IANA-registret – dets kodepunkt og alternative navne vises derfor ikke.",
      "errors": {
        "empty": "Indtast en ciphersuite, der skal afkodes.",
        "format": "Det er ikke en ciphersuite. Indtast et IANA-navn (TLS_...), et OpenSSL-navn eller et hexadecimalt kodepunkt som 0x1301.",
        "unknown": "Det er et gyldigt kodepunktsformat, men det er ikke en tildelt ciphersuite i IANA-registret."
      },
      "ratings": {
        "recommended": "Anbefalet",
        "secure": "Sikker",
        "weak": "Svag",
        "insecure": "Usikker",
        "unknown": "Ukendt"
      },
      "iana": {
        "Y": "IANA: anbefalet",
        "N": "IANA: ikke anbefalet",
        "D": "IANA: frarådet"
      },
      "badges": {
        "tls13": "TLS 1.3",
        "notInRegistry": "Ikke i IANA-øjebliksbillede"
      },
      "panels": {
        "identity": "Identitet",
        "components": "Komponenter",
        "security": "Sikkerhed"
      },
      "fields": {
        "codePoint": "Kodepunkt",
        "name": "IANA-navn",
        "openssl": "OpenSSL-navn",
        "gnutls": "GnuTLS-navn",
        "protocol": "Protokol",
        "dtls": "DTLS-OK",
        "references": "Referencer"
      },
      "protocol": {
        "tls13": "TLS 1.3",
        "legacy": "TLS 1.2 og tidligere"
      },
      "comp": {
        "keyExchange": "Nøgleudveksling",
        "authentication": "Autentificering",
        "forwardSecrecy": "Forward secrecy",
        "cipher": "Kryptering",
        "mode": "Tilstand",
        "aead": "AEAD",
        "prf": "PRF-/KDF-hash",
        "mac": "MAC",
        "yes": "Ja",
        "no": "Nej",
        "bits": "{n} bit",
        "negotiatedSeparately": "Forhandles separat (TLS 1.3)"
      },
      "reasons": {
        "nullCipher": "NULL-kryptering: trafikken krypteres slet ikke.",
        "anon": "Anonym nøgleudveksling: modparten autentificeres ikke og giver derfor ingen beskyttelse mod en aktiv man-in-the-middle.",
        "export40": "Nøgle af eksportstyrke (40 bit): triviel at knække med brute force, en levning fra 1990'ernes eksportregler.",
        "rc4": "RC4-strømkryptering: den skæve nøglestrøm gør den brudt, og RFC 7465 forbyder den til TLS.",
        "singleDes": "Enkelt DES med 56-bit-nøgle: kan knækkes med brute force på timer.",
        "rc2": "RC2: en forældet 40/64-bit-kryptering, ikke sikker til moderne brug.",
        "tripleDes": "3DES har en 64-bit-blok, hvilket udsætter den for Sweet32-fødselsdagsangrebet (CVE-2016-2183). RFC 8429 forælder den.",
        "md5Mac": "MD5-MAC: MD5 er kryptografisk brudt.",
        "cbcMac": "CBC med en HMAC-SHA1- eller MD5-MAC bruger MAC-then-encrypt og er udsat for padding-oracle-angreb som BEAST og Lucky13.",
        "ccm8": "CCM_8 forkorter autentificeringstagget til 8 byte, hvilket svækker integriteten. IANA markerer det ikke som anbefalet.",
        "noFs": "Ingen forward secrecy: med en statisk nøgleudveksling kan én kompromitteret langtidsnøgle dekryptere tidligere sessioner. Moderne vejledning kræver ECDHE eller DHE.",
        "legacyCipher": "{value} er en forældet kryptering, overhalet til TLS.",
        "aead": "AEAD-kryptering (autentificeret kryptering): fortrolighed og integritet i én primitiv, uden en separat MAC, der kan bruges forkert.",
        "fs": "Forward secrecy: en flygtig nøgleudveksling holder tidligere trafik sikker, selv hvis langtidsnøglen senere kompromitteres.",
        "tls13": "TLS 1.3-suite: kun moderne AEAD-krypteringer, med nøgleudvekslingen forhandlet separat og altid flygtig.",
        "ianaD": "IANA markerer denne suite som \"D\" (frarådet): den BØR IKKE eller MÅ IKKE bruges, afhængigt af situationen.",
        "ianaN": "IANA markerer ikke denne suite som \"Anbefalet\": begrænset anvendelighed eller ikke gået gennem IETF-konsensusprocessen.",
        "signalling": "Signaleringssuite (SCSV): ikke en rigtig kryptering, men bærer et protokolsignal som nedgraderingsbeskyttelse eller genforhandlingsinfo."
      },
      "groups": {
        "title": "Nøgleudvekslingsgrupper",
        "intro": "TLS forhandler selve nøgleaftalegruppen separat fra cipher suiten, i udvidelsen supported_groups. Da \"harvest now, decrypt later\" driver overgangen til post-kvante-nøgleudveksling, kombinerer de hybride grupper nedenfor en klassisk kurve med ML-KEM.",
        "kind": {
          "ecdhe": "ECDHE-kurve",
          "ffdhe": "Endeligt-legeme-DH",
          "pq-hybrid": "PQ-hybrid"
        },
        "pq": {
          "classical": "Klassisk",
          "hybrid-pq": "Hybrid PQ"
        },
        "recommended": "Anbefalet",
        "obsolete": "Forældet",
        "legacy": "Ældre",
        "combines": "Kombinerer {classical} med {pq}",
        "foot": "X25519MLKEM768 er den hybride gruppe, som de fleste browsere nu sender som standard."
      }
    },
    "f5-ssl-profile-explainer": {
      "name": "F5 SSL-profilforklarer",
      "blurb": "Indsæt en tmsh client-ssl- eller server-ssl-profil og få dens rolle, TLS-protokolmatrixen og en sikkerhedsvurdering af kæde, genforhandling, SNI, OCSP og gensidig TLS — alt sammen i din browser.",
      "inputLabel": "SSL-profil (tmsh)",
      "inputPlaceholder": "ltm profile client-ssl /Common/name ...",
      "runsLocally": "Behandlet i din browser. Intet sendes nogen steder.",
      "scopeNote": "Afkoder en indsat profilblok. Kontakter aldrig en BIG-IP.",
      "errorTitle": "Kunne ikke læse profilen",
      "err_empty": "Indsæt en SSL-profil for at begynde.",
      "err_noHeader": "En linje som denne blev forventet: ltm profile client-ssl /Common/name ...",
      "err_noBody": "Ingen indledende krøllet parentes fundet i profilen.",
      "err_tooLong": "Dette input er for stort til at fortolke.",
      "err_invalid": "Dette ligner ikke en client-ssl- eller server-ssl-profil.",
      "protocolsHeading": "TLS-protokolversioner",
      "permitted": "tilladt",
      "disabled": "deaktiveret",
      "findingsHeading": "Sikkerhedsvurdering",
      "settingsHeading": "Indstillinger forklaret",
      "topoHeading": "I datastien",
      "nodeClient": "Klient",
      "nodeBigip": "BIG-IP",
      "nodePool": "Poolmedlem",
      "clientLeg": "TLS på klientsiden",
      "serverLeg": "Serversiden",
      "thisProfile": "denne profil",
      "clientNote": "En client-ssl-profil afslutter klientens TLS på BIG-IP. Forbindelsen videre til poolmedlemmet genkrypteres kun, hvis en server-ssl-profil anvendes; uden en sådan er det afsnit klartekst (SSL-offload).",
      "serverNote": "En server-ssl-profil lader BIG-IP åbne en ny TLS-forbindelse til poolmedlemmet (genkryptering). Klientsiden håndteres af en separat client-ssl-profil."
    },
    "epoch": {
      "name": "Unix-tidskonverter",
      "blurb": "Indtast et Unix-tidsstempel — sekunder, millisekunder, mikrosekunder eller nanosekunder, registreres automatisk — eller en ISO-8601-dato, og læs det i alle gængse formater. Alt sammen i din browser.",
      "inputLabel": "Tidsstempel eller dato",
      "inputPlaceholder": "1700000000  eller  2023-11-14T22:13:20Z",
      "runsLocally": "Konverteret i din browser. Intet sendes nogen steder.",
      "scopeNote": "Ren datoaritmetik. Enheden udledes af tallets størrelse; ret den om nødvendigt.",
      "nowButton": "Nu",
      "errorTitle": "Kunne ikke læse det",
      "err_empty": "Indtast et tidsstempel eller en dato for at begynde.",
      "err_invalid": "Det er hverken et Unix-tidsstempel eller en ISO-8601-dato.",
      "err_tooLong": "Dette input er for langt.",
      "err_outOfRange": "Det tidsstempel er uden for det repræsenterbare datointerval.",
      "utcHeading": "UTC-dato og -tid",
      "formatsHeading": "Alle formater",
      "dayOfYearLabel": "dag på året",
      "relativeNote": "i forhold til din enheds ur"
    },
    "irules-event-order": {
      "name": "iRule-hændelsesrækkefølge",
      "blurb": "Vælg profilstakken på en BIG-IP-virtuel server — Client-SSL, HTTP, Server-SSL, pool — og se rækkefølgen, som de almindelige iRule-hændelser udløses i, fra CLIENT_ACCEPTED til CLIENT_CLOSED, som tidslinje og liste. Alt sammen i din browser.",
      "stackLabel": "Den virtuelle servers profilstak",
      "tog_clientssl": "Client-SSL-profil",
      "tog_http": "HTTP-profil",
      "tog_serverssl": "Server-SSL-profil",
      "tog_pool": "Pool (load balancing)",
      "tog_fastl4": "FastL4 (pakke-hurtigsti)",
      "presetsLabel": "Forudindstillinger:",
      "preset_https": "HTTPS med genkryptering",
      "preset_offload": "SSL-aflastning",
      "preset_http": "HTTP",
      "preset_tcp": "Ren TCP",
      "runsLocally": "Beregnet i din browser. Intet sendes nogen steder.",
      "scopeNote": "En model af dokumenteret F5-adfærd for en Standard-virtuel server. Den kontakter aldrig en BIG-IP.",
      "diagramHeading": "Hændelsessekvens",
      "listHeading": "Hændelser i rækkefølge",
      "conditionalHeading": "Betingede hændelser",
      "conditionalNote": "Disse udløses kun under særlige betingelser: en TCP::collect eller HTTP::collect, en load balancing-fejl, eller et 100 Continue-svar.",
      "sideClient": "klientsiden",
      "sideServer": "serversiden",
      "sideGlobal": "globalt"
    },
    "cert-renewal-planner": {
      "name": "Planlægger til fornyelse af certifikater",
      "blurb": "Beregn et TLS-certifikats gyldighed, om det passer ind i CA/Browser Forums 47-dages tidsplan, og den fornyelseskadence det medfører; alt sammen offline.",
      "notBeforeLabel": "Udstedt (notBefore)",
      "notAfterLabel": "Udløber (notAfter)",
      "runsLocally": "Alt kører i din browser; intet uploades.",
      "exampleLabel": "Prøv et eksempel på 90 dage",
      "summaryHeading": "Dette certifikat",
      "validity": "{days} dages gyldighed",
      "compliantBadge": "Inden for grænsen",
      "overCapBadge": "Over grænsen",
      "maxForPhase": "Maksimum for udstedelsesdatoen: {max} dage.",
      "overByText": "{days} dage over maksimum på {max} dage for udstedelsesdatoen; en offentlig CA ville ikke udstede det.",
      "renewalsValue": "Cirka {n} fornyelser om året ved denne gyldighed.",
      "remainingHeading": "Efter din enheds ur",
      "daysRemaining": "{days} dage til det udløber.",
      "expiredText": "Udløb for {days} dage siden.",
      "renewByText": "Forny inden {date} (cirka {lead} dage før udløb)",
      "renewByDue": "om {days} dage",
      "reuseHeading": "Genbrug af validering (udstedelsesæra)",
      "dcvText": "Domænevalideringsdata (DCV) kan genbruges i {days} dage.",
      "siiText": "Organisationsidentitet (OV/EV SII) kan genbruges i {days} dage.",
      "scheduleHeading": "SC-081v3-tidsplanen",
      "scheduleIntro": "Offentlige TLS-maksima afhænger af certifikatets udstedelsesdato:",
      "colPeriod": "Udstedt fra",
      "colValidity": "Maks. gyldighed (dage)",
      "colDcv": "DCV-genbrug (dage)",
      "colSii": "SII-genbrug (dage)",
      "phaseP0": "Før 15. mar. 2026",
      "phaseP1": "15. mar. 2026",
      "phaseP2": "15. mar. 2027",
      "phaseP3": "15. mar. 2029",
      "yourPhase": "← dette certifikat",
      "projectionHeading": "Fornyelsesbelastning ved hver grænse",
      "projectionIntro": "Fornyelser pr. certifikat pr. år, efterhånden som grænserne strammes:",
      "perYearShort": "år",
      "note_overCap": "Denne gyldighed overskrider maksimum på {max} dage for udstedelsesdatoen.",
      "note_future47": "I overensstemmelse i dag, men længere end den kommende grænse på 47 dage; forvent hyppigere fornyelser, efterhånden som tidsplanen skrider frem.",
      "note_publicOnly": "Disse grænser gælder kun offentligt betroede TLS-certifikater. Privat eller intern PKI er ikke omfattet af SC-081v3.",
      "note_automate": "Ved disse kadencer bør udstedelse og fornyelse automatiseres med ACME (RFC 8555) og ARI (RFC 9773); manuel fornyelse skalerer ikke.",
      "err_empty": "Indtast begge datoer, udstedelse og udløb.",
      "err_invalidDate": "Brug en gyldig dato (ÅÅÅÅ-MM-DD).",
      "err_order": "Udløbsdatoen skal være efter udstedelsesdatoen.",
      "err_tooLong": "Dette input er for langt.",
      "err_invalid": "Kunne ikke læse de datoer."
    },
    "csr-decoder": {
      "name": "CSR-dekoder",
      "blurb": "Afkod en PKCS#10-anmodning om certifikatsignering for at læse dens emne, offentlige nøgle, anmodede SAN'er og udvidelser samt attributter; alt sammen i din browser.",
      "inputLabel": "Anmodning om certifikatsignering (PEM, base64 eller hex)",
      "inputPlaceholder": "-----BEGIN CERTIFICATE REQUEST-----\n...",
      "exampleLabel": "Indlæs en eksempel-CSR",
      "runsLocally": "Alt kører i din browser; CSR'en uploades aldrig.",
      "notCertNote": "En CSR er en anmodning, ikke et certifikat. Den har intet serienummer, ingen udsteder og ingen gyldighedsdatoer; kun det, som anmoderen beder en CA om at certificere.",
      "subjectHeading": "Emne",
      "colAttr": "Attribut",
      "colValue": "Værdi",
      "noSubject": "Intet emnenavn (denne CSR bygger på anmodede SAN'er).",
      "keyHeading": "Offentlig nøgle",
      "keyAlgorithmLabel": "Algoritme",
      "keySizeLabel": "Størrelse",
      "keySizeValue": "{bits} bit",
      "keyCurveLabel": "Kurve",
      "keyExponentLabel": "Eksponent",
      "keyExponentValue": "{exp}",
      "requestedHeading": "Anmodede udvidelser",
      "sanLabel": "Subject Alternative Names",
      "keyUsageLabel": "Nøgleanvendelse",
      "ekuLabel": "Udvidet nøgleanvendelse",
      "basicConstraintsLabel": "Basisbegrænsninger",
      "caYes": "CA: ja",
      "caNo": "CA: nej",
      "pathLenValue": "stilængde {n}",
      "noRequested": "Ingen udvidelser anmodet.",
      "attributesHeading": "Attributter",
      "challengePasswordLabel": "Challenge-adgangskode",
      "unstructuredNameLabel": "Ustruktureret navn",
      "signatureHeading": "Selvsignatur",
      "signatureAlgLabel": "Algoritme",
      "signatureBitsLabel": "Længde",
      "signatureBitsValue": "{bits} bit",
      "versionValue": "Version: v1 ({v})",
      "derLengthValue": "DER: {bytes} byte",
      "err_empty": "Indsæt en anmodning om certifikatsignering for at afkode.",
      "err_format": "Det ligner ikke en CSR i PEM, base64 eller hex.",
      "err_der": "DER-strukturen kunne ikke parses.",
      "err_structure": "Dette parses som DER, men er ikke en PKCS#10-certificeringsanmodning."
    },
    "oidc": {
      "name": "OIDC-dekoder",
      "blurb": "Indsæt et OpenID Connect ID-token eller et .well-known/openid-configuration-dokument og dekod det: kerne-claims, profil-claims, endpoints og kapaciteter, med kontrol af påkrævede claims, signeringsalgoritme, nonce og PKCE.",
      "inputLabel": "ID-token (JWT) eller openid-configuration-JSON",
      "inputPlaceholder": "Indsæt et ID-token, eller et OIDC-discovery-JSON-dokument",
      "runsLocally": "Dekodningen kører lokalt i din browser. Den kalder aldrig jwks_uri eller noget endpoint, og intet sendes nogen steder hen.",
      "notVerifiedNote": "Dette værktøj dekoder og forklarer. Det verificerer ikke token-signaturen, henter ikke signeringsnøglerne og kontrollerer ikke udløb mod uret.",
      "errors": {
        "empty": "Indsæt et ID-token eller et openid-configuration-dokument for at dekode.",
        "malformed-json": "Dette begynder som JSON, men kunne ikke parses. Tjek for en manglende klamme, et komma eller et anførselstegn.",
        "json-not-oidc": "Dette er JSON, men ikke et OpenID Connect-discovery-dokument. Indsæt et ID-token, eller et .well-known/openid-configuration-dokument.",
        "not-jwt": "Dette ligner ikke et JWT eller et OIDC-dokument. Indsæt et ID-token eller et discovery-dokument.",
        "jwt-header": "Token-headeren kunne ikke dekodes. Et JWT er tre base64url-dele adskilt af punktummer.",
        "jwt-payload": "Token-payloaden kunne ikke dekodes som JSON."
      },
      "badges": {
        "idToken": "ID Token",
        "discovery": "Discovery",
        "signed": "Signeret",
        "unsigned": "Usigneret",
        "algNone": "alg: none",
        "algUnknown": "alg: ?"
      },
      "panels": {
        "header": "Header",
        "coreClaims": "Kerne-claims i ID-tokenet",
        "metadata": "Udbyder",
        "endpoints": "Endpoints",
        "capabilities": "Kapaciteter"
      },
      "categories": {
        "binding": "Token-binding",
        "profile": "Profil-claims",
        "email": "E-mail",
        "address": "Adresse",
        "phone": "Telefon",
        "oauth": "OAuth / session",
        "other": "Andre claims"
      },
      "fields": {
        "alg": "Algoritme",
        "typ": "Type",
        "kid": "Nøgle-ID",
        "iss": "Udsteder (iss)",
        "sub": "Subjekt (sub)",
        "aud": "Målgruppe (aud)",
        "azp": "Autoriseret part (azp)",
        "nonce": "Nonce",
        "acr": "Auth-kontekst (acr)",
        "amr": "Auth-metoder (amr)",
        "authTime": "Auth-tid",
        "iat": "Udstedt (iat)",
        "nbf": "Ikke før (nbf)",
        "exp": "Udløber (exp)",
        "issuer": "Udsteder"
      },
      "reasons": {
        "MISSING_REQUIRED_CLAIM": "Manglende påkrævet claim {value}. Et ID-token skal indeholde iss, sub, aud, exp og iat.",
        "ALG_NONE": "Tokenet bruger alg none, hvilket betyder, at det er usigneret. Et usigneret ID-token beviser intet og skal afvises.",
        "ALG_SYMMETRIC": "Signeret med {value}, en symmetrisk (HMAC) algoritme. ID-tokens fra en offentlig udbyder bruger normalt en asymmetrisk algoritme som RS256 eller ES256, så relying party kan verificere med den offentlige nøgle.",
        "ALG_UNKNOWN": "Signeret med {value}, en algoritme som dette værktøj ikke genkender. Bekræft, at det er en forventet, stærk algoritme.",
        "SIGNED_ASYMMETRIC": "Signeret med {value}, en asymmetrisk algoritme. Relying party verificerer det mod udbyderens offentlige nøgle fra JWKS.",
        "NO_NONCE": "Ingen nonce-claim. Nonce binder tokenet til autentificeringsanmodningen og beskytter mod replay. Den bør være til stede, når anmodningen sendte en.",
        "MULTI_AUD_NO_AZP": "Tokenet har flere målgrupper, men ingen azp (autoriseret part). Med mere end én målgruppe bør azp navngive den klient, tokenet er til.",
        "DISCOVERY_MISSING_FIELD": "Manglende påkrævet discovery-felt {value}.",
        "DISCOVERY_ALG_NONE": "Udbyderen annoncerer signeringsalgoritmen none for ID-tokens, hvilket ville tillade usignerede tokens. Dette bør ikke tilbydes.",
        "DISCOVERY_NO_PKCE": "Ingen code_challenge_methods_supported. Udbyderen annoncerer ikke PKCE, som anbefales til authorization code-flowet.",
        "DISCOVERY_NO_PKCE_S256": "PKCE annonceres, men uden S256-metoden. S256 er den anbefalede code challenge-metode."
      },
      "flow": {
        "heading": "Authorization code-flow",
        "laneRp": "Relying Party",
        "laneOp": "OpenID-udbyder",
        "s1": "Omdiriger brugeren til udbyderen med scope=openid",
        "s2": "Udbyderen autentificerer brugeren og indhenter samtykke",
        "s3": "Udbyderen omdirigerer tilbage med en authorization code",
        "s4": "Relying party ombytter koden ved token-endpointet",
        "s5": "Udbyderen returnerer et ID-token plus et access token",
        "s6": "Relying party validerer ID-token-signaturen mod JWKS",
        "s7": "Relying party kan kalde UserInfo med access token",
        "s8": "Udbyderen returnerer brugerens claims"
      }
    }
  },
  "privacy_page": {
    "eyebrow": "Privatliv",
    "title": "Dine data, og hvad dette websted gør med dem",
    "lede": "En redegørelse i klart sprog for præcis hvad dette websted gør og ikke gør med dine oplysninger. Den er skrevet for at være præcis snarere end blot beroligende, for under regelsæt som GDPR og Brasiliens LGPD er det den præcise oplysning, der betyder noget.",
    "shortTitle": "Den korte version",
    "short1": "Dette websted sætter ingen cookies, kører ingen analyse, bruger ingen reklame og indeholder ingen tredjepartssporere eller fingeraftryk (fingerprinting). Intet følger dig på tværs af nettet.",
    "short2": "Det sælger, deler eller bygger ikke profiler af sine besøgende og beder dig ikke om noget for at læse det.",
    "short3": "De interaktive værktøjer kører fuldstændig i din browser. Det, du indsætter eller indtaster i dem, bliver på din enhed og overføres ingen steder.",
    "short4": "Kun tre ting involverer data overhovedet, og hver enkelt forklares nedenfor: en enkelt temaindstilling gemt i din egen browser, de standardmæssige forbindelseslogfiler, som ethvert webstedsbesøg skaber på hostinglaget, og enhver besked, du vælger at sende via e-mail.",
    "controllerTitle": "Hvem der er ansvarlig",
    "controllerBody": "Dette er Rodolfo Nützmanns personlige websted (ronutz.com). For ethvert privatlivsspørgsmål, eller for at udøve nogen af de rettigheder, der beskrives nedenfor, skriv til {email}. Henvendelser behandles direkte af Rodolfo Nützmann, som dataansvarlig.",
    "noTrackTitle": "Ingen cookies, ingen sporing, ingen analyse",
    "noTrackBody": "Dette websted sætter ingen cookies af nogen art. Det bruger ingen analysetjeneste (såsom Google Analytics eller Plausible), intet annoncenetværk, ingen sporingspixels fra sociale medier og intet enhedsfingeraftryk. Dit besøg måles, profileres eller deles ikke med nogen til disse formål.",
    "browserTitle": "Hvad der gemmes i din browser",
    "browserBody": "En enkelt lille ting: dit valgte visuelle tema, gemt i din browsers lokale lager (local storage), så webstedet kan huske det næste gang du besøger. Det er en bekvemmelighedsindstilling, der bliver på din egen enhed, aldrig sendes til dette websted eller til nogen anden, og kan ryddes når som helst via din browser. Ingen andre data om dig gemmes på din enhed.",
    "hostingTitle": "Hosting og serverlogfiler",
    "hostingBody": "Webstedet leveres gennem Cloudflare, som leverer dets hosting og indholdslevering. Som med ethvert websted betyder indlæsning af en side, at din enhed forbinder til en server, og Cloudflare behandler, i sin egenskab af hostingudbyder, grundlæggende forbindelsesdata – herunder din IP-adresse og standardanmodningsdetaljer – for at levere siderne til dig og beskytte webstedet mod misbrug og angreb. Denne behandling er nødvendig for at drive og sikre webstedet (en legitim interesse i henhold til Artikel 6(1)(f) i GDPR og de tilsvarende grundlag i Artikel 7 og 10 i LGPD). Den opbevares kun kortvarigt af udbyderen og bruges ikke her til at identificere eller spore dig.",
    "toolsTitle": "Værktøjerne kører i din browser",
    "toolsBody": "Afkoderne og beregnerne på dette websted – til JWT'er, IP-adresser, certifikater og resten – beregner fuldstændig inde i din browser. De værdier, du indtaster, behandles på din egen enhed og sendes aldrig til en server. En separat programmatisk grænseflade (en API) tilbydes til automatisering og integrationer; den er som udgangspunkt tilstandsløs og logger ingen af de forespørgsler eller anmodningskroppe, der sendes til den.",
    "contactTitle": "Hvis du kontakter mig",
    "contactBody": "Kontaktformularen sender intet til en server. I stedet åbner den en forudfyldt besked i din egen e-mailapplikation, som du derefter selv sender fra din egen konto, så intet passerer gennem en tredjepart. Hvis du skriver, enten via formularen eller direkte, modtager jeg de oplysninger, du inkluderer, såsom dit navn, din e-mailadresse og din besked, og bruger dem kun til at svare dig. Jeg opbevarer dem kun så længe, det er nødvendigt for at behandle din henvendelse, bruger dem ikke til markedsføring og deler dem ikke.",
    "intlTitle": "Behandling uden for dit land",
    "intlBody": "Fordi Cloudflare driver et globalt netværk, kan behandlingen på forbindelsesniveau, der beskrives ovenfor, finde sted på servere placeret uden for dit eget land, herunder uden for Brasilien og Det Europæiske Økonomiske Samarbejdsområde. Hvor personoplysninger behandles internationalt på denne måde, sker det under de garantier, som den pågældende udbyder tilbyder.",
    "childrenTitle": "Børn",
    "childrenBody": "Dette websted er beregnet til et professionelt, generelt publikum. Det er ikke rettet mod børn og indsamler ikke bevidst personoplysninger fra dem.",
    "rightsTitle": "Dine rettigheder",
    "rightsBody": "Afhængigt af hvor du bor, har du rettigheder over dine personoplysninger, herunder at få adgang til dem, at få dem rettet eller slettet, at gøre indsigelse mod eller begrænse deres behandling, at anmode om en kopi i et portabelt format og at blive informeret om, hvordan de behandles. For at udøve nogen af dem, skriv blot til {email}. Fordi så få personoplysninger nogensinde behandles her, er der i praksis som regel meget lidt at gøre, men kanalen er altid åben.",
    "rightsGdpr": "Hvis du befinder dig i Det Europæiske Økonomiske Samarbejdsområde eller Storbritannien, har du også ret til at indgive en klage til din lokale datatilsynsmyndighed.",
    "rightsLgpd": "Hvis du befinder dig i Brasilien, har du de rettigheder, der er fastsat i Artikel 18 i LGPD, og du kan også kontakte den nationale databeskyttelsesmyndighed (ANPD).",
    "changesTitle": "Ændringer af denne meddelelse",
    "changesBody": "Hvis denne meddelelse ændres, vil den reviderede version blive offentliggjort på denne side, og datoen nedenfor vil blive opdateret. Væsentlige ændringer anvendes ikke med tilbagevirkende kraft.",
    "updated": "Sidst opdateret: 30. juni 2026",
    "backHome": "Tilbage til forsiden"
  },
  "footer": {
    "redEducation": "Book officiel træning med <b>Red Education</b>",
    "privacy": "Privatliv",
    "builtWith": "Bygget af Rodolfo Nützmann med CONCORD",
    "colophon": "Hvordan det her blev bygget",
    "contribute": "Hjælp med at forbedre oversættelserne",
    "feedback": "Send feedback",
    "api": "API-reference",
    "contributeTools": "Del en idé",
    "license": "Licens",
    "coffee": "Giv mig en kaffe"
  },
  "search": {
    "kindTool": "Værktøj",
    "kindArticle": "Artikel",
    "kindPage": "Side",
    "label": "Søg",
    "placeholder": "Søg på sitet…",
    "close": "Luk",
    "searching": "Søger…",
    "noResults": "Ingen resultater for »{query}«.",
    "unavailable": "Søgning fungerer på det publicerede site. Den er ikke tilgængelig i lokal forhåndsvisning.",
    "hint": "Skriv for at søge i artikler, værktøjer og sider."
  },
  "theme": {
    "label": "Tema",
    "dark": "Mørkt",
    "light": "Lyst"
  },
  "about": {
    "eyebrow": "Instruktøren",
    "role": "Senior teknisk instruktør",
    "lede": "Undervisning i netværk og sikkerhed, leveret af en fagperson, der har tilbragt karrieren på implementeringssiden, ikke kun ved slidesene. Baseret i São Paulo, underviser i hele verden, på portugisisk og engelsk.",
    "now": {
      "title": "Hvad jeg laver nu",
      "body": "Jeg leverer officiel, certificeret instruktørledet undervisning på fire platforme inden for sikkerhed og netværk. Arbejdet er praktisk og labbaseret: målet er altid, at deltagerne går derfra i stand til at udføre opgaven, ikke kun til at beskrive den. Jeg har været autoriseret instruktør siden 1996, og undervisning og teknisk enablement har været en del af mit arbejde siden slutningen af 1990'erne.",
      "basedLabel": "Baseret i",
      "basedValue": "São Paulo, Brasilien",
      "teachesLabel": "Underviser",
      "teachesValue": "Instruktørledet undervisning, virtuel og på stedet, i hele verden",
      "languagesLabel": "Sprog",
      "languagesValue": "Portugisisk (modersmål), engelsk (flydende)"
    },
    "platforms": {
      "title": "Fire platforme, undervist i dybden",
      "body": "At være certificeret hos fire leverandører betyder, at jeg kan undervise i hver enkelt, som det skal være, og sammenligne dem ærligt. Det her er de platforme, jeg i øjeblikket er autoriseret til at levere officiel undervisning på.",
      "f5": "BIG-IP på tværs af hele det instruktørledede kursusudbud: LTM, DNS, Advanced WAF (ASM), APM, AFM, SSL Orchestrator, automatisering og fejlfinding.",
      "fortinet": "Certificeret Fortinet-undervisning, inklusive FCP-sporet.",
      "extreme": "Extreme Networks switching, SD-WAN samt API- og automatiseringsspor, gennem installation, konfiguration, administration og fejlfinding.",
      "netskope": "Instruktørledet undervisning i Netskope Security Cloud."
    },
    "path": {
      "title": "Vejen hertil",
      "intro": "Min karriere begyndte på leverandør- og implementeringssiden i 1996 og blev der i to årtier, før jeg helligede mig undervisningen fuldt ud. Den implementeringsbaggrund er grunden til, at undervisningen rammer plet: jeg har bygget, ødelagt og repareret disse systemer i produktion.",
      "present": "i dag",
      "cabletron": "Netværksingeniør og certificeret instruktør. Ikke-Ethernet- og Ethernet-net, campusnet, IP-routing.",
      "riverstone": "Produktsupportingeniør og koordinator for vidensbase i Californien. Gigabit Ethernet, storbynet, IP-routing, BGP. Eskalering på tredje niveau, genskabelse af kundescenarier og regressionstest.",
      "cisco": "Rådgivende netværksingeniør, som eneste kontaktpunkt for nøglekunder som SERPRO og Correios. Håndtering af eskalering og kundetilfredshed.",
      "enterasys": "Netværksingeniør og instruktør. Virksomhedsnet, IP-routing, brugeradgangskontrol og NAC, IDS og IPS.",
      "juniper": "Kanalsupportingeniør og instruktør for virksomhedsswitche og firewalls. Teknisk salgsenablement og operationel Junos-SRX-undervisning.",
      "f5channel": "Kanalrettet salgs- og presales-teknik for F5, med teknisk enablement, gennemførelse af proof of concept og partneruddannelse gennem distributionen.",
      "rededucation": "Autoriseret undervisningsinstruktør, der leverer officielle, certificerede kurser i F5, Fortinet, Extreme Networks og Netskope til organisationer i hele verden.",
      "fullHistory": "Læs hele historien",
      "vendorsLink": "Leverandører, jeg har arbejdet med"
    },
    "origins": {
      "title": "Hvor det begyndte",
      "body": "Før den formelle karriere kom nysgerrigheden. I begyndelsen af 1990'erne importerede og byggede jeg computere, drev og brugte elektroniske opslagstavler (BBS) og arbejdede med DOS, Unix, Linux, Netware, tidlig Ethernet, X.25 og opkaldsinternet. I 1995 var det praktiske arbejde blevet et første formelt job: opbygningen af et system til elektronisk dataudveksling. Den røde tråd fra dengang til nu er den samme: at tage noget virkelig komplekst og få det til at fungere, og så gøre det forståeligt for en anden."
    },
    "approach": {
      "title": "Hvordan jeg underviser",
      "body": "Jeg valgte at specialisere mig i undervisning, fordi den forener dyb teknisk viden med den del af arbejdet, jeg holder mest af: at forklare komplekse begreber på en enkel måde. De bedste sessioner forbinder hvert begreb med den opgave, deltageren faktisk skal udføre, så indholdet har et sted at lande. Eksempler fra den virkelige verden, rigtige labs og fokus på forståelse frem for udenadslære."
    },
    "cta": {
      "title": "Begynd med begreberne",
      "body": "Afsnittet Lær forklarer idéerne bag værktøjerne, og værktøjerne lader dig arbejde med dem direkte, alt sammen i din browser.",
      "learnButton": "Læs afsnittet Lær",
      "toolsButton": "Åbn værktøjerne"
    },
    "recognition": {
      "title": "Anerkendelser",
      "body": "Udnævnt til F5 DevCentral MVP tre år i træk, i 2022, 2023 og 2024, for bidrag til F5's tekniske community."
    }
  },
  "endorsements": {
    "eyebrow": "Anbefalinger",
    "title": "Hvad folk siger, med deres egne ord.",
    "intro": "{count} anbefalinger og anmeldelser i deres fulde længde, over to årtiers undervisning og rådgivning. Intet her er omskrevet eller redigeret.",
    "provenance": "Hentet fra LinkedIn-anbefalinger, Google-anmeldelser og verificerede kursusdeltagerudtalelser fra Red Education. Den oprindelige ordlyd og stavning er bevaret nøjagtigt, som den blev skrevet."
  },
  "testimonials": {
    "filterLabel": "Filtrér anbefalinger",
    "sourceFilter": "Kilde",
    "languageFilter": "Sprog",
    "all": "Alle",
    "showing": "Viser {count} af {total}",
    "reply": "Svar fra Red Education",
    "translateLabel": "Oversættelse",
    "translateOff": "Oversæt til engelsk",
    "translateOn": "Viser på engelsk",
    "machineDisclaimer": "Maskinoversættelse. Den gengiver måske ikke den oprindelige ordlyd nøjagtigt.",
    "showOriginal": "Vis originalen",
    "hideOriginal": "Skjul originalen"
  },
  "history": {
    "indexTitle": "Historien",
    "indexLede": "Tre epoker, én rød tråd: at tage noget virkelig komplekst, få det til at fungere, og så gøre det forståeligt for en anden.",
    "eraLabel": "Epoke",
    "backToHistory": "Alle epoker",
    "backToAbout": "Om",
    "readNext": "Læs videre",
    "pre1996": {
      "years": "Før 1996",
      "title": "Nysgerrigheden",
      "subtitle": "At importere dele, bygge maskiner og koble sig på det tidlige internet, før noget af det var et arbejde.",
      "intro": "Enhver teknisk karriere har et før. Før leverandørmærkerne og certificeringerne var der en teenager, der skilte maskiner ad for at forstå, hvordan de fungerede, og en ung selvstændig, der forvandlede den forståelse til et levebrød. Det var her, instinktet, der driver alt det andet, blev formet.",
      "s1Title": "Praktisk med hardware, 1991 til 1995",
      "s1Body": "Fra 1991 var arbejdet selvstændigt og praktisk: at importere computerkomponenter fra USA, bygge og sælge specialbyggede personlige computere og installere, konfigurere og reparere dem for enhver, der havde brug for hjælp. Det var tiden, hvor man byggede en maskine af komponenter og fik den til at fungere, i stedet for at købe en færdig. Tidens systemer gik direkte gennem disse hænder: DOS og CP/M, BASIC, Turbo Pascal, tidlig Windows og kontorprogrammer samt de databaseværktøjer, som små virksomheder arbejdede med dengang, Clipper og dBase.",
      "s2Title": "Nettene før internettet",
      "s2Body": "Netværk begyndte ikke med nettet. Længe før bredbåndet var det forbindende væv et andet og sværere at håndtere: Novell NetWare til lokale servere, elektroniske opslagstavler til fællesskab og filudveksling, tidlige Ethernet-net samt tidens vidtstrakte teknologier, X.25 (i Brasilien kendt som RENPAC) og Frame Relay. Da internettet endelig kom, kom det via et modem, nået gennem en shell-konto, SLIP eller PPP. At arbejde med alt dette betød at forstå netværk helt fra kablet, en forståelse, der senere fik virksomhedsnet til at føles som velkendt terræn.",
      "s3Title": "BBS, phreaking og det akademiske internet",
      "s3Body": "Den virkelige nysgerrighed i den epoke rakte ud over det betalte arbejde. Udforskningerne i de år omfattede at drive og bruge elektroniske opslagstavler, at pille ved telefonnettet i phreaking-miljøet, praktisk UNIX og tidlig adgang til det akademiske internet. Det var læring gennem at gøre, i et fællesskab, der delte viden, fordi der ikke var noget andet sted at få den. Den vane, at grave, indtil noget virkelig er forstået, og så give det videre, er aldrig forsvundet.",
      "s4Title": "1995: det første formelle job",
      "s4Body": "I 1995 mundede det selvstændige arbejde ud i et første formelt job. Hos INTELECTA, en virksomhed inkuberet af SEBRAE-SP, var projektet et system til elektronisk dataudveksling til salg af medicinske artikler og hospitalsartikler, bygget på Novell NetWare-servere og opslagstavlesystemet PCBoard. Det var et rigtigt system, der løste et rigtigt forretningsproblem, og det markerede det punkt, hvor hobbyen og håndværket blev et erhverv.",
      "closer": "I slutningen af 1995 var fundamentet lagt: en person, der forstod maskiner og netværk fra grundprincipperne, der lærte gennem at bygge, og som allerede havde instinktet til at forklare. Alt, hvad der fulgte, leverandørerne, certificeringerne, undervisningslokalerne verden over, blev bygget på dette."
    },
    "era19962020": {
      "years": "1996 – 2020",
      "title": "Fagpersonen",
      "subtitle": "To årtier inden for netværks- og sikkerhedsbranchen, med at bygge, ødelægge og reparere de systemer, der senere blev kursusmaterialet.",
      "intro": "Det her er fortællingens lange midte og grunden til, at undervisningen, der kom senere, har vægt. I omkring to årtier var arbejdet implementering: at designe net, sætte dem i drift, fejlfinde dem under pres og være den person, man ringer til, når noget kritisk gik i stykker. Rejsen gik gennem nogle af de navne, der definerede netværk, på to kontinenter.",
      "s1Title": "Cabletron og Enterasys, 1996 til 2000",
      "s1Body": "Den formelle karriere begyndte i 1996 hos Cabletron Systems, dengang en førende leverandør af netværksudstyr med hovedsæde i Rochester, New Hampshire. Gennem fire et halvt år omfattede rollen feltteknik og eftersalgssupport, systemteknik og presales og, fra 1997, certificeret undervisning. Emnet var tidens virksomheds-LAN og -WAN: switche, routere, Wi-Fi og WLAN, netværksadministration, NAC og UAC samt firewalls med stateful inspektion. I 2000 omorganiserede Cabletron sig i fire virksomheder, og den del, der vedrørte denne karriere, blev Enterasys Networks.",
      "s2Title": "Riverstone Networks, Santa Clara, 2000 til 2002",
      "s2Body": "Næste kapitel udspillede sig i Californien. Riverstone Networks, en udskillelse fra Cabletron, der byggede udstyr til storbynet, betød en flytning til Santa Clara med et H1-B1-arbejdsvisum. Rollen var produktsupportingeniør på niveau III og koordinator for vidensstyring: teknisk eskalering på tredje niveau, genskabelse af kundescenarier i lab, regressionstest og fejlverifikation samt opbygning af den vidensbase, resten af supporten hvilede på. Teknologierne var rygraden i operatør- og storbyverdenen i begyndelsen af 2000'erne: Gigabit Ethernet, MPLS, storbyswitching og -routing samt BGP. Denne periode gav også en formel milepæl: som en del af visumprocessen anerkendte en vurdering i USA i 2001 en uddannelse svarende til en bachelor i datalogi og en bachelor i erhvervsøkonomi.",
      "s3Title": "Cisco Systems, Brasília, 2003 til 2004",
      "s3Body": "Tilbage i Brasilien og ansat gennem Cisco Professional Services flyttede rollen sig mod kunderelationen i dens mest krævende form. Som high-touch operations manager og eneste kontaktpunkt var arbejdet håndtering af kundetilfredshed i eftersalgsfasen for to af Brasiliens største føderale enheder, SERPRO, statens databehandlingsagentur, og ECT-Correios, postvæsenet. Den tekniske flade var Catalyst-switche og -routere, PIX-firewalls samt CSS-, CSM- og ACE-loadbalancere, men det virkelige arbejde var eskaleringshåndtering og at holde en kritisk national infrastruktur i uafbrudt drift.",
      "s4Title": "Enterasys igen, så Juniper, 2005 til 2010",
      "s4Body": "Anden halvdel af årtiet vendte tilbage til leverandørsiden som ekspert i virksomheds-LAN. Hos Enterasys fra 2005 lå fokus på switche og routere, Wi-Fi og WLAN, netværksadministration, NAC og UAC samt indtrængningsdetektering og -forebyggelse, gennem løsningsdesign, implementering, gennemgang og undervisning. Fra 2009, hos Juniper Networks gennem Professional Services for Latinamerika, var rollen lancering af nye produkter for den strategiske partner Telefónica Empresas i Brasilien, med fokus på EX-switche og SRX-firewalls, med operationel Junos-SRX-undervisning leveret hos Level 3 og Impsat, i dag Lumen.",
      "s5Title": "Kanal- og konsulentårene, 2010 til 2020",
      "s5Body": "Denne epokes sidste årti bevægede sig glidende mellem roller, alle med retning mod instruktøren, fortællingen fører frem til. Der var perioder som netværks- og sikkerhedsingeniør gennem forhandlere og distributører, med uddybet ekspertise inden for virksomhedsswitching og -routing, firewalls og næste generations firewalls, SSL-VPN, brugeradgangskontrol, WAN-acceleration og internetloadbalancering på tværs af Juniper- og Cisco-løsninger. Afgørende omfattede denne periode drejningen mod F5, med det indledende arbejde med F5 BIG-IP, der skulle definere årene fremover. Gennem det hele var teknisk undervisning en konstant tråd, aldrig fraværende i nogen rolle.",
      "closer": "I 2020 var billedet komplet: en, der ikke kun havde studeret disse systemer, men levet inde i dem i tyve år, på leverandørsiden og på kundesiden, i design og i krise. Det er forskellen, en implementeringsekspert tager med ind i et undervisningslokale. Når denne person forklarer, hvorfor en konfiguration opfører sig på en bestemt måde, er det, fordi vedkommende har set den opføre sig sådan, klokken tre om natten, med et nationalt postvæsen, der venter."
    },
    "era2020present": {
      "years": "2020 – i dag",
      "title": "Instruktøren",
      "subtitle": "Teknisk undervisning på fuld tid, leveret i hele verden, som vokser platform for platform.",
      "intro": "I 2020 blev en tråd, der havde løbet gennem hele karrieren, til hele vævet. Efter to årtier, hvor undervisningen fulgte hver rolle, blev undervisningen selve arbejdet: fuldtid, officiel, certificeret undervisning leveret til fagfolk og teams over hele verden. Det, der kendetegner denne epoke, er ikke kun fokus, men den bevidste, daterede ekspansion gennem platformene, hver tilføjet oven på dyb felterfaring i stedet for i stedet for den.",
      "s1Title": "Fuld tid, af kald",
      "s1Body": "Siden 2020 har arbejdet bestået i at levere officiel, instruktørledet undervisning, på afstand og på stedet, på portugisisk og engelsk, for publikum over hele verden. Leveringen når Australien, Singapore, Indien, Centraleuropa, USA og Brasilien. Det brasilianske og tyske statsborgerskab, sammen med rejseautorisation til USA og Storbritannien, gør den globale rækkevidde praktisk: ubegrænset ret til at arbejde i Den Europæiske Union og Mercosur samt friheden til at tage hen, hvor undervisningslokalet er.",
      "s2Title": "F5, fra begyndelsen",
      "s2Body": "F5 har været ankeret siden denne epokes begyndelse, bygget på arbejde med BIG-IP, der strækker sig mere end et årti tilbage. Det autoriserede kursusudbud dækker hele det instruktørledede BIG-IP-katalog: Local Traffic Manager, DNS, Advanced WAF, Access Policy Manager, Advanced Firewall Manager, SSL Orchestrator, BIG-IQ, iRules-udvikling, automatisering og fejlfinding, fra endags- til firedageskurser. Ved siden af undervisningen løber et praktisk supplement: administrerede F5 BIG-IP-labmiljøer, så øvelsen altid har et rigtigt sted at finde sted.",
      "s3Title": "Ekspansionen, platform for platform",
      "s3Body": "Det, der kendetegner de seneste år, er en tydelig, dateret progression. Extreme Networks-undervisning blev tilføjet fra 2021, med EXOS-switching, SD-WAN og automatisering. Fortinet fulgte fra 2024, med fokus på FCP FortiGate Administrator-sporet. Netskope kom til fra 2025, med drift, administration, implementering og integration af Netskope Security Cloud. Fire platforme, hver bevidst tilføjet, hver hvilende på de samme to årtiers netværks- og sikkerhedsimplementering nedenunder.",
      "s4Title": "Gennem Red Education, ud i verden",
      "s4Body": "Det primære køretøj for denne globale levering er Red Education, et autoriseret uddannelsescenter, hvorigennem officielle, certificerede kurser når organisationer i forskellige regioner. Rollen er global technical training instructor, med levering til den slags internationale publikum, som en base i São Paulo, to pas og en ægte rejselyst gør mulig. Det varige samarbejde forvandler individuel ekspertise til noget, organisationer verden over kan booke og stole på.",
      "closer": "Det er her, hele historiens røde tråd betaler sig. De første års nysgerrighed blev felterårenes implementeringsdybde, og den dybde er nu, hvad hver deltager får: ikke en oplægsholder, der læser slides, men en, der har bygget disse systemer og forklarer, hvordan de virkelig fungerer, og hvorfor."
    }
  },
  "vendors": {
    "indexTitle": "Leverandører",
    "indexLede": "Netværks- og sikkerhedsvirksomhederne, hvis teknologi formede denne karriere, helt fra kablet. Det her er relationer fra fortiden; platformene, der undervises i dag, findes under Uddannelse.",
    "backToVendors": "Alle leverandører",
    "backToAbout": "Om",
    "technologies": "Teknologier",
    "role": "Rolle",
    "years": "År",
    "readNext": "Næste leverandør",
    "cabletron": {
      "name": "Cabletron og Enterasys",
      "years": "1996 – 2007",
      "tagline": "Hvor karrieren begyndte, og hvor virksomheds-LAN blev lært fra bunden.",
      "intro": "Den længste enkelte tråd i denne historie løber gennem én virksomhed og dens efterfølger. Cabletron Systems, en førende leverandør af netværksudstyr med hovedsæde i Rochester, New Hampshire, var den første arbejdsgiver, fra 1996. Da Cabletron omorganiserede sig i fire virksomheder i 2000, fortsatte linjen som Enterasys Networks, og relationen blev genoptaget der fra 2005. Tilsammen omfatter de det formative årti af ekspertise inden for virksomhedsnet.",
      "s1Title": "Cabletron, 1996 til 2000",
      "s1Body": "Gennem fire et halvt år løb rollen gennem hele leverandørteknikkens bue: feltteknik og eftersalgssupport, systemteknik og presales og, fra 1997, certificeret undervisning. Emnet var tidens virksomheds-LAN og -WAN: switche og routere, Wi-Fi og WLAN, netværksadministration, NAC og UAC samt firewalls med stateful inspektion. Det var her, disciplinen løsningsdesign, implementering, gennemgang, fejlfinding og eskaleringshåndtering blev øvet for første gang, og det var her, undervisningen for første gang kom ind i arbejdet.",
      "s2Title": "Enterasys, 2005 til 2007",
      "s2Body": "Tilbage i linjen som service- og supportansvarlig lå fokus på produktlinjen Secure Routing, med Enterasys som regionalt omdrejningspunkt for Brasilien. Arbejdet kombinerede kundesupport på højt niveau, kompleks fejlfinding og eskaleringshåndtering med lokaliseret produktstyring. Den tekniske flade var vokset og omfattede nu netværksadministration, NAC og UAC, indtrængningsdetektering og -forebyggelse samt SIEM, gennem virksomhedsswitching og -routing. Enterasys blev senere opkøbt af Extreme Networks i 2013, hvilket lukkede en cirkel, der forbinder dette tidlige arbejde med en platform, der stadig undervises i dag.",
      "certs": "Cabletron Systems Engineer (CSE), 1999. Enterasys Systems Engineer (ESE), 2000 og 2007. Enterasys Certified Internetworking Engineer (ECIE), 2007.",
      "lineageTitle": "Virksomhedslinjen",
      "lineageDesc": "Cabletron Systems, med hovedsæde i Rochester, New Hampshire, blev delt op i fire virksomheder i 2000: Enterasys, Riverstone, Aprisma og GNTS. Enterasys blev opkøbt af Extreme Networks i 2013. Riverstone blev opkøbt af Alcatel-Lucent i 2006."
    },
    "juniper": {
      "name": "NetScreen og Juniper",
      "years": "2009 – 2014",
      "tagline": "Virksomhedsswitchingen og sikkerhedsgatewayene, der voksede fra NetScreen til Junipers SRX-linje.",
      "intro": "Juniper Networks opkøbte NetScreen, firewallvirksomheden, i 2004, og NetScreens sikkerhedsteknologi blev grundlaget for Junipers linje af sikre gateways. At arbejde med begge afspejler en sammenhængende linje: NetScreens SSG-firewalls og SRX-gatewayene, der efterfulgte dem. Relationen løb direkte gennem Juniper fra 2009 og fortsatte derefter gennem forhandlerkanalen.",
      "s1Title": "Juniper Networks, 2009 til 2010",
      "s1Body": "Ansat gennem Juniper Professional Services for Brasilien var rollen lancering af nye produkter for de netop introducerede virksomhedslinjer: de sikre gateways i SRX-serien og switchene i EX-serien. Det primære samarbejde var med den strategiske partner Telefónica Empresas i Brasilien. Ud over presales-lanceringen gav denne periode rigtig undervisning: undervisning i netværksoperativsystemet JUNOS og driften af de sikre SRX-gateways for kanalpartnere og kunder, inklusive operationel undervisning for personalet ved Level 3 Communications netværksdriftcenter i Brasilien og Argentina.",
      "s2Title": "Gennem kanalen, 2010 til 2014",
      "s2Body": "Relationen med Juniper og NetScreen fortsatte gennem systemintegratorer og forhandlere. Hos CYLK omfattede arbejdet udvikling af konfigurationer, proof of concept- og interoperabilitetstest samt udrulning og fejlfinding i produktion på tværs af Juniper, NetScreen og F5. Hos TDec tilsluttede Juniper sig en multileverandørpraksis for rådgivning og undervisning. Det praktiske produktsortiment i de år var bredt: EX-switche, SRX- og NetScreen SSG-firewalls, SA SSL-VPN, routere i J-serien og administreret AX Wi-Fi.",
      "certs": "Juniper Networks Sales Specialist, Enterprise Networking (JNSS-EN), 2010. Juniper Networks Sales Associate, Enterprise Networking (JNSA-EN), 2010.",
      "lineageTitle": "Sikkerhedslinjen",
      "lineageDesc": "NetScreen, producent af SSG-firewallsene, blev opkøbt af Juniper Networks i 2004 og blev grundlaget for Junipers linje af sikre SRX-gateways."
    },
    "riverstone": {
      "name": "Riverstone Networks",
      "years": "2000 – 2002",
      "tagline": "To år i Santa Clara, i udkanten af operatør- og storbynettene.",
      "intro": "Det eneste kapitel i denne karriere, der udspillede sig helt uden for Brasilien. Riverstone Networks, en producent af udstyr til storbynet med hovedsæde i Santa Clara, Californien, betød en flytning til USA med et H1-B1-arbejdsvisum. Riverstone havde sin egen usædvanlige linje: oprindeligt en virksomhed ved navn Yago, opkøbt af Cabletron omkring 1998, og genopstået som en selvstændig virksomhed gennem en udskillelse i 2001. Den blev senere opkøbt af Alcatel-Lucent i 2006.",
      "s1Title": "Support på niveau III og vidensstyring",
      "s1Body": "Rollen bar to titler gennem to år: produktsupportingeniør og koordinator for vidensstyring. Som teknisk supportspecialist på niveau III var arbejdet eskalering på tredje niveau, genskabelse af kundescenarier i lab, regressionstest og fejlverifikation. Som koordinator for vidensstyring handlede det om at opbygge og organisere den vidensbase, resten af supporten hvilede på, ved siden af støtte til produktmarketing og intern undervisning. Det her var karrierens dybeste tekniske supportarbejde, på det niveau, hvor de sværeste problemer eskalerer.",
      "s2Title": "Storbynettenes verden",
      "s2Body": "Teknologierne var rygraden i operatør- og storbyæraen i begyndelsen af 2000'erne: Gigabit Ethernet, MPLS, storbyswitching og -routing samt vidtstrakt IP-routing inklusive BGP. At arbejde i leverandørens support på tredje niveau betød at se, hvordan disse systemer opførte sig i yderkanterne, under forhold, der kun viser sig i produktion i stor skala. Det gav også formel undervisning: undervisning i Riverstones koncepter, funktioner og konfiguration samt undervisning i problemidentifikation i kundesupport og eskaleringsprocedurer.",
      "certs": "Riverstone Certified Networking Professional (RCNP), 2001. Vurdering af uddannelsesækvivalens i USA, der anerkender en uddannelse svarende til en bachelor i datalogi og en bachelor i erhvervsøkonomi, gennemført i 2001 som en del af H1-B1-visumprocessen.",
      "lineageTitle": "Virksomhedslinjen",
      "lineageDesc": "Riverstone Networks begyndte som en virksomhed ved navn Yago, blev opkøbt af Cabletron Systems omkring 1998, genopstod som en selvstændig virksomhed gennem en udskillelse i 2001 og blev opkøbt af Alcatel-Lucent i 2006."
    },
    "cisco": {
      "name": "Cisco Systems",
      "years": "2003 – 2008",
      "tagline": "At holde en kritisk national infrastruktur i drift, som eneste kontaktpunkt for Brasiliens føderale kunder.",
      "intro": "Ansat gennem Cisco Professional Services i Brasilien var dette karrieren i dens operationelt mest krævende form, hvor arbejdet handlede mindre om en enkelt teknologi og mere om at holde kritiske systemer i drift for kunder, der ikke havde råd til nedetid.",
      "s1Title": "High-touch-drift, 2003 til 2004",
      "s1Body": "Som high-touch operations manager og eneste kontaktpunkt var rollen håndtering af kundetilfredshed i eftersalgsfasen for to af Brasiliens største føderale enheder: SERPRO, statens databehandlingsagentur, og ECT-Correios, postvæsenet, mellem Brasília og São Paulo. Den tekniske flade omfattede Catalyst-switche og -routere, PIX-firewalls samt CSS-, CSM- og ACE-appliances til indhold og loadbalancering. Den virkelige disciplin var dog eskaleringshåndtering og krisehåndtering, at opretholde høj tilfredshed for konti, hvor indsatsen var national.",
      "s2Title": "Cisco-undervisning, 2007 til 2008",
      "s2Body": "Relationen med Cisco gav også formel undervisningslevering: koncepter og drift for IOS og CatOS samt koncepter, drift og fejlfinding for net på lag 2 og lag 3, i kurser over flere dage. Dette supplerede den dybe operationelle erfaring med den strukturerede undervisning, der senere skulle blive karrierens fulde fokus.",
      "ironportTitle": "En note ved siden af: IronPort, 2004",
      "ironportBody": "Værd at notere med præcision, og adskilt fra Cisco-arbejdet: et kort samarbejde på tre måneder i slutningen af 2004 med IronPort Systems, dengang en selvstændig startup for e-mailsikkerhedsappliances med hovedsæde i San Bruno, Californien. Arbejdet var kanaludvikling og teknisk presales-rådgivning for deres e-mailsikkerhedsappliances i C-serien. Dette ligger helt forud for Ciscos opkøb af IronPort i 2007, så det var en separat relation med en selvstændig virksomhed, ikke Cisco-teknologi, og nævnes her kun, fordi virksomheden senere blev en del af Cisco.",
      "certs": "Cisco Certified Network Associate (CCNA), 2000 og 2005. Cisco Internetwork Troubleshooting (CIT), 2003."
    },
    "paloalto": {
      "name": "Palo Alto Networks",
      "years": "2013 – 2015",
      "tagline": "Næste generations firewalls, gennem forhandlerkanalen og undervisningslokalet.",
      "intro": "En fokuseret relation omkring teknologien til næste generations firewalls, båret gennem forhandler- og integratorkanalen. Det her er et samarbejde fra fortiden; Palo Alto hører ikke til platformene, der undervises i dag, men arbejdet var rigtigt og certificeret.",
      "s1Title": "Kanalrådgivning og -undervisning, 2013 til 2015",
      "s1Body": "Hos TDec Network Group tilsluttede Palo Alto sig en multileverandørpraksis for rådgivning og undervisning, der omfattede systemteknik, løsningsarkitektur, applikationsenablement, implementering, gennemgange og fejlfinding. Relationen fortsatte gennem Cipher Security i 2015 for presales- og eftersalgsarbejde. Det tekniske fokus lå på næste generations firewalls og administrationsplatformen Panorama, kernen i Palo Altos virksomhedssikkerhedstilbud på det tidspunkt.",
      "s2Title": "PAN-OS-undervisning",
      "s2Body": "Denne periode omfattede formel undervisningslevering: et PAN-OS 6.0-bootcamp, der byggede den samme praktiske, labbaserede undervisning, som definerer dagens undervisningspraksis. Kombineret med certificeringerne taget i 2014 etablerede dette en ægte dybde i platformen, selvom karrierens fokus senere koncentrerede sig om andre teknologier.",
      "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. Bemærk: disse certificeringer er historiske og vedligeholdes ikke som aktuelle."
    }
  },
  "training": {
    "eyebrow": "Kurser, jeg leverer",
    "title": "Fire platforme, undervist af en, der har kørt dem.",
    "intro": "Officiel, certificeret instruktørledet undervisning over {courses} kurser på de fire platforme i hjertet af moderne netværk og sikkerhed. Hvert kursus leveres af en autoriseret instruktør, med årtiers praktisk implementering bag undervisningen.",
    "courseCount": "{count} kurser",
    "since": "siden",
    "representativeNote": "Dette katalog er repræsentativt, ikke udtømmende. Kursusnavne, varigheder og indhold afspejler aktuel offentlig information og er forfinet ud fra officielle datablade.",
    "allPlatforms": "Alle platforme",
    "authorizedSince": "Autoriseret instruktør siden {year}",
    "workingSince": "Arbejder med {platform} siden {year}",
    "tech": {
      "switchesRouters": "switches og routere til virksomheder",
      "firewalls": "firewalls",
      "webCloudSecurity": "web- og cloudsikkerhed"
    },
    "coursesHeading": "{count} kurser",
    "duration": "Varighed",
    "delivery": "Levering",
    "deliveryValue": "Virtuelt eller på stedet",
    "modules": "Moduler",
    "aboutCourse": "Om dette kursus",
    "tableOfContents": "Indhold",
    "agendaPending": "En detaljeret dagsorden, dag for dag, tilføjes ud fra kursets officielle datablad.",
    "moreFrom": "Flere {platform}-kurser",
    "requestTraining": "Bestil denne undervisning",
    "requestVia": "Leveres via {destination}"
  },
  "teach": {
    "eyebrow": "Hvordan jeg underviser",
    "title": "En instruktør, der byggede disse systemer, før han underviste i dem.",
    "lede": "Det meste tekniske undervisning leveres af folk, der lærte emnet for at undervise i det. Det her er omvendt: tre årtier med at bygge, ødelægge og reparere rigtige netværks- og sikkerhedssystemer, destilleret til en undervisning, der forbinder hvert begreb med, hvordan det virkelig opfører sig i produktion.",
    "s1Title": "Hvorfor det her betyder noget i et undervisningslokale",
    "s1Body": "Der er forskel på at forklare, hvordan en funktion skal fungere, og at forklare, hvorfor den opfører sig, som den gør, klokken tre om natten, når noget kritisk er nede. Det første kommer fra en manual. Det andet kommer fra at have været der. Siden 1996 var arbejdet implementering: at designe net, sætte dem i drift og være den person, man ringer til, når de gik i stykker, for leverandører og for nogle af Brasiliens største organisationer. Den dybde er, hvad hver deltager får, ikke en oplægsholder, der læser slides, men en ingeniør, der har levet inde i disse systemer og forklarer, hvordan de virkelig fungerer.",
    "s2Title": "Det komplekse gjort klart",
    "s2Body": "Dyb teknisk viden er nødvendig, men ikke tilstrækkelig. Den sjældnere evne er at oversætte den: at tage noget virkelig komplekst, firewalls til webapplikationer, identitetsføderation, trafikstyring, SD-WAN, og få det til at falde på plads for en, der støder på det for første gang. Deltagere fremhæver konsekvent eksemplerne fra den virkelige verden og den klare, strukturerede didaktik, evnen til at sætte hvert begreb i sammenhæng med det arbejde, de faktisk udfører. Undervisningen har været en tråd gennem hele denne karriere, til stede i næsten hver rolle siden 1997, og fuldtidsfokus siden 2020.",
    "s3Title": "Praktisk, ikke svævende",
    "s3Body": "Teknisk dygtighed bygges gennem at gøre, ikke gennem at se på. Hvert kursus er bygget op omkring praktiske labs på rigtige systemer, forstærket med administrerede labmiljøer, så øvelsen altid har et rigtigt sted at finde sted. Formatet tilpasser sig publikum: virtuel instruktørledet undervisning i hele verden, på stedet, når det passer bedre, på engelsk eller portugisisk. Målet for hver session er det samme, at deltagerne går derfra i stand til at udføre opgaven, ikke kun til at beskrive den.",
    "s4Title": "Anerkendt, certificeret og aktuel",
    "s4Body": "Undervisningen hviler på et fundament af formel anerkendelse. F5 DevCentral MVP tre år i træk, i 2022, 2023 og 2024. F5-certificeringer holdt siden 2015 og instruktørautorisation på fire platforme: F5, Extreme Networks, Fortinet og Netskope. Leveringen når Australien, Singapore, Indien, Centraleuropa, USA og Brasilien, gennem Red Education, et autoriseret uddannelsescenter. Kvalifikationerne betyder noget, men de er en genvej til det, der ligger under: en ægte, aktuel beherskelse af teknologien.",
    "platformsTitle": "Hvad jeg underviser i",
    "platformsBody": "Officiel, certificeret instruktørledet undervisning på fire platforme i hjertet af moderne netværk og sikkerhed. Hver linker til sit fulde kursuskatalog.",
    "s5Title": "Ud over undervisningslokalet",
    "s5Body": "Den samme dybde, der giver god undervisning, giver god rådgivning. Tredive år gennem applikationslevering, netværkssikkerhed, identitet og infrastruktur, både på leverandørsiden og på kundesiden, er et perspektiv, der rækker langt ud over et undervisningsrum, helt ind i arkitekturbeslutninger, teknologivalg og de svære problemer, der ikke passer ind i et pensum. Undervisningen er fokus; erfaringen bag den er tilgængelig for teams, der har brug for mere end et kursus.",
    "toolsTitle": "Værktøjer, der beregner, aldrig gætter",
    "toolsBody": "Ved siden af undervisningen findes et voksende sæt gratis, privatlivsvenlige netværks- og sikkerhedsværktøjer, deterministiske værktøjer, der kører helt i din browser og aldrig sender dine inddata nogen steder hen. Subnet- og CIDR-beregninger, IPv6, certifikat- og tokeninspektion og mere, den slags daglige værktøjer, en ingeniør i arbejde rækker ud efter. De er bygget i samme ånd som undervisningen: præcise, praktiske og ægte brugbare. Prøv dem, ingen tilmelding, ingen sporing.",
    "toolsCta": "Udforsk værktøjerne",
    "historyTitle": "Tre årtier, én rød tråd",
    "historyBody": "Fra at bygge computere som teenager i 1991, gennem to årtier inden for netværks- og sikkerhedsbranchen, til global undervisning på fuld tid siden 2020. Hele historien er værd at læse, hvis du vil forstå erfaringen bag undervisningen.",
    "historyCta": "Læs hele historien",
    "ctaTitle": "Lad os arbejde sammen",
    "ctaBody": "Hvad enten det gælder at bestille officiel undervisning, bygge et skræddersyet program til dit team eller hente erfaren rådgivning til et svært problem, står døren åben.",
    "ctaButton": "Tag kontakt",
    "coursesButton": "Gennemse alle kurser"
  },
  "contact": {
    "title": "Tag kontakt",
    "lede": "Hvad enten det gælder at bestille officiel undervisning, bygge et skræddersyet program til dit team eller hente erfaren rådgivning til et svært problem, hører jeg gerne fra dig.",
    "formHeading": "Send en besked",
    "directHeading": "Eller tag direkte kontakt",
    "formName": "Dit navn",
    "formEmail": "Din e-mail",
    "formTopic": "Hvad drejer det sig om?",
    "topicTraining": "Officiel undervisning",
    "topicCustom": "Skræddersyet program til et team",
    "topicAdvisory": "Rådgivning og konsultation",
    "topicOther": "Noget andet",
    "formMessage": "Din besked",
    "formSend": "Send besked",
    "formSending": "Sender…",
    "formRequired": "Udfyld dit navn, din e-mail og en besked.",
    "successTitle": "Tak.",
    "successBody": "Din besked er på vej. Jeg vender tilbage, så snart jeg kan.",
    "errorBody": "Noget gik galt under afsendelsen. Prøv igen, eller send en e-mail direkte.",
    "emailLabel": "E-mail",
    "channels": {
      "linkedin": {
        "description": "Netværk professionelt",
        "label": "LinkedIn"
      },
      "youtube": {
        "description": "Videoer og gennemgange",
        "label": "YouTube"
      },
      "instagram": {
        "description": "Bag kulisserne",
        "label": "Instagram"
      },
      "training": {
        "label": "Officiel træning",
        "description": "Book et kursus via Red Education"
      }
    },
    "feedbackNote": "Fundet en bug, en fejl eller en unøjagtighed på sitet?",
    "feedbackLink": "Del det på idésiden"
  },
  "certs": {
    "title": "Certificeringer og kvalifikationer",
    "lede": "Tre årtiers formelle kvalifikationer inden for netværk og sikkerhed. Instruktørautorisationerne og certificeringerne nedenfor er aktuelle; et fuldt register over optjente kvalifikationer, de fleste nu historiske, følger for den, der vil have dybden.",
    "jumpToHistorical": "Gå til det fulde register",
    "credlyVerify": "Verificer på Credly",
    "current": "Aktuel",
    "historical": "Historisk",
    "instructorTitle": "Instruktørautorisationer",
    "instructorIntro": "Autoriseret til i dag at levere officiel, certificeret undervisning på hver af disse platforme.",
    "currentCertsTitle": "Aktuelle certificeringer",
    "recognitionTitle": "Anerkendelser",
    "historicalTitle": "Det fulde register",
    "historicalIntro": "Kvalifikationer optjent gennem en karriere, der begyndte i 1996. De fleste er historiske eller udløbet, bevaret her for den dybde, de repræsenterer.",
    "verify": "Verificer",
    "credly": "Credly",
    "certificate": "Certifikat",
    "verifyCode": "Kode",
    "candidateId": "ID"
  },
  "colophon_page": {
    "eyebrow": "Kolofon",
    "title": "Hvordan det her blev bygget",
    "lede": "De fleste sites forklarer ikke sig selv. Det her gør, for hvordan det blev lavet, er en del af, hvad det er: et bevidst eksperiment i at bygge godt, med usædvanlige medarbejdere, og et register værd at bevare.",
    "concordTitle": "CONCORD",
    "concordBody1": "Dette site blev designet og bygget gennem en protokol ved navn CONCORD: et struktureret samarbejde mellem ét menneske og tre forskellige AI-systemer, hver i sin egen rolle. Det er ikke et trick. Det er en fungerende metode, med sin egen styring, sit eget beslutningsregister og ét menneske ansvarlig for hvert valg, der blev publiceret.",
    "concordBody2": "Præmissen er enkel. Forskellige AI-modeller har forskellige styrker, og et svært problem vinder på mere end ét perspektiv holdt i spænding. Derfor blev arbejdet delt op efter rolle, og ét menneske sad i midten, gik som bro mellem dem, ratificerede det, der var solidt, og forkastede det, der ikke var.",
    "concordBody3": "CONCORD er ikke hentet noget sted fra. Det blev udformet af Rodolfo Nützmann til dette projekt ud fra et praktisk behov: hvordan man trækker på flere AI-systemer på én gang, hver især virkelig stærk til noget forskelligt, uden at opgive den ene tråd af menneskeligt ansvar, som rigtigt arbejde kræver. Svaret var at give hvert system et fast sæde, forhindre dem i at forhandle indbyrdes og lede hver udveksling gennem én person, der havde hele billedet. Den ordning har et ældre navn. AI-systemerne er agenter: de handler efter anvisning og på en andens vegne. PRIME er principalen: den, der faktisk beslutter, som udøver dømmekraften, og som bærer både følgerne og navnet.",
    "concordBody4": "Det begyndte uformelt som en måde at fordele arbejdet på og størknede undervejs i opbygningen til en navngiven metode: faste sæder, én overordnet regel om, at intet udgives, uden at PRIME ratificerer det, og en skriftlig optegnelse over, hvorfor hver beslutning blev truffet. Navnet udtrykker formålet: enighed, en aftale opnået med vilje gennem en proces, ikke hvad et uovervåget værktøj tilfældigvis frembringer.",
    "concordPrincipal": "Styrken ligger hos agenterne. Ansvaret ligger hos principalen, og det kan ikke overdrages.",
    "concordMechTitle": "Mekanikken, sagt enkelt",
    "mech1Label": "Foreslå",
    "mech1Gloss": "Hvert sæde fremlægger muligheder inden for sit eget område.",
    "mech2Label": "Videregive",
    "mech2Gloss": "PRIME bærer forslag mellem sæderne; de forhandler aldrig direkte.",
    "mech3Label": "Ratificere",
    "mech3Gloss": "PRIME godtager det, der holder, og afviser det, der ikke gør. Ellers udgives intet.",
    "mech4Label": "Afgrænse",
    "mech4Gloss": "Et fast sæt interne regler afgrænser hvert resultat, ved hvert sæde.",
    "mech5Label": "Registrere",
    "mech5Gloss": "En skriftlig beslutningslog bevarer begrundelsen bag hvert valg.",
    "mech6Label": "Huske",
    "mech6Gloss": "Konteksten, de interne regler og den log består som filer, der føres fra den ene session til den næste, så metoden overlever enhver enkelt samtale.",
    "rolesTitle": "Pladserne",
    "rolePrime": "PRIME",
    "rolePrimeWho": "Rodolfo Nützmann",
    "rolePrimeBody": "Den eneste ratificerende. Hver beslutning, hver publiceret linje gik gennem et menneske, der havde hele billedet og bar det endelige ansvar. AI'erne foreslog; PRIME afgjorde.",
    "rolePrimeModel": "Menneske",
    "roleAnvil": "ANVIL",
    "roleAnvilWho": "Teknik",
    "roleAnvilBody": "Chefingeniørens plads. Arkitektur, kode, indholdsstruktur og selve byggeriet, forvandlet fra hensigt til et fungerende, testet og udrulningsklart site.",
    "roleAnvilModel": "Anthropic · Claude Opus 4.8",
    "roleScout": "SCOUT",
    "roleScoutWho": "Strategi og brand",
    "roleScoutBody": "Strategiens og positioneringens plads. Spørgsmålene om, hvad det her er, hvem det er til, og hvordan det skal præsentere sig for verden.",
    "roleScoutModel": "OpenAI · ChatGPT 5.5",
    "rolePrism": "PRISM",
    "rolePrismWho": "Design",
    "rolePrismBody": "Designets plads. Det visuelle sprog, typografien, farven og helhedens fornemmelse, formet til et sammenhængende system.",
    "rolePrismModel": "Google · Gemini 3.1 Pro",
    "seatsModelNote": "AI-modelversioner pr. juni 2026.",
    "principlesTitle": "Hvordan det blev gjort",
    "principlesBody": "Nogle få principper gjaldt fra start til slut, og de er synlige, hvis du ved, hvor du skal kigge.",
    "p1Title": "Beregn, gæt aldrig",
    "p1Body": "Værktøjerne på dette site beregner svar lokalt og deterministisk. De kalder ikke en server med dine inddata, og de tilnærmer ikke. Det, der kører i din browser, bliver i din browser.",
    "p2Title": "Åben i kernen",
    "p3Title": "Dokumenteret gennem konstruktion",
    "p3Body": "Hver del af kodebasen er kommenteret og dokumenteret, ikke som en eftertanke, men som en stående regel. Byggeriet er tænkt til at være læsbart, for den, der vedligeholder det, og for den, der arver det.",
    "p4Title": "Bygget til at vare og rejse",
    "p4Body": "Sitet er en statisk eksport: hurtigt, cachebart og uafhængigt af noget ved kørselstid. Det er bygget op fra bunden til mange sprog, så det kan henvende sig til et globalt publikum uden at blive bygget om.",
    "stackTitle": "Stakken",
    "stackBody": "For den, der går op i den slags, det tekniske fundament, klart angivet.",
    "stackFramework": "Framework",
    "stackFrameworkV": "Next.js 15 og React 19, eksporteret som et fuldt statisk site",
    "stackI18n": "Internationalisering",
    "stackI18nV": "next-intl, med {count} sprog og understøttelse af højre-mod-venstre",
    "stackDesign": "Designsystem",
    "stackDesignV": "En tilpasselig, tokenbaseret temamotor; standardtemaet er Obsidian",
    "stackType": "Typografi",
    "stackTypeV": "Inter til tekst, JetBrains Mono til data og koder",
    "stackEngine": "Værktøjsmotor",
    "stackEngineV": "Et deterministisk beregningslag, der kører helt i browseren",
    "stackSearch": "Søgning",
    "stackSearchV": "Statisk fuldtekstsøgning på klientsiden; ingen søgeserver",
    "vibeTitle": "Er dette vibe coding?",
    "vibeBody1": "Det er et rimeligt spørgsmål, som fortjener et klart svar. Vibe coding er et begreb, som AI-forskeren Andrej Karpathy opfandt i begyndelsen af 2025 for en måde at bygge software på, hvor man beskriver, hvad man vil, for en sprogmodel, accepterer det, den skriver, uden at læse det nøje, og styrer efter resultater frem for efter selve koden. Han beskrev det som at give efter for stemningen og glemme, at koden overhovedet findes, og var klar i mælet om, at det egnede sig bedre til hurtige engangsprojekter end til systemer, som folk er afhængige af.",
    "vibeBody2": "Efter den definition blev en del af dette websted bygget sådan, og det er bedre at vedkende sig end at skjule. Applikationens overflade, frameworkets ledningsføring, komponenterne, stylingen, de rør, der holder siderne sammen, blev fremstillet hurtigt med en AI-ingeniør og styret efter udfald og efter et fast sæt interne regler, ikke skrevet i hånden linje for linje. For det lag, hvor en fejl er synlig og let at rette, var hastighed hele pointen.",
    "vibeBody3": "De dele, der betyder mest, holdes op mod en anden standard. Alt, der beregner dine data, verificeres, ikke laves på fornemmelse: kernen i hvert værktøj holdes op mod den offentliggjorte standard, det implementerer, de relevante RFC'er og specifikationer, og dets output bekræftes mod uafhængige referencer, før det udgives. Som en ofte citeret bemærkning fra programmøren Simon Willison lyder, er kode, du har gennemgået, testet og forstået, slet ikke vibe coding. Karpathy selv kalder nu den disciplinerede version agentic engineering: at beholde AI'ens løftestang uden at give køb på resultatets kvalitet. Det er den linje, dette projekt trækker. Hurtigt, hvor hastighed er gratis, grundigt, hvor det tæller, og ét menneske ansvarligt for det hele.",
    "closingTitle": "En note om metoden",
    "closingBody": "At bygge software med AI-medarbejdere er nyt nok til, at det ærlige er at være åben om det. Intet her blev publiceret, uden at et menneske besluttede, at det skulle være sådan. AI'erne var værktøjer, dygtige værktøjer, men værktøjer. Dømmekraften, ansvaret og navnet på arbejdet er menneskelige.",
    "backHome": "Tilbage til værktøjerne",
    "standardsTitle": "Standarder og frameworks",
    "standardsLede": "Hvert værktøj her implementerer en offentliggjort specifikation, ikke et gæt. Afkoderne og beregnerne bygges mod de dokumenter, der definerer deres formater, og fastgøres til de testvektorer, dokumenterne offentliggør, så hvert svar tjekkes mod sandhedskilden i stedet for mod sig selv.",
    "specsLabel": "Specifikationerne",
    "specsBody": "JSON Web Tokens følger RFC 7519, med signaturer og algoritmer i RFC 7515 og 7518; PKCE er RFC 7636; Base64 og dens slægtninge er RFC 4648; UUID'er er RFC 9562 (der erstattede RFC 4122 i 2024 og har egne testvektorer); HMAC er RFC 2104, over SHA-familien standardiseret i FIPS 180-4 og FIPS 202; X.509-certifikater er RFC 5280; IPv4 og CIDR-notationen er RFC 4632; IPv6-adressering og dens kanoniske tekstform er RFC 4291 og RFC 5952; og cipher suite-afkoderen drives af det officielle IANA TLS Cipher Suites-register, krydstjekket med TLS 1.3- og 1.2-specifikationerne (RFC 8446 og 5246), registeropdateringsreglerne, der fastsætter kolonnen “Recommended” (RFC 8447), og RC4-forbuddet (RFC 7465). Hvor et register er autoriteten, indlejres dets data direkte i stedet for at blive tastet ind igen.",
    "vectorsLabel": "Referencevektorer",
    "vectorsBody": "Hvert værktøj leveres med et sæt referencevektorer: kendte input parret med kendt korrekte output, hentet fra de relevante RFC'er og standardiseringsorganer. De kører ved hvert build, så en refaktorering, der stille ændrer et svar, får buildet til at fejle i stedet for at gå i luften.",
    "owaspLabel": "OWASP",
    "owaspBody": "Sikkerhedsværktøjerne er defineret ud fra OWASP's frameworks, ikke samlet ad hoc. Krypto- og TLS-værktøjerne svarer til områderne Cryptographic Failures og Security Misconfiguration i OWASP Top 10 og til de tilsvarende tjek i Application Security Verification Standard; token-værktøjet følger OWASP's vejledning til at inspicere og validere JWT'er. OWASP's prevention cheat sheets fastsætter også hårde regler for, hvad der bygges som det næste: enhver XML- eller SAML-håndtering, der tilføjes her, skal hærdes mod XXE, før den går i luften.",
    "redblueLabel": "Rødt og blåt",
    "redblueBody": "Den samme afkod-og-forklar, der lader en red-teamer læse et opfanget token, lader en blue-teamer forstå, hvad ens egen stak udsender. Platformen står bevidst på analysesiden af den linje: den identificerer, afkoder, konverterer og forklarer, og går ikke så vidt som at forfalske, injicere eller omgå kontroller. Den grænse er et designvalg, ikke en forglemmelse; disse værktøjer findes for at lære fra sig og diagnosticere, ikke for at blive et våben.",
    "localLabel": "Lokalt og deterministisk",
    "localBody": "Alt kører i browseren. Værktøjet kalder en ren funktion: med samme input giver den samme output, holder ingen tilstand og sender intet til en server. Ingen cookies, ingen analytics, som Privatlivssiden beskriver fuldt ud.",
    "thanksTitle": "Særlig tak",
    "p2Body": "Den deterministiske logik, hvert værktøj kører, er hele værktøjet: der er intet skjult servertrin, ingen konto og ingen telemetri. Alt kører i din browser.",
    "changelogLink": "Ændringslog"
  },
  "support": {
    "title": "Støt projektet",
    "lede": "Disse værktøjer er gratis og bygget til at forblive sådan. Hvis de sparer dig tid, er du velkommen til at bidrage til deres vedligeholdelse. Helt frivilligt, altid.",
    "tipHeading": "Læg en skilling",
    "tipBlurb": "Hvert bidrag går direkte til at støtte værktøjerne og tiden lagt i dem.",
    "zeroCommission": "0 % i kommission. Linkene går direkte til udbyderen; dette site er aldrig i betalingsflowet.",
    "placeholder": "Støttemuligheder er ved at blive sat op og vises her snart."
  },
  "admin": {
    "eyebrow": "Admin",
    "title": "Sitestyring",
    "lede": "Styringsfladen for dette sites valgfrie funktioner og indstillinger.",
    "previewBanner": "Forhåndsvisningsstillads. På det statiske site viser disse kontroller en forhåndsvisning af administrationsfladen; den direkte styring aktiveres med servicelaget. Ændringer her gemmes ikke.",
    "featuresTitle": "Funktioner",
    "flagRequestTraining": "Bestil denne undervisning",
    "flagRequestTrainingDesc": "Lead-genereringens CTA på kursus- og platformsiderne.",
    "flagTipJar": "TipJar",
    "flagTipJarDesc": "Støttelinks til skaberen på støttesiden.",
    "flagToolFunding": "Værktøjsfinansiering",
    "flagToolFundingDesc": "Støttegrænsefladen pr. værktøj.",
    "flagToolProvenance": "Værktøjsoprindelse",
    "flagToolProvenanceDesc": "Panelet med tak og kilder pr. værktøj.",
    "routingTitle": "Lead-dirigering",
    "routingDefaultLabel": "Globalt standardvalg",
    "routingNoOverrides": "Ingen tilsidesættelser pr. platform eller kursus konfigureret.",
    "contactTitle": "Kontakt",
    "contactEmailLabel": "E-mail",
    "contactFormLabel": "Formularafsendelse",
    "formMailto": "Mailto-reserve (ingen backend)",
    "formEndpoint": "Sender til endpoint",
    "tipJarTitle": "TipJar-udbydere",
    "tipConfigured": "Konfigureret",
    "tipNotConfigured": "Ikke konfigureret",
    "on": "Til",
    "off": "Fra",
    "accessTitle": "Adgangskontrol",
    "accessNote": "Kun disse fødererede identiteter må have administratoradgang. Håndhæves på serversiden af servicelaget; det statiske site autentificerer ikke.",
    "accessFederatedOnly": "Kun fødereret login. Ingen reserve med lokal konto.",
    "accessRoleLabel": "Rolle",
    "accessPermsLabel": "Ejertilladelser"
  },
  "machineTranslation": {
    "notice": "Denne side er maskinoversat og kan indeholde fejl.",
    "cta": "Hjælp med at forbedre"
  },
  "contribute": {
    "eyebrow": "Oversættelser",
    "title": "Hjælp med at forbedre oversættelserne",
    "lede": "Alle sprog her ud over engelsk er et maskinlavet første udkast. Hvis du taler et af dem og bemærker noget forkert eller klodset, er dine rettelser meget velkomne. Sådan sender du dem.",
    "howTitle": "Sådan bidrager du",
    "howBody": "Engelsk er kilden til sandhed, og alle andre sprog oversættes fra det, så fejl er mulige. Hver sprogpakke er en enkelt tekstfil med mærkede sætninger. Hent den, du vil forbedre, ret kun teksten efter hvert mærke, og lad mærkerne og alt i krøllede parenteser være præcis, som det er. Send derefter den redigerede fil med e-mail, og nævn sproget. Hvert bidrag gennemgås manuelt.",
    "downloadHeading": "Sprogpakker",
    "referenceTag": "reference",
    "emailHeading": "Send dit bidrag",
    "backHome": "Tilbage til værktøjerne"
  },
  "api": {
    "title": "API",
    "lede": "Værktøjerne på dette site kører i din browser og holder dine data på din enhed. Til automatisering – scripts, pipelines og integrationer – er de samme deterministiske beregninger tilgængelige som et lille HTTP-API. Det er det programmatiske modstykke til browserværktøjerne, ikke en erstatning for dem.",
    "privacyTitle": "Hvad det betyder for dine data",
    "privacyBody": "API'et modtager kun det input, du sender det, beregner et resultat og returnerer det. Det er tilstandsløst og logger ingen forespørgselsværdier eller anmodningstekster. Har du brug for garanteret nul dataudgang, så brug browserværktøjerne eller kør den åbne motor selv.",
    "engineTitle": "Samme motor som browseren",
    "specTitle": "Specifikationen",
    "specBody": "Hele kontrakten udgives som OpenAPI 3.1. Download den, ret dit eget værktøj mod den, eller læs referencen nedenfor.",
    "downloadSpec": "Download openapi.yaml",
    "baseUrlLabel": "Basis-URL",
    "authLabel": "Godkendelse",
    "authValue": "Ingen. Dette er et offentligt, skrivebeskyttet API.",
    "referenceTitle": "Reference",
    "loading": "Indlæser specifikationen.",
    "loadError": "Specifikationen kunne ikke indlæses.",
    "tryItTitle": "Prøv det",
    "tryItSend": "Send",
    "tryItRunning": "Kører.",
    "tryItHint": "Kører mod det live-API på denne origin. Dit input sendes til endpointet.",
    "paramsTitle": "Parametre",
    "responsesTitle": "Svar",
    "schemasTitle": "Skemaer",
    "exampleLabel": "Eksempel",
    "requiredLabel": "påkrævet",
    "fieldLabel": "Felt",
    "typeLabel": "Type",
    "descriptionLabel": "Beskrivelse",
    "viewReference": "Reference",
    "viewSwagger": "Swagger UI",
    "swaggerLoadError": "Swagger UI kunne ikke indlæses.",
    "engineBody": "Hvert endpoint kører den samme rene funktion som værktøjet i browseren, så API'et og browseren returnerer byte-identiske resultater."
  },
  "license_page": {
    "eyebrow": "Vilkår",
    "title": "Licens",
    "closedHeading": "Lukket kildekode – dette website",
    "closedBody": "Selve websitet er lukket kildekode. Dets design, grænseflade, skrevne indhold (herunder hver Learn-artikel), brand og den særlige måde, disse værktøjer er sat sammen og præsenteret på her, er beskyttet, alle rettigheder forbeholdes. Der gives ingen tilladelse til at kopiere, gengive, ændre, videredistribuere eller skabe afledte værker af sitet eller dets indhold uden forudgående skriftligt samtykke.",
    "contact": "Spørgsmål om licensen? <a>Tag kontakt.</a>",
    "backHome": "Tilbage til værktøjerne",
    "thirdHeading": "Open source-komponenter",
    "lede": "ronutz.com er et proprietært værk, alle rettigheder forbeholdes. Disse vilkår dækker webstedet og dets indhold. Webstedet er bygget på open source-software, som bruges og videredistribueres under dens egne licensvilkår, krediteret nedenfor.",
    "thirdBody": "Dette websted hviler på open source-arbejde. Selve webstedet er bygget med Next.js og React og leveres som en statisk eksport; internationaliseringen bruger next-intl; Learn-indholdet gengives med next-mdx-remote, gray-matter, remark-gfm og js-yaml; og søgning leveres af Pagefind. Disse komponenter stilles til rådighed under MIT License, undtagen next-mdx-remote (Mozilla Public License 2.0). API-referencen indlejrer Swagger UI under Apache License 2.0. Hver komponent forbliver under sin egen licens, og de fulde meddelelser leveres sammen med kildekoden."
  },
  "contributeIdeas": {
    "eyebrow": "Idéer er velkomne",
    "title": "Del en idé",
    "lede": "Denne værktøjskasse er bygget til at vokse, og det klareste signal om, hvor den skal hen, kommer fra dem, der bruger den. Har du fundet en bug, en fejl eller en unøjagtighed? Mangler du et værktøj, der ikke er her endnu? Ser du en bedre måde at gøre noget på, eller et resultat, du ville formulere anderledes? Send det; enhver form for input er velkomment.",
    "sendTitle": "Hvad du kan sende",
    "sendBody": "Bugs, fejl og unøjagtigheder af enhver art: et værktøj, der opfører sig forkert, et forkert resultat, en fejl i en Learn-artikel, eller bare noget, der virker skævt. Funktionsønsker til værktøjer, der allerede findes. Idéer til nye værktøjer, som kassen burde have. Rettelser og tilføjelser til Learn-artiklerne, som en klarere forklaring, en bedre kilde eller et emne, der mangler. Eller bare en anden vinkel på et problem. Råt er fint; én sætning er nok til at starte en samtale.",
    "toolTitle": "Hvis du foreslår et nyt værktøj",
    "toolBody": "Værktøjerne her er små, selvbeskrivende moduler: et manifest, der siger, hvad værktøjet er, og hvor dets korrekthed kommer fra, én ren funktion, der gør arbejdet, og et sæt golden vectors, de faste input-output-par, der beviser det. En god kandidat regner lokalt og deterministisk (samme input giver altid samme output, uden ur, netværk eller tilfældighed i resultatet), holder alt følsomt på enheden, og forankrer sin korrekthed i en citeret kilde som en RFC frem for i en holdning. Du behøver ikke bygge noget af det for at foreslå et: beskriv bare, hvad det skal beregne, et eksempel, og kilden, det hviler på.",
    "fitRule": "En enkel test afgør det. Hvert værktøj her kører helt i din browser og sender intet nogen steder, så et nyt værktøj skal være noget, en computer kan regne ud alene ud fra det, du skriver, ved at følge en fast, offentliggjort regel. Hvis det skal online, slå noget op live, logge dig ind eller huske dig, hører det ikke til her.",
    "fitYes": "Passer:",
    "fitYesBody": "afkode eller forklare noget, du indsætter (et token, et certifikat, en konfiguration, kommandooutput), konvertere mellem formater, beregne ud fra en standard eller formel, eller generere ud fra en regel, som en UUID, en hash eller en kommandolinje.",
    "fitNo": "Passer ikke:",
    "fitNoBody": "alt, der skal online eller tjekke noget live (teste et rigtigt websted, forespørge en live DNS-server, scanne en adresse), alt, der kræver en konto, et login eller gemte data, eller alt, hvis svar ikke er fastlagt af en offentliggjort standard.",
    "fitUnsure": "Er du i tvivl om, hvilken side din idé hører til? Send den alligevel, og sig, hvad den skal gøre. Jeg siger dig ærligt, om den passer, og hvorfor.",
    "emailTitle": "Sådan får du fat i mig",
    "emailBody": "E-mail er kanalen. Fortæl mig, hvad du fandt, eller hvad du gerne vil have, med nok detaljer til at handle på: et eksempel, et link, den præcise ordlyd, hvad der passer. Hvis det gør værktøjskassen bedre, bliver det bygget.",
    "emailLabel": "E-mail",
    "backToTools": "Tilbage til værktøjskassen"
  },
  "languageStatus": {
    "title": "Oversættelsesstatus",
    "reviewed": "Gennemset af et menneske",
    "complete": "Maskinel, fuldstændig",
    "partial": "Maskinel, undervejs",
    "explainTitle": "Hvordan oversættelser markeres",
    "explainBody": "Engelsk og brasiliansk portugisisk skrives og gennemgås af en person. De fleste andre sprog er maskinoversat og markeret efter, hvor langt de er: ravgul, når et sprog dækker hele webstedet, gul, mens nyere indhold stadig er på engelsk og er ved at indhente. Sprog markeret med rødt har endnu ingen oversættelse og vises på engelsk indtil videre. Maskinoversatte sider har desuden en kort note, og du er velkommen til at hjælpe med at forbedre dem.",
    "stub": "Endnu ikke oversat"
  },
  "changelog": {
    "eyebrow": "Ændringslog",
    "title": "Hvad er nyt",
    "lede": "En løbende oversigt over nye værktøjer, nye Learn-artikler og væsentlige ændringer på dette websted. Der er {count} værktøjer tilgængelige i dag.",
    "kindLaunch": "Lancering",
    "kindTool": "Nyt værktøj",
    "kindFeature": "Funktion",
    "kindI18n": "Lokalisering",
    "kindContent": "Indhold",
    "kindInfra": "Infrastruktur"
  }
}
