{
  "_meta": {
    "locale": "sv",
    "status": "machine-draft",
    "note": "Fullständig svensk översättning (AI-utkast, tilltalsformen 'du', som är standard i modern svenska). Bör granskas av en modersmålstalare före marknadsföringskampanjer, enligt kvalitetsriktlinjen för översättningar. Utan tankstreck (em dash), enligt CONCORD-riktlinjerna. Variabler och egennamn är oförändrade."
  },
  "site": {
    "name": "ronutz",
    "tagline": "Nätverks- och säkerhetsverktyg som körs på din egen maskin, inte i någon annans moln."
  },
  "nav": {
    "tools": "Verktyg",
    "about": "Om",
    "certifications": "Certifieringar",
    "training": "Utbildning",
    "contact": "Kontakt",
    "skipToContent": "Hoppa till innehåll",
    "openMenu": "Öppna meny",
    "closeMenu": "Stäng meny",
    "learn": "Lär dig",
    "endorsements": "Omdömen",
    "certs": "Certifieringar"
  },
  "languageSwitcher": {
    "label": "Språk",
    "stubNotice": "Det här språket är ännu inte översatt. Visar på engelska."
  },
  "home": {
    "hero": {
      "eyebrow": "Byggt av en yrkesperson, med integritet i första rummet",
      "title": "Verktygslådan för nätverk och säkerhet som håller dina data på din maskin.",
      "subtitle": "Subnätsberäkningar, DNS- och e-postdiagnostik, certifikatsinspektion och mycket mer, beräknat lokalt i din webbläsare. Ingen uppladdning, ingen loggning, inget konto behövs för de dagliga verktygen.",
      "ctaPrimary": "Öppna verktygslådan",
      "ctaSecondary": "Vem bygger det här"
    },
    "credibility": {
      "title": "Byggt av någon som har gjort jobbet sedan 1996.",
      "body": "Trettio år inom företagsnätverk och säkerhet, levererat av en aktiv instruktör och inte av en marknadsföringssida. Certifierad på fyra plattformar, så att jämförelserna här görs ärligt, inte för att sälja.",
      "aboutCta": "Mer om personen bakom"
    },
    "pillars": {
      "title": "Fyra plattformar, undervisade och hållna aktuella.",
      "f5": "F5",
      "fortinet": "Fortinet",
      "extreme": "Extreme Networks",
      "netskope": "Netskope"
    },
    "privacy": {
      "title": "Varför lokal körning spelar roll i säkerhetsarbete.",
      "body": "När du klistrar in en konfiguration, en paketinspelning eller ett certifikat i ett verktyg innehåller de uppgifterna ofta hemligheter. Här körs de dagliga verktygen helt i din webbläsare. Indata lämnar aldrig din enhet, så det finns inget att logga, läcka eller begära ut."
    },
    "toolPreview": {
      "title": "Prova ett verktyg nu.",
      "body": "CIDR-kalkylatorn nedan körs lokalt. Ange ett nät och ett prefix för att se adressintervallet, antalet värdar och masken. Ingenting skickas någonstans.",
      "learnHeading": "Lär dig koncepten",
      "toolboxCta": "Öppna hela verktygslådan",
      "seeAllArticles": "Se alla artiklar"
    },
    "provenance": {
      "title": "Erkännanden och källor",
      "show": "Visa",
      "hide": "Dölj",
      "basisLabel": "Så fungerar det",
      "sourcesLabel": "Standarder och källor"
    },
    "funding": {
      "title": "Stöd det här verktyget",
      "pitch": "Det här verktyget är gratis och byggt för att förbli så. Om det förtjänar en plats i ditt arbetsflöde kan du hjälpa till att finansiera underhållet och det som kommer härnäst.",
      "purposeLabel": "Finansieras nu"
    },
    "stats": {
      "tools": "Verktyg",
      "articles": "Artiklar",
      "sectionLabel": "Verktygslådan i korthet"
    }
  },
  "tools": {
    "cidr": {
      "title": "CIDR-kalkylator",
      "description": "Beräkna nät- och broadcastadresserna, det användbara värdintervallet, antalet värdar och nätmasken för ett IPv4 CIDR-block. Körs lokalt i din webbläsare.",
      "inputLabel": "CIDR-block",
      "inputPlaceholder": "192.168.1.0/24",
      "compute": "Beräkna",
      "runsLocally": "Körs lokalt, ingenting skickas till någon server.",
      "prefixSlider": "Prefixlängd",
      "bitsHeading": "Adressbitar",
      "bitsNetwork": "Nätverk",
      "bitsHost": "Värd",
      "bitsNote": "De markerade bitarna anger nätverket — resten adresserar värdar i det.",
      "results": {
        "network": "Nätadress",
        "broadcast": "Broadcastadress",
        "netmask": "Nätmask",
        "wildcard": "Wildcard-mask",
        "firstHost": "Första användbara värd",
        "lastHost": "Sista användbara värd",
        "totalAddresses": "Totalt antal adresser",
        "usableHosts": "Användbara värdar"
      },
      "errors": {
        "empty": "Ange ett CIDR-block för att beräkna.",
        "invalid": "Det här ser inte ut som ett giltigt CIDR-block. Prova ett format som 192.168.1.0/24."
      },
      "name": "CIDR-/subnätskalkylator",
      "blurb": "Dela upp ett valfritt IPv4-CIDR-block i nätverks- och broadcastadresser, användbart värdintervall, antal värdar och nätmask. Körs helt i din webbläsare.",
      "modes": {
        "subnet": "Subnät",
        "vlsm": "VLSM",
        "supernet": "Supernät",
        "overlap": "Överlapp / lucka"
      },
      "modeDesc": {
        "subnet": "Analyserar ett enskilt IPv4-CIDR-block: nät, broadcast, mask och värdintervall.",
        "vlsm": "Delar upp ett överordnat block i subnät av variabel längd efter en lista med antal värdar.",
        "supernet": "Sammanfattar en lista med prefix till minsta möjliga uppsättning täckande block.",
        "overlap": "Hittar överlapp och inneslutning mellan prefix, samt luckor inom ett valfritt område."
      },
      "vlsm": {
        "parentLabel": "Överordnat block",
        "reqsLabel": "Subnätskrav",
        "namePlaceholder": "Namn (valfritt)",
        "hostsPlaceholder": "Värdar",
        "addRow": "Lägg till subnät",
        "remove": "Ta bort",
        "run": "Tilldela",
        "th": {
          "name": "Namn",
          "hosts": "Värdar",
          "network": "Nät",
          "prefix": "Prefix",
          "netmask": "Nätmask",
          "range": "Användbart intervall",
          "broadcast": "Broadcast",
          "usable": "Användbara värdar"
        },
        "stat": {
          "parent": "Överordnat",
          "used": "Använt",
          "free": "Ledigt",
          "utilization": "Utnyttjande"
        },
        "unfit": "Fick inte plats",
        "parentPlaceholder": "10.0.0.0/24"
      },
      "supernet": {
        "label": "Prefix att aggregera",
        "run": "Aggregera",
        "minimal": "Minsta täckande uppsättning",
        "single": "Enskilt supernät",
        "singleExtra": "Lägger till {extra} extra adresser utöver indata.",
        "stat": {
          "inputs": "Indataprefix",
          "addresses": "Adresser",
          "blocks": "Aggregerade block"
        },
        "placeholder": "192.168.0.0/24\n192.168.1.0/24"
      },
      "overlap": {
        "label": "Prefix att kontrollera",
        "scopeLabel": "Område (valfritt, aktiverar luckdetektering)",
        "run": "Kontrollera",
        "overlapsTitle": "Överlapp",
        "noOverlaps": "Inga överlapp hittades.",
        "gapsTitle": "Luckor i området",
        "noGaps": "Inga luckor i det angivna området.",
        "kind": {
          "identical": "identiskt med",
          "contains": "innehåller",
          "contained": "ligger i",
          "partial": "överlappar delvis"
        },
        "addresses": "adresser",
        "stat": {
          "covered": "Täckt",
          "scope": "Område"
        },
        "placeholder": "10.0.0.0/24\n10.0.0.128/25",
        "scopePlaceholder": "10.0.0.0/16"
      },
      "err": {
        "ipv4": "Ingen giltig IPv4-adress. Använd fyra oktetter från 0 till 255, som 192.168.1.0.",
        "octet": "En oktett ligger utanför intervallet (varje måste vara mellan 0 och 255).",
        "format": "Förväntat format är A.B.C.D/prefix, som 192.168.1.0/24.",
        "prefix": "Prefixlängden måste vara mellan 0 och 32.",
        "tooMany": "För många poster. Korta ner listan och försök igen.",
        "noReqs": "Lägg till minst ett subnätskrav med ett antal värdar.",
        "noPrefixes": "Ange minst ett prefix, ett per rad."
      },
      "rangeHeading": "Adresslayout",
      "usableShort": "användbara",
      "rfcNote": "/31 och /32 reserverar inget: varje adress är användbar (RFC 3021).",
      "reservedNote": "Den första adressen är nätverket och den sista är broadcast; båda är reserverade, så användbara = totalt − 2."
    },
    "title": "Verktyg",
    "lede": "Små, snabba och integritetsvänliga verktyg som körs helt i din webbläsare. Inget du skriver skickas någonstans. Fler är på väg.",
    "open": "Öppna",
    "comingSoon": "Kommer snart",
    "note": "Den här verktygslådan växer. Nya verktyg läggs till här efter hand som de blir klara, vart och ett med lokal körning och gratis att använda.",
    "learnHeading": "Lär dig koncepten",
    "backToTools": "Verktyg",
    "references": "Referenser",
    "jumpTo": "Hoppa till",
    "categories": {
      "identity": "Identitet och tokens",
      "encoding": "Kodning och data",
      "hashing": "Hashning och krypto",
      "identifiers": "Identifierare",
      "pki": "Certifikat och PKI",
      "networking": "Nätverk",
      "transport": "TLS och transport"
    },
    "hash": {
      "name": "Hash-generator (SHA-1/256/384/512)",
      "blurb": "Beräkna SHA-1-, SHA-256-, SHA-384- och SHA-512-sammandrag av valfri text, visade som hex och Base64, med webbläsarens inbyggda Web Crypto. Körs helt i din webbläsare.",
      "algorithmLabel": "Hash-algoritm",
      "inputLabel": "Text att hasha",
      "inputPlaceholder": "The quick brown fox jumps over the lazy dog",
      "runsLocally": "Hashningen körs lokalt via Web Crypto. Inget du skriver lämnar din webbläsare.",
      "bits": "{bits} bitar ({bytes} byte)",
      "sha1Note": "SHA-1 är brutet vad gäller kollisionsmotstånd och olämpligt för säkerhet (signaturer, certifikat). Det duger bara för icke-säkerhetskontrollsummor och äldre interoperabilitet.",
      "hex": "Hex",
      "base64": "Base64",
      "copy": "Kopiera",
      "copied": "Kopierad"
    },
    "hmac": {
      "name": "HMAC-generator (SHA-256/384/512)",
      "blurb": "Beräkna en nyckelförsedd HMAC över ett meddelande med din hemliga nyckel, visad som hex och Base64, via webbläsarens inbyggda Web Crypto. Samma konstruktion som JWT-verifieraren använder för HS256. Din nyckel lämnar aldrig din webbläsare.",
      "algorithmLabel": "HMAC-algoritm",
      "messageLabel": "Meddelande",
      "messagePlaceholder": "Meddelandet som ska autentiseras",
      "keyLabel": "Hemlig nyckel",
      "keyPlaceholder": "Din delade hemlighet",
      "runsLocally": "HMAC körs lokalt via Web Crypto. Ditt meddelande och din nyckel lämnar aldrig din webbläsare.",
      "hex": "Hex",
      "base64": "Base64",
      "copy": "Kopiera",
      "copied": "Kopierad",
      "struct": {
        "heading": "Så är HMAC uppbyggt",
        "innerHash": "inre hash",
        "note": "HMAC hashar meddelandet två gånger. Nyckeln kombineras med XOR med en fast inre pad före den första hashen och med en yttre pad före den andra, och denna konstruktion med två pads är det som förhindrar length-extension-attacker. Nyckeln reduceras först till hashens blockstorlek."
      }
    },
    "base64": {
      "name": "Base64-, Base32-, Hex- och procent-codec",
      "blurb": "Koda text till Base64, URL-säker Base64, Base32, hexadecimalt eller procentkodning, och avkoda vilken som helst av dem tillbaka. Tolererar saknad utfyllnad och blanksteg, och flaggar binära (icke-UTF-8) resultat. Körs helt i din webbläsare.",
      "directionLabel": "Riktning",
      "direction": {
        "encode": "Koda",
        "decode": "Avkoda"
      },
      "inputLabelEncode": "Text att koda",
      "inputLabelDecode": "Kodad text att avkoda",
      "placeholderEncode": "Hello, World!",
      "placeholderDecode": "SGVsbG8sIFdvcmxkIQ==",
      "runsLocally": "Kodning och avkodning körs lokalt. Inget du klistrar in lämnar din webbläsare.",
      "decodeErrors": {
        "invalid-characters": "Den här inmatningen innehåller tecken utanför den valda codecens alfabet.",
        "invalid-length": "Den här inmatningen har inte en giltig längd för den valda codecen.",
        "invalid-escape": "Den här inmatningen har en felaktig procent-escape (ett % som inte följs av två hexadecimala siffror)."
      },
      "outputEncode": "Kodat",
      "outputDecode": "Avkodad text",
      "copy": "Kopiera",
      "copied": "Kopierad",
      "emptyOutput": "(tom)",
      "decodedBytes": "{bytes, plural, one {# byte avkodad} other {# byte avkodade}}.",
      "notUtf8": "{bytes, plural, one {# byte avkodad} other {# byte avkodade}}, men resultatet är inte giltig UTF-8-text (troligen binärt).",
      "codecLabel": "Codec",
      "codec": {
        "base64": "Base64",
        "base64url": "Base64URL",
        "base32": "Base32",
        "base16": "Hex",
        "percent": "Percent"
      }
    },
    "pkce": {
      "name": "OAuth-PKCE-verifierare och -challenge",
      "blurb": "Generera en OAuth 2.0-code_verifier och härled dess S256-code_challenge, eller klistra in din egen och kontrollera den mot längd- och teckenuppsättningsreglerna i RFC 7636. Samma SHA-256-base64url-härledning som din auktoriseringsserver förväntar sig. Körs helt i din webbläsare.",
      "verifierLabel": "Code verifier",
      "verifierPlaceholder": "Klistra in en code_verifier, eller generera en",
      "generate": "Generera",
      "runsLocally": "Generering och härledning körs lokalt. Din verifierare lämnar aldrig din webbläsare.",
      "lengthBadge": "Längd {length} (43-128)",
      "charsetOk": "Oreserverad teckenuppsättning",
      "charsetBad": "Ogiltiga tecken",
      "s256Title": "Code challenge · S256",
      "plainTitle": "Code challenge · plain",
      "plainNote": "Plain-metoden avråds. Använd S256 överallt där klienten kan beräkna SHA-256.",
      "encodingLabel": "base64url",
      "plainValueLabel": "= code_verifier",
      "copy": "Kopiera",
      "copied": "Kopierad",
      "flowHeading": "Så fungerar PKCE",
      "laneClient": "App / Klient",
      "laneServer": "Auktoriseringsserver",
      "s1": "Generera en slumpmässig code_verifier",
      "s2": "Härled code_challenge",
      "s3": "Auktoriseringsbegäran bär challenge",
      "s4": "Servern lagrar challenge",
      "s5": "Auktoriseringskod returnerad",
      "s6": "Tokenbegäran bär verifier",
      "s7": "Servern härleder om och jämför",
      "s8": "Access- och refresh-token utfärdade"
    },
    "uuid": {
      "name": "UUID-generator och -inspektör (v4 / v7)",
      "blurb": "Generera slumpmässiga v4- eller tidsordnade v7-UUID:er, eller klistra in valfri UUID för att läsa dess version, variant och (för v7) den inbäddade skapandetidsstämpeln. Genereringen använder webbläsarens säkra slumpkälla. Körs helt i din webbläsare.",
      "versionLabel": "UUID-version",
      "generate": "Generera",
      "clear": "Rensa",
      "emptyHint": "Välj en version och generera.",
      "runsLocally": "Generering och inspektion körs lokalt. Inget skickas någonstans.",
      "copy": "Kopiera",
      "copied": "Kopierad",
      "inspectLabel": "Inspektera en UUID",
      "inspectPlaceholder": "Klistra in valfri UUID för att avkoda den",
      "valid": "Giltig UUID",
      "invalid": "Inte en giltig UUID",
      "versionField": "Version",
      "variantField": "Variant",
      "timestampField": "Tidsstämpel (v7)",
      "versionValue": "Version {version}"
    },
    "jwt": {
      "name": "JWT-avkodare och -verifierare",
      "blurb": "Avkoda en JSON Web Tokens header och claims, läs dess utgång och tidsangivelser i klarspråk och verifiera en HS256/384/512-signatur med en inklistrad hemlighet. Körs helt i din webbläsare.",
      "inputLabel": "JSON Web Token",
      "inputPlaceholder": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
      "runsLocally": "Avkodning och signaturkontroller körs lokalt. Token och hemlighet lämnar aldrig din webbläsare.",
      "errors": {
        "empty": "Klistra in en JSON Web Token för att avkoda.",
        "format": "Det ser inte ut som en JWT. En token har tre base64url-delar åtskilda av punkter: header.payload.signature.",
        "header": "Headern är inte giltig. Den bör vara base64url-kodad JSON.",
        "payload": "Payloaden är inte giltig. Den bör vara base64url-kodad JSON."
      },
      "panels": {
        "header": "Header",
        "payload": "Payload",
        "signature": "Signatur",
        "noSignature": "Inget signatursegment (osäkrad token)."
      },
      "claims": {
        "iss": "Utfärdare (iss)",
        "sub": "Subjekt (sub)",
        "aud": "Målgrupp (aud)",
        "jti": "JWT-ID (jti)",
        "iat": "Utfärdad (iat)",
        "nbf": "Inte före (nbf)",
        "exp": "Går ut (exp)"
      },
      "status": {
        "expired": "Utgången {rel}",
        "expiresIn": "Giltig, går ut {rel}",
        "notYetValid": "Inte giltig än, börjar {rel}",
        "noExpiry": "Ingen utgångs-claim (exp)"
      },
      "verify": {
        "label": "Verifiera HMAC-signatur (HS256/384/512)",
        "placeholder": "delad hemlighet",
        "button": "Verifiera",
        "valid": "Signatur giltig för denna hemlighet.",
        "invalid": "Signaturen matchar inte denna hemlighet.",
        "algNone": "Denna token är osäkrad (alg: none), så det finns ingen signatur att verifiera.",
        "unsupportedAlg": "Verifiering i webbläsaren täcker endast HS256/384/512. {alg} är asymmetrisk och behöver en publik nyckel.",
        "hint": "Hemligheten används bara för att beräkna en HMAC i din webbläsare. Den skickas aldrig någonstans."
      },
      "struct": {
        "heading": "Ett JWT:s uppbyggnad",
        "signingInput": "Signaturindata",
        "note": "Header och payload är bara base64url-kodade, inte krypterade, så vem som helst kan läsa dem. Signaturen beräknas över header och payload sammanfogade med en punkt, och är det som en verifierare kontrollerar."
      }
    },
    "x509": {
      "name": "X.509-certifikatavkodare",
      "blurb": "Klistra in ett certifikat som PEM, base64 eller hex för att läsa dess subjekt, utfärdare, giltighetsfönster, publika nyckel och v3-tillägg, med SHA-256- och SHA-1-fingeravtryck. Körs helt i din webbläsare.",
      "inputLabel": "X.509-certifikat",
      "inputPlaceholder": "-----BEGIN CERTIFICATE-----\nMIIB...\n-----END CERTIFICATE-----",
      "runsLocally": "Avkodning och fingeravtryck körs lokalt. Certifikatet lämnar aldrig din webbläsare.",
      "errors": {
        "empty": "Klistra in ett X.509-certifikat för att avkoda.",
        "format": "Det ser inte ut som ett certifikat. Klistra in PEM (-----BEGIN CERTIFICATE-----), base64 eller hex.",
        "der": "Byten är inte giltig DER. Kontrollera att hela certifikatet klistrades in, inklusive END-raden.",
        "structure": "Detta avkodas som ASN.1 men är inget X.509-certifikat. Ett certifikat är en SEQUENCE av TBSCertificate, signatureAlgorithm och signatureValue."
      },
      "status": {
        "valid": "Giltigt, går ut {rel}",
        "expired": "Utgånget {rel}",
        "notYetValid": "Inte giltigt än, börjar {rel}"
      },
      "panels": {
        "subject": "Subjekt",
        "issuer": "Utfärdare",
        "details": "Detaljer",
        "publicKey": "Publik nyckel",
        "extensions": "Tillägg",
        "fingerprints": "Fingeravtryck",
        "sct": "Certificate Transparency"
      },
      "fields": {
        "version": "Version",
        "serial": "Serienummer",
        "notBefore": "Inte före",
        "notAfter": "Inte efter",
        "signatureAlgorithm": "Signaturalgoritm",
        "algorithm": "Algoritm",
        "keySize": "Nyckelstorlek",
        "exponent": "Exponent",
        "curve": "Kurva",
        "bits": "{n} bitar",
        "selfSigned": "Självutfärdat"
      },
      "ext": {
        "san": "Alternativa subjektnamn",
        "keyUsage": "Nyckelanvändning",
        "extKeyUsage": "Utökad nyckelanvändning",
        "basicConstraints": "Grundläggande begränsningar",
        "subjectKeyId": "Subjektets nyckelidentifierare",
        "authorityKeyId": "Utfärdarens nyckelidentifierare",
        "caTrue": "Certifikatutfärdare (CA: true)",
        "caFalse": "Inte en CA (CA: false)",
        "pathLen": "väglängd {n}",
        "critical": "kritisk"
      },
      "fp": {
        "sha256": "SHA-256",
        "sha1": "SHA-1",
        "computing": "Beräknar fingeravtryck..."
      },
      "chainHeading": "Förtroendekedja",
      "tierRoot": "Rot-CA",
      "tierIntermediate": "Mellanliggande CA",
      "tierLeaf": "Slutentitetscertifikat",
      "roleRoot": "Självsignerat förtroendeankare",
      "roleIntermediate": "Signerat av en rot; signerar slutcertifikat",
      "roleLeaf": "Identifierar en server eller klient",
      "thisCert": "detta certifikat",
      "issuedBy": "Utfärdat av",
      "signs": "signerar",
      "trustNote": "Förtroende flödar nedåt: varje certifikat signeras av det ovanför, ända upp till en rot som ditt system redan litar på.",
      "sct": {
        "intro": "Inbäddade SCT:er: {n}. Var och en är en CT-loggs signerade bevis på att den registrerade detta certifikat; webbläsare kräver ett minimiantal för att certifikatet ska vara betrott.",
        "entry": "SCT {i}",
        "logId": "Logg-ID",
        "timestamp": "Loggat den",
        "signature": "Signatur",
        "note": "Signaturer visas men verifieras inte här; att verifiera en SCT kräver loggens publika nyckel och förcertifikatet."
      }
    },
    "ipv6": {
      "name": "IPv6-verktygslåda",
      "blurb": "Tolka en IPv6-adress eller ett prefix för att se dess kanoniska (RFC 5952) och fullt expanderade former, klassificering för specialanvändning, prefixaritmetik, en EUI-64-MAC om den finns och dess ip6.arpa-omvänd-DNS-namn. Körs helt i din webbläsare.",
      "inputLabel": "IPv6-adress eller -prefix",
      "inputPlaceholder": "2001:db8::1/64",
      "runsLocally": "Tolkningen körs lokalt. Adressen lämnar aldrig din webbläsare.",
      "errors": {
        "empty": "Ange en IPv6-adress eller ett prefix för att avkoda.",
        "format": "Det är inte en giltig IPv6-adress. Använd åtta hex-grupper, eventuellt komprimerade en gång med :: (till exempel 2001:db8::1).",
        "prefix": "Prefixlängden är inte giltig. För IPv6 måste den vara mellan 0 och 128."
      },
      "panels": {
        "forms": "Kanoniska former",
        "classification": "Klassificering",
        "prefix": "Prefix",
        "identifiers": "Identifierare"
      },
      "fields": {
        "compressed": "Komprimerad (RFC 5952)",
        "expanded": "Expanderad",
        "type": "Typ",
        "scope": "Omfattning",
        "embeddedIpv4": "Inbäddad IPv4",
        "network": "Nätverk",
        "firstAddress": "Första adressen",
        "lastAddress": "Sista adressen",
        "count": "Adresser",
        "hostBits": "Värdbitar",
        "eui64": "EUI-64-MAC",
        "reverseDns": "Omvänd DNS (ip6.arpa)"
      },
      "badges": {
        "multicast": "multicast"
      },
      "segHeading": "Adressstruktur",
      "networkSeg": "Nätverksprefix",
      "ifaceId": "Gränssnitts-ID",
      "hostBits": "Värdbitar",
      "prefixNote": "Bitarna till vänster om gränsen fastställs av prefixet; bitarna till höger identifierar värden inom det.",
      "conventionNote": "Inget prefix angavs, så den streckade linjen markerar den konventionella /64-delningen: routingprefix och subnät till vänster, den 64-bitars gränssnittsidentifieraren till höger."
    },
    "cipher": {
      "name": "Avkodare för chiffersviter",
      "blurb": "Ange en TLS-chiffersvit, som IANA-namn, OpenSSL- eller GnuTLS-namn, eller en hexadecimal kodpunkt, för att bryta ner den i nyckelutbyte, autentisering, chiffer, läge och MAC, med en begriplig säkerhetsbedömning och den officiella IANA-rekommendationen. Körs helt i din webbläsare mot en inbäddad kopia av IANA-registret.",
      "inputLabel": "Chiffersvit",
      "inputPlaceholder": "TLS_AES_128_GCM_SHA256, ECDHE-RSA-AES128-GCM-SHA256 eller 0x1301",
      "runsLocally": "Avkodningen körs lokalt mot en inbäddad kopia av IANA:s register över TLS-chiffersviter. Inget skickas någonstans.",
      "notInRegistryNote": "Det här namnet tolkades strukturellt men hittades inte i den inbäddade ögonblicksbilden av IANA-registret – dess kodpunkt och alternativa namn visas därför inte.",
      "errors": {
        "empty": "Ange en chiffersvit att avkoda.",
        "format": "Det är inte en chiffersvit. Ange ett IANA-namn (TLS_...), ett OpenSSL-namn eller en hexadecimal kodpunkt som 0x1301.",
        "unknown": "Det är ett giltigt kodpunktsformat, men det är inte en tilldelad chiffersvit i IANA-registret."
      },
      "ratings": {
        "recommended": "Rekommenderad",
        "secure": "Säker",
        "weak": "Svag",
        "insecure": "Osäker",
        "unknown": "Okänd"
      },
      "iana": {
        "Y": "IANA: rekommenderad",
        "N": "IANA: ej rekommenderad",
        "D": "IANA: avrådd"
      },
      "badges": {
        "tls13": "TLS 1.3",
        "notInRegistry": "Ej i IANA-ögonblicksbild"
      },
      "panels": {
        "identity": "Identitet",
        "components": "Komponenter",
        "security": "Säkerhet"
      },
      "fields": {
        "codePoint": "Kodpunkt",
        "name": "IANA-namn",
        "openssl": "OpenSSL-namn",
        "gnutls": "GnuTLS-namn",
        "protocol": "Protokoll",
        "dtls": "DTLS-OK",
        "references": "Referenser"
      },
      "protocol": {
        "tls13": "TLS 1.3",
        "legacy": "TLS 1.2 och tidigare"
      },
      "comp": {
        "keyExchange": "Nyckelutbyte",
        "authentication": "Autentisering",
        "forwardSecrecy": "Forward secrecy",
        "cipher": "Chiffer",
        "mode": "Läge",
        "aead": "AEAD",
        "prf": "PRF-/KDF-hash",
        "mac": "MAC",
        "yes": "Ja",
        "no": "Nej",
        "bits": "{n} bitar",
        "negotiatedSeparately": "Förhandlas separat (TLS 1.3)"
      },
      "reasons": {
        "nullCipher": "NULL-chiffer: trafiken krypteras inte alls.",
        "anon": "Anonymt nyckelutbyte: motparten autentiseras inte och ger därför inget skydd mot en aktiv man-in-the-middle.",
        "export40": "Nyckel av exportstyrka (40 bitar): trivialt att knäcka med råstyrka, en kvarleva från 1990-talets exportregler.",
        "rc4": "RC4-strömchiffer: den skeva nyckelströmmen gör det brutet, och RFC 7465 förbjuder det för TLS.",
        "singleDes": "Enkel DES med 56-bitarsnyckel: knäckbart med råstyrka på timmar.",
        "rc2": "RC2: ett föråldrat 40/64-bitars chiffer, inte säkert för modern användning.",
        "tripleDes": "3DES har ett 64-bitarsblock, vilket utsätter det för Sweet32-födelsedagsattacken (CVE-2016-2183). RFC 8429 föråldrar det.",
        "md5Mac": "MD5-MAC: MD5 är kryptografiskt brutet.",
        "cbcMac": "CBC med en HMAC-SHA1- eller MD5-MAC använder MAC-then-encrypt och är utsatt för padding-oracle-attacker som BEAST och Lucky13.",
        "ccm8": "CCM_8 trunkerar autentiseringstaggen till 8 byte, vilket försvagar integriteten. IANA markerar det inte som rekommenderat.",
        "noFs": "Ingen forward secrecy: med ett statiskt nyckelutbyte kan en komprometterad långtidsnyckel dekryptera tidigare sessioner. Moderna riktlinjer kräver ECDHE eller DHE.",
        "legacyCipher": "{value} är ett föråldrat chiffer, överspelat för TLS.",
        "aead": "AEAD-chiffer (autentiserad kryptering): konfidentialitet och integritet i en enda primitiv, utan en separat MAC som kan användas fel.",
        "fs": "Forward secrecy: ett flyktigt nyckelutbyte håller tidigare trafik säker även om långtidsnyckeln senare komprometteras.",
        "tls13": "TLS 1.3-svit: endast moderna AEAD-chiffer, med nyckelutbytet förhandlat separat och alltid flyktigt.",
        "ianaD": "IANA markerar denna svit som \"D\" (avrådd): den BÖR INTE eller FÅR INTE användas, beroende på situationen.",
        "ianaN": "IANA markerar inte denna svit som \"Rekommenderad\": begränsad tillämpbarhet eller har inte gått igenom IETF:s konsensusprocess.",
        "signalling": "Signaleringssvit (SCSV): inget riktigt chiffer, utan bär en protokollsignal som nedgraderingsskydd eller omförhandlingsinfo."
      },
      "groups": {
        "title": "Nyckelutbytesgrupper",
        "intro": "TLS förhandlar själva nyckelöverenskommelsegruppen separat från chiffersviten, i tillägget supported_groups. Eftersom \"harvest now, decrypt later\" driver övergången till post-kvant-nyckelutbyte, kombinerar hybridgrupperna nedan en klassisk kurva med ML-KEM.",
        "kind": {
          "ecdhe": "ECDHE-kurva",
          "ffdhe": "Ändlig-kropp-DH",
          "pq-hybrid": "PQ-hybrid"
        },
        "pq": {
          "classical": "Klassisk",
          "hybrid-pq": "Hybrid PQ"
        },
        "recommended": "Rekommenderas",
        "obsolete": "Föråldrad",
        "legacy": "Äldre",
        "combines": "Kombinerar {classical} med {pq}",
        "foot": "X25519MLKEM768 är den hybridgrupp som de flesta webbläsare nu skickar som standard."
      }
    },
    "f5-ssl-profile-explainer": {
      "name": "F5 SSL-profilförklarare",
      "blurb": "Klistra in en tmsh client-ssl- eller server-ssl-profil och få dess roll, TLS-protokollmatrisen och en säkerhetsbedömning av kedja, omförhandling, SNI, OCSP och ömsesidig TLS — allt i din webbläsare.",
      "inputLabel": "SSL-profil (tmsh)",
      "inputPlaceholder": "ltm profile client-ssl /Common/name ...",
      "runsLocally": "Bearbetas i din webbläsare. Inget skickas någonstans.",
      "scopeNote": "Avkodar ett inklistrat profilblock. Kontaktar aldrig en BIG-IP.",
      "errorTitle": "Det gick inte att läsa profilen",
      "err_empty": "Klistra in en SSL-profil för att börja.",
      "err_noHeader": "En rad som denna förväntades: ltm profile client-ssl /Common/name ...",
      "err_noBody": "Ingen inledande klammerparentes hittades i profilen.",
      "err_tooLong": "Den här inmatningen är för stor att tolka.",
      "err_invalid": "Detta ser inte ut som en client-ssl- eller server-ssl-profil.",
      "protocolsHeading": "TLS-protokollversioner",
      "permitted": "tillåten",
      "disabled": "inaktiverad",
      "findingsHeading": "Säkerhetsbedömning",
      "settingsHeading": "Inställningar förklarade",
      "topoHeading": "I datavägen",
      "nodeClient": "Klient",
      "nodeBigip": "BIG-IP",
      "nodePool": "Poolmedlem",
      "clientLeg": "TLS på klientsidan",
      "serverLeg": "Serversidan",
      "thisProfile": "denna profil",
      "clientNote": "En client-ssl-profil avslutar klientens TLS i BIG-IP. Anslutningen vidare till poolmedlemmen krypteras om endast om en server-ssl-profil tillämpas; utan en sådan är det avsnittet klartext (SSL-offload).",
      "serverNote": "En server-ssl-profil låter BIG-IP öppna en ny TLS-anslutning till poolmedlemmen (omkryptering). Klientsidan hanteras av en separat client-ssl-profil."
    },
    "epoch": {
      "name": "Unix-tidsomvandlare",
      "blurb": "Skriv en Unix-tidsstämpel — sekunder, millisekunder, mikrosekunder eller nanosekunder, identifieras automatiskt — eller ett ISO-8601-datum, och läs det i alla vanliga format. Allt i din webbläsare.",
      "inputLabel": "Tidsstämpel eller datum",
      "inputPlaceholder": "1700000000  eller  2023-11-14T22:13:20Z",
      "runsLocally": "Omvandlat i din webbläsare. Inget skickas någonstans.",
      "scopeNote": "Ren datumaritmetik. Enheten härleds från talets storlek; korrigera vid behov.",
      "nowButton": "Nu",
      "errorTitle": "Kunde inte läsa det",
      "err_empty": "Ange en tidsstämpel eller ett datum för att börja.",
      "err_invalid": "Det är varken en Unix-tidsstämpel eller ett ISO-8601-datum.",
      "err_tooLong": "Denna inmatning är för lång.",
      "err_outOfRange": "Den tidsstämpeln ligger utanför det representerbara datumintervallet.",
      "utcHeading": "UTC-datum och -tid",
      "formatsHeading": "Alla format",
      "dayOfYearLabel": "dag på året",
      "relativeNote": "i förhållande till din enhets klocka"
    },
    "irules-event-order": {
      "name": "iRule-händelseordning",
      "blurb": "Välj profilstacken på en BIG-IP-virtuell server — Client-SSL, HTTP, Server-SSL, pool — och se ordningen som de vanliga iRule-händelserna utlöses i, från CLIENT_ACCEPTED till CLIENT_CLOSED, som tidslinje och lista. Allt i din webbläsare.",
      "stackLabel": "Den virtuella serverns profilstack",
      "tog_clientssl": "Client-SSL-profil",
      "tog_http": "HTTP-profil",
      "tog_serverssl": "Server-SSL-profil",
      "tog_pool": "Pool (lastbalansering)",
      "tog_fastl4": "FastL4 (paketsnabbväg)",
      "presetsLabel": "Förinställningar:",
      "preset_https": "HTTPS med omkryptering",
      "preset_offload": "SSL-avlastning",
      "preset_http": "HTTP",
      "preset_tcp": "Ren TCP",
      "runsLocally": "Beräknat i din webbläsare. Inget skickas någonstans.",
      "scopeNote": "En modell av dokumenterat F5-beteende för en Standard-virtuell server. Den kontaktar aldrig en BIG-IP.",
      "diagramHeading": "Händelsesekvens",
      "listHeading": "Händelser i ordning",
      "conditionalHeading": "Villkorliga händelser",
      "conditionalNote": "Dessa utlöses bara under särskilda villkor: en TCP::collect eller HTTP::collect, ett lastbalanseringsfel, eller ett 100 Continue-svar.",
      "sideClient": "klientsidan",
      "sideServer": "serversidan",
      "sideGlobal": "globalt"
    },
    "cert-renewal-planner": {
      "name": "Planerare för certifikatsförnyelse",
      "blurb": "Beräkna ett TLS-certifikats giltighet, om det passar in i CA/Browser Forums 47-dagarsschema, och förnyelsekadensen det medför; allt offline.",
      "notBeforeLabel": "Utfärdat (notBefore)",
      "notAfterLabel": "Upphör (notAfter)",
      "runsLocally": "Allt körs i din webbläsare; inget laddas upp.",
      "exampleLabel": "Prova ett exempel på 90 dagar",
      "summaryHeading": "Detta certifikat",
      "validity": "{days} dagars giltighet",
      "compliantBadge": "Inom gränsen",
      "overCapBadge": "Över gränsen",
      "maxForPhase": "Maximum för utfärdandedatumet: {max} dagar.",
      "overByText": "{days} dagar över maximum på {max} dagar för utfärdandedatumet; en offentlig CA skulle inte utfärda det.",
      "renewalsValue": "Ungefär {n} förnyelser per år vid denna giltighet.",
      "remainingHeading": "Enligt din enhets klocka",
      "daysRemaining": "{days} dagar tills det upphör.",
      "expiredText": "Upphörde för {days} dagar sedan.",
      "renewByText": "Förnya senast {date} (ungefär {lead} dagar före utgång)",
      "renewByDue": "om {days} dagar",
      "reuseHeading": "Återanvändning av validering (utfärdandeera)",
      "dcvText": "Domänvalideringsdata (DCV) kan återanvändas i {days} dagar.",
      "siiText": "Organisationsidentitet (OV/EV SII) kan återanvändas i {days} dagar.",
      "scheduleHeading": "SC-081v3-schemat",
      "scheduleIntro": "Offentliga TLS-maxima beror på certifikatets utfärdandedatum:",
      "colPeriod": "Utfärdat från",
      "colValidity": "Max giltighet (dagar)",
      "colDcv": "DCV-återanvändning (dagar)",
      "colSii": "SII-återanvändning (dagar)",
      "phaseP0": "Före 15 mar 2026",
      "phaseP1": "15 mar 2026",
      "phaseP2": "15 mar 2027",
      "phaseP3": "15 mar 2029",
      "yourPhase": "← detta certifikat",
      "projectionHeading": "Förnyelsebelastning vid varje gräns",
      "projectionIntro": "Förnyelser per certifikat per år, allteftersom gränserna stramas åt:",
      "perYearShort": "år",
      "note_overCap": "Denna giltighet överskrider maximum på {max} dagar för utfärdandedatumet.",
      "note_future47": "Uppfyller kraven idag, men längre än den kommande gränsen på 47 dagar; förvänta dig tätare förnyelser allteftersom schemat fortskrider.",
      "note_publicOnly": "Dessa gränser gäller endast offentligt betrodda TLS-certifikat. Privat eller intern PKI omfattas inte av SC-081v3.",
      "note_automate": "Vid dessa kadenser bör utfärdande och förnyelse automatiseras med ACME (RFC 8555) och ARI (RFC 9773); manuell förnyelse skalar inte.",
      "err_empty": "Ange båda datumen, utfärdande och utgång.",
      "err_invalidDate": "Använd ett giltigt datum (ÅÅÅÅ-MM-DD).",
      "err_order": "Utgångsdatumet måste vara efter utfärdandedatumet.",
      "err_tooLong": "Denna inmatning är för lång.",
      "err_invalid": "Kunde inte läsa de datumen."
    },
    "csr-decoder": {
      "name": "CSR-avkodare",
      "blurb": "Avkoda en PKCS#10-begäran om certifikatsignering för att läsa dess ämne, publika nyckel, begärda SAN och tillägg samt attribut; allt i din webbläsare.",
      "inputLabel": "Begäran om certifikatsignering (PEM, base64 eller hex)",
      "inputPlaceholder": "-----BEGIN CERTIFICATE REQUEST-----\n...",
      "exampleLabel": "Läs in en exempel-CSR",
      "runsLocally": "Allt körs i din webbläsare; CSR:en laddas aldrig upp.",
      "notCertNote": "En CSR är en begäran, inte ett certifikat. Den har inget serienummer, ingen utfärdare och inga giltighetsdatum; bara det som begäraren ber en CA att certifiera.",
      "subjectHeading": "Ämne",
      "colAttr": "Attribut",
      "colValue": "Värde",
      "noSubject": "Inget ämnesnamn (denna CSR bygger på begärda SAN).",
      "keyHeading": "Publik nyckel",
      "keyAlgorithmLabel": "Algoritm",
      "keySizeLabel": "Storlek",
      "keySizeValue": "{bits} bitar",
      "keyCurveLabel": "Kurva",
      "keyExponentLabel": "Exponent",
      "keyExponentValue": "{exp}",
      "requestedHeading": "Begärda tillägg",
      "sanLabel": "Subject Alternative Names",
      "keyUsageLabel": "Nyckelanvändning",
      "ekuLabel": "Utökad nyckelanvändning",
      "basicConstraintsLabel": "Grundläggande begränsningar",
      "caYes": "CA: ja",
      "caNo": "CA: nej",
      "pathLenValue": "sökvägslängd {n}",
      "noRequested": "Inga tillägg begärda.",
      "attributesHeading": "Attribut",
      "challengePasswordLabel": "Challenge-lösenord",
      "unstructuredNameLabel": "Ostrukturerat namn",
      "signatureHeading": "Självsignatur",
      "signatureAlgLabel": "Algoritm",
      "signatureBitsLabel": "Längd",
      "signatureBitsValue": "{bits} bitar",
      "versionValue": "Version: v1 ({v})",
      "derLengthValue": "DER: {bytes} byte",
      "err_empty": "Klistra in en begäran om certifikatsignering för att avkoda.",
      "err_format": "Det här ser inte ut som en CSR i PEM, base64 eller hex.",
      "err_der": "DER-strukturen kunde inte parsas.",
      "err_structure": "Detta parsas som DER men är inte en PKCS#10-certifieringsbegäran."
    },
    "oidc": {
      "name": "OIDC-avkodare",
      "blurb": "Klistra in ett OpenID Connect ID-token eller ett .well-known/openid-configuration-dokument och avkoda det: kärn-claims, profil-claims, endpoints och funktioner, med kontroller för obligatoriska claims, signeringsalgoritm, nonce och PKCE.",
      "inputLabel": "ID-token (JWT) eller openid-configuration-JSON",
      "inputPlaceholder": "Klistra in ett ID-token, eller ett OIDC-discovery-JSON-dokument",
      "runsLocally": "Avkodningen körs lokalt i din webbläsare. Den anropar aldrig jwks_uri eller någon endpoint, och inget skickas någonstans.",
      "notVerifiedNote": "Det här verktyget avkodar och förklarar. Det verifierar inte token-signaturen, hämtar inte signeringsnycklarna och kontrollerar inte utgång mot klockan.",
      "errors": {
        "empty": "Klistra in ett ID-token eller ett openid-configuration-dokument för att avkoda.",
        "malformed-json": "Detta börjar som JSON men kunde inte parsas. Kontrollera om det saknas en klammerparentes, ett kommatecken eller ett citattecken.",
        "json-not-oidc": "Detta är JSON, men inte ett OpenID Connect-discovery-dokument. Klistra in ett ID-token, eller ett .well-known/openid-configuration-dokument.",
        "not-jwt": "Detta ser inte ut som ett JWT eller ett OIDC-dokument. Klistra in ett ID-token eller ett discovery-dokument.",
        "jwt-header": "Token-headern kunde inte avkodas. Ett JWT består av tre base64url-delar åtskilda med punkter.",
        "jwt-payload": "Token-nyttolasten kunde inte avkodas som JSON."
      },
      "badges": {
        "idToken": "ID Token",
        "discovery": "Discovery",
        "signed": "Signerad",
        "unsigned": "Osignerad",
        "algNone": "alg: none",
        "algUnknown": "alg: ?"
      },
      "panels": {
        "header": "Header",
        "coreClaims": "Kärn-claims i ID-tokenet",
        "metadata": "Leverantör",
        "endpoints": "Endpoints",
        "capabilities": "Funktioner"
      },
      "categories": {
        "binding": "Token-bindning",
        "profile": "Profil-claims",
        "email": "E-post",
        "address": "Adress",
        "phone": "Telefon",
        "oauth": "OAuth / session",
        "other": "Andra claims"
      },
      "fields": {
        "alg": "Algoritm",
        "typ": "Typ",
        "kid": "Nyckel-ID",
        "iss": "Utfärdare (iss)",
        "sub": "Subjekt (sub)",
        "aud": "Målgrupp (aud)",
        "azp": "Auktoriserad part (azp)",
        "nonce": "Nonce",
        "acr": "Auth-kontext (acr)",
        "amr": "Auth-metoder (amr)",
        "authTime": "Auth-tid",
        "iat": "Utfärdad (iat)",
        "nbf": "Inte före (nbf)",
        "exp": "Går ut (exp)",
        "issuer": "Utfärdare"
      },
      "reasons": {
        "MISSING_REQUIRED_CLAIM": "Saknar obligatorisk claim {value}. Ett ID-token måste innehålla iss, sub, aud, exp och iat.",
        "ALG_NONE": "Tokenet använder alg none, vilket innebär att det är osignerat. Ett osignerat ID-token bevisar ingenting och måste avvisas.",
        "ALG_SYMMETRIC": "Signerat med {value}, en symmetrisk (HMAC) algoritm. ID-tokens från en offentlig leverantör använder normalt en asymmetrisk algoritm som RS256 eller ES256, så att relying party kan verifiera med den publika nyckeln.",
        "ALG_UNKNOWN": "Signerat med {value}, en algoritm som det här verktyget inte känner igen. Bekräfta att det är en förväntad, stark algoritm.",
        "SIGNED_ASYMMETRIC": "Signerat med {value}, en asymmetrisk algoritm. Relying party verifierar det mot leverantörens publika nyckel från JWKS.",
        "NO_NONCE": "Ingen nonce-claim. Nonce binder tokenet till autentiseringsbegäran och skyddar mot replay. Den bör finnas när begäran skickade en.",
        "MULTI_AUD_NO_AZP": "Tokenet har flera målgrupper men ingen azp (auktoriserad part). Med mer än en målgrupp bör azp namnge klienten som tokenet är avsett för.",
        "DISCOVERY_MISSING_FIELD": "Saknar obligatoriskt discovery-fält {value}.",
        "DISCOVERY_ALG_NONE": "Leverantören annonserar signeringsalgoritmen none för ID-tokens, vilket skulle tillåta osignerade tokens. Detta bör inte erbjudas.",
        "DISCOVERY_NO_PKCE": "Inget code_challenge_methods_supported. Leverantören annonserar inte PKCE, som rekommenderas för authorization code-flödet.",
        "DISCOVERY_NO_PKCE_S256": "PKCE annonseras men utan S256-metoden. S256 är den rekommenderade code challenge-metoden."
      },
      "flow": {
        "heading": "Authorization code-flöde",
        "laneRp": "Relying Party",
        "laneOp": "OpenID-leverantör",
        "s1": "Omdirigera användaren till leverantören med scope=openid",
        "s2": "Leverantören autentiserar användaren och inhämtar samtycke",
        "s3": "Leverantören omdirigerar tillbaka med en authorization code",
        "s4": "Relying party växlar in koden vid token-endpointen",
        "s5": "Leverantören returnerar ett ID-token plus ett access token",
        "s6": "Relying party validerar ID-token-signaturen mot JWKS",
        "s7": "Relying party kan anropa UserInfo med access token",
        "s8": "Leverantören returnerar användarens claims"
      }
    }
  },
  "privacy_page": {
    "eyebrow": "Integritet",
    "title": "Dina data, och vad den här webbplatsen gör med dem",
    "lede": "En redogörelse på klarspråk för exakt vad den här webbplatsen gör och inte gör med din information. Den är skriven för att vara korrekt snarare än bara lugnande, eftersom det under regelverk som GDPR och Brasiliens LGPD är den korrekta upplysningen som spelar roll.",
    "shortTitle": "Den korta versionen",
    "short1": "Den här webbplatsen sätter inga cookies, kör ingen analys, använder ingen reklam och innehåller inga tredjepartsspårare eller fingeravtryck (fingerprinting). Inget följer dig över webben.",
    "short2": "Den säljer, delar eller bygger inte profiler av sina besökare, och ber dig inte om något för att du ska läsa den.",
    "short3": "De interaktiva verktygen körs helt i din webbläsare. Det du klistrar in eller skriver i dem stannar på din enhet och överförs ingenstans.",
    "short4": "Endast tre saker rör data alls, och var och en förklaras nedan: en enda temainställning som sparas i din egen webbläsare, de standardmässiga anslutningsloggar som varje webbplatsbesök skapar på värdnivån, och varje meddelande du väljer att skicka via e-post.",
    "controllerTitle": "Vem som är ansvarig",
    "controllerBody": "Detta är Rodolfo Nützmanns personliga webbplats (ronutz.com). För alla integritetsfrågor, eller för att utöva någon av rättigheterna som beskrivs nedan, skriv till {email}. Förfrågningar hanteras direkt av Rodolfo Nützmann, i egenskap av personuppgiftsansvarig.",
    "noTrackTitle": "Inga cookies, ingen spårning, ingen analys",
    "noTrackBody": "Den här webbplatsen sätter inga cookies av något slag. Den använder ingen analystjänst (såsom Google Analytics eller Plausible), inget annonsnätverk, inga spårningspixlar för sociala medier och ingen enhetsfingeravtryck. Ditt besök mäts, profileras eller delas inte med någon för dessa ändamål.",
    "browserTitle": "Vad som lagras i din webbläsare",
    "browserBody": "En enda liten sak: ditt valda visuella tema, sparat i din webbläsares lokala lagring (local storage) så att webbplatsen kan minnas det nästa gång du besöker. Det är en bekvämlighetsinställning som stannar på din egen enhet, aldrig skickas till den här webbplatsen eller till någon annan, och kan rensas när som helst via din webbläsare. Inga andra data om dig lagras på din enhet.",
    "hostingTitle": "Värdtjänst och serverloggar",
    "hostingBody": "Webbplatsen levereras genom Cloudflare, som tillhandahåller dess värdtjänst och innehållsleverans. Som med vilken webbplats som helst innebär att ladda en sida att din enhet ansluter till en server, och Cloudflare behandlar, i egenskap av värdtjänstleverantör, grundläggande anslutningsdata – inklusive din IP-adress och vanliga begärandetaljer – för att leverera sidorna till dig och skydda webbplatsen mot missbruk och attacker. Denna behandling är nödvändig för att driva och säkra webbplatsen (ett berättigat intresse enligt Artikel 6(1)(f) i GDPR, och motsvarande grunder i Artiklarna 7 och 10 i LGPD). Den behålls endast kort av leverantören och används inte här för att identifiera eller spåra dig.",
    "toolsTitle": "Verktygen körs i din webbläsare",
    "toolsBody": "Avkodarna och kalkylatorerna på den här webbplatsen – för JWT:er, IP-adresser, certifikat och resten – beräknar helt inuti din webbläsare. Värdena du anger behandlas på din egen enhet och skickas aldrig till en server. Ett separat programmatiskt gränssnitt (ett API) erbjuds för automatisering och integrationer; det är till sin design tillståndslöst och loggar ingen av de frågor eller begärandekroppar som skickas till det.",
    "contactTitle": "Om du kontaktar mig",
    "contactBody": "Kontaktformuläret skickar inget till en server. I stället öppnar det ett förifyllt meddelande i din egen e-postapplikation, som du sedan själv skickar från ditt eget konto, så inget passerar genom en tredje part. Om du skriver, antingen via formuläret eller direkt, tar jag emot informationen du inkluderar, såsom ditt namn, din e-postadress och ditt meddelande, och använder den bara för att svara dig. Jag behåller den bara så länge som behövs för att hantera din förfrågan, använder den inte för marknadsföring och delar den inte.",
    "intlTitle": "Behandling utanför ditt land",
    "intlBody": "Eftersom Cloudflare driver ett globalt nätverk kan behandlingen på anslutningsnivå som beskrivs ovan äga rum på servrar belägna utanför ditt eget land, inklusive utanför Brasilien och Europeiska ekonomiska samarbetsområdet. Där personuppgifter behandlas internationellt på detta sätt sker det under de skyddsåtgärder som den berörda leverantören erbjuder.",
    "childrenTitle": "Barn",
    "childrenBody": "Den här webbplatsen är avsedd för en professionell, allmän publik. Den riktar sig inte till barn och samlar inte medvetet in personuppgifter från dem.",
    "rightsTitle": "Dina rättigheter",
    "rightsBody": "Beroende på var du bor har du rättigheter över dina personuppgifter, inklusive att få tillgång till dem, att få dem rättade eller raderade, att invända mot eller begränsa deras behandling, att begära en kopia i ett portabelt format och att få veta hur de hanteras. För att utöva någon av dem, skriv helt enkelt till {email}. Eftersom så få personuppgifter någonsin behandlas här finns det i praktiken oftast väldigt lite att göra, men kanalen är alltid öppen.",
    "rightsGdpr": "Om du befinner dig i Europeiska ekonomiska samarbetsområdet eller Storbritannien har du också rätt att lämna in ett klagomål till din lokala tillsynsmyndighet för dataskydd.",
    "rightsLgpd": "Om du befinner dig i Brasilien har du de rättigheter som anges i Artikel 18 i LGPD, och du kan även kontakta den nationella dataskyddsmyndigheten (ANPD).",
    "changesTitle": "Ändringar i detta meddelande",
    "changesBody": "Om detta meddelande ändras kommer den reviderade versionen att publiceras på den här sidan och datumet nedan att uppdateras. Väsentliga ändringar tillämpas inte retroaktivt.",
    "updated": "Senast uppdaterad: 30 juni 2026",
    "backHome": "Tillbaka till startsidan"
  },
  "footer": {
    "redEducation": "Boka officiell utbildning med <b>Red Education</b>",
    "privacy": "Integritet",
    "builtWith": "Byggt av Rodolfo Nützmann med CONCORD",
    "colophon": "Hur det här byggdes",
    "contribute": "Hjälp till att förbättra översättningarna",
    "feedback": "Skicka feedback",
    "api": "API-referens",
    "contributeTools": "Dela en idé",
    "license": "Licens",
    "coffee": "Bjud mig på en kaffe"
  },
  "search": {
    "kindTool": "Verktyg",
    "kindArticle": "Artikel",
    "kindPage": "Sida",
    "label": "Sök",
    "placeholder": "Sök på webbplatsen…",
    "close": "Stäng",
    "searching": "Söker…",
    "noResults": "Inga resultat för ”{query}”.",
    "unavailable": "Sökningen fungerar på den publicerade webbplatsen. Den är inte tillgänglig i lokal förhandsvisning.",
    "hint": "Skriv för att söka bland artiklar, verktyg och sidor."
  },
  "theme": {
    "label": "Tema",
    "dark": "Mörkt",
    "light": "Ljust"
  },
  "about": {
    "eyebrow": "Instruktören",
    "role": "Senior teknisk instruktör",
    "lede": "Utbildning inom nätverk och säkerhet, hållen av en yrkesperson som har tillbringat karriären på implementeringssidan, inte bara vid bildspelen. Baserad i São Paulo, undervisar i hela världen, på portugisiska och engelska.",
    "now": {
      "title": "Vad jag gör nu",
      "body": "Jag håller officiell, certifierad och instruktörsledd utbildning på fyra plattformar inom säkerhet och nätverk. Arbetet är praktiskt och labbdrivet: målet är alltid att deltagarna ska gå därifrån med förmågan att utföra uppgiften, inte bara att beskriva den. Jag har varit auktoriserad instruktör sedan 1996, och utbildning och teknisk möjliggörande har varit en del av mitt arbete sedan slutet av 1990-talet.",
      "basedLabel": "Baserad i",
      "basedValue": "São Paulo, Brasilien",
      "teachesLabel": "Undervisar",
      "teachesValue": "Instruktörsledd utbildning, virtuell och på plats, i hela världen",
      "languagesLabel": "Språk",
      "languagesValue": "Portugisiska (modersmål), engelska (flytande)"
    },
    "platforms": {
      "title": "Fyra plattformar, undervisade på djupet",
      "body": "Att vara certifierad på fyra leverantörer innebär att jag kan undervisa i var och en som det ska och jämföra dem ärligt. Det här är plattformarna som jag för närvarande är auktoriserad att hålla officiell utbildning på.",
      "f5": "BIG-IP över hela det instruktörsledda kursutbudet: LTM, DNS, Advanced WAF (ASM), APM, AFM, SSL Orchestrator, automation och felsökning.",
      "fortinet": "Certifierad Fortinet-utbildning, inklusive FCP-spåret.",
      "extreme": "Extreme Networks switching, SD-WAN, och API- och automationsspår, genom installation, konfiguration, hantering och felsökning.",
      "netskope": "Instruktörsledd utbildning om Netskope Security Cloud."
    },
    "path": {
      "title": "Vägen hit",
      "intro": "Min karriär började på leverantörs- och implementeringssidan 1996, och stannade där i två decennier innan jag ägnade mig helt åt utbildning. Den implementeringsbakgrunden är anledningen till att utbildningen når fram: jag har byggt, haft sönder och reparerat dessa system i produktion.",
      "present": "i dag",
      "cabletron": "Nätverksingenjör och certifierad instruktör. Icke-Ethernet- och Ethernet-nät, campusnät, IP-routing.",
      "riverstone": "Produktsupportingenjör och kunskapsbaskoordinator i Kalifornien. Gigabit Ethernet, storstadsnät, IP-routing, BGP. Eskalering på tredje nivån, återskapande av kundscenarier och regressionstester.",
      "cisco": "Rådgivande nätverksingenjör, som enda kontaktpunkt för nyckelkunder som SERPRO och Correios. Hantering av eskalering och kundnöjdhet.",
      "enterasys": "Nätverksingenjör och instruktör. Företagsnät, IP-routing, användaråtkomstkontroll och NAC, IDS och IPS.",
      "juniper": "Kanalsupportingenjör och instruktör för företagsswitchar och brandväggar. Teknisk försäljningsmöjliggörande och operativ Junos-SRX-utbildning.",
      "f5channel": "Kanalinriktad försäljnings- och förförsäljningsteknik för F5, med teknisk möjliggörande, genomförande av proof of concept och partnerutbildning genom distributionen.",
      "rededucation": "Auktoriserad utbildningsinstruktör som håller officiella, certifierade kurser om F5, Fortinet, Extreme Networks och Netskope för organisationer i hela världen.",
      "fullHistory": "Läs hela historien",
      "vendorsLink": "Leverantörer jag har arbetat med"
    },
    "origins": {
      "title": "Där det började",
      "body": "Före den formella karriären kom nyfikenheten. I början av 1990-talet importerade och byggde jag datorer, drev och använde elektroniska anslagstavlor (BBS), och arbetade med DOS, Unix, Linux, Netware, tidig Ethernet, X.25 och uppringt internet. År 1995 hade det praktiska arbetet blivit ett första formellt jobb: bygget av ett system för elektroniskt datautbyte. Den röda tråden från då till nu är densamma: att ta något verkligt komplext och få det att fungera, och sedan göra det begripligt för någon annan."
    },
    "approach": {
      "title": "Hur jag undervisar",
      "body": "Jag valde att specialisera mig på utbildning eftersom den förenar djup teknisk kunskap med den del av arbetet jag tycker mest om: att förklara komplexa begrepp på ett enkelt sätt. De bästa passen kopplar varje begrepp till den uppgift som deltagaren faktiskt behöver utföra, så att innehållet har någonstans att landa. Exempel från verkligheten, riktiga labbar, och fokus på förståelse framför utantillkunskap."
    },
    "cta": {
      "title": "Börja med koncepten",
      "body": "Avsnittet Lär dig förklarar idéerna bakom verktygen, och verktygen låter dig arbeta med dem direkt, allt i din webbläsare.",
      "learnButton": "Läs avsnittet Lär dig",
      "toolsButton": "Öppna verktygen"
    },
    "recognition": {
      "title": "Erkännanden",
      "body": "Utsedd till F5 DevCentral MVP tre år i rad, 2022, 2023 och 2024, för bidrag till F5:s tekniska community."
    }
  },
  "endorsements": {
    "eyebrow": "Omdömen",
    "title": "Vad människor säger, med sina egna ord.",
    "intro": "{count} rekommendationer och recensioner i sin helhet, över två decennier av undervisning och rådgivning. Inget här är omskrivet eller redigerat.",
    "provenance": "Hämtade från LinkedIn-rekommendationer, Google-recensioner och verifierade kursdeltagaromdömen från Red Education. Den ursprungliga formuleringen och stavningen är bevarade exakt som de skrevs."
  },
  "testimonials": {
    "filterLabel": "Filtrera omdömen",
    "sourceFilter": "Källa",
    "languageFilter": "Språk",
    "all": "Alla",
    "showing": "Visar {count} av {total}",
    "reply": "Svar från Red Education",
    "translateLabel": "Översättning",
    "translateOff": "Översätt till engelska",
    "translateOn": "Visar på engelska",
    "machineDisclaimer": "Maskinöversättning. Den kanske inte återger den ursprungliga formuleringen exakt.",
    "showOriginal": "Visa originalet",
    "hideOriginal": "Dölj originalet"
  },
  "history": {
    "indexTitle": "Historien",
    "indexLede": "Tre epoker, en röd tråd: att ta något verkligt komplext, få det att fungera, och sedan göra det begripligt för någon annan.",
    "eraLabel": "Epok",
    "backToHistory": "Alla epoker",
    "backToAbout": "Om",
    "readNext": "Läs vidare",
    "pre1996": {
      "years": "Före 1996",
      "title": "Nyfikenheten",
      "subtitle": "Att importera delar, bygga maskiner och koppla upp sig mot det tidiga internet, innan något av det var ett jobb.",
      "intro": "Varje teknisk karriär har ett innan. Före leverantörsmärkena och certifieringarna fanns en tonåring som plockade isär maskiner för att förstå hur de fungerade, och en ung egenföretagare som omvandlade den förståelsen till ett levebröd. Det var här instinkten som driver allt det andra formades.",
      "s1Title": "Praktiskt med hårdvara, 1991 till 1995",
      "s1Body": "Från 1991 var arbetet självständigt och praktiskt: att importera datorkomponenter från USA, bygga och sälja specialbyggda persondatorer, och installera, konfigurera och reparera dem åt vem som helst som behövde hjälp. Det var tiden då man byggde en maskin av komponenter och fick den att fungera, i stället för att köpa en färdig. Tidens system gick rakt genom dessa händer: DOS och CP/M, BASIC, Turbo Pascal, tidiga Windows och kontorsprogram, och databasverktygen som småföretag arbetade med på den tiden, Clipper och dBase.",
      "s2Title": "Näten före internet",
      "s2Body": "Nätverk började inte med webben. Långt före bredbandet var den sammanbindande väven en annan och svårare att hantera: Novell NetWare för lokala servrar, elektroniska anslagstavlor för gemenskap och filutbyte, tidiga Ethernet-nät, och tidens vidsträckta teknik, X.25 (i Brasilien känt som RENPAC) och Frame Relay. När internet till slut kom, kom det via ett modem, nått genom ett shell-konto, SLIP eller PPP. Att arbeta med allt detta innebar att förstå nätverk ända från kabeln, en förståelse som senare fick företagsnät att kännas som välbekant mark.",
      "s3Title": "BBS, phreaking och det akademiska internet",
      "s3Body": "Den verkliga nyfikenheten under den epoken sträckte sig bortom det betalda arbetet. Utforskandet under de åren omfattade att driva och använda elektroniska anslagstavlor, att meka med telefonnätet i phreaking-scenen, praktiskt UNIX, och tidig tillgång till det akademiska internet. Det var att lära genom att göra, i en gemenskap som delade kunskap eftersom det inte fanns någon annanstans att få den. Den vanan, att gräva tills något verkligen är förstått och sedan föra det vidare, har aldrig försvunnit.",
      "s4Title": "1995: det första formella jobbet",
      "s4Body": "År 1995 mynnade det självständiga arbetet ut i ett första formellt jobb. På INTELECTA, ett företag inkuberat av SEBRAE-SP, var projektet ett system för elektroniskt datautbyte för försäljning av medicinska förnödenheter och sjukhusförnödenheter, byggt på Novell NetWare-servrar och anslagstavlesystemet PCBoard. Det var ett riktigt system som löste ett riktigt affärsproblem, och det markerade punkten där hobbyn och hantverket blev ett yrke.",
      "closer": "I slutet av 1995 var grunden lagd: en person som förstod maskiner och nätverk från grundprinciperna, som lärde sig genom att bygga, och som redan hade instinkten att förklara. Allt som följde, leverantörerna, certifieringarna, klassrummen världen över, byggdes på detta."
    },
    "era19962020": {
      "years": "1996 – 2020",
      "title": "Yrkespersonen",
      "subtitle": "Två decennier inom nätverks- och säkerhetsbranschen, med att bygga, ha sönder och reparera systemen som senare blev kursinnehållet.",
      "intro": "Det här är berättelsens långa mitt, och anledningen till att utbildningen som kom senare bär tyngd. I ungefär två decennier var arbetet implementering: att designa nät, sätta dem i drift, felsöka dem under press, och vara personen som blir uppringd när något kritiskt gick sönder. Resan gick genom några av de namn som definierade nätverk, på två kontinenter.",
      "s1Title": "Cabletron och Enterasys, 1996 till 2000",
      "s1Body": "Den formella karriären började 1996 på Cabletron Systems, då en ledande leverantör av nätverksutrustning med säte i Rochester, New Hampshire. Under fyra och ett halvt år omfattade rollen fältteknik och eftermarknadssupport, systemteknik och förförsäljning, och, från 1997, certifierad utbildning. Ämnet var tidens företags-LAN och -WAN: switchar, routrar, Wi-Fi och WLAN, nätverkshantering, NAC och UAC, och brandväggar med tillståndsinspektion. År 2000 omorganiserade Cabletron sig i fyra företag, och den del som rörde denna karriär blev Enterasys Networks.",
      "s2Title": "Riverstone Networks, Santa Clara, 2000 till 2002",
      "s2Body": "Nästa kapitel utspelade sig i Kalifornien. Riverstone Networks, en avknoppning från Cabletron som byggde utrustning för storstadsnät, innebar en flytt till Santa Clara med ett H1-B1-arbetsvisum. Rollen var produktsupportingenjör på nivå III och samordnare för kunskapshantering: teknisk eskalering på tredje nivån, återskapande av kundscenarier i labb, regressionstester och felverifiering, och bygget av kunskapsbasen som resten av supporten vilade på. Teknikerna var ryggraden i operatörs- och storstadsvärlden i början av 2000-talet: Gigabit Ethernet, MPLS, storstadsswitchning och -routing, och BGP. Den här perioden gav också en formell milstolpe: som en del av visumprocessen erkände en bedömning i USA 2001 en utbildning likvärdig med en kandidatexamen i datavetenskap och en kandidatexamen i företagsekonomi.",
      "s3Title": "Cisco Systems, Brasília, 2003 till 2004",
      "s3Body": "Tillbaka i Brasilien, och anlitad genom Cisco Professional Services, förflyttades rollen mot kundrelationen i dess mest krävande form. Som high-touch operations manager och enda kontaktpunkt var arbetet hantering av kundnöjdhet i eftermarknaden för två av Brasiliens största federala myndigheter, SERPRO, statens databehandlingsmyndighet, och ECT-Correios, postväsendet. Den tekniska ytan var Catalyst-switchar och -routrar, PIX-brandväggar, och CSS-, CSM- och ACE-lastbalanserare, men det verkliga arbetet var eskaleringshantering och att hålla en kritisk nationell infrastruktur i drift utan problem.",
      "s4Title": "Enterasys igen, sedan Juniper, 2005 till 2010",
      "s4Body": "Decenniets andra hälft återvände till leverantörssidan som expert på företags-LAN. På Enterasys från 2005 låg fokus på switchar och routrar, Wi-Fi och WLAN, nätverkshantering, NAC och UAC, och intrångsdetektering och -skydd, genom lösningsdesign, implementering, granskning och utbildning. Från 2009, på Juniper Networks genom Professional Services för Latinamerika, var rollen lansering av nya produkter för den strategiska partnern Telefónica Empresas i Brasilien, med fokus på EX-switchar och SRX-brandväggar, med operativ Junos-SRX-utbildning hållen hos Level 3 och Impsat, i dag Lumen.",
      "s5Title": "Kanal- och konsultåren, 2010 till 2020",
      "s5Body": "Den här epokens sista decennium rörde sig smidigt mellan roller, alla med riktning mot instruktören som berättelsen leder fram till. Det fanns perioder som nätverks- och säkerhetsingenjör genom återförsäljare och distributörer, med fördjupad expertis inom företagsswitchning och -routing, brandväggar och nästa generations brandväggar, SSL-VPN, användaråtkomstkontroll, WAN-acceleration och internetlastbalansering över Juniper- och Cisco-lösningar. Avgörande nog omfattade den här perioden vändningen mot F5, med det inledande arbetet med F5 BIG-IP som skulle definiera åren framöver. Genom allt detta var teknisk utbildning en ständig tråd, aldrig frånvarande i någon roll.",
      "closer": "År 2020 var bilden komplett: någon som inte bara hade studerat dessa system, utan levt inuti dem i tjugo år, på leverantörssidan och på kundsidan, i design och i kris. Det är skillnaden en implementerare tar med sig in i ett klassrum. När den här personen förklarar varför en konfiguration beter sig på ett visst sätt, är det för att hen har sett den bete sig så, klockan tre på natten, med ett nationellt postväsende som väntar."
    },
    "era2020present": {
      "years": "2020 – i dag",
      "title": "Instruktören",
      "subtitle": "Teknisk utbildning på heltid, levererad i hela världen, som växer plattform för plattform.",
      "intro": "År 2020 blev en tråd som löpt genom hela karriären hela väven. Efter två decennier där undervisningen följde varje roll blev utbildningen själva arbetet: heltid, officiell, certifierad undervisning hållen för yrkespersoner och team över hela världen. Det som utmärker den här epoken är inte bara fokus, utan den medvetna, daterade expansionen genom plattformarna, var och en tillagd ovanpå djup fälterfarenhet i stället för i dess ställe.",
      "s1Title": "Heltid, av kallelse",
      "s1Body": "Sedan 2020 har arbetet bestått i att hålla officiell, instruktörsledd utbildning, på distans och på plats, på portugisiska och engelska, för publik över hela världen. Leveransen når Australien, Singapore, Indien, Centraleuropa, USA och Brasilien. Det brasilianska och tyska medborgarskapet, tillsammans med reseauktorisation för USA och Storbritannien, gör den globala räckvidden praktisk: obegränsad rätt att arbeta i Europeiska unionen och Mercosur, och friheten att åka dit klassrummet finns.",
      "s2Title": "F5, från början",
      "s2Body": "F5 har varit ankaret sedan den här epokens början, byggt på arbete med BIG-IP som sträcker sig mer än ett decennium tillbaka. Det auktoriserade kursutbudet täcker hela den instruktörsledda BIG-IP-katalogen: Local Traffic Manager, DNS, Advanced WAF, Access Policy Manager, Advanced Firewall Manager, SSL Orchestrator, BIG-IQ, iRules-utveckling, automation och felsökning, från endagskurser till fyradagarskurser. Vid sidan av undervisningen löper ett praktiskt komplement: hanterade F5 BIG-IP-labbmiljöer, så att övningen alltid har en riktig plats att äga rum på.",
      "s3Title": "Expansionen, plattform för plattform",
      "s3Body": "Det som utmärker de senaste åren är en tydlig, daterad progression. Extreme Networks-utbildning lades till från 2021, med EXOS-switchning, SD-WAN och automation. Fortinet följde från 2024, med fokus på FCP FortiGate Administrator-spåret. Netskope tillkom från 2025, med drift, administration, implementering och integration av Netskope Security Cloud. Fyra plattformar, var och en medvetet tillagd, var och en vilande på samma två decennier av nätverks- och säkerhetsimplementering under.",
      "s4Title": "Genom Red Education, ut i världen",
      "s4Body": "Det huvudsakliga fordonet för denna globala leverans är Red Education, ett auktoriserat utbildningscenter genom vilket officiella, certifierade kurser når organisationer i olika regioner. Rollen är global technical training instructor, med leverans till den sortens internationella publik som en bas i São Paulo, två pass och en genuin reslust gör möjlig. Det varaktiga samarbetet förvandlar individuell expertis till något som organisationer världen över kan boka och förlita sig på.",
      "closer": "Det är här hela historiens röda tråd ger utdelning. De första årens nyfikenhet blev fältårens implementeringsdjup, och det djupet är nu vad varje deltagare får: inte en presentatör som läser bilder, utan någon som har byggt dessa system och förklarar hur de verkligen fungerar, och varför."
    }
  },
  "vendors": {
    "indexTitle": "Leverantörer",
    "indexLede": "Nätverks- och säkerhetsföretagen vars teknik formade den här karriären, ända från kabeln. Det här är relationer ur det förflutna; plattformarna som undervisas i dag finns under Utbildning.",
    "backToVendors": "Alla leverantörer",
    "backToAbout": "Om",
    "technologies": "Tekniker",
    "role": "Roll",
    "years": "År",
    "readNext": "Nästa leverantör",
    "cabletron": {
      "name": "Cabletron och Enterasys",
      "years": "1996 – 2007",
      "tagline": "Där karriären började, och där företags-LAN lärdes från grunden.",
      "intro": "Den längsta enskilda tråden i den här historien löper genom ett företag och dess efterträdare. Cabletron Systems, en ledande leverantör av nätverksutrustning med säte i Rochester, New Hampshire, var den första arbetsgivaren, från 1996. När Cabletron omorganiserade sig i fyra företag år 2000 fortsatte linjen som Enterasys Networks, och relationen återupptogs där från 2005. Tillsammans omfattar de det formativa decenniet av expertis inom företagsnät.",
      "s1Title": "Cabletron, 1996 till 2000",
      "s1Body": "Under fyra och ett halvt år löpte rollen genom hela leverantörsteknikens båge: fältteknik och eftermarknadssupport, systemteknik och förförsäljning, och, från 1997, certifierad utbildning. Ämnet var tidens företags-LAN och -WAN: switchar och routrar, Wi-Fi och WLAN, nätverkshantering, NAC och UAC, och brandväggar med tillståndsinspektion. Det var här disciplinen lösningsdesign, implementering, granskning, felsökning och eskaleringshantering övades för första gången, och det var här undervisningen för första gången kom in i arbetet.",
      "s2Title": "Enterasys, 2005 till 2007",
      "s2Body": "Tillbaka i linjen som tjänste- och supportansvarig låg fokus på produktlinjen Secure Routing, med Enterasys som regional fokuspunkt för Brasilien. Arbetet kombinerade kundsupport på hög nivå, komplex felsökning och eskaleringshantering med lokaliserad produkthantering. Den tekniska ytan hade vuxit och omfattade nu nätverkshantering, NAC och UAC, intrångsdetektering och -skydd, och SIEM, genom företagsswitchning och -routing. Enterasys förvärvades senare av Extreme Networks 2013, och slöt en cirkel som kopplar detta tidiga arbete till en plattform som fortfarande undervisas i dag.",
      "certs": "Cabletron Systems Engineer (CSE), 1999. Enterasys Systems Engineer (ESE), 2000 och 2007. Enterasys Certified Internetworking Engineer (ECIE), 2007.",
      "lineageTitle": "Företagshärstamningen",
      "lineageDesc": "Cabletron Systems, med säte i Rochester, New Hampshire, delades upp i fyra företag år 2000: Enterasys, Riverstone, Aprisma och GNTS. Enterasys förvärvades av Extreme Networks 2013. Riverstone förvärvades av Alcatel-Lucent 2006."
    },
    "juniper": {
      "name": "NetScreen och Juniper",
      "years": "2009 – 2014",
      "tagline": "Företagsswitchningen och säkerhetsgatewayerna som växte från NetScreen till Junipers SRX-linje.",
      "intro": "Juniper Networks förvärvade NetScreen, brandväggsföretaget, 2004, och NetScreens säkerhetsteknik blev grunden för Junipers linje av säkra gatewayer. Att arbeta med båda speglar en sammanhängande härstamning: NetScreens SSG-brandväggar och SRX-gatewayerna som efterträdde dem. Relationen löpte direkt genom Juniper från 2009, och fortsatte därefter genom återförsäljarkanalen.",
      "s1Title": "Juniper Networks, 2009 till 2010",
      "s1Body": "Anlitad genom Juniper Professional Services för Brasilien var rollen lansering av nya produkter för de nyligen introducerade företagslinjerna: de säkra gatewayerna i SRX-serien och switcharna i EX-serien. Det huvudsakliga samarbetet var med den strategiska partnern Telefónica Empresas i Brasilien. Utöver förförsäljningslanseringen gav den här perioden verklig undervisning: utbildning om nätverksoperativsystemet JUNOS och driften av de säkra SRX-gatewayerna för kanalpartner och kunder, inklusive operativ utbildning för personalen vid Level 3 Communications nätdriftcenter i Brasilien och Argentina.",
      "s2Title": "Genom kanalen, 2010 till 2014",
      "s2Body": "Relationen med Juniper och NetScreen fortsatte genom systemintegratörer och återförsäljare. På CYLK omfattade arbetet utveckling av konfigurationer, proof of concept- och interoperabilitetstester, och driftsättning och felsökning i produktion över Juniper, NetScreen och F5. På TDec anslöt Juniper till en flerleverantörspraktik för konsultation och utbildning. Det praktiska produktsortimentet under dessa år var brett: EX-switchar, SRX- och NetScreen SSG-brandväggar, SA SSL-VPN, routrar i J-serien och hanterat AX Wi-Fi.",
      "certs": "Juniper Networks Sales Specialist, Enterprise Networking (JNSS-EN), 2010. Juniper Networks Sales Associate, Enterprise Networking (JNSA-EN), 2010.",
      "lineageTitle": "Säkerhetshärstamningen",
      "lineageDesc": "NetScreen, tillverkare av SSG-brandväggarna, förvärvades av Juniper Networks 2004 och blev grunden för Junipers linje av säkra SRX-gatewayer."
    },
    "riverstone": {
      "name": "Riverstone Networks",
      "years": "2000 – 2002",
      "tagline": "Två år i Santa Clara, i utkanten av operatörs- och storstadsnäten.",
      "intro": "Det enda kapitlet i den här karriären som utspelade sig helt utanför Brasilien. Riverstone Networks, en tillverkare av utrustning för storstadsnät med säte i Santa Clara, Kalifornien, innebar en flytt till USA med ett H1-B1-arbetsvisum. Riverstone hade en egen ovanlig härstamning: ursprungligen ett företag som hette Yago, förvärvat av Cabletron runt 1998, och återuppstått som ett självständigt företag genom en avknoppning 2001. Det förvärvades senare av Alcatel-Lucent 2006.",
      "s1Title": "Support på nivå III och kunskapshantering",
      "s1Body": "Rollen bar två titlar under två år: produktsupportingenjör och samordnare för kunskapshantering. Som tekniksupportspecialist på nivå III var arbetet eskalering på tredje nivån, återskapande av kundscenarier i labb, regressionstester och felverifiering. Som samordnare för kunskapshantering handlade det om att bygga och organisera kunskapsbasen som resten av supporten vilade på, vid sidan av stöd till produktmarknadsföring och intern utbildning. Det här var karriärens djupaste tekniksupportarbete, på den nivå där de svåraste problemen eskalerar.",
      "s2Title": "Storstadsnätens värld",
      "s2Body": "Teknikerna var ryggraden i operatörs- och storstadseran i början av 2000-talet: Gigabit Ethernet, MPLS, storstadsswitchning och -routing, och vidsträckt IP-routing inklusive BGP. Att arbeta i leverantörens support på tredje nivån innebar att se hur dessa system betedde sig i ytterkanterna, under förhållanden som bara framträder i produktion i stor skala. Det gav också formell undervisning: utbildning om Riverstones koncept, funktioner och konfiguration, och utbildning om problemidentifiering i kundsupport och eskaleringsförfaranden.",
      "certs": "Riverstone Certified Networking Professional (RCNP), 2001. Bedömning av utbildningsekvivalens i USA som erkänner en utbildning likvärdig med en kandidatexamen i datavetenskap och en kandidatexamen i företagsekonomi, slutförd 2001 som en del av H1-B1-visumprocessen.",
      "lineageTitle": "Företagshärstamningen",
      "lineageDesc": "Riverstone Networks började som ett företag som hette Yago, förvärvades av Cabletron Systems runt 1998, återuppstod som ett självständigt företag genom en avknoppning 2001, och förvärvades av Alcatel-Lucent 2006."
    },
    "cisco": {
      "name": "Cisco Systems",
      "years": "2003 – 2008",
      "tagline": "Att hålla en kritisk nationell infrastruktur i drift, som enda kontaktpunkt för Brasiliens federala kunder.",
      "intro": "Anlitad genom Cisco Professional Services i Brasilien var detta karriären i dess operativt mest krävande form, där arbetet handlade mindre om en enskild teknik och mer om att hålla kritiska system i drift för kunder som inte hade råd med driftstopp.",
      "s1Title": "High-touch-drift, 2003 till 2004",
      "s1Body": "Som high-touch operations manager och enda kontaktpunkt var rollen hantering av kundnöjdhet i eftermarknaden för två av Brasiliens största federala myndigheter: SERPRO, statens databehandlingsmyndighet, och ECT-Correios, postväsendet, mellan Brasília och São Paulo. Den tekniska ytan omfattade Catalyst-switchar och -routrar, PIX-brandväggar, och CSS-, CSM- och ACE-appliancer för innehåll och lastbalansering. Den verkliga disciplinen var dock eskaleringshantering och krishantering, att upprätthålla hög nöjdhet för konton där insatserna var nationella.",
      "s2Title": "Cisco-undervisning, 2007 till 2008",
      "s2Body": "Relationen med Cisco gav också formell utbildningsleverans: koncept och drift för IOS och CatOS, och koncept, drift och felsökning för nätverk på lager 2 och lager 3, i kurser över flera dagar. Detta kompletterade den djupa operativa erfarenheten med den strukturerade undervisning som senare skulle bli karriärens fulla fokus.",
      "ironportTitle": "En not vid sidan av: IronPort, 2004",
      "ironportBody": "Värt att notera med precision, och åtskilt från Cisco-arbetet: ett kort samarbete på tre månader i slutet av 2004 med IronPort Systems, då en självständig startup för e-postsäkerhetsappliancer med säte i San Bruno, Kalifornien. Arbetet var kanalutveckling och teknisk förförsäljningsrådgivning för deras e-postsäkerhetsappliancer i C-serien. Detta föregår helt Ciscos förvärv av IronPort 2007, så det var en separat relation med ett självständigt företag, inte Cisco-teknik, och nämns här bara för att företaget senare blev en del av Cisco.",
      "certs": "Cisco Certified Network Associate (CCNA), 2000 och 2005. Cisco Internetwork Troubleshooting (CIT), 2003."
    },
    "paloalto": {
      "name": "Palo Alto Networks",
      "years": "2013 – 2015",
      "tagline": "Nästa generations brandväggar, genom återförsäljarkanalen och klassrummet.",
      "intro": "En fokuserad relation kring tekniken för nästa generations brandväggar, buren genom återförsäljar- och integratörskanalen. Det här är ett samarbete ur det förflutna; Palo Alto hör inte till plattformarna som undervisas i dag, men arbetet var verkligt och certifierat.",
      "s1Title": "Kanalkonsultation och -utbildning, 2013 till 2015",
      "s1Body": "På TDec Network Group anslöt Palo Alto till en flerleverantörspraktik för konsultation och utbildning som omfattade systemteknik, lösningsarkitektur, applikationsmöjliggörande, implementering, granskningar och felsökning. Relationen fortsatte genom Cipher Security 2015 för förförsäljnings- och eftermarknadsarbete. Det tekniska fokuset låg på nästa generations brandväggar och hanteringsplattformen Panorama, kärnan i Palo Altos företagssäkerhetserbjudande vid den tiden.",
      "s2Title": "PAN-OS-undervisning",
      "s2Body": "Den här perioden omfattade formell utbildningsleverans: ett PAN-OS 6.0-bootcamp, som byggde samma praktiska, labbdrivna undervisning som definierar dagens undervisningspraktik. I kombination med certifieringarna som togs 2014 etablerade detta ett genuint djup i plattformen, även om karriärens fokus senare koncentrerades på andra tekniker.",
      "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. Obs: dessa certifieringar är historiska och underhålls inte som aktuella."
    }
  },
  "training": {
    "eyebrow": "Kurser jag håller",
    "title": "Fyra plattformar, undervisade av någon som har kört dem.",
    "intro": "Officiell, certifierad och instruktörsledd utbildning över {courses} kurser på de fyra plattformarna i hjärtat av modern nätverk och säkerhet. Varje kurs hålls av en auktoriserad instruktör, med decennier av praktisk implementering bakom undervisningen.",
    "courseCount": "{count} kurser",
    "since": "sedan",
    "representativeNote": "Den här katalogen är representativ, inte uttömmande. Kursnamn, längder och innehåll speglar aktuell offentlig information och är förfinade utifrån officiella datablad.",
    "allPlatforms": "Alla plattformar",
    "authorizedSince": "Auktoriserad instruktör sedan {year}",
    "workingSince": "Arbetar med {platform} sedan {year}",
    "tech": {
      "switchesRouters": "switchar och routrar för företag",
      "firewalls": "brandväggar",
      "webCloudSecurity": "webb- och molnsäkerhet"
    },
    "coursesHeading": "{count} kurser",
    "duration": "Längd",
    "delivery": "Leverans",
    "deliveryValue": "Virtuell eller på plats",
    "modules": "Moduler",
    "aboutCourse": "Om den här kursen",
    "tableOfContents": "Innehåll",
    "agendaPending": "En detaljerad agenda, dag för dag, läggs till utifrån kursens officiella datablad.",
    "moreFrom": "Fler {platform}-kurser",
    "requestTraining": "Boka den här utbildningen",
    "requestVia": "Levereras via {destination}"
  },
  "teach": {
    "eyebrow": "Hur jag undervisar",
    "title": "En instruktör som byggde dessa system innan han undervisade i dem.",
    "lede": "Den mesta tekniska utbildningen hålls av personer som lärde sig ämnet för att undervisa i det. Det här är tvärtom: tre decennier av att bygga, ha sönder och reparera riktiga nätverk och säkerhetssystem, destillerade till en utbildning som kopplar varje begrepp till hur det verkligen beter sig i produktion.",
    "s1Title": "Varför det här spelar roll i ett klassrum",
    "s1Body": "Det är skillnad på att förklara hur en funktion ska fungera och att förklara varför den beter sig som den gör klockan tre på natten när något kritiskt är nere. Det första kommer från en manual. Det andra kommer från att ha varit där. Sedan 1996 var arbetet implementering: att designa nät, sätta dem i drift, och vara personen som blir uppringd när de gick sönder, för leverantörer och för några av Brasiliens största organisationer. Det djupet är vad varje deltagare får, inte en presentatör som läser bilder, utan en ingenjör som har levt inuti dessa system och förklarar hur de verkligen fungerar.",
    "s2Title": "Det komplexa gjort tydligt",
    "s2Body": "Djup teknisk kunskap är nödvändig men inte tillräcklig. Den ovanligare förmågan är att översätta den: att ta något verkligt komplext, brandväggar för webbapplikationer, identitetsfederation, trafikhantering, SD-WAN, och få det att klicka för någon som stöter på det för första gången. Deltagare lyfter genomgående fram exemplen från verkligheten och den tydliga, strukturerade didaktiken, förmågan att sätta varje begrepp i sammanhanget av det arbete de faktiskt utför. Undervisningen har varit en tråd genom hela den här karriären, närvarande i nästan varje roll sedan 1997, och heltidsfokus sedan 2020.",
    "s3Title": "Praktiskt, inte luddigt",
    "s3Body": "Teknisk skicklighet byggs genom att göra, inte genom att titta. Varje kurs är uppbyggd kring praktiska labbar på riktiga system, förstärkta med hanterade labbmiljöer så att övningen alltid har en riktig plats att äga rum på. Formatet anpassas till publiken: virtuell instruktörsledd utbildning i hela världen, på plats när det passar bättre, på engelska eller portugisiska. Målet för varje pass är detsamma, att deltagarna ska gå därifrån med förmågan att utföra uppgiften, inte bara att beskriva den.",
    "s4Title": "Erkänd, certifierad och aktuell",
    "s4Body": "Undervisningen vilar på en grund av formellt erkännande. F5 DevCentral MVP tre år i rad, 2022, 2023 och 2024. F5-certifieringar hållna sedan 2015, och instruktörsauktorisation på fyra plattformar: F5, Extreme Networks, Fortinet och Netskope. Leveransen når Australien, Singapore, Indien, Centraleuropa, USA och Brasilien, genom Red Education, ett auktoriserat utbildningscenter. Kvalifikationerna spelar roll, men de är en genväg till det som finns under: ett genuint, aktuellt behärskande av tekniken.",
    "platformsTitle": "Vad jag undervisar i",
    "platformsBody": "Officiell, certifierad och instruktörsledd utbildning på fyra plattformar i hjärtat av modern nätverk och säkerhet. Var och en länkar till sin fullständiga kurskatalog.",
    "s5Title": "Bortom klassrummet",
    "s5Body": "Samma djup som ger god undervisning ger god rådgivning. Trettio år genom applikationsleverans, nätverkssäkerhet, identitet och infrastruktur, både på leverantörssidan och på kundsidan, är ett perspektiv som färdas långt bortom ett utbildningsrum, ända in i arkitekturbeslut, teknikval och de svåra problem som inte ryms i en kursplan. Undervisningen är fokus; erfarenheten bakom den finns tillgänglig för team som behöver mer än en kurs.",
    "toolsTitle": "Verktyg som beräknar, aldrig gissar",
    "toolsBody": "Vid sidan av utbildningen finns en växande uppsättning gratis, integritetsvänliga nätverks- och säkerhetsverktyg, deterministiska verktyg som körs helt i din webbläsare och aldrig skickar dina indata någonstans. Subnäts- och CIDR-beräkningar, IPv6, certifikat- och tokeninspektion, och mer, den sortens dagliga verktyg som en ingenjör i arbete sträcker sig efter. De är byggda i samma anda som undervisningen: precisa, praktiska och genuint användbara. Prova dem, ingen registrering, ingen spårning.",
    "toolsCta": "Utforska verktygen",
    "historyTitle": "Tre decennier, en röd tråd",
    "historyBody": "Från att bygga datorer som tonåring 1991, genom två decennier inom nätverks- och säkerhetsbranschen, till global undervisning på heltid sedan 2020. Hela historien är värd att läsa om du vill förstå erfarenheten bakom undervisningen.",
    "historyCta": "Läs hela historien",
    "ctaTitle": "Låt oss arbeta tillsammans",
    "ctaBody": "Vare sig det gäller att boka officiell utbildning, bygga ett skräddarsytt program för ditt team, eller ta in erfaren rådgivning för ett svårt problem, står dörren öppen.",
    "ctaButton": "Ta kontakt",
    "coursesButton": "Bläddra bland alla kurser"
  },
  "contact": {
    "title": "Ta kontakt",
    "lede": "Vare sig det gäller att boka officiell utbildning, bygga ett skräddarsytt program för ditt team, eller ta in erfaren rådgivning för ett svårt problem, hör jag gärna från dig.",
    "formHeading": "Skicka ett meddelande",
    "directHeading": "Eller hör av dig direkt",
    "formName": "Ditt namn",
    "formEmail": "Din e-post",
    "formTopic": "Vad gäller det?",
    "topicTraining": "Officiell utbildning",
    "topicCustom": "Skräddarsytt program för ett team",
    "topicAdvisory": "Rådgivning och konsultation",
    "topicOther": "Något annat",
    "formMessage": "Ditt meddelande",
    "formSend": "Skicka meddelande",
    "formSending": "Skickar…",
    "formRequired": "Fyll i ditt namn, din e-post och ett meddelande.",
    "successTitle": "Tack.",
    "successBody": "Ditt meddelande är på väg. Jag återkommer så snart jag kan.",
    "errorBody": "Något gick fel vid sändningen. Försök igen, eller skicka ett e-postmeddelande direkt.",
    "emailLabel": "E-post",
    "channels": {
      "linkedin": {
        "description": "Nätverka professionellt",
        "label": "LinkedIn"
      },
      "youtube": {
        "description": "Videor och genomgångar",
        "label": "YouTube"
      },
      "instagram": {
        "description": "Bakom kulisserna",
        "label": "Instagram"
      },
      "training": {
        "label": "Officiell utbildning",
        "description": "Boka en kurs via Red Education"
      }
    },
    "feedbackNote": "Hittade du en bugg, ett fel eller en felaktighet på sajten?",
    "feedbackLink": "Dela det på idésidan"
  },
  "certs": {
    "title": "Certifieringar och meriter",
    "lede": "Tre decennier av formella meriter inom nätverk och säkerhet. Instruktörsauktorisationerna och certifieringarna nedan är aktuella; ett fullständigt register över intjänade meriter, de flesta numera historiska, följer för den som vill ha djupet.",
    "jumpToHistorical": "Gå till det fullständiga registret",
    "credlyVerify": "Verifiera på Credly",
    "current": "Aktuell",
    "historical": "Historisk",
    "instructorTitle": "Instruktörsauktorisationer",
    "instructorIntro": "Auktoriserad att i dag hålla officiell, certifierad utbildning på var och en av dessa plattformar.",
    "currentCertsTitle": "Aktuella certifieringar",
    "recognitionTitle": "Erkännanden",
    "historicalTitle": "Det fullständiga registret",
    "historicalIntro": "Meriter intjänade under en karriär som började 1996. De flesta är historiska eller utgångna, bevarade här för det djup de representerar.",
    "verify": "Verifiera",
    "credly": "Credly",
    "certificate": "Certifikat",
    "verifyCode": "Kod",
    "candidateId": "ID"
  },
  "colophon_page": {
    "eyebrow": "Kolofon",
    "title": "Hur det här byggdes",
    "lede": "De flesta webbplatser förklarar inte sig själva. Den här gör det, för hur den gjordes är en del av vad den är: ett medvetet experiment i att bygga väl, med ovanliga medarbetare, och ett register värt att bevara.",
    "concordTitle": "CONCORD",
    "concordBody1": "Den här webbplatsen designades och byggdes genom ett protokoll som heter CONCORD: ett strukturerat samarbete mellan en person och tre olika AI-system, vart och ett i en egen roll. Det är inget trick. Det är en fungerande metod, med en egen styrning, ett eget beslutsregister, och en enda människa ansvarig för varje val som publicerades.",
    "concordBody2": "Premissen är enkel. Olika AI-modeller har olika styrkor, och ett svårt problem vinner på mer än ett perspektiv som hålls i spänning. Därför delades arbetet upp efter roll, och en person satt i mitten, gick som brygga mellan dem, ratificerade det som var gediget och förkastade det som inte var det.",
    "concordBody3": "CONCORD är inte hämtat någonstans ifrån. Det utformades av Rodolfo Nützmann för det här projektet utifrån ett praktiskt behov: hur man drar nytta av flera AI-system samtidigt, vart och ett verkligt starkt på något olika, utan att ge upp den enda tråd av mänskligt ansvar som riktigt arbete kräver. Svaret var att ge varje system ett bestämt säte, hindra dem från att förhandla sinsemellan och leda varje utbyte genom en enda person som höll hela bilden. Den ordningen har ett äldre namn. AI-systemen är agenter: de handlar på anvisning och för någon annans räkning. PRIME är huvudmannen: den som faktiskt beslutar, som utövar omdömet och som bär både följderna och namnet.",
    "concordBody4": "Det började informellt – som ett sätt att dela upp arbetet – och stelnade under bygget till en namngiven metod: fasta säten, en enda överordnad regel att inget publiceras utan att PRIME ratificerar det, och en skriftlig anteckning om varför varje beslut fattades. Namnet anger syftet: endräkt, en överenskommelse som nås med avsikt genom en process, inte vad ett oövervakat verktyg råkar frambringa.",
    "concordPrincipal": "Styrkan ligger hos agenterna. Ansvaret ligger hos huvudmannen, och det kan inte överföras.",
    "concordMechTitle": "Mekaniken, enkelt uttryckt",
    "mech1Label": "Föreslå",
    "mech1Gloss": "Varje säte lägger fram alternativ inom sitt eget område.",
    "mech2Label": "Förmedla",
    "mech2Gloss": "PRIME bär förslag mellan sätena; de förhandlar aldrig direkt.",
    "mech3Label": "Ratificera",
    "mech3Gloss": "PRIME godtar det som håller och avvisar det som inte gör det. Annars publiceras inget.",
    "mech4Label": "Avgränsa",
    "mech4Gloss": "En fast uppsättning interna regler avgränsar varje resultat, vid varje säte.",
    "mech5Label": "Registrera",
    "mech5Gloss": "En skriftlig beslutslogg bevarar resonemanget bakom varje val.",
    "mech6Label": "Minnas",
    "mech6Gloss": "Sammanhanget, de interna reglerna och den loggen består som filer, förda från en session till nästa, så att metoden överlever varje enskilt samtal.",
    "rolesTitle": "Platserna",
    "rolePrime": "PRIME",
    "rolePrimeWho": "Rodolfo Nützmann",
    "rolePrimeBody": "Den enda ratificeraren. Varje beslut, varje publicerad rad gick genom en människa som hade hela bilden och bar det slutliga ansvaret. AI:erna föreslog; PRIME avgjorde.",
    "rolePrimeModel": "Människa",
    "roleAnvil": "ANVIL",
    "roleAnvilWho": "Teknik",
    "roleAnvilBody": "Chefsingenjörens plats. Arkitektur, kod, innehållsstruktur, och själva bygget, omvandlat från avsikt till en fungerande, testad och driftsättningsbar webbplats.",
    "roleAnvilModel": "Anthropic · Claude Opus 4.8",
    "roleScout": "SCOUT",
    "roleScoutWho": "Strategi och varumärke",
    "roleScoutBody": "Strategins och positioneringens plats. Frågorna om vad det här är, för vem det är, och hur det ska presentera sig för världen.",
    "roleScoutModel": "OpenAI · ChatGPT 5.5",
    "rolePrism": "PRISM",
    "rolePrismWho": "Design",
    "rolePrismBody": "Designens plats. Det visuella språket, typografin, färgen och helhetens känsla, formade till ett sammanhängande system.",
    "rolePrismModel": "Google · Gemini 3.1 Pro",
    "seatsModelNote": "AI-modellversioner per juni 2026.",
    "principlesTitle": "Hur det gjordes",
    "principlesBody": "Några principer gällde från början till slut, och de syns om du vet var du ska titta.",
    "p1Title": "Beräkna, aldrig gissa",
    "p1Body": "Verktygen på den här webbplatsen beräknar svar lokalt och deterministiskt. De anropar ingen server med dina indata, och de approximerar inte. Det som körs i din webbläsare stannar i din webbläsare.",
    "p2Title": "Öppen i kärnan",
    "p3Title": "Dokumenterad genom konstruktion",
    "p3Body": "Varje del av kodbasen är kommenterad och dokumenterad, inte som en eftertanke utan som en stående regel. Bygget är tänkt att vara läsbart, för den som underhåller det och för den som ärver det.",
    "p4Title": "Byggd för att bestå och resa",
    "p4Body": "Webbplatsen är en statisk export: snabb, cachebar och oberoende av något vid körning. Den är uppbyggd från grunden för många språk, så att den kan tilltala en global publik utan att byggas om.",
    "stackTitle": "Stacken",
    "stackBody": "För den som bryr sig om sådant, den tekniska grunden, tydligt angiven.",
    "stackFramework": "Ramverk",
    "stackFrameworkV": "Next.js 15 och React 19, exporterade som en helt statisk webbplats",
    "stackI18n": "Internationalisering",
    "stackI18nV": "next-intl, med {count} språk och stöd för höger-till-vänster",
    "stackDesign": "Designsystem",
    "stackDesignV": "En anpassningsbar, tokenbaserad temamotor; standardtemat är Obsidian",
    "stackType": "Typografi",
    "stackTypeV": "Inter för text, JetBrains Mono för data och koder",
    "stackEngine": "Verktygsmotor",
    "stackEngineV": "Ett deterministiskt beräkningslager som körs helt i webbläsaren",
    "stackSearch": "Sökning",
    "stackSearchV": "Statisk fulltextsökning på klientsidan; ingen sökserver",
    "vibeTitle": "Är det här vibe coding?",
    "vibeBody1": "Det är en rimlig fråga, som förtjänar ett tydligt svar. Vibe coding är en term som AI-forskaren Andrej Karpathy myntade i början av 2025 för ett sätt att bygga programvara där man beskriver för en språkmodell vad man vill ha, godtar det den skriver utan att läsa det noga, och styr efter resultat snarare än efter själva koden. Han beskrev det som att ge efter för stämningen och glömma att koden ens finns, och var tydlig med att det passade bättre för snabba engångsprojekt än för system som folk är beroende av.",
    "vibeBody2": "Enligt den definitionen byggdes en del av den här webbplatsen så, och det är bättre att stå för det än att dölja det. Applikationens yta, ramverkets koppling, komponenterna, stilsättningen, rörmokeriet som håller ihop sidorna, togs fram snabbt med en AI-ingenjör och styrdes av utfall och av en fast uppsättning interna regler, inte handskriven rad för rad. För det lagret, där ett fel är synligt och lätt att rätta, var snabbheten hela poängen.",
    "vibeBody3": "De delar som betyder mest hålls mot en annan måttstock. Allt som beräknar dina data verifieras, görs inte på känsla: kärnan i varje verktyg stäms av mot den publicerade standard det implementerar, de relevanta RFC:erna och specifikationerna, och dess utdata bekräftas mot oberoende referenser innan den publiceras. Som en ofta citerad rad från programmeraren Simon Willison lyder är kod som du har granskat, testat och förstått inte vibe coding alls. Karpathy själv kallar nu den disciplinerade versionen agentic engineering: att behålla AI:ns hävstång utan att ge avkall på resultatets kvalitet. Det är den linje det här projektet drar. Snabbt där snabbhet är gratis, noggrant där det räknas, och en människa ansvarig för alltihop.",
    "closingTitle": "En not om metoden",
    "closingBody": "Att bygga programvara med AI-medarbetare är nog nytt för att det ärliga ska vara att vara öppen om det. Inget här publicerades utan att en människa bestämde att det skulle vara så. AI:erna var verktyg, dugliga verktyg, men verktyg. Omdömet, ansvaret och namnet på arbetet är mänskliga.",
    "backHome": "Tillbaka till verktygen",
    "standardsTitle": "Standarder och ramverk",
    "standardsLede": "Varje verktyg här implementerar en publicerad specifikation, inte en gissning. Avkodarna och kalkylatorerna byggs mot de dokument som definierar deras format och fästs vid de testvektorer som dokumenten publicerar, så att varje svar prövas mot sanningskällan i stället för mot sig självt.",
    "specsLabel": "Specifikationerna",
    "specsBody": "JSON Web Tokens följer RFC 7519, med signaturer och algoritmer i RFC 7515 och 7518; PKCE är RFC 7636; Base64 och dess släktingar är RFC 4648; UUID är RFC 9562 (som ersatte RFC 4122 år 2024 och har egna testvektorer); HMAC är RFC 2104, över SHA-familjen standardiserad i FIPS 180-4 och FIPS 202; X.509-certifikat är RFC 5280; IPv4 och CIDR-notationen är RFC 4632; IPv6-adressering och dess kanoniska textform är RFC 4291 och RFC 5952; och cipher suite-avkodaren drivs av det officiella IANA TLS Cipher Suites-registret, korsvis kontrollerat mot TLS 1.3- och 1.2-specifikationerna (RFC 8446 och 5246), registeruppdateringsreglerna som sätter kolumnen “Recommended” (RFC 8447) och RC4-förbudet (RFC 7465). Där ett register är auktoriteten tas dess data in direkt i stället för att skrivas av.",
    "vectorsLabel": "Referensvektorer",
    "vectorsBody": "Varje verktyg levereras med en uppsättning referensvektorer: kända indata parade med känt korrekta utdata, hämtade från relevanta RFC:er och standardiseringsorgan. De körs vid varje build, så en omstrukturering som tyst ändrar ett svar får builden att misslyckas i stället för att gå ut.",
    "owaspLabel": "OWASP",
    "owaspBody": "Säkerhetsverktygen definieras utifrån OWASP:s ramverk, inte ihopsatta på måfå. Krypto- och TLS-verktygen motsvarar områdena Cryptographic Failures och Security Misconfiguration i OWASP Top 10 och de matchande kontrollerna i Application Security Verification Standard; token-verktyget följer OWASP:s vägledning för att inspektera och validera JWT. OWASP:s prevention cheat sheets sätter också hårda regler för vad som byggs härnäst: all XML- eller SAML-hantering som läggs till här måste härdas mot XXE innan den går ut.",
    "redblueLabel": "Rött och blått",
    "redblueBody": "Samma avkoda-och-förklara som låter en red-teamer läsa ett fångat token låter en blue-teamer förstå vad den egna stacken sänder ut. Plattformen står medvetet på analyssidan av den linjen: den identifierar, avkodar, konverterar och förklarar, och går inte så långt som att förfalska, injicera eller kringgå kontroller. Den gränsen är ett designval, inte ett förbiseende; dessa verktyg finns för att lära ut och diagnostisera, inte för att bli ett vapen.",
    "localLabel": "Lokalt och deterministiskt",
    "localBody": "Allt körs i webbläsaren. Verktyget anropar en ren funktion: med samma indata ger den samma utdata, håller inget tillstånd och skickar ingenting till en server. Inga cookies, ingen analys, som integritetssidan beskriver i sin helhet.",
    "thanksTitle": "Särskilt tack",
    "p2Body": "Den deterministiska logik som varje verktyg kör är hela verktyget: det finns inget dolt serversteg, inget konto och ingen telemetri. Allt körs i din webbläsare.",
    "changelogLink": "Ändringslogg"
  },
  "support": {
    "title": "Stöd projektet",
    "lede": "De här verktygen är gratis och byggda för att förbli så. Om de sparar dig tid är du välkommen att bidra till deras underhåll. Helt frivilligt, alltid.",
    "tipHeading": "Lämna en slant",
    "tipBlurb": "Varje bidrag går direkt till att stödja verktygen och tiden som läggs på dem.",
    "zeroCommission": "0 % provision. Länkarna går direkt till leverantören; den här webbplatsen är aldrig i betalningsflödet.",
    "placeholder": "Stödalternativ håller på att ställas in och visas här snart."
  },
  "admin": {
    "eyebrow": "Admin",
    "title": "Webbplatskontroll",
    "lede": "Kontrollytan för den här webbplatsens valfria funktioner och inställningar.",
    "previewBanner": "Förhandsvisningsställning. På den statiska webbplatsen visar de här kontrollerna en förhandsvisning av administrationsytan; den direkta styrningen aktiveras med tjänstelagret. Ändringar här sparas inte.",
    "featuresTitle": "Funktioner",
    "flagRequestTraining": "Boka den här utbildningen",
    "flagRequestTrainingDesc": "Lead-genereringens CTA på kurs- och plattformssidorna.",
    "flagTipJar": "TipJar",
    "flagTipJarDesc": "Stödlänkar till skaparen på stödsidan.",
    "flagToolFunding": "Verktygsfinansiering",
    "flagToolFundingDesc": "Stödgränssnittet per verktyg.",
    "flagToolProvenance": "Verktygshärkomst",
    "flagToolProvenanceDesc": "Panelen med tack och källor per verktyg.",
    "routingTitle": "Lead-dirigering",
    "routingDefaultLabel": "Globalt standardval",
    "routingNoOverrides": "Inga åsidosättanden per plattform eller kurs konfigurerade.",
    "contactTitle": "Kontakt",
    "contactEmailLabel": "E-post",
    "contactFormLabel": "Formulärsändning",
    "formMailto": "Mailto-reserv (ingen backend)",
    "formEndpoint": "Skickar till endpoint",
    "tipJarTitle": "TipJar-leverantörer",
    "tipConfigured": "Konfigurerad",
    "tipNotConfigured": "Inte konfigurerad",
    "on": "På",
    "off": "Av",
    "accessTitle": "Åtkomstkontroll",
    "accessNote": "Endast dessa federerade identiteter får ha administratörsåtkomst. Tillämpas på serversidan av tjänstelagret; den statiska webbplatsen autentiserar inte.",
    "accessFederatedOnly": "Endast federerad inloggning. Ingen reserv med lokalt konto.",
    "accessRoleLabel": "Roll",
    "accessPermsLabel": "Ägarbehörigheter"
  },
  "machineTranslation": {
    "notice": "Den här sidan har maskinöversatts och kan innehålla fel.",
    "cta": "Hjälp till att förbättra"
  },
  "contribute": {
    "eyebrow": "Översättningar",
    "title": "Hjälp till att förbättra översättningarna",
    "lede": "Alla språk här utom engelska är ett maskingjort första utkast. Om du talar något av dem och märker något fel eller klumpigt är dina rättelser mycket välkomna. Så här skickar du dem.",
    "howTitle": "Så bidrar du",
    "howBody": "Engelska är källan till sanning, och alla andra språk översätts från den, så fel kan förekomma. Varje språkpaket är en enda textfil med märkta fraser. Ladda ner det du vill förbättra, ändra bara texten efter varje etikett och lämna etiketterna och allt inom klamrar precis som det är. Mejla sedan den redigerade filen och ange språket. Varje bidrag granskas för hand.",
    "downloadHeading": "Språkpaket",
    "referenceTag": "referens",
    "emailHeading": "Skicka ditt bidrag",
    "backHome": "Tillbaka till verktygen"
  },
  "api": {
    "title": "API",
    "lede": "Verktygen på den här webbplatsen körs i din webbläsare och håller dina data på din enhet. För automatisering – skript, pipelines och integrationer – finns samma deterministiska beräkningar tillgängliga som ett litet HTTP-API. Det är den programmatiska motsvarigheten till webbläsarverktygen, inte en ersättning för dem.",
    "privacyTitle": "Vad detta betyder för dina data",
    "privacyBody": "API:et tar bara emot den indata du skickar, beräknar ett resultat och returnerar det. Det är tillståndslöst och loggar inga frågevärden eller begärandekroppar. Om du behöver garanterat noll datautflöde, använd webbläsarverktygen eller kör den öppna motorn själv.",
    "engineTitle": "Samma motor som webbläsaren",
    "specTitle": "Specifikationen",
    "specBody": "Hela kontraktet publiceras som OpenAPI 3.1. Ladda ner det, rikta dina egna verktyg mot det eller läs referensen nedan.",
    "downloadSpec": "Ladda ner openapi.yaml",
    "baseUrlLabel": "Bas-URL",
    "authLabel": "Autentisering",
    "authValue": "Ingen. Detta är ett offentligt, skrivskyddat API.",
    "referenceTitle": "Referens",
    "loading": "Laddar specifikationen.",
    "loadError": "Specifikationen kunde inte laddas.",
    "tryItTitle": "Prova det",
    "tryItSend": "Skicka",
    "tryItRunning": "Kör.",
    "tryItHint": "Körs mot det live-API:et på denna origin. Din indata skickas till slutpunkten.",
    "paramsTitle": "Parametrar",
    "responsesTitle": "Svar",
    "schemasTitle": "Scheman",
    "exampleLabel": "Exempel",
    "requiredLabel": "obligatorisk",
    "fieldLabel": "Fält",
    "typeLabel": "Typ",
    "descriptionLabel": "Beskrivning",
    "viewReference": "Referens",
    "viewSwagger": "Swagger UI",
    "swaggerLoadError": "Swagger UI kunde inte laddas.",
    "engineBody": "Varje endpoint kör samma rena funktion som verktyget i webbläsaren, så API:et och webbläsaren returnerar byte-identiska resultat."
  },
  "license_page": {
    "eyebrow": "Villkor",
    "title": "Licens",
    "closedHeading": "Sluten källkod – den här webbplatsen",
    "closedBody": "Själva webbplatsen är sluten källkod. Dess design, gränssnitt, skrivna innehåll (inklusive varje Learn-artikel), varumärke och det särskilda sättet som dessa verktyg sätts samman och presenteras på här är skyddat, med ensamrätt. Inget tillstånd ges att kopiera, mångfaldiga, ändra, vidaredistribuera eller skapa härledda verk av webbplatsen eller dess innehåll utan föregående skriftligt medgivande.",
    "contact": "Frågor om licensen? <a>Hör av dig.</a>",
    "backHome": "Tillbaka till verktygen",
    "thirdHeading": "Komponenter med öppen källkod",
    "lede": "ronutz.com är ett proprietärt verk, med ensamrätt. Dessa villkor omfattar webbplatsen och dess innehåll. Webbplatsen bygger på programvara med öppen källkod, som används och vidaredistribueras enligt sina egna licensvillkor, angivna nedan.",
    "thirdBody": "Den här webbplatsen vilar på arbete med öppen källkod. Själva webbplatsen är byggd med Next.js och React och levereras som en statisk export; internationaliseringen använder next-intl; Learn-innehållet renderas med next-mdx-remote, gray-matter, remark-gfm och js-yaml; och sökningen drivs av Pagefind. Dessa komponenter tillhandahålls under MIT License, utom next-mdx-remote (Mozilla Public License 2.0). API-referensen bäddar in Swagger UI under Apache License 2.0. Varje komponent förblir under sin egen licens, och de fullständiga meddelandena levereras tillsammans med källkoden."
  },
  "contributeIdeas": {
    "eyebrow": "Idéer välkomna",
    "title": "Dela en idé",
    "lede": "Den här verktygslådan är byggd för att växa, och den tydligaste signalen om vart den bör gå kommer från dem som använder den. Har du hittat en bug, ett fel eller en felaktighet? Saknar du ett verktyg som inte finns här än? Ser du ett bättre sätt att hantera något, eller ett resultat du skulle formulera annorlunda? Skicka det; alla slags synpunkter är välkomna.",
    "sendTitle": "Vad du kan skicka",
    "sendBody": "Buggar, fel och felaktigheter av alla slag: ett verktyg som beter sig fel, ett felaktigt resultat, ett fel i en Learn-artikel, eller bara något som ser snett ut. Funktionsönskemål för verktyg som redan finns. Idéer till nya verktyg som lådan borde ha. Rättelser och tillägg till Learn-artiklarna, som en tydligare förklaring, en bättre källa, eller ett ämne som saknas. Eller bara en annan vinkel på ett problem. Grovt går bra; en mening räcker för att starta ett samtal.",
    "toolTitle": "Om du föreslår ett nytt verktyg",
    "toolBody": "Verktygen här är små, självbeskrivande moduler: ett manifest som säger vad verktyget är och varifrån dess korrekthet kommer, en ren funktion som gör jobbet, och en uppsättning golden vectors, de fasta in- och utdataparen som bevisar det. En bra kandidat räknar lokalt och deterministiskt (samma indata ger alltid samma utdata, utan klocka, nätverk eller slump i resultatet), håller allt känsligt på enheten, och förankrar sin korrekthet i en citerad källa som en RFC snarare än i en åsikt. Du behöver inte bygga något av det för att föreslå ett: beskriv bara vad det ska beräkna, ett exempel, och källan det vilar på.",
    "fitRule": "Ett enkelt test avgör. Varje verktyg här körs helt i din webbläsare och skickar ingenting någonstans, så ett nytt verktyg måste vara något en dator kan räkna ut enbart utifrån det du skriver, genom att följa en fast, publicerad regel. Om det måste gå online, slå upp något i realtid, logga in dig eller komma ihåg dig, hör det inte hemma här.",
    "fitYes": "Passar:",
    "fitYesBody": "avkoda eller förklara något du klistrar in (en token, ett certifikat, en konfiguration, kommandoutdata), konvertera mellan format, beräkna utifrån en standard eller formel, eller generera utifrån en regel, som ett UUID, en hash eller en kommandorad.",
    "fitNo": "Passar inte:",
    "fitNoBody": "allt som måste gå online eller kontrollera något i realtid (testa en riktig webbplats, fråga en live-DNS-server, skanna en adress), allt som kräver ett konto, en inloggning eller sparade data, eller allt vars svar inte är fastställt av en publicerad standard.",
    "fitUnsure": "Osäker på vilken sida din idé hamnar på? Skicka den ändå och beskriv vad den ska göra. Jag säger ärligt om den passar, och varför.",
    "emailTitle": "Så når du mig",
    "emailBody": "E-post är kanalen. Berätta vad du hittade eller vad du önskar, med tillräckligt med detaljer för att agera: ett exempel, en länk, den exakta formuleringen, vad som passar. Om det gör verktygslådan bättre byggs det.",
    "emailLabel": "E-post",
    "backToTools": "Tillbaka till verktygslådan"
  },
  "languageStatus": {
    "title": "Översättningsstatus",
    "reviewed": "Granskad av en människa",
    "complete": "Maskinell, fullständig",
    "partial": "Maskinell, pågår",
    "explainTitle": "Hur översättningar märks",
    "explainBody": "Engelska och brasiliansk portugisiska skrivs och granskas av en person. De flesta andra språk är maskinöversatta och märkta efter hur långt de har kommit: bärnstensgul när ett språk täcker hela webbplatsen, gul medan nyare innehåll fortfarande är på engelska och håller på att komma ikapp. Språk markerade med rött har ännu ingen översättning och visas på engelska tills vidare. Maskinöversatta sidor har också en kort notis, och du är välkommen att hjälpa till att förbättra dem.",
    "stub": "Inte översatt ännu"
  },
  "changelog": {
    "eyebrow": "Ändringslogg",
    "title": "Vad är nytt",
    "lede": "En löpande förteckning över nya verktyg, nya Learn-artiklar och viktiga ändringar på den här webbplatsen. Det finns {count} verktyg tillgängliga i dag.",
    "kindLaunch": "Lansering",
    "kindTool": "Nytt verktyg",
    "kindFeature": "Funktion",
    "kindI18n": "Lokalisering",
    "kindContent": "Innehåll",
    "kindInfra": "Infrastruktur"
  }
}
