# German translation of Basic Firewall (1.0.0-beta2)
# Copyright (c) 2026 by the German translation team
#
msgid ""
msgstr ""
"Project-Id-Version: Basic Firewall (1.0.0-beta2)\n"
"POT-Creation-Date: 2026-09-26 14:32+0000\n"
"PO-Revision-Date: YYYY-mm-DD HH:MM+ZZZZ\n"
"Language-Team: German\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"

msgid "Body"
msgstr "Textkörper"
msgid "Status"
msgstr "Status"
msgid "Delete"
msgstr "Löschen"
msgid "Operations"
msgstr "Aktionen"
msgid "Value"
msgstr "Wert"
msgid "Username"
msgstr "Benutzername"
msgid "Item"
msgstr "Element"
msgid "Type"
msgstr "Typ"
msgid "yes"
msgstr "Ja"
msgid "Subject"
msgstr "Betreff"
msgid "Cancel"
msgstr "Abbrechen"
msgid "Remove"
msgstr "Entfernen"
msgid "Disabled"
msgstr "Deaktiviert"
msgid "Enabled"
msgstr "Aktiviert"
msgid "unknown"
msgstr "unbekannt"
msgid "Requested"
msgstr "Angefordert"
msgid "Logging"
msgstr "Protokollierung"
msgid "Version"
msgstr "Version"
msgid "Edit"
msgstr "Bearbeiten"
msgid "Size"
msgstr "Größe"
msgid "Test"
msgstr "Test"
msgid "Message"
msgstr "Benachrichtigung"
msgid "Response"
msgstr "Antwort"
msgid "Password"
msgstr "Passwort"
msgid "Weight"
msgstr "Gewichtung"
msgid "Variable"
msgstr "Variable"
msgid "none"
msgstr "keine"
msgid "Category"
msgstr "Kategorie"
msgid "Name"
msgstr "Name"
msgid "Label"
msgstr "Beschriftung"
msgid "Summary"
msgstr "Zusammenfassung"
msgid "Format"
msgstr "Format"
msgid "never"
msgstr "nie"
msgid "Theme"
msgstr "Theme"
msgid "name"
msgstr "Name"
msgid "Unknown"
msgstr "Unbekannt"
msgid "Email"
msgstr "E-Mail"
msgid "Error"
msgstr "Fehler"
msgid "no"
msgstr "Nein"
msgid "days"
msgstr "Tag(e)"
msgid "Points"
msgstr "Punkte"
msgid "Date format"
msgstr "Datumsformat"
msgid "Block"
msgstr "Block"
msgid "Host"
msgstr "Host"
msgid "Allowed"
msgstr "Erlaubt"
msgid "Never"
msgstr "Nie"
msgid "Out of date"
msgstr "Veraltet"
msgid "Score"
msgstr "Punktzahl"
msgid "Location"
msgstr "Ort"
msgid "Variable name"
msgstr "Variablenname"
msgid "Global settings"
msgstr "Globale Einstellungen"
msgid "Contains"
msgstr "Enthält"
msgid "Add condition"
msgstr "Bedingung hinzufügen"
msgid "Conditions"
msgstr "Bedingungen"
msgid "Mode"
msgstr "Modus"
msgid "Normal"
msgstr "Normal"
msgid "Advanced"
msgstr "Erweitert"
msgid "Cache directory"
msgstr "Cache-Verzeichnis"
msgid "Address"
msgstr "Adresse"
msgid "General"
msgstr "Allgemein"
msgid "Method"
msgstr "Methode"
msgid "Security"
msgstr "Sicherheit"
msgid "Role"
msgstr "Rolle"
msgid "Allow"
msgstr "Zulassen"
msgid "Destination"
msgstr "Ziel"
msgid "Channel"
msgstr "Kanal"
msgid "Provider"
msgstr "Anbieter"
msgid "Operator"
msgstr "Operator"
msgid "Pattern"
msgstr "Muster"
msgid "Send to"
msgstr "Senden an"
msgid "Level"
msgstr "Ebene"
msgid "Expires"
msgstr "Läuft ab"
msgid "Defaults"
msgstr "Standards"
msgid "Postal code"
msgstr "Postleitzahl"
msgid "Latitude"
msgstr "Breitengrad"
msgid "Longitude"
msgstr "Längengrad"
msgid "Add rule"
msgstr "Regel hinzufügen"
msgid "Condition"
msgstr "Bedingung"
msgid "Delete rule"
msgstr "Regel löschen"
msgid "Rules"
msgstr "Regeln"
msgid "Database name"
msgstr "Datenbankname"
msgid "Port"
msgstr "Port"
msgid "Regular expression"
msgstr "Regulärer Ausdruck"
msgid "seconds"
msgstr "Sekunden"
msgid "Syslog"
msgstr "Systemprotokoll"
msgid "API key"
msgstr "API-Key"
msgid "Secret key"
msgstr "Geheimer Schlüssel"
msgid "Result"
msgstr "Ergebnis"
msgid "Source"
msgstr "Quelle"
msgid "Expired"
msgstr "Abgelaufen"
msgid "Limit"
msgstr "Begrenzung"
msgid "Query"
msgstr "Abfrage"
msgid "Exempt roles"
msgstr "Ausgenommene Rollen"
msgid "Negate"
msgstr "Negieren"
msgid "Notice"
msgstr "Hinweis"
msgid "Info"
msgstr "Info"
msgid "Blocked"
msgstr "Gesperrt"
msgid "Reference"
msgstr "Referenz"
msgid "Rule ID"
msgstr "Regel-ID"
msgid "Match type"
msgstr "Übereinstimmungstyp"
msgid "Scoring"
msgstr "Wertung"
msgid "Driver"
msgstr "Treiber"
msgid "Match"
msgstr "Übereinstimmung"
msgid "Missing"
msgstr "Fehlt"
msgid "Storage"
msgstr "Speicher"
msgid "high"
msgstr "hoch"
msgid "Reason"
msgstr "Grund"
msgid "URI"
msgstr "URI"
msgid "Headers"
msgstr "Kopfzeilen"
msgid "Client"
msgstr "Client"
msgid "Language code"
msgstr "Sprachkürzel"
msgid "Not configured"
msgstr "Nicht konfiguriert"
msgid "Detail"
msgstr "Details"
msgid "Log only"
msgstr "Nur Protokollieren"
msgid "Preset"
msgstr "Voreinstellung"
msgid "Rebuild"
msgstr "Neu aufbauen"
msgid "Edit rule"
msgstr "Regel bearbeiten"
msgid "Unblock"
msgstr "Entsperren"
msgid "Case sensitive"
msgstr "Groß-/Kleinschreibung beachten"
msgid "User agent"
msgstr "User-Agent"
msgid "- Select -"
msgstr "- Auswählen -"
msgid "Save rule"
msgstr "Regel speichern"
msgid "Formatter"
msgstr "Anzeigeformat"
msgid "Rule"
msgstr "Regel"
msgid "Current state"
msgstr "Aktueller Status"
msgid "Presets"
msgstr "Voreinstellungen"
msgid "IP addresses"
msgstr "IP-Adressen"
msgid "City name"
msgstr "Ort"
msgid "IP address"
msgstr "IP-Adresse"
msgid "Light"
msgstr "Hell"
msgid "Not writable"
msgstr "Nicht beschreibbar"
msgid "Path pattern"
msgstr "Pfadmuster"
msgid "Backend"
msgstr "Backend"
msgid "Site key"
msgstr "Website-Schlüssel"
msgid "View details"
msgstr "Details anzeigen"
msgid "Compact"
msgstr "Kompakt"
msgid "Available variables"
msgstr "Verfügbare Variablen"
msgid "Rule type"
msgstr "Regeltyp"
msgid "Log file"
msgstr "Protokolldatei"
msgid "Search in"
msgstr "Suchen in"
msgid "Connection"
msgstr "Verbindung"
msgid "available"
msgstr "Verfügbar"
msgid "Emergency"
msgstr "Notfall"
msgid "Alert"
msgstr "Alarm"
msgid "Critical"
msgstr "Kritisch"
msgid "Status code"
msgstr "Statuscode"
msgid "Action name"
msgstr "Aktionsname"
msgid "Request method"
msgstr "Abfragemethode"
msgid "Delivery"
msgstr "Lieferung"
msgid "Minimum score"
msgstr "Minimale Punktzahl"
msgid "Syslog facility"
msgstr "Syslog Ursprung"
msgid "Administrative label"
msgstr "Administrative Beschriftung"
msgid "Exact"
msgstr "Genau"
msgid "Minimum severity"
msgstr "Minimaler Schweregrad"
msgid "Cookies"
msgstr "Cookies"
msgid "Dark"
msgstr "Dunkel"
msgid "Geolocation"
msgstr "Geographische Koordinaten"
msgid "in @time"
msgstr "in @time"
msgid "Window"
msgstr "Fenster"
msgid "File storage"
msgstr "Dateispeicherplatz"
msgid "Verification timeout"
msgstr "Zeitfenster für Verifizierung"
msgid "Blocked by"
msgstr "Gesperrt von"
msgid "Port number"
msgstr "Portnummer"
msgid "Storage backend"
msgstr "Speicher-Backend"
msgid "Request path"
msgstr "URL-Pfad"
msgid "HTTP status code"
msgstr "HTTP-Statuscode"
msgid "Operating mode"
msgstr "Betriebsart"
msgid "Weight for @label"
msgstr "Gewichtung für @label"
msgid "Rate limit"
msgstr "Ratenbegrenzung"
msgid "Webhook URL"
msgstr "Webhook-URL"
msgid "Google reCAPTCHA"
msgstr "Google reCAPTCHA"
msgid "Path patterns"
msgstr "Pfadmuster"
msgid "Send from"
msgstr "Senden von"
msgid "Path or URL"
msgstr "Pfad oder URL"
msgid "Window (seconds)"
msgstr "Fenster (Sekunden)"
msgid ""
"Challenge provider options were moved under a per-provider key, so the "
"new Turnstile and reCAPTCHA providers can hold their own settings."
msgstr ""
"Die Optionen für Challenge-Anbieter wurden unter einem Schlüssel pro "
"Anbieter verschoben, sodass die neuen Turnstile- und "
"reCAPTCHA-Anbieter ihre eigenen Einstellungen beibehalten können."
msgid "ALTCHA options"
msgstr "ALTCHA-Optionen"
msgid "Cloudflare Turnstile options"
msgstr "Cloudflare-Drehkreuzoptionen"
msgid "Turnstile site key"
msgstr "Drehkreuz-Standortschlüssel"
msgid "Turnstile secret key"
msgstr "Geheimer Drehkreuzschlüssel"
msgid "Verification timeout in seconds"
msgstr "Überprüfungs-Timeout in Sekunden"
msgid "What to do when verification cannot be reached"
msgstr "Was tun, wenn die Verifizierung nicht möglich ist?"
msgid "Forward the client IP to Cloudflare"
msgstr "Leiten Sie die Client-IP an Cloudflare weiter"
msgid "Google reCAPTCHA options"
msgstr "Google reCAPTCHA-Optionen"
msgid "reCAPTCHA version"
msgstr "reCAPTCHA-Version"
msgid "Widget theme, v2 only"
msgstr "Widget-Theme, nur Version 2"
msgid "Widget size, v2 only"
msgstr "Widget-Größe, nur v2"
msgid "Minimum passing score, v3 only"
msgstr "Mindestpunktzahl zum Bestehen, nur Version 3"
msgid "Action name bound to the token, v3 only"
msgstr "Aktionsname, der an das Token gebunden ist, nur v3"
msgid "Forward the client IP to Google"
msgstr "Leiten Sie die Client-IP an Google weiter"
msgid "Serve and verify via recaptcha.net instead of google.com"
msgstr ""
"Über recaptcha.net statt über google.com bereitstellen und "
"überprüfen"
msgid ""
"<em>math</em> and <em>altcha</em> run entirely on this site and ask no "
"third party anything: <em>math</em> is proof of effort that stops "
"naive scripts and nothing more, and <em>altcha</em> makes the browser "
"do real work per solve. <em>turnstile</em> and <em>recaptcha</em> are "
"verified by Cloudflare and Google respectively, which buys much "
"stronger bot detection in exchange for an account, a pair of keys, an "
"outbound request while the visitor waits, and the visitor’s browser "
"contacting another origin."
msgstr ""
"<em>math</em> und <em>altcha</em> laufen vollständig auf dieser "
"Website und verlangen von Dritten nichts: <em>math</em> ist ein Beweis "
"für den Aufwand, der naive Skripte und nichts weiter stoppt, und "
"<em>altcha</em> sorgt dafür, dass der Browser pro Lösung echte "
"Arbeit leistet. <em>turnstile</em> und <em>recaptcha</em> werden von "
"Cloudflare bzw. Google verifiziert, die eine viel stärkere "
"Bot-Erkennung im Austausch für ein Konto, ein Schlüsselpaar, eine "
"ausgehende Anfrage, während der Besucher wartet, und die "
"Kontaktaufnahme des Browsers des Besuchers mit einem anderen Ursprung "
"erkauft."
msgid ""
"A fully qualified class implementing "
"<code>Kanopi\\Firewall\\Challenge\\ChallengeProviderInterface</code>, "
"for a service the library does not ship — hCaptcha, for instance. "
"The constructor signature is fixed by the library: it receives the "
"shared token manager and an options array."
msgstr ""
"Eine vollständig qualifizierte Klasse, die "
"<code>Kanopi\\Firewall\\Challenge\\ChallengeProviderInterface</code> "
"für einen Dienst implementiert, den die Bibliothek nicht bereitstellt "
"– zum Beispiel hCaptcha. Die Konstruktorsignatur wird von der "
"Bibliothek festgelegt: Sie empfängt den Shared-Token-Manager und ein "
"Optionsarray."
msgid "site key"
msgstr "Site-Schlüssel"
msgid ""
"Enter the @label. @provider cannot start without it, and a challenge "
"provider that cannot start leaves the whole firewall switched off."
msgstr ""
"Geben Sie @label ein. @provider kann ohne ihn nicht starten, und ein "
"Challenge-Anbieter, der nicht starten kann, lässt die gesamte "
"Firewall ausgeschaltet."
msgid ""
"This challenge is set to let visitors through when verification cannot "
"be reached. An outage at the verification service, or anything "
"blocking outbound requests from this server, switches the challenge "
"off rather than taking the page down — and while it lasts, every "
"visitor passes unverified."
msgstr ""
"Diese Herausforderung soll Besucher durchlassen, wenn die "
"Verifizierung nicht möglich ist. Ein Ausfall des "
"Verifizierungsdienstes oder irgendetwas, das ausgehende Anfragen von "
"diesem Server blockiert, schaltet die Herausforderung aus, anstatt die "
"Seite herunterzufahren – und solange dies andauert, passiert jeder "
"Besucher ungeprüft."
msgid "Enter a minimum score between 0 and 1."
msgstr "Geben Sie eine Mindestpunktzahl zwischen 0 und 1 ein."
msgid ""
"A minimum score of 0 accepts every visitor reCAPTCHA reports on, "
"whatever it thinks of them, which makes the challenge decorative."
msgstr ""
"Eine Mindestpunktzahl von 0 akzeptiert jeden Besucher, über den "
"reCAPTCHA berichtet, was auch immer er von ihm denkt, was die "
"Herausforderung dekorativ macht."
msgid ""
"Enter an action name. Without one the challenge accepts any reCAPTCHA "
"v3 token minted anywhere on this site."
msgstr ""
"Geben Sie einen Aktionsnamen ein. Ohne einen solchen akzeptiert die "
"Challenge jeden reCAPTCHA v3-Token, der irgendwo auf dieser Website "
"geprägt wurde."
msgid ""
"Create a widget in the Cloudflare dashboard under Turnstile to get the "
"pair of keys. The site key is public and appears in the page; the "
"secret key is not and is used only server side."
msgstr ""
"Erstellen Sie im Cloudflare-Dashboard unter Turnstile ein "
"Steueelement, um das Schlüsselpaar zu erhalten. Der Site-Schlüssel "
"ist öffentlich und erscheint auf der Seite; Der geheime Schlüssel "
"ist nicht vorhanden und wird nur serverseitig verwendet."
msgid "Follow the visitor’s system setting"
msgstr "Die Systemeinstellungen des Besuchers befolgen."
msgid ""
"Register a site in the Google reCAPTCHA admin console to get the pair "
"of keys. The keys are version specific: a v2 key does not work on v3, "
"and choosing the wrong one here fails every visitor."
msgstr ""
"Registrieren Sie eine Website in der Google "
"reCAPTCHA-Administratorkonsole, um das Schlüsselpaar zu erhalten. Die "
"Schlüssel sind versionenspezifisch: Ein v2-Schlüssel funktioniert "
"nicht auf v3, und die Auswahl des falschen Schlüssels schlägt bei "
"jedem Besucher fehl."
msgid "v2 — the \"I am not a robot\" checkbox"
msgstr "v2 – das Kontrollkästchen „Ich bin kein Roboter“."
msgid "v3 — invisible, scores the visitor instead of asking anything"
msgstr "v3 – unsichtbar, bewertet den Besucher, anstatt etwas zu fragen"
msgid ""
"v2 unless you have a reason otherwise. v3 never asks the visitor for "
"anything, which sounds strictly better and is not: it returns a score, "
"and a real person who scores below your threshold has no puzzle to "
"solve and no retry that helps. On a route people actually need, that "
"is a lockout with no way out."
msgstr ""
"v2, es sei denn, Sie haben einen anderen Grund. v3 fragt den Besucher "
"nie nach irgendetwas, was grundsätzlich besser klingt, es aber nicht "
"ist: Es gibt einen Punktestand zurück, und eine echte Person, deren "
"Punktestand unter Ihrem Schwellenwert liegt, muss kein Rätsel lösen "
"und keinen erneuten Versuch machen, der hilft. Auf einem Weg, den die "
"Leute tatsächlich brauchen, ist das eine Aussperrung ohne Ausweg."
msgid "Minimum passing score"
msgstr "Mindestpunktzahl zum Bestehen"
msgid ""
"Between 0.0 and 1.0. Google suggests 0.5, but pick it from your own "
"traffic rather than from the documentation — this number is the "
"whole accept or reject decision on v3. 0 accepts everyone, which makes "
"the challenge decorative."
msgstr ""
"Zwischen 0,0 und 1,0. Google schlägt 0,5 vor, aber wählen Sie ihn "
"aus Ihrem eigenen Datenverkehr und nicht aus der Dokumentation – "
"diese Zahl ist die gesamte Annahme- oder Ablehnungsentscheidung für "
"Version 3. 0 akzeptiert jeden, was die Herausforderung dekorativ "
"macht."
msgid ""
"Minted into the token and required back unchanged. A v3 token comes "
"from the site key rather than from a page, so without this check a "
"token from any other reCAPTCHA v3 call on the site — a search box, a "
"newsletter signup — would satisfy this challenge too."
msgstr ""
"Wird in den Token geprägt und muss unverändert zurückgegeben "
"werden. Ein v3-Token stammt vom Website-Schlüssel und nicht von einer "
"Seite. Ohne diese Prüfung würde also auch ein Token von einem "
"anderen reCAPTCHA v3-Aufruf auf der Website – einem Suchfeld, einer "
"Newsletter-Anmeldung – diese Herausforderung meistern."
msgid "Use recaptcha.net instead of google.com"
msgstr "Recaptcha.net anstelle von google.com verwenden."
msgid ""
"Serves the widget from, and verifies against, www.recaptcha.net. "
"Intended for visitors on networks where google.com is unreachable."
msgstr ""
"Stellt das Widget von www.recaptcha.net bereit und verifiziert es. "
"Gedacht für Besucher in Netzwerken, in denen google.com nicht "
"erreichbar ist."
msgid ""
"Leave empty to use the vendor default. Override it to serve the script "
"through a first-party proxy your content security policy already "
"permits."
msgstr ""
"Lassen Sie das Feld leer, um die Standardeinstellung des Anbieters zu "
"verwenden. Überschreiben Sie es, um das Skript über einen "
"Erstanbieter-Proxy bereitzustellen, den Ihre "
"Inhaltssicherheitsrichtlinie bereits zulässt."
msgid ""
"How long to wait for @vendor to answer. This runs inside a request the "
"visitor is waiting on, so a slow answer is worth less than a fast "
"failure handled below."
msgstr ""
"Wie lange muss auf die Antwort von @vendor gewartet werden? Dies "
"läuft innerhalb einer Anfrage, auf die der Besucher wartet, sodass "
"eine langsame Antwort weniger wert ist als ein schneller Fehler, der "
"unten behandelt wird."
msgid "If verification cannot be reached"
msgstr "Wenn die Verifizierung nicht möglich ist"
msgid "Reject the visitor (recommended)"
msgstr "Den Besucher ablehnen (empfohlen)"
msgid "Let the visitor through"
msgstr "Besucher durchlassen."
msgid ""
"“Let the visitor through” means an outage at @vendor — or "
"anything that blocks outbound requests from this server — switches "
"the challenge off rather than taking the page down. That is a "
"deliberate trade, and while it lasts every visitor passes unverified."
msgstr ""
"„Den Besucher durchlassen“ bedeutet, dass ein Ausfall bei @vendor "
"– oder irgendetwas, das ausgehende Anfragen von diesem Server "
"blockiert – die Herausforderung abschaltet, anstatt die Seite "
"herunterzufahren. Das ist ein bewusster Tausch, und solange dieser "
"besteht, passiert jeder Besucher ungeprüft."
msgid "Send the visitor’s IP address to @vendor"
msgstr "Die IP-Adresse des Besuchers an @vendor senden."
msgid ""
"Off by default, and not the obvious win it looks like: it discloses "
"every challenged visitor’s address to @vendor, and a mismatch "
"between the address you send and the one they observe can cause "
"verification to fail rather than improve it."
msgstr ""
"Standardmäßig deaktiviert und nicht der offensichtliche Gewinn, nach "
"dem es aussieht: Es gibt die Adresse jedes angefochtenen Besuchers an "
"@vendor weiter, und eine Diskrepanz zwischen der von Ihnen gesendeten "
"und der beobachteten Adresse kann dazu führen, dass die Überprüfung "
"fehlschlägt, anstatt sie zu verbessern."
msgid ""
"Stored in configuration and exported by <code>drush cex</code>, so it "
"lands in a committed file. Use <code>%env(TURNSTILE_SECRET)%</code> or "
"<code>%file(/run/secrets/key)%</code> to read it from the environment "
"or a file instead."
msgstr ""
"Wird in der Konfiguration gespeichert und von <code>drush cex</code> "
"exportiert, sodass es in einer festgeschriebenen Datei landet. "
"Verwenden Sie stattdessen <code>%env(TURNSTILE_SECRET)%</code> oder "
"<code>%file(/run/secrets/key)%</code>, um es aus der Umgebung oder "
"einer Datei zu lesen."
