mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-09-14 18:56:52 +00:00
ProxMenux modifies the host: it rewrites configuration files, installs packages, enables services. Until now nobody could say afterwards what had changed, and showing the script does not answer that question — a four-hundred-line function may alter two values, and the reader has no way to know which two. This adds the two halves of an answer. The change journal records what ProxMenux does as it does it. Eleven bash primitives capture the previous state, apply the change and record it in the same step, writing to a spool that the Monitor reads back. One hundred and thirteen functions across twenty-five scripts are instrumented, covering post-install, shared storage, security tooling, container conversions, disk operations and the PVE 8 to 9 upgrade path. The page shows the difference — rotate 7 becoming rotate 14 — and never the script. Restore and backup scripts are deliberately left out: a restore puts the host back to a state some other script already recorded. The Audit and reports page answers the other half: what state is this host in, regardless of who put it there. Forty-three checks across seven areas read the host and classify each result as critical, warning, observation, conformant, unverified or not applicable, with the evidence they read attached to each one. A declared policy lets the reader say what this particular host is expected to do — which guests must have a backup, which storages are essential — so the report judges the host against its own intent rather than a generic template. An inventory records the hardware, network and guest topology behind those readings, a comparison shows what moved between two runs, and six report profiles produce a printable document scoped to what the reader needs. Everything is available in the eight supported languages. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
5947 lines
320 KiB
JSON
5947 lines
320 KiB
JSON
{
|
||
"_meta": "Community translation target. Copy keys from ../en/common.json and translate the values.",
|
||
"app": {
|
||
"title": "ProxMenux Monitor",
|
||
"description": "Proxmox System Dashboard",
|
||
"loading": "Laden...",
|
||
"connecting": "Verbindung zum ProxMenux Monitor herstellen",
|
||
"unknown": "Unbekannt",
|
||
"notAvailable": "N / A",
|
||
"serverOffline": "Server offline",
|
||
"supportProject": "Unterstützen Sie das Projekt und tragen Sie dazu bei"
|
||
},
|
||
"common": {
|
||
"notAvailable": "N / A",
|
||
"unknown": "Unbekannt"
|
||
},
|
||
"actions": {
|
||
"refresh": "Aktualisieren",
|
||
"toggleTheme": "Thema umschalten",
|
||
"openUserMenu": "Benutzermenü öffnen",
|
||
"cancel": "Stornieren",
|
||
"save": "Speichern",
|
||
"edit": "Bearbeiten",
|
||
"remove": "Entfernen",
|
||
"close": "Schließen",
|
||
"resetAll": "Alles zurücksetzen",
|
||
"undo": "Rückgängig machen",
|
||
"copy": "Kopie",
|
||
"copied": "Kopiert",
|
||
"copyToClipboard": "In die Zwischenablage kopieren"
|
||
},
|
||
"navigation": {
|
||
"overview": "Überblick",
|
||
"apps": "Apps",
|
||
"storage": "Lagerung",
|
||
"network": "Netzwerk",
|
||
"virtualMachines": "VMs und LXCs",
|
||
"hardware": "Hardware",
|
||
"backup": "Sicherung",
|
||
"terminal": "Terminal",
|
||
"systemLogs": "Systemprotokolle",
|
||
"security": "Sicherheit",
|
||
"settings": "Einstellungen",
|
||
"about": "Um",
|
||
"profile": "Profil",
|
||
"node": "Knoten",
|
||
"admin": "Admin",
|
||
"menu": "Navigationsmenü",
|
||
"audit": "Audit & Report"
|
||
},
|
||
"status": {
|
||
"healthy": "Gesund",
|
||
"warning": "Warnung",
|
||
"critical": "Kritisch",
|
||
"uptime": "Betriebszeit: {uptime}",
|
||
"node": "Knoten: {node}",
|
||
"connectionFailed": "ProxMenux-Serververbindung fehlgeschlagen",
|
||
"checkService": "Überprüfen Sie, ob der monitor.service ordnungsgemäß ausgeführt wird.",
|
||
"serverPort": "Der ProxMenux-Server sollte automatisch auf Port 8008 starten",
|
||
"tryAccessing": "Versuchen Sie, auf Folgendes zuzugreifen:",
|
||
"normal": "Normal",
|
||
"warm": "Warm",
|
||
"hot": "Heiß",
|
||
"moderate": "Mäßig",
|
||
"high": "Hoch",
|
||
"stopped": "Angehalten",
|
||
"active": "Aktiv",
|
||
"disabled": "Deaktiviert",
|
||
"inactive": "inaktiv",
|
||
"saving": "Sparen...",
|
||
"saved": "Gespeichert",
|
||
"saveFailed": "Speichern fehlgeschlagen",
|
||
"networkErrorWhileSaving": "Netzwerkfehler beim Speichern"
|
||
},
|
||
"overview": {
|
||
"metricsTimeout": "Die Metrikabfrage hat länger als 30 Sekunden gedauert. ProxMenux versucht es automatisch erneut.",
|
||
"metricsCachedWarning": "Die Metriken konnten nicht aktualisiert werden. Angezeigt werden die am {time} abgerufenen Daten.",
|
||
"loadingTitle": "Systemübersicht wird geladen...",
|
||
"loadingDescription": "Systemstatus und -metriken abrufen",
|
||
"topProcessesCpu": "Top-Prozesse nach CPU anzeigen",
|
||
"topProcessesMemory": "Top-Prozesse nach Speicher anzeigen",
|
||
"suggestedFix": "Vorgeschlagener Fix für den Proxmox-Host",
|
||
"noMetricsData": "Keine Metrikdaten verfügbar",
|
||
"invalidMetricsData": "Ungültige Metrikdaten vom Server empfangen",
|
||
"metricsLoadError": "Fehler beim Laden der Messwerte",
|
||
"networkMetricsUnavailable": "Netzwerkmetriken sind noch nicht verfügbar",
|
||
"noNetworkMetrics": "Keine Netzwerkmetriken verfügbar",
|
||
"cpuUsage": "CPU-Auslastung",
|
||
"cpuUsageLoadAverage": "CPU-Auslastung und durchschnittliche Auslastung",
|
||
"cpuPercent": "CPU %",
|
||
"loadAverage": "Ladedurchschn",
|
||
"loadAxis": "Laden",
|
||
"memory": "Erinnerung",
|
||
"memoryUsage": "Speichernutzung",
|
||
"user": "Benutzer",
|
||
"system": "System",
|
||
"cores": "Kerne",
|
||
"used": "Gebraucht",
|
||
"cached": "Zwischengespeichert",
|
||
"total": "Gesamt",
|
||
"free": "Frei",
|
||
"activeVmLxc": "Aktive VM und LXC",
|
||
"runningCount": "{count} läuft",
|
||
"vmsCount": "{count} VMs",
|
||
"stoppedCount": "{count} gestoppt",
|
||
"temperature": "Temperatur",
|
||
"noSensorAvailable": "Kein Sensor verfügbar",
|
||
"collectingData": "Daten sammeln...",
|
||
"storageOverview": "Speicherübersicht",
|
||
"totalNodeCapacity": "Gesamtknotenkapazität:",
|
||
"totalCapacity": "Gesamtkapazität:",
|
||
"physicalDisks": "Physische Festplatten:",
|
||
"diskSingular": "Scheibe",
|
||
"diskPlural": "Festplatten",
|
||
"vmLxcStorage": "VM/LXC-Speicher",
|
||
"available": "Verfügbar",
|
||
"storageVolumeSingular": "Speichervolumen",
|
||
"storageVolumePlural": "Speichervolumina",
|
||
"noVmLxcStorage": "Kein VM/LXC-Speicher konfiguriert",
|
||
"localStorageSystem": "Lokaler Speicher (System)",
|
||
"storageDataUnavailable": "Speicherdaten nicht verfügbar",
|
||
"networkOverview": "Netzwerkübersicht",
|
||
"activeInterfaces": "Aktive Schnittstellen:",
|
||
"received": "Erhalten:",
|
||
"sent": "Gesendet:",
|
||
"receivedShort": "Erhalten",
|
||
"sentShort": "Gesendet",
|
||
"networkDataUnavailable": "Netzwerkdaten nicht verfügbar",
|
||
"systemInformation": "Systeminformationen",
|
||
"uptime": "Betriebszeit:",
|
||
"uptimeDuration": {
|
||
"dayOne": "{count} Tag",
|
||
"dayFew": "{count} Tage",
|
||
"dayMany": "{count} Tage"
|
||
},
|
||
"proxmoxVersion": "Proxmox-Version:",
|
||
"kernel": "Kernel:",
|
||
"availableUpdates": "Verfügbare Updates:",
|
||
"packages": "Pakete",
|
||
"systemOverview": "Systemübersicht",
|
||
"loadAverage1m": "Durchschnittliche Belastung (1 m):",
|
||
"cpuThreads": "CPU-Threads:",
|
||
"networkInterfaces": "Netzwerkschnittstellen:",
|
||
"timeframes": {
|
||
"hour": "1 Stunde",
|
||
"day": "24 Stunden",
|
||
"week": "7 Tage",
|
||
"month": "30 Tage",
|
||
"year": "1 Jahr"
|
||
},
|
||
"stats": {
|
||
"avg": "avg",
|
||
"max": "max",
|
||
"min": "min"
|
||
},
|
||
"errors": {
|
||
"serverUnavailableTitle": "Der Monitorserver ist nicht verfügbar",
|
||
"serverUnavailableDescription": "Es kann keine Verbindung zum Monitor-Server hergestellt werden. Stellen Sie sicher, dass der Dienst ausgeführt wird, und versuchen Sie es erneut."
|
||
},
|
||
"runningCountOne": "{count} läuft",
|
||
"runningCountFew": "{count} läuft",
|
||
"runningCountMany": "{count} läuft"
|
||
},
|
||
"storage": {
|
||
"loadingTitle": "Speicherdaten werden geladen...",
|
||
"loadingDescription": "Scannen von Festplatten, Partitionen und Speicherpools",
|
||
"loadingError": "Fehler beim Laden der Speicherdaten: {error}",
|
||
"storageUsed": "Verwendeter Speicher",
|
||
"localUsed": "Lokal verwendet",
|
||
"remoteUsed": "Fernbedienung verwendet",
|
||
"physicalDisks": "Physische Festplatten",
|
||
"proxmoxStorage": "Proxmox-Speicher",
|
||
"remoteMounts": "Fernmontagen",
|
||
"externalStorageUsb": "Externer Speicher (USB)",
|
||
"physicalDisksSmart": "Physische Festplatten und SMART-Status",
|
||
"zfsPools": "ZFS-Pools",
|
||
"local": "Lokal",
|
||
"remote": "Fernbedienung",
|
||
"free": "Frei",
|
||
"used": "Gebraucht",
|
||
"total": "Gesamt",
|
||
"available": "Verfügbar",
|
||
"size": "Größe",
|
||
"allocated": "Zugewiesen",
|
||
"none": "Keiner",
|
||
"noRemoteStorage": "Kein Remote-Speicher",
|
||
"diskSingular": "Scheibe",
|
||
"diskPlural": "Festplatten",
|
||
"allHealthy": "alle gesund",
|
||
"criticalCount": "{count} kritisch",
|
||
"warningCount": "{count} Warnung",
|
||
"remoteMount": "Remote-Montage",
|
||
"remoteMountShort": "Fernbedienung",
|
||
"excluded": "ausgeschlossen",
|
||
"notMonitored": "nicht überwacht",
|
||
"namespaceRestricted": "Namespace-beschränkt",
|
||
"namespaceRestrictedTitle": "Speicher erreichbar; Durch ACL ausgeblendete Datenspeichergröße (z. B. PBS DatastoreAdmin in einem einzelnen Namespace)",
|
||
"capacityNotReported": "Kapazität nicht gemeldet",
|
||
"managedByProxmox": "verwaltet von Proxmox",
|
||
"readOnlyShort": "ro",
|
||
"stale": "abgestanden",
|
||
"readOnly": "schreibgeschützt",
|
||
"reachable": "erreichbar",
|
||
"source": "Quelle:",
|
||
"capacity": "Kapazität",
|
||
"mountOptions": "Montageoptionen",
|
||
"mountStaleSkipped": "df übersprungen: Mount ist veraltet.",
|
||
"notApplicable": "n / A",
|
||
"error": "Fehler",
|
||
"system": "System",
|
||
"standby": "Stehen zu",
|
||
"standbyTitle": "Das Laufwerk befindet sich im Standby-Modus – Smartctl wurde übersprungen, um es im Ruhezustand zu halten",
|
||
"filesystemCorruption": "Dateisystembeschädigung erkannt",
|
||
"ioErrorOne": "{count} E/A-Fehler in 5 Min",
|
||
"ioErrorMany": "{count} E/A-Fehler in 5 Min",
|
||
"model": "Modell",
|
||
"wearLevel": "Verschleißgrad",
|
||
"powerCycles": "Leistungszyklen",
|
||
"powerOn": "Einschalten",
|
||
"crcErrors": "CRC-Fehler",
|
||
"reallocatedShort": "Realloc. Sektoren",
|
||
"serialShort": "Seriennummer:",
|
||
"viewDetails": "Details anzeigen",
|
||
"diskDetails": "Datenträgerdetails: /dev/{name}",
|
||
"physicalDisk": "Physische Festplatte",
|
||
"overview": "Überblick",
|
||
"smart": "SMART",
|
||
"history": "Geschichte",
|
||
"schedule": "Zeitplan",
|
||
"serialNumber": "Seriennummer",
|
||
"healthStatus": "Gesundheitszustand",
|
||
"wearLifetime": "Tragen und lebenslang",
|
||
"dataWritten": "Daten geschrieben",
|
||
"life": "Leben",
|
||
"lifeRemaining": "Verbleibendes Leben",
|
||
"realTest": "Echter Test",
|
||
"wear": {
|
||
"label": "Tragen",
|
||
"percentageUsed": "Prozentsatz der Nutzung",
|
||
"mediaWearout": "Medienverschleiß",
|
||
"wearLevel": "Verschleißgrad",
|
||
"lifeUsed": "Leben genutzt"
|
||
},
|
||
"estimatedLife": "Schätzung: Leben",
|
||
"noWearDetected": "Noch kein Verschleiß festgestellt",
|
||
"months": "Monate",
|
||
"years": "Jahre",
|
||
"duration": {
|
||
"daysShort": "{days}d",
|
||
"monthsShort": "{months}m",
|
||
"yearsShort": "{years}y",
|
||
"monthsDaysShort": "{months}m {days}d",
|
||
"yearsMonthsShort": "{years}y {months}m",
|
||
"estimatedYears": "~{value} Jahre",
|
||
"estimatedMonths": "~{value} Monate"
|
||
},
|
||
"availableSpare": "Verfügbar. Ersatzteil",
|
||
"smartAttributes": "SMART-Attribute",
|
||
"powerOnHours": "Betriebsstunden",
|
||
"rotationRate": "Rotationsrate",
|
||
"smartStatus": "SMART-Status",
|
||
"reallocatedSectors": "Neu zugewiesene Sektoren",
|
||
"pendingSectors": "Ausstehende Sektoren",
|
||
"temperature": "Temperatur",
|
||
"noSmartData": "Für diese Festplatte sind keine SMART-Testdaten verfügbar.",
|
||
"smartDataHint": "Führen Sie auf der Registerkarte „SMART-Test“ einen SMART-Test durch, um detaillierte Gesundheitsinformationen zu erhalten.",
|
||
"observations": "Beobachtungen",
|
||
"observationsDescription": "Die folgenden Beobachtungen wurden für diese Scheibe aufgezeichnet:",
|
||
"loadingObservations": "Beobachtungen werden geladen...",
|
||
"firstSeen": "Erste",
|
||
"lastSeen": "Zuletzt",
|
||
"occurrences": "Vorkommen",
|
||
"observationShort": "obs.",
|
||
"observationTypes": {
|
||
"smart_error": "SMART-Problem",
|
||
"io_error": "E/A-Problem",
|
||
"filesystem_error": "Problem mit dem Dateisystem",
|
||
"zfs_pool_error": "Problem mit dem ZFS-Pool",
|
||
"connection_error": "Verbindungsproblem"
|
||
},
|
||
"health": {
|
||
"healthy": "Gesund",
|
||
"warning": "Warnung",
|
||
"critical": "Kritisch",
|
||
"unknown": "Unbekannt",
|
||
"passed": "Bestanden",
|
||
"online": "Online",
|
||
"failed": "Fehlgeschlagen",
|
||
"degraded": "Degradiert"
|
||
},
|
||
"status": {
|
||
"active": "aktiv",
|
||
"inactive": "inaktiv",
|
||
"offline": "offline",
|
||
"error": "Fehler",
|
||
"failed": "fehlgeschlagen"
|
||
},
|
||
"smartTest": {
|
||
"loading": "SMART-Daten werden geladen...",
|
||
"toolsMissing": "SMART-Tools sind nicht installiert",
|
||
"nvmeToolRequired": "nvme-cli ist erforderlich, um SMART-Tests auf NVMe-Festplatten auszuführen.",
|
||
"smartctlRequired": "smartmontools ist erforderlich, um SMART-Tests auf dieser Festplatte auszuführen.",
|
||
"installingTools": "SMART-Tools werden installiert...",
|
||
"installTools": "Installieren Sie SMART-Tools",
|
||
"installFailed": "Die Installation ist fehlgeschlagen",
|
||
"installFailedManual": "Die Installation ist fehlgeschlagen. Versuchen Sie es manuell: apt-get install smartmontools nvme-cli",
|
||
"installToolsManual": "Tools konnten nicht installiert werden. Versuchen Sie es manuell: apt-get install smartmontools nvme-cli",
|
||
"runTest": "Führen Sie den SMART-Test durch",
|
||
"shortTest": "Kurztest",
|
||
"longTest": "Langer Test (1-4 Stunden)",
|
||
"extendedTest": "Erweiterter Test",
|
||
"testHelp": "Ein kurzer Test dauert etwa 2 Minuten. Der erweiterte Test läuft im Hintergrund und kann auf großen Datenträgern mehrere Stunden dauern. Das Ergebnis wird nach Abschluss auf der Registerkarte „Verlauf“ angezeigt.",
|
||
"startFailed": "Der Test konnte nicht gestartet werden",
|
||
"short": "Kurz",
|
||
"extended": "Erweitert",
|
||
"testInProgress": "Der {type}-Test läuft",
|
||
"testWait": "Bitte warten Sie, bis der Test abgeschlossen ist. Die Tasten werden automatisch entsperrt.",
|
||
"noProgress": "Die Firmware dieser Festplatte meldet keinen Fortschritt. Der Test läuft im Hintergrund.",
|
||
"lastTest": "Letzter Test",
|
||
"nvmeMetrics": "NVMe-Gesundheitsmetriken",
|
||
"sasMetrics": "SAS/SCSI-Zustandsmetriken",
|
||
"id": "AUSWEIS",
|
||
"attribute": "Attribut",
|
||
"value": "Wert",
|
||
"worst": "Am schlimmsten",
|
||
"status": "Status",
|
||
"viewFullReport": "Vollständigen SMART-Bericht anzeigen",
|
||
"loadingReport": "Bericht wird geladen...",
|
||
"reportLoadFailed": "Berichtsdaten konnten nicht geladen werden.",
|
||
"statusValues": {
|
||
"passed": "Bestanden",
|
||
"failed": "Fehlgeschlagen",
|
||
"running": "Läuft",
|
||
"aborted": "Abgebrochen",
|
||
"unknown": "Unbekannt"
|
||
}
|
||
},
|
||
"historyTab": {
|
||
"loading": "Testverlauf wird geladen...",
|
||
"empty": "Keine Testhistorie",
|
||
"emptyHint": "Führen Sie einen SMART-Test durch, um den Erstellungsverlauf für diese Festplatte zu starten.",
|
||
"title": "Testverlauf",
|
||
"latest": "letzte",
|
||
"today": "Heute",
|
||
"yesterday": "Gestern",
|
||
"daysAgo": "Vor {count} Tagen",
|
||
"downloadJson": "Laden Sie JSON herunter",
|
||
"delete": "Löschen",
|
||
"confirmDelete": "Diesen Testdatensatz löschen?",
|
||
"note": "Testergebnisse werden lokal gespeichert und zur Erstellung detaillierter SMART-Berichte verwendet."
|
||
},
|
||
"smartReport": {
|
||
"title": "SMART-Gesundheitsbericht",
|
||
"printPdf": "Drucken / Als PDF speichern",
|
||
"printHintMac": "Verwenden Sie Cmd+P, um als PDF zu speichern",
|
||
"printHintCtrl": "Verwenden Sie Strg+P, um als PDF zu speichern",
|
||
"subtitle": "ProxMenux Monitor – Analyse des Festplattenzustands",
|
||
"htmlLang": "de",
|
||
"date": "Datum",
|
||
"device": "Gerät",
|
||
"executiveSummary": "Zusammenfassung",
|
||
"smartStatus": "SMART-Status",
|
||
"healthAssessment": "Bewertung des Festplattenzustands",
|
||
"passedUpper": "BESTANDEN",
|
||
"testAgeWarning": "Dieser Bericht basiert auf einem SMART-Test, der vor {days} Tagen ({date}) durchgeführt wurde. Möglicherweise hat sich der Zustand der Festplatte seitdem geändert. Wir empfehlen, einen neuen SMART-Test durchzuführen, um aktuelle Ergebnisse zu erhalten.",
|
||
"healthyAssessment": "Diese Festplatte arbeitet innerhalb normaler Parameter. Alle SMART-Attribute liegen innerhalb akzeptabler Schwellenwerte. Die Festplatte ist seit ca. {uptime} eingeschaltet und arbeitet derzeit mit {temperature}. {sectors}",
|
||
"failedAssessment": "Dieser Datenträger hat einen SMART-Zustandsfehler gemeldet. Es besteht sofortiger Handlungsbedarf. Sichern Sie alle wichtigen Daten und planen Sie den Austausch der Festplatte.",
|
||
"noBadSectors": "Es wurden keine fehlerhaften Sektoren erkannt.",
|
||
"reallocatedSectors": "{count} neu zugewiesene(r) Sektor(en) erkannt – sorgfältig überwachen.",
|
||
"healthyMeaningTitle": "Was bedeutet das? Ihre Festplatte ist fehlerfrei!",
|
||
"attentionTitle": "ACHTUNG ERFORDERLICH: Probleme erkannt",
|
||
"monitorTitle": "Einige Probleme müssen überwacht werden",
|
||
"healthyMeaning": "Vereinfacht ausgedrückt: Diese Festplatte funktioniert ordnungsgemäß. Sie können es normal weiter verwenden. Wir empfehlen, regelmäßige SMART-Tests (monatlich) durchzuführen, um etwaige Probleme frühzeitig zu erkennen.",
|
||
"criticalMeaning": "Vereinfacht ausgedrückt: Diese Festplatte weist Probleme auf, die zu Datenverlust führen können. Sichern Sie Ihre wichtigen Dateien sofort und erwägen Sie, die Festplatte bald auszutauschen.",
|
||
"warningMeaning": "Vereinfacht ausgedrückt: Die Scheibe funktioniert, weist aber einige Gebrauchsspuren auf. Es ist noch nicht kritisch, aber überwachen Sie es genau und halten Sie Ihre Backups auf dem neuesten Stand.",
|
||
"issuesFound": "Probleme gefunden",
|
||
"criticalStatus": "Kritisch – erfordert sofortige Aufmerksamkeit",
|
||
"warningStatus": "Warnung – sollte überwacht werden",
|
||
"moreIssues": "...und {count} weitere Probleme (siehe Details unten)",
|
||
"dismissed": "Entlassen",
|
||
"occurrences": "Vorkommen",
|
||
"errorSignature": "Fehlersignatur",
|
||
"rawMessage": "Rohe Nachricht",
|
||
"firstSeen": "Zum ersten Mal gesehen",
|
||
"lastSeen": "Zuletzt gesehen",
|
||
"observationsIntro": "Die folgenden Ereignisse wurden für diese Festplatte erkannt und protokolliert. Diese Beobachtungen können auf potenzielle Probleme hinweisen, die Aufmerksamkeit erfordern.",
|
||
"temperatureHistory": "Temperaturverlauf",
|
||
"temperatureSamples": "{count} Beispiele",
|
||
"temperatureBands": "Bänder: Gelb = Warnung (>= {warn}°C), Rot = Kritisch (>= {hot}°C). Alle 60er Jahre probiert.",
|
||
"observationSummary": "{unique} einzigartig, {total} insgesamt",
|
||
"observationsTitle": "Beobachtungen und Ereignisse ({count} aufgezeichnet, {total} Vorkommnisse insgesamt)",
|
||
"outdatedTestTitle": "Veraltete Testdaten ({days} Tage alt)",
|
||
"diskInformation": "Festplatteninformationen",
|
||
"attributeCount": "{total} insgesamt",
|
||
"attributeCountWithWarnings": "{total} insgesamt, {warnings} Warnung(en)",
|
||
"entriesCount": "{count} Einträge",
|
||
"fullSelfTestHistory": "Vollständiger Selbsttestverlauf ({count} Einträge)",
|
||
"firmwareNoSelfTestLog": "Die Firmware dieser Festplatte führt kein internes Selbsttestprotokoll. Testergebnisse werden von ProxMenux Monitor verfolgt.",
|
||
"ssdWearNote": "Schätzungen zur SSD-Lebensdauer basieren auf vom Hersteller gemeldeten Verschleißindikatoren. Die tatsächliche Lebensdauer kann je nach Arbeitsbelastung und Nutzungsmuster variieren.",
|
||
"labels": {
|
||
"model": "Modell",
|
||
"serial": "Seriell",
|
||
"estimatedLife": "Geschätzte verbleibende Lebensdauer",
|
||
"totalDataWritten": "Gesamtzahl der geschriebenen Daten",
|
||
"availableSpare": "Verfügbar als Ersatzteil",
|
||
"reportGenerated": "Bericht generiert",
|
||
"testType": "Testtyp",
|
||
"lastTestType": "Letzter Testtyp",
|
||
"testResult": "Testergebnis",
|
||
"attributesChecked": "Attribute überprüft",
|
||
"capacity": "Kapazität",
|
||
"type": "Typ",
|
||
"family": "Familie",
|
||
"formFactor": "Formfaktor",
|
||
"interface": "Schnittstelle",
|
||
"transport": "Transport",
|
||
"linkSpeed": "Verbindungsgeschwindigkeit",
|
||
"blockSize": "Blockgröße",
|
||
"temperature": "Temperatur",
|
||
"optimal": "Optimal",
|
||
"powerOnTime": "Einschaltzeit",
|
||
"powerCycles": "Leistungszyklen",
|
||
"uncorrectedErrors": "Nicht korrigierte Fehler",
|
||
"pendingSectors": "Ausstehende Sektoren",
|
||
"crcErrors": "CRC-Fehler",
|
||
"grownDefects": "Gewachsene Defekte",
|
||
"lifeRemaining": "VERBLEIBENDES LEBEN",
|
||
"estimated": "Geschätzt",
|
||
"usageStatistics": "NUTZUNGSSTATISTIK",
|
||
"percentageUsed": "Prozentsatz der Nutzung",
|
||
"dataWritten": "Daten geschrieben",
|
||
"source": "Quelle",
|
||
"ssdLifeIndicator": "SSD-Lebensanzeige",
|
||
"wearLevel": "Verschleißgrad",
|
||
"powerOnHours": "Betriebsstunden",
|
||
"smartStatus": "SMART-Status",
|
||
"reallocatedSectors": "Neu zugewiesene Sektoren",
|
||
"note": "Notiz",
|
||
"metric": "Metrisch",
|
||
"attribute": "Attribut",
|
||
"value": "Wert",
|
||
"worst": "Am schlimmsten",
|
||
"thresholdShort": "Thr",
|
||
"raw": "Roh",
|
||
"result": "Ergebnis",
|
||
"completed": "Vollendet",
|
||
"atPowerOnHours": "Zu den Betriebszeiten",
|
||
"ataErrorLog": "ATA-Fehlerprotokoll",
|
||
"status": "Status",
|
||
"atPoh": "Bei POH",
|
||
"date": "Datum",
|
||
"min": "Min",
|
||
"avg": "Durchschn",
|
||
"max": "Max"
|
||
},
|
||
"sections": {
|
||
"nvmeWearLifetime": "NVMe Wear & Lifetime",
|
||
"extendedNvmeHealth": "Erweiterte NVMe-Gesundheit",
|
||
"ssdWearLifetime": "SSD-Verschleiß und Lebensdauer",
|
||
"nvmeHealthMetrics": "NVMe-Gesundheitsmetriken",
|
||
"sasHealthMetrics": "SAS/SCSI-Gesundheitsmetriken",
|
||
"smartAttributes": "SMART-Attribute",
|
||
"selfTestResult": "Ergebnis des Selbsttests",
|
||
"lastSelfTestResult": "Letztes Selbsttestergebnis",
|
||
"recommendations": "Empfehlungen"
|
||
},
|
||
"statusValues": {
|
||
"ok": "OK",
|
||
"warning": "Warnung",
|
||
"critical": "Kritisch",
|
||
"failed": "Fehlgeschlagen",
|
||
"passed": "Bestanden",
|
||
"supported": "Unterstützt",
|
||
"notSupported": "Nicht unterstützt",
|
||
"none": "Keiner",
|
||
"info": "Info"
|
||
},
|
||
"selfTestStatus": {
|
||
"completedWithoutError": "Ohne Fehler abgeschlossen",
|
||
"completedWithReadFailure": "Abgeschlossen: Lesefehler",
|
||
"completedWithWriteFailure": "Abgeschlossen: Schreibfehler",
|
||
"completedWithUnknownFailure": "Abgeschlossen: unbekannter Fehler",
|
||
"interrupted": "Unterbrochen",
|
||
"aborted": "Abgebrochen",
|
||
"inProgress": "Im Gange"
|
||
},
|
||
"testTypes": {
|
||
"short": "Kurzer Test",
|
||
"extended": "Erweiterter Test"
|
||
},
|
||
"observationTypes": {
|
||
"io": "E/A-Fehler",
|
||
"ioPlural": "E/A-Fehler",
|
||
"smart": "SMART-Fehler",
|
||
"smartPlural": "SMART-Fehler",
|
||
"filesystem": "Dateisystemfehler",
|
||
"filesystemPlural": "Dateisystemfehler"
|
||
},
|
||
"duration": {
|
||
"yearDayHours": "{years}y {days}d ({hours}h)",
|
||
"dayHours": "{days}d ({hours}h)",
|
||
"yearDay": "{years}y {days}d",
|
||
"minutes": "{minutes} min",
|
||
"approxMinutes": "~{minutes} min"
|
||
},
|
||
"estimatedLife": {
|
||
"years": "~{value} Jahre",
|
||
"days": "~{value} Tage",
|
||
"hours": "~{value} Stunden",
|
||
"excellent": "Exzellent"
|
||
},
|
||
"units": {
|
||
"bytes": "Bytes"
|
||
},
|
||
"metrics": {
|
||
"criticalWarning": "Kritische Warnung",
|
||
"mediaErrors": "Medienfehler",
|
||
"unsafeShutdowns": "Unsichere Abschaltungen",
|
||
"enduranceWarning": "Ausdauerwarnung",
|
||
"controllerBusy": "Controller beschäftigt",
|
||
"errorLogEntries": "Fehlerprotokolleinträge",
|
||
"warningTempTime": "Warntemperaturzeit",
|
||
"criticalTempTime": "Kritische Temperaturzeit",
|
||
"dataRead": "Daten lesen",
|
||
"hostReadCommands": "Host-Lesebefehle",
|
||
"hostWriteCommands": "Host-Schreibbefehle",
|
||
"hotspotTemp": "Hotspot-Temp",
|
||
"sensors": "Sensoren"
|
||
},
|
||
"metricNotes": {
|
||
"controllerAlertFlags": "Controller-Alarmflags",
|
||
"flashCellDamage": "Beschädigung der Blitzzelle",
|
||
"powerLossWithoutFlush": "Stromausfall ohne Spülung",
|
||
"groupEnduranceAlert": "Gruppenausdaueralarm",
|
||
"totalBusyTime": "Total arbeitsreiche Zeit",
|
||
"mayIncludeBenignArtifacts": "Kann gutartige Artefakte enthalten",
|
||
"minutesInWarningRange": "Minuten im Warnbereich",
|
||
"minutesInCriticalRange": "Minuten im kritischen Bereich",
|
||
"totalHostReads": "Gesamtzahl der Host-Lesevorgänge",
|
||
"totalReadCommands": "Gesamtzahl der Lesebefehle",
|
||
"totalWriteCommands": "Gesamtzahl der Schreibbefehle",
|
||
"sensorHotspot": "Sensor[1]-Hotspot"
|
||
},
|
||
"empty": {
|
||
"nvmeMetrics": "Keine NVMe-Metriken verfügbar",
|
||
"sasMetrics": "Keine SAS-Metriken verfügbar",
|
||
"smartAttributes": "Keine SMART-Attribute verfügbar",
|
||
"selfTestHistory": "Keine Selbsttesthistorie verfügbar. Führen Sie hier einen SMART-Selbsttest durch, um die Ergebnisse anzuzeigen."
|
||
},
|
||
"footer": {
|
||
"generatedBy": "Von ProxMenux Monitor erstellter Bericht"
|
||
},
|
||
"attributeLabels": {
|
||
"criticalWarning": "Kritische Warnung",
|
||
"nvmeTemperature": "Temperatur",
|
||
"temperatureSensor1": "Temperatursensor 1",
|
||
"temperatureSensor2": "Temperatursensor 2",
|
||
"temperatureSensor3": "Temperatursensor 3",
|
||
"availableSpare": "Verfügbarer Ersatz",
|
||
"availableSpareThreshold": "Verfügbare Ersatzschwelle",
|
||
"percentageUsed": "Prozentsatz verwendet",
|
||
"enduranceGroupWarning": "Warnung der Ausdauergruppe",
|
||
"mediaErrors": "Medienfehler",
|
||
"mediaIntegrityErrors": "Fehler bei der Medien- und Datenintegrität",
|
||
"unsafeShutdowns": "Unsichere Abschaltungen",
|
||
"nvmePowerCycles": "Leistungszyklen",
|
||
"nvmePowerOnHours": "Betriebsstunden",
|
||
"dataUnitsRead": "Dateneinheiten gelesen",
|
||
"dataUnitsWritten": "Dateneinheiten geschrieben",
|
||
"hostReadCommands": "Host-Lesebefehle",
|
||
"hostWriteCommands": "Host-Schreibbefehle",
|
||
"controllerBusyTime": "Controller beschäftigt",
|
||
"errorLogEntries": "Fehlerprotokolleinträge",
|
||
"warningTempTime": "Warntemperaturzeit",
|
||
"criticalTempTime": "Kritische Temperaturzeit",
|
||
"warningCompositeTemperatureTime": "Warnzeit für zusammengesetzte Temperatur",
|
||
"criticalCompositeTemperatureTime": "Kritische Verbundtemperaturzeit",
|
||
"thermalManagementT1TransCount": "Wärmemanagement T1-Übergänge",
|
||
"thermalManagementT2TransCount": "Wärmemanagement T2-Übergänge",
|
||
"thermalManagementT1TotalTime": "Gesamtzeit des Wärmemanagements T1",
|
||
"thermalManagementT2TotalTime": "Gesamtzeit des Wärmemanagements T2"
|
||
},
|
||
"attributeExplanations": {
|
||
"criticalWarning": "Aktive Alarmflags vom NVMe-Controller. Jeder Wert ungleich Null erfordert eine sofortige Untersuchung.",
|
||
"nvmeTemperature": "Vom Controller gemeldete Verbundtemperatur. Anhaltend hohe Temperaturen führen zu thermischer Drosselung und verkürzen die NAND-Lebensdauer.",
|
||
"temperatureSensor1": "Primärer Temperatursensor, normalerweise der NAND-Flash. Am repräsentativsten für Flash-Gesundheit.",
|
||
"temperatureSensor2": "Sekundärsensor, oft der Controller, geht kaputt. Wird normalerweise heißer als Sensor 1.",
|
||
"temperatureSensor3": "Tertiärsensor, falls vorhanden. Der Standort variiert je nach Hersteller.",
|
||
"availableSpare": "Prozentsatz der verbleibenden NAND-Ersatzblöcke für den Austausch fehlerhafter Blöcke. Unterhalb des Schwellenwerts wird eine Warnung ausgelöst.",
|
||
"availableSpareThreshold": "Vom Hersteller festgelegtes Minimum für verfügbares Ersatzteil. Darunter meldet das Laufwerk eine kritische Warnung.",
|
||
"percentageUsed": "Schätzung der verbrauchten Lebensdauer des Laufwerks basierend auf den tatsächlichen Schreibzyklen im Vergleich zu den Nenn-Schreibzyklen. 100 % bedeutet, dass das Nenn-TBW erreicht wurde; Das Laufwerk funktioniert möglicherweise darüber hinaus weiter.",
|
||
"mediaErrors": "Nicht behebbare Lese-/Schreibfehler auf NAND-Flash. Jeder Wert ungleich Null weist auf eine dauerhafte Zellschädigung hin. Wachsende Anzahl bedeutet baldigen Austausch.",
|
||
"mediaIntegrityErrors": "Vom Controller erkannte nicht behebbare Fehler. Ein Wert ungleich Null bedeutet das Risiko einer Datenkorruption.",
|
||
"unsafeShutdowns": "Stromverluste ohne ordnungsgemäße Spülung oder Abschaltung. Sehr hohe Werte bergen das Risiko einer Metadatenbeschädigung und Firmware-Problemen.",
|
||
"nvmePowerCycles": "Gesamte Ein-/Aus-Zyklen. Häufiges Radfahren erhöht den Verschleiß von Steckern und Kondensatoren.",
|
||
"nvmePowerOnHours": "Gesamtzahl der Stunden, in denen das Laufwerk seit der Herstellung eingeschaltet war.",
|
||
"dataUnitsRead": "Insgesamt gelesene Daten in 512-KB-Einheiten. Für Bytes mit 512.000 multiplizieren. Nützlich zur Berechnung der täglichen Lesearbeitslast.",
|
||
"dataUnitsWritten": "Gesamtdaten in 512-KB-Einheiten geschrieben. Vergleichen Sie es mit der TBW-Bewertung, um die verbleibende Ausdauer abzuschätzen.",
|
||
"hostReadCommands": "Gesamtzahl der vom Host ausgegebenen Lesebefehle. Ein hohes Verhältnis zu Schreibbefehlen weist auf eine leseintensive Arbeitslast hin.",
|
||
"hostWriteCommands": "Gesamtzahl der vom Host ausgegebenen Schreibbefehle. Beinhaltet das Schreiben von Dateisystem-Metadaten.",
|
||
"controllerBusyTime": "Gesamtminuten, die der Controller mit der Verarbeitung von E/A-Befehlen verbracht hat. Hohe Werte deuten auf eine anhaltend hohe Arbeitsbelastung hin.",
|
||
"errorLogEntries": "Anzahl der Einträge im Fehlerinformationsprotokoll. Enthält oft harmlose Selbsttest-Artefakte; Gegenprüfung mit Medienfehlern.",
|
||
"warningTempTime": "Gesamtzahl der Minuten, die über dem Warntemperaturschwellenwert verbracht wurden. Verursacht Leistungsdrosselung. Null ist ideal.",
|
||
"criticalTempTime": "Gesamtzahl der Minuten, die über dem kritischen Temperaturschwellenwert verbracht wurden. Um Schäden zu vermeiden, kann der Antrieb abgeschaltet werden. Sollte immer Null sein.",
|
||
"warningCompositeTemperatureTime": "Gesamtzahl der Minuten, in denen die Gesamttemperatur den Warnschwellenwert überschritten hat.",
|
||
"criticalCompositeTemperatureTime": "Gesamtzahl der Minuten, in denen die Verbundtemperatur den kritischen Schwellenwert überschritten hat. Muss Null sein.",
|
||
"thermalManagementT1TransCount": "Häufigkeit, mit der das Laufwerk in eine leichte thermische Drosselung (T1) geraten ist. Zeigt Probleme mit der Kühlung an.",
|
||
"thermalManagementT2TransCount": "Häufigkeit, mit der das Laufwerk stark thermisch gedrosselt wurde (T2). Erhebliche Auswirkungen auf die Leistung.",
|
||
"thermalManagementT1TotalTime": "Gesamtzahl der Sekunden, die bei leichter thermischer Drosselung verbracht wurden. Zeigt anhaltende Kühlprobleme an.",
|
||
"thermalManagementT2TotalTime": "Gesamtzahl der Sekunden, die mit starker thermischer Drosselung verbracht wurden. Starker Leistungsabfall.",
|
||
"rawReadErrorRate": "Hardware-Lesefehler erkannt. Hohe Rohwerte auf Festplatten von Seagate/Samsung sind normal, da deren proprietäre Formel WERT wichtiger macht als Rohwerte.",
|
||
"writeErrorRate": "Bei Schreibvorgängen sind Fehler aufgetreten. Eine steigende Zahl kann auf Probleme mit dem Kopf oder den Medien hinweisen.",
|
||
"multiZoneErrorRate": "Fehler beim Schreiben in Mehrzonenregionen. Herstellerspezifisch; ein steigender Trend ist besorgniserregend.",
|
||
"softReadErrorRate": "Lesefehler werden durch die Firmware ohne Datenverlust korrigiert. Hohe Werte können auf eine Verschlechterung der Medienqualität hinweisen.",
|
||
"readErrorRetryRate": "Anzahl der erforderlichen Lesewiederholungen. Gelegentliche Wiederholungsversuche sind normal; anhaltendes Wachstum weist auf Verschleiß hin.",
|
||
"reportedUncorrect": "Fehler, die ECC nicht beheben konnte. Jeder Wert ungleich Null bedeutet, dass Daten verloren gingen oder nicht lesbar waren.",
|
||
"reportedUncorrectableErrors": "Fehler, die ECC nicht beheben konnte. Ein Wert ungleich Null bedeutet Datenverlustrisiko.",
|
||
"reallocatedSectorCount": "Fehlerhafte Sektoren werden durch Ersatzsektoren aus dem Reservepool ersetzt. Eine wachsende Anzahl bedeutet eine Verschlechterung des Laufwerks.",
|
||
"retiredBlockCount": "NAND-Blöcke wurden aufgrund von Verschleiß oder Ausfall ausgemustert (SSD). Ähnlich wie die Anzahl der neu zugewiesenen Sektoren für Festplatten.",
|
||
"reallocatedEventCount": "Anzahl der durchgeführten Neuzuordnungsvorgänge. Jedes Ereignis bedeutet, dass ein fehlerhafter Sektor ersetzt wurde.",
|
||
"currentPendingSector": "Instabile Sektoren warten darauf, beim nächsten Schreibvorgang neu zugeordnet zu werden. Sie können aufgelöst oder dauerhaft neu zugewiesen werden.",
|
||
"pendingSectors": "Sektoren, die darauf warten, neu zugeordnet zu werden. Sie können aufgelöst oder neu zugewiesen werden.",
|
||
"offlineUncorrectable": "Sektoren, die beim Offline-Scan fehlgeschlagen sind und nicht korrigiert werden konnten. Weist auf einen möglichen Datenverlust hin.",
|
||
"offlineUncorrectableSectorCount": "Beim Hintergrundscan wurden nicht korrigierbare Sektoren gefunden. Daten zu diesen Sektoren gehen verloren.",
|
||
"sataTemperature": "Aktuelle Laufwerkstemperatur. Anhaltend hohe Temperaturen beschleunigen den Verschleiß und verkürzen die Lebensdauer.",
|
||
"temperatureCelsius": "Aktuelle Laufwerkstemperatur in Celsius. Festplatten sollten normalerweise unter 45 °C bleiben; SSDs unter 60°C.",
|
||
"airflowTemperatureCel": "Vom Luftstromsensor gemessene Temperatur. Normalerweise etwas niedriger als der Haupttemperatursensor.",
|
||
"temperatureCase": "Temperatur des Antriebsgehäuses. Nützlich zur Überwachung der Gehäusebelüftung.",
|
||
"temperatureInternal": "Interner Temperatursensor. Möglicherweise ist die Temperatur höher als die Gehäusetemperatur.",
|
||
"sataPowerOnHours": "Gesamtanzahl der Stunden, in denen das Laufwerk eingeschaltet war. Wird verwendet, um das Alter abzuschätzen und Ersatz zu planen.",
|
||
"powerOnHoursAndMsec": "Gesamteinschaltzeit mit Millisekundengenauigkeit.",
|
||
"powerCycleCount": "Gesamtzahl der vollständigen Ein-/Ausschaltzyklen. Häufiges Radfahren belastet die Elektronik.",
|
||
"powerOffRetractCount": "Mal wurden die Köpfe wegen Stromausfall (Festplatte) eingefahren. Hohe Werte weisen auf eine instabile Stromversorgung hin.",
|
||
"unexpectedPowerLossCt": "Unerwartete Leistungsverluste (SSD). Kann zu einer Beschädigung der Metadaten führen, wenn der Schreibcache aktiv war.",
|
||
"unsafeShutdownCount": "Stromausfälle ohne ordnungsgemäßes Herunterfahren (SSD). Bei hohen Werten besteht die Gefahr einer Firmware-Beschädigung.",
|
||
"startStopCount": "Start-/Stoppzyklen des Spindelmotors (HDD). Jeder Zyklus verursacht mechanischen Verschleiß.",
|
||
"spinUpTime": "Es wird Zeit, bis die Platten ihre volle Betriebsgeschwindigkeit (HDD) erreichen. Steigende Werte können auf Motorlagerverschleiß hinweisen.",
|
||
"spinRetryCount": "Fehlgeschlagene Versuche, den Motor (HDD) hochzudrehen. Ein Wert ungleich Null weist normalerweise auf Probleme mit der Stromversorgung oder dem Motor hin.",
|
||
"calibrationRetryCount": "Anzahl der Wiederholungsversuche der Kopfkalibrierung (HDD). Ein Wert ungleich Null kann auf mechanische Probleme hinweisen.",
|
||
"seekErrorRate": "Fehler bei der Kopfpositionierung (HDD). Aufgrund einer proprietären Formel sind hohe Rohwerte bei Seagate oft normal.",
|
||
"seekTimePerformance": "Durchschnittliche Suchvorgangsleistung (HDD). Sinkende Werte deuten auf eine mechanische Verschlechterung hin.",
|
||
"loadCycleCount": "Kopflade-/Entladezyklen (HDD). Ausgelegt für Zyklen von 300.000 bis 600.000 auf den meisten Laufwerken.",
|
||
"loadUnloadCycleCount": "Kopflade-/Entladezyklen (HDD). Jeder Zyklus verursacht einen geringen Verschleiß am Rampenmechanismus.",
|
||
"headFlyingHours": "Stundenlang wurden die Lese-/Schreibköpfe über den Platten (HDD) positioniert.",
|
||
"highFlyWrites": "Schreibt, wo der Kopf höher flog als erwartet (HDD). Daten werden möglicherweise nicht korrekt geschrieben.",
|
||
"gSenseErrorRate": "Vom Beschleunigungsmesser (HDD) erkannte Stoß- oder Vibrationsereignisse. Hohe Werte deuten auf eine körperliche Störung hin.",
|
||
"diskShift": "Entfernung, um die sich die Festplatte von ihrer ursprünglichen Position (HDD) verschoben hat. Temperatur- oder stoßbedingt.",
|
||
"loadedHours": "Stundenlange Arbeit mit vollen Köpfen über den Plattentellern (HDD).",
|
||
"loadInTime": "Zeitpunkt des Kopfladevorgangs. Herstellerspezifische Diagnosemetrik.",
|
||
"torqueAmplificationCount": "Manchmal benötigte der Antrieb zusätzliches Drehmoment, um hochzudrehen. Kann auf Haftreibung oder motorische Probleme hinweisen.",
|
||
"flyingHeight": "Abstand Kopf-Platte während des Betriebs (HDD). Entscheidend für die Lese-/Schreibzuverlässigkeit.",
|
||
"loadFriction": "Beim Laden des Kopfes (HDD) wurde Reibung erkannt. Steigende Werte deuten auf einen Verschleiß des Rampenmechanismus hin.",
|
||
"loadUnloadRetryCount": "Fehlgeschlagene Versuche zum Laden/Entladen des Kopfes (HDD). Ein Wert ungleich Null weist auf mechanische Probleme hin.",
|
||
"udmaCrcErrorCount": "Fehler bei der Datenübertragungsprüfsumme auf dem SATA-Kabel. Wird normalerweise durch ein defektes Kabel, eine lockere Verbindung oder ein Anschlussproblem verursacht.",
|
||
"crcErrors": "Fehler bei der Schnittstellenkommunikation. Wird normalerweise durch Kabel- oder Verbindungsprobleme verursacht.",
|
||
"crcErrorCount": "Prüfsummenfehler bei der Datenübertragung. Ersetzen Sie das SATA-Kabel, wenn dieser Wert steigt.",
|
||
"commandTimeout": "Befehle, die zu lange dauerten und zu einer Zeitüberschreitung führten. Kann auf Controller- oder Verbindungsprobleme hinweisen.",
|
||
"interfaceCrcErrorCount": "CRC-Fehler auf der Schnittstellenverbindung. Kabel- oder Steckerproblem.",
|
||
"hardwareEccRecovered": "Lesefehler durch Hardware-ECC korrigiert. Ein Wert ungleich Null ist normal; Das schnelle Wachstum erfordert Aufmerksamkeit.",
|
||
"eccErrorRate": "Rate der ECC-korrigierten Fehler. Proprietäre Formel; Der Wert ist wichtiger als die bloße Anzahl.",
|
||
"endToEndError": "Datenbeschädigung zwischen Controller-Cache und Host-Schnittstelle festgestellt. Sollte immer Null sein.",
|
||
"endToEndErrorDetectionCount": "Anzahl der Paritätsfehler im Datenpfad. Ein Wert ungleich Null weist auf Controller-Probleme hin.",
|
||
"wearLevelingCount": "Durchschnittliche Löschzyklen pro NAND-Block (SSD). Ein niedrigerer WERT bedeutet mehr verbrauchten Verschleiß.",
|
||
"wearRangeDelta": "Unterschied zwischen am meisten abgenutzten und am wenigsten abgenutzten Blöcken (SSD). Hohe Werte weisen auf ungleichmäßige Abnutzung hin.",
|
||
"mediaWearoutIndicator": "Geschätzte verbleibende Lebensdauer der Intel SSD. Beginnt bei 100 und sinkt auf 0, wenn die Ausdauer verbraucht wird.",
|
||
"ssdLifeLeft": "Geschätzter Prozentsatz der verbleibenden SSD-Lebensdauer basierend auf dem NAND-Verschleiß.",
|
||
"percentLifetimeRemain": "Geschätzter Prozentsatz der verbleibenden Lebensdauer. 100 bedeutet neu; 0 bedeutet Ende der Nennlebensdauer.",
|
||
"percentLifetimeUsed": "Prozentsatz der verbrauchten Nennausdauer. Kehrwert der prozentualen verbleibenden Lebensdauer.",
|
||
"availableReservedSpace": "Verbleibende Ersatzblöcke in Prozent (SSD). Niedrige Werte verringern die Fähigkeit des Laufwerks, fehlerhafte Blöcke zu verarbeiten.",
|
||
"usedReservedBlockCount": "Reserveblöcke, die für den Austausch fehlerhafter Blöcke (SSD) verbraucht werden. Ein wachsender Wert bedeutet Altern.",
|
||
"unusedReservedBlockCount": "Es stehen noch Reserveblöcke für den Bad-Block-Austausch (SSD) zur Verfügung. Null bedeutet, dass kein Austausch fehlerhafter Blöcke mehr möglich ist.",
|
||
"programFailCount": "NAND-Schreibfehler (SSD). Eine steigende Zahl bedeutet, dass die Flash-Zellen abgenutzt sind.",
|
||
"programFailCountChip": "Programmfehler auf Chipebene (SSD). Ein Wert ungleich Null weist auf eine NAND-Verschlechterung hin.",
|
||
"eraseFailCount": "Fehler beim NAND-Löschvorgang (SSD). Ein Wert ungleich Null weist auf starken Blitzverschleiß hin.",
|
||
"eraseFailCountTotal": "Gesamtzahl der NAND-Löschfehler (SSD). In Kombination mit der Anzahl der Programmfehler zeigt es den gesamten NAND-Zustand an.",
|
||
"eraseFailCountChip": "Fehler auf Chipebene (SSD) löschen. Ein Wert ungleich Null bedeutet NAND-Verschlechterung.",
|
||
"runtimeBadBlock": "Während des normalen Betriebs (SSD) entdeckte fehlerhafte Blöcke. Eine steigende Zahl bedeutet, dass der Blitz abgenutzt ist.",
|
||
"totalLbasWritten": "Gesamtzahl der geschriebenen logischen Blockadressen. Für das Gesamtdatenvolumen multiplizieren Sie es mit 512 Byte.",
|
||
"totalLbasRead": "Gesamtzahl der gelesenen logischen Blockadressen. Nützlich zur Berechnung der täglichen Arbeitsbelastung.",
|
||
"lifetimeWritesGib": "Gesamte Datenmenge, die während der Lebensdauer des Laufwerks in GiB geschrieben wurde.",
|
||
"lifetimeReadsGib": "Gesamte Datenmenge, die während der Lebensdauer des Laufwerks in GiB gelesen wurde.",
|
||
"totalWritesGib": "Gesamtdaten in GiB geschrieben. Zur Schätzung der Ausdauer mit der TBW-Bewertung vergleichen.",
|
||
"totalReadsGib": "Gesamte gelesene Daten in GiB.",
|
||
"nandWritesGib": "Raw NAND schreibt in GiB. Aufgrund der Schreibverstärkung höher als Host-Schreibvorgänge.",
|
||
"hostWrites32Mib": "Vom Host geschriebene Gesamtdaten in 32-MiB-Einheiten.",
|
||
"hostReads32Mib": "Gesamte vom Host gelesene Daten in 32-MiB-Einheiten.",
|
||
"hostWritesMib": "Gesamte vom Host geschriebene Daten in MiB.",
|
||
"hostReadsMib": "Gesamte vom Host gelesene Daten in MiB.",
|
||
"nandGbWrittenTlc": "Gesamte in TLC-NAND-Zellen geschriebene Daten in GB. Beinhaltet den Overhead für die Schreibverstärkung.",
|
||
"nandGibWritten": "Gesamte NAND-Schreibvorgänge in GiB. Höher als Host-Schreibvorgänge aufgrund von Schreibverstärkung und Speicherbereinigung.",
|
||
"averageBlockEraseCount": "Durchschnittliche Anzahl von Löschzyklen pro NAND-Block (SSD). Laufwerke sind normalerweise für Zyklen von 3.000 bis 100.000 ausgelegt.",
|
||
"averageEraseCount": "Durchschnittliche Löschzyklen pro Block. Zur Schätzung der verbleibenden Lebensdauer mit der Nennlebensdauer vergleichen.",
|
||
"maxEraseCount": "Maximale Löschzyklen für jeden einzelnen Block. Eine große Lücke im Durchschnitt weist auf ungleichmäßigen Verschleiß hin.",
|
||
"totalEraseCount": "Summe aller Löschzyklen über alle Blöcke hinweg. Gesamtindikator für das NAND-Schreibvolumen.",
|
||
"powerLossCapTest": "Ergebnis des Leistungsverlustschutz-Kondensator-Selbsttests (SSD). Fehlgeschlagen bedeutet, dass bei einem Stromausfall das Risiko eines Datenverlusts besteht.",
|
||
"powerLossProtection": "Status des Stromausfallschutzmechanismus. Enterprise-SSDs verwenden Kondensatoren, um den Cache bei Stromausfall zu leeren.",
|
||
"successfulRainRecovCnt": "Erfolgreiche Wiederherstellungen mit RAIN (Redundant Array of Independent NAND). Zeigt an, dass die NAND-Parität funktioniert.",
|
||
"ssdEraseFailCount": "Totale Löschfehler auf der gesamten SSD. Zeigt die allgemeine NAND-Verschlechterung an.",
|
||
"ssdProgramFailCount": "Gesamtzahl der Schreibfehler auf der SSD. Zeigt Probleme mit der Zuverlässigkeit der Flash-Zellen an.",
|
||
"throughputPerformance": "Gesamtdurchsatzleistungsbewertung (HDD). Sinkende Werte deuten auf eine Verschlechterung hin.",
|
||
"unknownAttribute": "Herstellerspezifisches Attribut, das im SMART-Standard nicht definiert ist. Überprüfen Sie die Herstellerdokumentation.",
|
||
"freeFallSensor": "Freifall-Ereignisse erkannt (Laptop-Festplatte). Die Köpfe sind geparkt, um Schäden bei Stürzen zu vermeiden.",
|
||
"grownDefectList": "Sektoren wurden aufgrund von während des Betriebs festgestellten Mängeln neu zugeordnet. Entspricht neu zugewiesenen Sektoren auf SATA. Eine wachsende Anzahl bedeutet eine Verschlechterung des Laufwerks.",
|
||
"readErrorsCorrected": "Lesefehler von ECC korrigiert. Normal für Unternehmenslaufwerke unter hoher Auslastung; Nur unkorrigierte Fehler sind kritisch.",
|
||
"readEccFast": "Fehler werden durch schnelles On-the-Fly-ECC während Lesevorgängen korrigiert. Normal bei SAS-Laufwerken.",
|
||
"readEccDelayed": "Fehler, die beim Lesen eine verzögerte oder Offline-ECC-Korrektur erfordern. Ein Wert ungleich Null ist akzeptabel, sollte aber nicht schnell ansteigen.",
|
||
"readUncorrectedErrors": "Lesefehler, die ECC nicht korrigieren konnte. Ein Wert ungleich Null bedeutet, dass Daten verloren gingen oder nicht lesbar waren. Kritische Metrik.",
|
||
"readDataProcessed": "Gesamte vom Laufwerk gelesene Daten. Nützlich zur Berechnung der täglichen Arbeitsbelastung.",
|
||
"writeErrorsCorrected": "Schreibfehler von ECC korrigiert. Normal für Unternehmenslaufwerke.",
|
||
"writeUncorrectedErrors": "Schreibfehler, die ECC nicht korrigieren konnte. Ein Wert ungleich Null bedeutet potenziellen Datenverlust. Kritisch.",
|
||
"writeDataProcessed": "Gesamtdaten, die auf das Laufwerk geschrieben wurden. Nützlich für die Workload-Analyse.",
|
||
"verifyErrorsCorrected": "Überprüfungsfehler wurden während Hintergrundüberprüfungsvorgängen korrigiert.",
|
||
"verifyUncorrectedErrors": "Überprüfen Sie Fehler, die nicht behoben werden konnten. Ein Wert ungleich Null weist auf eine Verschlechterung des Mediums hin.",
|
||
"nonMediumErrors": "Controller- oder Busfehler, die nichts mit dem Medium selbst zu tun haben. Ein hoher Wert kann auf Probleme mit der Rückwandplatine oder dem Kabel hinweisen.",
|
||
"sasTemperature": "Aktuelle Laufwerkstemperatur. Enterprise-SAS-Laufwerke vertragen unter Dauerlast bis zu 55–60 °C.",
|
||
"sasPowerOnHours": "Gesamtstunden, in denen das Laufwerk eingeschaltet war. Enterprise-Festplatten sind für den 24/7-Betrieb ausgelegt.",
|
||
"startStopCycles": "Start-/Stoppzyklen des Motors. Enterprise-SAS-Laufwerke sind für mehr als 50.000 Zyklen ausgelegt.",
|
||
"loadUnloadCycles": "Lade-/Entladezyklen des Kopfes. Enterprise-Festplatten sind für mehr als 600.000 Zyklen ausgelegt.",
|
||
"backgroundScanStatus": "Status des SCSI-Hintergrundmedienscans. Läuft kontinuierlich, um Oberflächenfehler zu erkennen."
|
||
},
|
||
"recommendations": {
|
||
"healthyTitle": "Die Festplatte ist fehlerfrei",
|
||
"healthyText": "Alle SMART-Attribute liegen im Normalbereich. Setzen Sie die regelmäßige Überwachung fort.",
|
||
"criticalTitle": "Kritisch: Problem mit dem Festplattenzustand erkannt",
|
||
"criticalText": "SMART hat ein Gesundheitsproblem gemeldet. Sichern Sie sofort alle Daten und planen Sie den Austausch der Festplatte.",
|
||
"reallocatedTitle": "Neu zugewiesene Sektoren erkannt ({count})",
|
||
"reallocatedText": "Die Festplatte weist fehlerhafte Sektoren auf, die neu zugeordnet wurden. Überwachen Sie es genau und erwägen Sie einen Austausch, wenn die Anzahl zunimmt.",
|
||
"pendingTitle": "Ausstehende Sektoren ({count})",
|
||
"pendingText": "Einige Sektoren warten auf eine Neuzuteilung. Dies kann auf einen drohenden Ausfall hinweisen.",
|
||
"highTemperature": "Hohe Temperatur ({temperature}°C)",
|
||
"hotHdd": "Die Festplatte läuft heiß. Verbessern Sie den Luftstrom im Gehäuse oder sorgen Sie für zusätzliche Kühlung.",
|
||
"hotSsd": "Die SSD läuft heiß. Überprüfen Sie den Luftstrom um das Laufwerk.",
|
||
"hotNvme": "Das NVMe ist überhitzt. Erwägen Sie den Einbau eines Kühlkörpers oder die Verbesserung der Gehäuseluftzirkulation.",
|
||
"maintenanceTitle": "Regelmäßige Wartung",
|
||
"maintenanceText": "Planen Sie jeden Monat einen erweiterten SMART-Test ein, um Probleme frühzeitig zu erkennen.",
|
||
"backupTitle": "Backup-Strategie",
|
||
"backupText": "Sichern Sie wichtige Daten regelmäßig, unabhängig vom Zustand der Festplatte.",
|
||
"nvmeWarningTitle": "Kritische NVMe-Warnung aktiv (0x{value})",
|
||
"nvmeWarningText": "Der NVMe-Controller hat eine Warnung ausgelöst. Sichern Sie die Daten sofort und untersuchen Sie sie weiter.",
|
||
"nvmeMediaTitle": "NVMe-Medienfehler erkannt ({count})",
|
||
"nvmeMediaText": "Nicht behebbare NAND-Flash-Fehler weisen auf einen physischen Schaden hin. Sichern Sie Ihre Daten und planen Sie den Austausch.",
|
||
"unsafeTitle": "Hohe Anzahl unsicherer Abschaltungen ({count})",
|
||
"unsafeText": "Häufige Stromausfälle erhöhen das Risiko einer Firmware-Beschädigung. Sorgen Sie für eine stabile Stromversorgung oder verwenden Sie eine USV.",
|
||
"seagateTitle": "Seagate Raw_Read_Error_Rate – Normales Verhalten",
|
||
"seagateText": "Seagate-Laufwerke melden sehr große Rohwerte für Attribut Nr. 1. Dies wird erwartet; Es zählt nur der normalisierte Wert und dieser sollte bei 100 bleiben.",
|
||
"smrTitle": "SMR-Laufwerk erkannt – Schreibbeschränkungen",
|
||
"smrText": "SMR-Festplatten schreiben zufällige Daten langsamer und können bei hoher gemischter Arbeitslast zum Stillstand kommen. Sie eignen sich für Backups und Archive, werden jedoch nicht als primärer Proxmox-Speicher oder ZFS-vdevs empfohlen."
|
||
}
|
||
},
|
||
"ataErrors": {
|
||
"idnf": "Sektoradresse nicht gefunden – möglicherweise fehlerhafter Sektor oder Kabelproblem",
|
||
"unc": "Nicht korrigierbarer Lesefehler – fehlerhafter Sektor",
|
||
"abrt": "Befehl wurde vom Laufwerk abgebrochen",
|
||
"amnf": "Adressmarkierung nicht gefunden – Oberflächenschaden",
|
||
"tk0nf": "Spur 0 nicht gefunden – Hardwarefehler des Laufwerks",
|
||
"bbk": "Fehlerhafter Block erkannt",
|
||
"icrc": "Schnittstellen-CRC-Fehler – Kabel- oder Steckerproblem",
|
||
"mc": "Medien verändert",
|
||
"mcr": "Medienwechsel beantragt",
|
||
"wp": "Schreibgeschützt"
|
||
},
|
||
"scheduleTab": {
|
||
"loading": "Zeitpläne werden geladen...",
|
||
"automaticTests": "Automatische SMART-Tests",
|
||
"toggleHelp": "Aktivieren oder deaktivieren Sie alle geplanten Tests",
|
||
"enabled": "Ermöglicht",
|
||
"disabled": "Deaktiviert",
|
||
"configured": "Konfigurierte Zeitpläne",
|
||
"disks": "Festplatten",
|
||
"allDisks": "alle Festplatten",
|
||
"keepResults": "Behalten Sie {count} Ergebnisse",
|
||
"empty": "Keine geplanten Tests konfiguriert",
|
||
"emptyHint": "Erstellen Sie einen Zeitplan, um SMART-Tests automatisch auszuführen.",
|
||
"edit": "Zeitplan bearbeiten",
|
||
"new": "Neuer Zeitplan",
|
||
"testType": "Testtyp",
|
||
"frequency": "Frequenz",
|
||
"daily": "Täglich",
|
||
"weekly": "Wöchentlich",
|
||
"monthly": "Monatlich",
|
||
"dailyAt": "Täglich um {time}",
|
||
"weeklyAt": "{day} um {time}",
|
||
"monthlyAt": "Tag {day} des Monats um {time}",
|
||
"dayOfWeek": "Wochentag",
|
||
"dayOfMonth": "Tag des Monats",
|
||
"timeHour": "Zeit (Stunde)",
|
||
"retention": "Behalten Sie die Ergebnisse bei",
|
||
"lastN": "Letzte {count}",
|
||
"keepAll": "Behalten Sie alle",
|
||
"saving": "Sparen...",
|
||
"save": "Zeitplan speichern",
|
||
"cancel": "Stornieren",
|
||
"add": "Zeitplan hinzufügen",
|
||
"note": "Geplante Tests werden automatisch über Cron ausgeführt. Die Ergebnisse werden im SMART-Verlauf gespeichert.",
|
||
"days": {
|
||
"sunday": "Sonntag",
|
||
"monday": "Montag",
|
||
"tuesday": "Dienstag",
|
||
"wednesday": "Mittwoch",
|
||
"thursday": "Donnerstag",
|
||
"friday": "Freitag",
|
||
"saturday": "Samstag"
|
||
}
|
||
}
|
||
},
|
||
"details": {
|
||
"temperature": {
|
||
"title": "CPU-Temperatur",
|
||
"diskTitle": "Temperatur",
|
||
"current": "Aktuell",
|
||
"min": "Min",
|
||
"avg": "Durchschn",
|
||
"max": "Max",
|
||
"seriesName": "Temperatur",
|
||
"noData": "Für diesen Zeitraum sind keine Temperaturdaten verfügbar",
|
||
"collectionHint": "Die Daten werden alle 60 Sekunden erfasst",
|
||
"openHistory": "Temperaturverlauf öffnen",
|
||
"collectingSamples": "Sammeln von Proben – Diagramm wird nach ca. 2 Minuten gefüllt",
|
||
"sampleInterval": "Proben werden alle 60 Sekunden gesammelt",
|
||
"timeframes": {
|
||
"hour": "1 Stunde",
|
||
"day": "24 Stunden",
|
||
"week": "7 Tage",
|
||
"month": "30 Tage"
|
||
},
|
||
"status": {
|
||
"hot": "Heiß",
|
||
"warm": "Warm",
|
||
"normal": "Normal"
|
||
}
|
||
},
|
||
"processes": {
|
||
"topByCpu": "Top-Prozesse nach CPU",
|
||
"topByMemory": "Top-Prozesse von Memory",
|
||
"cpuDescription": "Aktuelle CPU-Nutzung pro Prozess als Bruchteil der gesamten CPU des Hosts – gleiche Skala wie auf der Karte „CPU-Nutzung“ oben. Wird im geöffneten Zustand alle 3 Sekunden aktualisiert.",
|
||
"memoryDescription": "Aktueller residenter Speicher pro Prozess. Wird im geöffneten Zustand alle 3 Sekunden aktualisiert.",
|
||
"filterPlaceholder": "Filtern Sie nach Befehlszeile, Benutzer oder PID...",
|
||
"pid": "PID",
|
||
"user": "Benutzer",
|
||
"command": "Befehl",
|
||
"cpuPercent": "CPU %",
|
||
"memory": "Erinnerung",
|
||
"memPercent": "Speicher %",
|
||
"noMatches": "Keine Prozesse passen zum Filter",
|
||
"captured": "Erfasst {time}",
|
||
"matchCount": "{count} Übereinstimmung von {total} Prozessen",
|
||
"matchesCount": "{count} Übereinstimmungen von {total} Prozessen",
|
||
"topCount": "Top {shown} von {total} Prozessen",
|
||
"loadFailed": "Prozesse konnten nicht abgerufen werden",
|
||
"lifetimeAverageTitle": "Durchschnittlicher CPU-Prozentsatz über die gesamte Lebensdauer dieses Prozesses – nützlich, um Baselines mit langer Laufzeit im Leerlauf zu finden",
|
||
"averageShort": "avg"
|
||
},
|
||
"processInfo": {
|
||
"titleFallback": "Verfahren",
|
||
"descriptionLive": "Live-Schnappschuss von /proc/{pid}. Wird im geöffneten Zustand automatisch alle {seconds} s aktualisiert.",
|
||
"descriptionExited": "Letzter Snapshot von /proc/{pid} vor Abschluss des Prozesses.",
|
||
"finishedTitle": "Dieser Vorgang ist abgeschlossen",
|
||
"finishedDescription": "Es handelte sich wahrscheinlich um einen kurzlebigen Hilfs-, Skript-, PCT-Exec- oder One-Shot-Befehl, der ausgeführt wurde, während das Modal geöffnet war. Bei den folgenden Daten handelt es sich um den letzten Snapshot, der vor dem Beenden erfasst wurde – kein veralteter oder fehlerhafter Lesevorgang.",
|
||
"loading": "Laden…",
|
||
"fetchFailed": "Prozess konnte nicht abgerufen werden",
|
||
"captured": "Gefangen",
|
||
"lastSeen": "Zuletzt gesehen",
|
||
"sections": {
|
||
"overview": "Überblick",
|
||
"resources": "Ressourcen",
|
||
"command": "Befehl",
|
||
"lifetime": "Lebensdauer"
|
||
},
|
||
"labels": {
|
||
"state": "Zustand",
|
||
"parent": "Übergeordneter Prozess",
|
||
"threads": "Threads",
|
||
"openFds": "Offene FDs",
|
||
"user": "Benutzer",
|
||
"group": "Gruppe",
|
||
"cpu": "CPU",
|
||
"memory": "Erinnerung",
|
||
"residentRss": "Bewohner (RSS)",
|
||
"virtualSize": "Virtuelle Größe",
|
||
"swap": "Swap",
|
||
"ioRead": "E/A-Lesung",
|
||
"ioWrite": "E/A-Schreiben",
|
||
"name": "Name",
|
||
"commandLine": "Befehlszeile",
|
||
"executable": "Ausführbar",
|
||
"workingDir": "Arbeitsverzeichnis",
|
||
"started": "Begonnen",
|
||
"runningFor": "Läuft seit"
|
||
},
|
||
"states": {
|
||
"running": "Läuft",
|
||
"sleeping": "Schlafen",
|
||
"diskWait": "Festplatte warten",
|
||
"zombie": "Zombie",
|
||
"stopped": "Angehalten",
|
||
"tracingStop": "Suchstopp",
|
||
"dead": "Tot",
|
||
"idle": "Leerlauf",
|
||
"exited": "Ausgegangen"
|
||
}
|
||
}
|
||
},
|
||
"vmLxc": {
|
||
"loadingTitle": "VMs und LXCs werden geladen...",
|
||
"loadingDescription": "Abrufen des VM- und LXC-Containerstatus",
|
||
"loadingError": "Fehler beim Laden virtueller Maschinen: {error}",
|
||
"totalVmLxc": "Gesamtzahl der VMs und LXCs",
|
||
"totalCpuAllocated": "Gesamte zugewiesene CPU",
|
||
"totalMemory": "Gesamtspeicher",
|
||
"totalDisk": "Gesamte Festplatte",
|
||
"running": "läuft",
|
||
"stopped": "gestoppt",
|
||
"vms": "VMs",
|
||
"used": "Gebraucht",
|
||
"configured": "Konfiguriert",
|
||
"inUse": "Im Einsatz",
|
||
"allocated": "Zuordnen",
|
||
"total": "Gesamt",
|
||
"utilization": "util",
|
||
"idle": "Leerlauf",
|
||
"listTitle": "Virtuelle Maschinen und Container",
|
||
"empty": "Keine virtuellen Maschinen gefunden",
|
||
"uptime": "Betriebszeit: {uptime}",
|
||
"cpuUsage": "CPU-Auslastung",
|
||
"memory": "Erinnerung",
|
||
"disk": "Scheibe",
|
||
"diskUsage": "Festplattennutzung",
|
||
"diskIo": "Festplatten-E/A",
|
||
"networkIo": "Netzwerk-E/A",
|
||
"sinceBoot": "seit dem Booten",
|
||
"loadingConfiguration": "Konfiguration wird geladen...",
|
||
"resources": "Ressourcen",
|
||
"cpuCores": "CPU-Kerne",
|
||
"notes": "Notizen",
|
||
"hideNotes": "Notizen ausblenden",
|
||
"lessInfo": "Weniger Informationen",
|
||
"info": "Info",
|
||
"ipAddresses": "IP-Adressen",
|
||
"enterNotes": "Geben Sie hier Notizen ein...",
|
||
"editNotes": "Bearbeiten",
|
||
"savingNotes": "Sparen...",
|
||
"notesDecodeError": "Fehler beim Dekodieren von Notizen. Bitte bearbeiten, um das Problem zu beheben.",
|
||
"noNotes": "Noch keine Notizen. Klicken Sie auf Bearbeiten, um Notizen hinzuzufügen.",
|
||
"containerConfiguration": "Containerkonfiguration",
|
||
"mountedFromContainer": "Von innen im Container montiert",
|
||
"openTerminal": "Öffnen Sie das Terminal",
|
||
"coreCount": {
|
||
"one": "{count} Kern",
|
||
"few": "{count} Kerne",
|
||
"many": "{count} Kerne"
|
||
},
|
||
"duration": {
|
||
"dhm": "{days}d {hours}h {minutes}m"
|
||
},
|
||
"details": {
|
||
"sourceHost": "Quelle (Host)",
|
||
"mountedAtCt": "Montiert bei (CT)",
|
||
"total": "Gesamt",
|
||
"used": "Gebraucht",
|
||
"available": "Verfügbar",
|
||
"swap": "Swap",
|
||
"privilegeLevel": "Berechtigungsstufe",
|
||
"gpuPassthrough": "GPU-Passthrough",
|
||
"hardwareDevices": "Hardwaregeräte",
|
||
"cpuSockets": "CPU-Sockel",
|
||
"cpuType": "CPU-Typ",
|
||
"numa": "NUMA",
|
||
"bios": "BIOS",
|
||
"machineType": "Maschinentyp",
|
||
"vga": "VGA",
|
||
"qemuAgent": "QEMU-Agent",
|
||
"tabletPointer": "Tablet-Zeiger",
|
||
"localTime": "Ortszeit",
|
||
"rawConfig": "Rohkonfiguration",
|
||
"scsiController": "SCSI-Controller",
|
||
"dnsNameserver": "DNS-Nameserver",
|
||
"searchDomain": "Suchdomäne",
|
||
"hostname": "Hostname",
|
||
"storageType": "{type} Speicher",
|
||
"mountAttributes": "Mount-Attribute (LXC-Konfiguration)",
|
||
"runtimeMountOptions": "Laufzeit-Mount-Optionen",
|
||
"privileged": "Privilegiert",
|
||
"unprivileged": "Unprivilegiert",
|
||
"hardware": "Hardware",
|
||
"pciPassthrough": "PCI-Passthrough",
|
||
"usbDevices": "USB-Geräte",
|
||
"serialPorts": "Serielle Ports",
|
||
"bridge": "Brücke",
|
||
"enabled": "Ermöglicht",
|
||
"disabled": "Deaktiviert",
|
||
"on": "An",
|
||
"off": "aus",
|
||
"included": "enthalten",
|
||
"excluded": "ausgeschlossen",
|
||
"storage": "Lagerung",
|
||
"rootFilesystem": "Root-Dateisystem",
|
||
"efiDisk": "EFI-Festplatte",
|
||
"tpmState": "TPM-Status",
|
||
"mountPoint": "Einhängepunkt",
|
||
"mountPointIndexed": "Mountpunkt {index}",
|
||
"network": "Netzwerk",
|
||
"networkInterface": "Netzwerkschnittstelle {index}",
|
||
"hostInterface": "Gastgeber: {interface}",
|
||
"gateway": "Tor",
|
||
"gatewayV6": "Gateway v6",
|
||
"type": "Typ",
|
||
"rateLimit": "Ratenbegrenzung",
|
||
"firewall": "Firewall",
|
||
"backup": "Sicherung",
|
||
"replicate": "Replizieren",
|
||
"volume": "Volumen",
|
||
"path": "Weg",
|
||
"media": "Medien",
|
||
"discard": "Verwerfen",
|
||
"cache": "Cache",
|
||
"efiType": "EFI-Typ",
|
||
"preEnrolledKeys": "Vorab registrierte Schlüssel",
|
||
"serial": "Seriell",
|
||
"mountTypes": {
|
||
"pveVolume": "PVE-Volumen",
|
||
"pveStorageBind": "aus dem PVE-Speicher binden",
|
||
"hostBind": "Vom Host binden",
|
||
"adHoc": "Ad-hoc innerhalb von CT"
|
||
},
|
||
"mountStatus": {
|
||
"stale": "abgestanden",
|
||
"notMounted": "nicht montiert",
|
||
"hostDetached": "Gastgeber getrennt",
|
||
"readOnly": "schreibgeschützt",
|
||
"stopped": "gestoppt",
|
||
"mounted": "montiert"
|
||
},
|
||
"startOnBoot": "Beim Booten beginnen",
|
||
"tags": "Tags",
|
||
"tagsPlaceholder": "Tag hinzufügen…",
|
||
"tagsNone": "Keine Tags",
|
||
"mountErrors": {
|
||
"configuredButNotMounted": "Konfiguriert, aber nicht gemountet"
|
||
}
|
||
},
|
||
"logs": {
|
||
"header": "Protokolle für {name} (VMID: {vmid})",
|
||
"node": "Knoten",
|
||
"type": "Typ",
|
||
"totalLines": "Gesamtzeilen",
|
||
"generated": "Generiert"
|
||
},
|
||
"tabs": {
|
||
"status": "Status",
|
||
"mounts": "Reittiere",
|
||
"backups": "Backups",
|
||
"updates": "Aktualisierungen",
|
||
"firewall": "Firewall",
|
||
"app": "App"
|
||
},
|
||
"actions": {
|
||
"start": "Start",
|
||
"shutdown": "Abschalten",
|
||
"reboot": "Neustart",
|
||
"forceStop": "Stopp erzwingen",
|
||
"working": "Arbeiten..."
|
||
},
|
||
"confirm": {
|
||
"forceStopTitle": "Stopp erzwingen",
|
||
"rebootTitle": "Neustart",
|
||
"forceStopDescription": "Dadurch wird die Abschaltsequenz des Gastbetriebssystems übersprungen und laufende Datenbanken oder Dateisysteme können beschädigt werden. Der Gast wird sofort getötet.",
|
||
"rebootDescription": "Dies erzwingt einen Neustart, ohne darauf zu warten, dass das Gastbetriebssystem ausstehende Schreibvorgänge löscht. Verwenden Sie nach Möglichkeit ein ordnungsgemäßes Herunterfahren.",
|
||
"typeToConfirm": "Geben Sie zur Bestätigung {vmid} ein:",
|
||
"guest": "Gast:"
|
||
},
|
||
"guestTypes": {
|
||
"container": "Container",
|
||
"vm": "VM",
|
||
"containerUi": "Container"
|
||
},
|
||
"backups": {
|
||
"title": "Backups",
|
||
"create": "Backup erstellen",
|
||
"available": "Verfügbare Backups",
|
||
"loading": "Backups werden geladen...",
|
||
"empty": "Keine Backups gefunden",
|
||
"emptyHint": "Erstellen Sie Ihr erstes Backup über die Schaltfläche oben"
|
||
},
|
||
"updatesPanel": {
|
||
"pendingTitle": "Ausstehende Paketaktualisierungen",
|
||
"total": "{count} insgesamt",
|
||
"lastChecked": "Zuletzt überprüft:",
|
||
"applyWith": "Bewerben Sie sich mit",
|
||
"securityUpdate": "Sicherheitsupdate",
|
||
"security": "Sicherheit",
|
||
"clickToView": "Klicken Sie hier, um ausstehende Pakete anzuzeigen",
|
||
"updateSingular": "aktualisieren",
|
||
"updatePlural": "Aktualisierungen",
|
||
"packagePending": "{count} Paket ausstehend",
|
||
"packagesPending": "{count} Pakete stehen aus",
|
||
"securityUpdatePending": "{count} Sicherheitsupdate",
|
||
"securityUpdatesPending": "{count} Sicherheitsupdates",
|
||
"fullListInside": "Vollständige Liste im Container verfügbar:",
|
||
"loadingMountPoints": "Mount-Punkte werden geladen..."
|
||
},
|
||
"errors": {
|
||
"unknown": "Unbekannter Fehler",
|
||
"backupStartFailed": "Sicherung konnte nicht gestartet werden: {message}",
|
||
"controlFailed": "Fehler bei {action} VM {vmid}: {message}",
|
||
"saveNotesFailed": "Fehler beim Speichern der Notizen. Bitte versuchen Sie es erneut.",
|
||
"appNotFound": "Diese Anwendung ist nicht mehr verfügbar. Aktualisieren Sie die Seite und versuchen Sie es erneut.",
|
||
"saveCustomCommandFailed": "Der benutzerdefinierte Aktualisierungsbefehl konnte nicht gespeichert werden: {message}",
|
||
"removeCustomCommandConfirm": "Den benutzerdefinierten Aktualisierungsbefehl für „{name}“ entfernen?",
|
||
"removeCustomCommandFailed": "Der benutzerdefinierte Aktualisierungsbefehl konnte nicht entfernt werden: {message}",
|
||
"hideNoticeFailed": "Dieser Hinweis konnte nicht ausgeblendet werden: {message}"
|
||
},
|
||
"backupModal": {
|
||
"title": "Sicherung {type} {vmid} ({name})",
|
||
"description": "Konfigurieren Sie Sicherungsoptionen für diesen {type}",
|
||
"storage": "Lagerung",
|
||
"selectStorage": "Speicher auswählen",
|
||
"free": "frei",
|
||
"mode": "Modus",
|
||
"notification": "Benachrichtigung",
|
||
"useGlobalSettings": "Verwenden Sie globale Einstellungen",
|
||
"alwaysNotify": "Immer benachrichtigen",
|
||
"notifyOnFailure": "Bei Fehler benachrichtigen",
|
||
"neverNotify": "Benachrichtigen Sie niemals",
|
||
"protected": "Geschützt (versehentliches Löschen verhindern)",
|
||
"pbsChangeMode": "PBS-Änderungserkennungsmodus",
|
||
"forPbsStorage": "für PBS-Speicher",
|
||
"notes": "Notizen",
|
||
"variables": "Variablen: {{cluster}}, {{guestname}}, {{node}}, {{vmid}}",
|
||
"creating": "Erstellen...",
|
||
"submit": "Sicherung",
|
||
"typeContainer": "Container",
|
||
"typeVirtualMachine": "virtuelle Maschine",
|
||
"modes": {
|
||
"snapshot": "Schnappschuss",
|
||
"suspend": "Aussetzen",
|
||
"stop": "Stoppen"
|
||
},
|
||
"changeModes": {
|
||
"default": "Standard",
|
||
"legacy": "Vermächtnis",
|
||
"data": "Daten"
|
||
}
|
||
},
|
||
"firewall": {
|
||
"title": "Firewall-Protokolle",
|
||
"refresh": "Aktualisieren",
|
||
"loading": "Firewall-Protokoll wird geladen...",
|
||
"disabledTitle": "Die Firewall ist für diesen {type} nicht aktiviert.",
|
||
"disabledHint": "Aktivieren Sie es in der Proxmox-Benutzeroberfläche unter {type} -> Firewall -> Optionen und fügen Sie mindestens eine Regel mit log: info oder höher hinzu, damit Pakete aufgezeichnet werden. Bei der nächsten Aktualisierung erscheinen hier automatisch neue Einträge.",
|
||
"readFailed": "Das Firewall-Protokoll konnte nicht gelesen werden",
|
||
"empty": "Es wurden noch keine Firewall-Ereignisse aufgezeichnet.",
|
||
"emptyHint": "Regeln mit log:info oder höher füllen diese Ansicht, wenn Pakete eintreffen."
|
||
},
|
||
"options": {
|
||
"title": "Optionen",
|
||
"snapshotBefore": "Schnappschuss vor der Bewerbung",
|
||
"snapshotOn": "– am {storage}",
|
||
"noSnapshot": "Kein Schnappschuss vor der Bewerbung",
|
||
"restartAfter": "Starten Sie den Behälter nach dem Auftragen neu",
|
||
"noRestart": "Kein Neustart nach der Bewerbung",
|
||
"snapshotLabel": "Snapshot des Containers vor der Anwendung (vzdump)",
|
||
"appliesToBoth": "Gilt für manuelle und geplante Ausführungen.",
|
||
"backupStorage": "Backup-Speicher",
|
||
"pickStorage": "Wählen Sie einen Speicher",
|
||
"editButton": "Bearbeiten",
|
||
"cancelButton": "Stornieren",
|
||
"saveButton": "Speichern",
|
||
"storageAuto": "Auto"
|
||
},
|
||
"scheduled": {
|
||
"title": "Geplante Updates",
|
||
"enabledHelper": "Läuft im Hintergrund mit den oben genannten Anwendungsoptionen.",
|
||
"disabledHelper": "Aktivieren Sie diese Option, um Updates automatisch nach einem Cron-Zeitplan auszuführen.",
|
||
"chipLabel": "Zeitplan",
|
||
"disabledSuffix": "(deaktiviert)",
|
||
"whatLabel": "Was:",
|
||
"targetOs": "Betriebssystempakete",
|
||
"targetApp": "Anwendung",
|
||
"targetBoth": "Betriebssystem + Anwendung",
|
||
"lastRun": "Letzte Ausführung: {date}",
|
||
"rebootRequired": "Zum Abschluss der Aktualisierung ist ein Neustart erforderlich.",
|
||
"rebootPackages": "Pakete: {packages}",
|
||
"viewLog": "Protokoll anzeigen",
|
||
"logTitle": "Aktualisierungsprotokoll",
|
||
"logDescription": "Ausgabe der letzten geplanten Aktualisierung von {name} (LXC {vmid}).",
|
||
"logLoading": "Protokoll wird geladen…",
|
||
"logEmpty": "Dieser Lauf hat keine Ausgabe erzeugt.",
|
||
"logFailed": "Das Aktualisierungsprotokoll konnte nicht geladen werden.",
|
||
"logTruncated": "Es wird nur das Ende des Protokolls angezeigt, da es das Anzeigelimit überschreitet.",
|
||
"closeLog": "Schließen",
|
||
"runSuccess": "✓ Erfolg",
|
||
"runPartial": "teilweise abgeschlossen",
|
||
"runFailed": "✗ fehlgeschlagen",
|
||
"runDeferred": "zur Sicherheit zurückgestellt",
|
||
"runSkipped": "nichts ausstehend",
|
||
"releaseDelaySummary": "{days} Tag(e) Freigabesperre",
|
||
"releaseDelayLabel": "Nach neuer App-Version warten",
|
||
"releaseDelayNone": "Keine Wartezeit",
|
||
"releaseDelayDays": "{days} Tag(e) warten",
|
||
"releaseDelayHelp": "Gilt nur für ausgewählte Apps mit Versionsüberwachung. Deren ausstehende Versionen müssen dieses Alter erreicht haben; Apps ohne Versionsüberwachung führen ihren Updater bei jedem Zeitplan aus.",
|
||
"notScheduled": "Nicht geplant",
|
||
"frequency": "Frequenz",
|
||
"cronExpression": "Cron-Ausdruck",
|
||
"cronPlaceholder": "z. B. 0 3 * * *",
|
||
"whatToUpdate": "Was soll aktualisiert werden?",
|
||
"targetOptionOs": "Nur Betriebssystempakete",
|
||
"targetOptionApp": "Nur Bewerbung",
|
||
"targetOptionBoth": "Betriebssystem + Anwendung",
|
||
"dockerComposeTarget": "Docker Compose · {project}",
|
||
"dockerContainerTarget": "Docker-Container · {container}",
|
||
"dockerEngineTarget": "Docker Engine",
|
||
"noTargets": "Keine Ziele ausgewählt",
|
||
"selectAtLeastOne": "Wählen Sie mindestens ein Aktualisierungsziel aus.",
|
||
"deleteButton": "Zeitplan löschen",
|
||
"deleteConfirm": "Geplante Updates für diesen Container entfernen? Die Standardeinstellungen (Sicherung + Neustart) werden beibehalten.",
|
||
"loadFailed": "Die geplanten Updates konnten nicht geladen werden.",
|
||
"saveFailed": "Die geplanten Updates konnten nicht gespeichert werden.",
|
||
"deleteFailed": "Die geplanten Updates konnten nicht entfernt werden.",
|
||
"humanDaily": "Täglich um {time}",
|
||
"humanWeekly": "Wöchentlich ({day} {time})",
|
||
"humanMonthly": "Monatlich (Tag {day} um {time})",
|
||
"humanHourly": "Stündlich",
|
||
"weekdays": [
|
||
"Sonntag",
|
||
"Montag",
|
||
"Dienstag",
|
||
"Mittwoch",
|
||
"Donnerstag",
|
||
"Freitag",
|
||
"Samstag"
|
||
]
|
||
},
|
||
"cronChip": {
|
||
"detected": "Host-Cron erkannt",
|
||
"variantTteck": "Tteck (Vermächtnis)",
|
||
"variantCustom": "Brauch",
|
||
"variantCommunityScripts": "Community-Skripte",
|
||
"scopeAptApk": "apt/apk auf allen CTs",
|
||
"scopeUnknown": "Umfang unbekannt"
|
||
},
|
||
"cronPresets": {
|
||
"hourly": "Stündlich",
|
||
"dailyAt3": "Täglich um 15:00 Uhr",
|
||
"dailyAtNoon": "Täglich um 12:00 Uhr",
|
||
"weeklySun3": "Wöchentlich (Sonntag 3:00)",
|
||
"monthly1st3": "Monatlich (1. um 3:00)",
|
||
"custom": "Benutzerdefinierte Cron…"
|
||
},
|
||
"updates": {
|
||
"updatedWithDockerImage": "Wird zusammen mit dem Docker-Image aktualisiert.",
|
||
"dockerBindingUnavailable": "Noch kein Image zugeordnet. Prüfen Sie den Containernamen und aktualisieren Sie das Image-Inventar.",
|
||
"osPackagesTitle": "Betriebssystempakete",
|
||
"lastCheckedPrefix": "Zuletzt überprüft:",
|
||
"familyLabel": "Familie:",
|
||
"applyOsUpdate": "Betriebssystem-Update anwenden",
|
||
"osUpToDate": "Betriebssystem auf dem neuesten Stand",
|
||
"osStatusUnavailable": "Der Status der Betriebssystemaktualisierungen konnte nicht ermittelt werden.",
|
||
"installedByHelperPrefix": "Installiert von",
|
||
"helperScriptsName": "Proxmox VE Helper-Scripts",
|
||
"helperCommandEditHint": "Wenn du diesen Aufruf bearbeitest, wird er als benutzerdefinierter Befehl gespeichert.",
|
||
"customOnlineDescription": "Oder verwende ein vom Entwickler bereitgestelltes Online-Skript:",
|
||
"customOnlineExampleNote": "Ersetze die Beispiel-URL durch die URL des offiziellen Skripts deiner Anwendung.",
|
||
"customExamplesHeading": "Beispiele zum Anpassen:",
|
||
"updaterChoiceHint": "Wähle eine Aktualisierungsmethode und speichere sie.",
|
||
"updaterMethodLabel": "Aktualisierungsmethode",
|
||
"helperMethod": "Helper-Scripts",
|
||
"customMethod": "Eigener Befehl",
|
||
"helperMethodHelp": "Über Helper-Scripts",
|
||
"customMethodHelp": "Über eigene Befehle",
|
||
"helperDetectedChoice": "Helper-Scripts-Updater für diese Anwendung erkannt.",
|
||
"helperUnavailableChoice": "Der ausgewählte Helper-Scripts-Updater ist nicht mehr verfügbar.",
|
||
"disableUpdater": "Deaktivieren",
|
||
"disableUpdaterConfirm": "Aktualisierungsmethode für {name} deaktivieren? Gespeicherte Pläne und Zeitpläne behalten ihre Auswahl, führen diese Anwendung aber erst wieder aus, wenn eine Methode konfiguriert ist.",
|
||
"noUpdaterSelected": "Du hast keine Aktualisierungsmethode ausgewählt.",
|
||
"helperMethodDescription": "ProxMenux führt den erkannten Updater in diesem LXC aus und zeigt dessen Protokoll und Ergebnis. Der Updater wird von Proxmox VE Helper-Scripts gepflegt.",
|
||
"customMethodDescription": "Du kannst den Updater der Anwendung, einen Paketmanager oder eine neue Binärdatei verwenden. Der Befehl wird in diesem LXC mit Administratorrechten ausgeführt.",
|
||
"updaterInstructions": "Lies die Hinweise des Updaters.",
|
||
"helperDocumentation": "Aktualisierungsdokumentation",
|
||
"helperSource": "Anwendungsskript",
|
||
"customMethodExample": "Passe Namen, Pfade und Dienst an deine Anwendung an. Nur der gespeicherte Befehl wird ausgeführt.",
|
||
"helperCommandLabel": "Befehl innerhalb des LXC",
|
||
"helperCommandFallback": "Wenn wget nicht verfügbar ist, lädt ProxMenux dasselbe Skript mit curl -fsSL herunter.",
|
||
"customScriptTitle": "Aktualisierungsskript",
|
||
"customScriptDescription": "Führe ein bereits im LXC vorhandenes Aktualisierungsskript der Anwendung aus.",
|
||
"customPackageTitle": "Debian/Ubuntu-Paket",
|
||
"customPackageDescription": "Ersetze my-package durch das Paket, das du aktualisieren möchtest.",
|
||
"customBinaryTitle": "Binärdatei",
|
||
"customBinaryDescription": "Lade zuerst die offizielle Binärdatei für die richtige Version und Architektur nach /tmp/my-app.new herunter und überprüfe sie. Dieses Beispiel sichert die bisherige Binärdatei und startet den zugehörigen Dienst neu.",
|
||
"helperUpdatesRun": "Installiert von Proxmox Helper-Scripts.",
|
||
"installedPrefix": "installiert",
|
||
"upstreamAvailable": "Version {version} verfügbar",
|
||
"upToDateAt": "Aktuell unter",
|
||
"applyUpdate": "Update anwenden",
|
||
"upToDate": "Auf dem neuesten Stand",
|
||
"runUpdater": "Führen Sie den Updater aus",
|
||
"terminalTitle": "Updates anwenden – CT {vmid}",
|
||
"terminalDescriptionOs": "Anwenden von Betriebssystempaketaktualisierungen im Container ...",
|
||
"terminalDescriptionApp": "Ausführen des Anwendungsaktualisierungsprogramms im Container ...",
|
||
"terminalDescriptionBoth": "Anwenden von Betriebssystempaket- und Anwendungsaktualisierungen im Container ...",
|
||
"terminalCompletedSuccessfully": "Aktualisierungen erfolgreich abgeschlossen",
|
||
"terminalCompletedWithError": "Aktualisierungen mit Fehlercode {code} abgeschlossen",
|
||
"applyOsPlusApp": "Wenden Sie Betriebssystem- und {appName}-Updates an",
|
||
"applyOsPlusApps": "Wenden Sie Betriebssystem- und Apps-Updates an",
|
||
"osPlusApp": "Betriebssystem + {appName}-Updates",
|
||
"osPlusApps": "Betriebssystem- und Apps-Updates",
|
||
"noUpdateMethodTitle": "Keine Aktualisierungsmethode verfügbar",
|
||
"noUpdateMethodBody": "Für diese Anwendung wurde keine Aktualisierungsmethode erkannt. Fügen Sie einen benutzerdefinierten Aktualisierungsbefehl hinzu.",
|
||
"ociImmutableTitle": "OCI-Image-Container",
|
||
"ociImmutableBody": "Betriebssystempakete werden zum Zeitpunkt der Image-Erstellung integriert und können nicht direkt aktualisiert werden. Wenden Sie Updates manuell an oder installieren Sie sie mit einem neueren Image neu.",
|
||
"hideNoticeButton": "Diesen Hinweis für diese App ausblenden",
|
||
"noOsUpdatesPending": "Es stehen keine Betriebssystem-Updates aus",
|
||
"securityUpdateAria": "Sicherheitsupdate",
|
||
"packagePendingLabel": "Paket ausstehend",
|
||
"packagesPendingLabel": "Pakete ausstehend",
|
||
"securityUpdateLabel": "Sicherheitsupdate",
|
||
"securityUpdatesLabel": "Sicherheitsupdates",
|
||
"applicationDefaultName": "Anwendung",
|
||
"installedLabel": "installiert",
|
||
"upToDateAtLabel": "Aktuell unter",
|
||
"versionLabel": "Version {version}",
|
||
"versionTrackingPending": "Versionsverfolgung ausstehend – bei der nächsten geplanten Prüfung werden die installierte und die verfügbare Version angezeigt.",
|
||
"customCommandTitle": "Benutzerdefinierter Update-Befehl",
|
||
"customCommandBody": "Führen Sie einen benutzerdefinierten Shell-Befehl aus, um diese App im Container zu aktualisieren.",
|
||
"noUpdaterConfiguredTitle": "Kein Updater konfiguriert",
|
||
"noUpdaterConfiguredBody": "Für diese App ist weder ein Hilfsinstallationsprogramm noch ein benutzerdefinierter Befehl registriert.",
|
||
"hideNoticeAction": "Diesen Hinweis für {appName} ausblenden",
|
||
"detectedByPrefix": "Erkannt von",
|
||
"editApp": "Bearbeiten",
|
||
"configureUpdater": "Konfigurieren",
|
||
"alsoDetectedTitle": "Außerdem in diesem Container entdeckt:",
|
||
"detectedInline": "· erkannt von {method}",
|
||
"customCommandLabel": "Benutzerdefinierter Update-Befehl",
|
||
"customCommandPlaceholder": "z. B. cd /opt/<your-app> && git pull && systemctl restart <your-app>",
|
||
"removeButton": "Entfernen",
|
||
"cancelButton": "Stornieren",
|
||
"saveButton": "Speichern",
|
||
"versionTrackingPendingShort": "Versionsverfolgung steht aus.",
|
||
"versionTrackingNotConfigured": "Die Versionsüberwachung ist nicht konfiguriert.",
|
||
"managedByOsPackages": "Diese Anwendung wird über die Aktion für Betriebssystempakete aktualisiert.",
|
||
"noMethodBody": "Keine Aktualisierungsmethode verfügbar. Aktualisieren Sie über die App selbst oder verknüpfen Sie einen benutzerdefinierten Befehl, den ProxMenux im Container ausführt.",
|
||
"noMethodHideBody": "Für diese App ist keine Update-Methode registriert. Legen Sie eine auf der Registerkarte „App“ fest oder schließen Sie diesen Hinweis.",
|
||
"hideForApp": "Hinweis für {appName} ausblenden",
|
||
"applyOsAppsFooter": "Wenden Sie Betriebssystem- und {appName}-Updates an",
|
||
"applyOsAppsFooterPlural": "Wenden Sie Betriebssystem- und Apps-Updates an",
|
||
"osAppsFooter": "Betriebssystem + {appName}-Updates",
|
||
"osAppsFooterPlural": "Betriebssystem- und Apps-Updates",
|
||
"noUpdatesAvailableChip": "Keine Updates verfügbar",
|
||
"managedApp": "Verwaltete App",
|
||
"managedBadge": "verwaltet",
|
||
"lastCheckedAt": "Zuletzt überprüft: {date}",
|
||
"tailscaleAvailable": "Tailscale v{version} verfügbar",
|
||
"updateToVersion": "Update auf v{version}",
|
||
"otherPackagePending": "+{count} anderes Paket steht im Container aus",
|
||
"otherPackagesPending": "+{count} weitere im Container ausstehende Pakete",
|
||
"noManagedUpdateInfo": "Noch keine Update-Informationen – prüfen Sie unter Sicherheit → Secure Gateway.",
|
||
"ociTitle": "OCI-Image-Container",
|
||
"ociBody": "Dieser Container wurde aus einem OCI-Image (Docker) erstellt. Die Updateverwaltung für OCI-Container wird mit der kommenden OCI-Installationsfunktion geliefert – Updates erstellen den Container anhand eines neueren Image-Tags neu, anstatt Pakete darin zu patchen.",
|
||
"dockerImagesTitle": "Docker-Images",
|
||
"dockerAppTitle": "Docker",
|
||
"dockerImagesSubheading": "Images",
|
||
"dockerEngineManagedByOs": "Docker Engine {version} wird über Pakete verwaltet und durch die obige Betriebssystem-Paketaktion aktualisiert.",
|
||
"dockerEngineSubheading": "Engine",
|
||
"dockerEngineDetected": "Docker Engine {version} erkannt",
|
||
"dockerEngineUpdateHelp": "Aktualisiert nur die installierten Docker-Pakete und erforderlichen Abhängigkeiten. Andere Betriebssystempakete und Container bleiben unverändert.",
|
||
"updateDockerEngineOnly": "Docker Engine aktualisieren",
|
||
"adguardWebUpdateOnly": "Diese AdGuard-Home-Installation wird über die eigene Weboberfläche aktualisiert.",
|
||
"openAdguard": "AdGuard Home öffnen",
|
||
"updateDockerImage": "Image aktualisieren",
|
||
"recreateStandaloneContainer": "{container} aktualisieren",
|
||
"standaloneRecreatePending": "Eigenständige Container benötigen eine geschützte Neuerstellung: {names}",
|
||
"noDockerImages": "Docker ist installiert, aber es wurden keine getaggten Images gefunden.",
|
||
"dockerInventoryStarting": "Warten, bis Docker vollständig gestartet ist…",
|
||
"dockerInventoryUnavailable": "Das Docker-Inventar konnte nicht gelesen werden. Prüfen Sie es erneut, sobald Docker verfügbar ist.",
|
||
"usedByContainers": "Verwendet von: {names}",
|
||
"imageUpdateAvailable": "Neues Image verfügbar",
|
||
"imageUpToDate": "Aktuell",
|
||
"imageInstalledTag": "installierter Tag",
|
||
"imageDigestUnknown": "Digest nicht verfügbar",
|
||
"dockerPendingSummary": "{count} Docker-Image-Update(s) erkannt. Aktualisiere sie mit dem zugehörigen Docker- oder Compose-Workflow.",
|
||
"postApplyChecking": "Aktualisierungsergebnis wird überprüft…",
|
||
"postApplyAllOk": "{count} Paket(e) erfolgreich angewendet – nichts ausstehend.",
|
||
"postApplyNothingPending": "Nichts ausstehend – alles ist auf dem neuesten Stand.",
|
||
"postApplyPartial": "{pending} Paket(e) stehen nach der Ausführung noch aus.",
|
||
"postApplyPartialSubline": "{applied} angewendet. Einige Aktualisierungen wurden nicht abgeschlossen – sehen Sie sich die Terminalausgabe oben an."
|
||
},
|
||
"bulkUpdate": {
|
||
"title": "Sammelaktualisierung",
|
||
"description": "Konfiguriert eine Aktion für das Betriebssystem und die ausgewählten Aktualisierungsmethoden dieses Containers.",
|
||
"loading": "Konfiguration wird geladen…",
|
||
"notConfigured": "Nicht konfiguriert.",
|
||
"configure": "Konfigurieren",
|
||
"edit": "Bearbeiten",
|
||
"apply": "Aktualisierungen anwenden",
|
||
"osTarget": "Betriebssystem",
|
||
"osRequired": "Für eine Sammelaktualisierung erforderlich.",
|
||
"includesDependencies": "Enthält auch deklarierte Abhängigkeiten: {names}",
|
||
"noMethod": "Keine ausführbare Aktualisierungsmethode verfügbar.",
|
||
"staleTarget": "Diese Auswahl ist nicht mehr verfügbar. Entfernen Sie sie vor dem Speichern.",
|
||
"dockerInventoryPending": "Warten auf das Docker-Image-Inventar…",
|
||
"missingDockerTarget": "Docker-Image nicht verfügbar",
|
||
"selectAtLeastOne": "Wählen Sie zusätzlich zum Betriebssystem mindestens ein Aktualisierungsziel.",
|
||
"cancel": "Abbrechen",
|
||
"save": "Speichern",
|
||
"delete": "Konfiguration entfernen",
|
||
"deleteConfirm": "Diese Sammelaktualisierungskonfiguration entfernen?",
|
||
"saveFailed": "Die Sammelaktualisierungskonfiguration konnte nicht gespeichert werden.",
|
||
"deleteFailed": "Die Sammelaktualisierungskonfiguration konnte nicht entfernt werden.",
|
||
"planFailed": "Die Sammelaktualisierung konnte nicht vorbereitet werden. Prüfen Sie die nicht verfügbaren Methoden.",
|
||
"loadFailed": "Die Massenaktualisierungskonfiguration konnte nicht geladen werden."
|
||
},
|
||
"appEditor": {
|
||
"dockerDetectedWithWorkloads": "Docker mit {count} Anwendungen in Containern erkannt",
|
||
"dockerWorkloadsHeading": "Anwendungen in Docker",
|
||
"runsInsideDocker": "Wird mit dem Docker-Image aktualisiert",
|
||
"upstreamDelegatedTitle": "Die verfügbare Version stammt aus dem Docker-Image",
|
||
"upstreamDelegatedHelp": "Diese Anwendung läuft in einem Container. Die verfügbare Version wird aus dessen Image ermittelt, ohne separate Abfrage oder doppelte Benachrichtigungen. Aktualisieren Sie das Image im Tab Aktualisierungen.",
|
||
"closePanel": "Panel schließen",
|
||
"cancelButton": "Stornieren",
|
||
"saveButton": "Speichern",
|
||
"hideButton": "Verstecken",
|
||
"hidePermanentlyTooltip": "Diese Erkennung dauerhaft ausblenden",
|
||
"hiddenBadge": "Derzeit ausgeblendet – wird wieder in der Erkennungsliste angezeigt",
|
||
"registerDifferent": "Registrieren Sie eine andere App",
|
||
"detectedInContainer": "Auf diesem Container erkannt",
|
||
"versionDetected": "Version {version} in diesem Container erkannt",
|
||
"legacyDetectorUsed": "Mit einem alten Kompatibilitäts-Fallback erkannt",
|
||
"dockerImagesTitle": "Docker-Image-Updates",
|
||
"dockerImagesHelp": "Prüft jedes lokale Image getrennt von der Docker-Engine anhand unveränderlicher Registry-Digests.",
|
||
"refreshDockerImages": "Jetzt prüfen",
|
||
"noDockerImages": "Keine getaggten Docker-Images gefunden",
|
||
"usedByContainers": "Verwendet von: {names}",
|
||
"imageUpdateAvailable": "Neues Image verfügbar",
|
||
"imageUpToDate": "Aktuell",
|
||
"imageDigestUnknown": "Digest nicht verfügbar",
|
||
"dockerReadOnlyNote": "Nur-Lese-Prüfung: Es wird kein Image geladen und kein Container neu gestartet.",
|
||
"installedManaged": "Installiert und verwaltet von ProxMenux",
|
||
"nameLabel": "Name",
|
||
"installedViaLabel": "Installiert über",
|
||
"installedVersionLabel": "Installierte Version",
|
||
"installedVersionRegexLabel": "Regex der installierten Version (Erfassungsgruppe)",
|
||
"installedRegexPlaceholder": "z. B. v?(\\d+\\.\\d+\\.\\d+)",
|
||
"installedRegexAlt": "Installierter_regex",
|
||
"regexCaptureGroupLabel": "Regex (mit Capture-Gruppe)",
|
||
"regexPlaceholderVersion": "Version:\\s*(\\d+\\.\\d+\\.\\d+)",
|
||
"optionalSuffix": "(optional)",
|
||
"methodNone": "Keine (nur Link)",
|
||
"methodDpkg": "dpkg-Paket (Debian/Ubuntu)",
|
||
"methodApk": "APK-Paket (Alpine)",
|
||
"methodBinary": "Binär (absoluter Pfad oder bloßer Name)",
|
||
"methodFile": "Datei + Regex",
|
||
"methodDockerLabel": "Docker Inspect (OCI-Label)",
|
||
"methodDockerExec": "Docker Exec (binär im Container)",
|
||
"methodPython": "Python-Verteilung (importlib.metadata)",
|
||
"methodCommand": "Befehl (erweitert – argv)",
|
||
"methodManual": "Handbuch (ich gebe die Version ein)",
|
||
"packageIdentifierLabel": "Paketkennung",
|
||
"binaryPathLabel": "Binärer Pfad",
|
||
"binaryPathPlaceholder": "z. B. /opt/<your-app>/binary",
|
||
"binaryPathBare": "Binär (absoluter Pfad oder bloßer Name)",
|
||
"binaryPathBarePlaceholder": "z. B. myapp (oder absoluter Pfad)",
|
||
"binaryArgsLabel": "Binäre Argumente (durch Kommas getrennt, optional)",
|
||
"binaryArgsPlaceholder": "z. B. --version (durch Kommas getrennt)",
|
||
"filePathLabel": "Dateipfad",
|
||
"commandLabel": "Befehl (durch Kommas getrenntes argv, keine Shell)",
|
||
"commandPlaceholder": "myapp, Version, --json",
|
||
"commandServerExample": "Server, -v",
|
||
"containerNameLabel": "Containername",
|
||
"containerNamePlaceholder": "z. B. <Ihr-Container-Name>",
|
||
"ociLabelKeyLabel": "OCI-Labelschlüssel",
|
||
"ociLabelPlaceholder": "org.opencontainers.image.version",
|
||
"pythonInterpreterLabel": "Pfad des Python-Interpreters",
|
||
"pythonInterpreterPlaceholder": "z. B. /opt/<your-app>/venv/bin/python",
|
||
"pipDistLabel": "Distributionsname (Pip-Paket)",
|
||
"pipDistPlaceholder": "z. B. <Ihr-Pip-Paket>",
|
||
"upstreamSourceLabel": "Quelle der verfügbaren Version (optional)",
|
||
"upstreamNone": "keine (verfügbare Version nicht prüfen)",
|
||
"upstreamGithub": "GitHub-Repo",
|
||
"upstreamHttp": "HTTP-JSON-Endpunkt",
|
||
"upstreamDocker": "Docker Hub-Bild",
|
||
"githubRepoLabel": "GitHub-Repo",
|
||
"githubRepoPlaceholder": "z. B. Besitzer/Name",
|
||
"githubRepoAlt": "Besitzer/Name",
|
||
"githubSourceLabel": "GitHub-Quelle",
|
||
"sourceReleases": "Veröffentlichungen",
|
||
"sourceTags": "Tags",
|
||
"endpointUrlLabel": "Endpunkt-URL",
|
||
"endpointUrlPlaceholder": "z. B. https://vendor.example.com/api/latest.json",
|
||
"jsonPathLabel": "JSON-Pfad",
|
||
"jsonPathPlaceholder": "z. B. data.version oder releases[0].tag_name",
|
||
"dockerImageLabel": "Docker Hub-Bild",
|
||
"dockerImagePlaceholder": "z. B. linuxserver/plex oder nginx",
|
||
"dockerVersionedTagsHelp": "Nur für versionierte Tags. Für latest, stable oder lts die Docker-Image-Updates mit Digest-Vergleich verwenden.",
|
||
"dockerPresetSemver": "Nur SemVer",
|
||
"dockerPresetSemverSuffix": "SemVer + Suffix",
|
||
"dockerTagFilterHelp": "Filtert echte Tags, bevor ProxMenux die höchste Version auswählt.",
|
||
"dockerTagPreviewLabel": "Live-Tag-Vorschau",
|
||
"dockerTagPreviewCount": "{matched} von {scanned} passend",
|
||
"dockerTagPreviewLoading": "Docker Hub wird geprüft…",
|
||
"dockerTagPreviewFailed": "Docker-Hub-Tags konnten nicht angezeigt werden",
|
||
"dockerTagPreviewEmpty": "Keine echten Tags entsprechen diesem Filter.",
|
||
"dockerMovingTag": "beweglicher Tag",
|
||
"dockerMovingTagHelp": "Bewegliche Tags enthalten keine Version. Stattdessen über den Digest bei Docker-Image-Updates verfolgen.",
|
||
"tagRegexLabel": "Tag-Regex (mit Capture-Gruppe)",
|
||
"tagRegexPlaceholder": "z. B. v?(\\d+\\.\\d+\\.\\d+)",
|
||
"tagRegexBare": "v?(\\d+\\.\\d+\\.\\d+)",
|
||
"installedStatus": "Installiert",
|
||
"checkingStatus": "Überprüfung…",
|
||
"latestFromLabel": "Neueste von",
|
||
"upToDateBadge": "Auf dem neuesten Stand",
|
||
"updateAvailableBadge": "Update verfügbar",
|
||
"portDescriptionPlaceholder": "Beschreibung (z. B. Web-UI, go2rtc, admin)",
|
||
"portPortPlaceholder": "Hafen",
|
||
"portHttp": "http",
|
||
"portHttps": "https",
|
||
"portLogoLabel": "Logo-URL für diesen Link (optional)",
|
||
"portLogoPlaceholder": "z. B. https://example.com/logo.webp",
|
||
"portCategoryPlaceholder": "Category for the Apps dashboard (optional)",
|
||
"portCategoryNone": "No category",
|
||
"portCategoryAddNew": "+ Add new category…",
|
||
"portCategoryCustomPlaceholder": "Type a category and press Enter (Esc to cancel)",
|
||
"portCustomUrlPlaceholder": "Custom URL (e.g. https://vault.example.com) — overrides IP:port",
|
||
"removePortTooltip": "Port entfernen",
|
||
"detectMethodDpkg": "dpkg ·",
|
||
"detectMethodApk": "apk ·",
|
||
"detectMethodBinary": "binär ·",
|
||
"detectMethodFile": "Datei ·",
|
||
"detectMethodDockerLabel": "Docker-Label",
|
||
"detectMethodDockerExec": "Docker-Exec",
|
||
"detectMethodCommand": "Befehl",
|
||
"binaryVersionHint": "binär --version",
|
||
"systemctlHint": "systemctl show <service> -p ExecStart",
|
||
"whichHint": "welche <App>",
|
||
"apkInfoHint": "\" : \"apk-Info | grep",
|
||
"grafanaNote": ". Grafana braucht",
|
||
"hiddenDetectionsHelpSingular": "Sie haben {count} versteckte Erkennung. Stellen Sie eine wieder her, um sie wiederherzustellen, oder registrieren Sie manuell eine benutzerdefinierte App.",
|
||
"hiddenDetectionsHelpPlural": "Sie haben {count} versteckte Erkennungen. Stellen Sie eine wieder her, um sie wiederherzustellen, oder registrieren Sie manuell eine benutzerdefinierte App.",
|
||
"registerCustom": "Registrieren Sie eine benutzerdefinierte App",
|
||
"noAppsTitle": "Keine Bewerbungen registriert",
|
||
"noAppsBody": "Registrieren Sie die Anwendungen in diesem Container, um Weblinks und optional die Verfolgung verfügbarer Versionen mit Benachrichtigungen zu neuen Releases zu erhalten.",
|
||
"registerApplication": "Anwendung registrieren",
|
||
"searchApplications": "Apps suchen",
|
||
"searchingApplications": "Apps werden gesucht…",
|
||
"noApplicationsDetected": "Keine Apps erkannt.",
|
||
"noNewApplicationsDetected": "Keine neuen Apps erkannt.",
|
||
"oneNewApplicationDetected": "Eine neue App wurde erkannt.",
|
||
"newApplicationsDetected": "{count} neue Apps wurden erkannt.",
|
||
"detectionFailed": "App-Suche fehlgeschlagen",
|
||
"hiddenSuffix": "{count} ausgeblendet",
|
||
"confirmHide": "Die Erkennung „{name}“ dauerhaft in diesem Container ausblenden?\n\nUm es später wiederherzustellen, klicken Sie auf „Andere App registrieren“ – die ausgeblendete Liste wird dort mit einer Wiederherstellungsoption angezeigt.",
|
||
"saveFailed": "Speichern fehlgeschlagen",
|
||
"tagFilterRegexOptional": "Tag-Filter-Regex (optional)",
|
||
"versionRegexOptional": "Regex-Version (optional)",
|
||
"top20Matches": "Top 20 Übereinstimmungen – grenzen Sie die Suche ein, um mehr zu erhalten",
|
||
"binaryArgsHintPrefix": "Leer gelassen, wird standardmäßig verwendet",
|
||
"binaryArgsHintGrafana": "Grafana braucht",
|
||
"loadFailed": "Die App-Konfiguration konnte nicht geladen werden",
|
||
"checkFailed": "Prüfung fehlgeschlagen",
|
||
"testDetectorButton": "Detektor testen",
|
||
"testingDetectorButton": "Detektor wird getestet…",
|
||
"detectorTestTitle": "Ergebnis des Detektortests",
|
||
"detectorTestNotSaved": "Nur Entwurf · nicht gespeichert",
|
||
"detectorTestNoVersion": "Keine Version erkannt",
|
||
"detectorTestNoUpstream": "Keine Upstream-Quelle konfiguriert",
|
||
"detectorTestFailed": "Detektortest fehlgeschlagen",
|
||
"deleteFailed": "Das Löschen ist fehlgeschlagen",
|
||
"dismissFailed": "Die Erkennung konnte nicht verworfen werden",
|
||
"restoreFailed": "Die Erkennung konnte nicht wiederhergestellt werden",
|
||
"managedApp": "Verwaltete App",
|
||
"managedStatus": "verwaltet",
|
||
"checkedAt": "Geprüft {date}",
|
||
"latestUpstream": "Neueste",
|
||
"loadingApplications": "Bewerbungen werden geladen…",
|
||
"nameSearchPlaceholder": "Geben Sie ein, um über 700 Apps zu durchsuchen, oder geben Sie Ihre eigene ein",
|
||
"matchCount": "{count} Übereinstimmungen",
|
||
"catalogPort": "Port {port}",
|
||
"trackingAvailable": "Tracking verfügbar",
|
||
"logoUrlLabel": "Logo-URL",
|
||
"webLinks": "Weblinks",
|
||
"addPort": "Port hinzufügen",
|
||
"detectedPorts": "Im Container erkannte Ports – klicken Sie zum Hinzufügen:",
|
||
"dockerPublishedServicesTitle": "Docker-Dienste mit veröffentlichten Ports",
|
||
"dockerPublishedServicesHelp": "Wählen Sie nur Ports aus, die eine Weboberfläche bereitstellen. ProxMenux registriert diese Container nicht als eigenständige LXC-Anwendungen.",
|
||
"dockerPublishedAdd": "Link hinzufügen",
|
||
"dockerPublishedPort": "Container-Port {containerPort} → {hostPort} im LXC",
|
||
"noWebPorts": "Keine Web-Ports lauschen. Verwenden Sie Port hinzufügen, wenn Sie dennoch manuell einen Link erstellen möchten.",
|
||
"trackUpstream": "Verfügbare Version verfolgen (optional)",
|
||
"trackOff": "Aus – nur Link",
|
||
"trackOn": "Am · {method}",
|
||
"trackHelp": "Optional. Wenn aktiviert, vergleicht ProxMenux die installierte Version mit der neuesten verfügbaren Version.",
|
||
"commandSafetyHelp": "Läuft im argv-Stil innerhalb des CT als Root – niemals über eine Shell. Sie sind dafür verantwortlich, was der Befehl tut. Verwenden Sie unten „installed_regex“, um die Version aus der Ausgabe zu extrahieren.",
|
||
"manualVersionHelp": "Geben Sie die installierte Version ein. Wenn unten eine Quelle für die verfügbare Version festgelegt ist, sucht ProxMenux weiterhin nach Updates. Aktualisieren Sie diesen Wert nach einem App-Upgrade.",
|
||
"upstreamHelp": "Wie ProxMenux die neueste Version zum Vergleich mit Ihrer installierten Version findet.",
|
||
"githubRepoHelp": "Öffentliches GitHub-Repository, in dem Releases oder Tags veröffentlicht werden.",
|
||
"httpJsonHelp": "Öffentlicher JSON-Endpunkt, der irgendwo in der Nutzlast eine Version zurückgibt.",
|
||
"jsonPathHelp": "Gepunkteter Pfad mit optionalen [N] Array-Indizes.",
|
||
"restoreButton": "Wiederherstellen",
|
||
"registerButton": "Registrieren",
|
||
"removeButton": "Entfernen",
|
||
"checkButton": "Überprüfen",
|
||
"editFieldsButton": "Felder bearbeiten",
|
||
"alsoDetectedContainer": "Auch auf diesem Container erkannt",
|
||
"addAnotherApplication": "Weitere Anwendung registrieren",
|
||
"doneButton": "Erledigt",
|
||
"editButton": "Bearbeiten",
|
||
"upstreamErrorTimeout": "Netzwerk-Timeout beim Kontaktieren des Upstreams",
|
||
"upstreamErrorNetwork": "Netzwerkfehler: {detail}",
|
||
"upstreamErrorGithubRateLimit": "Das GitHub-Anfragelimit wurde erreicht. Konfigurieren Sie unter Einstellungen → GitHub API ein optionales Token oder versuchen Sie es später erneut.",
|
||
"upstreamErrorGeneric": "Upstream-Prüfung fehlgeschlagen: {detail}",
|
||
"notificationsEnabled": "Upstream-Update-Benachrichtigungen EIN – zum Stummschalten klicken",
|
||
"notificationsMuted": "Upstream-Update-Benachrichtigungen stummgeschaltet – zum Aktivieren klicken",
|
||
"notifyUpstreamLabel": "Benachrichtigen Sie mich, wenn eine neue Upstream-Version verfügbar ist",
|
||
"notifyUpstreamHelp": "Sendet „app_update_available“ an die Kanäle, die in Einstellungen → Benachrichtigungen aktiviert sind. Deaktivieren Sie diese Option, wenn diese App auf Ihrer Box nicht aktualisiert werden kann.",
|
||
"excludeFromBadgeLabel": "Vom LXC-Aktualisierungszähler ausschließen",
|
||
"excludeFromBadgeHelp": "Zählen Sie diese App nicht im Abzeichen „Aggregate Updates“ auf der LXC-Listenkarte. Nützlich, wenn Sie absichtlich an eine bestimmte Version gebunden sind (Tracker-Anforderung, Kompatibilitätsstopp).Hat keinen Einfluss auf den eigenen Status der App-Registerkarte oder die ausgehende Benachrichtigung."
|
||
},
|
||
"statusFilter": {
|
||
"ariaLabel": "Virtuelle Maschinen und Container filtern",
|
||
"all": "Alle",
|
||
"running": "Läuft",
|
||
"stopped": "Gestoppt",
|
||
"empty": "Keine virtuellen Maschinen oder Container mit dem Status „{status}“"
|
||
},
|
||
"filters": {
|
||
"searchPlaceholder": "Name, ID, Tag oder Notiz suchen…",
|
||
"searchAriaLabel": "Virtuelle Maschinen und Container durchsuchen",
|
||
"clearSearch": "Suche löschen",
|
||
"updates": "Updates",
|
||
"resultCount": "{shown} von {total} Maschinen",
|
||
"noMatches": "Keine VMs oder LXCs entsprechen der Suche.",
|
||
"noRunning": "Keine laufenden VMs oder LXCs.",
|
||
"noStopped": "Keine gestoppten VMs oder LXCs.",
|
||
"noUpdates": "Kein LXC mit verfügbaren Updates.",
|
||
"typeSynonyms": {
|
||
"lxc": "container",
|
||
"qemu": "vm virtuelle maschine virtuelle maschinen"
|
||
}
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "Einstellungen",
|
||
"description": "Verwalten Sie Ihre Dashboard-Einstellungen",
|
||
"common": {
|
||
"health": "Gesundheit",
|
||
"alerts": "Warnungen"
|
||
},
|
||
"interfaceLanguage": {
|
||
"title": "Schnittstellensprache",
|
||
"description": "Wählen Sie die Sprache für das Monitor-Dashboard.",
|
||
"label": "Dashboard-Sprache",
|
||
"fallbackNote": "Automatische Übersetzung mit Google Translate. Melde Fehler in den Issues des Projekts oder schicke einen PR mit der Korrektur.",
|
||
"statusComplete": "vollständig",
|
||
"statusPartial": "teilweise",
|
||
"statusNeedsTranslation": "Community-Übersetzung erforderlich"
|
||
},
|
||
"networkUnits": {
|
||
"title": "Netzwerkeinheiten",
|
||
"description": "Ändern Sie, wie der Netzwerkverkehr angezeigt wird",
|
||
"label": "Anzeige der Netzwerkeinheit",
|
||
"bytes": "Bytes",
|
||
"bits": "Bits"
|
||
},
|
||
"healthMonitor": {
|
||
"title": "Gesundheitsmonitor",
|
||
"description": "Konfigurieren Sie für jede Kategorie, wie lange verworfene Warnungen ausgeblendet bleiben. Änderungen gelten für bestehende und zukünftige abgewiesene Warnungen.",
|
||
"category": "Kategorie",
|
||
"suppressionDuration": "Unterdrückungsdauer",
|
||
"hours": "Std",
|
||
"permanentNotice": "Benachrichtigungen für {category} bleiben nach der Entlassung dauerhaft verborgen.",
|
||
"temperatureSafetyNotice": "Kritische CPU-Temperaturwarnungen scheinen immer noch zum Schutz der Hardware beizutragen.",
|
||
"longSuppressionNotice": "Lange Unterdrückungsperiode. Verworfene Benachrichtigungen in dieser Kategorie bleiben für lange Zeit verborgen.",
|
||
"footerNote": "Diese Einstellungen gelten, wenn Sie eine Warnung vom Health Monitor verwerfen. Kritische CPU-Temperaturwarnungen werden immer angezeigt, um Ihre Hardware zu schützen.",
|
||
"activeSuppressions": "Aktive Unterdrückung",
|
||
"activeSuppressionsDescription": "Warnungen, die Sie im Gesundheitsmonitor ausgeblendet haben. Dauerhafte Entlassungen können nur hier rückgängig gemacht werden. Für die Bearbeitung ist der Health Monitor erforderlich",
|
||
"noActiveSuppressions": "Keine aktiven Unterdrückungen. Abgewiesene Warnungen vom Health Monitor werden hier angezeigt.",
|
||
"permanent": "Dauerhaft",
|
||
"daysRemaining": "{count}d übrig",
|
||
"hoursRemaining": "{count}h verbleibend",
|
||
"reEnableDisabledTitle": "Aktivieren Sie den Health Monitor-Bearbeitungsmodus, um ihn erneut zu aktivieren",
|
||
"reEnableQueuedTitle": "Wiederaktivierung abbrechen; es wird beim Speichern nicht angewendet",
|
||
"reEnableTitle": "Stellen Sie diese Warnung in die Warteschlange, um sie beim Speichern erneut zu aktivieren",
|
||
"reEnable": "Wieder aktivieren",
|
||
"labels": {
|
||
"category": "Kategorie",
|
||
"severity": "Schwere",
|
||
"dismissed": "entlassen"
|
||
},
|
||
"errorNames": {
|
||
"security_login_attempts": "Sicherheits-Anmeldeversuche"
|
||
},
|
||
"options": {
|
||
"24h": "24 Stunden",
|
||
"3d": "3 Tage",
|
||
"1w": "1 Woche",
|
||
"1m": "1 Monat",
|
||
"1y": "1 Jahr",
|
||
"custom": "Brauch",
|
||
"permanent": "Dauerhaft"
|
||
},
|
||
"categories": {
|
||
"cpu": "CPU-Auslastung und Temperatur",
|
||
"memory": "Arbeitsspeicher & Swap",
|
||
"storage": "Aufbewahrungshalterungen und Platz",
|
||
"disk": "Festplatten-E/A und Fehler",
|
||
"network": "Netzwerkschnittstellen",
|
||
"vms": "VMs und Container",
|
||
"services": "PVE-Dienste",
|
||
"logs": "Systemprotokolle",
|
||
"updates": "Systemaktualisierungen",
|
||
"security": "Sicherheit & Zertifikate",
|
||
"temperature": "Temperatur"
|
||
}
|
||
},
|
||
"remoteStorage": {
|
||
"title": "Ausschlüsse von Remote-Speicher",
|
||
"description": "Schließen Sie Remote-Speicher (PBS, NFS, CIFS usw.) von der Gesundheitsüberwachung und den Benachrichtigungen aus. Verwenden Sie dies für Speicher, die absichtlich offline sind oder nur über eingeschränkten API-Zugriff verfügen.",
|
||
"emptyTitle": "Keine Remote-Speicher erkannt",
|
||
"emptyDescription": "PBS, NFS, CIFS und andere Remote-Speicher werden hier angezeigt, wenn sie konfiguriert sind",
|
||
"storage": "Lagerung",
|
||
"offline": "Offline oder nicht verfügbar",
|
||
"namespaceRestricted": "Erreichbar; Durch ACL ausgeblendete Datenspeichergröße",
|
||
"healthHelp": "Im ausgeschalteten Zustand löst dieser Speicher keine Warnungen oder kritischen Alarme im Health Monitor aus.",
|
||
"alertsHelp": "Bei AUS werden für diesen Speicher keine Benachrichtigungen gesendet."
|
||
},
|
||
"networkInterfaces": {
|
||
"title": "Ausschlüsse von Netzwerkschnittstellen",
|
||
"description": "Schließen Sie Netzwerkschnittstellen (Bridges, Bonds, physische NICs) von der Zustandsüberwachung und den Benachrichtigungen aus. Verwenden Sie dies für Schnittstellen, die absichtlich deaktiviert oder nicht verwendet werden.",
|
||
"emptyTitle": "Keine Netzwerkschnittstellen erkannt",
|
||
"interface": "Schnittstelle",
|
||
"down": "RUNTER",
|
||
"excluded": "Ausgeschlossen",
|
||
"noIp": "Keine IP",
|
||
"healthHelp": "Im ausgeschalteten Zustand löst diese Schnittstelle keine Warnungen oder kritischen Alarme im Health Monitor aus.",
|
||
"alertsHelp": "Bei AUS werden für diese Schnittstelle keine Benachrichtigungen gesendet."
|
||
},
|
||
"snippets": {
|
||
"title": "Hookscript-Speicher",
|
||
"description": "Wo ProxMenux Hookscripts installiert, zum Beispiel den GPU-Passthrough-Guard für VMs/LXCs. Wählen Sie in Cluster-Setups einen gemeinsam genutzten Speicher aus, damit VMs und LXCs sauber zwischen Knoten migrieren.",
|
||
"localNote": "ist knotenspezifisch und unterbricht die Migration.",
|
||
"placeholder": "Wählen Sie einen Speicher...",
|
||
"footer": "Vorhandene VMs/LXCs, die bereits mit dem vorherigen Speicher konfiguriert sind, funktionieren weiterhin. Nur neue GPU-Passthrough-Vorgänge oder die Ausführung von „Sync-Hookscripts“ auf dem Host verwenden die neue Auswahl."
|
||
},
|
||
"lxcUpdateDetection": {
|
||
"title": "LXC-Update-Erkennung",
|
||
"descriptionStart": "Überprüfen Sie regelmäßig laufende Debian/Ubuntu/Alpine LXC-Container auf ausstehende Paketaktualisierungen",
|
||
"descriptionEnd": "und zeigen Sie sie auf dem Armaturenbrett an. Der entsprechende Benachrichtigungsschalter unter Benachrichtigungen -> Dienste wird nur angezeigt, wenn die Erkennung aktiviert ist.",
|
||
"enableLabel": "Aktivieren Sie die LXC-Update-Erkennung",
|
||
"loadFailed": "Die Einstellung für die LXC-Update-Erkennung konnte nicht geladen werden.",
|
||
"saveFailed": "Die Einstellung für die LXC-Update-Erkennung konnte nicht gespeichert werden.",
|
||
"purgedMessage": "{count} LXC-Einträge aus der Registrierung entfernt. Durch erneutes Aktivieren der Erkennung werden sie beim nächsten Scan-Zyklus neu aufgefüllt."
|
||
},
|
||
"githubApi": {
|
||
"title": "GitHub API",
|
||
"description": "Optionale Authentifizierung für die Release- und Tag-Prüfungen registrierter Anwendungen.",
|
||
"configure": "Konfigurieren",
|
||
"tokenLabel": "Persönliches Zugriffstoken",
|
||
"tokenPlaceholder": "github_pat_...",
|
||
"tokenHelp": "Das Token wird verschlüsselt gespeichert. ProxMenux verwendet es ausschließlich für schreibgeschützte GitHub-API-Anfragen und zeigt es danach nicht erneut an.",
|
||
"configured": "Token konfiguriert",
|
||
"notConfigured": "Anonymes GitHub-Anfragekontingent wird verwendet",
|
||
"removeToken": "Token entfernen",
|
||
"loadFailed": "Die GitHub-API-Einstellung konnte nicht geladen werden.",
|
||
"saveFailed": "Das GitHub-API-Token konnte nicht gespeichert werden.",
|
||
"removeFailed": "Das GitHub-API-Token konnte nicht entfernt werden."
|
||
},
|
||
"notifications": {
|
||
"title": "Benachrichtigungen",
|
||
"description": "Konfigurieren Sie Benachrichtigungskanäle und Ereignisfilter. Erhalten Sie Benachrichtigungen per Telegram, Gotify, Discord oder E-Mail.",
|
||
"disabledDescription": "Erhalten Sie Echtzeitbenachrichtigungen über Ihre Proxmox-Umgebung per Telegram, Discord, Gotify oder E-Mail.",
|
||
"enableService": "Benachrichtigungsdienst aktivieren",
|
||
"enableServiceDescription": "Überwachen Sie den Systemzustand, VM/CT-Ereignisse, Backups, Sicherheitswarnungen und den Clusterstatus. Die PVE-Webhook-Integration wird automatisch konfiguriert.",
|
||
"enableButton": "Benachrichtigungen aktivieren",
|
||
"configuring": "Konfigurieren...",
|
||
"webhookConfigured": "PVE-Webhook automatisch konfiguriert. Proxmox sendet Benachrichtigungen an ProxMenux.",
|
||
"webhookFailed": "Automatische PVE-Konfiguration fehlgeschlagen: {error}",
|
||
"webhookManualSetup": "Benachrichtigungen sind aktiviert. Führen Sie die folgenden Befehle auf dem PVE-Host aus, um die Webhook-Einrichtung abzuschließen.",
|
||
"serviceRunning": "Dienst läuft",
|
||
"serviceStopped": "Der Dienst wurde gestoppt",
|
||
"sentLast24h": "{count} wurde in den letzten 24 Stunden eingesandt",
|
||
"channelCountOne": "{count} Kanal",
|
||
"channelCountMany": "{count} Kanäle",
|
||
"activateService": "Aktivieren Sie den Benachrichtigungsdienst",
|
||
"channels": "Kanäle",
|
||
"test": {
|
||
"sent": "Testbenachrichtigung erfolgreich gesendet.",
|
||
"failed": "Die Testbenachrichtigung ist fehlgeschlagen."
|
||
},
|
||
"errors": {
|
||
"saveFailed": "Benachrichtigungseinstellungen konnten nicht gespeichert werden.",
|
||
"unknown": "Unbekannter Fehler",
|
||
"setupUnavailable": "Der Einrichtungsdienst konnte nicht erreicht werden."
|
||
},
|
||
"categories": {
|
||
"vm_ct": {
|
||
"label": "VM / CT"
|
||
},
|
||
"backup": {
|
||
"label": "Backups"
|
||
},
|
||
"resources": {
|
||
"label": "Ressourcen"
|
||
},
|
||
"storage": {
|
||
"label": "Lagerung"
|
||
},
|
||
"network": {
|
||
"label": "Netzwerk"
|
||
},
|
||
"security": {
|
||
"label": "Sicherheit"
|
||
},
|
||
"cluster": {
|
||
"label": "Cluster"
|
||
},
|
||
"services": {
|
||
"label": "Dienstleistungen"
|
||
},
|
||
"health": {
|
||
"label": "Gesundheitsmonitor"
|
||
},
|
||
"updates": {
|
||
"label": "Aktualisierungen"
|
||
},
|
||
"other": {
|
||
"label": "Andere"
|
||
}
|
||
},
|
||
"eventTypes": {
|
||
"state_change": "Gesundheitszustand geändert",
|
||
"new_error": "Neues Gesundheitsproblem",
|
||
"error_resolved": "Wiederherstellungsbenachrichtigung",
|
||
"error_escalated": "Gesundheitsproblem eskalierte",
|
||
"health_degraded": "Gesundheitscheck verschlechtert",
|
||
"lxc_updates_available": "LXC-Updates verfügbar (experimentell)",
|
||
"vm_start": "VM gestartet",
|
||
"vm_start_warning": "VM gestartet (Warnungen)",
|
||
"vm_stop": "VM gestoppt",
|
||
"vm_shutdown": "VM heruntergefahren",
|
||
"vm_fail": "VM ist fehlgeschlagen",
|
||
"vm_restart": "VM neu gestartet",
|
||
"ct_start": "CT gestartet",
|
||
"ct_start_warning": "CT gestartet (Warnungen)",
|
||
"ct_stop": "Die CT wurde gestoppt",
|
||
"ct_shutdown": "CT abgeschaltet",
|
||
"ct_restart": "CT neu gestartet",
|
||
"ct_fail": "CT ist fehlgeschlagen",
|
||
"migration_start": "Die Migration hat begonnen",
|
||
"migration_complete": "Migration abgeschlossen",
|
||
"migration_warning": "Migration mit Warnungen abgeschlossen",
|
||
"migration_fail": "Die Migration ist fehlgeschlagen",
|
||
"replication_fail": "Die Replikation ist fehlgeschlagen",
|
||
"replication_complete": "Replikation abgeschlossen",
|
||
"backup_start": "Sicherung gestartet",
|
||
"backup_complete": "Sicherung abgeschlossen",
|
||
"backup_warning": "Sicherung mit Warnungen abgeschlossen",
|
||
"backup_fail": "Die Sicherung ist fehlgeschlagen",
|
||
"host_backup_start": "Host-Backup gestartet",
|
||
"host_backup_complete": "Host-Sicherung abgeschlossen",
|
||
"host_backup_fail": "Host-Sicherung fehlgeschlagen",
|
||
"snapshot_complete": "Snapshot erstellt",
|
||
"snapshot_fail": "Snapshot ist fehlgeschlagen",
|
||
"cpu_high": "Hohe CPU-Auslastung",
|
||
"ram_high": "Hoher Speicherverbrauch",
|
||
"temp_high": "Hohe Temperatur",
|
||
"disk_space_low": "Geringer Speicherplatz",
|
||
"disk_io_error": "Festplattenfehler/E/A-Fehler",
|
||
"storage_unavailable": "Speicher nicht verfügbar",
|
||
"smart_test_complete": "SMART-Test abgeschlossen",
|
||
"smart_test_failed": "Der SMART-Test ist fehlgeschlagen",
|
||
"gpu_mode_switch": "GPU-Modus umgeschaltet",
|
||
"gpu_passthrough_blocked": "GPU-Passthrough blockiert",
|
||
"pci_passthrough_conflict": "PCIe-Gerätekonflikt",
|
||
"load_high": "Hohe Systemlast",
|
||
"network_down": "Netzwerkverbindung unterbrochen",
|
||
"network_latency": "Hohe Netzwerklatenz",
|
||
"auth_fail": "Authentifizierungsfehler",
|
||
"ip_block": "IP durch Fail2Ban blockiert",
|
||
"firewall_issue": "Firewall-Problem erkannt",
|
||
"user_permission_change": "Benutzerberechtigung geändert",
|
||
"burst_auth_fail": "Häufung von Authentifizierungsfehlern",
|
||
"burst_ip_block": "Häufung von IP-Sperren",
|
||
"burst_disk_io": "Häufung von Festplatten-E/A-Fehlern",
|
||
"burst_cluster": "Cluster-Verbindung flattert",
|
||
"burst_service_fail": "Mehrere Dienstausfälle",
|
||
"burst_system": "Mehrere Systemprobleme",
|
||
"burst_generic": "Mehrere verwandte Ereignisse",
|
||
"split_brain": "Split-Brain erkannt",
|
||
"node_disconnect": "Knoten getrennt",
|
||
"node_reconnect": "Knoten wieder verbunden",
|
||
"system_startup": "Systemstartbericht",
|
||
"system_shutdown": "System wird heruntergefahren",
|
||
"system_reboot": "Systemneustart",
|
||
"system_restore_completed": "Host-Wiederherstellung abgeschlossen",
|
||
"system_problem": "Systemproblem erkannt",
|
||
"kernel_warning": "Kernelwarnungen und Diagnosespuren",
|
||
"service_fail": "Der Dienst ist fehlgeschlagen",
|
||
"oom_kill": "Prozessabbruch aufgrund von Speichermangel",
|
||
"service_fail_batch": "Mehrere Dienstausfälle",
|
||
"cron_output": "Cron-Job-Ausgabe",
|
||
"system_mail": "Smartd / Systemmail",
|
||
"apt_listchanges": "Pakethinweise von apt-listchanges",
|
||
"webhook_test": "Webhook-Test",
|
||
"update_available": "Verfügbare Updates (Legacy)",
|
||
"unknown_persistent": "Scheck nicht verfügbar",
|
||
"health_persistent": "Aktive Gesundheitsthemen (täglich)",
|
||
"health_issue_new": "Neues Gesundheitsproblem",
|
||
"health_issue_resolved": "Gesundheitsproblem behoben",
|
||
"update_summary": "Updates verfügbar",
|
||
"pve_update": "Proxmox VE-Update verfügbar",
|
||
"update_complete": "Aktualisierung abgeschlossen",
|
||
"ai_model_migrated": "KI-Modell automatisch aktualisiert",
|
||
"proxmenux_update": "ProxMenux-Update verfügbar",
|
||
"mount_stale": "Remote Mount ist veraltet",
|
||
"mount_readonly": "Der Remote-Mount ist schreibgeschützt",
|
||
"lxc_disk_low": "LXC-Rootfs fast voll",
|
||
"vm_disk_low": "VM-Dateisysteme fast voll",
|
||
"lxc_mount_low": "LXC-Halterung fast voll",
|
||
"pve_storage_full": "PVE-Speicher fast voll",
|
||
"zfs_pool_full": "ZFS-Pool fast voll",
|
||
"post_install_update": "ProxMenux-Optimierungsupdates verfügbar",
|
||
"secure_gateway_update_available": "Secure Gateway-Update verfügbar",
|
||
"nvidia_driver_update_available": "NVIDIA-Treiberupdate verfügbar",
|
||
"coral_driver_update_available": "Update des Coral TPU-Treibers verfügbar",
|
||
"app_update_available": "App-Update verfügbar"
|
||
},
|
||
"ui": {
|
||
"quietHours": "Ruhige Stunden",
|
||
"quietHoursDescription": "Während dieses Fensters erreichen nur KRITISCHE Ereignisse diesen Kanal.",
|
||
"from": "Aus",
|
||
"until": "Bis",
|
||
"quietSameTime": "Legen Sie für die Aktivierung eine andere Start- und Endzeit fest.",
|
||
"quietActive": "Jetzt aktiv – nur KRITISCHE Ereignisse passieren bis {time}.",
|
||
"quietInactive": "Jetzt inaktiv – beginnt bei {time}.",
|
||
"nextDigest": "Nächster Digest in {hours}h {minutes}m (bei {time}).",
|
||
"dailyDigest": "Tägliche Zusammenfassung der INFO-Ereignisse",
|
||
"dailyDigestDescription": "INFO-Ereignisse sammeln sich im Laufe des Tages an und treffen einmalig als Zusammenfassung ein. KRITISCHE und WARNENDE Ereignisse werden nie verzögert.",
|
||
"sendAt": "Senden Sie an",
|
||
"notificationCategories": "Benachrichtigungskategorien",
|
||
"enableTelegram": "Telegramm aktivieren",
|
||
"setupGuide": "+Einrichtungsanleitung",
|
||
"botToken": "Bot-Token",
|
||
"chatId": "Chat-ID",
|
||
"topicId": "Themen-ID",
|
||
"optional": "optional",
|
||
"topicHint": "Für Supergruppen mit aktivierten Themen. Für regelmäßige Chats leer lassen.",
|
||
"richMessages": "Reichhaltige Botschaften",
|
||
"richMessagesDescription": "Bereichern Sie Benachrichtigungen mit kontextbezogenen Emojis und Symbolen",
|
||
"sendTest": "Test senden",
|
||
"enableGotify": "Aktivieren Sie Gotify",
|
||
"serverUrl": "Server-URL",
|
||
"appToken": "App-Token",
|
||
"enableDiscord": "Discord aktivieren",
|
||
"webhookUrl": "Webhook-URL",
|
||
"enableEmail": "E-Mail aktivieren",
|
||
"smtpHost": "SMTP-Host",
|
||
"port": "Hafen",
|
||
"tlsMode": "TLS-Modus",
|
||
"noTls": "Keine (Port 25)",
|
||
"username": "Benutzername",
|
||
"password": "Passwort",
|
||
"appPassword": "App-Passwort",
|
||
"fromAddress": "Absenderadresse",
|
||
"toAddresses": "An Adressen (durch Kommas getrennt)",
|
||
"subjectPrefix": "Betreff-Präfix",
|
||
"emailHint": "Lassen Sie den SMTP-Host leer, um lokales Sendmail zu verwenden. Verwenden Sie für Gmail ein App-Passwort.",
|
||
"enablePushover": "Pushover aktivieren",
|
||
"pushoverUserKey": "Benutzer- oder Gruppenschlüssel",
|
||
"pushoverApiToken": "API-Token der Anwendung",
|
||
"pushoverDevice": "Gerät",
|
||
"pushoverSound": "Ton",
|
||
"pushoverCriticalPriority": "Hohe Priorität für kritische Warnungen",
|
||
"pushoverCriticalPriorityDescription": "KRITISCHE Benachrichtigungen verwenden die hohe Pushover-Priorität. Die Notfallpriorität wird nicht verwendet.",
|
||
"pushoverCredentialsHint": "Erstellen Sie eine Anwendung in Pushover und kopieren Sie deren API-Token sowie Ihren Benutzer- oder Gruppenschlüssel.",
|
||
"enableApprise": "Aktivieren Sie Apprise",
|
||
"urlFormats": "+URL-Formate",
|
||
"appriseUrl": "Apprise-URL",
|
||
"showUrl": "URL anzeigen",
|
||
"hideUrl": "URL ausblenden",
|
||
"appriseDescription": "Mit einer URL kann Apprise die Benachrichtigung an den richtigen Dienst weiterleiten. Beispiele:",
|
||
"seeThe": "Siehe die",
|
||
"fullList": "vollständige Liste",
|
||
"displayName": "Anzeigename",
|
||
"systemHostname": "System-Hostname",
|
||
"displayNameHint": "Name, der in Benachrichtigungen angezeigt wird. Bearbeiten Sie es oder lassen Sie es leer, um den System-Hostnamen zu verwenden.",
|
||
"activeFooter": "Benachrichtigungen sind aktiv. Jeder Kanal folgt seiner eigenen Kategorie und Ereignisauswahl.",
|
||
"inactiveFooter": "Aktivieren Sie Benachrichtigungen, um System-, Gesundheits- und Sicherheitswarnungen über die konfigurierten Kanäle zu erhalten."
|
||
},
|
||
"ai": {
|
||
"title": "KI-Verbesserung",
|
||
"enhancedMessages": "KI-gestützte Nachrichten",
|
||
"enhancedMessagesDescription": "Verwenden Sie KI, um kontextbezogene Benachrichtigungsnachrichten zu generieren",
|
||
"provider": "Anbieter",
|
||
"customBaseUrl": "Benutzerdefinierte Basis-URL",
|
||
"customBaseUrlPlaceholder": "Für OpenAI leer lassen oder einen benutzerdefinierten Endpunkt eingeben",
|
||
"customBaseUrlHint": "Für OpenAI-kompatible APIs wie BytePlus, LocalAI, LM Studio oder vLLM.",
|
||
"apiKey": "API-Schlüssel",
|
||
"model": "Modell",
|
||
"promptMode": "Aufforderungsmodus",
|
||
"defaultPrompt": "Standard-Eingabeaufforderung",
|
||
"customPrompt": "Benutzerdefinierte Eingabeaufforderung",
|
||
"language": "Sprache",
|
||
"selectLanguage": "Sprache auswählen",
|
||
"detailLevel": "Detailebene pro Kanal",
|
||
"suggestions": "KI-Vorschläge",
|
||
"suggestionsDescription": "Ermöglichen Sie der KI, kurze Tipps zur Fehlerbehebung basierend auf dem Protokollkontext hinzuzufügen",
|
||
"customPromptPlaceholder": "Geben Sie Ihre benutzerdefinierten Anweisungen für die KI ein…",
|
||
"testing": "Testen…",
|
||
"testConnection": "Testverbindung",
|
||
"ollamaUrl": "Ollama-URL",
|
||
"getKey": "Holen Sie sich den Schlüssel",
|
||
"loadModelsPlaceholder": "Klicken Sie auf „Laden“, um Modelle abzurufen",
|
||
"selectModel": "Modell auswählen",
|
||
"noModelsLoaded": "Keine Modelle geladen – klicken Sie auf Laden",
|
||
"noModelSelected": "Wählen Sie zunächst ein Modell aus. Klicken Sie auf „Laden“, um die verfügbaren Modelle abzurufen.",
|
||
"load": "Laden",
|
||
"modelsAvailable": "{count} Modelle verfügbar",
|
||
"detailHint": "AI übersetzt und formatiert Benachrichtigungen in der von Ihnen ausgewählten Sprache. Jeder Kanal kann einen anderen Detaillierungsgrad verwenden.",
|
||
"beta": "BETA",
|
||
"export": "Export",
|
||
"import": "Import",
|
||
"communityPrompts": "Community-Eingabeaufforderungen",
|
||
"customPromptHint": "Definieren Sie Ihre eigenen Regeln und Formate. Sie steuern die Details und den Stil aller Benachrichtigungen. Exportieren Sie die Aufforderung, um sie zu teilen, oder importieren Sie eine aus der Community.",
|
||
"local": "Lokal",
|
||
"detailLevels": {
|
||
"brief": "Knapp",
|
||
"standard": "Standard",
|
||
"detailed": "Ausführlich"
|
||
},
|
||
"providersInfo": "Informationen zum KI-Anbieter",
|
||
"loadModelsHint": "Klicken Sie auf „Laden“, um die verfügbaren Modelle dieses Anbieters abzurufen.",
|
||
"openAiCompatible": "OpenAI-kompatible APIs",
|
||
"openAiCompatibleDescription": "Legen Sie eine benutzerdefinierte Basis-URL fest, um eine OpenAI-kompatible API zu verwenden. Zu den unterstützten Diensten gehören:",
|
||
"anyOpenAiService": "Jeder Dienst, der das OpenAI-Format verwendet",
|
||
"providers": {
|
||
"groq": "Sehr schnell, mit einem großzügigen kostenlosen Kontingent. Ein guter Anfang.",
|
||
"openai": "Industriestandard, genau und weit verbreitet.",
|
||
"anthropic": "Hervorragend zum Schreiben und Übersetzen geeignet; schnell und wirtschaftlich.",
|
||
"gemini": "Es ist eine kostenlose Stufe mit einem guten Preis-Leistungs-Verhältnis verfügbar.",
|
||
"ollama": "Verwendet Modelle auf Ihrem Ollama-Server. Völlig lokal, privat und kostenlos nutzbar.",
|
||
"openrouter": "Zugriff auf mehr als 100 Modelle über einen API-Schlüssel."
|
||
},
|
||
"loadModelsFailed": "Modelle konnten nicht geladen werden — prüfe den API-Schlüssel oder die Endpunkt-URL."
|
||
},
|
||
"telegramGuide": {
|
||
"title": "Anleitung zur Einrichtung des Telegram-Bots",
|
||
"createBot": "Erstellen Sie einen Bot mit BotFather",
|
||
"create1": "1. Öffnen Sie Telegram und suchen Sie",
|
||
"create2": "2. Senden Sie den Befehl",
|
||
"create3": "3. Wählen Sie einen Namen für den Bot, zum Beispiel ProxMenux Notifications.",
|
||
"create4": "4. Wählen Sie einen Benutzernamen mit der Endung „bot“, zum Beispiel proxmenux_alerts_bot.",
|
||
"getToken": "Holen Sie sich das Bot-Token",
|
||
"tokenIntro": "Nachdem Sie den Bot erstellt haben, gibt Ihnen BotFather ein Token wie dieses:",
|
||
"tokenPaste": "Kopieren Sie das Token und fügen Sie es in das Bot-Token-Feld ein.",
|
||
"getChatId": "Holen Sie sich Ihre Chat-ID",
|
||
"optionA": "Option A: Verwenden Sie einen Bot (am einfachsten)",
|
||
"chat1": "1. Finden",
|
||
"or": "oder",
|
||
"chat2": "2. Senden Sie eine beliebige Nachricht. Der Bot antwortet mit Ihrer Chat-ID.",
|
||
"optionB": "Option B: manuelle Methode",
|
||
"manual1": "1. Senden Sie eine Nachricht an Ihren neuen Bot.",
|
||
"manual2": "2. Öffnen Sie diese URL in Ihrem Browser und ersetzen Sie YOUR_TOKEN:",
|
||
"manual3": "3. Finden Sie diesen Wert; seine Nummer ist Ihre Chat-ID:",
|
||
"groups": "Gruppen und Kanäle",
|
||
"group1": "1. Fügen Sie den Bot als Administrator zur Gruppe oder zum Kanal hinzu.",
|
||
"group2": "2. Senden Sie eine Nachricht in der Gruppe.",
|
||
"group3": "3. Verwenden Sie die obige getUpdates-URL, um die Gruppen-Chat-ID zu finden.",
|
||
"group4": "4. Gruppen-IDs sind beispielsweise negative Zahlen",
|
||
"summary": "Kurze Zusammenfassung",
|
||
"summaryToken": "Identifiziert Ihren Bot (von BotFather)",
|
||
"summaryChat": "Teilt dem Bot mit, wohin er Nachrichten senden soll (Ihre ID oder eine Gruppen-ID)."
|
||
},
|
||
"validation": {
|
||
"discordWebhook": "Geben Sie eine Discord-Webhook-URL im Format https://discord.com/api/webhooks/<id>/<token> ein.",
|
||
"invalidUrl": "Geben Sie eine gültige URL ein.",
|
||
"unsupportedScheme": "Es ist nur eine Adresse zulässig, die mit http:// oder https:// beginnt.",
|
||
"localPveApi": "Die Adresse kann nicht auf die lokale PVE-API (localhost:8006/8007) verweisen.",
|
||
"metadataIp": "Die Link-Local-Metadaten-IP kann nicht als Gotify-Endpunkt verwendet werden."
|
||
},
|
||
"customPromptInfo": {
|
||
"title": "Benutzerdefinierter Eingabeaufforderungsmodus",
|
||
"description": "Erstellen Sie Ihre eigene KI-Eingabeaufforderung für ProxMenux Monitor-Benachrichtigungen",
|
||
"whatTitle": "Was ist eine benutzerdefinierte Eingabeaufforderung?",
|
||
"whatDescription": "Die Eingabeaufforderung definiert, wie AI Ihre Benachrichtigungen formatiert. Mit einer benutzerdefinierten Eingabeaufforderung können Sie den Stil, den Detaillierungsgrad und das Format jeder Nachricht steuern.",
|
||
"requirements": "Wichtige Anforderungen",
|
||
"formatIntro": "Ihre Eingabeaufforderung muss dieses Ausgabeformat verwenden:",
|
||
"formatTitleThen": "gefolgt vom Titel",
|
||
"formatBodyThen": "gefolgt von der Nachricht",
|
||
"plainText": "Verwenden Sie nur Klartext, ohne Markdown, damit das Ergebnis in jedem Kanal funktioniert.",
|
||
"rawData": "Die Eingabeaufforderung empfängt rohe Proxmox-Ereignisdaten als Eingabe.",
|
||
"language": "Definieren Sie die Ausgabesprache in der Eingabeaufforderung. Die Sprachauswahl gilt nur für den Standardmodus.",
|
||
"gettingStarted": "Erste Schritte",
|
||
"gettingStartedDescription": "Eine Beispielaufforderung steht bereit, um Ihnen den Einstieg zu erleichtern. Sie können es anpassen, exportieren, um es mit anderen zu teilen, oder eine Eingabeaufforderung aus der Community importieren.",
|
||
"loadExample": "Beispiel laden",
|
||
"startFromScratch": "Fangen Sie bei Null an"
|
||
}
|
||
},
|
||
"optimizations": {
|
||
"title": "ProxMenux Optimizations",
|
||
"description": "Über ProxMenux installierte Systemoptimierungen und Dienstprogramme",
|
||
"emptyTitle": "Es sind noch keine ProxMenux-Optimierungen installiert",
|
||
"emptyDescription": "Führen Sie ProxMenux aus, um Systemoptimierungen zu konfigurieren",
|
||
"installedTools": "Installierte Tools",
|
||
"activeCount": "{count} aktiv",
|
||
"viewUpdates": "Verfügbare Updates anzeigen",
|
||
"updateCount": "{count} Updates",
|
||
"updateOneTitle": "Update: {name}",
|
||
"updateManyTitle": "{count}-Optimierungen aktualisieren",
|
||
"updateOneDescription": "Erneutes Ausführen von {functionName} aus dem {source}-Flow.",
|
||
"updateManyDescription": "Wiederholen Sie die Nachinstallationsfunktionen von {count} nacheinander.",
|
||
"legacySourceTitle": "Legacy-Optimierung – klicken Sie, um die Quelle anzuzeigen",
|
||
"sourceTitle": "Klicken Sie hier, um den Quellcode anzuzeigen",
|
||
"legacy": "Vermächtnis",
|
||
"updateToolTitle": "Aktualisieren Sie {name} auf v{version}",
|
||
"availableUpdates": "Verfügbare Updates",
|
||
"availableUpdatesDescription": "{count} Optimierungen können auf eine neuere Version aktualisiert werden.",
|
||
"selectedCount": "{selected} von {total} ausgewählt",
|
||
"updateSelected": "Update ausgewählt"
|
||
},
|
||
"healthThresholds": {
|
||
"title": "Schwellenwerte für den Gesundheitsmonitor",
|
||
"description": "Health Monitor und Benachrichtigungen reagieren, wenn diese Grenzwerte überschritten werden. Ziehen Sie den gelben Griff für die Warnstufe und den roten Griff für die kritische Stufe. Von der Empfehlung abweichende Werte werden blau dargestellt; Bewegen Sie den Mauszeiger über ein Handle, um die Empfehlung anzuzeigen, oder verwenden Sie „Zurücksetzen“, um sie wiederherzustellen.",
|
||
"loadFailed": "Schwellenwerte konnten nicht geladen werden.",
|
||
"invalidValue": "Ungültiger Wert für {key}: muss eine Zahl sein",
|
||
"resetFailed": "Zurücksetzen fehlgeschlagen",
|
||
"networkErrorWhileResetting": "Netzwerkfehler beim Zurücksetzen",
|
||
"resetSectionConfirm": "Alle „{section}“-Schwellenwerte auf empfohlene Werte zurücksetzen?",
|
||
"resetAllConfirm": "ALLE Schwellenwerte auf empfohlene Werte zurücksetzen? Dies betrifft jeden Abschnitt.",
|
||
"resetAllTitle": "Setzen Sie jeden Schwellenwert auf den empfohlenen Wert zurück",
|
||
"resetSectionTitle": "Setzen Sie diesen Abschnitt auf empfohlen zurück",
|
||
"recommended": "Empfohlen",
|
||
"warning": "Warnung",
|
||
"critical": "Kritisch",
|
||
"ok": "OK",
|
||
"warn": "WARNEN",
|
||
"crit": "KRIT",
|
||
"ram": "RAM",
|
||
"swapCriticalOnly": "Swap (nur kritischer Schwellenwert)",
|
||
"sections": {
|
||
"cpu": {
|
||
"title": "CPU-Auslastung"
|
||
},
|
||
"memory": {
|
||
"title": "Arbeitsspeicher & Swap"
|
||
},
|
||
"cpu_temperature": {
|
||
"title": "CPU-Temperatur"
|
||
},
|
||
"disk_temperature": {
|
||
"title": "Festplattentemperatur",
|
||
"description": "Schwellenwerte pro Klasse. Gleiche Einheiten (°C), unterschiedliche Standardwerte, da jede Klasse einen anderen Bereich toleriert."
|
||
},
|
||
"host_storage": {
|
||
"title": "Speicherplatz – Host",
|
||
"description": "Gilt für / und jeden Mountpoint unter /var/lib/vz, /mnt/* usw."
|
||
},
|
||
"lxc_rootfs": {
|
||
"title": "Speicherplatz – LXC rootfs",
|
||
"description": "Root-Festplatte pro Container, bewertet anhand der Rootfs-Größe von PVE."
|
||
},
|
||
"lxc_mount": {
|
||
"title": "LXC-Montagepunkte",
|
||
"description": "Kapazität der Mountpunkte innerhalb laufender CTs (mp0, mp1, NFS, Bind-Mounts). Schließt die Rootfs aus; das steht oben."
|
||
},
|
||
"pve_storage": {
|
||
"title": "PVE-Speicherkapazität",
|
||
"description": "PVE-Speicher im Blockstil: LVM, LVM-Thin, ZFS-Pool, RBD/Ceph, PBS. Speicher im Dateisystemstil wird bereits durch Host-Festplattenschwellenwerte abgedeckt."
|
||
},
|
||
"zfs_pool": {
|
||
"title": "ZFS-Poolkapazität",
|
||
"description": "ZFS-Pools auf Host-Ebene, unabhängig von der PVE-Registrierung, sodass auch Rpool- und dedizierte Backup-Pools überwacht werden."
|
||
}
|
||
},
|
||
"swapPressure": "Speicherdruck",
|
||
"swapPressureHint": "Markiert ein kritisches Ereignis nur, wenn BEIDE Bedingungen gleichzeitig zutreffen — Swap-Nutzung über dem ersten Schwellenwert UND verfügbarer RAM unter dem zweiten. Alarmierung nur wegen Swap war auf Proxmox-Hosts laut, da Linux inaktive Seiten auslagert, während der RAM reichlich verfügbar bleibt.",
|
||
"swapHighLabel": "Swap-Datei-Nutzung",
|
||
"availableMinLabel": "Mindestens verfügbarer RAM"
|
||
},
|
||
"navOrder": {
|
||
"title": "Navigationsreihenfolge",
|
||
"description": "Passe die Reihenfolge der Hauptregisterkarten an. Gruppierte Registerkarten (Node, Admin) werden als Einheit verschoben; ihre internen Elemente behalten die Standardreihenfolge.",
|
||
"reset": "Standard wiederherstellen",
|
||
"hint": "Ziehen zum Neuanordnen · Auf Touch zuerst lange drücken",
|
||
"customActive": "Benutzerdefinierte Navigationsreihenfolge aktiv."
|
||
}
|
||
},
|
||
"login": {
|
||
"subtitle": "Melden Sie sich an, um auf Ihr Dashboard zuzugreifen",
|
||
"username": "Benutzername",
|
||
"password": "Passwort",
|
||
"usernamePlaceholder": "Geben Sie Ihren Benutzernamen ein",
|
||
"passwordPlaceholder": "Geben Sie Ihr Passwort ein",
|
||
"rememberMe": "Erinnere dich an mich",
|
||
"missingCredentials": "Bitte geben Sie Benutzernamen und Passwort ein",
|
||
"missingTotp": "Bitte geben Sie Ihren 2FA-Code ein",
|
||
"invalidCredentials": "Falscher Benutzername oder Passwort",
|
||
"invalidTotp": "Falscher 2FA-Code",
|
||
"tooManyAttempts": "Zu viele Anmeldeversuche. Bitte warten Sie einen Moment und versuchen Sie es erneut.",
|
||
"loginFailed": "Fehler bei der Anmeldung",
|
||
"signingIn": "Anmelden...",
|
||
"signIn": "Anmelden",
|
||
"twoFactorTitle": "Zwei-Faktor-Authentifizierung",
|
||
"twoFactorDescription": "Geben Sie den 6-stelligen Code aus Ihrer Authentifizierungs-App ein",
|
||
"authenticationCode": "Authentifizierungscode",
|
||
"backupCodeHint": "Sie können auch einen Backup-Code verwenden (Format: XXXX-XXXX)",
|
||
"backToLogin": "Zurück zum Login",
|
||
"verifyCode": "Code überprüfen",
|
||
"version": "ProxMenux Monitor v1.2.6"
|
||
},
|
||
"account": {
|
||
"signedIn": "Angemeldet",
|
||
"viewProfile": "Profil ansehen",
|
||
"security": "Sicherheit",
|
||
"signOut": "Abmelden"
|
||
},
|
||
"authSetup": {
|
||
"choiceTitle": "Richten Sie den Dashboard-Schutz ein",
|
||
"passwordTitle": "Passwort erstellen",
|
||
"protectTitle": "Schützen Sie Ihr Dashboard?",
|
||
"protectDescription": "Fügen Sie eine zusätzliche Sicherheitsebene hinzu, um Ihre Proxmox-Daten beim Zugriff über nicht private Netzwerke zu schützen.",
|
||
"setupPassword": "Ja, Setup-Passwort",
|
||
"skipProtection": "Nein, fahren Sie ohne Schutz fort",
|
||
"enableLater": "Sie können dies später jederzeit in den Einstellungen aktivieren",
|
||
"setupTitle": "Authentifizierung einrichten",
|
||
"setupDescription": "Erstellen Sie einen Benutzernamen und ein Passwort, um Ihr Dashboard zu schützen",
|
||
"fillFields": "Bitte füllen Sie alle Felder aus",
|
||
"passwordMismatch": "Passwörter stimmen nicht überein",
|
||
"passwordTooShort": "Das Passwort muss mindestens 6 Zeichen lang sein",
|
||
"skipFailed": "Die Authentifizierung konnte nicht übersprungen werden",
|
||
"savePreferenceFailed": "Präferenz konnte nicht gespeichert werden",
|
||
"setupFailed": "Die Authentifizierung konnte nicht eingerichtet werden",
|
||
"username": "Benutzername",
|
||
"usernamePlaceholder": "Geben Sie den Benutzernamen ein",
|
||
"password": "Passwort",
|
||
"passwordPlaceholder": "Passwort eingeben",
|
||
"confirmPassword": "Passwort bestätigen",
|
||
"confirmPasswordPlaceholder": "Passwort bestätigen",
|
||
"profileOptional": "Profil · optional",
|
||
"displayName": "Anzeigename",
|
||
"displayNamePlaceholder": "Wird über dem Benutzernamen im Menü angezeigt",
|
||
"displayNameHint": "Lassen Sie das Feld leer, um den Benutzernamen selbst anzuzeigen. Bis zu 64 Zeichen.",
|
||
"avatar": "Avatar",
|
||
"change": "Ändern",
|
||
"chooseImage": "Bild auswählen",
|
||
"clear": "Klar",
|
||
"avatarHint": "PNG, JPEG, WebP oder GIF · bis zu 2 MB · Quadrat vor dem Zuschneiden für beste Ergebnisse.",
|
||
"settingUp": "Einrichten...",
|
||
"setupAuthentication": "Authentifizierung einrichten",
|
||
"back": "Zurück"
|
||
},
|
||
"securityPage": {
|
||
"title": "Sicherheit",
|
||
"description": "Schützen Sie den Zugriff auf den Monitor und den Proxmox-Host von einem Ort aus.",
|
||
"values": {
|
||
"permanent": "Dauerhaft",
|
||
"perm": "Dauerwelle",
|
||
"enabled": "Ermöglicht",
|
||
"disabled": "Deaktiviert",
|
||
"enable": "Aktivieren",
|
||
"disable": "Deaktivieren",
|
||
"enabledLower": "ermöglicht",
|
||
"disabledLower": "deaktiviert",
|
||
"clusterLower": "Cluster",
|
||
"hostLower": "Gastgeber",
|
||
"remove": "Entfernen",
|
||
"allow": "Erlauben",
|
||
"delete": "Löschen",
|
||
"uninstall": "Deinstallieren",
|
||
"uninstalling": "Deinstallation...",
|
||
"serviceRunning": "Dienst läuft",
|
||
"serviceNotRunning": "Dienst läuft nicht",
|
||
"active": "Aktiv",
|
||
"inactive": "Inaktiv",
|
||
"installed": "Installiert",
|
||
"notInstalled": "Nicht installiert",
|
||
"notFound": "Nicht gefunden",
|
||
"never": "Niemals",
|
||
"unknownDate": "unbekanntes Datum",
|
||
"system": "System",
|
||
"none": "Keiner",
|
||
"external": "Extern",
|
||
"up": "Hoch",
|
||
"down": "Runter"
|
||
},
|
||
"errors": {
|
||
"passwordMinLength": "Das Passwort muss mindestens 10 Zeichen lang sein.",
|
||
"passwordComplexity": "Verwenden Sie mindestens drei davon: Kleinbuchstaben, Großbuchstaben, Zahlen, Symbole.",
|
||
"passwordCommon": "Dieses Passwort ist zu häufig. Wählen Sie etwas, das schwerer zu erraten ist.",
|
||
"fail2banUninstallFailed": "Fail2Ban konnte nicht deinstalliert werden",
|
||
"lynisUninstallFailed": "Lynis konnte nicht deinstalliert werden",
|
||
"unbanIpFailed": "IP-Adresse konnte nicht entsperrt werden",
|
||
"applyMissingJailsFailed": "Fehlende Schutzmaßnahmen konnten nicht hinzugefügt werden",
|
||
"auditFailed": "Prüfung fehlgeschlagen",
|
||
"startAuditFailed": "Prüfung konnte nicht gestartet werden",
|
||
"updateJailConfigFailed": "Die Schutzeinstellungen konnten nicht gespeichert werden",
|
||
"invalidTrustedNetwork": "Geben Sie eine gültige IP-Adresse oder ein gültiges CIDR-Netzwerk ein.",
|
||
"trustedNetworkExists": "Diese IP-Adresse oder dieses Netzwerk ist bereits vertrauenswürdig.",
|
||
"updateTrustedNetworksFailed": "Die Aktualisierung vertrauenswürdiger IP-Adressen und Netzwerke ist fehlgeschlagen.",
|
||
"ruleNeedsPortOrSource": "Fügen Sie zunächst einen Zielport oder eine Quelladresse hinzu.",
|
||
"addRuleFailed": "Die Regel konnte nicht hinzugefügt werden",
|
||
"deleteRuleFailed": "Die Regel konnte nicht gelöscht werden",
|
||
"updateRuleFailed": "Die Regel konnte nicht aktualisiert werden",
|
||
"updateFirewallFailed": "Die Firewall konnte nicht aktualisiert werden",
|
||
"updateMonitorPortFailed": "Die Monitor-Port-Regel konnte nicht aktualisiert werden",
|
||
"fillAllFields": "Füllen Sie alle Felder aus.",
|
||
"passwordsDoNotMatch": "Passwörter stimmen nicht überein.",
|
||
"enableAuthFailed": "Die Authentifizierung konnte nicht aktiviert werden",
|
||
"authAlreadyConfigured": "Der Anmeldeschutz ist bereits konfiguriert. Aktualisieren Sie die Seite und versuchen Sie es erneut.",
|
||
"disableAuthFailed": "Die Authentifizierung konnte nicht deaktiviert werden",
|
||
"disableAuthRetry": "Die Authentifizierung konnte nicht deaktiviert werden. Bitte versuchen Sie es erneut.",
|
||
"newPasswordsDoNotMatch": "Neue Passwörter stimmen nicht überein.",
|
||
"changePasswordFailed": "Das Passwort konnte nicht geändert werden",
|
||
"invalidPassword": "Das Passwort ist nicht korrekt.",
|
||
"enterPassword": "Geben Sie Ihr Passwort ein.",
|
||
"enter2faOrBackup": "Geben Sie einen 2FA-Code oder Backup-Code ein.",
|
||
"disable2faFailed": "2FA konnte nicht deaktiviert werden",
|
||
"invalid2faCode": "Der 2FA-Code ist nicht korrekt.",
|
||
"enter2fa": "Geben Sie einen 2FA-Code ein.",
|
||
"revokeTokenFailed": "Token konnte nicht widerrufen werden",
|
||
"generateTokenFailed": "Token konnte nicht generiert werden",
|
||
"noTokenReceived": "Vom Server wurde kein Token zurückgegeben.",
|
||
"generateTokenRetry": "Token konnte nicht generiert werden. Bitte versuchen Sie es erneut.",
|
||
"configureSslFailed": "SSL konnte nicht konfiguriert werden",
|
||
"reloadSslFailed": "Das aktive Zertifikat konnte nicht aktualisiert werden",
|
||
"disableSslFailed": "SSL konnte nicht deaktiviert werden",
|
||
"deleteReportFailed": "Der Bericht konnte nicht gelöscht werden"
|
||
},
|
||
"messages": {
|
||
"fail2banUninstalled": "Fail2Ban wurde deinstalliert.",
|
||
"lynisUninstalled": "Lynis wurde deinstalliert.",
|
||
"ipUnbanned": "{ip} wurde vom {jail}-Schutz entsperrt.",
|
||
"missingJailsApplied": "Fehlende Schutzmaßnahmen wurden hinzugefügt.",
|
||
"auditCompleted": "Lynis-Audit abgeschlossen.",
|
||
"jailConfigUpdated": "Schutzeinstellungen wurden gespeichert.",
|
||
"trustedNetworkAdded": "{value} wird jetzt von Fail2Ban als vertrauenswürdig eingestuft.",
|
||
"trustedNetworkRemoved": "{value} wurde aus vertrauenswürdigen Netzwerken entfernt.",
|
||
"trustedNetworkUpdated": "Der vertrauenswürdige Eintrag wurde in {value} geändert.",
|
||
"ruleAdded": "Firewall-Regel wurde hinzugefügt.",
|
||
"ruleDeleted": "Firewall-Regel wurde gelöscht.",
|
||
"ruleUpdated": "Die Firewall-Regel wurde aktualisiert.",
|
||
"firewallUpdated": "{level} Firewall ist jetzt {state}.",
|
||
"monitorPortAdded": "Monitor-Port-Regel wurde hinzugefügt.",
|
||
"monitorPortRemoved": "Die Monitor-Port-Regel wurde entfernt.",
|
||
"authEnabled": "Die Authentifizierung ist jetzt aktiviert.",
|
||
"authDisabledReloading": "Die Authentifizierung ist deaktiviert. Neuladen...",
|
||
"passwordChanged": "Passwort wurde geändert.",
|
||
"twoFactorDisabled": "Die Zwei-Faktor-Authentifizierung ist deaktiviert.",
|
||
"tokenRevoked": "API-Token wurde widerrufen.",
|
||
"apiTokenGenerated": "API-Token wurde generiert.",
|
||
"sslEnabledRestarting": "HTTPS ist aktiviert. Dienst wird neu gestartet...",
|
||
"sslDisabledRestarting": "HTTPS ist deaktiviert. Dienst wird neu gestartet...",
|
||
"sslCertificateReloaded": "Das erneuerte Zertifikat ist jetzt aktiv. Bestehende Verbindungen wurden nicht unterbrochen.",
|
||
"sslCertificateUnchanged": "Das aktive Zertifikat entspricht bereits den aktuellen Zertifikatsdateien.",
|
||
"reportDeleted": "Auditbericht wurde gelöscht.",
|
||
"twoFactorEnabled": "Die Zwei-Faktor-Authentifizierung ist aktiviert."
|
||
},
|
||
"confirm": {
|
||
"disableAuth": "Authentifizierung deaktivieren? Jeder, der das Dashboard erreichen kann, kann es öffnen.",
|
||
"revokeToken": "Dieses API-Token widerrufen?",
|
||
"disableHttps": "HTTPS deaktivieren und zu einfachem HTTP zurückkehren?",
|
||
"deleteAuditReport": "Diesen Prüfbericht löschen?",
|
||
"cannotBeUndone": "Dies kann nicht rückgängig gemacht werden."
|
||
},
|
||
"auth": {
|
||
"title": "Zugriff und Authentifizierung",
|
||
"description": "Steuern Sie, wer das Monitor-Dashboard öffnen kann.",
|
||
"statusTitle": "Passwortschutz",
|
||
"passwordEnabled": "Die Passwortanmeldung ist aktiviert.",
|
||
"noPasswordProtection": "Das Dashboard ist derzeit ohne Passwort geöffnet.",
|
||
"enableHint": "Fügen Sie einen Benutzernamen und ein Passwort hinzu, bevor Sie dieses Dashboard außerhalb Ihres privaten Netzwerks verfügbar machen.",
|
||
"enable": "Authentifizierung aktivieren",
|
||
"setupTitle": "Login erstellen",
|
||
"username": "Benutzername",
|
||
"usernamePlaceholder": "Administrator",
|
||
"password": "Passwort",
|
||
"passwordPlaceholder": "Passwort eingeben",
|
||
"confirmPassword": "Passwort bestätigen",
|
||
"confirmPasswordPlaceholder": "Geben Sie das Passwort erneut ein",
|
||
"enabling": "Aktivieren...",
|
||
"enableShort": "Aktivieren",
|
||
"changePassword": "Kennwort ändern",
|
||
"currentPassword": "Aktuelles Passwort",
|
||
"currentPasswordPlaceholder": "Geben Sie das aktuelle Passwort ein",
|
||
"newPassword": "Neues Passwort",
|
||
"newPasswordPlaceholder": "Geben Sie ein neues Passwort ein",
|
||
"confirmNewPassword": "Bestätigen Sie das neue Passwort",
|
||
"confirmNewPasswordPlaceholder": "Geben Sie erneut das neue Passwort ein",
|
||
"changing": "Ändern...",
|
||
"enterYourPassword": "Geben Sie Ihr Passwort ein",
|
||
"disable": "Deaktivieren Sie die Authentifizierung"
|
||
},
|
||
"twoFactor": {
|
||
"title": "Zwei-Faktor-Authentifizierung",
|
||
"hint": "Fügen Sie nach dem Passwort einen Einmalcode aus einer Authentifizierungs-App hinzu.",
|
||
"enable": "Aktivieren Sie 2FA",
|
||
"enabled": "2FA ist aktiviert.",
|
||
"disable": "Deaktivieren Sie 2FA",
|
||
"disableTitle": "Deaktivieren Sie die Zwei-Faktor-Authentifizierung",
|
||
"disableDescription": "Bestätigen Sie mit Ihrem Passwort und einem aktuellen 2FA-Code oder Backup-Code.",
|
||
"codeOrBackup": "2FA-Code oder Backup-Code",
|
||
"codeOrBackupPlaceholder": "123456 oder XXXX-XXXX",
|
||
"disabling": "Deaktivieren...",
|
||
"code": "2FA-Code",
|
||
"codePlaceholder": "123456"
|
||
},
|
||
"ssl": {
|
||
"title": "SSL / HTTPS",
|
||
"description": "Verschlüsseln Sie die Dashboard-Verbindung, wenn sie in einem Browser geöffnet wird.",
|
||
"httpsEnabled": "HTTPS ist aktiviert.",
|
||
"httpNoSsl": "Das Dashboard verwendet einfaches HTTP.",
|
||
"usingCertificate": "Verwendung des Zertifikats {source}.",
|
||
"proxmoxHost": "Proxmox-Host",
|
||
"custom": "Brauch",
|
||
"unencryptedHttp": "Der Datenverkehr wird über HTTP nicht verschlüsselt.",
|
||
"activeCertificate": "Aktives Zertifikat",
|
||
"cert": "Zertifikat",
|
||
"key": "Privater Schlüssel",
|
||
"updateCertificate": "Zertifikat aktualisieren",
|
||
"updatingCertificate": "Wird aktualisiert...",
|
||
"disabling": "Deaktivieren...",
|
||
"restarting": "Neustart...",
|
||
"disableHttps": "Deaktivieren Sie HTTPS",
|
||
"proxmoxCertDetected": "Proxmox-Zertifikat erkannt",
|
||
"subject": "Thema",
|
||
"issuer": "Emittent",
|
||
"expires": "Läuft ab",
|
||
"selfSignedWarning": "Bei selbstsignierten Zertifikaten wird möglicherweise eine Browserwarnung angezeigt. Das ist bei lokalen Proxmox-Setups normal.",
|
||
"configuring": "Konfigurieren...",
|
||
"useProxmoxCertificate": "Verwenden Sie das Proxmox-Zertifikat",
|
||
"noProxmoxCertificate": "Es wurde kein Proxmox-Zertifikat erkannt.",
|
||
"useCustomCertificate": "Benutzerdefiniertes Zertifikat verwenden",
|
||
"customPaths": "Benutzerdefinierte Zertifikatpfade",
|
||
"customPathsDescription": "Verwenden Sie vorhandene Zertifikate und Schlüsseldateien vom Host.",
|
||
"certificatePath": "Zertifikatspfad",
|
||
"privateKeyPath": "Pfad des privaten Schlüssels",
|
||
"enableHttps": "Aktivieren Sie HTTPS",
|
||
"restartTitle": "Dienstneustart erforderlich",
|
||
"restartDescription": "Durch das Ändern der HTTPS-Einstellungen wird der Monitor-Dienst für einen Moment neu gestartet.",
|
||
"changesRestart": "Die Seite wird möglicherweise kurzzeitig getrennt, während der Dienst neu gestartet wird."
|
||
},
|
||
"apiTokens": {
|
||
"defaultName": "Dashboard-Token",
|
||
"title": "API-Tokens",
|
||
"description": "Erstellen Sie langlebige Token für Integrationen und Automatisierung.",
|
||
"aboutTitle": "Über API-Tokens",
|
||
"validFor": "Token bleiben gültig, bis Sie sie widerrufen.",
|
||
"externalServices": "Verwenden Sie sie mit externen Tools anstelle Ihres Passworts.",
|
||
"authorizationHeader": "Senden Sie das Token im Authorization-Header.",
|
||
"seeGuideBefore": "Siehe die",
|
||
"integrationsGuide": "Integrationsleitfaden",
|
||
"seeGuideAfter": "für Beispiele.",
|
||
"generateNew": "Neues Token generieren",
|
||
"generateTitle": "API-Token generieren",
|
||
"generateDescription": "Geben Sie Ihr Passwort und den 2FA-Code ein, falls aktiviert.",
|
||
"tokenName": "Tokenname",
|
||
"tokenNamePlaceholder": "Homepage-Dashboard",
|
||
"generating": "Generieren...",
|
||
"generate": "Token generieren",
|
||
"yourToken": "Ihr API-Token",
|
||
"saveTokenNow": "Speichern Sie dieses Token jetzt.",
|
||
"tokenOnlyShownOnce": "Es wird nur einmal angezeigt.",
|
||
"token": "Token",
|
||
"copied": "Kopiert",
|
||
"howToUse": "Wie man es benutzt",
|
||
"addToHeaders": "Fügen Sie diesen Header zu Ihren Anfragen hinzu:",
|
||
"authorizationHeaderExample": "Autorisierung: Inhaber <Token>",
|
||
"readmeExamples": "Integrationsbeispiele finden Sie in der README-Datei.",
|
||
"done": "Erledigt",
|
||
"activeTokens": "Aktive Token",
|
||
"invalidRegenerate": "Wenn ein Token verloren geht, widerrufen Sie es und generieren Sie ein neues.",
|
||
"legacy": "Vermächtnis",
|
||
"revoke": "Widerrufen",
|
||
"loading": "Token werden geladen...",
|
||
"empty": "Noch keine API-Tokens."
|
||
},
|
||
"firewall": {
|
||
"title": "Firewall",
|
||
"description": "Verwalten Sie den Proxmox-Firewall-Status und einfache Zugriffsregeln.",
|
||
"notDetectedTitle": "Die Proxmox-Firewall wurde nicht erkannt",
|
||
"notDetectedDescription": "Firewall-Tools sind auf diesem Host nicht verfügbar.",
|
||
"clusterTitle": "Cluster-Firewall",
|
||
"clusterActive": "Die Cluster-Firewall ist aktiv.",
|
||
"clusterDisabled": "Die Cluster-Firewall ist deaktiviert.",
|
||
"hostTitle": "Host-Firewall",
|
||
"hostActive": "Die Host-Firewall ist für diesen Knoten aktiv.",
|
||
"clusterRequiredHint": "Aktivieren Sie zuerst die Cluster-Firewall und dann die Host-Firewall.",
|
||
"quickAccessRules": "Schnellzugriffsregeln",
|
||
"port8008": "Überwachen Sie Port 8008",
|
||
"port8006AlwaysAllowed": "Proxmox-Port 8006 ist immer erlaubt.",
|
||
"builtIn": "Eingebaut",
|
||
"monitorPortWarning": "Lassen Sie Port 8008 zugelassen, wenn Sie von einem anderen Gerät aus auf den Monitor zugreifen.",
|
||
"rulesOverview": "Übersicht über die Regeln",
|
||
"totalRules": "Totale Regeln",
|
||
"accept": "Akzeptieren",
|
||
"blockReject": "Blockieren / ablehnen",
|
||
"portsCovered": "Häfen abgedeckt",
|
||
"drop": "Fallen",
|
||
"reject": "Ablehnen",
|
||
"cluster": "Cluster",
|
||
"host": "Gastgeber",
|
||
"rules": "{count} Regeln",
|
||
"addRule": "Regel hinzufügen",
|
||
"newRule": "Neue Regel",
|
||
"quickPresets": "Schnelle Voreinstellungen",
|
||
"incomingLower": "eingehend",
|
||
"outgoingLower": "kontaktfreudig",
|
||
"allowLower": "erlauben",
|
||
"blockSilentlyLower": "stillschweigend blockieren",
|
||
"blockWithResponseLower": "Block mit Antwort",
|
||
"destinationPortHint": "Zum Beispiel 22, 80, 443 oder 8008.",
|
||
"sourceAddressHint": "Optionale IP oder CIDR, zum Beispiel 192.168.1.0/24.",
|
||
"anyInterface": "Jede Schnittstelle",
|
||
"hostFirewallThisNode": "Host-Firewall für diesen Knoten",
|
||
"clusterFirewallAllNodes": "Cluster-Firewall für alle Knoten",
|
||
"any": "Beliebig",
|
||
"anyLower": "beliebig",
|
||
"incoming": "Eingehend",
|
||
"outgoing": "Ausgehend",
|
||
"saveChanges": "Änderungen speichern",
|
||
"noRules": "Noch keine Firewall-Regeln.",
|
||
"noRulesHint": "Fügen Sie eine Regel hinzu oder verwenden Sie eine Voreinstellung oben.",
|
||
"fields": {
|
||
"direction": "Richtung",
|
||
"action": "Aktion",
|
||
"protocol": "Protokoll",
|
||
"proto": "Proto",
|
||
"destinationPort": "Zielport",
|
||
"sourceAddress": "Quelladresse",
|
||
"interfaceOptional": "Schnittstelle (optional)",
|
||
"applyTo": "Gelten",
|
||
"commentOptional": "Kommentar (optional)",
|
||
"port": "Hafen",
|
||
"source": "Quelle",
|
||
"level": "Ebene",
|
||
"interface": "Schnittstelle",
|
||
"comment": "Kommentar",
|
||
"scope": "Umfang"
|
||
},
|
||
"placeholders": {
|
||
"destinationPort": "22, 80, 443",
|
||
"sourceAddress": "192.168.1.0/24",
|
||
"comment": "Wofür diese Regel ist",
|
||
"shortPort": "8008",
|
||
"ipOrCidr": "IP oder CIDR",
|
||
"description": "Beschreibung"
|
||
},
|
||
"presets": {
|
||
"httpWeb": "HTTP-Web",
|
||
"httpsWeb": "HTTPS-Web",
|
||
"sshRemoteAccess": "SSH-Fernzugriff",
|
||
"smtpMail": "SMTP-Mail",
|
||
"icmpPing": "ICMP-Ping"
|
||
}
|
||
},
|
||
"fail2ban": {
|
||
"description": "Blockieren Sie wiederholte fehlgeschlagene Anmeldeversuche gegen SSH, Proxmox und den Monitor.",
|
||
"notInstalled": "Fail2Ban ist nicht installiert.",
|
||
"notInstalledDescription": "Installieren Sie es, um wiederholte fehlgeschlagene Anmeldungen automatisch zu blockieren.",
|
||
"configureTitle": "Das Installationsprogramm konfiguriert Folgendes:",
|
||
"configureSsh": "SSH-Schutz",
|
||
"configureProxmox": "Proxmox-Anmeldeschutz",
|
||
"configureMonitor": "Überwachen Sie den Anmeldeschutz",
|
||
"configureGlobal": "Grundlegende Sperreinstellungen",
|
||
"customizeAfterInstall": "Sie können jeden Schutz nach der Installation anpassen.",
|
||
"installConfigure": "Installieren und konfigurieren",
|
||
"jails": "Schutzmaßnahmen",
|
||
"bannedIps": "Blockierte IPs",
|
||
"totalBans": "Gesamtblöcke",
|
||
"failedAttempts": "Fehlgeschlagene Versuche",
|
||
"missingProtectionsTitle": "Einige Schutzmaßnahmen fehlen",
|
||
"missingProtectionsBefore": "Fehlende Schutzmaßnahmen hinzufügen für",
|
||
"applyMissingJails": "Fügen Sie Schutzmaßnahmen hinzu",
|
||
"permanentBan": "Permanente Sperre",
|
||
"maxRetriesTitle": "Fehlversuche vor der Sperre",
|
||
"retries": "Versuchslimit",
|
||
"banDurationTitle": "Wie lange bleibt die IP gesperrt?",
|
||
"ban": "Zeit blockieren",
|
||
"findTimeTitle": "Zeitfenster für die Zählung fehlgeschlagener Versuche",
|
||
"window": "Zeitraum",
|
||
"configureJailSettings": "Bearbeiten Sie diesen Schutz",
|
||
"configureJail": "Bearbeiten Sie den {jail}-Schutz",
|
||
"maxRetries": "Max versucht es noch einmal",
|
||
"failedAttemptsBeforeBan": "Fehlversuche, bevor die IP blockiert wird.",
|
||
"banTimeSeconds": "Blockzeit (Sekunden)",
|
||
"permanentBanNeverExpires": "Permanente Sperre, läuft nie ab.",
|
||
"findTimeSeconds": "Zeit finden (Sekunden)",
|
||
"timeWindowHint": "Innerhalb dieses Fensters werden Fehlversuche gezählt.",
|
||
"commonValuesHint": "Übliche Werte: 600 = 10 Min., 3600 = 1 Stunde, -1 = dauerhaft.",
|
||
"saveConfiguration": "Konfiguration speichern",
|
||
"banned": "Derzeit blockiert",
|
||
"failedNow": "Jetzt gescheitert",
|
||
"totalFailed": "Total fehlgeschlagen",
|
||
"bannedIpsWithCount": "Blockierte IPs ({count})",
|
||
"unban": "Entsperren",
|
||
"noBannedIps": "Derzeit sind keine IP-Adressen blockiert.",
|
||
"noJails": "Keine Schutzmaßnahmen gefunden.",
|
||
"noActivity": "Noch keine Fail2Ban-Aktivität.",
|
||
"installationTitle": "Installieren Sie Fail2Ban",
|
||
"installationDescription": "Das Terminal installiert Fail2Ban und konfiguriert den Anmeldeschutz.",
|
||
"uninstallConfirmTitle": "Fail2Ban deinstallieren?",
|
||
"uninstallConfirmDescription": "Dadurch werden das Fail2Ban-Paket und seine von Monitor erstellten Schutzdateien entfernt.",
|
||
"removeSshJail": "Entfernen Sie den SSH-Schutz",
|
||
"removeProxmoxProtection": "Entfernen Sie den Proxmox-Schutz",
|
||
"removeMonitorProtection": "Entfernen Sie den Monitorschutz",
|
||
"removeCustomJails": "Entfernen Sie vom Monitor erstellte benutzerdefinierte Schutzdateien",
|
||
"removeAuthLogger": "Entfernen Sie den Monitor-Authentifizierungslogger",
|
||
"jailLabels": {
|
||
"sshd": "SSH",
|
||
"proxmox": "Proxmox",
|
||
"proxmenux": "ProxMenux Monitor"
|
||
},
|
||
"jailDescriptions": {
|
||
"sshd": "Blockiert wiederholte SSH-Anmeldefehler.",
|
||
"proxmox": "Blockiert wiederholte Anmeldefehler bei der Proxmox-Benutzeroberfläche.",
|
||
"proxmenux": "Blockiert wiederholte Monitor-Anmeldefehler."
|
||
},
|
||
"tabs": {
|
||
"jails": "Schutzmaßnahmen und blockierte IPs",
|
||
"activity": "Aktivität"
|
||
},
|
||
"activity": {
|
||
"ban": "Blockiert",
|
||
"unban": "Entsperrt",
|
||
"fail": "Fehlgeschlagen"
|
||
},
|
||
"placeholders": {
|
||
"maxRetries": "5",
|
||
"banTime": "3600",
|
||
"findTime": "600"
|
||
},
|
||
"trustedNetworks": {
|
||
"title": "Vertrauenswürdige IP-Adressen und Netzwerke",
|
||
"description": "Fail2Ban wird diese Adressen niemals blockieren.",
|
||
"required": "Erforderlich",
|
||
"remove": "Aus vertrauenswürdigen Netzwerken entfernen",
|
||
"placeholder": "192.168.1.25 oder 192.168.1.0/24",
|
||
"add": "Hinzufügen",
|
||
"addCurrent": "Meine IP hinzufügen ({ip})",
|
||
"addRule": "Adresse/Netzwerk hinzufügen",
|
||
"addressOrNetwork": "IP-Adresse oder CIDR-Netzwerk",
|
||
"example": "Eine Adresse: 192.168.1.25 · Gesamtes Netzwerk: 192.168.1.0/24",
|
||
"useCurrent": "Benutze meine aktuelle IP: {ip}",
|
||
"singleIp": "IP-Adresse",
|
||
"network": "Netzwerk",
|
||
"edit": "Bearbeiten",
|
||
"delete": "Löschen",
|
||
"save": "Änderungen speichern",
|
||
"trusted": "Vertrauenswürdig",
|
||
"system": "System",
|
||
"columns": {
|
||
"status": "Status",
|
||
"type": "Typ",
|
||
"address": "Adresse / Netzwerk",
|
||
"actions": "Aktionen"
|
||
},
|
||
"warning": "Vertrauen Sie nur den Adressen, die Sie kontrollieren. Wenn Sie einem gesamten Netzwerk vertrauen, ignoriert Fail2Ban auch ein gefährdetes Gerät in diesem Netzwerk."
|
||
}
|
||
},
|
||
"lynis": {
|
||
"title": "Lynis-Sicherheitsaudit",
|
||
"description": "Führen Sie ein lokales Sicherheitsaudit durch und überprüfen Sie praktische Vorschläge zur Härtung.",
|
||
"notInstalled": "Lynis ist nicht installiert.",
|
||
"notInstalledDescription": "Installieren Sie Lynis, um lokale Sicherheitsüberprüfungen auf diesem Host durchzuführen.",
|
||
"featuresTitle": "Lynis prüft auf:",
|
||
"featureScoring": "Systemhärtebewertung",
|
||
"featureVulnerabilities": "bekannte Schwachstellen und riskante Einstellungen",
|
||
"featureCompliance": "gemeinsame Sicherheitskontrollen",
|
||
"featureGithub": "übersichtlicher Bericht, den Sie ausdrucken oder speichern können",
|
||
"install": "Installieren Sie Lynis",
|
||
"installedDescription": "Lynis ist installiert und bereit, diesen Host zu prüfen.",
|
||
"lastScan": "Letzter Scan",
|
||
"hardeningIndex": "Härteindex",
|
||
"warnings": "Warnungen",
|
||
"pveExpectedPlus": "+ {count} für Proxmox erwartet",
|
||
"expectedWarningsSuffix": "+ {count} für Proxmox erwartet",
|
||
"suggestions": "Vorschläge",
|
||
"securityHardeningScore": "Bewertung der Sicherheitshärtung",
|
||
"proxmoxAdjustedParen": "(Proxmox angepasst)",
|
||
"scoreBreakdown": "Lynis: {raw} | Proxmox: {adjusted}",
|
||
"scoreCritical": "Kritisch",
|
||
"scoreModerate": "Mäßig",
|
||
"scoreGood": "Gut",
|
||
"rawScorePrefix": "Roher Score",
|
||
"expectedFindings": "{count} erwartete Proxmox-Ergebnisse",
|
||
"auditInProgress": "Prüfung läuft",
|
||
"auditInProgressDescription": "Dies kann ein bis zwei Minuten dauern.",
|
||
"auditReports": "Auditberichte",
|
||
"auditReportTitle": "Lynis-Bericht",
|
||
"reportSummary": "{host} · {tests} · Punktzahl {score}/100 · {warnings} · {suggestions}",
|
||
"printSavePdf": "PDF drucken oder speichern",
|
||
"deleteReport": "Bericht löschen",
|
||
"hostname": "Hostname",
|
||
"kernel": "Kernel",
|
||
"tests": "Tests",
|
||
"packages": "Pakete",
|
||
"firewall": "Firewall",
|
||
"malwareScanner": "Malware-Scanner",
|
||
"malwareScannerNotInstalled": "Scanner nicht installiert",
|
||
"quickStatus": "Schneller Status",
|
||
"allPveExpected": "alle {count} für Proxmox erwartet",
|
||
"actionableCount": "{count} umsetzbar",
|
||
"hardeningScorePve": "Härtewert (Proxmox angepasst)",
|
||
"noCheckDetails": "Es liegen keine detaillierten Prüfergebnisse vor.",
|
||
"checksCount": "{count} prüft",
|
||
"noWarnings": "Keine Warnungen.",
|
||
"pveExpected": "Erwartet für Proxmox",
|
||
"lowRisk": "Geringes Risiko",
|
||
"solution": "Lösung",
|
||
"noSuggestions": "Keine Vorschläge.",
|
||
"lowPriority": "Niedrige Priorität",
|
||
"runningAudit": "Audit läuft...",
|
||
"runAudit": "Audit durchführen",
|
||
"installationTitle": "Installieren Sie Lynis",
|
||
"installationDescription": "Das Terminal installiert Lynis und bereitet die Berichtsunterstützung vor.",
|
||
"uninstallConfirmTitle": "Lynis deinstallieren?",
|
||
"uninstallConfirmDescription": "Dadurch werden von Lynis und Monitor erstellte Prüfberichtsdateien entfernt.",
|
||
"removeInstallation": "Entfernen Sie die Lynis-Installation",
|
||
"removeWrapper": "Entfernen Sie den Monitor Lynis-Wrapper",
|
||
"removeReports": "Entfernen Sie gespeicherte Prüfberichte",
|
||
"counts": {
|
||
"tests": {
|
||
"one": "{count}-Test",
|
||
"few": "{count} Tests",
|
||
"many": "{count} Tests"
|
||
},
|
||
"warnings": {
|
||
"one": "{count} Warnung",
|
||
"few": "{count} Warnungen",
|
||
"many": "{count} Warnungen"
|
||
},
|
||
"suggestions": {
|
||
"one": "{count} Vorschlag",
|
||
"few": "{count} Vorschläge",
|
||
"many": "{count} Vorschläge"
|
||
},
|
||
"testsExecuted": {
|
||
"one": "{count} Test wurde ausgeführt.",
|
||
"few": "{count} Tests wurden ausgeführt.",
|
||
"many": "{count} Tests wurden ausgeführt."
|
||
},
|
||
"actionableWarnings": {
|
||
"one": "{count} umsetzbare Warnung",
|
||
"few": "{count} umsetzbare Warnungen",
|
||
"many": "{count} umsetzbare Warnungen"
|
||
},
|
||
"actionableSuggestions": {
|
||
"one": "{count} umsetzbarer Vorschlag",
|
||
"few": "{count} umsetzbare Vorschläge",
|
||
"many": "{count} umsetzbare Vorschläge"
|
||
}
|
||
},
|
||
"tabs": {
|
||
"overview": "Überblick",
|
||
"checksWithCount": "Schecks ({count})",
|
||
"warningsWithCount": "Warnungen ({count})",
|
||
"suggestionsWithCount": "Vorschläge ({count})"
|
||
},
|
||
"report": {
|
||
"scoreGood": "Gut",
|
||
"scoreModerate": "Mäßig",
|
||
"scoreCritical": "Ausgabe",
|
||
"scoreUnavailable": "Unvollständig",
|
||
"title": "Lynis-Auditbericht",
|
||
"useCmdP": "Verwenden Sie ⌘+P zum Drucken oder Speichern als PDF.",
|
||
"useCtrlP": "Verwenden Sie Strg+P zum Drucken oder Speichern als PDF.",
|
||
"brandTitle": "ProxMenux Monitor · Lynis Audit",
|
||
"reviewHint": "Generierte Überprüfung für lokale Härtungsentscheidungen.",
|
||
"subtitle": "Sicherheitsauditbericht",
|
||
"date": "Datum",
|
||
"auditor": "Wirtschaftsprüfer",
|
||
"executiveSummary": "Zusammenfassung",
|
||
"hardeningAssessment": "Härtebewertung",
|
||
"auditOf": "Prüfung von",
|
||
"running": "läuft weiter",
|
||
"unknownOs": "unbekanntes Betriebssystem",
|
||
"noActionableWarnings": "Keine umsetzbaren Warnungen",
|
||
"and": "Und",
|
||
"expectedBehavior": "Für Proxmox als erwartet gekennzeichnete Ergebnisse sind für Proxmox VE-Hosts normalerweise normal.",
|
||
"lynisRaw": "Lynis roh",
|
||
"pveAdjusted": "Proxmox angepasst",
|
||
"rangeCritical": "0-49 kritisch",
|
||
"rangeModerate": "50-69 mäßig",
|
||
"rangeGood": "70-100 gut",
|
||
"systemInformation": "Systeminformationen",
|
||
"operatingSystem": "Betriebssystem",
|
||
"lynisVersion": "Lynis-Version",
|
||
"reportDate": "Meldedatum",
|
||
"testsPerformed": "Durchgeführte Tests",
|
||
"securityPosture": "Sicherheitslage",
|
||
"proxmoxScoreWithLabel": "Proxmox-Score ({label})",
|
||
"actionableWarningsLabel": "Umsetzbare Warnungen",
|
||
"actionableSuggestionsLabel": "Umsetzbare Vorschläge",
|
||
"warningsDescription": "Warnungen, die es wert sind, zuerst gelesen zu werden. Die von Proxmox erwarteten Erkenntnisse sind hier versteckt.",
|
||
"noWarningsDetected": "Es wurden keine umsetzbaren Warnungen erkannt.",
|
||
"recommendation": "Empfehlung",
|
||
"suggestionsDescription": "Härtungsvorschläge mit niedrigerer Priorität. Auch hier verbergen sich die von Proxmox erwarteten Erkenntnisse.",
|
||
"incompleteDescription": "Lynis hat einen unvollständigen Bericht ohne Ergebnis oder Testanzahl erstellt. Führen Sie die Prüfung erneut durch, um ein zuverlässiges Ergebnis anzuzeigen.",
|
||
"detailedChecks": "Detaillierte Kontrollen",
|
||
"categoriesCount": "{count} Kategorien",
|
||
"detailedChecksDescription": "Rohe Lynis-Prüfgruppen aus dem Prüfbericht.",
|
||
"check": "Überprüfen",
|
||
"status": "Status",
|
||
"generatedBy": "Erstellt von",
|
||
"confidential": "Halten Sie diesen Bericht vertraulich; Es kann Hostdetails enthalten."
|
||
},
|
||
"reportIncompleteTitle": "Audit hat noch keine verwertbaren Ergebnisse",
|
||
"reportIncompleteDescription": "Lynis hat einen unvollständigen Bericht ohne Ergebnis oder Testanzahl erstellt. Führen Sie die Prüfung erneut aus.",
|
||
"reportIncompleteShort": "Der Bericht ist unvollständig – führen Sie die Prüfung erneut durch."
|
||
},
|
||
"twoFactorSetup": {
|
||
"setupFailed": "Das 2FA-Setup konnte nicht gestartet werden",
|
||
"enterSixDigitCode": "Geben Sie den 6-stelligen Code ein.",
|
||
"invalidCode": "Ungültiger Code",
|
||
"verificationFailed": "Code konnte nicht überprüft werden",
|
||
"copyPrompt": "Kopieren Sie diesen geheimen Schlüssel:",
|
||
"title": "Richten Sie die Zwei-Faktor-Authentifizierung ein",
|
||
"description": "Verwenden Sie eine Authentifizierungs-App, um Ihrem Login einen Einmalcode hinzuzufügen.",
|
||
"intro": "Dadurch wird nach Ihrem Passwort ein zweiter Schritt hinzugefügt, sodass ein durchgesickertes Passwort nicht ausreicht, um sich anzumelden.",
|
||
"youWillNeed": "Sie benötigen:",
|
||
"needApp": "Eine Authentifizierungs-App wie Aegis, 1Password, Bitwarden oder Google Authenticator.",
|
||
"needQrOrKey": "Ein QR-Code oder manueller Schlüssel aus diesem Setup.",
|
||
"needBackupCodes": "Backup-Codes werden an einem sicheren Ort gespeichert.",
|
||
"starting": "Beginnt...",
|
||
"startSetup": "Starten Sie die Einrichtung",
|
||
"scanTitle": "Scannen Sie den QR-Code",
|
||
"scanDescription": "Öffnen Sie Ihre Authentifizierungs-App und scannen Sie diesen Code.",
|
||
"qrCodeAlt": "2FA QR-Code",
|
||
"manualKey": "Manueller Schlüssel",
|
||
"copyKey": "Schlüssel kopieren",
|
||
"verifyTitle": "Code überprüfen",
|
||
"verifyDescription": "Geben Sie den aktuellen 6-stelligen Code aus Ihrer App ein.",
|
||
"verifying": "Überprüfung...",
|
||
"verifyAndEnable": "Überprüfen und aktivieren",
|
||
"enabledTitle": "2FA ist aktiviert.",
|
||
"enabledDescription": "Speichern Sie die Backup-Codes, bevor Sie dieses Fenster schließen.",
|
||
"saveCodesTitle": "Speichern Sie Ihre Backup-Codes",
|
||
"saveCodesDescription": "Jeder Code kann einmal verwendet werden, wenn Sie den Zugriff auf Ihre Authentifizierungs-App verlieren.",
|
||
"backupCodes": "Backup-Codes",
|
||
"copyAll": "Alles kopieren",
|
||
"finish": "Beenden"
|
||
},
|
||
"secureGateway": {
|
||
"title": "Secure Gateway",
|
||
"learnMore": "Erfahren Sie mehr",
|
||
"noNetworkDetected": "Kein Netzwerk erkannt",
|
||
"noNetworksDetected": "Es wurden keine Netzwerke erkannt.",
|
||
"recommended": "Empfohlen",
|
||
"retry": "Wiederholen",
|
||
"errors": {
|
||
"loadWizardFailed": "Das Secure Gateway-Setup konnte nicht geladen werden",
|
||
"updateFailed": "Secure Gateway konnte nicht aktualisiert werden",
|
||
"networkUpdateFailed": "Netzwerkfehler beim Aktualisieren von Secure Gateway",
|
||
"fieldRequired": "{field} ist erforderlich.",
|
||
"deploymentFailed": "Die Bereitstellung ist fehlgeschlagen",
|
||
"ociRequiresPve": "Secure Gateway verwendet Standard-LXC und sollte auf diesem Proxmox-Host funktionieren. Wenn dies weiterhin auftritt, überprüfen Sie die Backend-Protokolle.",
|
||
"authKeyRequired": "Geben Sie einen Tailscale-Authentifizierungsschlüssel ein.",
|
||
"updateAuthKeyFailed": "Der Authentifizierungsschlüssel konnte nicht aktualisiert werden",
|
||
"couldNotLoadSetupData": "Setup-Daten konnten nicht geladen werden."
|
||
},
|
||
"messages": {
|
||
"updateApplied": "Update wurde angewendet.",
|
||
"preparingDeployment": "Bereitstellung wird vorbereitet...",
|
||
"creatingLxc": "LXC-Container wird erstellt...",
|
||
"gatewayDeployed": "Secure Gateway bereitgestellt."
|
||
},
|
||
"logs": {
|
||
"empty": "Keine Protokolle verfügbar.",
|
||
"failed": "Protokolle konnten nicht geladen werden.",
|
||
"title": "Secure Gateway-Protokolle",
|
||
"description": "Aktuelle Serviceausgabe aus dem Gateway-Container."
|
||
},
|
||
"values": {
|
||
"never": "niemals",
|
||
"yesterdayAt": "gestern um {time}",
|
||
"yes": "Ja",
|
||
"no": "NEIN"
|
||
},
|
||
"wizard": {
|
||
"introTitle": "Sicherer Fernzugriff mit Tailscale",
|
||
"introDescription": "Stellen Sie ein kleines LXC-Gateway bereit, damit Ihre Geräte über Ihr Tailscale-Tailnet ProxMenux, Proxmox und ausgewählte lokale Netzwerke erreichen können.",
|
||
"whatYouGet": "Was Sie bekommen",
|
||
"benefitMonitorAnywhere": "Öffnen Sie den Monitor von überall auf Ihrem Hecknetz.",
|
||
"benefitProxmoxUi": "Erreichen Sie die Proxmox-Web-Benutzeroberfläche, ohne Port 8006 freizugeben.",
|
||
"benefitVmLxc": "Greifen Sie bei Bedarf auf ausgewählte VM- und LXC-Netzwerke zu.",
|
||
"benefitEncryption": "Der Datenverkehr bleibt über Tailscale verschlüsselt.",
|
||
"benefitNoPorts": "Keine öffentliche Portweiterleitung erforderlich.",
|
||
"tailscaleAccountBefore": "Sie benötigen ein Tailscale-Konto und einen Pre-Auth-Key von",
|
||
"reviewDeploy": "Überprüfen und bereitstellen",
|
||
"reviewDescription": "Überprüfen Sie die endgültigen Einstellungen, bevor das LXC-Gateway erstellt wird.",
|
||
"storageLocation": "Speicherort",
|
||
"storageDescription": "Wählen Sie aus, wo der Gateway-Container gespeichert werden soll.",
|
||
"gbAvailable": "{amount} GB verfügbar",
|
||
"configurationSummary": "Konfigurationszusammenfassung",
|
||
"hostname": "Hostname",
|
||
"storage": "Lagerung",
|
||
"accessMode": "Zugriffsmodus",
|
||
"accessModes": {
|
||
"hostOnly": "Nur Proxmox",
|
||
"proxmoxNetwork": "Vollständiges lokales Netzwerk",
|
||
"customNetworks": "Benutzerdefinierte Netzwerke"
|
||
},
|
||
"hostAccess": "Host-Zugriff",
|
||
"networks": "Netzwerke",
|
||
"exitNode": "Ausgangsknoten",
|
||
"acceptRoutes": "Routen akzeptieren",
|
||
"important": "Wichtig",
|
||
"approvalRequired": "Genehmigen Sie nach der Bereitstellung die angekündigten Subnetzrouten in Tailscale Admin.",
|
||
"exitNodeApprovalRequired": "Dort muss auch der Exit-Node-Modus genehmigt werden.",
|
||
"showAfterDeploy": "Die genauen Genehmigungsschritte zeigen wir Ihnen nach der Bereitstellung.",
|
||
"setupTitle": "Secure Gateway-Setup"
|
||
},
|
||
"steps": {
|
||
"intro": {
|
||
"title": "Sicherer Fernzugriff",
|
||
"description": "Richten Sie einen sicheren VPN-Zugang zu Ihrem Proxmox-Server ein"
|
||
},
|
||
"auth": {
|
||
"title": "Tailscale-Authentifizierung",
|
||
"description": "Verbinden Sie das Gateway mit Ihrem Tailscale-Konto"
|
||
},
|
||
"access": {
|
||
"title": "Zugriffsbereich",
|
||
"description": "Wählen Sie aus, was über dieses Gateway erreichbar sein soll"
|
||
},
|
||
"options": {
|
||
"title": "Erweiterte Optionen",
|
||
"description": "Zusätzliche Routing-Einstellungen"
|
||
},
|
||
"deploy": {
|
||
"title": "Gateway bereitstellen",
|
||
"description": "Überprüfen und bereitstellen"
|
||
}
|
||
},
|
||
"status": {
|
||
"connected": "Verbunden",
|
||
"stopped": "Angehalten",
|
||
"error": "Fehler"
|
||
},
|
||
"installed": {
|
||
"description": "Secure Gateway wird vom Monitor bereitgestellt und verwaltet.",
|
||
"uptime": "Betriebszeit"
|
||
},
|
||
"actions": {
|
||
"start": "Start",
|
||
"stop": "Stoppen",
|
||
"restart": "Neustart",
|
||
"logs": "Protokolle",
|
||
"remove": "Entfernen",
|
||
"back": "Zurück",
|
||
"continue": "Weitermachen",
|
||
"deploying": "Bereitstellung...",
|
||
"deployGateway": "Gateway bereitstellen"
|
||
},
|
||
"updates": {
|
||
"lastChecked": "Zuletzt überprüft",
|
||
"tailscaleAvailable": "Tailscale {version} verfügbar",
|
||
"updating": "Aktualisierung...",
|
||
"updateToVersion": "Update auf {version}",
|
||
"otherPackagesPending": "+ {count} weitere Pakete stehen aus",
|
||
"noneAvailable": "Keine Updates verfügbar"
|
||
},
|
||
"authKey": {
|
||
"update": "Authentifizierungsschlüssel aktualisieren",
|
||
"description": "Verwenden Sie einen neuen Tailscale-Authentifizierungsschlüssel, wenn der aktuelle abgelaufen ist oder widerrufen wurde.",
|
||
"newKey": "Neuer Authentifizierungsschlüssel",
|
||
"generateAt": "Generieren Sie es unter",
|
||
"adminKeys": "Tailscale Admin → Schlüssel",
|
||
"updateKey": "Schlüssel aktualisieren"
|
||
},
|
||
"tailscale": {
|
||
"openAdmin": "Öffnen Sie Tailscale Admin"
|
||
},
|
||
"remove": {
|
||
"title": "Secure Gateway entfernen?",
|
||
"description": "Dadurch wird der Gateway-Container gestoppt und entfernt. Der Tailscale-Status kann in den gespeicherten Daten verbleiben, wenn das Backend ihn beibehält."
|
||
},
|
||
"postDeploy": {
|
||
"title": "Beenden Sie die Einrichtung im Tailscale Admin",
|
||
"description": "Das Gateway ist bereitgestellt. Es ist noch ein Genehmigungsschritt erforderlich, bevor Remote-Geräte die angekündigten Routen nutzen können.",
|
||
"nextStep": "Nächster Schritt",
|
||
"approveDescription": "Genehmigen Sie die angekündigten Subnetzrouten für dieses Gateway.",
|
||
"subnetRoutes": "Subnetzrouten",
|
||
"exitNode": "Ausgangsknoten",
|
||
"routeAllTraffic": "Genehmigen Sie es, wenn Sie möchten, dass Geräte den gesamten Internetverkehr über dieses Gateway leiten.",
|
||
"howToApprove": "So genehmigen Sie es",
|
||
"stepOpenAdmin": "Öffnen Sie die Tailscale Admin-Konsole.",
|
||
"stepFindBefore": "Suchen Sie die Maschine mit dem Namen",
|
||
"stepFindAfter": "in der Maschinenliste.",
|
||
"stepOpenDetails": "Öffnen Sie die Details.",
|
||
"stepSubnetsBefore": "In",
|
||
"stepSubnetsMiddle": "klicken",
|
||
"stepSubnetsAfter": "und genehmigen Sie die ausgeschriebenen Routen.",
|
||
"stepRoutingBefore": "Für Exit-Knoten öffnen",
|
||
"stepRoutingMiddle": "und genehmigen",
|
||
"accessAfterApproval": "Nach der Genehmigung können Sie öffnen",
|
||
"or": "oder",
|
||
"fromAnyDevice": "von jedem Gerät in Ihrem Tailnet.",
|
||
"doLater": "Ich mache das später"
|
||
},
|
||
"notInstalled": {
|
||
"subtitle": "Das Tailscale-Gateway ist noch nicht bereitgestellt.",
|
||
"description": "Stellen Sie es bereit, um ProxMenux und Proxmox sicher von Ihrem Tailnet aus zu erreichen, ohne öffentliche Ports zu öffnen.",
|
||
"deploy": "Stellen Sie Secure Gateway bereit"
|
||
},
|
||
"schema": {
|
||
"auth_key": {
|
||
"label": "Tailscale-Authentifizierungsschlüssel",
|
||
"description": "Vorauthentifizierungsschlüssel von der Tailscale-Administratorkonsole. Generieren Sie eines über den untenstehenden Link.",
|
||
"placeholder": "tskey-auth-xxxxx",
|
||
"helpText": "Authentifizierungsschlüssel generieren"
|
||
},
|
||
"hostname": {
|
||
"label": "Hostname des Geräts",
|
||
"description": "Name, der in der Tailscale-Administratorkonsole angezeigt wird.",
|
||
"placeholder": "proxmox-gateway"
|
||
},
|
||
"access_mode": {
|
||
"label": "Zugriffsbereich",
|
||
"description": "Was sollte über dieses Gateway erreichbar sein?",
|
||
"options": {
|
||
"host_only": {
|
||
"label": "Nur Proxmox",
|
||
"description": "Greifen Sie nur auf diesen Proxmox-Server, die Benutzeroberfläche und den ProxMenux Monitor zu."
|
||
},
|
||
"proxmox_network": {
|
||
"label": "Vollständiges lokales Netzwerk",
|
||
"description": "Greifen Sie auf alle Geräte in Ihrem lokalen Netzwerk zu, z. B. NAS, Drucker, VMs und LXCs."
|
||
},
|
||
"custom": {
|
||
"label": "Benutzerdefinierte Subnetze",
|
||
"description": "Wählen Sie genau aus, welche Subnetze verfügbar gemacht werden sollen."
|
||
}
|
||
}
|
||
},
|
||
"advertise_routes": {
|
||
"label": "Beworbene Netzwerke",
|
||
"description": "Wählen Sie Netzwerke aus, die über das VPN erreichbar sein sollen."
|
||
},
|
||
"exit_node": {
|
||
"label": "Ausgangsknoten",
|
||
"description": "Nutzen Sie dieses Gateway als Ihren Internet-Ausgangspunkt, wenn Sie nicht zu Hause sind.",
|
||
"warning": "Erfordert eine Genehmigung im Tailscale Admin. Wenn auf Ihrem Gerät aktiviert, läuft der gesamte Internetverkehr über Ihren Proxmox-Server."
|
||
},
|
||
"accept_routes": {
|
||
"label": "Routen akzeptieren",
|
||
"description": "Ermöglichen Sie diesem Gateway, Netzwerke zu erreichen, die von anderen Tailscale-Knoten in Ihrem Tailnet angekündigt werden."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"about": {
|
||
"releaseNotes": "Versionshinweise",
|
||
"changelog": "Änderungsprotokoll",
|
||
"logoAlt": "ProxMenux-Logo",
|
||
"heroDescription": "Ein Web-Dashboard und eine Verwaltungsebene für Proxmox VE – Gesundheitsüberwachung, Benachrichtigungen, Terminal, Optimierungs-Tracker und mehr, verpackt in einem einzigen AppImage.",
|
||
"project": {
|
||
"title": "Projekt",
|
||
"description": "Repository, Dokumentation und Community-Kanäle."
|
||
},
|
||
"support": {
|
||
"title": "Support & Lizenz",
|
||
"description": "ProxMenux ist kostenlos und Open Source unter der GPL-3.0-Lizenz. Wenn es Ihnen nützlich ist, trägt ein einmaliger Beitrag dazu bei, dass dies auch so bleibt."
|
||
},
|
||
"license": {
|
||
"label": "GPL-3.0-Lizenz",
|
||
"description": "Kostenlose Software – den vollständigen Text finden Sie in der LICENSE-Datei."
|
||
},
|
||
"links": {
|
||
"repository": {
|
||
"label": "GitHub-Repository",
|
||
"description": "Quellcode, Releases und Issue-Tracker."
|
||
},
|
||
"documentation": {
|
||
"label": "Dokumentation",
|
||
"description": "Vollständiges Benutzerhandbuch für ProxMenux und den Monitor."
|
||
},
|
||
"discussions": {
|
||
"label": "Diskussionen",
|
||
"description": "Stellen Sie Fragen, teilen Sie benutzerdefinierte KI-Eingabeaufforderungen und tauschen Sie Ideen aus."
|
||
},
|
||
"issues": {
|
||
"label": "Melden Sie einen Fehler oder fordern Sie eine Funktion an",
|
||
"description": "Öffnen Sie ein Problem auf GitHub – Fehler, Ideen oder Regressionen."
|
||
},
|
||
"support": {
|
||
"label": "Unterstützen Sie das Projekt auf Ko-fi",
|
||
"description": "ProxMenux ist kostenlos und Open Source. Spenden tragen dazu bei, die Hosting- und Entwicklungszeit zu decken."
|
||
}
|
||
}
|
||
},
|
||
"systemLogs": {
|
||
"title": "Systemprotokolle und Ereignisse",
|
||
"sections": "Abschnitte",
|
||
"loading": {
|
||
"title": "Protokolle werden geladen…",
|
||
"description": "Systemprotokolle und Ereignisse abrufen"
|
||
},
|
||
"errors": {
|
||
"connectFailed": "Es konnte keine Verbindung zum Server hergestellt werden.",
|
||
"loadFailed": "Die Protokolle konnten nicht geladen werden. Bitte versuchen Sie es erneut."
|
||
},
|
||
"cards": {
|
||
"totalEntries": "Gesamteinträge",
|
||
"selectedRange": "Im ausgewählten Bereich",
|
||
"errors": "Fehler",
|
||
"requiresAttention": "Erfordern Aufmerksamkeit",
|
||
"warnings": "Warnungen",
|
||
"monitorClosely": "Beobachten Sie genau",
|
||
"backups": "Backups"
|
||
},
|
||
"tabs": {
|
||
"logs": "Protokolle",
|
||
"events": "Veranstaltungen",
|
||
"backups": "Backups",
|
||
"notifications": "Benachrichtigungen"
|
||
},
|
||
"filters": {
|
||
"searchPlaceholder": "Protokolle und Ereignisse durchsuchen…",
|
||
"timeRange": "Zeitbereich",
|
||
"oneDay": "Vor 1 Tag",
|
||
"threeDays": "Vor 3 Tagen",
|
||
"oneWeek": "Vor 1 Woche",
|
||
"twoWeeks": "Vor 2 Wochen",
|
||
"oneMonth": "Vor 1 Monat",
|
||
"customDays": "Benutzerdefinierte Anzahl an Tagen",
|
||
"daysAgoPlaceholder": "Vor Tagen",
|
||
"byLevel": "Nach Ebene filtern",
|
||
"allLevels": "Alle Ebenen",
|
||
"byService": "Nach Dienst filtern",
|
||
"allServices": "Alle Dienstleistungen",
|
||
"dateRange": "Datumsbereich",
|
||
"daysAgo": "Letzte {count} Tage"
|
||
},
|
||
"levels": {
|
||
"error": "Fehler",
|
||
"critical": "Kritisch",
|
||
"emergency": "Notfall",
|
||
"alert": "Alarm",
|
||
"warning": "Warnung",
|
||
"info": "Info",
|
||
"notice": "Beachten",
|
||
"success": "Erfolg",
|
||
"debug": "Debuggen"
|
||
},
|
||
"export": {
|
||
"button": "Protokolle exportieren",
|
||
"title": "Export von Proxmox-Systemprotokollen und -Ereignissen",
|
||
"filtersApplied": "Angewendete Filter"
|
||
},
|
||
"fields": {
|
||
"generated": "Generiert",
|
||
"level": "Ebene",
|
||
"service": "Service",
|
||
"search": "Suchen",
|
||
"none": "Keiner",
|
||
"message": "Nachricht",
|
||
"source": "Quelle",
|
||
"hostname": "Hostname",
|
||
"node": "Knoten",
|
||
"user": "Benutzer",
|
||
"unit": "Einheit",
|
||
"host": "Gastgeber",
|
||
"timestamp": "Zeitstempel",
|
||
"type": "Typ",
|
||
"systemdUnit": "Systemd-Einheit",
|
||
"processId": "Prozess-ID",
|
||
"duration": "Dauer",
|
||
"startTime": "Startzeit",
|
||
"endTime": "Endzeit",
|
||
"storage": "Lagerung",
|
||
"storageType": "Speichertyp",
|
||
"size": "Größe",
|
||
"created": "Erstellt",
|
||
"volumeId": "Volume-ID"
|
||
},
|
||
"badges": {
|
||
"event": "Ereignis"
|
||
},
|
||
"empty": {
|
||
"logs": "Keine Protokolle entsprechen den ausgewählten Filtern.",
|
||
"backups": "Keine Backups gefunden.",
|
||
"notifications": "Keine Benachrichtigungen gefunden."
|
||
},
|
||
"loadMore": "Mehr laden ({count} verbleibend)",
|
||
"backups": {
|
||
"vm": "VM-Backups",
|
||
"lxc": "LXC-Backups",
|
||
"totalSize": "Gesamtgröße"
|
||
},
|
||
"modals": {
|
||
"logTitle": "Protokolldetails",
|
||
"logDescription": "Vollständige Informationen zu diesem Protokolleintrag",
|
||
"eventTitle": "Veranstaltungsdetails",
|
||
"eventDescription": "Vollständige Informationen zu dieser Veranstaltung",
|
||
"backupTitle": "Sicherungsdetails",
|
||
"backupDescription": "Vollständige Informationen zu diesem Backup",
|
||
"notificationTitle": "Benachrichtigungsdetails",
|
||
"notificationDescription": "Vollständige Informationen zu dieser Benachrichtigung"
|
||
},
|
||
"download": {
|
||
"taskLog": "Proxmox-Aufgabenprotokoll",
|
||
"completeTaskLog": "Vollständiges Aufgabenprotokoll",
|
||
"completeMessage": "Vollständige Nachricht",
|
||
"completeMessageButton": "Vollständige Nachricht herunterladen"
|
||
}
|
||
},
|
||
"onboarding": {
|
||
"dialogTitle": "ProxMenux-Onboarding",
|
||
"previous": "Vorherige",
|
||
"skip": "Überspringen",
|
||
"next": "Nächste",
|
||
"getStarted": "Legen Sie los!",
|
||
"dontShowAgain": "Zeige das nicht noch einmal",
|
||
"goToSlide": "Gehen Sie zu Folie {number}",
|
||
"slides": {
|
||
"welcome": {
|
||
"title": "Willkommen bei ProxMenux Monitor!",
|
||
"description": "Ihr neues Monitoring-Tool für Proxmox. Entdecken Sie die Funktionen, die Ihnen helfen, Ihre Infrastruktur einfacher zu verwalten und zu überwachen."
|
||
},
|
||
"overview": {
|
||
"title": "Systemübersicht",
|
||
"description": "Überwachen Sie Ihren Server in Echtzeit: CPU, Speicher, Temperatur, Systemauslastung und mehr, alles in einem übersichtlichen Dashboard."
|
||
},
|
||
"storage": {
|
||
"title": "Speicherverwaltung",
|
||
"description": "Sehen Sie den Status Ihrer Festplatten und Ihres Speichers: Kapazität, Nutzung, SMART-Zustand, Temperatur und Leistung für jedes Gerät."
|
||
},
|
||
"network": {
|
||
"title": "Netzwerkmetriken",
|
||
"description": "Überwachen Sie den Netzwerkverkehr in Echtzeit, einschließlich aktiver Schnittstellen, Übertragungsgeschwindigkeiten und historischer Nutzungsdiagramme."
|
||
},
|
||
"virtualMachines": {
|
||
"title": "Virtuelle Maschinen und Container",
|
||
"description": "Bewahren Sie VMs und LXC-Container an einem Ort auf. Status, zugewiesene Ressourcen, aktuelle Nutzung und Schnellkontrollen anzeigen."
|
||
},
|
||
"hardware": {
|
||
"title": "Hardwareinformationen",
|
||
"description": "Zeigen Sie Details zur Serverhardware an: CPU, RAM, GPU, Festplatten, Netzwerk, USV und mehr, einschließlich Modellen, Seriennummern und Status."
|
||
},
|
||
"logs": {
|
||
"title": "Systemprotokolle",
|
||
"description": "Greifen Sie auf Systemprotokolle zu, filtern Sie Ereignisse, suchen Sie nach bestimmten Fehlern und laden Sie angezeigte Protokolle herunter, wenn Sie eine tiefergehende Analyse benötigen."
|
||
},
|
||
"future": {
|
||
"title": "Bereit für die Zukunft!",
|
||
"description": "ProxMenux Monitor ist bereit für neue Funktionen und Verbesserungen, wobei nach und nach weitere Aktionen in das Web-Panel verschoben werden."
|
||
}
|
||
}
|
||
},
|
||
"releaseNotes": {
|
||
"dialogTitle": "Versionshinweise – Version {version}",
|
||
"title": "Was ist neu in Version {version}",
|
||
"intro": "Wir haben neue Funktionen und Verbesserungen hinzugefügt, um ProxMenux Monitor noch besser zu machen.",
|
||
"gotIt": "Habe es!",
|
||
"dontShowAgain": "Für diese Version nicht mehr anzeigen",
|
||
"currentFeatures": {
|
||
"appDetection": "Smarter app detection in the App tab: Docker is correctly promoted as the parent workload during cold start (Portainer/SearXNG no longer briefly show up as native apps), unregistered suggestions live in the startup cache, and 'Find applications' runs a fresh catalog-backed scan on demand.",
|
||
"dockerUpdates": "The Updates tab now covers Docker end-to-end: Docker Engine and per-image update tracking follow the same 24-hour rolling cycle as OS packages, with a 'Check now' action for on-demand digest comparison — no more waiting for the daily collector.",
|
||
"appCatalog": "New application detection catalog with over 380 tracked workloads, generated live from community-scripts across seven detector methods (file, binary, dpkg, apk, Python, Docker exec, Docker label). Primary and fallback detectors cover both new and historical LXC layouts.",
|
||
"pushover": "Pushover joins Telegram, Gotify, Discord, Email and Apprise as a native notification channel — user/API key, device and sound selectors, priority 0 for regular messages, optional priority 1 for CRITICAL events. Suggested by @benginx (#308).",
|
||
"appsDashboard": "New top-level Apps dashboard — a single launcher for every Web Link across the node. LXC-registered apps and user-defined Custom Web Links share the same grid with category badges, search, and one-click deep-links back to the guest modal.",
|
||
"lxcAppsUpdates": "App tab inside every LXC modal registers installed apps, captures weblinks and tracks upstream versions. Reworked Updates tab applies OS packages and app updates from a single button; Docker Engine and per-image tracking follow the same 24-hour cycle, with a 'Check now' action on demand.",
|
||
"multilingual": "The Monitor now speaks 8 languages: English, Spanish, German, French, Italian, Portuguese, Swedish and Slovak. Huge thanks to @vaso73 for building the i18n scaffolding that made this possible.",
|
||
"nvidiaMultiGpu": "NVIDIA driver lifecycle moves to per-BDF ownership so a multi-GPU host can pass one card to a VM and keep the other operational on the host or in LXCs, plus a kernel + branch + GPU-aware version picker (#298).",
|
||
"aiCustomEndpoint": "AI Assistant custom OpenAI endpoint — LiteLLM, LM Studio, LocalAI, vLLM, OmniRoute and any self-hosted proxy on private IPs, loopback or Docker networks are recognised when loading the model catalogue. The dropdown surfaces the server's error (or the underlying network reason) directly under the Load button (#325, reported by @jorgeffonte).",
|
||
"secureGatewayArch": "Secure Gateway wizard — the Alpine template download, local template selection and pct create all match the host's real architecture, so x86_64 hosts receive amd64 containers and arm64 hosts receive arm64 containers (#324, reported by @N0X4DD0).",
|
||
"atomicNotifications": "Notification events reserve their deduplication fingerprint atomically before AI processing and channel delivery, so concurrent collectors, completion callbacks or parallel Monitor processes cannot send the same event twice. The reservation is released when no channel succeeds, preserving retries.",
|
||
"borgSshPort": "Borg remote target — the Add Borg destination dialog and the shell TUI accept a custom SSH port. BORG_RSH, the auto key install flow and the capacity probe all honour it. Fully backwards compatible with existing entries created without an explicit port (suggested by @songochain in discussion #236).",
|
||
"githubToken": "Settings → GitHub API accepts an optional personal access token for release and tag checks when the anonymous quota is exhausted. The token is encrypted at rest and never returned to the browser; the rate-limit error is translated in every Monitor language (suggested by @SystemIdleProcess in discussion #306).",
|
||
"replicationContext": "Native Proxmox replication failure notifications resolve the replication job ID, affected VM/LXC ID and guest name; the exact error block from Proxmox is preserved as the reason, and each replication job deduplicates independently (reported by Ale R.)."
|
||
}
|
||
},
|
||
"network": {
|
||
"actions": {
|
||
"viewDetails": "Details anzeigen"
|
||
},
|
||
"loading": {
|
||
"title": "Netzwerkdaten werden geladen...",
|
||
"description": "Scannen von Schnittstellen, Brücken und Verkehr"
|
||
},
|
||
"errors": {
|
||
"serverUnavailableTitle": "Server ist nicht verfügbar",
|
||
"serverUnavailableDescription": "Es kann keine Verbindung zum Überwachungsserver hergestellt werden. Bitte stellen Sie sicher, dass der Dienst ausgeführt wird, und versuchen Sie es erneut."
|
||
},
|
||
"cards": {
|
||
"traffic": "Netzwerkverkehr",
|
||
"activeInterfaces": "Aktive Schnittstellen",
|
||
"status": "Netzwerkstatus",
|
||
"latency": "Netzwerklatenz"
|
||
},
|
||
"sections": {
|
||
"physicalInterfaces": "Physikalische Schnittstellen",
|
||
"bridgeInterfaces": "Bridge-Schnittstellen",
|
||
"vmLxcInterfaces": "VM- und LXC-Netzwerkschnittstellen"
|
||
},
|
||
"summary": {
|
||
"totalInterfaces": "{count} Schnittstellen insgesamt",
|
||
"activeCount": "{active}/{total} Aktiv"
|
||
},
|
||
"status": {
|
||
"healthy": "Gesund",
|
||
"warning": "Warnung",
|
||
"critical": "Kritisch",
|
||
"up": "Hoch",
|
||
"down": "Runter"
|
||
},
|
||
"duplex": {
|
||
"full": "Vollduplex",
|
||
"half": "Halbduplex"
|
||
},
|
||
"interfaceTypes": {
|
||
"physical": "Körperlich",
|
||
"bridge": "Brücke",
|
||
"bridges": "Brücken",
|
||
"bond": "Bindung",
|
||
"vlan": "VLAN",
|
||
"virtual": "Virtuell",
|
||
"other": "Andere"
|
||
},
|
||
"labels": {
|
||
"activeSlave": "Aktiver Sklave",
|
||
"average": "Durchschnitt",
|
||
"avg": "Durchschn",
|
||
"bitsReceived": "Bits empfangen",
|
||
"bitsSent": "Bits gesendet",
|
||
"bondingMode": "Bonding-Modus",
|
||
"bondMembers": "Bond-Mitglieder",
|
||
"bytesReceived": "Empfangene Bytes",
|
||
"bytesSent": "Gesendete Bytes",
|
||
"current": "Aktuell",
|
||
"domain": "Domain",
|
||
"down": "Runter",
|
||
"drops": "Tropfen",
|
||
"dropsIn": "Kommt vorbei",
|
||
"dropsOut": "Fällt aus",
|
||
"duplex": "Duplex",
|
||
"errors": "Fehler",
|
||
"errorsIn": "Fehler in",
|
||
"errorsOut": "Fehler raus",
|
||
"hostname": "Hostname",
|
||
"interfaceName": "Schnittstellenname",
|
||
"ipAddress": "IP-Adresse",
|
||
"latency": "Latenz",
|
||
"macAddress": "MAC-Adresse",
|
||
"max": "Max",
|
||
"maximum": "Maximal",
|
||
"maxSpeed": "max. {speed}",
|
||
"min": "Min",
|
||
"minimum": "Minimum",
|
||
"netmask": "Netzmaske",
|
||
"packetLoss": "Paketverlust",
|
||
"packetLossShort": "Pkt-Verlust",
|
||
"packetsReceived": "Pakete empfangen",
|
||
"packetsSent": "Pakete gesendet",
|
||
"physicalInterface": "Physische Schnittstelle",
|
||
"primarySlave": "Primärer Sklave",
|
||
"received": "Erhalten",
|
||
"sent": "Gesendet",
|
||
"slaveInterfaces": "Slave-Schnittstellen",
|
||
"speed": "Geschwindigkeit",
|
||
"status": "Status",
|
||
"time": "Zeit",
|
||
"type": "Typ",
|
||
"up": "Hoch",
|
||
"virtualMemberInterfaces": "Virtuelle Mitgliederschnittstellen",
|
||
"vmLxcName": "VM/LXC-Name"
|
||
},
|
||
"roles": {
|
||
"active": "aktiv",
|
||
"standby": "stehen zu",
|
||
"down": "runter"
|
||
},
|
||
"empty": {
|
||
"noVmLxc": "Kein VM/LXC",
|
||
"noVirtualMembers": "Keine virtuellen Mitglieder"
|
||
},
|
||
"timeframes": {
|
||
"hour": "1 Stunde",
|
||
"day": "24 Stunden",
|
||
"week": "7 Tage",
|
||
"month": "30 Tage",
|
||
"year": "1 Jahr",
|
||
"short": {
|
||
"hour": "Letzte 1 Stunde",
|
||
"day": "Letzte 24 Stunden",
|
||
"week": "Nach 7 Tagen",
|
||
"month": "Letzte 30 Tage",
|
||
"year": "Nach 1 Jahr"
|
||
},
|
||
"last": {
|
||
"hour": "Letzte Stunde",
|
||
"day": "Letzte 24 Stunden",
|
||
"week": "Letzte 7 Tage",
|
||
"month": "Letzte 30 Tage",
|
||
"year": "Letztes Jahr"
|
||
}
|
||
},
|
||
"interfaceDetails": {
|
||
"title": "Schnittstellendetails",
|
||
"description": "Zeigen Sie detaillierte Informationen und Netzwerkverkehrsstatistiken für diese Schnittstelle an",
|
||
"basicInformation": "Grundlegende Informationen",
|
||
"ipAddresses": "IP-Adressen",
|
||
"trafficStatistics": "Netzwerkverkehrsstatistik ({timeframe})",
|
||
"trafficSinceBoot": "Verkehr seit dem letzten Start",
|
||
"inactiveTitle": "Schnittstelle inaktiv",
|
||
"inactiveDescription": "Diese Schnittstelle ist derzeit nicht verfügbar. Statistiken zum Netzwerkverkehr sind nicht verfügbar.",
|
||
"bondConfiguration": "Bindungskonfiguration",
|
||
"bridgeConfiguration": "Bridge-Konfiguration"
|
||
},
|
||
"flow": {
|
||
"title": "Netzwerkfluss"
|
||
},
|
||
"chart": {
|
||
"invalidDataFormat": "Ungültiges Datenformat vom Server empfangen",
|
||
"loadError": "Fehler beim Laden der Messwerte"
|
||
},
|
||
"latency": {
|
||
"status": {
|
||
"excellent": "Exzellent",
|
||
"good": "Gut",
|
||
"fair": "Gerecht",
|
||
"poor": "Arm"
|
||
},
|
||
"timeframes": {
|
||
"hour": "1 Stunde",
|
||
"sixHours": "6 Stunden",
|
||
"day": "24 Stunden",
|
||
"threeDays": "3 Tage",
|
||
"week": "7 Tage"
|
||
},
|
||
"targets": {
|
||
"gateway": "Gateway (Router)",
|
||
"gatewayShort": "Tor",
|
||
"cloudflare": "Cloudflare (1.1.1.1)",
|
||
"cloudflareShort": "Wolkenflare",
|
||
"google": "Google DNS (8.8.8.8)",
|
||
"googleShort": "Google DNS"
|
||
},
|
||
"actions": {
|
||
"stop": "Stoppen",
|
||
"testAgain": "Testen Sie noch einmal",
|
||
"report": "Bericht"
|
||
},
|
||
"testingProgress": "Testen... {percent}%",
|
||
"secondsRemaining": "{seconds}s übrig",
|
||
"samplesCollected": "{count} Proben gesammelt",
|
||
"packetLossValue": "{value} % Paketverlust",
|
||
"collectingData": "Daten sammeln...",
|
||
"noRealtimeData": "Noch keine Daten. Klicken Sie zum Starten auf „Erneut testen“.",
|
||
"noDataForPeriod": "Für diesen Zeitraum sind keine Latenzdaten verfügbar",
|
||
"collectionInterval": "Die Daten werden alle 60 Sekunden erfasst",
|
||
"realTimeMode": "Echtzeitmodus",
|
||
"realTimeModeDescription": "Die Tests dauern 2 Minuten und die Messwerte werden alle 5 Sekunden abgelesen. Führen Sie den Test anschließend erneut aus, um weitere Proben hinzuzufügen. Alle Daten sind im Bericht enthalten.",
|
||
"report": {
|
||
"title": "Bericht zur Netzwerklatenz",
|
||
"subtitle": "ProxMenux Monitor – Netzwerkleistungsanalyse",
|
||
"topBarTitle": "ProxMenux-Netzwerklatenzbericht",
|
||
"topBarSubtitle": "Überprüfen Sie den Bericht, drucken Sie ihn aus oder speichern Sie ihn als PDF",
|
||
"printSavePdf": "Drucken / Als PDF speichern",
|
||
"date": "Datum",
|
||
"target": "Ziel",
|
||
"mode": "Modus",
|
||
"realTimeTest": "Echtzeittest",
|
||
"historicalAnalysis": "Historische Analyse",
|
||
"realTime": "Echtzeit",
|
||
"executiveSummary": "Zusammenfassung",
|
||
"assessmentTitle": "Bewertung der Netzwerklatenz",
|
||
"realtimeSummary": "Echtzeit-Latenztest bis {target}. Beispiele: {count}; Dauer: {duration}. Durchschnittliche Latenz: {avg}.",
|
||
"historicalSummary": "Historische Latenzanalyse von {target} über {timeframe}. {count} Proben analysiert. Durchschnittliche Latenz: {avg} ms.",
|
||
"minutes": "{count} Minute(n)",
|
||
"minutesShort": "{count} min",
|
||
"seconds": "{count} Sekunde(n)",
|
||
"secondsShort": "{count}s",
|
||
"testPeriod": "der Testzeitraum",
|
||
"averagePacketLoss": "Durchschnittlicher Paketverlust: {value} %.",
|
||
"noPacketLoss": "Kein Paketverlust festgestellt.",
|
||
"defaultGateway": "Standard-Gateway",
|
||
"failed": "Fehlgeschlagen",
|
||
"notEnoughData": "Nicht genügend Datenpunkte für das Diagramm",
|
||
"samples": "{count} Beispiele",
|
||
"latencyStatistics": "Latenzstatistik",
|
||
"sampleCount": "Probenanzahl",
|
||
"packetLossAvg": "Paketverlust (Durchschnitt)",
|
||
"testPeriodLabel": "Testzeitraum",
|
||
"latencyGraph": "Latenzdiagramm",
|
||
"performanceThresholds": "Leistungsschwellenwerte",
|
||
"thresholdExcellent": "Optimal für Echtzeitanwendungen, Spiele und Videoanrufe.",
|
||
"thresholdGood": "Für die meisten Anwendungen akzeptabel, mit minimalen Auswirkungen.",
|
||
"thresholdFair": "Spürbare Verzögerung. Kann VoIP und interaktive Anwendungen beeinträchtigen.",
|
||
"thresholdPoor": "Erhebliche Latenz. Untersuchung empfohlen.",
|
||
"detailedTestResults": "Detaillierte Testergebnisse",
|
||
"latencyHistory": "Latenzverlauf (Letzte {count} Datensätze)",
|
||
"methodology": "Methodik",
|
||
"testMethod": "Testmethode",
|
||
"icmpEchoRequest": "ICMP-Echo-Anfrage (Ping)",
|
||
"samplesPerTest": "Proben pro Test",
|
||
"threeConsecutivePings": "3 aufeinanderfolgende Pings",
|
||
"targetIp": "Ziel-IP",
|
||
"performanceAssessment": "Leistungsbeurteilung",
|
||
"assessmentExcellent": "Die Netzwerklatenz ist ausgezeichnet. Keine Aktion erforderlich.",
|
||
"assessmentGood": "Die Netzwerklatenz liegt innerhalb akzeptabler Parameter.",
|
||
"assessmentFair": "Die Netzwerklatenz ist erhöht. Erwägen Sie die Untersuchung von Netzwerküberlastungen oder Routingproblemen.",
|
||
"assessmentPoor": "Die Netzwerklatenz ist kritisch hoch. Sofortige Untersuchung empfohlen.",
|
||
"assessmentUnknown": "Der Netzwerkstatus kann nicht ermittelt werden.",
|
||
"footerTitle": "ProxMenux Monitor – Netzwerkleistungsbericht",
|
||
"generated": "Generiert",
|
||
"reportId": "Berichts-ID"
|
||
}
|
||
}
|
||
},
|
||
"hardware": {
|
||
"loading": {
|
||
"title": "Hardwaredaten werden geladen...",
|
||
"description": "Erkennen von CPU-, GPU-, Speicher- und PCI-Geräten",
|
||
"realtimeData": "Echtzeitdaten werden geladen..."
|
||
},
|
||
"sections": {
|
||
"systemInformation": "Systeminformationen",
|
||
"motherboard": "Hauptplatine",
|
||
"memoryModules": "Speichermodule",
|
||
"thermalMonitoring": "Thermische Überwachung",
|
||
"otherSensors": "Andere",
|
||
"graphicsCards": "Grafikkarten",
|
||
"basicInformation": "Grundlegende Informationen",
|
||
"coralTpu": "Coral TPU / AI-Beschleuniger",
|
||
"powerConsumption": "Stromverbrauch",
|
||
"powerSupplies": "Netzteile",
|
||
"systemFans": "Systemfans",
|
||
"upsStatus": "UPS-Status",
|
||
"statusOverview": "Statusübersicht",
|
||
"batteryInformation": "Batterieinformationen",
|
||
"powerInformation": "Leistungsinformationen",
|
||
"deviceInformation": "Geräteinformationen",
|
||
"pciDevices": "PCI-Geräte",
|
||
"networkSummary": "Netzwerkzusammenfassung",
|
||
"storageSummary": "Speicherzusammenfassung",
|
||
"interfaceInformation": "Schnittstelleninformationen",
|
||
"usbDevices": "USB-Geräte"
|
||
},
|
||
"counts": {
|
||
"installed": "{count} installiert",
|
||
"sensors": "{count} Sensoren",
|
||
"gpu": "{count} GPU",
|
||
"devices": "{count} Geräte",
|
||
"psus": "{count} Netzteile",
|
||
"fans": "{count} Fans",
|
||
"ups": "{count} USV",
|
||
"interfaces": "{count} Schnittstellen"
|
||
},
|
||
"labels": {
|
||
"model": "Modell",
|
||
"cores": "Kerne",
|
||
"threads": "Threads",
|
||
"l3Cache": "L3-Cache",
|
||
"virtualization": "Virtualisierung",
|
||
"manufacturer": "Hersteller",
|
||
"version": "Version",
|
||
"date": "Datum",
|
||
"size": "Größe",
|
||
"type": "Typ",
|
||
"speed": "Geschwindigkeit",
|
||
"vendor": "Verkäufer",
|
||
"pciSlot": "PCI-Steckplatz",
|
||
"driver": "Treiber",
|
||
"kernelModule": "Kernel-Modul",
|
||
"kernelDriver": "Kernel-Treiber",
|
||
"kernelModules": "Kernel-Module",
|
||
"lastChecked": "Zuletzt überprüft",
|
||
"switchMode": "Modus wechseln",
|
||
"currentDriver": "Aktueller Fahrer",
|
||
"consumer": "Verbraucher",
|
||
"graphicsClock": "Grafikuhr",
|
||
"memoryClock": "Erinnerungsuhr",
|
||
"powerDraw": "Stromaufnahme",
|
||
"temperature": "Temperatur",
|
||
"memory": "Erinnerung",
|
||
"total": "Gesamt",
|
||
"used": "Gebraucht",
|
||
"free": "Frei",
|
||
"memoryUtilization": "Speichernutzung",
|
||
"connection": "Verbindung",
|
||
"formFactor": "Formfaktor",
|
||
"link": "Link",
|
||
"busDevice": "Bus/Gerät",
|
||
"vendorProductId": "Anbieter-/Produkt-ID",
|
||
"deviceNodes": "Geräteknoten",
|
||
"runtimeState": "Laufzeitstatus",
|
||
"edgeTpuRuntime": "Edge TPU-Laufzeit",
|
||
"thresholds": "Schwellenwerte",
|
||
"hardwareWarnings": "Hardwarewarnungen",
|
||
"currentDraw": "Aktuelle Auslosung",
|
||
"currentOutput": "Aktueller Ausgang",
|
||
"remote": "Fernbedienung",
|
||
"batteryCharge": "Batterieladung",
|
||
"load": "Laden",
|
||
"runtime": "Laufzeit",
|
||
"inputVoltage": "Eingangsspannung",
|
||
"status": "Status",
|
||
"host": "Gastgeber",
|
||
"chargeLevel": "Ladezustand",
|
||
"runtimeRemaining": "Verbleibende Laufzeit",
|
||
"batteryVoltage": "Batteriespannung",
|
||
"batteryDate": "Batteriedatum",
|
||
"outputVoltage": "Ausgangsspannung",
|
||
"inputFrequency": "Eingangsfrequenz",
|
||
"outputFrequency": "Ausgangsfrequenz",
|
||
"realPower": "Wahre Macht",
|
||
"apparentPower": "Scheinbare Leistung",
|
||
"serialNumber": "Seriennummer",
|
||
"firmware": "Firmware",
|
||
"deviceType": "Gerätetyp",
|
||
"deviceName": "Gerätename",
|
||
"productName": "Produktname",
|
||
"class": "Klasse",
|
||
"capacity": "Kapazität",
|
||
"currentLinkSpeed": "Aktuelle Verbindungsgeschwindigkeit",
|
||
"maximumLinkSpeed": "Maximale Verbindungsgeschwindigkeit",
|
||
"pcieLinkSpeed": "PCIe-Verbindungsgeschwindigkeit",
|
||
"sataVersion": "SATA-Version",
|
||
"sasVersion": "SAS-Version",
|
||
"sasSpeed": "SAS-Geschwindigkeit",
|
||
"linkSpeed": "Verbindungsgeschwindigkeit",
|
||
"family": "Familie",
|
||
"interface": "Schnittstelle",
|
||
"rotationRate": "Rotationsrate",
|
||
"classCode": "Klassencode",
|
||
"serial": "Seriell"
|
||
},
|
||
"values": {
|
||
"cores": "{count} Kerne",
|
||
"max": "(maximal: {value})",
|
||
"never": "niemals",
|
||
"nvidiaDriverAvailable": "NVIDIA-Treiber v{version} verfügbar",
|
||
"reinstallViaPostInstall": "Neuinstallation über ProxMenux nach der Installation: {label}",
|
||
"noUpdatesAvailable": "Keine Updates verfügbar",
|
||
"none": "keiner",
|
||
"running": "läuft",
|
||
"stopped": "gestoppt",
|
||
"unused": "unbenutzt",
|
||
"unbound": "ungebunden",
|
||
"driversReady": "Fahrer bereit",
|
||
"driversNotInstalled": "Treiber nicht installiert",
|
||
"programmed": "Programmiert (Laufzeit geladen)",
|
||
"unprogrammed": "Unprogrammiert (Runtime nicht geladen)",
|
||
"notInstalled": "nicht installiert",
|
||
"detecting": "Erkennen...",
|
||
"solidStateDevice": "Solid-State-Gerät",
|
||
"notSpecified": "Nicht angegeben"
|
||
},
|
||
"time": {
|
||
"yesterdayAt": "gestern {time}"
|
||
},
|
||
"recommendations": {
|
||
"intel": "Um erweiterte GPU-Überwachungsinformationen zu erhalten, installieren Sie bitte das Paket „intel-gpu-tools“ oder „igt-gpu-tools“.",
|
||
"nvidia": "Für NVIDIA-GPUs erfordert die Echtzeitüberwachung die proprietären Treiber (nvidia-driver-Paket). Installieren Sie sie nur, wenn Ihre GPU direkt vom Host verwendet wird.",
|
||
"amd": "Um erweiterte GPU-Überwachungsinformationen für AMD-GPUs zu erhalten, installieren Sie bitte amdgpu_top. Sie können es herunterladen unter: https://github.com/Umio-Yasuno/amdgpu_top",
|
||
"generic": "Um erweiterte GPU-Überwachungsinformationen zu erhalten, installieren Sie bitte die entsprechenden GPU-Überwachungstools für Ihre Hardware."
|
||
},
|
||
"deviceTypes": {
|
||
"graphics": "Grafik",
|
||
"graphicsCard": "Grafikkarte",
|
||
"usb": "USB",
|
||
"usbController": "USB-Controller",
|
||
"audio": "Audio",
|
||
"audioController": "Audio-Controller",
|
||
"network": "Netzwerk",
|
||
"networkController": "Netzwerkcontroller",
|
||
"ethernet": "Ethernet",
|
||
"wireless": "W-lan",
|
||
"wirelessController": "Drahtloser Controller",
|
||
"wifi": "W-lan",
|
||
"storage": "Lagerung",
|
||
"storageController": "Speichercontroller",
|
||
"hid": "HID",
|
||
"vendorSpecific": "Anbieterspezifisch",
|
||
"communications": "Kommunikation",
|
||
"integrated": "Integriert",
|
||
"discrete": "Diskret"
|
||
},
|
||
"gpu": {
|
||
"monitoringTitle": "GPU-Echtzeitüberwachung",
|
||
"sriovVirtualFunction": "Virtuelle SR-IOV-Funktion",
|
||
"sriovVirtualFunctionDescription": "Dieses Gerät ist eine virtuelle Funktion, die von einer physischen Funktion erzeugt wird. Per-VF-Telemetrie (Temperatur, Auslastung, Speicher) wird vom Kernel nicht verfügbar gemacht – öffnen Sie die übergeordnete PF, um aggregierte GPU-Metriken anzuzeigen.",
|
||
"virtualFunctionDetail": "Details zur virtuellen Funktion",
|
||
"parentPhysicalFunction": "Körperliche Funktion der Eltern",
|
||
"sriovActive": "SR-IOV aktiv",
|
||
"sriovMetricsDescription": "Die folgenden Metriken spiegeln die physische Funktion wider (aggregiert über {count} VFs).",
|
||
"updatingEverySeconds": "Aktualisierung alle {seconds} Sekunden",
|
||
"realTimeMetrics": "Echtzeit-Metriken",
|
||
"engineUtilizationTotal": "Motorauslastung (Gesamt)",
|
||
"engineUtilization": "Motorauslastung",
|
||
"activeProcesses": "Aktive Prozesse ({count})",
|
||
"noActiveProcesses": "Keine aktiven Prozesse, die die GPU nutzen",
|
||
"virtualFunctions": "Virtuelle Funktionen",
|
||
"switchModeVmTitle": "GPU im Switch-Modus-VM",
|
||
"switchModeVmDescription": "Diese GPU wird per VFIO-Passthrough einer virtuellen Maschine zugewiesen. Eine Echtzeitüberwachung ist vom Host aus nicht verfügbar, da die GPU von der VM gesteuert wird.",
|
||
"extendedMonitoringUnavailable": "Erweiterte Überwachung nicht verfügbar"
|
||
},
|
||
"gpuSwitch": {
|
||
"gpu": "GPU",
|
||
"lxc": "LXC",
|
||
"vm": "VM",
|
||
"sriov": "SR-IOV",
|
||
"sriovVf": "SR-IOV VF",
|
||
"sriovCount": "SR-IOV ×{count}",
|
||
"sriovActive": "SR-IOV aktiv",
|
||
"readyForLxc": "Bereit für LXC-Container",
|
||
"readyForVm": "Bereit für VM-Passthrough",
|
||
"modeUnknown": "Modus unbekannt",
|
||
"virtualFunctionsExternal": "Extern verwaltete virtuelle Funktionen",
|
||
"nativeDriverActive": "Nativer Treiber aktiv",
|
||
"vfioDriverActive": "VFIO-PCI-Treiber aktiv",
|
||
"noDriverDetected": "Kein Treiber erkannt",
|
||
"virtualFunction": "Virtuelle Funktion",
|
||
"virtualFunctionWithParent": "Virtuelle Funktion · übergeordnete PF {parent}",
|
||
"physicalFunction": "1 PF + {count} VFs",
|
||
"physicalFunctionWithMax": "1 PF + {count} VFs / {max} max",
|
||
"changePending": "Änderung steht aus..."
|
||
},
|
||
"actions": {
|
||
"installNvidiaDrivers": "Installieren Sie NVIDIA-Treiber",
|
||
"installAmdGpuTools": "Installieren Sie die AMD GPU Tools",
|
||
"installIntelGpuTools": "Installieren Sie die Intel GPU Tools",
|
||
"installCoralDrivers": "Installieren Sie Coral TPU-Treiber",
|
||
"installDrivers": "Treiber installieren"
|
||
},
|
||
"coral": {
|
||
"driversNeededDescription": "Für ein oder mehrere erkannte Coral-Geräte sind Treiber erforderlich. Nach der Installation ist ein Neustart des Servers erforderlich.",
|
||
"deviceInformation": "Informationen zum Coral TPU-Gerät"
|
||
},
|
||
"ups": {
|
||
"detailedInformation": "Detaillierte Informationen zu UPS"
|
||
},
|
||
"pci": {
|
||
"deviceInformation": "PCI-Geräteinformationen"
|
||
},
|
||
"network": {
|
||
"interfaceInformation": "Informationen zur Netzwerkschnittstelle"
|
||
},
|
||
"storage": {
|
||
"deviceHardwareInformation": "Informationen zur Hardware des Speichergeräts"
|
||
},
|
||
"usb": {
|
||
"deviceInformation": "USB-Geräteinformationen"
|
||
},
|
||
"scripts": {
|
||
"nvidiaTitle": "NVIDIA-Treiberinstallation",
|
||
"nvidiaDescription": "Installieren Sie proprietäre NVIDIA-Treiber für die GPU-Überwachung ...",
|
||
"amdTitle": "Installation der AMD GPU Tools",
|
||
"amdDescription": "Installation von amdgpu_top für die AMD-GPU-Überwachung ...",
|
||
"intelTitle": "Installation der Intel GPU Tools",
|
||
"intelDescription": "Intel-GPU-Tools für die Intel-GPU-Überwachung installieren ...",
|
||
"coralTitle": "Installation des Coral TPU-Treibers",
|
||
"coralDescription": "Installation von Dichtungs- und Apex-Kernelmodulen und der Edge TPU-Laufzeit ...",
|
||
"switchModeTitle": "GPU-Switch-Modus → {mode}",
|
||
"switchModeDescription": "GPU {slot} wird in den {mode}-Modus umgeschaltet...",
|
||
"switchModeVm": "VM (VFIO-Passthrough)",
|
||
"switchModeLxc": "LXC (nativer Treiber)"
|
||
}
|
||
},
|
||
"backup": {
|
||
"actions": {
|
||
"addAnother": "Fügen Sie einen weiteren hinzu",
|
||
"addPath": "Pfad hinzufügen",
|
||
"all": "Alle",
|
||
"apply": "Anwenden",
|
||
"back": "Zurück",
|
||
"change": "Ändern",
|
||
"clear": "Klar",
|
||
"delete": "Löschen",
|
||
"disable": "Deaktivieren",
|
||
"download": "Herunterladen",
|
||
"edit": "Bearbeiten",
|
||
"enable": "Aktivieren",
|
||
"format": "Format",
|
||
"generateKey": "Schlüssel generieren",
|
||
"import": "Import",
|
||
"importKeyfile": "Schlüsseldatei importieren",
|
||
"mount": "Montieren",
|
||
"next": "Nächste",
|
||
"recoverKeyfile": "Schlüsseldatei wiederherstellen",
|
||
"regenerate": "Regenerieren",
|
||
"restore": "Wiederherstellen",
|
||
"restoreSelected": "Ausgewählte wiederherstellen",
|
||
"runNow": "Lauf jetzt",
|
||
"saveChanges": "Änderungen speichern",
|
||
"unmount": "Aushängen",
|
||
"upload": "Hochladen",
|
||
"use": "Verwenden",
|
||
"viewContents": "Inhalte ansehen"
|
||
},
|
||
"archives": {
|
||
"archive": "Archiv",
|
||
"at": "bei",
|
||
"backup": "Sicherung",
|
||
"backupTimeLabel": "Backup-Zeit",
|
||
"deleteBackendTitle": "Löschen Sie dieses Backup",
|
||
"deleteBorgDescription": "Dadurch wird das Borg-Archiv aus dem Repository entfernt.",
|
||
"deleteBorgTitle": "Borg-Archiv löschen",
|
||
"deleteLocalDescription": "Dadurch wird das lokale Sicherungsarchiv von der Festplatte entfernt.",
|
||
"deleteLocalTitle": "Lokales Archiv löschen",
|
||
"deletePbsDescription": "Dadurch wird der PBS-Snapshot aus dem Datenspeicher entfernt.",
|
||
"deletePbsTitle": "PBS-Snapshot löschen",
|
||
"companionFile": "Begleitdatei",
|
||
"descriptionBefore": "Durchsuchen Sie die gefundenen Backups und stellen Sie sie wieder her",
|
||
"downloadTitle": "Laden Sie dieses Backup herunter",
|
||
"emptyAfter": "Backups noch nicht.",
|
||
"emptyBefore": "NEIN",
|
||
"encrypted": "Verschlüsselt",
|
||
"encryptedTitle": "Dieses Backup ist verschlüsselt",
|
||
"filesInBackup": "Dateien im Backup",
|
||
"group": "Gruppe",
|
||
"host": "Gastgeber",
|
||
"importKeyToDownloadTitle": "Importieren Sie vor dem Herunterladen die passende Schlüsseldatei",
|
||
"importKeyToRestoreTitle": "Importieren Sie vor der Wiederherstellung die passende Schlüsseldatei",
|
||
"importKeyToViewTitle": "Importieren Sie die passende Schlüsseldatei, bevor Sie Inhalte anzeigen",
|
||
"inspectTitle": "Überprüfen Sie die Sicherung",
|
||
"job": "Arbeit",
|
||
"loadFailed": "Backups konnten nicht geladen werden",
|
||
"packedSizeLabel": "Packmaß",
|
||
"remoteQueryWarning": "Die Abfrage von Remote-Backups kann einen Moment dauern.",
|
||
"restoreTitle": "Von diesem Backup wiederherstellen",
|
||
"startingExport": "Download wird vorbereitet...",
|
||
"title": "Backups",
|
||
"viewContentsTitle": "Sicherungsinhalte anzeigen"
|
||
},
|
||
"backends": {
|
||
"borgDescription": "Borg-Repository für deduplizierte Host-Backups.",
|
||
"borgDescriptionTimerOnly": "Borg-Ziele werden von Monitor-Timern verwendet, nicht von PVE-vzdump-Jobs.",
|
||
"borgShortDescription": "Dedupliziertes Borg-Repository",
|
||
"local": "Lokal",
|
||
"localDescription": "Ordner auf diesem Host oder auf einem gemounteten USB-Laufwerk.",
|
||
"localShortDescription": "Lokaler Ordner oder gemounteter Datenträger",
|
||
"pbsDescription": "Proxmox Backup Server-Datenspeicher.",
|
||
"pbsShortDescription": "Proxmox Backup Server"
|
||
},
|
||
"common": {
|
||
"checking": "Überprüfung...",
|
||
"loading": "Laden...",
|
||
"no": "NEIN",
|
||
"or": "oder",
|
||
"yes": "Ja"
|
||
},
|
||
"configuration": {
|
||
"title": "Backup-Konfiguration"
|
||
},
|
||
"contents": {
|
||
"driversToReinstall": "Treiber zur Neuinstallation",
|
||
"extracting": "Snapshot extrahieren und analysieren – dies kann bei großen Backups eine Minute dauern ...",
|
||
"filesShowing": "Zeigt {shown} von {filtered}{filteredLabel}{total}",
|
||
"filesTitle": "Dateien ({count}{plus})",
|
||
"filesTruncated": "· Liste bei 5000 abgeschnitten – öffnen Sie den Snapshot manuell, um den Rest anzuzeigen",
|
||
"filtered": "gefiltert",
|
||
"manifest": "Manifest",
|
||
"manifestMissingBefore": "Diese Sicherung enthält manifest.json nicht. Die folgenden Metadatendateien enthalten entsprechende Informationen:",
|
||
"metadataFiles": "Metadatendateien",
|
||
"network": "Netzwerk",
|
||
"noDrivers": "Keine Treiber, die neu installiert werden müssen.",
|
||
"noManifest": "Kein Manifest in diesem Archiv.",
|
||
"noNetworkChanges": "Keine Schnittstellenänderungen geplant.",
|
||
"noStorageEntries": "Es wurden keine Speichereinträge gemeldet.",
|
||
"restorePlan": "Plan wiederherstellen",
|
||
"restorePlanUnavailable": "Wiederherstellungsplan nicht verfügbar: {error}",
|
||
"rollbackPlan": "Rollback-Plan",
|
||
"storage": "Lagerung",
|
||
"title": "Inhalte sichern",
|
||
"totalFiles": "(insgesamt {count})"
|
||
},
|
||
"deleteJob": {
|
||
"attachedToStorage": "An PVE-Speicher angeschlossen",
|
||
"attachedWarning": "Dieser Job ist an einem PVE-Aufbewahrungshaken befestigt. Durch das Löschen wird auch der Monitor-Hook aus diesem Speicher entfernt.",
|
||
"description": "Die Timer- und Monitor-Metadaten für diesen Job werden entfernt.",
|
||
"timerWarning": "Der systemd-Timer wird entfernt. Bereits erstellte Backups bleiben an ihrem Zielort.",
|
||
"title": "Sicherungsauftrag löschen"
|
||
},
|
||
"destinations": {
|
||
"absolutePathHelp": "Verwenden Sie auf diesem Host einen absoluten Pfad.",
|
||
"addBorgRepository": "Borg-Repository hinzufügen",
|
||
"addDestinationTitle": "{type} Ziel hinzufügen",
|
||
"addLocalDestinationTitle": "Lokales Ziel hinzufügen",
|
||
"addPbsRepository": "PBS-Repository hinzufügen",
|
||
"appendAuthorizedKeyBefore": "Hängen Sie den generierten öffentlichen Schlüssel an an",
|
||
"backupsKeptBefore": "Vorhandene Backups bleiben erhalten",
|
||
"borgEncryptionInherited": "Die Borg-Verschlüsselung wird vom Repository gesteuert.",
|
||
"builtIn": "Eingebaut",
|
||
"builtInDefault": "Integrierte Standardeinstellung",
|
||
"capacityUnavailable": "Kapazität nicht verfügbar",
|
||
"configureDescription": "Wählen Sie aus, wo Host-Backups gespeichert werden sollen.",
|
||
"configureDestination": "Ziel konfigurieren",
|
||
"createsSshKeyAfter": "wenn Sie speichern.",
|
||
"createsSshKeyBefore": "Monitor erstellt einen SSH-Schlüssel unter",
|
||
"datacenterStorage": "Datencenter → Backup",
|
||
"defaultUserBefore": "Standardbenutzer:",
|
||
"editDestinationTitle": "Bearbeiten Sie das Ziel {type}",
|
||
"editLocalDestinationTitle": "Lokales Ziel bearbeiten",
|
||
"editTitle": "Ziel bearbeiten",
|
||
"fingerprintHelp": "Optionale Überprüfung des Fingerabdrucks des Servers.",
|
||
"generateNewSshKey": "Erzeugen Sie einen neuen SSH-Schlüssel",
|
||
"jobsWillBeDeleted": "{count} Jobs, die dieses Ziel verwenden, werden ebenfalls gelöscht.",
|
||
"kept": "gehalten",
|
||
"leavePassphraseBlank": "Lassen Sie das Feld leer, um die gespeicherte Passphrase beizubehalten.",
|
||
"leavePasswordBlank": "Lassen Sie das Feld leer, um das gespeicherte Passwort beizubehalten.",
|
||
"localAttachHelpBefore": "Verwenden Sie einen bereitgestellten lokalen Pfad. Hängen Sie USB-Laufwerke zuerst ein",
|
||
"localAttachHelpMiddle": "USB-Laufwerke",
|
||
"localManualPickHelp": "Wählen Sie einen lokalen Pfad für die einmalige Backup-Ausgabe.",
|
||
"localPathHelpAfter": "oder ein anderer gemounteter Pfad.",
|
||
"localPathHelpBefore": "Beispiel:",
|
||
"localPickHelpBefore": "Wählen Sie einen lokalen Ordner oder einen bereitgestellten USB-Pfad.",
|
||
"localUsb": "Lokal / USB",
|
||
"localUsbDescription": "Ordner auf diesem Host oder einem gemounteten USB-Laufwerk.",
|
||
"managedByPve": "Verwaltet von PVE",
|
||
"manuallyAdded": "Manuell hinzugefügt",
|
||
"nameCredentialsLocked": "Name und Anmeldeinformationen sind gesperrt, während Jobs dieses Ziel verwenden.",
|
||
"namePassphraseLocked": "Repository-Name und Passphrase sind gesperrt, während Jobs dieses Ziel verwenden.",
|
||
"noBorgInDialog": "Die Bearbeitung von Borg-Zielen ist im Borg-Setup-Flow verfügbar.",
|
||
"noBorgInWizard": "Borg ist für PVE-bezogene Jobs nicht verfügbar.",
|
||
"noPbsInDialog": "Die Bearbeitung von PBS-Zielen ist im PBS-Setup-Ablauf verfügbar.",
|
||
"noPbsInWizard": "Es sind noch keine PBS-Repositorys konfiguriert.",
|
||
"not": "nicht",
|
||
"pbsUserHelpBefore": "Normalerweise",
|
||
"probingCapacity": "Kapazität prüfen...",
|
||
"remoteSsh": "Remote-SSH",
|
||
"remoteSshDescription": "Borg-Repository auf einem anderen Host über SSH.",
|
||
"removeAndDeleteJobs": "Ziel entfernen und Jobs löschen",
|
||
"removeDescriptionPlain": "Dadurch wird nur das Ziel aus Monitor entfernt. Vorhandene Backups bleiben dort, wo sie sind.",
|
||
"removeDescriptionWithData": "Dadurch wird das Ziel aus Monitor entfernt. Vorhandene Backups bleiben dort, wo sie sind.",
|
||
"removeDestination": "Ziel entfernen",
|
||
"removeTitle": "Entfernen Sie dieses Ziel",
|
||
"saveAnotherBorgTitle": "Speichern Sie ein weiteres Borg-Ziel",
|
||
"saveAnotherLocalTitle": "Speichern Sie ein anderes lokales Ziel",
|
||
"saveAnotherPbsTitle": "Speichern Sie ein weiteres PBS-Ziel",
|
||
"shortIdentifierHelp": "Im Monitor angezeigter Kurzname.",
|
||
"single": "Ziel",
|
||
"sshKeyHelpAfter": "und erlauben Sie es auf dem Remote-Host.",
|
||
"sshKeyHelpBefore": "Monitor speichert den privaten Schlüssel unter",
|
||
"sshKeyHelpMiddle": "Kopieren Sie den öffentlichen Schlüssel nach",
|
||
"sshUserHelpAfter": "zum Beispiel root.",
|
||
"sshUserHelpBefore": "Benutzer auf dem Remote-Host,",
|
||
"title": "Reiseziele",
|
||
"unmountTitle": "Hängen Sie dieses Ziel aus",
|
||
"whereIsBorgRepo": "Wo ist das Borg-Repository?"
|
||
},
|
||
"encryption": {
|
||
"autoDetectedFromPveStorage": "Aus PVE-Speicher erkannt",
|
||
"borgPassphraseLossBefore": "Wenn Sie die Borg-Passphrase verlieren, können verschlüsselte Backups nicht wiederhergestellt werden.",
|
||
"borgPassphraseOnlyWay": "Diese Passphrase ist die einzige Möglichkeit, das Repository zu entsperren.",
|
||
"borgPassphraseSavedAfter": "So können geplante Jobs unbeaufsichtigt ausgeführt werden.",
|
||
"borgPassphraseSavedAt": "Passphrase wird unter gespeichert",
|
||
"encryptBackups": "Backups verschlüsseln",
|
||
"encryptThisBackup": "Verschlüsseln Sie dieses Backup",
|
||
"encryptedModeTitle": "Verschlüsselter Modus",
|
||
"encryptedRepokey": "Verschlüsselter Repository-Schlüssel",
|
||
"encryptedRepokeyDescription": "Borg speichert den Schlüssel im Repository, geschützt durch Ihre Passphrase.",
|
||
"existingKeyAt": "Vorhandener Schlüssel bei",
|
||
"generateManualDescription": "Erzeugen Sie eine neue Schlüsseldatei und verwenden Sie diese für dieses Backup.",
|
||
"generateNewKeyfile": "Neue Schlüsseldatei generieren",
|
||
"generateNewKeyfileDescriptionAfter": "und speichert es lokal für zukünftige PBS-Wiederherstellungen.",
|
||
"generateNewKeyfileDescriptionBefore": "Monitor erstellt",
|
||
"importExistingKeyfile": "Vorhandene Schlüsseldatei importieren",
|
||
"importExistingKeyfileDescription": "Laden Sie eine Schlüsseldatei hoch, die mit vorhandenen verschlüsselten Backups übereinstimmt.",
|
||
"importKeyfileHelpAfter": "bevor Sie verschlüsselte PBS-Backups wiederherstellen.",
|
||
"importKeyfileHelpBefore": "Importieren Sie die passende Schlüsseldatei in",
|
||
"importManualDescription": "Verwenden Sie eine vorhandene Schlüsseldatei von diesem Computer.",
|
||
"noEncryption": "Keine Verschlüsselung",
|
||
"noEncryptionDescription": "Backups werden ohne Verschlüsselungsschlüssel gespeichert.",
|
||
"noKeyStored": "Keine Schlüsseldatei lokal gespeichert.",
|
||
"none": "Keiner",
|
||
"passphraseNotSaved": "Passphrase wird nicht gespeichert.",
|
||
"passphraseSaved": "Passphrase gespeichert",
|
||
"pbsHelpAfter": "für verschlüsselte PBS-Wiederherstellungen.",
|
||
"pbsHelpBefore": "PBS-Verschlüsselung verwendet",
|
||
"pbsHelpEnd": "Bewahren Sie eine sichere Kopie außerhalb dieses Hosts auf.",
|
||
"pbsHelpMiddle": "als Schlüsseldatei",
|
||
"pveKeyWillBeCopied": "Der PVE-Verschlüsselungsschlüssel wird für Monitor-Wiederherstellungen kopiert.",
|
||
"savePassphraseNow": "Speichern Sie die Passphrase für geplante Ausführungen",
|
||
"unrecoverable": "Ohne den Schlüssel können verschlüsselte Backups nicht wiederhergestellt werden.",
|
||
"usesSharedKeyfileAt": "Verwendet eine gemeinsame Schlüsseldatei unter"
|
||
},
|
||
"errors": {
|
||
"backendNoStagingPath": "Das Backend hat keinen Staging-Pfad zurückgegeben.",
|
||
"deleteFailed": "Löschen fehlgeschlagen: {error}",
|
||
"downloadFailed": "Download fehlgeschlagen: {error}",
|
||
"encryptionSetupFailed": "Verschlüsselungseinrichtung fehlgeschlagen: {error}",
|
||
"exportDidNotComplete": "Der Export wurde nicht abgeschlossen.",
|
||
"localArchivePathMissing": "Lokaler Archivpfad fehlt.",
|
||
"passphrasesDoNotMatch": "Passphrasen stimmen nicht überein.",
|
||
"passphrasesDontMatch": "Passphrasen stimmen nicht überein.",
|
||
"pickKeyfile": "Wählen Sie zunächst eine Schlüsseldatei aus.",
|
||
"preflightFailed": "Preflight fehlgeschlagen: {error}",
|
||
"proxmoxBackupClientOutput": "proxmox-backup-client-Ausgabe:",
|
||
"recoveryPassphraseRequired": "Eine Wiederherstellungspassphrase ist erforderlich.",
|
||
"repoNameAndSnapshotRequired": "Repository-Name und Snapshot sind erforderlich.",
|
||
"runFailed": "Ausführung fehlgeschlagen: {error}",
|
||
"snapshotInfoMissing": "Snapshot-Informationen fehlen.",
|
||
"toggleFailed": "Jobstatus konnte nicht geändert werden: {error}"
|
||
},
|
||
"extraPaths": {
|
||
"absolutePathHintAfter": "– Der Pfad muss auf diesem Host genau wie eingegeben vorhanden sein.",
|
||
"absolutePathHintBefore": "Verwenden Sie den vollständigen absoluten Pfad.",
|
||
"absolutePathHintMiddle": "ist nicht dasselbe wie",
|
||
"descriptionAfter": "(manuell oder geplant, Standard- oder benutzerdefiniertes Profil) oben in der Standardprofilliste. Nützlich für App-Daten, benutzerdefinierte Konfigurationsordner und ähnliche Pfade. ({count} konfiguriert)",
|
||
"descriptionBefore": "Hier hinzugefügte Pfade sind in enthalten",
|
||
"empty": "Noch keine benutzerdefinierten Pfade – Backups verwenden nur das Standardprofil.",
|
||
"everyBackup": "jedes Backup",
|
||
"missingOnDisk": "fehlt auf der Festplatte",
|
||
"removeTitle": "Entfernen Sie diesen benutzerdefinierten Pfad",
|
||
"title": "Benutzerdefinierte Pfade"
|
||
},
|
||
"fields": {
|
||
"absolutePathOnHost": "Absoluter Pfad auf dem Host",
|
||
"archiveNameLabel": "Archivname",
|
||
"backend": "Backend",
|
||
"backendLabel": "Backend",
|
||
"backupGroupLabel": "Backup-Gruppe",
|
||
"backupId": "Backup-ID",
|
||
"bootMode": "Boot-Modus",
|
||
"borgIdLabel": "Borg-ID",
|
||
"borgRepository": "Borg-Repository",
|
||
"confirmPassphrase": "Passphrase bestätigen",
|
||
"createdLabel": "Erstellt",
|
||
"datastore": "Datenspeicher",
|
||
"dayOfMonth": "Tag des Monats",
|
||
"daysOfWeek": "Wochentage",
|
||
"destinationDirectory": "Zielverzeichnis",
|
||
"detectedViaLabel": "Erkannt über",
|
||
"directoryPath": "Verzeichnispfad",
|
||
"directoryShort": "Dir",
|
||
"encryption": "Verschlüsselung",
|
||
"expressionLabel": "Ausdruck",
|
||
"filesystemShort": "fs",
|
||
"fingerprintOptional": "Fingerabdruck (optional)",
|
||
"free": "Frei",
|
||
"groupNameInPbs": "Gruppenname in PBS",
|
||
"jobId": "Job-ID",
|
||
"jobIdLabel": "Job-ID",
|
||
"jobName": "Jobname",
|
||
"kernel": "Kernel",
|
||
"label": "Etikett",
|
||
"localDestination": "Lokales Ziel",
|
||
"lvmVgs": "LVM-VGs",
|
||
"memory": "Erinnerung",
|
||
"minuteOfHour": "Minute der Stunde",
|
||
"mode": "Modus",
|
||
"name": "Name",
|
||
"nameLabel": "Name",
|
||
"newRecoveryPassphrase": "Neue Wiederherstellungspassphrase",
|
||
"nextRun": "Nächster Lauf",
|
||
"normalizedLabel": "Normalisiert",
|
||
"onCalendarExpression": "OnCalendar-Ausdruck",
|
||
"ownerLabel": "Eigentümer",
|
||
"passphrase": "Passphrase",
|
||
"password": "Passwort",
|
||
"pathLabel": "Weg",
|
||
"pbsRepository": "PBS-Repository",
|
||
"profileLabel": "Profil",
|
||
"pveJobLabel": "PVE-Job",
|
||
"pveStorage": "PVE-Speicher",
|
||
"pveVersion": "PVE-Version",
|
||
"recoveryPassphrase": "Wiederherstellungspassphrase",
|
||
"remoteRepositoryPath": "Remote-Repository-Pfad",
|
||
"repo": "Repo",
|
||
"repoNameLabel": "Repository-Name",
|
||
"repository": "Repository",
|
||
"repositoryLabel": "Repository",
|
||
"repositoryPath": "Repository-Pfad",
|
||
"retentionLabel": "Zurückbehaltung",
|
||
"roles": "Rollen",
|
||
"schedule": "Zeitplan",
|
||
"scheduleLabel": "Zeitplan",
|
||
"serverHostOrIp": "Serverhost/IP",
|
||
"size": "Größe",
|
||
"sizeLabel": "Größe",
|
||
"source": "Quelle",
|
||
"sourceHost": "Quellhost",
|
||
"sourceHostLabel": "Quellhost",
|
||
"sshHostOrIp": "SSH-Host/IP",
|
||
"sshKeyPath": "SSH-Schlüsselpfad",
|
||
"sshUser": "SSH-Benutzer",
|
||
"status": "Status",
|
||
"storageLabel": "Lagerung",
|
||
"target": "Ziel",
|
||
"timeOfDay": "Uhrzeit",
|
||
"type": "Typ",
|
||
"used": "Gebraucht",
|
||
"username": "Benutzername",
|
||
"vmsLxcs": "VMs/LXCs",
|
||
"when": "Wann",
|
||
"whenLabel": "Wann",
|
||
"zfsPools": "ZFS-Pools",
|
||
"sshPort": "SSH-Port"
|
||
},
|
||
"jobs": {
|
||
"attachDescriptionAfter": "Backups.",
|
||
"attachDescriptionBefore": "Hängen Sie Monitor an einen PVE-vzdump-Job an und führen Sie ihn anschließend aus",
|
||
"attachDescriptionMiddle": "Ereignis für ausgewählte",
|
||
"attachToPveJob": "An PVE-Job anhängen",
|
||
"attachedToPveVzdump": "An PVE vzdump angehängt",
|
||
"backendEditHelp": "Das Backend kann nach der Erstellung des Jobs nicht mehr geändert werden.",
|
||
"createJob": "Job erstellen",
|
||
"createScheduledJob": "Geplanten Auftrag erstellen",
|
||
"customProfileTitle": "Benutzerdefiniertes Profil",
|
||
"defaultProfileTitle": "Standardprofil",
|
||
"detailDescription": "Zeitplan, Profil, Ziel und letzte Ausführung für diesen Job.",
|
||
"disableJob": "Job deaktivieren",
|
||
"disableJobDescription": "Der systemd-Timer wird gestoppt – keine weiteren automatischen Läufe. Sie können es später über denselben Dialog wieder aktivieren.",
|
||
"editScheduledJob": "Geplanten Job bearbeiten",
|
||
"encryptedTitle": "Verschlüsselt",
|
||
"inheritedRetentionLabel": "Beibehaltung vom PVE-Job",
|
||
"inheritedScheduleLabel": "Planen Sie den PVE-Job",
|
||
"invalidJobName": "Verwenden Sie nur Buchstaben, Zahlen, Bindestriche und Unterstriche.",
|
||
"jobNameHelpAfter": "Halten Sie es kurz und lesbar.",
|
||
"jobNameHelpAnd": "Und",
|
||
"jobNameHelpBefore": "Wird in Timernamen und Protokollen verwendet. Zu den zulässigen Zeichen gehören auch",
|
||
"jobNameLocked": "Der Jobname ist nach der Erstellung gesperrt.",
|
||
"lastRun": "Letzter Lauf",
|
||
"lastRunLabel": "Letzter Lauf",
|
||
"liveLogSize": "live · {size}",
|
||
"loadFailed": "Jobs konnten nicht geladen werden",
|
||
"loadingJob": "Job wird geladen...",
|
||
"manualOneShot": "manuell / One-Shot",
|
||
"manualOneShotDescription": "One-Shot-Backup – zum Zeitpunkt des Auslösers erfasst. Kann nicht erneut ausgeführt oder bearbeitet werden.",
|
||
"neverRun": "nie ausgeführt",
|
||
"newScheduledJob": "Neuer geplanter Auftrag",
|
||
"newScheduledJobDescription": "Erstellen Sie einen wiederkehrenden Host-Sicherungsauftrag.",
|
||
"nextRun": "Nächster Lauf",
|
||
"nextRunLabel": "Nächster Lauf",
|
||
"nextRunTitle": "Nächster geplanter Lauf",
|
||
"noCompatiblePveJob": "Kein kompatibler PVE-Sicherungsjob gefunden",
|
||
"noCompatiblePveJobDescriptionAfter": "Erste.",
|
||
"noCompatiblePveJobDescriptionBefore": "Erstellen oder aktivieren Sie einen PVE-Sicherungsjob für",
|
||
"noCompatiblePveJobDescriptionMiddle": "In",
|
||
"notAvailableForBorg": "Nicht verfügbar für Borg",
|
||
"openJobTitle": "Stellendetails öffnen",
|
||
"parentPveJobHelpAfter": "läuft erfolgreich.",
|
||
"parentPveJobHelpBefore": "Der Monitor wird nach diesem PVE-Job ausgeführt",
|
||
"pbsGroupHelp": "Dies wird zur PBS-Sicherungsgruppe.",
|
||
"pickParentPveJob": "Wählen Sie den übergeordneten PVE-Job",
|
||
"retentionTitle": "Zurückbehaltung",
|
||
"runAttachedTitle": "Jetzt einen Ad-hoc-Lauf auslösen (der PVE-Timer behält seinen eigenen Zeitplan)",
|
||
"runNowTitle": "Lösen Sie diesen Job jetzt aus",
|
||
"running": "Läuft...",
|
||
"scheduledTitle": "Geplant",
|
||
"standaloneScheduledJob": "Eigenständiger geplanter Job",
|
||
"starting": "Wird gestartet...",
|
||
"stepOf": "Schritt {step} von {total}",
|
||
"summary": "Zusammenfassung",
|
||
"waitingForRunner": "Warten auf den Start des Ausführungsdienstes..."
|
||
},
|
||
"keyfileActions": {
|
||
"deleteDialogDescription": "Verschlüsselte PBS-Backups benötigen dieselbe Schlüsseldatei, bevor sie wiederhergestellt werden können.",
|
||
"deleteDialogTitle": "Lokale PBS-Schlüsseldatei löschen?",
|
||
"deleteTitle": "Lokale Schlüsseldatei löschen",
|
||
"deleteWarningDownloadsAfter": "bis Sie den passenden Schlüssel erneut importieren.",
|
||
"deleteWarningDownloadsBefore": "Verschlüsselte Backup-Downloads und -Wiederherstellungen schlagen fehl",
|
||
"deleteWarningNewBackups": "Neue verschlüsselte Backups können nicht ohne Schlüsseldatei ausgeführt werden.",
|
||
"deleteWarningRecoveryBlobs": "PBS-Wiederherstellungsblobs verbleiben auf dem Server.",
|
||
"downloadTitle": "Schlüsseldatei herunterladen",
|
||
"fingerprintTitle": "Schlüsselfingerabdruck anzeigen",
|
||
"installed": "Installiert",
|
||
"keyfileLabel": "PBS-Schlüsseldatei",
|
||
"notInstalled": "Nicht installiert",
|
||
"orUploadFromMachine": "oder laden Sie eines von diesem Gerät hoch.",
|
||
"orUploadOwn": "oder laden Sie Ihre eigene Schlüsseldatei hoch.",
|
||
"pveKeyDescriptionAfter": "und kann von Monitor wiederverwendet werden.",
|
||
"pveKeyDescriptionBefore": "Ein PVE-Schlüssel existiert unter",
|
||
"pveKeyDescriptionMiddle": "Es entspricht der PVE-Speicherverschlüsselung",
|
||
"pveKeyDetected": "PVE-Schlüssel erkannt",
|
||
"uploadDialogDescriptionAfter": "Verschlüsselte Backups, die mit einem anderen Schlüssel erstellt wurden, benötigen weiterhin ihren Originalschlüssel.",
|
||
"uploadDialogDescriptionBefore": "Laden Sie die Schlüsseldatei hoch, die für verschlüsselte PBS-Backups verwendet wird.",
|
||
"uploadDialogTitle": "Laden Sie die PBS-Schlüsseldatei hoch",
|
||
"uploadFromMachine": "Von diesem Computer hochladen",
|
||
"uploadTitle": "Schlüsseldatei hochladen",
|
||
"useThisKey": "Benutzen Sie diesen Schlüssel",
|
||
"willFail": "wird scheitern"
|
||
},
|
||
"keyfileError": {
|
||
"currentlyInstalled": "Derzeit installiert",
|
||
"description": "Dieses Backup ist verschlüsselt und benötigt die passende PBS-Schlüsseldatei.",
|
||
"importFrom": "Importieren Sie die passende Schlüsseldatei von",
|
||
"importPath": "Backup → Ziele → PBS-Schlüsseldatei",
|
||
"requiredManifest": "Für die Sicherung erforderlich",
|
||
"retryHint": "und versuchen Sie es erneut.",
|
||
"title": "Passende Schlüsseldatei erforderlich"
|
||
},
|
||
"keyfileGate": {
|
||
"descriptionAfter": "bevor diese Aktion fortgesetzt werden kann.",
|
||
"descriptionBefore": "Dieses verschlüsselte Backup benötigt die passende Schlüsseldatei",
|
||
"title": "Schlüsseldatei erforderlich"
|
||
},
|
||
"keyfileManagement": {
|
||
"below": "unten",
|
||
"copyAfterCreateAfter": "nach der Erstellung.",
|
||
"copyAfterCreateBefore": "Laden Sie eine sichere Kopie herunter",
|
||
"copyAfterManualBefore": "Bewahren Sie eine sichere Kopie außerhalb dieses Hosts auf",
|
||
"currentPbsUploadStays": "Vorhandene PBS-Wiederherstellungs-Uploads bleiben erhalten.",
|
||
"downloadKeyfile": "Schlüsseldatei herunterladen",
|
||
"hideOptions": "Optionen ausblenden",
|
||
"keepLocalDescriptionAfter": "und bewahren Sie Ihre eigene Sicherungskopie an einem anderen Ort auf.",
|
||
"keepLocalDescriptionBefore": "Behalten Sie den Schlüssel nur auf diesem Host",
|
||
"keepLocalOnly": "Nur lokal verwenden",
|
||
"keepOffsiteCopy": "Bewahren Sie eine externe Kopie auf",
|
||
"keyfileInstalled": "Schlüsseldatei installiert",
|
||
"startUploading": "Beginnen Sie mit dem Hochladen von Wiederherstellungsblobs auf PBS",
|
||
"stopUploading": "Stoppen Sie das Hochladen von Wiederherstellungs-Blobs",
|
||
"thisBackupReusesKeyfile": "Bei dieser Sicherung wird die gemeinsam genutzte PBS-Schlüsseldatei wiederverwendet.",
|
||
"title": "Schlüsseldateiverwaltung",
|
||
"updatePassphrase": "Passphrase aktualisieren",
|
||
"uploadNo": "Nein, behalten Sie es nur lokal bei",
|
||
"uploadQuestion": "Verschlüsselte Wiederherstellungskopie auf PBS hochladen?",
|
||
"uploadToPbs": "Auf PBS hochladen",
|
||
"uploadYes": "Ja, Wiederherstellungskopie hochladen",
|
||
"withoutCopyWarning": "Ohne eine Kopie kann der Verlust dieses Hosts auch zum Verlust des Schlüssels führen.",
|
||
"yesUpload": "Ja, hochladen",
|
||
"yesUploadDescription": "Monitor speichert eine verschlüsselte Wiederherstellungskopie in PBS."
|
||
},
|
||
"keyfileRecovery": {
|
||
"descriptionBefore": "Der verschlüsselte Schlüsseldatei-Blob wird von PBS heruntergeladen und mit Ihrer Wiederherstellungspassphrase entschlüsselt. Der resultierende Schlüssel wird beschrieben",
|
||
"passphrase": "Wiederherstellungspassphrase",
|
||
"pickSourceHost": "Wählen Sie den Quellhost aus, dessen Passphrase Sie sich merken – jede Installation lädt ihr eigenes Treuhandkonto hoch.",
|
||
"snapshot": "Wiederherstellungs-Schnappschuss",
|
||
"title": "PBS-Schlüsseldatei wiederherstellen"
|
||
},
|
||
"logs": {
|
||
"openFull": "Vollständiges Protokoll öffnen",
|
||
"runLog": "Protokoll ausführen",
|
||
"tail": "Schwanz"
|
||
},
|
||
"manifest": {
|
||
"bootMode": "Boot-Modus",
|
||
"builtBy": "Gebaut von",
|
||
"componentsAtBackup": "Komponenten im Backup",
|
||
"compression": "Kompression",
|
||
"createdAt": "Erstellt bei",
|
||
"deviceCount": "{count} Gerät(e)",
|
||
"encrypted": "Verschlüsselt",
|
||
"gpus": "GPUs",
|
||
"interfaceCount": "{count} Schnittstelle(n)",
|
||
"lxcsAtBackup": "LXCs im Backup",
|
||
"memory": "Erinnerung",
|
||
"nics": "Netzwerkkarten",
|
||
"pathCount": "{count} Pfade",
|
||
"pathsArchived": "Pfade archiviert",
|
||
"proxmoxVersion": "Proxmox-Version",
|
||
"roles": "Rollen",
|
||
"sourceHost": "Quellhost",
|
||
"vmsAtBackup": "VMs im Backup"
|
||
},
|
||
"manual": {
|
||
"description": "Führen Sie jetzt ein One-Shot-Host-Backup durch.",
|
||
"inProgress": "Manuelle Sicherung läuft",
|
||
"oneShotDescription": "One-Shot-Backups werden als eingefrorene Jobs aufbewahrt, sodass Sie ihr Protokoll später überprüfen können.",
|
||
"reopenLogTitle": "Protokoll erneut öffnen",
|
||
"run": "Ausführen",
|
||
"runBackup": "Führen Sie ein Backup aus",
|
||
"runOneShotBackup": "Führen Sie ein One-Shot-Backup durch",
|
||
"title": "Manuelle Sicherung",
|
||
"viewProgress": "Fortschritt anzeigen"
|
||
},
|
||
"paths": {
|
||
"count": "{count} Pfade",
|
||
"title": "Wege"
|
||
},
|
||
"placeholders": {
|
||
"autoFromPveStorage": "automatisch aus dem PVE-Speicher",
|
||
"extraPathExamples": "/root/my-folder, /srv/myapp/data, /etc/cron.d ...",
|
||
"filterPaths": "Pfade filtern...",
|
||
"keyfilePath": "/usr/local/share/proxmenux/pbs-key.conf",
|
||
"keyfileRecoveryPassphrase": "Die Passphrase, die beim Erstellen der Schlüsseldatei festgelegt wurde",
|
||
"leaveBlankForDefault": "Für die Standardeinstellung leer lassen",
|
||
"longRandomStoreSafe": "Langer Zufallswert – sicher aufbewahren",
|
||
"newRecoveryPassphrase": "Neue Wiederherstellungspassphrase",
|
||
"onCalendar": "*-*-* 02:30:00",
|
||
"pickBorgRepository": "Wählen Sie das Borg-Repository aus",
|
||
"pickLocalDestination": "Wählen Sie ein lokales Ziel",
|
||
"pickPbsRepository": "Wählen Sie das PBS-Repository aus",
|
||
"recoveryPassphrase": "Wiederherstellungspassphrase",
|
||
"typeItAgain": "Tippen Sie es wieder ein",
|
||
"unchangedTypeToReplace": "unverändert – Typ zum Ersetzen"
|
||
},
|
||
"plan": {
|
||
"blockers": "Blocker",
|
||
"noIssues": "Keine Blocker oder Warnungen erkannt.",
|
||
"status": {
|
||
"blocked": "Blockiert",
|
||
"error": "Fehler",
|
||
"failed": "Fehlgeschlagen",
|
||
"ok": "OK",
|
||
"unknown": "Unbekannt",
|
||
"warn": "Warnung"
|
||
},
|
||
"warnings": "Warnungen"
|
||
},
|
||
"preflight": {
|
||
"applyWouldBeRefused": "Die Bewerbung würde abgelehnt",
|
||
"driverReinstallPlan": "Treiber-Neuinstallationsplan",
|
||
"failCount": "{count} fehlgeschlagen",
|
||
"keepCount": "{count} behalten",
|
||
"lvmVgsCount": "{count} LVM-VGs",
|
||
"networkInMode": "Netzwerk im ausgewählten Modus",
|
||
"newCount": "{count} neu",
|
||
"orphanCount": "{count} verwaist",
|
||
"passCount": "{count} bestanden",
|
||
"pveStorageCount": "{count} PVE-Speicher",
|
||
"remapCount": "{count} neu zugeordnet",
|
||
"storageInMode": "Speicherung im ausgewählten Modus",
|
||
"warnCount": "{count} Warnungen",
|
||
"zfsPoolsCount": "{count} ZFS-Pools"
|
||
},
|
||
"profile": {
|
||
"custom": "Brauch",
|
||
"customDescription": "Wählen Sie genau aus, welche Pfade einbezogen werden sollen.",
|
||
"default": "Standard",
|
||
"defaultDescription": "Empfohlene Hostkonfiguration und ProxMenux-Daten.",
|
||
"defaultDescriptionShort": "Empfohlene Hostkonfiguration.",
|
||
"pathsToInclude": "Einzuschließende Pfade",
|
||
"pickPaths": "Wählen Sie Pfade",
|
||
"title": "Profil"
|
||
},
|
||
"recovery": {
|
||
"copyFoundTitle": "Wiederherstellungskopie gefunden",
|
||
"encryptedCopyAvailable": "Eine verschlüsselte Schlüsselwiederherstellungskopie ist in PBS verfügbar.",
|
||
"keyfileMissingTitle": "PBS-Schlüsseldatei fehlt",
|
||
"recoverArrow": "Wiederherstellen →"
|
||
},
|
||
"restore": {
|
||
"ackAfter": "die oben aufgeführten VMs, LXCs und Komponenten. Das ist irreversibel.",
|
||
"ackBefore": "Ich verstehe, dass eine vollständige Wiederherstellung durchgeführt wird",
|
||
"afterRebootHint": "Nach dem Neustart zeigt diese Registerkarte „Backups“ den Live-Fortschritt nach der Wiederherstellung mit der geschätzten Zeit, dem Status pro Komponente, dem Protokollende und dem Rollback-Delta an. Wenn Telegram-/Discord-/ntfy-Benachrichtigungen konfiguriert sind, erhalten Sie auch das Ereignis „Host-Wiederherstellung abgeschlossen“.",
|
||
"backupKernel": "Backup-Kernel",
|
||
"blockedEncryptedTitle": "Verschlüsselte Wiederherstellung blockiert",
|
||
"blockedPathsHint": "Kernel-/Boot-gebundene Pfade sind ausgegraut und können nicht ausgewählt werden – das Ziel führt einen neueren Kernel aus.",
|
||
"chooseModeTitle": "Wiederherstellen – Modus auswählen",
|
||
"complete": "Vollständig",
|
||
"completeDescription": "Stellen Sie alles aus dem Backup wieder her.",
|
||
"completeDescriptionAfter": "im Shell-TUI-Menü. Das als Nächstes geöffnete Terminal fordert Sie weiterhin auf, „Nur sicher“ vs. „Sicher+Neustart“ vs. „Alles auf einmal“ zu bestätigen, bevor Sie den Host berühren.",
|
||
"completeDescriptionBefore": "Spielt alles im Backup ab. Äquivalent zum Pflücken",
|
||
"completeTitle": "Vollständige Wiederherstellung",
|
||
"crossKernelDescription": "Sowohl die vollständige als auch die benutzerdefinierte Wiederherstellung überspringen automatisch Kernel-/Boot-gebundene Pfade, um eine Kernel-Panic beim nächsten Start zu vermeiden. Alles andere (VMs, LXCs, Netzwerk, Komponenten, benutzerdefinierte Pfade) wird normal wiederhergestellt.",
|
||
"crossKernelTitle": "Kernelübergreifende Wiederherstellung – nur sichere Teilmenge",
|
||
"customByPaths": "Benutzerdefiniert nach Pfaden",
|
||
"customByPathsDescription": "Wählen Sie genau aus, welche Pfade wiederhergestellt werden sollen. Listet auf, was tatsächlich in dieser Sicherung enthalten ist (Standardprofil + Ihre benutzerdefinierten Pfade).",
|
||
"customByPathsTitle": "Benutzerdefinierte Wiederherstellung nach Pfaden",
|
||
"customPickDescriptionAfter": "env var – derselbe Downstream-Code wie die TUI. Für einen Neustart erforderliche Pfade (Kernel, Module, fstab usw.) werden vom Bash-Flow erkannt und Sie können sie von dort aus für den nächsten Start planen.",
|
||
"customPickDescriptionBefore": "Wählen Sie die wiederherzustellenden Pfade aus. Ihre Auswahl-Feeds",
|
||
"customPickDescriptionMiddle": "über die",
|
||
"destructiveTitle": "Durch die vollständige Wiederherstellung wird Folgendes ENTFERNT (erstellt nach der Sicherung):",
|
||
"noPathsMatch": "Keine Pfade entsprechen dem Filter.",
|
||
"noRestorablePaths": "Dieses Backup enthält keine wiederherstellbaren Pfade – hier ist nur die vollständige Wiederherstellung sinnvoll.",
|
||
"olderThanTargetKernel": "ist älter als der Zielkernel",
|
||
"operatorConfigDescription": "Die folgenden vom Bediener erstellten Einstellungen werden automatisch in das Ziel eingefügt, ohne die Kernel-gebundenen Standardeinstellungen zu berühren. Läuft sowohl bei der vollständigen als auch bei der benutzerdefinierten Wiederherstellung.",
|
||
"operatorConfigTitle": "Die Operatorkonfiguration wurde über eine Kernel-agnostische Zusammenführung erneut angewendet",
|
||
"pathsInBackup": "({count} Pfade im Backup)",
|
||
"pathsSelected": "{count} Pfade ausgewählt",
|
||
"pathsSkipped": "Pfade, die übersprungen werden ({count})",
|
||
"permanentlyDelete": "endgültig löschen",
|
||
"pickPathError": "Wählen Sie mindestens einen Pfad aus, um fortzufahren.",
|
||
"preparationFailedTitle": "Die Wiederherstellungsvorbereitung ist fehlgeschlagen",
|
||
"selectedCount": "Ausgewählt: {selected} / {total}{shown}",
|
||
"shownCount": "({count} angezeigt)",
|
||
"skipped": "übersprungen",
|
||
"skippedPathTitle": "Übersprungen: Kernel-gebundener Pfad, Ziel führt einen neueren Kernel aus",
|
||
"terminalTitle": "Terminal wiederherstellen",
|
||
"tickAckToEnable": "Markieren Sie die Bestätigung oben, um sie zu aktivieren."
|
||
},
|
||
"retention": {
|
||
"daily": "Täglich",
|
||
"hourly": "Stündlich",
|
||
"keepDaily": "Täglich aufbewahren",
|
||
"keepHourly": "Stündlich aufbewahren",
|
||
"keepLast": "Bleiben Sie zuletzt",
|
||
"keepMonthly": "Monatlich aufbewahren",
|
||
"keepWeekly": "Wöchentlich aufbewahren",
|
||
"keepYearly": "Jährlich aufbewahren",
|
||
"last": "Zuletzt",
|
||
"monthly": "Monatlich",
|
||
"none": "Keiner",
|
||
"noneAccumulate": "Keine Aufbewahrungsbeschränkungen – Backups sammeln sich an, bis sie manuell entfernt werden.",
|
||
"title": "Zurückbehaltung",
|
||
"weekly": "Wöchentlich",
|
||
"yearly": "Jährlich",
|
||
"zeroDisables": "0 deaktiviert dieses Limit."
|
||
},
|
||
"rollback": {
|
||
"components": "Komponenten:",
|
||
"configsIncluded": "Im Backup enthaltene Konfigurationen",
|
||
"lxcConfigs": "LXC-Konfigurationen:",
|
||
"noDifferences": "Keine Host-Statusunterschiede festgestellt – der Backup-Status stimmt mit dem aktuellen Host überein (oder das Backup enthielt /etc/pve nicht).",
|
||
"pveOnlyHint": "Nur die /etc/pve-Konfiguration wird wiederhergestellt – Festplatten-Images bleiben dort, wo sie gespeichert sind.",
|
||
"vmConfigs": "VM-Konfigurationen:"
|
||
},
|
||
"schedule": {
|
||
"advancedHelpAfter": "für genaue systemd-Syntax.",
|
||
"advancedHelpBefore": "Verwenden",
|
||
"advancedHelpMiddle": "Und",
|
||
"advancedOption": "Fortschrittlich",
|
||
"borgTimerOnly": "Borg-Jobs werden durch Monitor-Timer geplant.",
|
||
"dailyOption": "Täglich",
|
||
"everyDayAt": "Jeden Tag um {time}",
|
||
"everyDayAtMidnight": "Jeden Tag um Mitternacht",
|
||
"everyHourAtMinute": "Jede Stunde zur Minute {minute}",
|
||
"everyHourAtMinuteZero": "Stündlich",
|
||
"everyMinute": "Jede Minute",
|
||
"everyMondayAtMidnight": "Jeden Montag um Mitternacht",
|
||
"firstDayMonthly": "Erster Tag eines jeden Monats",
|
||
"hourlyHelpAfter": "läuft einmal pro Stunde.",
|
||
"hourlyHelpBefore": "Im Moment",
|
||
"hourlyHelpMiddle": "der Timer",
|
||
"hourlyOption": "Stündlich",
|
||
"howToSchedule": "Wie soll es ausgeführt werden?",
|
||
"janFirst": "Jedes Jahr am 1. Januar",
|
||
"modeHelp": "Wählen Sie einen einfachen Zeitplan oder geben Sie einen systemd-OnCalendar-Ausdruck ein.",
|
||
"monthlyOption": "Monatlich",
|
||
"monthlySkipHelp": "Wenn ein Monat weniger Tage hat, überspringt systemd diesen Lauf.",
|
||
"pickAtLeastOneDay": "Wählen Sie mindestens einen Tag aus.",
|
||
"pickFrequency": "Wählen Sie die Häufigkeit aus",
|
||
"preview": "Vorschau",
|
||
"rawOnCalendar": "{value} (systemd OnCalendar)",
|
||
"title": "Zeitplan",
|
||
"weekdaysAt": "{days} um {time}",
|
||
"weeklyOption": "Wöchentlich"
|
||
},
|
||
"status": {
|
||
"attached": "beigefügt",
|
||
"disabled": "deaktiviert",
|
||
"legacy": "Vermächtnis",
|
||
"manual": "Handbuch",
|
||
"manualOneShot": "manuell / One-Shot",
|
||
"ok": "OK",
|
||
"running": "läuft",
|
||
"scheduled": "geplant"
|
||
},
|
||
"taskStates": {
|
||
"completed": "vollendet",
|
||
"failed": "fehlgeschlagen",
|
||
"packing": "Verpackung",
|
||
"queued": "in der Warteschlange",
|
||
"restoring": "Wiederherstellen",
|
||
"running": "läuft"
|
||
},
|
||
"usb": {
|
||
"description": "Hängen Sie USB-Laufwerke ein, damit sie als lokales oder Borg-Ziel ausgewählt werden können. Laufwerke, die bereits über ein Dateisystem verfügten, können unverändert wieder gemountet werden; Raw-Laufwerke (keine Partitionstabelle) können gelöscht und formatiert werden",
|
||
"drivesDetected": "{count} Laufwerke erkannt",
|
||
"empty": "Keine USB-Laufwerke erkannt. Schließen Sie eines an und aktualisieren Sie es. Der Monitor scannt automatisch alle 30 Sekunden.",
|
||
"formatAndUse": "Formatieren und verwenden",
|
||
"formatDescription": "Dadurch wird die ausgewählte Festplatte gelöscht und eine einzelne ext4-Partition erstellt.",
|
||
"formatDrive": "Laufwerk formatieren",
|
||
"formatDriveQuestion": "Diese Festplatte löschen und formatieren?",
|
||
"formatTitle": "Löschen Sie diese Festplatte und formatieren Sie sie als ext4",
|
||
"formatWarning": "Alles auf der Festplatte wird zerstört. Dies kann nicht rückgängig gemacht werden.",
|
||
"mountAndUse": "Montieren und verwenden",
|
||
"mounted": "Montiert",
|
||
"noneDetected": "Keine USB-Laufwerke erkannt.",
|
||
"repartitionHint": "Die Festplatte wird neu partitioniert (GPT + einzelne ext4-Partition) und automatisch gemountet.",
|
||
"scanning": "USB-Laufwerke scannen...",
|
||
"stateEmpty": "kein Dateisystem",
|
||
"stateMounted": "montiert",
|
||
"stateUnmounted": "nicht montiert",
|
||
"typeDeviceExactly": "Geben Sie den Gerätepfad GENAU ein, um zu bestätigen:",
|
||
"typeDeviceToConfirm": "Geben Sie zur Bestätigung den Gerätepfad ein",
|
||
"unformatted": "Unformatiert",
|
||
"unmountConfirm": "{path} aushängen? Jeder Sicherungsauftrag, der auf diesen Pfad verweist, schlägt fehl, bis Sie ihn erneut bereitstellen.",
|
||
"unmounted": "Unmontiert",
|
||
"uuidTitle": "UUID: {uuid}",
|
||
"wipeAndFormat": "Löschen und formatieren"
|
||
},
|
||
"validation": {
|
||
"invalidLabel": "Ungültiges Etikett."
|
||
},
|
||
"weekdays": {
|
||
"friday": "Freitag",
|
||
"monday": "Montag",
|
||
"saturday": "Samstag",
|
||
"short": {
|
||
"fri": "Fr",
|
||
"mon": "Mo",
|
||
"sat": "Sa",
|
||
"sun": "So",
|
||
"thu": "Do",
|
||
"tue": "Di",
|
||
"wed": "Mi"
|
||
},
|
||
"sunday": "Sonntag",
|
||
"thursday": "Donnerstag",
|
||
"tuesday": "Dienstag",
|
||
"wednesday": "Mittwoch"
|
||
}
|
||
},
|
||
"healthStatus": {
|
||
"title": "Systemgesundheitsstatus",
|
||
"description": "Detaillierte Prüfungen aller Systemkomponenten",
|
||
"status": {
|
||
"ok": "OK",
|
||
"info": "Info",
|
||
"warning": "Warnung",
|
||
"critical": "Kritisch",
|
||
"unknown": "Unbekannt"
|
||
},
|
||
"stats": {
|
||
"total": "Gesamt",
|
||
"healthy": "Gesund",
|
||
"info": "Info",
|
||
"warning": "Warnung",
|
||
"critical": "Kritisch",
|
||
"unknown": "Unbekannt"
|
||
},
|
||
"categories": {
|
||
"cpu": "CPU-Auslastung und Temperatur",
|
||
"memory": "Arbeitsspeicher & Swap",
|
||
"storage": "Aufbewahrungshalterungen und Platz",
|
||
"disks": "Festplatten-E/A und Fehler",
|
||
"network": "Netzwerkschnittstellen",
|
||
"vms": "VMs und Container",
|
||
"services": "PVE-Dienste",
|
||
"logs": "Systemprotokolle",
|
||
"updates": "Systemaktualisierungen",
|
||
"security": "Sicherheit & Zertifikate"
|
||
},
|
||
"checks": {
|
||
"cpu_usage": "CPU-Auslastung",
|
||
"cpu_temperature": "Temperatur",
|
||
"ram_usage": "RAM-Nutzung",
|
||
"swap_usage": "Swap-Nutzung",
|
||
"root_filesystem": "Root-Dateisystem",
|
||
"smart_health": "SMART-Status",
|
||
"io_errors": "E/A-Fehler",
|
||
"zfs_pools": "ZFS-Pools",
|
||
"lvm_volumes": "LVM-Volumes",
|
||
"lvm_check": "LVM-Status",
|
||
"connectivity": "Konnektivität",
|
||
"qmp_communication": "QMP-Kommunikation",
|
||
"container_startup": "Container-Start",
|
||
"vm_startup": "VM-Start",
|
||
"oom_killer": "OOM-Killer",
|
||
"cluster_mode": "Cluster-Modus",
|
||
"log_error_cascade": "Fehlerkaskade",
|
||
"log_error_spike": "Fehlerspitze",
|
||
"log_persistent_errors": "Anhaltende Fehler",
|
||
"log_critical_errors": "Kritische Fehler",
|
||
"pve_version": "Proxmox VE-Version",
|
||
"security_updates": "Sicherheitsupdates",
|
||
"system_age": "Systemalter",
|
||
"pending_updates": "Ausstehende Updates",
|
||
"kernel_pve": "Kernel / PVE",
|
||
"uptime": "Betriebszeit",
|
||
"certificates": "Zertifikate",
|
||
"login_attempts": "Anmeldeversuche",
|
||
"fail2ban": "Fail2Ban",
|
||
"proxmox_storages": "Proxmox-Speicher"
|
||
},
|
||
"details": {
|
||
"allOperational": "Alle Systeme betriebsbereit",
|
||
"normal": "Normal",
|
||
"noIoErrors": "Keine E/A-Fehler in dmesg",
|
||
"rootFilesystemOk": "Lese-/Schreibzugriff; Platz ist ok",
|
||
"noSmartWarnings": "Keine SMART-Warnungen im Journal",
|
||
"noCriticalErrors": "Keine kritischen Fehler",
|
||
"noCascadingErrors": "Keine kaskadierenden Fehler",
|
||
"noErrorSpikes": "Keine Fehlerspitzen",
|
||
"noPersistentPatterns": "Keine dauerhaften Muster",
|
||
"certificateValid": "Das Zertifikat ist gültig",
|
||
"clusterDetected": "Cluster erkannt (corosync.conf ist vorhanden)",
|
||
"active": "Aktiv",
|
||
"up": "HOCH",
|
||
"kernelUpToDate": "Kernel/PVE ist auf dem neuesten Stand",
|
||
"proxmoxUpToDate": "Proxmox VE ist auf dem neuesten Stand",
|
||
"noSecurityUpdates": "Es stehen keine Sicherheitsupdates aus",
|
||
"noContainerErrors": "Keine Container-Startfehler",
|
||
"noOomEvents": "Keine OOM-Ereignisse erkannt",
|
||
"noQmpTimeouts": "Es wurden keine QMP-Zeitüberschreitungen festgestellt",
|
||
"noVmFailures": "Keine VM-Startfehler",
|
||
"dismissedByUser": "Vom Benutzer abgelehnt",
|
||
"gatewayLatency": "Latenz zum Gateway: {latency} ms",
|
||
"failedLogins": "{count} fehlgeschlagene Anmeldeversuche innerhalb von 24 Stunden",
|
||
"fail2banBannedIps": "Fail2Ban blockiert derzeit {count} IP-Adressen (Gefängnisse: {jails})",
|
||
"uptimeDays": "Betriebszeit: {count} Tage",
|
||
"pendingPackages": "{count} Pakete stehen aus",
|
||
"updatedDaysAgo": "Zuletzt aktualisiert vor {count} Tagen",
|
||
"storageAvailable": "{type} Speicher ist verfügbar",
|
||
"mountReachable": "{type} Mount ist erreichbar",
|
||
"rootfsUsed": "Rootfs-Nutzung: {percent} % ({size})",
|
||
"runningCtsSafe": "{count} laufende CTs haben eine sichere Rootfs-Nutzung",
|
||
"pveStorageSafe": "{count} PVE-Blockspeicherziele können sicher verwendet werden",
|
||
"remoteMountsHealthy": "{count} Remote-Mounts sind fehlerfrei",
|
||
"startupStoragesChecking": "Proxmox Speicher nach dem Start prüfen: {storages}",
|
||
"startupStorageChecking": "Proxmox Speicher nach dem Start prüfen: {storage}",
|
||
"startupStorageNotFound": "Proxmox-Speicher nach dem Start prüfen: {storage} ist auf dem Server noch nicht sichtbar",
|
||
"startupStorageUnavailable": "Proxmox-Speicher wird nach dem Start überprüft: {storage} ist noch nicht bereit",
|
||
"startupStorageStatus": "Überprüfung des Proxmox-Speichers nach dem Start: {storage} (aktueller Status: {status})"
|
||
},
|
||
"time": {
|
||
"justNow": "soeben",
|
||
"oneMinuteAgo": "Vor 1 Minute",
|
||
"minutesAgo": "Vor {count} Minuten",
|
||
"hoursMinutesAgo": "Vor {hours}h {minutes}m"
|
||
},
|
||
"errors": {
|
||
"fetchFailed": "Gesundheitsdetails konnten nicht abgerufen werden",
|
||
"unknown": "Unbekannter Fehler",
|
||
"loading": "Fehler beim Laden des Gesundheitsstatus"
|
||
},
|
||
"noIssues": "Keine Probleme festgestellt",
|
||
"updateNow": "Jetzt aktualisieren",
|
||
"dismissedItems": "Verworfene Elemente ({count})",
|
||
"permanent": "Dauerhaft",
|
||
"dismissed": "Entlassen",
|
||
"wasStatus": "war {status}",
|
||
"permanentlySuppressed": "Dauerhaft unterdrückt",
|
||
"suppressedForMore": "Für weitere {duration} unterdrückt",
|
||
"customSuppressionSettings": "Benutzerdefinierte Unterdrückungseinstellungen",
|
||
"autoSuppressedHint": "Warnungen in diesen Kategorien werden automatisch unterdrückt, wenn sie erkannt werden.",
|
||
"lastUpdated": "Letzte Aktualisierung: {date}",
|
||
"updateTerminalTitle": "Proxmox-Systemupdate",
|
||
"updateTerminalDescription": "Führt apt-get update + dist-upgrade und die Bereinigung nach dem Update auf dem Host aus.",
|
||
"dismiss": "Zurückweisen",
|
||
"silenceFor": "Schalten Sie diese Warnung stumm",
|
||
"permanently": "Permanent",
|
||
"duration": {
|
||
"hours": "{count}h",
|
||
"days": "{count} Tage",
|
||
"weeks": "{count} Wochen",
|
||
"months": "{count} Monate",
|
||
"years": "{count} Jahre",
|
||
"24hours": "24 Stunden",
|
||
"7days": "7 Tage"
|
||
}
|
||
},
|
||
"profilePage": {
|
||
"loading": "Profil wird geladen…",
|
||
"loadFailed": "Profil konnte nicht geladen werden",
|
||
"title": "Benutzerprofil",
|
||
"description": "Persönliche Daten werden im Avatar-Menü der Kopfzeile angezeigt. Sie sind optional – der Benutzername identifiziert das Konto bereits.",
|
||
"avatar": {
|
||
"label": "Avatar",
|
||
"upload": "Avatar hochladen",
|
||
"replace": "Avatar ersetzen",
|
||
"remove": "Avatar entfernen",
|
||
"hint": "PNG, JPEG, WebP oder GIF. Bis zu 2 MB. Verwenden Sie ein quadratisches Bild oder schneiden Sie es zuerst zu, um das beste Ergebnis in der Kopfzeile zu erzielen."
|
||
},
|
||
"username": {
|
||
"label": "Benutzername",
|
||
"help": "Dies ist der Anmeldename. Um dies zu ändern, deaktivieren Sie die Authentifizierung und konfigurieren Sie sie erneut in der Sicherheit."
|
||
},
|
||
"displayName": {
|
||
"label": "Anzeigename",
|
||
"optional": "(optional)",
|
||
"placeholder": "Anzeigename",
|
||
"help": "Wird über dem Benutzernamen im Avatar-Menü angezeigt. Lassen Sie es leer, um nur den Benutzernamen anzuzeigen. Maximal 64 Zeichen."
|
||
},
|
||
"accountSecurity": {
|
||
"title": "Kontosicherheit",
|
||
"description": "Passwort, Zwei-Faktor-Authentifizierung und API-Tokens werden im Sicherheitsbereich verwaltet.",
|
||
"openSecurity": "Öffnen Sie die Sicherheitseinstellungen",
|
||
"fallback": "Öffnen Sie in der Navigation die Registerkarte „Sicherheit“."
|
||
},
|
||
"errors": {
|
||
"saveDisplayNameFailed": "Anzeigename konnte nicht gespeichert werden",
|
||
"uploadFailed": "Hochladen fehlgeschlagen ({status})",
|
||
"deleteFailed": "Löschen fehlgeschlagen ({status})"
|
||
}
|
||
},
|
||
"pwaInstall": {
|
||
"title": "Installieren Sie ProxMenux Monitor",
|
||
"iosDescription": "Fügen Sie den Monitor für einen schnellen Zugriff zu Ihrem Startbildschirm hinzu.",
|
||
"androidDescription": "Fügen Sie den Monitor als App hinzu, damit er wie eine normale Anwendung geöffnet wird.",
|
||
"addToHomeScreen": "Zum Startbildschirm hinzufügen",
|
||
"ios": {
|
||
"stepShareBefore": "Tippen Sie auf",
|
||
"share": "Aktie",
|
||
"stepShareAfter": "Schaltfläche in der unteren Leiste",
|
||
"stepChooseBefore": "Wählen",
|
||
"stepConfirmBefore": "Bestätigen Sie durch Antippen",
|
||
"add": "Hinzufügen",
|
||
"stepConfirmAfter": "oben rechts"
|
||
},
|
||
"android": {
|
||
"stepOpenMenu": "Öffnen Sie das Browsermenü",
|
||
"stepConfirm": "durch Antippen bestätigen",
|
||
"install": "Installieren"
|
||
},
|
||
"notNow": "Nicht jetzt",
|
||
"neverAgain": "Nicht mehr anzeigen"
|
||
},
|
||
"vmMetrics": {
|
||
"title": "Metriken – {name}",
|
||
"type": "Typ",
|
||
"noData": "Keine Daten verfügbar",
|
||
"errors": {
|
||
"loading": "Fehler beim Laden der Messwerte"
|
||
},
|
||
"timeframes": {
|
||
"hour": "1 Stunde",
|
||
"day": "24 Stunden",
|
||
"week": "7 Tage",
|
||
"month": "30 Tage",
|
||
"year": "1 Jahr"
|
||
},
|
||
"charts": {
|
||
"cpu": "CPU-Auslastung",
|
||
"memory": "Speichernutzung",
|
||
"diskIo": "Festplatten-E/A",
|
||
"networkIo": "Netzwerk-E/A"
|
||
},
|
||
"series": {
|
||
"cpu": "CPU %",
|
||
"memoryGb": "Speicher GB",
|
||
"read": "Lesen",
|
||
"write": "Schreiben",
|
||
"download": "Herunterladen",
|
||
"upload": "Hochladen"
|
||
}
|
||
},
|
||
"lxcTerminal": {
|
||
"title": "Terminal: {name} (ID: {id})",
|
||
"errors": {
|
||
"invalidVmid": "Ungültige VMID – Ausführung von pct enter wird abgelehnt"
|
||
},
|
||
"commands": {
|
||
"listFiles": "Listen Sie alle Dateien mit Details auf",
|
||
"changeDirectory": "Verzeichnis wechseln",
|
||
"displayFile": "Dateiinhalte anzeigen",
|
||
"searchPattern": "Suchen Sie nach einem Muster in einer Datei",
|
||
"findFiles": "Suchen Sie Dateien nach Namen",
|
||
"diskUsage": "Festplattennutzung anzeigen",
|
||
"directorySizes": "Verzeichnisgrößen anzeigen",
|
||
"memoryUsage": "Speichernutzung anzeigen",
|
||
"runningProcesses": "Laufende Prozesse anzeigen",
|
||
"findProcess": "Suchen Sie einen laufenden Prozess",
|
||
"serviceStatus": "Überprüfen Sie den Servicestatus",
|
||
"restartService": "Starten Sie einen Dienst neu",
|
||
"updatePackages": "Pakete aktualisieren",
|
||
"installPackage": "Installieren Sie ein Paket",
|
||
"followLog": "Folgen Sie einer Protokolldatei",
|
||
"changePermissions": "Dateiberechtigungen ändern",
|
||
"changeOwner": "Dateieigentümer ändern",
|
||
"extractArchive": "Extrahieren Sie ein tar.gz-Archiv",
|
||
"listContainers": "Listen Sie laufende Container auf",
|
||
"listImages": "Docker-Images auflisten",
|
||
"showIpAddresses": "IP-Adressen anzeigen",
|
||
"testConnectivity": "Testen Sie die Netzwerkkonnektivität",
|
||
"httpHeaders": "Holen Sie sich HTTP-Header",
|
||
"commandHistory": "Befehlsverlauf anzeigen",
|
||
"clearScreen": "Löschen Sie den Terminalbildschirm"
|
||
}
|
||
},
|
||
"restoreProgress": {
|
||
"title": "Fortschritt nach der Wiederherstellung",
|
||
"startedAt": "Gestartet {time}",
|
||
"finishedAt": "fertig {time}",
|
||
"startedRelative": "gestartet {time}",
|
||
"steps": "{done}/{total} Schritte",
|
||
"exitCode": "Beenden Sie {code}",
|
||
"status": {
|
||
"running": "Wiederherstellung läuft",
|
||
"complete": "Wiederherstellung abgeschlossen",
|
||
"failed": "Wiederherstellung fehlgeschlagen"
|
||
},
|
||
"componentStatus": {
|
||
"installing": "installieren",
|
||
"ok": "OK",
|
||
"failed": "fehlgeschlagen"
|
||
},
|
||
"time": {
|
||
"secondsAgo": "Vor {count}s",
|
||
"minutesAgo": "Vor {count}m",
|
||
"hoursAgo": "Vor {count}h",
|
||
"daysAgo": "Vor {count}d",
|
||
"estimating": "Zeit abschätzen…",
|
||
"secondsLeft": "~{count}s übrig",
|
||
"minutesLeft": "~{count}m übrig",
|
||
"hoursLeft": "~{count}h übrig"
|
||
},
|
||
"log": {
|
||
"noLog": "Noch kein Protokoll",
|
||
"full": "Voll",
|
||
"issuesOnly": "Nur Probleme",
|
||
"noOutput": "(keine Ausgabe)"
|
||
},
|
||
"rollback": {
|
||
"empty": "Es gibt auf diesem Host keine Einträge, die im wiederhergestellten Backup fehlten.",
|
||
"showCleanup": "Manuelle Bereinigungsbefehle anzeigen",
|
||
"description": "Diese Einträge sind auf diesem Host vorhanden, waren aber nicht in der wiederhergestellten Sicherung enthalten. Überprüfen Sie sie, bevor Sie etwas entfernen.",
|
||
"vms": "Nach dem Backup erstellte VMs",
|
||
"lxcs": "LXCs, die nach der Sicherung erstellt wurden",
|
||
"components": "Nach dem Backup installierte Komponenten",
|
||
"uninstallComponentCommand": "# {name} manuell über ProxMenux → Hardware & GPU deinstallieren"
|
||
},
|
||
"sections": {
|
||
"components": "Komponenten",
|
||
"bootWarnings": "Warnungen zur Boot-Sicherheit",
|
||
"rollbackDelta": "Rollback-Delta",
|
||
"log": "Protokoll"
|
||
},
|
||
"dataPools": {
|
||
"title": "ZFS-Datenpools – automatischer Import",
|
||
"imported": "Importiert",
|
||
"importedForced": "Importiert (erzwungen, ausländische Host-ID)",
|
||
"importedForcedHelp": "Die neue Host-ID wurde auf das Pool-Label geschrieben – der nächste Start sollte sauber importiert werden.",
|
||
"skippedPartial": "Übersprungen (einige Datenträger fehlen)",
|
||
"skippedPartialHelp": "Einige vdev-Festplatten wurden unter /dev/disk/by-id nicht gefunden. Der Pool wurde nicht importiert, um einen beeinträchtigten automatischen Import zu vermeiden. Reparieren Sie die Festplatten oder importieren Sie sie manuell mit zpool import.",
|
||
"skippedMissing": "Übersprungen (keine Datenträger vorhanden)",
|
||
"skippedMissingHelp": "Keine der Festplatten dieses Pools befindet sich auf diesem Host. Verschieben Sie die Festplatten hierher oder importieren Sie den Pool von einem anderen Host.",
|
||
"importFailed": "Der Import ist fehlgeschlagen",
|
||
"importFailedHelp": "ZFS lehnte den Import auch mit -f ab. Überprüfen Sie den Zpool-Import und das Protokoll unten.",
|
||
"logPath": "Protokoll: {path}"
|
||
},
|
||
"history": {
|
||
"title": "Vergangene Restaurierungen",
|
||
"description": "Wiederherstellungsläufe werden nach dem Booten archiviert. Die letzten 20 bleiben erhalten.",
|
||
"empty": "Es wurden keine früheren Wiederherstellungen aufgezeichnet."
|
||
},
|
||
"badges": {
|
||
"bootWarnings": "Boot-Warnungen: {count}",
|
||
"zfsPools": "ZFS-Pools: {count}",
|
||
"needAttention": "braucht Aufmerksamkeit: {count}"
|
||
},
|
||
"actions": {
|
||
"details": "Einzelheiten",
|
||
"history": "Geschichte",
|
||
"dismiss": "Zurückweisen"
|
||
},
|
||
"summary": {
|
||
"guests": "Gäste",
|
||
"bindMountStubs": "Bind-Mount-Platzhalter",
|
||
"staleNodesCleaned": "Veraltete Knoten bereinigt",
|
||
"components": "Komponenten"
|
||
}
|
||
},
|
||
"terminal": {
|
||
"connected": "Verbunden",
|
||
"disconnected": "Getrennt",
|
||
"terminalCount": "{count} / 4 Klemmen",
|
||
"stackedLayout": "Gestapelte Ansicht (Zeilen)",
|
||
"gridLayout": "2×2-Rasteransicht",
|
||
"new": "Neu",
|
||
"search": "Suchen",
|
||
"clear": "Klar",
|
||
"searchCommands": "Suchbefehle",
|
||
"onlineSource": "Online – mit der cheat.sh-API",
|
||
"offlineSource": "Offline – mit lokalen Befehlen",
|
||
"searchDescription": "Suchen Sie nach Linux- und Proxmox-Befehlen",
|
||
"searchPlaceholder": "Suchbefehle… (z. B. tar, docker, qm, systemctl)",
|
||
"searchingCheatSh": "Suche in „cheat.sh“…",
|
||
"poweredByCheatSh": "Unterstützt von cheat.sh",
|
||
"send": "Schicken",
|
||
"noResults": "Keine Ergebnisse für „{query}“ gefunden",
|
||
"tryDifferentSearch": "Versuchen Sie es mit einem anderen Befehl oder überprüfen Sie die Rechtschreibung.",
|
||
"searchAnyCommand": "Suchen Sie nach einem beliebigen Befehl",
|
||
"trySearchingFor": "Suchen Sie nach:",
|
||
"noExamplesFound": "Keine Beispiele gefunden",
|
||
"reconnecting": "Wieder verbinden…",
|
||
"reconnected": "Erfolgreich wiederhergestellt",
|
||
"reconnectionFailed": "Die erneute Verbindung ist fehlgeschlagen",
|
||
"connectionClosed": "Verbindung geschlossen",
|
||
"terminalTitle": "Terminal {number}",
|
||
"connectionTimeout": "Zeitüberschreitung bei der Verbindung. Überprüfen Sie Ihr Netzwerk und versuchen Sie es erneut.",
|
||
"vpnTip": "Wenn Sie ein VPN verwenden, stellen Sie sicher, dass die Verbindung stabil ist.",
|
||
"websocketError": "WebSocket-Verbindungsfehler",
|
||
"commandDescriptions": "['Alle Proxmox-Knoten auflisten', 'VMs auf einem Knoten auflisten', 'LXC-Container auf einem Knoten auflisten', 'Speicher auf einem Knoten auflisten', 'Netzwerkschnittstellen auflisten', 'Alle virtuellen QEMU/KVM-Maschinen auflisten', 'Eine virtuelle Maschine starten', 'Eine virtuelle Maschine stoppen', 'Eine virtuelle Maschine sicher herunterfahren', 'VM-Status anzeigen', 'VM-Konfiguration anzeigen', 'Einen VM-Snapshot erstellen', „Alle LXC-Container auflisten“, „Einen LXC-Container starten“, „Einen LXC-Container stoppen“, „Eine LXC-Containerkonsole öffnen“, „Containerkonfiguration anzeigen“, „Speicherstatus anzeigen“, „Speicherinhalte auflisten“, „Proxmox-Systemleistung testen“, „Proxmox VE-Version anzeigen“, „Clusterstatus prüfen“, „Clusterstatus anzeigen“, „Clusterknoten auflisten“, „ZFS-Poolstatus anzeigen“, „Alle ZFS-Pools auflisten“, „Alle ZFS-Datensätze auflisten“, „Alle Dateien mit Details auflisten“, „Verzeichnis ändern“, „Verzeichnis erstellen“, „Verzeichnis rekursiv entfernen“, „Dateien oder Verzeichnisse kopieren“, „Dateien verschieben oder umbenennen“, „Dateiinhalte anzeigen“, „Nach einem Muster in einer Datei suchen“, „Dateien nach Namen suchen“, „Dateiberechtigungen ändern“, „Dateieigentümer ändern“, „Tar.gz-Archiv extrahieren“, „Tar.gz-Archiv erstellen“, „Festplattennutzung anzeigen“, „Verzeichnisgrößen anzeigen“, „Speichernutzung anzeigen“, „Laufende Prozesse anzeigen“, „Laufenden Prozess suchen“, „Prozess beenden“, „Dienststatus prüfen“, „Dienst starten“, „Dienst stoppen“, „Dienst neu starten“, „Debian/Ubuntu-Pakete aktualisieren“, „Debian/Ubuntu-Paket installieren“, „Paket entfernen“, „Laufende Container auflisten“, „Docker-Images auflisten“, „Eine Shell in einem Container öffnen“, „IP-Adressen anzeigen“, „Netzwerkkonnektivität testen“, „HTTP-Header abrufen“, „Eine Datei herunterladen“, „Über SSH verbinden“, „Eine Datei über SSH kopieren“, „Eine Protokolldatei in Echtzeit verfolgen“, „Befehlsverlauf anzeigen“, „Terminalbildschirm löschen“]"
|
||
},
|
||
"scriptTerminal": {
|
||
"processing": "Verarbeitung...",
|
||
"controlSequences": "Kontrollsequenzen",
|
||
"cancelInterrupt": "Abbrechen/Unterbrechen",
|
||
"exitNano": "Ausgang (Nano)",
|
||
"searchHistory": "Suchverlauf",
|
||
"clipboard": "Zwischenablage",
|
||
"copySelection": "Auswahl kopieren",
|
||
"paste": "Paste",
|
||
"connected": "Verbunden",
|
||
"connecting": "Verbinden",
|
||
"disconnected": "Getrennt",
|
||
"online": "Online",
|
||
"connectingStatus": "Verbinden...",
|
||
"offline": "Offline",
|
||
"websocketError": "Es ist ein WebSocket-Fehler aufgetreten",
|
||
"connectionClosed": "Verbindung geschlossen",
|
||
"completedSuccessfully": "Skript erfolgreich abgeschlossen",
|
||
"completedWithError": "Skript mit Fehlercode {code} beendet",
|
||
"yes": "Ja",
|
||
"yourInput": "Ihr Beitrag:",
|
||
"submit": "Einreichen",
|
||
"ok": "OK"
|
||
},
|
||
"apps": {
|
||
"searchPlaceholder": "Search app or CT…",
|
||
"searchAriaLabel": "Search",
|
||
"filterAll": "All categories",
|
||
"filterAriaLabel": "Filter by category",
|
||
"sortAriaLabel": "Sort by",
|
||
"sortName": "Name",
|
||
"sortId": "ID",
|
||
"sortCategory": "Category",
|
||
"countOne": "1 app",
|
||
"countMany": "{n} apps",
|
||
"uncategorized": "Uncategorized",
|
||
"openAriaLabel": "Open {name} in a new tab",
|
||
"openGuestAriaLabel": "{name} öffnen ({type} {id})",
|
||
"emptyTitle": "No apps with a web link yet.",
|
||
"emptyHint": "Register a Web Link for any app (App tab of a CT) to see it here.",
|
||
"customLinkAdd": "Add link",
|
||
"editModeToggle": "Edit",
|
||
"editModeDone": "Done",
|
||
"customLinkNewTitle": "New web link",
|
||
"customLinkEditTitle": "Edit web link",
|
||
"customLinkEditAria": "Benutzerdefinierten Link {name} bearbeiten",
|
||
"customLinkName": "Name",
|
||
"customLinkNamePlaceholder": "e.g. My app",
|
||
"customLinkUrl": "URL",
|
||
"customLinkLogo": "Logo URL (optional)",
|
||
"customLinkLogoPlaceholder": "e.g., https://example.com/logo.webp",
|
||
"customLinkCategory": "Category (optional)",
|
||
"customLinkBinding": "Bound to",
|
||
"customLinkBindingNone": "Not bound to any guest",
|
||
"customLinkBindingHelp": "Bind this link to a VM or CT to add its ID + name to the card and jump to the guest with one click.",
|
||
"customLinkSave": "Save",
|
||
"customLinkCreate": "Create",
|
||
"customLinkCancel": "Cancel",
|
||
"customLinkDelete": "Delete",
|
||
"customLinkSaveError": "Save failed",
|
||
"customLinkDeleteError": "Delete failed"
|
||
},
|
||
"audit": {
|
||
"presentation": {
|
||
"backupAge": "Alter der Sicherung",
|
||
"backupLimit": "Verwendeter Grenzwert",
|
||
"limitDeclared": "Vom Benutzer festgelegte Frist",
|
||
"limitSchedule": "Zeitplan + Toleranz",
|
||
"limitReference": "Referenzfrist",
|
||
"verifiedChecks": "Verifizierte Prüfungen",
|
||
"unverifiedChecks": "Nicht verifizierte Prüfungen",
|
||
"checkName": "Prüfung",
|
||
"verified": "Verifiziert",
|
||
"verificationScope": "Verifizierte anwendbare Prüfungen. Die Abdeckung beschreibt weder den Zustand noch die Sicherheit des Servers.",
|
||
"noApplicable": "Keine anwendbaren Prüfungen in dieser Auswertung.",
|
||
"noJob": "Ohne geplanten Auftrag",
|
||
"guest": "Gast",
|
||
"guests": "Gäste",
|
||
"host": "Host",
|
||
"resource": "Ressource",
|
||
"data": "Daten",
|
||
"metadata": "Metadaten",
|
||
"result": "Ergebnis",
|
||
"fact": "Beobachtung",
|
||
"records": "Einträge",
|
||
"unscheduled": "Gäste ohne geplanten Auftrag",
|
||
"excludedDisks": "ausgeschlossene Datenträger",
|
||
"disks": "Datenträger",
|
||
"destination": "Ziel",
|
||
"lastCopy": "Letzte gespeicherte Sicherung",
|
||
"ageLimit": "Alter / Grenzwert",
|
||
"noDestination": "Kein Ziel konfiguriert",
|
||
"notFound": "Keine Sicherung im untersuchten Umfang gefunden",
|
||
"promiscuous": "Schnittstellen im Promiscuous-Modus",
|
||
"noDescription": "Beschreibung nicht verfügbar",
|
||
"occurrence": "Vorkommen",
|
||
"occurrences": "Vorkommen",
|
||
"detail": "Detail",
|
||
"technical": "Technische Nachweise",
|
||
"annex": "Technischer Anhang",
|
||
"overview": "Ergebnisübersicht",
|
||
"incomplete": "Unvollständige Bewertung",
|
||
"assessment": "Bewertung",
|
||
"noGlobalScore": "Die Ergebnisse beschreiben einzelne Kriterien; es wird keine globale Sicherheitsbewertung berechnet.",
|
||
"coverage": "Abdeckung geplanter Sicherungen",
|
||
"scheduled": "Mit geplantem Auftrag",
|
||
"copyScope": "Ein konfigurierter Auftrag belegt keine gespeicherte oder wiederherstellbare Sicherung.",
|
||
"detailsLink": "Nachweisreferenz",
|
||
"noSubscription": "Kein Abonnement erfasst",
|
||
"otherDevices": "Weitere Geräte in der Gruppe",
|
||
"unversioned": "Version nicht erfasst",
|
||
"notInstalled": "Nicht installiert",
|
||
"noPendingRecorded": "Keine ausstehende Aktualisierung erfasst",
|
||
"originalEvidence": "Originalnachweise der Quelle",
|
||
"evidenceObserved": "Beobachtete Nachweise",
|
||
"evidenceExcerpt": "Kompakte Ansicht. Die vollständigen Quellnachweise bleiben mit dieser Bewertung gespeichert.",
|
||
"annexScope": "Vollständige Quellnachweise für Ergebnisse, die Aufmerksamkeit erfordern, eine Beobachtung festhalten oder nicht geprüft werden konnten.",
|
||
"readOnlyScope": "Die Bewertung ändert keine Konfiguration. Abfragen und bei Bedarf Lynis können Protokolle oder Berichte erzeugen.",
|
||
"capacity": "Kapazität",
|
||
"used": "Belegt",
|
||
"free": "Frei",
|
||
"reasons": {
|
||
"agentNotDeclared": "Kein Gastagent in der Konfiguration deklariert",
|
||
"arcConflictingSettings": "Persistente Einstellungen widersprechen einander",
|
||
"arcMinAboveMax": "Die untere ARC-Grenze liegt über der oberen",
|
||
"arcPendingReboot": "Persistente Einstellung weicht vom geladenen Parameter ab",
|
||
"arrayDegraded": "Läuft mit weniger Geräten als gebaut",
|
||
"arrayNotActive": "Nicht aktiv",
|
||
"arrayRebuilding": "Zu wenige Geräte, im Wiederaufbau",
|
||
"backupRunFailed": "Der Lauf endete mit einem Fehler",
|
||
"backupRunRecovered": "Schlug früher fehl, ein späterer Lauf war erfolgreich",
|
||
"bondNoMembersUp": "Ausgefallen, und kein Mitglied des Bonds ist aktiv",
|
||
"bondRedundancyLost": "Ausgefallen; der Bond behält andere Verbindungen",
|
||
"bootEspMissingNewest": "Trägt nicht den neuesten Kernel, den die anderen tragen",
|
||
"bootEspOutOfSync": "Nicht im Gleichstand mit den anderen: sie würde einen anderen Kernel starten",
|
||
"bootSingleEsp": "Eine Bootpartition konfiguriert",
|
||
"bootToolReported": "Von proxmox-boot-tool gemeldet",
|
||
"cephCheckRaised": "Von Ceph gemeldet",
|
||
"channelIncomplete": "Aktiviert, aber ein Teil der Konfiguration fehlt",
|
||
"clusterInquorate": "Ohne Quorum: Änderungen am Cluster werden abgelehnt",
|
||
"clusterMemberAbsent": "Konfigurierter Knoten, den der Cluster nicht sieht",
|
||
"clusterSingleLink": "Ein einziger Corosync-Link deklariert",
|
||
"dataExcludedFromBackup": "Von der Sicherung des Gastes ausgeschlossene Daten",
|
||
"deliveryFailing": "Jüngste Zustellungen gingen nicht hinaus",
|
||
"destinationUnavailable": "Konfiguriertes Ziel nicht verfügbar",
|
||
"diskErrorsActive": "Fehler innerhalb des Prüfzeitraums aufgezeichnet",
|
||
"diskErrorsPast": "Meldete früher Fehler, keinen im verwendeten Zeitfenster",
|
||
"diskWarningsActive": "Gerätewarnung innerhalb des Prüfzeitraums aufgezeichnet",
|
||
"diskWarningsPast": "Meldete früher Gerätewarnungen, keine im verwendeten Zeitfenster",
|
||
"essentialServiceDown": "Ein Dienst, den Proxmox zum Antworten braucht, ist nicht aktiv",
|
||
"exemptByPolicy": "Als nicht erforderlich erklärt und daher außerhalb der Zählung",
|
||
"expectedButUncovered": "Als sicherungspflichtig erklärt, und kein aktivierter Auftrag wählt ihn aus",
|
||
"expectedToAutostart": "Als mit dem Host startend erklärt, tut es aber nicht",
|
||
"filesystemExhausted": "Kein Speicherplatz mehr frei",
|
||
"filesystemNearlyFull": "Auf oder über der Prüfschwelle für Speicherplatz",
|
||
"filesystemReadOnly": "Der Kernel meldet diesen Mount als schreibgeschützt: er nimmt keine Schreibvorgänge mehr an",
|
||
"haManagerNotReady": "Weder aktiv noch untätig: kann keinen Dienst übernehmen",
|
||
"haNoMaster": "Kein Manager: nichts entscheidet, wo ein Dienst laufen soll",
|
||
"haServiceError": "Im Fehlerzustand und nicht mehr verwaltet",
|
||
"haServiceTransitioning": "Im Übergang",
|
||
"hostArchiveMissing": "Der Auftragseintrag nennt ein Archiv, das nicht mehr gespeichert ist",
|
||
"hostBackupJobFailed": "Der Auftrag endete mit einem Fehler",
|
||
"hostBackupStale": "Älter als die verwendete Altersgrenze",
|
||
"hostBackupUnscheduled": "Gespeichert, ohne Zeitplan für eine weitere Kopie",
|
||
"hostNoRetrievableCopy": "Keine Kopie, über die diese Prüfung noch Auskunft geben kann",
|
||
"indexesStale": "Die Paketindizes wurden zuletzt nicht kürzlich aktualisiert",
|
||
"inodesExhausted": "Keine Inodes mehr frei",
|
||
"inodesNearlyExhausted": "Auf oder über der Prüfschwelle für Inodes",
|
||
"kernelAwaitingReboot": "Installiert und nicht der laufende Kernel",
|
||
"lynisReportStale": "Der Lynis-Bericht ist {days} Tag(e) alt, älter als das verwendete Referenzalter",
|
||
"lynisWarning": "Von der Lynis-Prüfung erfasst",
|
||
"multipathNoPath": "Kein Pfad mehr",
|
||
"multipathPathDown": "Bedient über weniger Pfade",
|
||
"noAutostart": "Startet nicht mit dem Host",
|
||
"noConfigurationReference": "Kein Verweis in den geprüften Konfigurationen",
|
||
"noJobSelectsGuest": "Kein aktivierter Sicherungsauftrag wählt ihn aus",
|
||
"noPhysicalPort": "Führt keinen physischen Port",
|
||
"noStoredBackup": "Keine gespeicherte Sicherung gefunden",
|
||
"noStoredBackupUnscheduled": "Kein geplanter Auftrag; keine Sicherung gefunden",
|
||
"olderThanFallback": "Die Sicherung überschreitet die Referenzfrist.",
|
||
"olderThanObjective": "Die Sicherung überschreitet die vom Benutzer festgelegte Frist.",
|
||
"olderThanSchedule": "Die Sicherung überschreitet das geplante Intervall einschließlich Toleranz.",
|
||
"overprovisioned": "Vergibt mehr virtuelle Kapazität, als der Pool besitzt",
|
||
"packageAwaitingRestart": "Installiert und fordert einen Neustart",
|
||
"pastServiceLife": "Über der zur Planung verwendeten Lebensdauerschwelle",
|
||
"pinnedToHostCpu": "An das Prozessormodell des Hosts gebunden",
|
||
"poolDeviceErrors": "Gerät zählt Lese-, Schreib- oder Prüfsummenfehler",
|
||
"poolNotOnline": "Nicht online",
|
||
"rebootMarkerWithoutPackages": "Etwas hat den Neustart-Marker geschrieben, ohne ein Paket zu nennen",
|
||
"recoveryKeyLocalOnly": "Backup-Verschlüsselungsschlüssel nur auf diesem Knoten, gemäß hinterlegtem Verwahrungsmodus",
|
||
"replicationDisabled": "Pausiert",
|
||
"replicationFailing": "Der letzte Lauf meldete einen Fehler",
|
||
"replicationNeverRan": "Hat noch nie eine Synchronisierung abgeschlossen",
|
||
"replicationOverdue": "Älter, als der eigene Kalender des Auftrags zulässt",
|
||
"retentionNotDeclared": "Keine Aufbewahrung erklärt; jede Kopie bleibt erhalten",
|
||
"retentionOnServer": "Wird auf dem Sicherungsserver bereinigt, unter Aufträgen, die dieser Knoten nicht lesen kann",
|
||
"runsPrivileged": "Läuft privilegiert und teilt den Benutzernamensraum des Hosts",
|
||
"scrubOverdue": "Letzter abgeschlossener Scrub älter als die Prüfschwelle",
|
||
"storageNearlyFull": "Auf oder über der Kapazitätsschwelle zur Prüfung",
|
||
"storageUnreachable": "Nicht erreichbar",
|
||
"thinDataPressure": "Geschriebene Daten nahe der Kapazität des Pools",
|
||
"thinMetadataPressure": "Metadaten fast voll, was den Pool schreibgeschützt macht",
|
||
"unitFailed": "systemd hat die Wiederholungsversuche eingestellt",
|
||
"verificationFailedOnly": "Die Prüfung las die neueste Kopie und sie war nicht intakt; keine andere Kopie dieses Gasts wurde geprüft",
|
||
"verificationFailedWithFallback": "Die Prüfung las die neueste Kopie und sie war nicht intakt; eine frühere Kopie wurde geprüft",
|
||
"verificationNotRun": "Kein Prüfauftrag hat diese Kopie zurückgelesen"
|
||
},
|
||
"lynisTest": "Test",
|
||
"lynisWarning": "Warnung",
|
||
"couldNotRead": "Nicht lesbar"
|
||
},
|
||
"title": "Audit & Report",
|
||
"loading": "Loading assessment…",
|
||
"run": "Run assessment",
|
||
"running": "Assessing…",
|
||
"neverRun": "This host has not been assessed yet.",
|
||
"lastRun": "Last assessed on {when}",
|
||
"stale": "{days} days ago",
|
||
"readOnlyNotice": "The assessment only reads the host. It makes no changes.",
|
||
"unverifiedChecks": "Nicht erhoben: {checks}. Jede nennt in ihrer Evidenz, was sie nicht lesen konnte.",
|
||
"noFindings": "No findings match the current filter.",
|
||
"affectedCount": "{count} affected",
|
||
"acceptedNotice": "{count} accepted risk(s) recorded on this host.",
|
||
"states": {
|
||
"fail": "Failed",
|
||
"warn": "Warning",
|
||
"accepted": "Accepted risk",
|
||
"pass": "Passed",
|
||
"not_applicable": "Not applicable",
|
||
"unknown": "Nicht geprüft"
|
||
},
|
||
"areas": {
|
||
"all": "All",
|
||
"system": "System",
|
||
"storage": "Storage",
|
||
"network": "Network",
|
||
"security": "Security",
|
||
"backup": "Backup",
|
||
"guests": "Guests",
|
||
"hardware": "Hardware"
|
||
},
|
||
"detail": {
|
||
"why": "Context",
|
||
"evidence": "Evidence",
|
||
"affected": "Affected",
|
||
"acceptedRisk": "Accepted risk",
|
||
"sources": "Quellen und Erfassungszeitpunkte"
|
||
},
|
||
"errors": {
|
||
"runFailed": "The assessment could not be started."
|
||
},
|
||
"checks": {
|
||
"backup": {
|
||
"guest_coverage": {
|
||
"title": "Backup coverage",
|
||
"rationale": "Aktivierte Sicherungsaufträge auf diesem Knoten, die von jedem ausgewählten Gäste und die davon ausgeschlossenen Gastdaten. Eine konfigurierte Abdeckung belegt nicht, dass eine verwendbare Sicherung existiert. Ob ein nicht ausgewählter Gast geschützt werden sollte, ergibt sich aus der erklärten Richtlinie.",
|
||
"summary": {
|
||
"noJobs": "Für die {total} Gäste dieses Knotens ist kein Sicherungsauftrag definiert",
|
||
"covered": "Alle {total} Gäste werden von einem aktivierten Sicherungsauftrag ausgewählt",
|
||
"uncovered": "{count} von {total} Gästen werden von keinem aktivierten Sicherungsauftrag ausgewählt",
|
||
"excludedData": "{count} Datenträger- oder Mountpoint-Ausschlüsse prüfen",
|
||
"uncoveredExpected": "{required} Gäste, für die eine Sicherung erklärt wurde, wählt kein aktivierter Auftrag aus",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"last_backup_age": {
|
||
"title": "Age of stored backups",
|
||
"rationale": "Alter: vergangene Zeit seit der letzten gespeicherten Sicherung. Verwendeter Grenzwert: das Referenzalter, mit dem diese Sicherung verglichen wird.",
|
||
"summary": {
|
||
"recent": "Alle {total} Gast-/Zielprüfungen erfüllen die angegebene Altersrichtlinie",
|
||
"stale": "{count} of {total} guests have no backup from the last 30 days",
|
||
"noBackups": "No stored backup matches a guest on this node",
|
||
"attention": "{count} von {total} Gast-/Zielprüfungen erfordern eine Überprüfung",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"retention_defined": {
|
||
"title": "Backup retention",
|
||
"rationale": "Die Aufbewahrung, wie Proxmox sie auflöst: Einstellung des Auftrags, dann des Speichers, dann der Knotenstandard. Aufbewahrung, die ein Sicherungsserver anwendet, ist von diesem Knoten aus nicht lesbar.",
|
||
"summary": {
|
||
"allDefined": "Alle {total} Aufträge lösen eine Aufbewahrungseinstellung auf",
|
||
"missing": "{count} of {total} enabled job(s) declare no retention",
|
||
"notDeclared": "{count} von {total} Aufträgen behalten jede Kopie: für sie ist keine Aufbewahrung erklärt",
|
||
"onServer": "{count} von {total} Aufträgen schreiben auf einen Sicherungsserver, der sie mit eigenen Aufträgen bereinigt",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"verification_state": {
|
||
"title": "Sicherungsprüfung",
|
||
"rationale": "Das Prüfergebnis, das Proxmox Backup Server für die neueste Kopie jedes Gasts festhält, und ob eine frühere Kopie desselben Gasts geprüft wurde. Die Prüfung liest eine gespeicherte Kopie zurück; sie ist keine Wiederherstellung.",
|
||
"summary": {
|
||
"allVerified": "Die neueste Kopie aller {total} Gäste wurde als unversehrt geprüft",
|
||
"failed": "{failed} neueste Kopien bestanden die Prüfung nicht, von {total} untersuchten",
|
||
"notVerified": "{pending} von {total} neuesten Kopien wurden nicht geprüft",
|
||
"evaluationFailed": "Der Prüfstatus war nicht lesbar"
|
||
}
|
||
},
|
||
"job_results": {
|
||
"title": "Ergebnisse der Sicherungsläufe",
|
||
"rationale": "Wie der jüngste aufgezeichnete Lauf jedes Gasts endete, aus dem Aufgabenprotokoll des Knotens. Nur der letzte Lauf wird bewertet. Das Protokoll wird begrenzt aufbewahrt.",
|
||
"summary": {
|
||
"allSucceeded": "Alle {total} aufgezeichneten Sicherungsläufe endeten fehlerfrei",
|
||
"someFailed": "{count} von {total} aufgezeichneten Sicherungsläufen endeten mit einem Fehler",
|
||
"evaluationFailed": "Das Aufgabenprotokoll war nicht lesbar",
|
||
"recovered": "{count} von {total} Gästen schlugen in einem früheren Lauf fehl und waren seither erfolgreich"
|
||
}
|
||
},
|
||
"host_recovery": {
|
||
"title": "Wiederherstellung des Hosts",
|
||
"rationale": "Host-Backups, wie ProxMenux sie aufzeichnet: jeder ausgeführte Auftrag, wann, ob erfolgreich, das Ziel und ob diese Kopie noch dort liegt. Ein Auftrag auf einen Backup-Server nennt keinen lokalen Pfad. Verschlüsselungsschlüssel werden nur nach Anzahl und hinterlegtem Verwahrungsmodus genannt.",
|
||
"summary": {
|
||
"noHostBackup": "Es ist kein Backup der Host-Konfiguration gespeichert und kein Timer erzeugt eines",
|
||
"protected": "Die Konfiguration des Knotens selbst liegt in {total} Archiv(en) innerhalb der verwendeten Altersgrenze",
|
||
"attention": "{count} Feststellung(en) zu {total} Einträgen der Host-Konfiguration",
|
||
"scheduledOnly": "Backups der Host-Konfiguration sind über {count} Timer geplant; lokal ist kein Archiv gespeichert"
|
||
}
|
||
}
|
||
},
|
||
"system": {
|
||
"pending_reboot": {
|
||
"title": "Restart state",
|
||
"rationale": "Der Marker `/var/run/reboot-required` und die in `/var/run/reboot-required.pkgs` gelisteten Pakete. Sein Fehlen beweist nicht, dass nichts neu gestartet werden muss.",
|
||
"summary": {
|
||
"none": "Nichts hat einen Neustart angefordert",
|
||
"pending": "{count} Elemente sind installiert und warten auf einen Neustart",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"enterprise_repo_without_subscription": {
|
||
"title": "Enterprise repository",
|
||
"rationale": "Verweise auf `enterprise.proxmox.com` in `/etc/apt/sources.list` und `sources.list.d`, gegenüber dem Status aus `pvesubscription get`.",
|
||
"summary": {
|
||
"notEnabled": "The enterprise repository is not enabled",
|
||
"subscribed": "The enterprise repository is backed by a subscription",
|
||
"unsubscribed": "The enterprise repository is enabled without an active subscription",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"memory_overcommit": {
|
||
"title": "Memory allocation",
|
||
"rationale": "Die `memory`-Obergrenze jeder Gastkonfiguration gegenüber MemTotal, laufende Gäste getrennt gezählt. Container verbrauchen bis zu dieser Grenze; virtuelle Maschinen ohne Ballooning reservieren sie.",
|
||
"summary": {
|
||
"withinRatio": "Guests are allocated {percent}% of host memory",
|
||
"aboveRatio": "Guests are allocated {percent}% of host memory",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"time_synchronisation": {
|
||
"title": "Time synchronisation",
|
||
"rationale": "NTP und NTPSynchronized, wie `timedatectl` sie meldet. Clusterzugehörigkeit, Zertifikatsprüfung und Protokollreihenfolge hängen von übereinstimmenden Uhren ab. Ein anderer Mechanismus kann die Uhr führen.",
|
||
"summary": {
|
||
"synchronised": "The clock is synchronised with a time source",
|
||
"disabled": "Time synchronisation is disabled",
|
||
"notSynchronised": "Time synchronisation is enabled but the clock is not synchronised",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"kernel_current": {
|
||
"title": "Running kernel",
|
||
"rationale": "Der laufende Kernel gegenüber dem, den der Host als Nächstes starten würde, wie `proxmox-boot-tool` ihn meldet. Ein lediglich installierter neuerer Kernel kann bewusst zurückgehalten sein; ein Unterschied nach einem Neustart bedeutet einen Start, der nicht griff.",
|
||
"summary": {
|
||
"current": "Der laufende Kernel {version} ist der, den der Host als Nächstes starten würde",
|
||
"newerAvailable": "The host runs {running} while {newest} is installed",
|
||
"newerSelected": "Der Host führt {running} aus und würde beim nächsten Neustart {selected} starten",
|
||
"wouldDowngrade": "Der Host führt {running} aus, würde beim nächsten Neustart aber das ältere {selected} starten",
|
||
"bootTargetUnknown": "Der Host führt {version} aus; der für den nächsten Start gewählte Kernel war nicht lesbar",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"security_updates": {
|
||
"title": "Security updates",
|
||
"rationale": "Ausstehende Pakete, deren Quelle ein Sicherheits-Repository ist, aus einem simulierten `apt-get upgrade`. Die Zahl gibt wieder, was apt meldet, nicht die Schwere dessen, was jedes Paket behebt.",
|
||
"summary": {
|
||
"none": "No package updates are pending",
|
||
"noSecurity": "{total} update(s) pending, none from a security repository",
|
||
"pending": "{count} of {total} pending update(s) come from a security repository",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"journal_size": {
|
||
"title": "Journal size",
|
||
"rationale": "Das Journal auf der Platte gegenüber der für es geltenden Obergrenze: SystemMaxUse, sofern gesetzt, sonst der journald-Standard von einem Zehntel des Dateisystems, auf dem es liegt.",
|
||
"summary": {
|
||
"bounded": "Das Journal belegt {size} und bleibt unter seiner wirksamen Obergrenze",
|
||
"large": "The journal holds {size} on disk",
|
||
"nearCap": "Das Journal belegt {size} und liegt bei {percent}% seiner wirksamen Obergrenze",
|
||
"capUnknown": "Das Journal belegt {size}; die wirksame Obergrenze war nicht zu ermitteln",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"swap_configured": {
|
||
"title": "Swap",
|
||
"rationale": "Aktive Auslagerungsbereiche laut `swapon` und deren Summe gegenüber dem Hostspeicher. Kein Verhältnis zum Arbeitsspeicher ist irgendwo vorgeschrieben; Speicherdruck wird an anderer Stelle gemessen.",
|
||
"summary": {
|
||
"active": "{size} of swap is active",
|
||
"none": "No swap area is active",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"filesystem_capacity": {
|
||
"title": "Kapazität der Host-Dateisysteme",
|
||
"rationale": "Speicherplatz und Inodes der Dateisysteme, die der Host selbst braucht: Wurzeldateisystem, /var, /var/log und der Pfad des lokalen Speichers. Ein Dateisystem mit freiem Platz und ohne Inodes fällt genauso aus wie ein volles.",
|
||
"summary": {
|
||
"withinLimits": "Die {total} Host-Dateisysteme liegen unter ihren Prüfschwellen",
|
||
"pressure": "{count} Messwerte liegen auf oder über ihrer Prüfschwelle",
|
||
"evaluationFailed": "Die Belegung der Dateisysteme war nicht lesbar"
|
||
}
|
||
},
|
||
"update_chain": {
|
||
"title": "Alter der APT-Paketindizes",
|
||
"rationale": "Wann APT zuletzt einen Paketindex auf diesem Host abgelegt hat. Ein Repository, das „nicht geändert\" antwortet, lässt seinen Index unberührt. Die Erreichbarkeit der Repositories wird nicht geprüft.",
|
||
"summary": {
|
||
"current": "Die Paketindizes wurden vor {days} Tag(en) aktualisiert",
|
||
"stale": "Die Paketindizes wurden zuletzt vor {days} Tag(en) aktualisiert",
|
||
"indexAgeUnknown": "Das Alter der Paketindizes war nicht zu bestimmen"
|
||
}
|
||
},
|
||
"notification_delivery": {
|
||
"title": "Letztes Benachrichtigungsergebnis",
|
||
"rationale": "Aktivierte Kanäle und ihr jeweils letztes gespeichertes Zustellergebnis. Ohne Verlauf bleibt die Zustellung ungeprüft; ein früherer Fehler mit anschließendem Erfolg gilt nicht als aktueller Fehler. Es wird keine Testbenachrichtigung gesendet.",
|
||
"summary": {
|
||
"delivering": "Die letzte protokollierte Zustellung war bei allen {total} aktivierten Kanälen erfolgreich",
|
||
"failing": "{count} von {total} aktivierten Kanälen haben ein Konfigurationsproblem oder einen Fehler bei der letzten Zustellung",
|
||
"noChannels": "Kein Benachrichtigungskanal ist aktiviert",
|
||
"evaluationFailed": "Der Zustellverlauf war nicht lesbar"
|
||
}
|
||
},
|
||
"cluster_quorum": {
|
||
"title": "Cluster-Quorum",
|
||
"rationale": "Das Quorum, wie der Cluster es meldet, die konfigurierten Knoten gegenüber den derzeit gesehenen und die Anzahl deklarierter Corosync-Links. Die Links werden aus der Konfiguration gelesen, nicht geprüft.",
|
||
"summary": {
|
||
"standalone": "Dieser Knoten gehört zu keinem Cluster",
|
||
"quorate": "Der Cluster hat Quorum mit {total} konfigurierten Knoten über {links} Corosync-Link(s)",
|
||
"attention": "{count} Feststellung(en) zu {total} konfigurierten Knoten",
|
||
"evaluationFailed": "Der Cluster-Status konnte nicht gelesen werden"
|
||
}
|
||
},
|
||
"boot_loader": {
|
||
"title": "Bootloader",
|
||
"rationale": "Die EFI-Systempartitionen, die proxmox-boot-tool meldet, und die Kernel, die jede trägt. Keine Partition wird eingehängt und kein Start versucht.",
|
||
"summary": {
|
||
"synchronised": "Die {total} Bootpartitionen tragen dieselben Kernel",
|
||
"attention": "{count} von {total} Bootpartitionen bedürfen der Prüfung",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"failed_units": {
|
||
"title": "Wesentliche Dienste und fehlgeschlagene Units",
|
||
"rationale": "Units, die systemd nach erschöpften Neustarts aufgegeben hat, und die Dienste, die Proxmox überhaupt zum Antworten braucht, namentlich gelesen, weil ein inaktiver Dienst nicht immer als fehlgeschlagen gilt. Was eine Unit tut, wird hier nicht ausgelegt.",
|
||
"summary": {
|
||
"allRunning": "Die {total} wesentlichen Dienste sind aktiv und keine Unit ist fehlgeschlagen",
|
||
"attention": "{count} Feststellung(en) unter den Units",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"ha_state": {
|
||
"title": "Hochverfügbarkeit",
|
||
"rationale": "Der HA-Master, der Ressourcenmanager jedes Knotens und der Zustand jedes verwalteten Dienstes, aus `ha-manager status`. Über das Quorum berichtet die Cluster-Prüfung. Kein Dienst wird gestartet, gestoppt oder migriert.",
|
||
"summary": {
|
||
"managed": "Die {total} verwalteten Dienste sind auf {nodes} Knoten in einem gesetzten Zustand",
|
||
"attention": "{count} Feststellung(en) zu {total} verwalteten Diensten",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
}
|
||
},
|
||
"guests": {
|
||
"privileged_containers": {
|
||
"title": "Container privileges",
|
||
"rationale": "Die Einstellung `unprivileged` jeder Containerkonfiguration. Ihr Fehlen bedeutet, dass der Container den Benutzernamensraum des Hosts teilt, was manche Arbeitslasten benötigen.",
|
||
"summary": {
|
||
"allUnprivileged": "All {total} containers are unprivileged",
|
||
"privileged": "{count} of {total} containers run privileged",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"qemu_without_agent": {
|
||
"title": "Guest agent on virtual machines",
|
||
"rationale": "Die Einstellung `agent` in jeder Konfiguration einer virtuellen Maschine. Die Einstellung besagt, dass der Agent deklariert ist, nicht dass er antwortet.",
|
||
"summary": {
|
||
"allHaveAgent": "All {total} virtual machines declare the guest agent",
|
||
"missingAgent": "{count} of {total} virtual machines do not declare the guest agent",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"autostart": {
|
||
"title": "Automatic start",
|
||
"rationale": "Die Einstellung `onboot` jedes Gastes, ohne Vorlagen und von HA verwaltete Gäste. Ob ein Gast von selbst zurückkehren soll, ergibt sich aus der erklärten Richtlinie.",
|
||
"summary": {
|
||
"allAutostart": "All {total} guests start with the host",
|
||
"notAutostart": "{count} of {total} guests do not start with the host",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"stuck_snapshots": {
|
||
"title": "Snapshot state",
|
||
"rationale": "Zustand und Alter der Snapshots sowie aktive Aufgaben. Ein kürzlicher oder undatierter Vorgang gilt nicht als unterbrochen.",
|
||
"summary": {
|
||
"noSnapshots": "No guest holds snapshots",
|
||
"allComplete": "The {total} snapshot(s) are complete",
|
||
"stuck": "{count} of {total} snapshot(s) were left mid-operation",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"cpu_host_type": {
|
||
"title": "Virtual CPU model",
|
||
"rationale": "Der Wert `cpu` jeder virtuellen Maschine. `host` gibt den Funktionsumfang des physischen Prozessors weiter, was die Knoten einschränkt, auf die der Gast migrieren kann. Unverträglichkeit mit einem bestimmten Ziel wird hier nicht ermittelt.",
|
||
"summary": {
|
||
"none": "None of the {total} virtual machines is pinned to the host processor",
|
||
"pinned": "{count} of {total} virtual machines are pinned to the host processor",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"replication_state": {
|
||
"title": "Replication",
|
||
"rationale": "Replikationsaufträge aus der API: Fehlerzahl, letzter Fehler, letzte Synchronisierung und der Kalender, den jeder Auftrag angibt. Pausierte Aufträge werden als solche ausgewiesen.",
|
||
"summary": {
|
||
"healthy": "The {total} replication job(s) report no error",
|
||
"failing": "{count} of {total} replication job(s) report an error",
|
||
"statusUnavailable": "Replication jobs are defined but their status could not be read",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
}
|
||
},
|
||
"security": {
|
||
"host_firewall_enabled": {
|
||
"title": "Konfigurierte Firewall-Aktivierung",
|
||
"rationale": "Die Option `enable` in der Firewall des Rechenzentrums und in der des Knotens sowie die Anzahl geschriebener Regeln. Proxmox wendet die Regeln des Knotens nur bei eingeschaltetem Rechenzentrums-Schalter an. Diese Optionen sagen nicht, was eine Regel filtert.",
|
||
"summary": {
|
||
"bothEnabled": "Die Firewall-Aktivierung ist auf Datacenter- und Knotenebene konfiguriert",
|
||
"datacenterOff": "Die Firewall ist auf Datacenter-Ebene deaktiviert; Knotenregeln werden daher nicht angewendet",
|
||
"nodeOff": "Die Firewall ist auf Datacenter-Ebene aktiviert, aber nicht auf diesem Knoten",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"lynis_warnings": {
|
||
"title": "Lynis warnings",
|
||
"rationale": "Warnungen der letzten Lynis-Prüfung, jeweils mit Test-Kennung, und das Alter dieser Prüfung. Eine Prüfung läuft nur, wenn Lynis installiert ist und kein vollständiger Bericht vorliegt. Vorschläge sind nicht enthalten.",
|
||
"summary": {
|
||
"none": "The last Lynis audit recorded no warnings",
|
||
"found": "The last Lynis audit recorded {count} warning(s)",
|
||
"incomplete": "The Lynis report is incomplete",
|
||
"evaluationFailed": "The check could not be evaluated",
|
||
"noneStale": "Die letzte Lynis-Prüfung verzeichnete keine Warnungen, und ihr Bericht ist {days} Tag(e) alt",
|
||
"foundStale": "Die letzte Lynis-Prüfung verzeichnete {count} Warnung(en), und ihr Bericht ist {days} Tag(e) alt"
|
||
}
|
||
},
|
||
"certificate_expiry": {
|
||
"title": "Certificate validity",
|
||
"rationale": "Das Ablaufdatum des Zertifikats, das pveproxy aus /etc/pve/local ausliefert. Ein eigenes Zertifikat hat Vorrang vor dem von Proxmox erzeugten.",
|
||
"summary": {
|
||
"valid": "The certificate is valid for {days} more day(s)",
|
||
"expiring": "The certificate expires in {days} day(s)",
|
||
"expired": "The certificate expired {days} day(s) ago",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"ssh_root_login": {
|
||
"title": "SSH root access",
|
||
"rationale": "PermitRootLogin in der effektiven `sshd -T`-Konfiguration samt den kombinierten Authentifizierungsmethoden. Proxmox liefert `yes` aus, was ein Passwort zulässt.",
|
||
"summary": {
|
||
"password": "Root may sign in over SSH with a password",
|
||
"keyOnly": "Root may sign in over SSH with a key only",
|
||
"denied": "Root may not sign in over SSH",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
}
|
||
},
|
||
"storage": {
|
||
"orphaned_volumes": {
|
||
"title": "Volume assignment",
|
||
"rationale": "Gastvolumes auf lokalem Speicher gegenüber den Verweisen in aktuellen, ausstehenden und Snapshot-Konfigurationen. Sicherungen, ISOs und Vorlagen bleiben außerhalb des Vergleichs. Ein Volume ohne Verweis ist ein Kandidat zur Prüfung.",
|
||
"summary": {
|
||
"none": "No orphaned volumes were found",
|
||
"found": "{count} Volumes ohne Verweis in den geprüften Konfigurationen",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"zfs_arc_max": {
|
||
"title": "ZFS ARC limit",
|
||
"rationale": "Effektive Werte von c_min, c_max und ARC-Größe, der geladene Modulparameter und die persistenten Einstellungen in /etc/modprobe.d. Ein konfigurierter Wert von null wählt den Modulstandard; der ARC ist eine Obergrenze, und der belegte Speicher ist rückgewinnbar.",
|
||
"summary": {
|
||
"bounded": "Die ARC-Grenze liegt bei {percent}% des Hostspeichers, und der belegte Speicher ist rückgewinnbar",
|
||
"high": "The ARC may use {percent}% of host memory",
|
||
"unset": "The ARC has no explicit limit set",
|
||
"conflicting": "{count} ARC-Einstellungen widersprechen einander",
|
||
"pending": "Eine persistente ARC-Einstellung weicht vom Wert des laufenden Moduls ab",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"zfs_scrub_age": {
|
||
"title": "ZFS scrub",
|
||
"rationale": "Der letzte abgeschlossene Scrub, den `zpool status` je Pool meldet. Ein Resilver ist kein Scrub. Ein kürzlich erstellter Pool hatte noch keine Gelegenheit dazu.",
|
||
"summary": {
|
||
"recent": "The {total} pool(s) were scrubbed within the last 35 days",
|
||
"overdue": "{count} of {total} pool(s) have not been scrubbed in 35 days",
|
||
"neverScrubbed": "{count} pool(s) record no scrub",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"thin_pool_overprovisioning": {
|
||
"title": "Thin pool allocation",
|
||
"rationale": "Virtuelle Kapazität, die jeder LVM-Thin-Pool vergibt, gegenüber seiner eigenen Größe, sowie der tatsächlich geschriebene Anteil, Daten und Metadaten getrennt.",
|
||
"summary": {
|
||
"withinRatio": "Die {total} Thin-Pools liegen unter den angewendeten Prüfgrenzen",
|
||
"aboveRatio": "{count} von {total} Thin-Pools vergeben mehr Kapazität, als sie besitzen",
|
||
"pressure": "{pressure} von {total} Thin-Pools füllen ihre Daten oder Metadaten fast aus",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"connected_storage": {
|
||
"title": "Verbundene Speicher",
|
||
"rationale": "Verfügbarkeit, wie PVE sie meldet, bekannte Kapazität und aktuelle Abhängigkeiten aller auf diesem Knoten aktivierten Speicher. Entfernte Interna werden nicht geprüft und Schreibzugriff nicht getestet. Die Kapazität wird genannt, wo PVE sie kennt, und bleibt sonst leer.",
|
||
"summary": {
|
||
"available": "PVE meldet alle {total} Speicher als verfügbar; interne Remote-Komponenten und Schreibzugriff wurden nicht geprüft",
|
||
"attention": "{count} von {total} Speichern müssen geprüft werden",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"pool_integrity": {
|
||
"title": "Integrität und Redundanz der Pools",
|
||
"rationale": "Der Zustand jedes ZFS-Pools und die Lese-, Schreib- und Prüfsummenzähler seiner Geräte. Die Zähler sind kumulativ seit dem letzten `zpool clear`.",
|
||
"summary": {
|
||
"healthy": "Alle {total} Pools sind online, ohne erfasste Gerätefehler",
|
||
"degraded": "{count} Befunde in {total} Pools",
|
||
"evaluationFailed": "Der Pool-Zustand war nicht lesbar"
|
||
}
|
||
},
|
||
"ceph_health": {
|
||
"title": "Ceph-Zustand",
|
||
"rationale": "Cephs eigener Gesundheitsstatus und die von ihm benannten Prüfungen. Seine Tests werden nicht neu umgesetzt und kein Pool, keine Placement-Gruppe und kein OSD separat abgefragt.",
|
||
"summary": {
|
||
"healthy": "Ceph meldet HEALTH_OK",
|
||
"degraded": "Ceph meldet {state}, mit {count} benannten Prüfung(en)",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"array_integrity": {
|
||
"title": "Software-RAID und Multipath",
|
||
"rationale": "mdadm-Arrays und Multipath-Maps, gelesen aus /proc/mdstat und, wo das Werkzeug installiert ist, aus `multipath -ll`. ZFS-Pools meldet ihre eigene Prüfung.",
|
||
"summary": {
|
||
"intact": "Die {total} Arrays und Maps halten ihre Redundanz",
|
||
"degraded": "{count} von {total} Arrays oder Maps fehlt sie",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
}
|
||
},
|
||
"hardware": {
|
||
"disk_service_life": {
|
||
"title": "Disk service life",
|
||
"rationale": "Betriebsstunden und verbleibende Abnutzung aus den SMART-Werten des Monitors, mit dem Datum jeder Messung. Das Alter ist Planungsinformation; Medienfehler und Gerätewarnungen meldet die Zustandsüberwachung.",
|
||
"summary": {
|
||
"withinLife": "Die {total} Datenträgermessungen liegen unter der Fünfjahresschwelle",
|
||
"pastLife": "{count} von {total} Datenträgermessungen liegen über fünf Betriebsjahren",
|
||
"noReadings": "Keine Festplatte meldet verwertbare SMART-Werte ({skipped} ohne Messwerte)",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"disk_errors": {
|
||
"title": "Festplattenfehler",
|
||
"rationale": "Auf den Datenträgern erkannte und vom Health-Monitor aufgezeichnete Fehler.",
|
||
"summary": {
|
||
"recorded": "{count} von {total} Datenträgern mit Eintrag haben vermerkte Ereignisse",
|
||
"noEvents": "Kein Festplattenereignis mehr zu bewerten: keines aufgezeichnet oder alle verworfen"
|
||
}
|
||
}
|
||
},
|
||
"network": {
|
||
"bond_members": {
|
||
"title": "Bond members",
|
||
"rationale": "Der MII-Status jedes Bond-Mitglieds aus /proc/net/bonding und wie viele Verbindungen bleiben. In active-backup meldet sich ein Reservemitglied als aktiv und überträgt nichts.",
|
||
"summary": {
|
||
"allUp": "All members of the {total} bond(s) are up",
|
||
"membersDown": "{count} bond member(s) are not up",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"bridge_without_ports": {
|
||
"title": "Bridge ports",
|
||
"rationale": "Die Portkonfiguration jeder Bridge. Eine Bridge ohne physischen Port bedient ein internes oder geroutetes Netz.",
|
||
"summary": {
|
||
"allConnected": "The {total} bridge(s) carry a port",
|
||
"isolated": "{count} of {total} bridge(s) carry no port",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"summaryFallback": "The check could not be evaluated",
|
||
"acceptRisk": {
|
||
"action": "Accept risk",
|
||
"revoke": "Return to active",
|
||
"title": "Accept this risk",
|
||
"reasonLabel": "Reason",
|
||
"reasonHelp": "Required. It is recorded together with the author and the date.",
|
||
"reasonPlaceholder": "e.g. Lab containers, not covered on purpose",
|
||
"expiryLabel": "Review after",
|
||
"expiryHelp": "When the period ends the finding becomes active again.",
|
||
"expiryNever": "Does not expire",
|
||
"expiry90": "90 days",
|
||
"expiry180": "180 days",
|
||
"expiry365": "1 year",
|
||
"cancel": "Cancel",
|
||
"confirm": "Accept risk"
|
||
},
|
||
"incomplete": "Unvollständige Nachweise",
|
||
"progress": "{completed} von {total} geprüft",
|
||
"expires": "Läuft ab: {when}",
|
||
"runStates": {
|
||
"partial": "Die Prüfung lief durch; einige Messungen waren nicht möglich.",
|
||
"failed": "Bewertung unterbrochen oder fehlgeschlagen. Prüfen Sie die Nachweise vor der Verwendung."
|
||
},
|
||
"severities": {
|
||
"CRITICAL": "Kritisch",
|
||
"WARNING": "Warnung",
|
||
"INFO": "Information",
|
||
"OK": "OK"
|
||
},
|
||
"viewSwitch": {
|
||
"ariaLabel": "Switch between assessment and inventory",
|
||
"assessment": "Assessment",
|
||
"inventory": "Inventory",
|
||
"policy": "Richtlinie",
|
||
"changes": "Änderungen"
|
||
},
|
||
"inventory": {
|
||
"loading": "Loading inventory…",
|
||
"failed": "The inventory could not be composed.",
|
||
"collectedAt": "Composed on {when}",
|
||
"unavailable": "Not read in this inventory",
|
||
"unresolved": "path not resolved",
|
||
"noUplink": "no uplink",
|
||
"identity": "Node identity",
|
||
"node": "Node",
|
||
"pveVersion": "Proxmox VE",
|
||
"kernel": "Kernel",
|
||
"subscription": "Subscription",
|
||
"cluster": "Cluster",
|
||
"standalone": "Not in a cluster",
|
||
"hardware": "Hardware",
|
||
"system": "System",
|
||
"serial": "Serial number",
|
||
"bios": "BIOS",
|
||
"cpu": "Processor",
|
||
"topology": "Layout",
|
||
"cpuLayout": "{sockets} socket(s) × {cores} cores = {threads} threads",
|
||
"virtualisation": "Virtualisation",
|
||
"memory": "Memory",
|
||
"iommuGroups": "IOMMU groups",
|
||
"network": "Network",
|
||
"storage": "Storage",
|
||
"name": "Name",
|
||
"type": "Type",
|
||
"content": "Content",
|
||
"shared": "Shared",
|
||
"yes": "Yes",
|
||
"no": "No",
|
||
"guests": "Guests",
|
||
"ostype": "Operating system",
|
||
"onboot": "Starts with host",
|
||
"tags": "Tags",
|
||
"privilege": "Privilege",
|
||
"privileged": "Privileged",
|
||
"unprivileged": "Unprivileged",
|
||
"features": "Features",
|
||
"agent": "Guest agent",
|
||
"cpuModel": "CPU model",
|
||
"disks": "Disks",
|
||
"interfaces": "Network interfaces",
|
||
"protection": "Backup",
|
||
"passthrough": "Passthrough",
|
||
"noBackup": "No backup",
|
||
"noBackupDetail": "No enabled backup job selects this guest.",
|
||
"applications": "Applications",
|
||
"versionUnknown": "version not detected",
|
||
"passthroughTitle": "PCI passthrough",
|
||
"iommuGroup": "IOMMU group {group}",
|
||
"sharedGroup": "{count} more device(s) in the same group",
|
||
"proxmenux": "ProxMenux optimizations",
|
||
"latency": "Netzwerklatenz",
|
||
"subscriptionStatus": {
|
||
"notfound": "Kein Abonnement vorhanden",
|
||
"active": "Aktiv",
|
||
"invalid": "Ungültig",
|
||
"expired": "Abgelaufen",
|
||
"suspended": "Ausgesetzt",
|
||
"new": "Aktivierung ausstehend",
|
||
"unknown": "Unbekannt"
|
||
}
|
||
},
|
||
"profile": {
|
||
"label": "Report",
|
||
"full": "Full audit",
|
||
"inventory": "Inventory",
|
||
"security": "Security review",
|
||
"backup": "Backup assurance",
|
||
"capacity": "Capacity and wear",
|
||
"diagnostic": "Schnelldiagnose"
|
||
},
|
||
"document": {
|
||
"action": "Bericht erzeugen",
|
||
"title": "Auditbericht",
|
||
"subtitle": "Struktur, Konfiguration und Bewertung von {node}",
|
||
"generated": "Erstellt",
|
||
"assessed": "Assessed",
|
||
"runId": "Assessment reference",
|
||
"print": "Print or save as PDF",
|
||
"summaryByArea": "Summary by area",
|
||
"area": "Area",
|
||
"inventoryAnnex": "Inventory annex",
|
||
"scopeTitle": "Scope of this report",
|
||
"scopeBody": "This report describes the Proxmox VE node named above, as observed from the node itself at the time stated. It does not cover the interior of the guests beyond what they declare, network equipment outside the host, physical infrastructure, or any dependency not visible from this node. Findings marked as not determined were not measured and are not evidence of absence.",
|
||
"building": "Bericht wird zusammengestellt…",
|
||
"node": "Knoten",
|
||
"profile": "Profil",
|
||
"unknownNode": "nicht identifizierter Knoten",
|
||
"executiveSummary": "Zusammenfassung der Bewertung",
|
||
"assessment": "Bewertung",
|
||
"verdictHeading": "Ergebnis dieses Durchlaufs",
|
||
"verdict": {
|
||
"critical": "ACHTUNG",
|
||
"warning": "PRÜFEN",
|
||
"conformant": "IN ORDNUNG"
|
||
},
|
||
"verdictText": {
|
||
"critical": "{fail} Prüfungen melden einen fehlgeschlagenen Zustand und {warn} einen zu prüfenden Zustand, von {total} bewerteten.",
|
||
"warning": "Keine Prüfung meldet einen fehlgeschlagenen Zustand. {warn} von {total} melden einen zu prüfenden Zustand.",
|
||
"conformant": "Die {total} Prüfungen dieses Profils schließen ohne fehlgeschlagenen oder zu prüfenden Zustand ab.",
|
||
"none": "Dieses Profil führt keine Prüfungen aus. Das Dokument beschreibt den Knoten, ohne ihn zu bewerten."
|
||
},
|
||
"runAt": "Ausgeführt am {date}",
|
||
"chartNote": "Prüfungen nach Bereich und Ergebnis.",
|
||
"nodeIdentity": "Knotenidentität",
|
||
"system": "System",
|
||
"cluster": "Cluster",
|
||
"standaloneNote": "Dieser Knoten gehört zu keinem Cluster: er hält seine eigene Konfiguration und seine Gäste migrieren nicht auf einen anderen Knoten.",
|
||
"clusterDiagramNote": "Konfigurierte Knoten und die corosync-Links, die sie verbinden.",
|
||
"thisNode": "dieser Knoten",
|
||
"unreachable": "nicht gesehen",
|
||
"member": "Mitglied",
|
||
"corosyncLinks": "Links",
|
||
"quorum": "Quorum",
|
||
"quorate": "mit Quorum",
|
||
"inquorate": "ohne Quorum",
|
||
"votes": "Stimmen",
|
||
"nodeName": "Knoten",
|
||
"architecture": "Systemarchitektur",
|
||
"architectureNote": "Wie der Knoten aufgebaut ist: Prozessor und Speicher auf dem Board und was an jedem Controller hängt.",
|
||
"systemIdentity": "Systemidentität",
|
||
"board": "Board",
|
||
"processor": "Prozessor",
|
||
"topology": "Sockel × Kerne / Threads",
|
||
"memory": "Speicher",
|
||
"cores": "Kerne",
|
||
"threads": "Threads",
|
||
"memoryModules": "Speichermodule",
|
||
"slot": "Steckplatz",
|
||
"slotsUsed": "belegte Steckplätze",
|
||
"slotsFilled": "{used} von {total} Steckplätzen belegt",
|
||
"emptySlot": "leer",
|
||
"formFactor": "Bauform",
|
||
"speed": "Geschwindigkeit",
|
||
"manufacturer": "Hersteller",
|
||
"product": "Modell",
|
||
"serial": "Seriennummer",
|
||
"controllers": "Controller",
|
||
"class": "Klasse",
|
||
"device": "Gerät",
|
||
"iommuGroups": "IOMMU-Gruppen",
|
||
"iommuGroup": "IOMMU-Gruppe",
|
||
"field": "Feld",
|
||
"value": "Wert",
|
||
"size": "Größe",
|
||
"type": "Typ",
|
||
"storageDevices": "Speichergeräte",
|
||
"disks": "Festplatten",
|
||
"model": "Modell",
|
||
"bus": "Bus",
|
||
"serviceLife": "Betriebsstunden",
|
||
"healthy": "in Ordnung",
|
||
"years": "{years} Jahre",
|
||
"events": "Ereignisse",
|
||
"observations": "Beobachtungen",
|
||
"observationsNote": "Aufgezeichnete Ereignisse. SMART meldet den aktuellen Zustand; dieses Protokoll meldet, was geschehen ist, einschließlich Ereignissen, von denen sich die Festplatte erholt hat.",
|
||
"noObservations": "Keine Ereignisse aufgezeichnet",
|
||
"noObservationsNote": "Keine Festplatte hat einen Fehler aufgezeichnet, seit der Monitor sie beobachtet.",
|
||
"event": "Ereignis",
|
||
"severity": "Schweregrad",
|
||
"occurrences": "Vorkommen",
|
||
"firstSeen": "Zuerst gesehen",
|
||
"lastSeen": "Zuletzt gesehen",
|
||
"detail": "Detail",
|
||
"network": "Netzwerk",
|
||
"adapters": "Adapter",
|
||
"bond": "Bond",
|
||
"bridge": "Bridge",
|
||
"bridges": "Bridges",
|
||
"physicalAdapters": "Physische Adapter",
|
||
"interface": "Schnittstelle",
|
||
"driver": "Treiber",
|
||
"state": "Status",
|
||
"networkDiagramNote": "Weg vom Kabel zu jedem Gast: physischer Adapter, Bond sofern vorhanden, Bridge und angebundene Gäste.",
|
||
"storageAndProtection": "Speicher und Absicherung",
|
||
"storage": "Speicher",
|
||
"content": "Inhalt",
|
||
"shared": "Gemeinsam",
|
||
"location": "Ort",
|
||
"backupDestination": "Backup-Ziel",
|
||
"unprotected": "ohne Backup",
|
||
"storageDiagramNote": "Wo die Gastfestplatten liegen und welches Ziel sie sichert.",
|
||
"unprotectedGuests": "{count} Gäste ohne Backup-Auftrag",
|
||
"allProtected": "Jeder Gast ist von einem Backup-Auftrag erfasst",
|
||
"allProtectedNote": "Die Erfassung besagt, dass ein Auftrag den Gast auswählt; das Ergebnis der Backups wird getrennt bewertet.",
|
||
"vmid": "VMID",
|
||
"name": "Name",
|
||
"kind": "Art",
|
||
"backup": "Backup",
|
||
"none": "keines",
|
||
"managedSoftware": "Von ProxMenux verwaltete Software",
|
||
"version": "Version",
|
||
"source": "Quelle",
|
||
"current": "aktuell",
|
||
"updateAvailable": "Update auf {version}",
|
||
"findings": "Ergebnisse im Detail",
|
||
"incomplete": "teilweise",
|
||
"scope": "Umfang dieses Berichts",
|
||
"scopeText": "Dieses Dokument berichtet über das Profil {profile} auf dem in der Kopfzeile genannten Knoten, zum Zeitpunkt des Durchlaufs.",
|
||
"scopeLocal": "Es umfasst nur diesen Knoten. Gäste auf anderen Knoten und deren Konfiguration liegen außerhalb.",
|
||
"scopeReadOnly": "Alle Prüfungen lesen bereits vorhandene Konfiguration und Zustände; keine verändert den Host.",
|
||
"scopeMoment": "Es beschreibt den Zustand zum Zeitpunkt des Durchlaufs, nicht einen Zeitraum.",
|
||
"notRead": "Nicht lesbare Quellen:",
|
||
"uplink": "Uplink",
|
||
"conformance": "{pass} von {total} konform",
|
||
"latency": "Netzwerklatenz",
|
||
"latencyNote": "Latenz im angegebenen Zeitfenster, eine Linie je Ziel.",
|
||
"milliseconds": "ms",
|
||
"hours": "Std.",
|
||
"minimum": "Minimum",
|
||
"average": "Mittelwert",
|
||
"maximum": "Maximum",
|
||
"packetLoss": "Paketverlust",
|
||
"samples": "Messwerte",
|
||
"target": {
|
||
"label": "Ziel",
|
||
"gateway": "Gateway",
|
||
"cloudflare": "Cloudflare (1.1.1.1)",
|
||
"google": "Google (8.8.8.8)"
|
||
},
|
||
"actionShort": "Bericht",
|
||
"policyDeclared": "Bewertet wurde gegen eine erklärte Richtlinie: {guests} Gäste, {storages} Speicher und {thresholds} Schwellenwerte angegeben.",
|
||
"policyNone": "Es wurde keine Richtlinie erklärt; eine Abwesenheit, die dieser Bericht nicht deuten kann, erscheint als Beobachtung und nie als Warnung.",
|
||
"diagnosticTitle": "Schnelldiagnose",
|
||
"diagnosticSubtitle": "Kritische Ergebnisse und Warnungen auf {node}",
|
||
"diagnosticActing": "{count} kritische Ergebnisse und Warnungen.",
|
||
"diagnosticClear": "Kein kritisches Ergebnis und keine Warnung. Beobachtungen und konforme Ergebnisse stehen in der vollständigen Prüfung.",
|
||
"diagnosticUnread": "Nicht durchführbare Messungen",
|
||
"diagnosticMoreRows": "{count} weitere Zeile(n), in der vollständigen Prüfung.",
|
||
"structureTitle": "Struktur und Konfiguration",
|
||
"structureSubtitle": "Wie {node} aufgebaut und konfiguriert ist"
|
||
},
|
||
"results": "Ergebnisse",
|
||
"classifications": {
|
||
"critical": "Kritisch",
|
||
"warning": "Warnung",
|
||
"observation": "Beobachtung",
|
||
"conformant": "Konform",
|
||
"unverified": "Nicht verifiziert",
|
||
"not_applicable": "Nicht zutreffend",
|
||
"accepted": "Akzeptiertes Risiko",
|
||
"by_design": "Per Richtlinie ausgenommen"
|
||
},
|
||
"policy": {
|
||
"inherit": "{value} (Standard)",
|
||
"inheritUnset": "Standard",
|
||
"conflict": "Die Festlegung wurde in einer anderen Sitzung geändert. Dein Entwurf wurde nicht gespeichert.",
|
||
"reload": "Gespeicherte Festlegung neu laden (Entwurf verwerfen)",
|
||
"intro": "Eine Bewertung sieht, was dieser Host tut, nicht wozu er da ist. Was hier erklärt wird, macht aus einer Beobachtung eine Warnung oder nimmt sie aus der Zählung. Nichts ist Pflicht: ohne Erklärung beschreibt der Bericht, statt zu urteilen.",
|
||
"loading": "Erklärung wird gelesen…",
|
||
"failed": "Die Erklärung war nicht lesbar",
|
||
"saved": "Gespeichert",
|
||
"declaredCount": "{count} Erklärungen",
|
||
"guestsNote": "Erforderlich meldet Fehlendes als Warnung; nicht angegeben meldet es als Beobachtung; nicht erforderlich lässt es aus der Zählung heraus.",
|
||
"storagesNote": "Ein nicht erreichbarer Speicher ist kritisch, wenn er als wesentlich erklärt ist oder einem laufenden Gast dient, eine Warnung, wenn seine Rolle nicht erklärt ist, und eine Beobachtung, wenn er als optional erklärt ist.",
|
||
"thresholds": "Schwellenwerte",
|
||
"thresholdsNote": "Leer bedeutet den ausgelieferten Wert, der als Platzhalter erscheint.",
|
||
"backup": "Sicherung",
|
||
"autostart": "Autostart",
|
||
"objective": "Wiederherstellungsziel",
|
||
"objectivePlaceholder": "Stunden",
|
||
"noGuests": "Dieser Knoten hält keine Gäste.",
|
||
"expectation": {
|
||
"required": "Erforderlich",
|
||
"not_required": "Nicht erforderlich",
|
||
"unspecified": "Nicht erklärt"
|
||
},
|
||
"role": {
|
||
"essential": "Wesentlich",
|
||
"optional": "Optional",
|
||
"unspecified": "Nicht erklärt"
|
||
},
|
||
"threshold": {
|
||
"storage_usage_percent": "Prüfschwelle Speicherkapazität (%)",
|
||
"thin_pool_usage_percent": "Prüfschwelle Thin-Pool-Füllung (%)",
|
||
"thin_overprovision_ratio": "Thin-Überbuchungsverhältnis",
|
||
"zfs_scrub_days": "ZFS-Scrub-Intervall (Tage)",
|
||
"backup_fallback_days": "Ersatzwert Sicherungsalter (Tage)",
|
||
"backup_schedule_grace_ratio": "Kalendertoleranz (Verhältnis)",
|
||
"certificate_expiry_days": "Hinweis auf Zertifikatsablauf (Tage)",
|
||
"memory_overcommit_ratio": "Speicherüberbuchungsverhältnis",
|
||
"disk_service_life_hours": "Lebensdauer der Festplatte (Stunden)",
|
||
"lynis_report_days": "Alter des Lynis-Berichts (Tage)",
|
||
"package_index_days": "Alter der Paketindizes (Tage)",
|
||
"journal_usage_percent": "Journal gegen seine Obergrenze (%)",
|
||
"filesystem_usage_percent": "Prüfschwelle Dateisystemplatz (%)",
|
||
"filesystem_inode_percent": "Prüfschwelle Dateisystem-Inodes (%)",
|
||
"disk_error_recent_days": "Zeitfenster für aktuelle Festplattenfehler (Tage)"
|
||
}
|
||
},
|
||
"changes": {
|
||
"loading": "Änderungsjournal wird gelesen…",
|
||
"failed": "Das Änderungsjournal war nicht lesbar",
|
||
"intro": "Was ProxMenux auf diesem Host geändert hat und was vor jeder Änderung vorhanden war. Gezeigt wird die Differenz, nicht das Skript, das sie angewandt hat.",
|
||
"empty": "Auf diesem Host wurde noch nichts aufgezeichnet.",
|
||
"since": "Aufzeichnung seit {date}. Früher Angewandtes erscheint als angewandt, ohne den ersetzten Zustand.",
|
||
"byFunction": "Nach Funktion",
|
||
"count": "{count} Änderungen",
|
||
"function": "Funktion",
|
||
"source": "Skript",
|
||
"reversibility": "Rückgängig machen",
|
||
"difference": "Unterschied",
|
||
"diffTruncated": "Der Unterschied ist länger als das Gezeigte.",
|
||
"diffUnavailable": "Der ersetzte Inhalt ist nicht mehr gespeichert, der Unterschied lässt sich nicht zeigen.",
|
||
"packagesAdded": "Hinzugefügte Pakete",
|
||
"commandRun": "Ausgeführter Befehl",
|
||
"executionNote": "ProxMenux hat dies auf Anforderung ausgeführt; was sich änderte, entschied der Befehl, nicht ProxMenux.",
|
||
"unknownNote": "Dies wurde vor dem Journal angewandt, der ersetzte Zustand wurde nie erfasst.",
|
||
"noneInFilter": "Keine Änderung dieser Art.",
|
||
"class": {
|
||
"all": "Alle",
|
||
"configuration": "Konfiguration",
|
||
"installation": "Installationen",
|
||
"execution": "Ausführungen",
|
||
"registration": "Angewandt"
|
||
},
|
||
"operation": {
|
||
"write_file": "Datei ersetzt",
|
||
"edit_file": "Datei bearbeitet",
|
||
"remove_file": "Datei entfernt",
|
||
"install_package": "Installiert",
|
||
"enable_service": "Dienst aktiviert",
|
||
"disable_service": "Dienst deaktiviert",
|
||
"run_command": "Ausgeführt",
|
||
"applied": "Angewandt",
|
||
"removed": "Entfernt",
|
||
"unknown": "Änderung"
|
||
},
|
||
"capture": {
|
||
"unknown": "Vorheriger Zustand unbekannt"
|
||
},
|
||
"exactness": {
|
||
"exact": "Stellt genau das Vorherige wieder her",
|
||
"partial": "Teilweise: Abhängigkeiten können bleiben oder mitgehen",
|
||
"none": "Aus dem Journal nicht rückgängig zu machen"
|
||
}
|
||
},
|
||
"comparison": {
|
||
"loading": "Vergleich mit dem Referenzlauf…",
|
||
"failed": "Der Referenzlauf konnte nicht gesetzt werden",
|
||
"since": "Seit {date}",
|
||
"previousRun": "dem vorigen Lauf",
|
||
"noChange": "Keine Änderung",
|
||
"isBaseline": "Dieser Lauf ist die Referenz, mit der die anderen verglichen werden.",
|
||
"noBaseline": "Es wurde noch kein Referenzlauf gewählt, es gibt also nichts zu vergleichen.",
|
||
"setBaseline": "Als Referenz verwenden",
|
||
"unchanged": "{count} Prüfungen ergaben dasselbe wie zuvor.",
|
||
"new": "Neu",
|
||
"newNote": "jetzt gemeldet, vorher nicht",
|
||
"resolved": "Behoben",
|
||
"resolvedNote": "nicht mehr gemeldet, und niemand hat sie akzeptiert",
|
||
"accepted": "Akzeptiert",
|
||
"acceptedNote": "zählen nicht mehr, weil ein Risiko akzeptiert wurde, nicht weil sich der Host geändert hat",
|
||
"retired": "Nicht mehr bewertet",
|
||
"retiredNote": "vorher vorhanden, in diesem Lauf nicht; nichts hat bestätigt, dass sie aufgehört haben",
|
||
"reasons": {
|
||
"insufficient_runs": "Ein Vergleich braucht einen Referenzlauf und einen späteren; bisher ist nur einer aufgezeichnet"
|
||
}
|
||
},
|
||
"notApplicableScope": "Im geprüften Umfang gibt es nichts, worauf diese Prüfung zutrifft."
|
||
}
|
||
}
|