# German translation of Basic Firewall (2.0.0-beta5)
# Copyright (c) 2026 by the German translation team
#
msgid ""
msgstr ""
"Project-Id-Version: Basic Firewall (2.0.0-beta5)\n"
"POT-Creation-Date: 2026-09-26 10:40+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 "Field"
msgstr "Feld"
msgid "Label"
msgstr "Beschriftung"
msgid "Summary"
msgstr "Zusammenfassung"
msgid "Format"
msgstr "Format"
msgid "Path"
msgstr "Pfad"
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 "Header"
msgstr "Kopfzeile"
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 "Exception"
msgstr "Exception"
msgid "Request"
msgstr "Anforderung"
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 "Event ID"
msgstr "Ereignis-ID"
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 ""
"Anything typed here is stored in configuration and appears in an "
"exported configuration file. Use <code>%env(YOUR_VARIABLE)%</code> to "
"read it from the environment instead — that is the reason to prefer "
"these fields over a DSN."
msgstr ""
"Alles, was Sie hier eingeben, wird in der Konfiguration gespeichert "
"und erscheint in einer exportierten Konfigurationsdatei. Verwenden Sie "
"stattdessen <code>%env(YOUR_VARIABLE)%</code>, um es aus der Umgebung "
"zu lesen – das ist der Grund, warum diese Felder einem DSN "
"vorgezogen werden."
msgid ""
"Compiled @count rule(s) to @path, but the firewall cannot load the "
"result, so no rules are being enforced and all traffic is being "
"allowed: @reasons"
msgstr ""
"@count-Regel(n) zu @path kompiliert, aber die Firewall kann das "
"Ergebnis nicht laden, daher werden keine Regeln durchgesetzt und der "
"gesamte Datenverkehr wird zugelassen: @reasons"
msgid "@ip could not be blocked."
msgstr "@ip konnte nicht blockiert werden."
msgid "Check the site log for the reason."
msgstr "Das Site-Protokoll auf den Grund überprüfen."
msgid "The firewall storage could not be opened: @reason"
msgstr "Der Firewall-Speicher konnte nicht geöffnet werden: @reason"
msgid ""
"Signs the pass tokens, so a token cannot be forged. Use a long random "
"string. Anything typed here is stored in configuration and appears in "
"an exported configuration file — use "
"<code>%env(YOUR_VARIABLE)%</code> to read it from the environment "
"instead, or set "
"<code>$settings['basic_firewall_challenge_secret']</code> in "
"settings.php, which takes precedence over this field."
msgstr ""
"Signiert die Pass-Tokens, so dass ein Token nicht gefälscht werden "
"kann. Verwenden Sie eine lange Zufallszeichenfolge. Alles, was hier "
"eingegeben wird, wird in der Konfiguration gespeichert und erscheint "
"in einer exportierten Konfigurationsdatei – verwenden Sie "
"stattdessen <code>%env(YOUR_VARIABLE)%</code>, um es aus der Umgebung "
"zu lesen, oder legen Sie "
"<code>$settings['basic_firewall_challenge_secret']</code> in der Datei "
"„settings.php“ fest, die Vorrang vor diesem Feld hat."
msgid ""
"Anything entered here is stored in configuration and will appear in "
"configuration exports. Two safer options: put "
"<code>%env(YOUR_VARIABLE)%</code> in this field to read it from the "
"environment, or set "
"<code>$settings['basic_firewall_challenge_secret']</code> in "
"settings.php and leave this empty."
msgstr ""
"Alles, was hier eingegeben wird, wird in der Konfiguration gespeichert "
"und erscheint in Konfigurationsexporten. Zwei sicherere Optionen: "
"Geben Sie <code>%env(YOUR_VARIABLE)%</code> in dieses Feld ein, um es "
"aus der Umgebung zu lesen, oder legen Sie "
"<code>$settings['basic_firewall_challenge_secret']</code> in der Datei "
"„settings.php“ fest und lassen Sie dieses Feld leer."
msgid ""
"Stored in configuration and exported by <code>drush cex</code>, so it "
"lands in a committed file. Use <code>%env(YOUR_VARIABLE)%</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(YOUR_VARIABLE)%</code> oder "
"<code>%file(/run/secrets/key)%</code>, um es aus der Umgebung oder "
"einer Datei zu lesen."
msgid ""
"Stored in configuration, so it will appear in exports. A webhook URL "
"is a credential; use <code>%env(YOUR_VARIABLE)%</code> to read it from "
"the environment instead."
msgstr ""
"Wird in der Konfiguration gespeichert, sodass es in Exporten angezeigt "
"wird. Eine Webhook-URL ist ein Berechtigungsnachweis. Verwenden Sie "
"stattdessen <code>%env(YOUR_VARIABLE)%</code>, um es aus der Umgebung "
"zu lesen."
msgid "Let an enabled preset supply the connection"
msgstr "Lassen Sie eine aktivierte Voreinstellung die Verbindung bereitstellen"
msgid ""
"The last option is for presets such as "
"<code>storage-pantheon.yml</code> that carry a connection of their "
"own. Any other option overrides what the preset supplies, so the "
"preset would have no effect."
msgstr ""
"Die letzte Option gilt für Voreinstellungen wie "
"<code>storage-pantheon.yml</code>, die über eine eigene Verbindung "
"verfügen. Jede andere Option überschreibt, was die Voreinstellung "
"bereitstellt, sodass die Voreinstellung keine Wirkung hätte."
msgid ""
"For example <code>mysqli://user:password@host:3306/database</code>. "
"The scheme must be a Doctrine driver name — <code>mysqli</code>, "
"<code>pgsql</code>, <code>sqlsrv</code>, <code>oci8</code> or "
"<code>sqlite3</code>. Unlike credentials read from Drupal, a DSN "
"entered here <em>is</em> stored in configuration and will appear in "
"exports. To read it from the environment instead, enter "
"<code>%env(YOUR_VARIABLE)%</code>, where <code>NAME</code> is a "
"variable you have set on the server."
msgstr ""
"Zum Beispiel <code>mysqli://user:password@host:3306/database</code>. "
"Das Schema muss ein Doctrine-Treibername sein – <code>mysqli</code>, "
"<code>pgsql</code>, <code>sqlsrv</code>, <code>oci8</code> oder "
"<code>sqlite3</code>. Im Gegensatz zu aus Drupal gelesenen "
"Anmeldeinformationen wird ein hier eingegebener DSN in der "
"Konfiguration gespeichert und erscheint in Exporten. Um es stattdessen "
"aus der Umgebung zu lesen, geben Sie <code>%env(YOUR_VARIABLE)%</code> "
"ein, wobei <code>NAME</code> eine Variable ist, die Sie auf dem Server "
"festgelegt haben."
msgid ""
"No enabled preset supplies a storage connection. Enable one on the "
"Presets tab, or choose a different connection source."
msgstr ""
"Keine aktivierte Voreinstellung stellt eine Speicherverbindung bereit. "
"Aktivieren Sie eine auf der Registerkarte „Voreinstellungen“ oder "
"wählen Sie eine andere Verbindungsquelle."
msgid ""
"An enabled preset supplies a database connection, and this connection "
"source overrides it, so the preset contributes nothing. Choose <em>Let "
"an enabled preset supply the connection</em> to use it instead."
msgstr ""
"Eine aktivierte Voreinstellung stellt eine Datenbankverbindung bereit "
"und diese Verbindungsquelle überschreibt sie, sodass die "
"Voreinstellung nichts beiträgt. Wählen Sie <em>Eine aktivierte "
"Voreinstellung die Verbindung bereitstellen lassen</em>, um diese "
"stattdessen zu verwenden."
msgid ""
"This value cannot be resolved here: @problem While that remains true, "
"the whole firewall configuration fails to load and no rules are "
"enforced. This is expected if the variable is only set in another "
"environment."
msgstr ""
"Dieser Wert kann hier nicht aufgelöst werden: @problem Obwohl dies "
"weiterhin der Fall ist, schlägt das Laden der gesamten "
"Firewall-Konfiguration fehl und es werden keine Regeln durchgesetzt. "
"Dies ist zu erwarten, wenn die Variable nur in einer anderen Umgebung "
"festgelegt wird."
msgid "Basic Firewall storage connection"
msgstr "Grundlegende Firewall-Speicherverbindung"
msgid "A preset is being overridden"
msgstr "Eine Voreinstellung wird überschrieben"
msgid ""
"An enabled preset supplies a database connection, but the connection "
"source is set to something else, so the preset contributes nothing and "
"the firewall is using the connection configured here instead. Choose "
"<em>Let an enabled preset supply the connection</em> on the <a "
"href=\":url\">Storage</a> tab to use it, or disable the preset so the "
"interface stops implying it is in effect."
msgstr ""
"Eine aktivierte Voreinstellung stellt eine Datenbankverbindung bereit, "
"aber die Verbindungsquelle ist auf etwas anderes eingestellt, sodass "
"die Voreinstellung nichts beiträgt und die Firewall stattdessen die "
"hier konfigurierte Verbindung verwendet. Wählen Sie <em>Eine "
"aktivierte Voreinstellung die Verbindung bereitstellen lassen</em> auf "
"der Registerkarte <a href=\":url\">Speicher</a>, um sie zu verwenden, "
"oder deaktivieren Sie die Voreinstellung, damit die Schnittstelle "
"nicht mehr darauf hindeutet, dass sie wirksam ist."
msgid ""
"Free from <a href=\"@url\" target=\"_blank\" "
"rel=\"noopener\">abuseipdb.com/account/api</a>. Prefer "
"<code>%env(YOUR_VARIABLE)%</code> over pasting the key itself: "
"anything typed here is stored in configuration and will appear in an "
"exported configuration file. With no key the rule matches nothing, so "
"it is safe to save this form before the key exists."
msgstr ""
"Kostenlos von <a href=\"@url\" target=\"_blank\" "
"rel=\"noopener\">abuseipdb.com/account/api</a>. Bevorzugen Sie "
"<code>%env(YOUR_VARIABLE)%</code> gegenüber dem Einfügen des "
"Schlüssels selbst: Alles, was hier eingegeben wird, wird in der "
"Konfiguration gespeichert und erscheint in einer exportierten "
"Konfigurationsdatei. Ohne Schlüssel stimmt die Regel mit nichts "
"überein, daher ist es sicher, dieses Formular zu speichern, bevor der "
"Schlüssel existiert."
msgid ""
"The API key is stored in configuration as typed, so it will appear in "
"any exported configuration and in your repository. Use "
"<code>%env(YOUR_VARIABLE)%</code> to read it from the environment "
"instead."
msgstr ""
"Der API-Schlüssel wird in der eingegebenen Konfiguration gespeichert, "
"sodass er in jeder exportierten Konfiguration und in Ihrem Repository "
"angezeigt wird. Verwenden Sie stattdessen "
"<code>%env(YOUR_VARIABLE)%</code>, um es aus der Umgebung zu lesen."
msgid ""
"For example <code>mysqli://user:password@host:3306/database</code>. "
"The scheme must be a Doctrine driver name — <code>mysqli</code>, "
"<code>pgsql</code>, <code>sqlsrv</code>, <code>oci8</code> or "
"<code>sqlite3</code>. A DSN entered here <em>is</em> stored in "
"configuration; use <code>%env(YOUR_VARIABLE)%</code>, naming a "
"variable you have set on the server, to read it from the environment "
"instead."
msgstr ""
"Zum Beispiel <code>mysqli://user:password@host:3306/database</code>. "
"Das Schema muss ein Doctrine-Treibername sein – <code>mysqli</code>, "
"<code>pgsql</code>, <code>sqlsrv</code>, <code>oci8</code> oder "
"<code>sqlite3</code>. Ein hier eingegebener DSN <em>wird</em> in der "
"Konfiguration gespeichert; Verwenden Sie "
"<code>%env(YOUR_VARIABLE)%</code> und benennen Sie stattdessen eine "
"Variable, die Sie auf dem Server festgelegt haben, um sie aus der "
"Umgebung zu lesen."
msgid ""
"Stored in configuration as typed, and appears in a configuration "
"export. Use <code>%env(YOUR_VARIABLE)%</code> to read it from the "
"environment instead."
msgstr ""
"Wird wie eingegeben in der Konfiguration gespeichert und erscheint in "
"einem Konfigurationsexport. Verwenden Sie stattdessen "
"<code>%env(YOUR_VARIABLE)%</code>, um es aus der Umgebung zu lesen."
msgid ""
"Stored in configuration, and therefore included in configuration "
"exports. Use <code>%env(YOUR_VARIABLE)%</code> to read it from the "
"environment instead of committing the key."
msgstr ""
"Wird in der Konfiguration gespeichert und ist daher in "
"Konfigurationsexporten enthalten. Verwenden Sie "
"<code>%env(YOUR_VARIABLE)%</code>, um ihn aus der Umgebung zu lesen, "
"anstatt den Schlüssel festzuschreiben."
msgid "Blocked client"
msgstr "Blockierter Client"
msgid "Look up by reference"
msgstr "Suchen Sie nach Referenz"
msgid ""
"The <em>@backend</em> storage could not be read, so nothing can be "
"listed. Check the Storage tab and the status report. The lookup above "
"still works if you know the address."
msgstr ""
"Der Speicher <em>@backend</em> konnte nicht gelesen werden, daher kann "
"nichts aufgelistet werden. Überprüfen Sie die Registerkarte "
"„Speicher“ und den Statusbericht. Die obige Suche funktioniert "
"immer noch, wenn Sie die Adresse kennen."
msgid "Back to blocked clients"
msgstr "Zurück zu blockierten Clients"
msgid "No client address was given."
msgstr "Es wurde keine Kundenadresse angegeben."
msgid "Why %key was blocked"
msgstr "Warum %key blockiert wurde"
msgid "The request that triggered the block"
msgstr "Die Anfrage, die die Blockierung ausgelöst hat"
msgid "Request headers (sensitive values redacted)"
msgstr "Anforderungsheader (sensible Werte geschwärzt)"
msgid "Unblock this client"
msgstr "Entsperren Sie diesen Client"
msgid ""
"The @backend storage backend cannot be enumerated, so it cannot be "
"searched by reference. Use basic-firewall:check with the client IP "
"instead."
msgstr ""
"Das Speicher-Backend @backend kann nicht aufgezählt werden und kann "
"daher nicht per Referenz durchsucht werden. Verwenden Sie stattdessen "
"„basic-firewall:check“ mit der Client-IP."
msgid ""
"The reference from the \"Request blocked\" message shown to the "
"visitor. Case does not matter."
msgstr ""
"Der Verweis aus der Meldung „Anfrage blockiert“, die dem Besucher "
"angezeigt wird. Der Fall spielt keine Rolle."
msgid "No currently blocked request matches reference %ref."
msgstr ""
"Keine derzeit blockierte Anfrage stimmt mit der Referenz %ref "
"überein."
msgid ""
"The %backend storage cannot be searched by reference. Look up the "
"client by IP address instead."
msgstr ""
"Der %backend-Speicher kann nicht per Referenz durchsucht werden. "
"Suchen Sie stattdessen nach der IP-Adresse des Clients."
msgid "Reference %ref belongs to %key"
msgstr "Referenz %ref gehört zu %key"
msgid "View full detail"
msgstr "Alle Details anzeigen"
msgid "Challenge provider for this rule"
msgstr "Anbieter der Anfechtung für diese Regel"
msgid "Challenge (@provider)"
msgstr "Herausforderung (@provider)"
msgid ""
"%provider needs its @keys configured on the <a href=\":url\">Challenge "
"tab</a> before a rule can use it. Without them the firewall refuses to "
"start."
msgstr ""
"%provider muss auf der Registerkarte <a "
"href=\":url\">„Challenge“</a> mit den entsprechenden @keys "
"konfiguriert werden, bevor eine Regel ihn verwenden kann. Ohne diese "
"Angaben weigert sich die Firewall, zu starten."
msgid "Use the site default (@provider)"
msgstr "Die Standardeinstellung der Website verwenden (@provider)"
msgid "@class (custom provider)"
msgstr "@class (benutzerdefinierter Provider)"
msgid "Challenge with"
msgstr "Herausforderung mit"
msgid ""
"Which challenge this rule asks for. The site default is "
"<em>@default</em>. A provider that verifies against a third party "
"needs its credentials filled in on the <a href=\":url\">Challenge "
"tab</a> before a rule can use it."
msgstr ""
"Welche Herausforderung diese Regel erfordert. Die Standardeinstellung "
"der Website lautet <em>@default</em>. Bei einem Anbieter, der die "
"Authentifizierung über einen Drittanbieter durchführt, müssen "
"dessen Anmeldedaten auf der <a href=\":url\">Registerkarte "
"„Challenge“</a> eingegeben werden, bevor eine Regel diesen "
"Anbieter nutzen kann."
msgid ""
"Evaluation happens before Drupal's own page cache, but <em>after</em> "
"any cache in front of Drupal. A reverse proxy or CDN serving a "
"response from its own store answers without reaching PHP, so no rule "
"is evaluated for that request at all. Responses earned by solving a "
"challenge are marked private so a shared cache will not keep them, but "
"a rule added to a path that is already cached at the edge does not "
"take effect there until that copy expires or is purged."
msgstr ""
"Die Auswertung erfolgt vor dem Drupal-eigenen Seiten-Cache, aber "
"<em>nach</em> jedem Cache, der vor Drupal liegt. Ein Reverse-Proxy "
"oder ein CDN, das eine Antwort aus seinem eigenen Speicher "
"bereitstellt, antwortet, ohne PHP zu erreichen, sodass für diese "
"Anfrage überhaupt keine Regel ausgewertet wird. Antworten, die durch "
"das Lösen einer Herausforderung gewonnen wurden, werden als "
"„privat“ gekennzeichnet, sodass ein gemeinsam genutzter Cache sie "
"nicht speichert; eine Regel, die einem Pfad hinzugefügt wird, der am "
"Edge bereits zwischengespeichert ist, wird dort jedoch erst wirksam, "
"wenn diese Kopie abläuft oder gelöscht wird."
msgid ""
"Matches are raised as exceptions for the host application to answer, "
"which is what a framework or a test suite wants rather than a live "
"site. A matching rule is refused with 403. <strong>Challenge rules "
"cannot be served in this mode</strong> — the library reports that an "
"interstitial is required without producing one, so those rules refuse "
"the visitor instead of offering the puzzle. Switch to \"Block\" for "
"challenges to work."
msgstr ""
"Übereinstimmungen werden als Ausnahmen ausgelöst, auf die die "
"Host-Anwendung reagieren muss – was eher den Anforderungen eines "
"Frameworks oder einer Testsuite entspricht als denen einer "
"Live-Website. Eine übereinstimmende Regel wird mit dem Status 403 "
"abgelehnt. <strong>Challenge-Regeln können in diesem Modus nicht "
"ausgeführt werden</strong> – die Bibliothek meldet, dass ein "
"Interstitial erforderlich ist, ohne jedoch eines zu erzeugen, sodass "
"diese Regeln den Besucher ablehnen, anstatt ihm das Rätsel "
"anzubieten. Wechseln Sie zu „Blockieren“, damit die Challenges "
"funktionieren."
msgid ""
"Matches are raised as exceptions for the host application to answer, "
"which is what a framework or a test suite wants rather than a live "
"site. A matching rule is refused with 403. Switch the operating mode "
"to \"Block\" to have the firewall serve its own rejection."
msgstr ""
"Übereinstimmungen werden als Ausnahmen ausgelöst, auf die die "
"Host-Anwendung reagieren muss – was eher den Anforderungen eines "
"Frameworks oder einer Testsuite entspricht als denen einer "
"Live-Website. Eine übereinstimmende Regel wird mit dem Statuscode 403 "
"abgelehnt. Wechseln Sie in den Betriebsmodus „Blockieren“, damit "
"die Firewall die Ablehnung selbst durchführt."
msgid ""
"A challenge rule matched but the firewall is in exception mode, which "
"cannot serve an interstitial, so the request was refused instead. "
"Path: @path, reason: @reason."
msgstr ""
"Eine Challenge-Regel wurde erfüllt, aber die Firewall befindet sich "
"im Ausnahmemodus, in dem keine Interstitials bereitgestellt werden "
"können, sodass die Anfrage stattdessen abgelehnt wurde. Pfad: @path, "
"Grund: @reason."
