mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-09-27 09:06:47 +00:00
Merge develop into PR #337 and resolve shared app cache conflict
This commit is contained in:
@@ -45,7 +45,8 @@
|
||||
"profile": "Profil",
|
||||
"node": "Knoten",
|
||||
"admin": "Admin",
|
||||
"menu": "Navigationsmenü"
|
||||
"menu": "Navigationsmenü",
|
||||
"audit": "Audit & Report"
|
||||
},
|
||||
"status": {
|
||||
"healthy": "Gesund",
|
||||
@@ -72,6 +73,8 @@
|
||||
"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",
|
||||
@@ -882,7 +885,7 @@
|
||||
"executable": "Ausführbar",
|
||||
"workingDir": "Arbeitsverzeichnis",
|
||||
"started": "Begonnen",
|
||||
"runningFor": "Laufen für"
|
||||
"runningFor": "Läuft seit"
|
||||
},
|
||||
"states": {
|
||||
"running": "Läuft",
|
||||
@@ -1030,7 +1033,10 @@
|
||||
"startOnBoot": "Beim Booten beginnen",
|
||||
"tags": "Tags",
|
||||
"tagsPlaceholder": "Tag hinzufügen…",
|
||||
"tagsNone": "Keine Tags"
|
||||
"tagsNone": "Keine Tags",
|
||||
"mountErrors": {
|
||||
"configuredButNotMounted": "Konfiguriert, aber nicht gemountet"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
"header": "Protokolle für {name} (VMID: {vmid})",
|
||||
@@ -1214,7 +1220,15 @@
|
||||
"humanWeekly": "Wöchentlich ({day} {time})",
|
||||
"humanMonthly": "Monatlich (Tag {day} um {time})",
|
||||
"humanHourly": "Stündlich",
|
||||
"weekdays": "['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag']"
|
||||
"weekdays": [
|
||||
"Sonntag",
|
||||
"Montag",
|
||||
"Dienstag",
|
||||
"Mittwoch",
|
||||
"Donnerstag",
|
||||
"Freitag",
|
||||
"Samstag"
|
||||
]
|
||||
},
|
||||
"cronChip": {
|
||||
"detected": "Host-Cron erkannt",
|
||||
@@ -1241,6 +1255,35 @@
|
||||
"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",
|
||||
@@ -1564,22 +1607,26 @@
|
||||
"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 nach Status filtern",
|
||||
"ariaLabel": "Virtuelle Maschinen und Container filtern",
|
||||
"all": "Alle",
|
||||
"running": "Laufen",
|
||||
"running": "Läuft",
|
||||
"stopped": "Gestoppt",
|
||||
"empty": "Keine virtuellen Maschinen oder Container mit dem Status „{status}“"
|
||||
},
|
||||
"filters": {
|
||||
"searchPlaceholder": "Nach Name, ID, Tag oder Notiz suchen …",
|
||||
"searchAriaLabel": "Durchsuchen Sie virtuelle Maschinen und Container",
|
||||
"searchPlaceholder": "Name, ID, Tag oder Notiz suchen…",
|
||||
"searchAriaLabel": "Virtuelle Maschinen und Container durchsuchen",
|
||||
"clearSearch": "Suche löschen",
|
||||
"updates": "Aktualisierungen",
|
||||
"updates": "Updates",
|
||||
"resultCount": "{shown} von {total} Maschinen",
|
||||
"noMatches": "Keine VMs oder LXCs entsprechen Ihrer Suche.",
|
||||
"noMatches": "Keine VMs oder LXCs entsprechen der Suche.",
|
||||
"noRunning": "Keine laufenden VMs oder LXCs.",
|
||||
"noStopped": "Keine gestoppten VMs oder LXCs.",
|
||||
"noUpdates": "Nein LXC mit verfügbaren Updates."
|
||||
"noUpdates": "Kein LXC mit verfügbaren Updates.",
|
||||
"typeSynonyms": {
|
||||
"lxc": "container",
|
||||
"qemu": "vm virtuelle maschine virtuelle maschinen"
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
@@ -4062,7 +4109,7 @@
|
||||
"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": "niemals laufen",
|
||||
"neverRun": "nie ausgeführt",
|
||||
"newScheduledJob": "Neuer geplanter Auftrag",
|
||||
"newScheduledJobDescription": "Erstellen Sie einen wiederkehrenden Host-Sicherungsauftrag.",
|
||||
"nextRun": "Nächster Lauf",
|
||||
@@ -4193,7 +4240,7 @@
|
||||
"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": "Laufen",
|
||||
"run": "Ausführen",
|
||||
"runBackup": "Führen Sie ein Backup aus",
|
||||
"runOneShotBackup": "Führen Sie ein One-Shot-Backup durch",
|
||||
"title": "Manuelle Sicherung",
|
||||
@@ -4349,7 +4396,7 @@
|
||||
"hourlyHelpBefore": "Im Moment",
|
||||
"hourlyHelpMiddle": "der Timer",
|
||||
"hourlyOption": "Stündlich",
|
||||
"howToSchedule": "Wie soll es laufen?",
|
||||
"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",
|
||||
@@ -4861,5 +4908,134 @@
|
||||
"customLinkDelete": "Delete",
|
||||
"customLinkSaveError": "Save failed",
|
||||
"customLinkDeleteError": "Delete failed"
|
||||
},
|
||||
"audit": {
|
||||
"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.",
|
||||
"noFindings": "No findings match the current filter.",
|
||||
"showPassing": "Show passing checks",
|
||||
"hidePassing": "Hide passing checks",
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"errors": {
|
||||
"runFailed": "The assessment could not be started."
|
||||
},
|
||||
"checks": {
|
||||
"backup": {
|
||||
"guest_coverage": {
|
||||
"title": "Backup coverage",
|
||||
"rationale": "Compares the guest inventory against what each backup job selects. A job selects by VMID list, by pool, or with `all 1`, minus its `exclude` list. Jobs carrying `enabled 0` are not considered.",
|
||||
"summary": {
|
||||
"noJobs": "No backup job is defined on this node",
|
||||
"covered": "All {total} guests are covered by a backup job",
|
||||
"uncovered": "{count} of {total} guests are not covered by any enabled backup job"
|
||||
}
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"pending_reboot": {
|
||||
"title": "Restart state",
|
||||
"rationale": "Checks for `/var/run/reboot-required` and, when present, the packages listed in `/var/run/reboot-required.pkgs`. Also reports the running kernel.",
|
||||
"summary": {
|
||||
"none": "No restart is pending",
|
||||
"pending": "The host has a pending restart"
|
||||
}
|
||||
},
|
||||
"enterprise_repo_without_subscription": {
|
||||
"title": "Enterprise repository",
|
||||
"rationale": "Looks for references to `enterprise.proxmox.com` in `/etc/apt/sources.list` and `sources.list.d`, and contrasts the result with the status returned by `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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"guests": {
|
||||
"privileged_containers": {
|
||||
"title": "Container privileges",
|
||||
"rationale": "Reviews each container configuration. Proxmox marks unprivileged containers with `unprivileged: 1`; its absence indicates a privileged container, which shares the host user namespace.",
|
||||
"summary": {
|
||||
"allUnprivileged": "All {total} containers are unprivileged",
|
||||
"privileged": "{count} of {total} containers run privileged"
|
||||
}
|
||||
},
|
||||
"qemu_without_agent": {
|
||||
"title": "Guest agent on virtual machines",
|
||||
"rationale": "Reviews each virtual machine configuration for `agent: 1`. The guest agent enables ordered shutdown, filesystem quiescing for snapshots and real disk usage reporting.",
|
||||
"summary": {
|
||||
"allHaveAgent": "All {total} virtual machines declare the guest agent",
|
||||
"missingAgent": "{count} of {total} virtual machines do not declare the guest agent"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": {
|
||||
"host_firewall_enabled": {
|
||||
"title": "Firewall state",
|
||||
"rationale": "Checks `enable: 1` in `/etc/pve/firewall/cluster.fw` and in the node's `host.fw`. Proxmox applies node rules only while the datacenter switch is on.",
|
||||
"summary": {
|
||||
"bothEnabled": "The firewall is enabled at datacenter and node level",
|
||||
"datacenterOff": "The firewall is disabled at datacenter level, so node rules are not applied",
|
||||
"nodeOff": "The firewall is enabled at datacenter level but not on this node"
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage": {
|
||||
"orphaned_volumes": {
|
||||
"title": "Volume assignment",
|
||||
"rationale": "Compares the volumes returned by `pvesm list` against the existing guest configurations. Only non-shared storage is examined: on shared storage a volume may belong to a guest running on another node.",
|
||||
"summary": {
|
||||
"none": "No orphaned volumes were found",
|
||||
"found": "{count} volume(s) belong to no existing guest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,8 @@
|
||||
"profile": "Profile",
|
||||
"node": "Node",
|
||||
"admin": "Admin",
|
||||
"menu": "Navigation Menu"
|
||||
"menu": "Navigation Menu",
|
||||
"audit": "Audit & Report"
|
||||
},
|
||||
"status": {
|
||||
"healthy": "Healthy",
|
||||
@@ -71,6 +72,8 @@
|
||||
"networkErrorWhileSaving": "Network error while saving"
|
||||
},
|
||||
"overview": {
|
||||
"metricsTimeout": "The metrics query exceeded 30 seconds. ProxMenux will retry automatically.",
|
||||
"metricsCachedWarning": "Could not refresh metrics. Showing data retrieved at {time}.",
|
||||
"loadingTitle": "Loading system overview...",
|
||||
"loadingDescription": "Fetching system status and metrics",
|
||||
"topProcessesCpu": "View top processes by CPU",
|
||||
@@ -932,7 +935,11 @@
|
||||
"noMatches": "No VMs or LXCs match your search.",
|
||||
"noRunning": "No running VMs or LXCs.",
|
||||
"noStopped": "No stopped VMs or LXCs.",
|
||||
"noUpdates": "No LXC with available updates."
|
||||
"noUpdates": "No LXC with available updates.",
|
||||
"typeSynonyms": {
|
||||
"lxc": "container containers",
|
||||
"qemu": "vm vms virtual machine virtual machines"
|
||||
}
|
||||
},
|
||||
"uptime": "Uptime: {uptime}",
|
||||
"cpuUsage": "CPU Usage",
|
||||
@@ -1044,6 +1051,9 @@
|
||||
"stopped": "stopped",
|
||||
"mounted": "mounted"
|
||||
},
|
||||
"mountErrors": {
|
||||
"configuredButNotMounted": "Configured but not mounted"
|
||||
},
|
||||
"startOnBoot": "Start at boot",
|
||||
"tags": "Tags",
|
||||
"tagsPlaceholder": "Add tag…",
|
||||
@@ -1231,7 +1241,15 @@
|
||||
"humanWeekly": "Weekly ({day} {time})",
|
||||
"humanMonthly": "Monthly (day {day} at {time})",
|
||||
"humanHourly": "Hourly",
|
||||
"weekdays": ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
|
||||
"weekdays": [
|
||||
"Sunday",
|
||||
"Monday",
|
||||
"Tuesday",
|
||||
"Wednesday",
|
||||
"Thursday",
|
||||
"Friday",
|
||||
"Saturday"
|
||||
]
|
||||
},
|
||||
"cronChip": {
|
||||
"detected": "host cron detected",
|
||||
@@ -1258,6 +1276,35 @@
|
||||
"osStatusUnavailable": "The OS update status could not be determined.",
|
||||
"installedByHelperPrefix": "Installed by",
|
||||
"helperScriptsName": "Proxmox VE Helper-Scripts",
|
||||
"helperCommandEditHint": "If you edit this launcher, it will be saved as a custom command.",
|
||||
"customOnlineDescription": "Or use an online script provided by the developer:",
|
||||
"customOnlineExampleNote": "Replace the example URL with the official script URL for your application.",
|
||||
"customExamplesHeading": "Examples to adapt:",
|
||||
"updaterChoiceHint": "Choose and save an update method.",
|
||||
"updaterMethodLabel": "Update method",
|
||||
"helperMethod": "Helper-Scripts",
|
||||
"customMethod": "Custom command",
|
||||
"helperMethodHelp": "About Helper-Scripts",
|
||||
"customMethodHelp": "About custom commands",
|
||||
"helperDetectedChoice": "Helper-Scripts updater detected for this application.",
|
||||
"helperUnavailableChoice": "The selected Helper-Scripts updater is no longer available.",
|
||||
"disableUpdater": "Disable",
|
||||
"disableUpdaterConfirm": "Disable the update method for {name}? Saved plans and schedules will keep their selections, but this application will not run until a method is configured again.",
|
||||
"noUpdaterSelected": "You have not selected an update method.",
|
||||
"helperMethodDescription": "ProxMenux runs the detected updater inside this LXC and displays its log and result. The updater is maintained by Proxmox VE Helper-Scripts.",
|
||||
"customMethodDescription": "You can use the application's own updater, a package manager or a new binary. The command runs inside this LXC with administrator privileges.",
|
||||
"updaterInstructions": "Review the updater's instructions.",
|
||||
"helperDocumentation": "Update documentation",
|
||||
"helperSource": "Application script",
|
||||
"customMethodExample": "Adapt the names, paths and service to your application. Only the command you save will run.",
|
||||
"helperCommandLabel": "Command inside the LXC",
|
||||
"helperCommandFallback": "If wget is unavailable, ProxMenux uses curl -fsSL to download the same script.",
|
||||
"customScriptTitle": "Update script",
|
||||
"customScriptDescription": "Run an existing application update script inside the LXC.",
|
||||
"customPackageTitle": "Debian/Ubuntu package",
|
||||
"customPackageDescription": "Replace my-package with the package you want to update.",
|
||||
"customBinaryTitle": "Binary",
|
||||
"customBinaryDescription": "First download and verify the official binary for the correct version and architecture at /tmp/my-app.new. This example keeps a backup of the previous binary and restarts its service.",
|
||||
"helperUpdatesRun": "Installed by Proxmox Helper-Scripts.",
|
||||
"installedPrefix": "installed",
|
||||
"upstreamAvailable": "upstream {version} available",
|
||||
@@ -4933,5 +4980,134 @@
|
||||
"customLinkDelete": "Delete",
|
||||
"customLinkSaveError": "Save failed",
|
||||
"customLinkDeleteError": "Delete failed"
|
||||
},
|
||||
"audit": {
|
||||
"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.",
|
||||
"noFindings": "No findings match the current filter.",
|
||||
"showPassing": "Show passing checks",
|
||||
"hidePassing": "Hide passing checks",
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"errors": {
|
||||
"runFailed": "The assessment could not be started."
|
||||
},
|
||||
"checks": {
|
||||
"backup": {
|
||||
"guest_coverage": {
|
||||
"title": "Backup coverage",
|
||||
"rationale": "Compares the guest inventory against what each backup job selects. A job selects by VMID list, by pool, or with `all 1`, minus its `exclude` list. Jobs carrying `enabled 0` are not considered.",
|
||||
"summary": {
|
||||
"noJobs": "No backup job is defined on this node",
|
||||
"covered": "All {total} guests are covered by a backup job",
|
||||
"uncovered": "{count} of {total} guests are not covered by any enabled backup job"
|
||||
}
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"pending_reboot": {
|
||||
"title": "Restart state",
|
||||
"rationale": "Checks for `/var/run/reboot-required` and, when present, the packages listed in `/var/run/reboot-required.pkgs`. Also reports the running kernel.",
|
||||
"summary": {
|
||||
"none": "No restart is pending",
|
||||
"pending": "The host has a pending restart"
|
||||
}
|
||||
},
|
||||
"enterprise_repo_without_subscription": {
|
||||
"title": "Enterprise repository",
|
||||
"rationale": "Looks for references to `enterprise.proxmox.com` in `/etc/apt/sources.list` and `sources.list.d`, and contrasts the result with the status returned by `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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"guests": {
|
||||
"privileged_containers": {
|
||||
"title": "Container privileges",
|
||||
"rationale": "Reviews each container configuration. Proxmox marks unprivileged containers with `unprivileged: 1`; its absence indicates a privileged container, which shares the host user namespace.",
|
||||
"summary": {
|
||||
"allUnprivileged": "All {total} containers are unprivileged",
|
||||
"privileged": "{count} of {total} containers run privileged"
|
||||
}
|
||||
},
|
||||
"qemu_without_agent": {
|
||||
"title": "Guest agent on virtual machines",
|
||||
"rationale": "Reviews each virtual machine configuration for `agent: 1`. The guest agent enables ordered shutdown, filesystem quiescing for snapshots and real disk usage reporting.",
|
||||
"summary": {
|
||||
"allHaveAgent": "All {total} virtual machines declare the guest agent",
|
||||
"missingAgent": "{count} of {total} virtual machines do not declare the guest agent"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": {
|
||||
"host_firewall_enabled": {
|
||||
"title": "Firewall state",
|
||||
"rationale": "Checks `enable: 1` in `/etc/pve/firewall/cluster.fw` and in the node's `host.fw`. Proxmox applies node rules only while the datacenter switch is on.",
|
||||
"summary": {
|
||||
"bothEnabled": "The firewall is enabled at datacenter and node level",
|
||||
"datacenterOff": "The firewall is disabled at datacenter level, so node rules are not applied",
|
||||
"nodeOff": "The firewall is enabled at datacenter level but not on this node"
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage": {
|
||||
"orphaned_volumes": {
|
||||
"title": "Volume assignment",
|
||||
"rationale": "Compares the volumes returned by `pvesm list` against the existing guest configurations. Only non-shared storage is examined: on shared storage a volume may belong to a guest running on another node.",
|
||||
"summary": {
|
||||
"none": "No orphaned volumes were found",
|
||||
"found": "{count} volume(s) belong to no existing guest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,8 @@
|
||||
"profile": "Perfil",
|
||||
"node": "Nodo",
|
||||
"admin": "Administración",
|
||||
"menu": "Menú de navegación"
|
||||
"menu": "Menú de navegación",
|
||||
"audit": "Auditoría e informes"
|
||||
},
|
||||
"status": {
|
||||
"healthy": "OK",
|
||||
@@ -72,6 +73,8 @@
|
||||
"networkErrorWhileSaving": "Error de red al guardar"
|
||||
},
|
||||
"overview": {
|
||||
"metricsTimeout": "La consulta de métricas ha superado los 30 segundos. ProxMenux volverá a intentarlo automáticamente.",
|
||||
"metricsCachedWarning": "No se han podido actualizar las métricas. Se muestran los datos obtenidos el {time}.",
|
||||
"loadingTitle": "Cargando descripción general del sistema...",
|
||||
"loadingDescription": "Obtener el estado y las métricas del sistema",
|
||||
"topProcessesCpu": "Ver procesos principales por CPU",
|
||||
@@ -882,7 +885,7 @@
|
||||
"executable": "Ejecutable",
|
||||
"workingDir": "Directorio de trabajo",
|
||||
"started": "Comenzó",
|
||||
"runningFor": "Corriendo por"
|
||||
"runningFor": "En ejecución desde"
|
||||
},
|
||||
"states": {
|
||||
"running": "En ejecución",
|
||||
@@ -1030,7 +1033,10 @@
|
||||
"startOnBoot": "Iniciar al arrancar",
|
||||
"tags": "Etiquetas",
|
||||
"tagsPlaceholder": "Añadir etiqueta…",
|
||||
"tagsNone": "Sin etiquetas"
|
||||
"tagsNone": "Sin etiquetas",
|
||||
"mountErrors": {
|
||||
"configuredButNotMounted": "Configurado pero no montado"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
"header": "Registros para {name} (VMID: {vmid})",
|
||||
@@ -1214,7 +1220,15 @@
|
||||
"humanWeekly": "Semanal ({day} {time})",
|
||||
"humanMonthly": "Mensual (día {day} a las {time})",
|
||||
"humanHourly": "cada hora",
|
||||
"weekdays": "['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado']"
|
||||
"weekdays": [
|
||||
"domingo",
|
||||
"lunes",
|
||||
"martes",
|
||||
"miércoles",
|
||||
"jueves",
|
||||
"viernes",
|
||||
"sábado"
|
||||
]
|
||||
},
|
||||
"cronChip": {
|
||||
"detected": "cron del host detectado",
|
||||
@@ -1241,6 +1255,35 @@
|
||||
"osStatusUnavailable": "No se ha podido determinar el estado de las actualizaciones del SO.",
|
||||
"installedByHelperPrefix": "Instalado por",
|
||||
"helperScriptsName": "Proxmox VE Helper-Scripts",
|
||||
"helperCommandEditHint": "Si modificas este lanzador, se guardará como comando personalizado.",
|
||||
"customOnlineDescription": "O utiliza un script online proporcionado por el desarrollador:",
|
||||
"customOnlineExampleNote": "Sustituye la URL de ejemplo por la del script oficial de tu aplicación.",
|
||||
"customExamplesHeading": "Ejemplos para adaptar:",
|
||||
"updaterChoiceHint": "Elige y guarda un método de actualización.",
|
||||
"updaterMethodLabel": "Método de actualización",
|
||||
"helperMethod": "Helper-Scripts",
|
||||
"customMethod": "Comando personalizado",
|
||||
"helperMethodHelp": "Acerca de Helper-Scripts",
|
||||
"customMethodHelp": "Acerca del comando personalizado",
|
||||
"helperDetectedChoice": "Actualizador de Helper-Scripts detectado para esta aplicación.",
|
||||
"helperUnavailableChoice": "El actualizador de Helper-Scripts seleccionado ya no está disponible.",
|
||||
"disableUpdater": "Desactivar",
|
||||
"disableUpdaterConfirm": "¿Desactivar el método de actualización de {name}? Los planes y las programaciones conservarán sus selecciones, pero esta aplicación no se ejecutará hasta que vuelvas a configurar un método.",
|
||||
"noUpdaterSelected": "No has seleccionado un método de actualización.",
|
||||
"helperMethodDescription": "ProxMenux ejecuta el actualizador detectado dentro de este LXC y muestra su registro y resultado. Este lo mantiene Proxmox VE Helper-Scripts.",
|
||||
"customMethodDescription": "Puedes utilizar el actualizador de la aplicación, un gestor de paquetes o un binario nuevo. El comando se ejecuta dentro de este LXC con privilegios de administrador.",
|
||||
"updaterInstructions": "Revisa las indicaciones del actualizador.",
|
||||
"helperDocumentation": "Documentación de actualización",
|
||||
"helperSource": "Script de la aplicación",
|
||||
"customMethodExample": "Adapta los nombres, las rutas y el servicio a tu aplicación. Solo se ejecutará el comando que guardes.",
|
||||
"helperCommandLabel": "Comando dentro del LXC",
|
||||
"helperCommandFallback": "Si wget no está disponible, ProxMenux utiliza curl -fsSL para descargar el mismo script.",
|
||||
"customScriptTitle": "Script de actualización",
|
||||
"customScriptDescription": "Ejecuta un script de actualización de la aplicación que ya exista en el LXC.",
|
||||
"customPackageTitle": "Paquete Debian/Ubuntu",
|
||||
"customPackageDescription": "Sustituye my-package por el paquete que quieras actualizar.",
|
||||
"customBinaryTitle": "Binario",
|
||||
"customBinaryDescription": "Primero descarga y verifica el binario oficial de la versión y arquitectura correctas en /tmp/my-app.new. Este ejemplo conserva una copia del binario anterior y reinicia su servicio.",
|
||||
"helperUpdatesRun": "Instalado por Proxmox Helper-Scripts.",
|
||||
"installedPrefix": "instalado",
|
||||
"upstreamAvailable": "versión {version} disponible",
|
||||
@@ -1564,22 +1607,26 @@
|
||||
"excludeFromBadgeHelp": "No sumar esta app al contador agregado de actualizaciones del card del LXC. Útil cuando mantienes una versión concreta a propósito (requisito de tracker, compatibilidad). No afecta al estado que se muestra en la pestaña App ni al envío de la notificación."
|
||||
},
|
||||
"statusFilter": {
|
||||
"ariaLabel": "filtrar máquinas virtuales y contenedores por estado",
|
||||
"ariaLabel": "Filtrar máquinas virtuales y contenedores",
|
||||
"all": "Todos",
|
||||
"running": "corriendo",
|
||||
"stopped": "detenido",
|
||||
"running": "En ejecución",
|
||||
"stopped": "Detenido",
|
||||
"empty": "No hay máquinas virtuales ni contenedores con estado \"{status}\""
|
||||
},
|
||||
"filters": {
|
||||
"searchPlaceholder": "buscar nombre, ID, etiqueta o nota...",
|
||||
"searchAriaLabel": "buscar máquinas virtuales y contenedores",
|
||||
"searchPlaceholder": "Buscar por nombre, ID, etiqueta o nota…",
|
||||
"searchAriaLabel": "Buscar máquinas virtuales y contenedores",
|
||||
"clearSearch": "Borrar búsqueda",
|
||||
"updates": "Actualizaciones",
|
||||
"resultCount": "{shown} de {total} máquinas",
|
||||
"noMatches": "Ninguna VM o LXC coincide con su búsqueda.",
|
||||
"noRunning": "No se ejecutan VM ni LXC.",
|
||||
"noStopped": "No hay máquinas virtuales ni LXC detenidos.",
|
||||
"noUpdates": "No LXC con actualizaciones disponibles."
|
||||
"noMatches": "Ninguna VM ni LXC coincide con la búsqueda.",
|
||||
"noRunning": "No hay VM ni LXC en ejecución.",
|
||||
"noStopped": "No hay VM ni LXC detenidas.",
|
||||
"noUpdates": "Ningún LXC tiene actualizaciones disponibles.",
|
||||
"typeSynonyms": {
|
||||
"lxc": "contenedor contenedores",
|
||||
"qemu": "vm máquina virtual máquinas virtuales"
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
@@ -2714,7 +2761,7 @@
|
||||
"executiveSummary": "Resumen ejecutivo",
|
||||
"hardeningAssessment": "Evaluación de endurecimiento",
|
||||
"auditOf": "Auditoría de",
|
||||
"running": "corriendo",
|
||||
"running": "ejecutándose en",
|
||||
"unknownOs": "sistema operativo desconocido",
|
||||
"noActionableWarnings": "Sin advertencias procesables",
|
||||
"and": "y",
|
||||
@@ -4861,5 +4908,134 @@
|
||||
"customLinkDelete": "Eliminar",
|
||||
"customLinkSaveError": "Error al guardar",
|
||||
"customLinkDeleteError": "Error al eliminar"
|
||||
},
|
||||
"audit": {
|
||||
"title": "Auditoría e informes",
|
||||
"loading": "Cargando evaluación…",
|
||||
"run": "Ejecutar evaluación",
|
||||
"running": "Evaluando…",
|
||||
"neverRun": "Este host aún no se ha evaluado.",
|
||||
"lastRun": "Última evaluación el {when}",
|
||||
"stale": "hace {days} días",
|
||||
"readOnlyNotice": "La evaluación solo lee el host. No realiza ningún cambio.",
|
||||
"noFindings": "Ningún hallazgo coincide con el filtro actual.",
|
||||
"showPassing": "Mostrar comprobaciones correctas",
|
||||
"hidePassing": "Ocultar comprobaciones correctas",
|
||||
"affectedCount": "{count} afectados",
|
||||
"acceptedNotice": "{count} riesgo(s) aceptado(s) registrados en este host.",
|
||||
"states": {
|
||||
"fail": "Fallo",
|
||||
"warn": "Aviso",
|
||||
"accepted": "Riesgo aceptado",
|
||||
"pass": "Correcto",
|
||||
"not_applicable": "No aplicable"
|
||||
},
|
||||
"areas": {
|
||||
"all": "Todas",
|
||||
"system": "Sistema",
|
||||
"storage": "Almacenamiento",
|
||||
"network": "Red",
|
||||
"security": "Seguridad",
|
||||
"backup": "Backups",
|
||||
"guests": "Invitados",
|
||||
"hardware": "Hardware"
|
||||
},
|
||||
"detail": {
|
||||
"why": "Contexto",
|
||||
"evidence": "Evidencia",
|
||||
"affected": "Afectados",
|
||||
"acceptedRisk": "Riesgo aceptado"
|
||||
},
|
||||
"errors": {
|
||||
"runFailed": "No se pudo iniciar la evaluación."
|
||||
},
|
||||
"checks": {
|
||||
"backup": {
|
||||
"guest_coverage": {
|
||||
"title": "Cobertura de backups",
|
||||
"rationale": "Compara el inventario de invitados con la selección de cada trabajo de backup. Un trabajo selecciona por lista de VMID, por pool o con `all 1`, restando su lista `exclude`. Los trabajos con `enabled 0` no se consideran.",
|
||||
"summary": {
|
||||
"noJobs": "No hay ningún trabajo de backup definido en este nodo",
|
||||
"covered": "Los {total} invitados están cubiertos por un trabajo de backup",
|
||||
"uncovered": "{count} de {total} invitados no están cubiertos por ningún trabajo de backup activo"
|
||||
}
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"pending_reboot": {
|
||||
"title": "Estado de reinicio",
|
||||
"rationale": "Comprueba la presencia de `/var/run/reboot-required` y, cuando existe, los paquetes listados en `/var/run/reboot-required.pkgs`. Informa también del kernel en ejecución.",
|
||||
"summary": {
|
||||
"none": "No hay ningún reinicio pendiente",
|
||||
"pending": "El host tiene un reinicio pendiente"
|
||||
}
|
||||
},
|
||||
"enterprise_repo_without_subscription": {
|
||||
"title": "Repositorio enterprise",
|
||||
"rationale": "Busca referencias a `enterprise.proxmox.com` en `/etc/apt/sources.list` y en `sources.list.d`, y contrasta el resultado con el estado que devuelve `pvesubscription get`.",
|
||||
"summary": {
|
||||
"notEnabled": "El repositorio enterprise no está habilitado",
|
||||
"subscribed": "El repositorio enterprise cuenta con suscripción",
|
||||
"unsubscribed": "El repositorio enterprise está habilitado sin suscripción activa"
|
||||
}
|
||||
}
|
||||
},
|
||||
"guests": {
|
||||
"privileged_containers": {
|
||||
"title": "Privilegios de los contenedores",
|
||||
"rationale": "Revisa la configuración de cada contenedor. Proxmox marca los contenedores sin privilegios con `unprivileged: 1`; su ausencia indica un contenedor privilegiado, que comparte el espacio de nombres de usuario del host.",
|
||||
"summary": {
|
||||
"allUnprivileged": "Los {total} contenedores son sin privilegios",
|
||||
"privileged": "{count} de {total} contenedores se ejecutan con privilegios"
|
||||
}
|
||||
},
|
||||
"qemu_without_agent": {
|
||||
"title": "Agente invitado en máquinas virtuales",
|
||||
"rationale": "Revisa la configuración de cada máquina virtual en busca de `agent: 1`. El agente invitado habilita el apagado ordenado, la congelación del sistema de archivos para instantáneas y el informe de uso real de disco.",
|
||||
"summary": {
|
||||
"allHaveAgent": "Las {total} máquinas virtuales declaran el agente invitado",
|
||||
"missingAgent": "{count} de {total} máquinas virtuales no declaran el agente invitado"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": {
|
||||
"host_firewall_enabled": {
|
||||
"title": "Estado del firewall",
|
||||
"rationale": "Comprueba `enable: 1` en `/etc/pve/firewall/cluster.fw` y en el `host.fw` del nodo. Proxmox aplica las reglas del nodo solo mientras el interruptor del centro de datos está activo.",
|
||||
"summary": {
|
||||
"bothEnabled": "El firewall está habilitado en el centro de datos y en el nodo",
|
||||
"datacenterOff": "El firewall está deshabilitado en el centro de datos, así que las reglas del nodo no se aplican",
|
||||
"nodeOff": "El firewall está habilitado en el centro de datos pero no en este nodo"
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage": {
|
||||
"orphaned_volumes": {
|
||||
"title": "Asignación de volúmenes",
|
||||
"rationale": "Compara los volúmenes que devuelve `pvesm list` con las configuraciones de invitado existentes. Solo examina almacenamiento no compartido: en almacenamiento compartido un volumen puede pertenecer a un invitado que se ejecuta en otro nodo.",
|
||||
"summary": {
|
||||
"none": "No se han encontrado volúmenes huérfanos",
|
||||
"found": "{count} volumen(es) no pertenecen a ningún invitado existente"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"summaryFallback": "No se pudo evaluar la comprobación",
|
||||
"acceptRisk": {
|
||||
"action": "Aceptar riesgo",
|
||||
"revoke": "Volver a activo",
|
||||
"title": "Aceptar este riesgo",
|
||||
"reasonLabel": "Motivo",
|
||||
"reasonHelp": "Obligatorio. Queda registrado junto al autor y la fecha.",
|
||||
"reasonPlaceholder": "p. ej. Contenedores de laboratorio, sin cobertura a propósito",
|
||||
"expiryLabel": "Revisar dentro de",
|
||||
"expiryHelp": "Al cumplirse el plazo el hallazgo vuelve a estado activo.",
|
||||
"expiryNever": "No caduca",
|
||||
"expiry90": "90 días",
|
||||
"expiry180": "180 días",
|
||||
"expiry365": "1 año",
|
||||
"cancel": "Cancelar",
|
||||
"confirm": "Aceptar riesgo"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,8 @@
|
||||
"profile": "Profil",
|
||||
"node": "Nœud",
|
||||
"admin": "Administrateur",
|
||||
"menu": "Menu de navigation"
|
||||
"menu": "Menu de navigation",
|
||||
"audit": "Audit et rapports"
|
||||
},
|
||||
"status": {
|
||||
"healthy": "En bonne santé",
|
||||
@@ -72,6 +73,8 @@
|
||||
"networkErrorWhileSaving": "Erreur réseau lors de l'enregistrement"
|
||||
},
|
||||
"overview": {
|
||||
"metricsTimeout": "La requête de métriques a dépassé 30 secondes. ProxMenux réessaiera automatiquement.",
|
||||
"metricsCachedWarning": "Les métriques n’ont pas pu être actualisées. Les données récupérées le {time} sont affichées.",
|
||||
"loadingTitle": "Chargement de l'aperçu du système...",
|
||||
"loadingDescription": "Récupération de l'état et des métriques du système",
|
||||
"topProcessesCpu": "Afficher les principaux processus par processeur",
|
||||
@@ -882,7 +885,7 @@
|
||||
"executable": "Exécutable",
|
||||
"workingDir": "Répertoire de travail",
|
||||
"started": "Commencé",
|
||||
"runningFor": "Courir pour"
|
||||
"runningFor": "En cours d'exécution depuis"
|
||||
},
|
||||
"states": {
|
||||
"running": "En cours d'exécution",
|
||||
@@ -1030,7 +1033,10 @@
|
||||
"startOnBoot": "Démarrer au démarrage",
|
||||
"tags": "balises",
|
||||
"tagsPlaceholder": "Ajouter une balise…",
|
||||
"tagsNone": "Aucune balise"
|
||||
"tagsNone": "Aucune balise",
|
||||
"mountErrors": {
|
||||
"configuredButNotMounted": "Configuré mais non monté"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
"header": "Journaux pour {name} (VMID : {vmid})",
|
||||
@@ -1214,7 +1220,15 @@
|
||||
"humanWeekly": "hebdomadaire ({day} {time})",
|
||||
"humanMonthly": "mensuel (jour {day} à {time})",
|
||||
"humanHourly": "Horaire",
|
||||
"weekdays": "['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi']"
|
||||
"weekdays": [
|
||||
"Dimanche",
|
||||
"Lundi",
|
||||
"Mardi",
|
||||
"Mercredi",
|
||||
"Jeudi",
|
||||
"Vendredi",
|
||||
"Samedi"
|
||||
]
|
||||
},
|
||||
"cronChip": {
|
||||
"detected": "cron hôte détecté",
|
||||
@@ -1241,6 +1255,35 @@
|
||||
"osStatusUnavailable": "Impossible de déterminer l’état des mises à jour du système d’exploitation.",
|
||||
"installedByHelperPrefix": "Installé par",
|
||||
"helperScriptsName": "Proxmox VE Helper-Scripts",
|
||||
"helperCommandEditHint": "Si vous modifiez cette commande de lancement, elle sera enregistrée comme commande personnalisée.",
|
||||
"customOnlineDescription": "Ou utilisez un script en ligne fourni par le développeur :",
|
||||
"customOnlineExampleNote": "Remplacez l’URL d’exemple par celle du script officiel de votre application.",
|
||||
"customExamplesHeading": "Exemples à adapter:",
|
||||
"updaterChoiceHint": "Choisissez une méthode de mise à jour et enregistrez-la.",
|
||||
"updaterMethodLabel": "Méthode de mise à jour",
|
||||
"helperMethod": "Helper-Scripts",
|
||||
"customMethod": "Commande personnalisée",
|
||||
"helperMethodHelp": "À propos de Helper-Scripts",
|
||||
"customMethodHelp": "À propos des commandes personnalisées",
|
||||
"helperDetectedChoice": "Un programme de mise à jour Helper-Scripts a été détecté pour cette application.",
|
||||
"helperUnavailableChoice": "Le programme de mise à jour Helper-Scripts sélectionné n’est plus disponible.",
|
||||
"disableUpdater": "Désactiver",
|
||||
"disableUpdaterConfirm": "Désactiver la méthode de mise à jour de {name} ? Les plans et les programmations conserveront leurs sélections, mais cette application ne sera pas exécutée tant qu’une méthode n’aura pas été reconfigurée.",
|
||||
"noUpdaterSelected": "Vous n’avez pas sélectionné de méthode de mise à jour.",
|
||||
"helperMethodDescription": "ProxMenux exécute le programme de mise à jour détecté dans ce LXC et affiche son journal et son résultat. Ce programme est maintenu par Proxmox VE Helper-Scripts.",
|
||||
"customMethodDescription": "Vous pouvez utiliser le programme de mise à jour de l’application, un gestionnaire de paquets ou un nouveau binaire. La commande s’exécute dans ce LXC avec les droits administrateur.",
|
||||
"updaterInstructions": "Consultez les instructions du programme de mise à jour.",
|
||||
"helperDocumentation": "Documentation des mises à jour",
|
||||
"helperSource": "Script de l’application",
|
||||
"customMethodExample": "Adaptez les noms, les chemins et le service à votre application. Seule la commande enregistrée sera exécutée.",
|
||||
"helperCommandLabel": "Commande dans le LXC",
|
||||
"helperCommandFallback": "Si wget n’est pas disponible, ProxMenux utilise curl -fsSL pour télécharger le même script.",
|
||||
"customScriptTitle": "Script de mise à jour",
|
||||
"customScriptDescription": "Exécutez un script de mise à jour de l’application déjà présent dans le LXC.",
|
||||
"customPackageTitle": "Paquet Debian/Ubuntu",
|
||||
"customPackageDescription": "Remplacez my-package par le paquet à mettre à jour.",
|
||||
"customBinaryTitle": "Binaire",
|
||||
"customBinaryDescription": "Téléchargez d’abord le binaire officiel pour la version et l’architecture appropriées dans /tmp/my-app.new, puis vérifiez-le. Cet exemple conserve une copie du binaire précédent et redémarre son service.",
|
||||
"helperUpdatesRun": "Installé par Proxmox Helper-Scripts.",
|
||||
"installedPrefix": "installé",
|
||||
"upstreamAvailable": "version {version} disponible",
|
||||
@@ -1564,22 +1607,26 @@
|
||||
"excludeFromBadgeHelp": "Ne comptez pas cette application dans le badge de mises à jour globales sur la carte de liste LXC.Utile lorsque vous êtes volontairement épinglé à une version spécifique (exigence de suivi, gel de la compatibilité).N'affecte pas l'état de l'onglet Application ni la notification sortante."
|
||||
},
|
||||
"statusFilter": {
|
||||
"ariaLabel": "filtrer les machines virtuelles et les conteneurs par statut",
|
||||
"ariaLabel": "Filtrer les machines virtuelles et les conteneurs",
|
||||
"all": "Tous",
|
||||
"running": "Courir",
|
||||
"running": "En cours d'exécution",
|
||||
"stopped": "Arrêté",
|
||||
"empty": "Aucune machine virtuelle ou conteneur avec le statut \"{status}\""
|
||||
},
|
||||
"filters": {
|
||||
"searchPlaceholder": "rechercher un nom, un identifiant, une étiquette ou une note…",
|
||||
"searchPlaceholder": "Rechercher par nom, ID, étiquette ou note…",
|
||||
"searchAriaLabel": "Rechercher des machines virtuelles et des conteneurs",
|
||||
"clearSearch": "Effacer la recherche",
|
||||
"updates": "mises à jour",
|
||||
"resultCount": "{shown} sur {total} machines",
|
||||
"noMatches": "Aucune machine virtuelle ou LXC ne correspond à votre recherche.",
|
||||
"noRunning": "Aucune machine virtuelle ou LXC en cours d’exécution.",
|
||||
"noStopped": "Aucune machine virtuelle ou LXC arrêtée.",
|
||||
"noUpdates": "Non LXC avec les mises à jour disponibles."
|
||||
"updates": "Mises à jour",
|
||||
"resultCount": "{shown} sur {total} machines",
|
||||
"noMatches": "Aucune VM ni LXC ne correspond à la recherche.",
|
||||
"noRunning": "Aucune VM ni LXC en cours d'exécution.",
|
||||
"noStopped": "Aucune VM ni LXC arrêtée.",
|
||||
"noUpdates": "Aucun LXC avec des mises à jour disponibles.",
|
||||
"typeSynonyms": {
|
||||
"lxc": "conteneur conteneurs",
|
||||
"qemu": "vm machine virtuelle machines virtuelles"
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
@@ -2714,7 +2761,7 @@
|
||||
"executiveSummary": "Résumé exécutif",
|
||||
"hardeningAssessment": "Évaluation du durcissement",
|
||||
"auditOf": "Vérification de",
|
||||
"running": "courir sur",
|
||||
"running": "exécuté sur",
|
||||
"unknownOs": "système d'exploitation inconnu",
|
||||
"noActionableWarnings": "Aucun avertissement exploitable",
|
||||
"and": "et",
|
||||
@@ -4055,14 +4102,14 @@
|
||||
"jobNameHelpAnd": "et",
|
||||
"jobNameHelpBefore": "Utilisé dans les noms de minuterie et les journaux. Les caractères autorisés incluent également",
|
||||
"jobNameLocked": "Le nom du travail est verrouillé après la création.",
|
||||
"lastRun": "Dernière course",
|
||||
"lastRunLabel": "Dernière course",
|
||||
"lastRun": "Dernière exécution",
|
||||
"lastRunLabel": "Dernière exécution",
|
||||
"liveLogSize": "en direct · {size}",
|
||||
"loadFailed": "Impossible de charger les tâches",
|
||||
"loadingJob": "Chargement du travail...",
|
||||
"manualOneShot": "manuel / one-shot",
|
||||
"manualOneShotDescription": "Sauvegarde ponctuelle : capturée au moment du déclenchement. Ne peut pas être réexécuté ou modifié.",
|
||||
"neverRun": "ne jamais courir",
|
||||
"neverRun": "jamais exécuté",
|
||||
"newScheduledJob": "Nouveau travail planifié",
|
||||
"newScheduledJobDescription": "Créez une tâche de sauvegarde d'hôte récurrente.",
|
||||
"nextRun": "Prochaine exécution",
|
||||
@@ -4193,7 +4240,7 @@
|
||||
"inProgress": "Sauvegarde manuelle en cours",
|
||||
"oneShotDescription": "Les sauvegardes ponctuelles sont conservées sous forme de tâches gelées afin que vous puissiez inspecter leur journal ultérieurement.",
|
||||
"reopenLogTitle": "Rouvrir le journal",
|
||||
"run": "Courir",
|
||||
"run": "Exécuter",
|
||||
"runBackup": "Exécuter une sauvegarde",
|
||||
"runOneShotBackup": "Exécuter une sauvegarde ponctuelle",
|
||||
"title": "Sauvegarde manuelle",
|
||||
@@ -4861,5 +4908,134 @@
|
||||
"customLinkDelete": "Delete",
|
||||
"customLinkSaveError": "Save failed",
|
||||
"customLinkDeleteError": "Delete failed"
|
||||
},
|
||||
"audit": {
|
||||
"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.",
|
||||
"noFindings": "No findings match the current filter.",
|
||||
"showPassing": "Show passing checks",
|
||||
"hidePassing": "Hide passing checks",
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"errors": {
|
||||
"runFailed": "The assessment could not be started."
|
||||
},
|
||||
"checks": {
|
||||
"backup": {
|
||||
"guest_coverage": {
|
||||
"title": "Backup coverage",
|
||||
"rationale": "Compares the guest inventory against what each backup job selects. A job selects by VMID list, by pool, or with `all 1`, minus its `exclude` list. Jobs carrying `enabled 0` are not considered.",
|
||||
"summary": {
|
||||
"noJobs": "No backup job is defined on this node",
|
||||
"covered": "All {total} guests are covered by a backup job",
|
||||
"uncovered": "{count} of {total} guests are not covered by any enabled backup job"
|
||||
}
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"pending_reboot": {
|
||||
"title": "Restart state",
|
||||
"rationale": "Checks for `/var/run/reboot-required` and, when present, the packages listed in `/var/run/reboot-required.pkgs`. Also reports the running kernel.",
|
||||
"summary": {
|
||||
"none": "No restart is pending",
|
||||
"pending": "The host has a pending restart"
|
||||
}
|
||||
},
|
||||
"enterprise_repo_without_subscription": {
|
||||
"title": "Enterprise repository",
|
||||
"rationale": "Looks for references to `enterprise.proxmox.com` in `/etc/apt/sources.list` and `sources.list.d`, and contrasts the result with the status returned by `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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"guests": {
|
||||
"privileged_containers": {
|
||||
"title": "Container privileges",
|
||||
"rationale": "Reviews each container configuration. Proxmox marks unprivileged containers with `unprivileged: 1`; its absence indicates a privileged container, which shares the host user namespace.",
|
||||
"summary": {
|
||||
"allUnprivileged": "All {total} containers are unprivileged",
|
||||
"privileged": "{count} of {total} containers run privileged"
|
||||
}
|
||||
},
|
||||
"qemu_without_agent": {
|
||||
"title": "Guest agent on virtual machines",
|
||||
"rationale": "Reviews each virtual machine configuration for `agent: 1`. The guest agent enables ordered shutdown, filesystem quiescing for snapshots and real disk usage reporting.",
|
||||
"summary": {
|
||||
"allHaveAgent": "All {total} virtual machines declare the guest agent",
|
||||
"missingAgent": "{count} of {total} virtual machines do not declare the guest agent"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": {
|
||||
"host_firewall_enabled": {
|
||||
"title": "Firewall state",
|
||||
"rationale": "Checks `enable: 1` in `/etc/pve/firewall/cluster.fw` and in the node's `host.fw`. Proxmox applies node rules only while the datacenter switch is on.",
|
||||
"summary": {
|
||||
"bothEnabled": "The firewall is enabled at datacenter and node level",
|
||||
"datacenterOff": "The firewall is disabled at datacenter level, so node rules are not applied",
|
||||
"nodeOff": "The firewall is enabled at datacenter level but not on this node"
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage": {
|
||||
"orphaned_volumes": {
|
||||
"title": "Volume assignment",
|
||||
"rationale": "Compares the volumes returned by `pvesm list` against the existing guest configurations. Only non-shared storage is examined: on shared storage a volume may belong to a guest running on another node.",
|
||||
"summary": {
|
||||
"none": "No orphaned volumes were found",
|
||||
"found": "{count} volume(s) belong to no existing guest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,8 @@
|
||||
"profile": "Profilo",
|
||||
"node": "Nodo",
|
||||
"admin": "Ammin",
|
||||
"menu": "Menù di navigazione"
|
||||
"menu": "Menù di navigazione",
|
||||
"audit": "Audit e report"
|
||||
},
|
||||
"status": {
|
||||
"healthy": "Salutare",
|
||||
@@ -72,6 +73,8 @@
|
||||
"networkErrorWhileSaving": "Errore di rete durante il salvataggio"
|
||||
},
|
||||
"overview": {
|
||||
"metricsTimeout": "La richiesta delle metriche ha superato i 30 secondi. ProxMenux riproverà automaticamente.",
|
||||
"metricsCachedWarning": "Impossibile aggiornare le metriche. Sono visualizzati i dati recuperati il {time}.",
|
||||
"loadingTitle": "Caricamento panoramica del sistema...",
|
||||
"loadingDescription": "Recupero dello stato e delle metriche del sistema",
|
||||
"topProcessesCpu": "Visualizza i processi principali per CPU",
|
||||
@@ -327,7 +330,7 @@
|
||||
"statusValues": {
|
||||
"passed": "Superato",
|
||||
"failed": "Fallito",
|
||||
"running": "Corsa",
|
||||
"running": "In esecuzione",
|
||||
"aborted": "Abortito",
|
||||
"unknown": "Sconosciuto"
|
||||
}
|
||||
@@ -882,10 +885,10 @@
|
||||
"executable": "Eseguibile",
|
||||
"workingDir": "Dir. di lavoro",
|
||||
"started": "Iniziato",
|
||||
"runningFor": "Correre per"
|
||||
"runningFor": "In esecuzione da"
|
||||
},
|
||||
"states": {
|
||||
"running": "Corsa",
|
||||
"running": "In esecuzione",
|
||||
"sleeping": "Dormire",
|
||||
"diskWait": "Attendere il disco",
|
||||
"zombie": "Zombie",
|
||||
@@ -905,7 +908,7 @@
|
||||
"totalCpuAllocated": "CPU totale allocata",
|
||||
"totalMemory": "Memoria totale",
|
||||
"totalDisk": "Disco totale",
|
||||
"running": "corsa",
|
||||
"running": "in esecuzione",
|
||||
"stopped": "fermato",
|
||||
"vms": "VM",
|
||||
"used": "Usato",
|
||||
@@ -1030,7 +1033,10 @@
|
||||
"startOnBoot": "inizia all'avvio",
|
||||
"tags": "tag",
|
||||
"tagsPlaceholder": "aggiungi tag…",
|
||||
"tagsNone": "nessun tag"
|
||||
"tagsNone": "nessun tag",
|
||||
"mountErrors": {
|
||||
"configuredButNotMounted": "Configurato ma non montato"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
"header": "Registri per {name} (VMID: {vmid})",
|
||||
@@ -1214,7 +1220,15 @@
|
||||
"humanWeekly": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: settimanale ({day} {time})",
|
||||
"humanMonthly": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: mensile (giorno {day} alle {time})",
|
||||
"humanHourly": "ogni ora",
|
||||
"weekdays": "['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato']"
|
||||
"weekdays": [
|
||||
"Domenica",
|
||||
"Lunedì",
|
||||
"Martedì",
|
||||
"Mercoledì",
|
||||
"Giovedì",
|
||||
"Venerdì",
|
||||
"Sabato"
|
||||
]
|
||||
},
|
||||
"cronChip": {
|
||||
"detected": "rilevato il cron dell'host",
|
||||
@@ -1241,6 +1255,35 @@
|
||||
"osStatusUnavailable": "Impossibile determinare lo stato degli aggiornamenti del sistema operativo.",
|
||||
"installedByHelperPrefix": "Installato da",
|
||||
"helperScriptsName": "Proxmox VE Helper-Scripts",
|
||||
"helperCommandEditHint": "Se modifichi questo comando di avvio, verrà salvato come comando personalizzato.",
|
||||
"customOnlineDescription": "Oppure usa uno script online fornito dallo sviluppatore:",
|
||||
"customOnlineExampleNote": "Sostituisci l’URL di esempio con quello dello script ufficiale della tua applicazione.",
|
||||
"customExamplesHeading": "Esempi da adattare:",
|
||||
"updaterChoiceHint": "Scegli e salva un metodo di aggiornamento.",
|
||||
"updaterMethodLabel": "Metodo di aggiornamento",
|
||||
"helperMethod": "Helper-Scripts",
|
||||
"customMethod": "Comando personalizzato",
|
||||
"helperMethodHelp": "Informazioni su Helper-Scripts",
|
||||
"customMethodHelp": "Informazioni sui comandi personalizzati",
|
||||
"helperDetectedChoice": "Rilevato un programma di aggiornamento Helper-Scripts per questa applicazione.",
|
||||
"helperUnavailableChoice": "Il programma di aggiornamento Helper-Scripts selezionato non è più disponibile.",
|
||||
"disableUpdater": "Disattiva",
|
||||
"disableUpdaterConfirm": "Disattivare il metodo di aggiornamento di {name}? I piani e le pianificazioni manterranno le selezioni, ma questa applicazione non verrà eseguita finché non sarà configurato nuovamente un metodo.",
|
||||
"noUpdaterSelected": "Non hai selezionato un metodo di aggiornamento.",
|
||||
"helperMethodDescription": "ProxMenux esegue il programma di aggiornamento rilevato in questo LXC e ne mostra il registro e il risultato. Il programma è mantenuto da Proxmox VE Helper-Scripts.",
|
||||
"customMethodDescription": "Puoi usare il programma di aggiornamento dell’applicazione, un gestore di pacchetti o un nuovo binario. Il comando viene eseguito in questo LXC con privilegi di amministratore.",
|
||||
"updaterInstructions": "Consulta le istruzioni del programma di aggiornamento.",
|
||||
"helperDocumentation": "Documentazione degli aggiornamenti",
|
||||
"helperSource": "Script dell’applicazione",
|
||||
"customMethodExample": "Adatta i nomi, i percorsi e il servizio alla tua applicazione. Verrà eseguito solo il comando salvato.",
|
||||
"helperCommandLabel": "Comando all’interno del LXC",
|
||||
"helperCommandFallback": "Se wget non è disponibile, ProxMenux usa curl -fsSL per scaricare lo stesso script.",
|
||||
"customScriptTitle": "Script di aggiornamento",
|
||||
"customScriptDescription": "Esegui uno script di aggiornamento dell’applicazione già presente nel LXC.",
|
||||
"customPackageTitle": "Pacchetto Debian/Ubuntu",
|
||||
"customPackageDescription": "Sostituisci my-package con il pacchetto da aggiornare.",
|
||||
"customBinaryTitle": "Binario",
|
||||
"customBinaryDescription": "Prima scarica e verifica il binario ufficiale per la versione e l’architettura corrette in /tmp/my-app.new. Questo esempio conserva una copia del binario precedente e riavvia il relativo servizio.",
|
||||
"helperUpdatesRun": "Installato da Proxmox Helper-Scripts.",
|
||||
"installedPrefix": "installato",
|
||||
"upstreamAvailable": "versione {version} disponibile",
|
||||
@@ -1564,22 +1607,26 @@
|
||||
"excludeFromBadgeHelp": "non contare questa app nel badge degli aggiornamenti aggregati sulla scheda dell'elenco LXC.Utile quando sei bloccato di proposito su una versione specifica (requisito del tracker, blocco della compatibilità).Non influisce sullo stato della scheda App o sulla notifica in uscita."
|
||||
},
|
||||
"statusFilter": {
|
||||
"ariaLabel": "filtra macchine virtuali e contenitori in base allo stato",
|
||||
"all": "tutto",
|
||||
"running": "Correre",
|
||||
"stopped": "fermato",
|
||||
"empty": "nessuna macchina virtuale o contenitore con stato \"{status}\""
|
||||
"ariaLabel": "Filtra macchine virtuali e container",
|
||||
"all": "Tutti",
|
||||
"running": "In esecuzione",
|
||||
"stopped": "Arrestato",
|
||||
"empty": "Nessuna macchina virtuale o container con stato \"{status}\""
|
||||
},
|
||||
"filters": {
|
||||
"searchPlaceholder": "cerca nome, ID, tag o nota...",
|
||||
"searchAriaLabel": "cerca macchine virtuali e contenitori",
|
||||
"clearSearch": "cancella la ricerca",
|
||||
"searchPlaceholder": "Cerca per nome, ID, tag o nota…",
|
||||
"searchAriaLabel": "Cerca macchine virtuali e container",
|
||||
"clearSearch": "Cancella ricerca",
|
||||
"updates": "Aggiornamenti",
|
||||
"resultCount": "{shown} di {total} macchine",
|
||||
"noMatches": "nessuna VM o LXC corrisponde alla tua ricerca.",
|
||||
"noRunning": "nessuna VM o LXC in esecuzione.",
|
||||
"noStopped": "nessuna VM o LXC interrotta.",
|
||||
"noUpdates": "No LXC con aggiornamenti disponibili."
|
||||
"noMatches": "Nessuna VM o LXC corrisponde alla ricerca.",
|
||||
"noRunning": "Nessuna VM o LXC in esecuzione.",
|
||||
"noStopped": "Nessuna VM o LXC arrestata.",
|
||||
"noUpdates": "Nessun LXC con aggiornamenti disponibili.",
|
||||
"typeSynonyms": {
|
||||
"lxc": "contenitore contenitori container",
|
||||
"qemu": "vm macchina virtuale macchine virtuali"
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
@@ -2714,7 +2761,7 @@
|
||||
"executiveSummary": "Sintesi",
|
||||
"hardeningAssessment": "Valutazione dell'indurimento",
|
||||
"auditOf": "Revisione di",
|
||||
"running": "correndo",
|
||||
"running": "in esecuzione su",
|
||||
"unknownOs": "sistema operativo sconosciuto",
|
||||
"noActionableWarnings": "Nessun avviso utilizzabile",
|
||||
"and": "E",
|
||||
@@ -3577,7 +3624,7 @@
|
||||
"reinstallViaPostInstall": "Reinstallare tramite ProxMenux dopo l'installazione: {label}",
|
||||
"noUpdatesAvailable": "Nessun aggiornamento disponibile",
|
||||
"none": "nessuno",
|
||||
"running": "corsa",
|
||||
"running": "in esecuzione",
|
||||
"stopped": "fermato",
|
||||
"unused": "inutilizzato",
|
||||
"unbound": "non vincolato",
|
||||
@@ -3987,7 +4034,7 @@
|
||||
"name": "Nome",
|
||||
"nameLabel": "Nome",
|
||||
"newRecoveryPassphrase": "Nuova passphrase di ripristino",
|
||||
"nextRun": "Prossima corsa",
|
||||
"nextRun": "Prossima esecuzione",
|
||||
"normalizedLabel": "Normalizzato",
|
||||
"onCalendarExpression": "Espressione OnCalendar",
|
||||
"ownerLabel": "Proprietario",
|
||||
@@ -4055,19 +4102,19 @@
|
||||
"jobNameHelpAnd": "E",
|
||||
"jobNameHelpBefore": "Utilizzato nei nomi e nei registri dei timer. Sono inclusi anche i caratteri consentiti",
|
||||
"jobNameLocked": "Il nome del lavoro viene bloccato dopo la creazione.",
|
||||
"lastRun": "Ultima corsa",
|
||||
"lastRunLabel": "Ultima corsa",
|
||||
"lastRun": "Ultima esecuzione",
|
||||
"lastRunLabel": "Ultima esecuzione",
|
||||
"liveLogSize": "dal vivo · {size}",
|
||||
"loadFailed": "Impossibile caricare i lavori",
|
||||
"loadingJob": "Caricamento lavoro...",
|
||||
"manualOneShot": "manuale/one-shot",
|
||||
"manualOneShotDescription": "Backup one-shot: acquisito al momento dell'attivazione. Non può essere rieseguito o modificato.",
|
||||
"neverRun": "non correre mai",
|
||||
"neverRun": "mai eseguito",
|
||||
"newScheduledJob": "Nuovo lavoro programmato",
|
||||
"newScheduledJobDescription": "Creare un processo di backup dell'host ricorrente.",
|
||||
"nextRun": "Prossima corsa",
|
||||
"nextRunLabel": "Prossima corsa",
|
||||
"nextRunTitle": "Prossima corsa programmata",
|
||||
"nextRun": "Prossima esecuzione",
|
||||
"nextRunLabel": "Prossima esecuzione",
|
||||
"nextRunTitle": "Prossima esecuzione pianificata",
|
||||
"noCompatiblePveJob": "Nessun processo di backup PVE compatibile trovato",
|
||||
"noCompatiblePveJobDescriptionAfter": "Primo.",
|
||||
"noCompatiblePveJobDescriptionBefore": "Crea o abilita un processo di backup PVE per",
|
||||
@@ -4193,7 +4240,7 @@
|
||||
"inProgress": "Backup manuale in corso",
|
||||
"oneShotDescription": "I backup one-shot vengono conservati come processi congelati in modo da poterne controllare il registro in un secondo momento.",
|
||||
"reopenLogTitle": "Riapri registro",
|
||||
"run": "Correre",
|
||||
"run": "Esegui",
|
||||
"runBackup": "Esegui il backup",
|
||||
"runOneShotBackup": "Esegui il backup one-shot",
|
||||
"title": "Backup manuale",
|
||||
@@ -4369,7 +4416,7 @@
|
||||
"manual": "manuale",
|
||||
"manualOneShot": "manuale/one-shot",
|
||||
"ok": "OK",
|
||||
"running": "corsa",
|
||||
"running": "in esecuzione",
|
||||
"scheduled": "programmato"
|
||||
},
|
||||
"taskStates": {
|
||||
@@ -4378,7 +4425,7 @@
|
||||
"packing": "imballaggio",
|
||||
"queued": "in coda",
|
||||
"restoring": "ripristino",
|
||||
"running": "corsa"
|
||||
"running": "in esecuzione"
|
||||
},
|
||||
"usb": {
|
||||
"description": "Monta le unità USB in modo che possano essere scelte come destinazione locale o Borg. Le unità che già disponevano di un filesystem possono essere rimontate così come sono; è possibile cancellare e formattare le unità raw (nessuna tabella delle partizioni).",
|
||||
@@ -4861,5 +4908,134 @@
|
||||
"customLinkDelete": "Delete",
|
||||
"customLinkSaveError": "Save failed",
|
||||
"customLinkDeleteError": "Delete failed"
|
||||
},
|
||||
"audit": {
|
||||
"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.",
|
||||
"noFindings": "No findings match the current filter.",
|
||||
"showPassing": "Show passing checks",
|
||||
"hidePassing": "Hide passing checks",
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"errors": {
|
||||
"runFailed": "The assessment could not be started."
|
||||
},
|
||||
"checks": {
|
||||
"backup": {
|
||||
"guest_coverage": {
|
||||
"title": "Backup coverage",
|
||||
"rationale": "Compares the guest inventory against what each backup job selects. A job selects by VMID list, by pool, or with `all 1`, minus its `exclude` list. Jobs carrying `enabled 0` are not considered.",
|
||||
"summary": {
|
||||
"noJobs": "No backup job is defined on this node",
|
||||
"covered": "All {total} guests are covered by a backup job",
|
||||
"uncovered": "{count} of {total} guests are not covered by any enabled backup job"
|
||||
}
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"pending_reboot": {
|
||||
"title": "Restart state",
|
||||
"rationale": "Checks for `/var/run/reboot-required` and, when present, the packages listed in `/var/run/reboot-required.pkgs`. Also reports the running kernel.",
|
||||
"summary": {
|
||||
"none": "No restart is pending",
|
||||
"pending": "The host has a pending restart"
|
||||
}
|
||||
},
|
||||
"enterprise_repo_without_subscription": {
|
||||
"title": "Enterprise repository",
|
||||
"rationale": "Looks for references to `enterprise.proxmox.com` in `/etc/apt/sources.list` and `sources.list.d`, and contrasts the result with the status returned by `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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"guests": {
|
||||
"privileged_containers": {
|
||||
"title": "Container privileges",
|
||||
"rationale": "Reviews each container configuration. Proxmox marks unprivileged containers with `unprivileged: 1`; its absence indicates a privileged container, which shares the host user namespace.",
|
||||
"summary": {
|
||||
"allUnprivileged": "All {total} containers are unprivileged",
|
||||
"privileged": "{count} of {total} containers run privileged"
|
||||
}
|
||||
},
|
||||
"qemu_without_agent": {
|
||||
"title": "Guest agent on virtual machines",
|
||||
"rationale": "Reviews each virtual machine configuration for `agent: 1`. The guest agent enables ordered shutdown, filesystem quiescing for snapshots and real disk usage reporting.",
|
||||
"summary": {
|
||||
"allHaveAgent": "All {total} virtual machines declare the guest agent",
|
||||
"missingAgent": "{count} of {total} virtual machines do not declare the guest agent"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": {
|
||||
"host_firewall_enabled": {
|
||||
"title": "Firewall state",
|
||||
"rationale": "Checks `enable: 1` in `/etc/pve/firewall/cluster.fw` and in the node's `host.fw`. Proxmox applies node rules only while the datacenter switch is on.",
|
||||
"summary": {
|
||||
"bothEnabled": "The firewall is enabled at datacenter and node level",
|
||||
"datacenterOff": "The firewall is disabled at datacenter level, so node rules are not applied",
|
||||
"nodeOff": "The firewall is enabled at datacenter level but not on this node"
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage": {
|
||||
"orphaned_volumes": {
|
||||
"title": "Volume assignment",
|
||||
"rationale": "Compares the volumes returned by `pvesm list` against the existing guest configurations. Only non-shared storage is examined: on shared storage a volume may belong to a guest running on another node.",
|
||||
"summary": {
|
||||
"none": "No orphaned volumes were found",
|
||||
"found": "{count} volume(s) belong to no existing guest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,8 @@
|
||||
"profile": "Perfil",
|
||||
"node": "Nó",
|
||||
"admin": "Administrador",
|
||||
"menu": "Menu de navegação"
|
||||
"menu": "Menu de navegação",
|
||||
"audit": "Auditoria e relatórios"
|
||||
},
|
||||
"status": {
|
||||
"healthy": "Saudável",
|
||||
@@ -72,6 +73,8 @@
|
||||
"networkErrorWhileSaving": "Erro de rede ao salvar"
|
||||
},
|
||||
"overview": {
|
||||
"metricsTimeout": "A consulta de métricas excedeu 30 segundos. O ProxMenux tentará novamente automaticamente.",
|
||||
"metricsCachedWarning": "Não foi possível atualizar as métricas. São apresentados os dados obtidos em {time}.",
|
||||
"loadingTitle": "Carregando visão geral do sistema...",
|
||||
"loadingDescription": "Buscando status e métricas do sistema",
|
||||
"topProcessesCpu": "Veja os principais processos por CPU",
|
||||
@@ -327,7 +330,7 @@
|
||||
"statusValues": {
|
||||
"passed": "Aprovado",
|
||||
"failed": "Fracassado",
|
||||
"running": "Correndo",
|
||||
"running": "Em execução",
|
||||
"aborted": "Abortado",
|
||||
"unknown": "Desconhecido"
|
||||
}
|
||||
@@ -882,10 +885,10 @@
|
||||
"executable": "Executável",
|
||||
"workingDir": "Diretório de trabalho",
|
||||
"started": "Iniciado",
|
||||
"runningFor": "Correndo para"
|
||||
"runningFor": "Em execução há"
|
||||
},
|
||||
"states": {
|
||||
"running": "Correndo",
|
||||
"running": "Em execução",
|
||||
"sleeping": "Dormindo",
|
||||
"diskWait": "Espera de disco",
|
||||
"zombie": "Zumbi",
|
||||
@@ -905,7 +908,7 @@
|
||||
"totalCpuAllocated": "Total de CPU alocada",
|
||||
"totalMemory": "Memória total",
|
||||
"totalDisk": "Disco total",
|
||||
"running": "correndo",
|
||||
"running": "em execução",
|
||||
"stopped": "parou",
|
||||
"vms": "VMs",
|
||||
"used": "Usado",
|
||||
@@ -1030,7 +1033,10 @@
|
||||
"startOnBoot": "Iniciar na inicialização",
|
||||
"tags": "Etiquetas",
|
||||
"tagsPlaceholder": "Adicionar tag…",
|
||||
"tagsNone": "sem tags"
|
||||
"tagsNone": "sem tags",
|
||||
"mountErrors": {
|
||||
"configuredButNotMounted": "Configurado mas não montado"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
"header": "Registros para {name} (VMID: {vmid})",
|
||||
@@ -1214,7 +1220,15 @@
|
||||
"humanWeekly": "Semanal ({day} {time})",
|
||||
"humanMonthly": "Mensalmente (dia {day} às {time})",
|
||||
"humanHourly": "de hora em hora",
|
||||
"weekdays": "['Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado']"
|
||||
"weekdays": [
|
||||
"Domingo",
|
||||
"Segunda-feira",
|
||||
"Terça-feira",
|
||||
"Quarta-feira",
|
||||
"Quinta-feira",
|
||||
"Sexta-feira",
|
||||
"Sábado"
|
||||
]
|
||||
},
|
||||
"cronChip": {
|
||||
"detected": "cron do host detectado",
|
||||
@@ -1241,6 +1255,35 @@
|
||||
"osStatusUnavailable": "Não foi possível determinar o estado das atualizações do sistema operativo.",
|
||||
"installedByHelperPrefix": "Instalado por",
|
||||
"helperScriptsName": "Proxmox VE Helper-Scripts",
|
||||
"helperCommandEditHint": "Se modificar este comando de arranque, será guardado como comando personalizado.",
|
||||
"customOnlineDescription": "Ou utilize um script online fornecido pelo programador:",
|
||||
"customOnlineExampleNote": "Substitua o URL de exemplo pelo do script oficial da sua aplicação.",
|
||||
"customExamplesHeading": "Exemplos para adaptar:",
|
||||
"updaterChoiceHint": "Escolha e guarde um método de atualização.",
|
||||
"updaterMethodLabel": "Método de atualização",
|
||||
"helperMethod": "Helper-Scripts",
|
||||
"customMethod": "Comando personalizado",
|
||||
"helperMethodHelp": "Sobre Helper-Scripts",
|
||||
"customMethodHelp": "Sobre comandos personalizados",
|
||||
"helperDetectedChoice": "Foi detetado um atualizador Helper-Scripts para esta aplicação.",
|
||||
"helperUnavailableChoice": "O atualizador Helper-Scripts selecionado já não está disponível.",
|
||||
"disableUpdater": "Desativar",
|
||||
"disableUpdaterConfirm": "Desativar o método de atualização de {name}? Os planos e agendamentos manterão as seleções, mas esta aplicação não será executada até configurar novamente um método.",
|
||||
"noUpdaterSelected": "Não selecionou um método de atualização.",
|
||||
"helperMethodDescription": "O ProxMenux executa o atualizador detetado dentro deste LXC e mostra o registo e o resultado. Este é mantido pelo Proxmox VE Helper-Scripts.",
|
||||
"customMethodDescription": "Pode utilizar o atualizador da aplicação, um gestor de pacotes ou um novo binário. O comando é executado dentro deste LXC com privilégios de administrador.",
|
||||
"updaterInstructions": "Consulte as instruções do atualizador.",
|
||||
"helperDocumentation": "Documentação de atualização",
|
||||
"helperSource": "Script da aplicação",
|
||||
"customMethodExample": "Adapte os nomes, os caminhos e o serviço à sua aplicação. Só será executado o comando que guardar.",
|
||||
"helperCommandLabel": "Comando dentro do LXC",
|
||||
"helperCommandFallback": "Se o wget não estiver disponível, o ProxMenux utiliza curl -fsSL para transferir o mesmo script.",
|
||||
"customScriptTitle": "Script de atualização",
|
||||
"customScriptDescription": "Execute um script de atualização da aplicação já existente no LXC.",
|
||||
"customPackageTitle": "Pacote Debian/Ubuntu",
|
||||
"customPackageDescription": "Substitua my-package pelo pacote que pretende atualizar.",
|
||||
"customBinaryTitle": "Binário",
|
||||
"customBinaryDescription": "Primeiro transfira e verifique o binário oficial da versão e arquitetura corretas em /tmp/my-app.new. Este exemplo conserva uma cópia do binário anterior e reinicia o respetivo serviço.",
|
||||
"helperUpdatesRun": "Instalado pelo Proxmox Helper-Scripts.",
|
||||
"installedPrefix": "instalado",
|
||||
"upstreamAvailable": "versão {version} disponível",
|
||||
@@ -1564,22 +1607,26 @@
|
||||
"excludeFromBadgeHelp": "não conte este aplicativo no selo de atualizações agregadas no cartão de lista LXC.Útil quando você está fixado em uma versão específica propositalmente (requisito do rastreador, congelamento de compatibilidade).Não afeta o próprio estado da guia Aplicativo ou a notificação de saída."
|
||||
},
|
||||
"statusFilter": {
|
||||
"ariaLabel": "Filtre máquinas virtuais e contêineres por status",
|
||||
"ariaLabel": "Filtrar máquinas virtuais e contêineres",
|
||||
"all": "Todos",
|
||||
"running": "Correndo",
|
||||
"running": "Em execução",
|
||||
"stopped": "Parado",
|
||||
"empty": "Nenhuma máquina virtual ou contêiner com status \"{status}\""
|
||||
},
|
||||
"filters": {
|
||||
"searchPlaceholder": "pesquise nome, ID, tag ou nota…",
|
||||
"searchAriaLabel": "Pesquise máquinas virtuais e contêineres",
|
||||
"clearSearch": "Limpar pesquisa",
|
||||
"searchPlaceholder": "Buscar por nome, ID, tag ou nota…",
|
||||
"searchAriaLabel": "Buscar máquinas virtuais e contêineres",
|
||||
"clearSearch": "Limpar busca",
|
||||
"updates": "Atualizações",
|
||||
"resultCount": "{shown} de {total} máquinas",
|
||||
"noMatches": "Nenhuma VM ou LXC corresponde à sua pesquisa.",
|
||||
"noRunning": "Não há VMs ou LXCs em execução.",
|
||||
"noStopped": "Não há VMs ou LXCs parados.",
|
||||
"noUpdates": "Não LXC com atualizações disponíveis."
|
||||
"noMatches": "Nenhuma VM ou LXC corresponde à busca.",
|
||||
"noRunning": "Nenhuma VM ou LXC em execução.",
|
||||
"noStopped": "Nenhuma VM ou LXC parada.",
|
||||
"noUpdates": "Nenhum LXC com atualizações disponíveis.",
|
||||
"typeSynonyms": {
|
||||
"lxc": "contêiner contêineres contentor contentores",
|
||||
"qemu": "vm máquina virtual máquinas virtuais"
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
@@ -2714,7 +2761,7 @@
|
||||
"executiveSummary": "Sumário executivo",
|
||||
"hardeningAssessment": "Avaliação de endurecimento",
|
||||
"auditOf": "Auditoria de",
|
||||
"running": "correndo",
|
||||
"running": "em execução em",
|
||||
"unknownOs": "SO desconhecido",
|
||||
"noActionableWarnings": "Nenhum aviso acionável",
|
||||
"and": "e",
|
||||
@@ -3577,7 +3624,7 @@
|
||||
"reinstallViaPostInstall": "Reinstale via ProxMenux pós-instalação: {label}",
|
||||
"noUpdatesAvailable": "Nenhuma atualização disponível",
|
||||
"none": "nenhum",
|
||||
"running": "correndo",
|
||||
"running": "em execução",
|
||||
"stopped": "parou",
|
||||
"unused": "não utilizado",
|
||||
"unbound": "não vinculado",
|
||||
@@ -4193,7 +4240,7 @@
|
||||
"inProgress": "Backup manual em andamento",
|
||||
"oneShotDescription": "Os backups únicos são mantidos como trabalhos congelados para que você possa inspecionar seus logs mais tarde.",
|
||||
"reopenLogTitle": "Reabrir registro",
|
||||
"run": "Correr",
|
||||
"run": "Executar",
|
||||
"runBackup": "Executar backup",
|
||||
"runOneShotBackup": "Execute o backup único",
|
||||
"title": "Backup manual",
|
||||
@@ -4369,7 +4416,7 @@
|
||||
"manual": "manual",
|
||||
"manualOneShot": "manual / único",
|
||||
"ok": "OK",
|
||||
"running": "correndo",
|
||||
"running": "em execução",
|
||||
"scheduled": "agendado"
|
||||
},
|
||||
"taskStates": {
|
||||
@@ -4378,7 +4425,7 @@
|
||||
"packing": "embalagem",
|
||||
"queued": "na fila",
|
||||
"restoring": "restaurando",
|
||||
"running": "correndo"
|
||||
"running": "em execução"
|
||||
},
|
||||
"usb": {
|
||||
"description": "Monte unidades USB para que possam ser escolhidas como alvo local ou Borg. Unidades que já possuem um sistema de arquivos podem ser remontadas como estão; unidades brutas (sem tabela de partição) podem ser apagadas e formatadas para",
|
||||
@@ -4861,5 +4908,134 @@
|
||||
"customLinkDelete": "Delete",
|
||||
"customLinkSaveError": "Save failed",
|
||||
"customLinkDeleteError": "Delete failed"
|
||||
},
|
||||
"audit": {
|
||||
"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.",
|
||||
"noFindings": "No findings match the current filter.",
|
||||
"showPassing": "Show passing checks",
|
||||
"hidePassing": "Hide passing checks",
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"errors": {
|
||||
"runFailed": "The assessment could not be started."
|
||||
},
|
||||
"checks": {
|
||||
"backup": {
|
||||
"guest_coverage": {
|
||||
"title": "Backup coverage",
|
||||
"rationale": "Compares the guest inventory against what each backup job selects. A job selects by VMID list, by pool, or with `all 1`, minus its `exclude` list. Jobs carrying `enabled 0` are not considered.",
|
||||
"summary": {
|
||||
"noJobs": "No backup job is defined on this node",
|
||||
"covered": "All {total} guests are covered by a backup job",
|
||||
"uncovered": "{count} of {total} guests are not covered by any enabled backup job"
|
||||
}
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"pending_reboot": {
|
||||
"title": "Restart state",
|
||||
"rationale": "Checks for `/var/run/reboot-required` and, when present, the packages listed in `/var/run/reboot-required.pkgs`. Also reports the running kernel.",
|
||||
"summary": {
|
||||
"none": "No restart is pending",
|
||||
"pending": "The host has a pending restart"
|
||||
}
|
||||
},
|
||||
"enterprise_repo_without_subscription": {
|
||||
"title": "Enterprise repository",
|
||||
"rationale": "Looks for references to `enterprise.proxmox.com` in `/etc/apt/sources.list` and `sources.list.d`, and contrasts the result with the status returned by `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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"guests": {
|
||||
"privileged_containers": {
|
||||
"title": "Container privileges",
|
||||
"rationale": "Reviews each container configuration. Proxmox marks unprivileged containers with `unprivileged: 1`; its absence indicates a privileged container, which shares the host user namespace.",
|
||||
"summary": {
|
||||
"allUnprivileged": "All {total} containers are unprivileged",
|
||||
"privileged": "{count} of {total} containers run privileged"
|
||||
}
|
||||
},
|
||||
"qemu_without_agent": {
|
||||
"title": "Guest agent on virtual machines",
|
||||
"rationale": "Reviews each virtual machine configuration for `agent: 1`. The guest agent enables ordered shutdown, filesystem quiescing for snapshots and real disk usage reporting.",
|
||||
"summary": {
|
||||
"allHaveAgent": "All {total} virtual machines declare the guest agent",
|
||||
"missingAgent": "{count} of {total} virtual machines do not declare the guest agent"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": {
|
||||
"host_firewall_enabled": {
|
||||
"title": "Firewall state",
|
||||
"rationale": "Checks `enable: 1` in `/etc/pve/firewall/cluster.fw` and in the node's `host.fw`. Proxmox applies node rules only while the datacenter switch is on.",
|
||||
"summary": {
|
||||
"bothEnabled": "The firewall is enabled at datacenter and node level",
|
||||
"datacenterOff": "The firewall is disabled at datacenter level, so node rules are not applied",
|
||||
"nodeOff": "The firewall is enabled at datacenter level but not on this node"
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage": {
|
||||
"orphaned_volumes": {
|
||||
"title": "Volume assignment",
|
||||
"rationale": "Compares the volumes returned by `pvesm list` against the existing guest configurations. Only non-shared storage is examined: on shared storage a volume may belong to a guest running on another node.",
|
||||
"summary": {
|
||||
"none": "No orphaned volumes were found",
|
||||
"found": "{count} volume(s) belong to no existing guest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,8 @@
|
||||
"profile": "Profil",
|
||||
"node": "Server",
|
||||
"admin": "Správa",
|
||||
"menu": "Navigačné menu"
|
||||
"menu": "Navigačné menu",
|
||||
"audit": "Audit a správy"
|
||||
},
|
||||
"status": {
|
||||
"healthy": "V poriadku",
|
||||
@@ -71,6 +72,8 @@
|
||||
"networkErrorWhileSaving": "Chyba siete pri ukladaní"
|
||||
},
|
||||
"overview": {
|
||||
"metricsTimeout": "Načítanie metrík trvalo dlhšie ako 30 sekúnd. ProxMenux to automaticky skúsi znova.",
|
||||
"metricsCachedWarning": "Metriky sa nepodarilo obnoviť. Zobrazujú sa údaje načítané {time}.",
|
||||
"loadingTitle": "Načítava sa prehľad systému...",
|
||||
"loadingDescription": "Zisťujem stav servera a základné údaje",
|
||||
"topProcessesCpu": "Zobraziť procesy s najvyšším využitím CPU",
|
||||
@@ -932,7 +935,11 @@
|
||||
"noMatches": "Žiadne VM ani LXC nezodpovedajú hľadaniu.",
|
||||
"noRunning": "Nie sú tu žiadne spustené VM ani LXC.",
|
||||
"noStopped": "Nie sú tu žiadne vypnuté VM ani LXC.",
|
||||
"noUpdates": "Žiadne LXC nemá dostupné aktualizácie."
|
||||
"noUpdates": "Žiadne LXC nemá dostupné aktualizácie.",
|
||||
"typeSynonyms": {
|
||||
"lxc": "kontajner kontajnery",
|
||||
"qemu": "vm virtuálny stroj virtuálne stroje"
|
||||
}
|
||||
},
|
||||
"uptime": "Beží: {uptime}",
|
||||
"cpuUsage": "Využitie CPU",
|
||||
@@ -1044,6 +1051,9 @@
|
||||
"stopped": "vypnuté",
|
||||
"mounted": "pripojené"
|
||||
},
|
||||
"mountErrors": {
|
||||
"configuredButNotMounted": "Nastavené, ale nepripojené"
|
||||
},
|
||||
"startOnBoot": "Spúšťať pri štarte",
|
||||
"tags": "Značky",
|
||||
"tagsPlaceholder": "Pridať značku…",
|
||||
@@ -1231,7 +1241,15 @@
|
||||
"humanWeekly": "Týždenne ({day} o {time})",
|
||||
"humanMonthly": "Mesačne ({day}. deň o {time})",
|
||||
"humanHourly": "Každú hodinu",
|
||||
"weekdays": ["nedeľa", "pondelok", "utorok", "streda", "štvrtok", "piatok", "sobota"]
|
||||
"weekdays": [
|
||||
"nedeľa",
|
||||
"pondelok",
|
||||
"utorok",
|
||||
"streda",
|
||||
"štvrtok",
|
||||
"piatok",
|
||||
"sobota"
|
||||
]
|
||||
},
|
||||
"cronChip": {
|
||||
"detected": "zistený cron na serveri",
|
||||
@@ -1258,6 +1276,35 @@
|
||||
"osStatusUnavailable": "Stav aktualizácií operačného systému sa nepodarilo zistiť.",
|
||||
"installedByHelperPrefix": "Nainštalované cez",
|
||||
"helperScriptsName": "Proxmox VE Helper-Scripts",
|
||||
"helperCommandEditHint": "Ak upravíte tento spúšťací príkaz, uloží sa ako vlastný príkaz.",
|
||||
"customOnlineDescription": "Alebo použite online skript poskytnutý vývojárom:",
|
||||
"customOnlineExampleNote": "Nahraďte vzorovú URL adresu adresou oficiálneho skriptu vašej aplikácie.",
|
||||
"customExamplesHeading": "Príklady na prispôsobenie:",
|
||||
"updaterChoiceHint": "Vyberte a uložte spôsob aktualizácie.",
|
||||
"updaterMethodLabel": "Spôsob aktualizácie",
|
||||
"helperMethod": "Helper-Scripts",
|
||||
"customMethod": "Vlastný príkaz",
|
||||
"helperMethodHelp": "O Helper-Scripts",
|
||||
"customMethodHelp": "O vlastných príkazoch",
|
||||
"helperDetectedChoice": "Pre túto aplikáciu bol zistený aktualizátor Helper-Scripts.",
|
||||
"helperUnavailableChoice": "Vybraný aktualizátor Helper-Scripts už nie je dostupný.",
|
||||
"disableUpdater": "Deaktivovať",
|
||||
"disableUpdaterConfirm": "Deaktivovať spôsob aktualizácie pre {name}? Uložené plány a naplánované úlohy si zachovajú svoj výber, ale táto aplikácia sa nespustí, kým znova nenastavíte spôsob aktualizácie.",
|
||||
"noUpdaterSelected": "Nevybrali ste spôsob aktualizácie.",
|
||||
"helperMethodDescription": "ProxMenux spustí zistený aktualizátor v tomto LXC a zobrazí jeho protokol a výsledok. Aktualizátor spravuje Proxmox VE Helper-Scripts.",
|
||||
"customMethodDescription": "Môžete použiť aktualizátor aplikácie, správcu balíkov alebo nový binárny súbor. Príkaz sa spustí v tomto LXC s oprávneniami správcu.",
|
||||
"updaterInstructions": "Prečítajte si pokyny aktualizátora.",
|
||||
"helperDocumentation": "Dokumentácia aktualizácií",
|
||||
"helperSource": "Skript aplikácie",
|
||||
"customMethodExample": "Prispôsobte názvy, cesty a službu svojej aplikácii. Spustí sa iba príkaz, ktorý uložíte.",
|
||||
"helperCommandLabel": "Príkaz v LXC",
|
||||
"helperCommandFallback": "Ak wget nie je dostupný, ProxMenux použije curl -fsSL na stiahnutie rovnakého skriptu.",
|
||||
"customScriptTitle": "Aktualizačný skript",
|
||||
"customScriptDescription": "Spustite aktualizačný skript aplikácie, ktorý už existuje v LXC.",
|
||||
"customPackageTitle": "Balík Debian/Ubuntu",
|
||||
"customPackageDescription": "Nahraďte my-package balíkom, ktorý chcete aktualizovať.",
|
||||
"customBinaryTitle": "Binárny súbor",
|
||||
"customBinaryDescription": "Najprv stiahnite a overte oficiálny binárny súbor správnej verzie a architektúry v /tmp/my-app.new. Tento príklad zachová kópiu predchádzajúceho binárneho súboru a reštartuje príslušnú službu.",
|
||||
"helperUpdatesRun": "Inštalované pomocou Proxmox Helper-Scripts.",
|
||||
"installedPrefix": "nainštalovaná verzia",
|
||||
"upstreamAvailable": "dostupná verzia {version}",
|
||||
@@ -4927,5 +4974,134 @@
|
||||
"customLinkDelete": "Odstrániť",
|
||||
"customLinkSaveError": "Odkaz sa nepodarilo uložiť",
|
||||
"customLinkDeleteError": "Odkaz sa nepodarilo odstrániť"
|
||||
},
|
||||
"audit": {
|
||||
"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.",
|
||||
"noFindings": "No findings match the current filter.",
|
||||
"showPassing": "Show passing checks",
|
||||
"hidePassing": "Hide passing checks",
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"errors": {
|
||||
"runFailed": "The assessment could not be started."
|
||||
},
|
||||
"checks": {
|
||||
"backup": {
|
||||
"guest_coverage": {
|
||||
"title": "Backup coverage",
|
||||
"rationale": "Compares the guest inventory against what each backup job selects. A job selects by VMID list, by pool, or with `all 1`, minus its `exclude` list. Jobs carrying `enabled 0` are not considered.",
|
||||
"summary": {
|
||||
"noJobs": "No backup job is defined on this node",
|
||||
"covered": "All {total} guests are covered by a backup job",
|
||||
"uncovered": "{count} of {total} guests are not covered by any enabled backup job"
|
||||
}
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"pending_reboot": {
|
||||
"title": "Restart state",
|
||||
"rationale": "Checks for `/var/run/reboot-required` and, when present, the packages listed in `/var/run/reboot-required.pkgs`. Also reports the running kernel.",
|
||||
"summary": {
|
||||
"none": "No restart is pending",
|
||||
"pending": "The host has a pending restart"
|
||||
}
|
||||
},
|
||||
"enterprise_repo_without_subscription": {
|
||||
"title": "Enterprise repository",
|
||||
"rationale": "Looks for references to `enterprise.proxmox.com` in `/etc/apt/sources.list` and `sources.list.d`, and contrasts the result with the status returned by `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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"guests": {
|
||||
"privileged_containers": {
|
||||
"title": "Container privileges",
|
||||
"rationale": "Reviews each container configuration. Proxmox marks unprivileged containers with `unprivileged: 1`; its absence indicates a privileged container, which shares the host user namespace.",
|
||||
"summary": {
|
||||
"allUnprivileged": "All {total} containers are unprivileged",
|
||||
"privileged": "{count} of {total} containers run privileged"
|
||||
}
|
||||
},
|
||||
"qemu_without_agent": {
|
||||
"title": "Guest agent on virtual machines",
|
||||
"rationale": "Reviews each virtual machine configuration for `agent: 1`. The guest agent enables ordered shutdown, filesystem quiescing for snapshots and real disk usage reporting.",
|
||||
"summary": {
|
||||
"allHaveAgent": "All {total} virtual machines declare the guest agent",
|
||||
"missingAgent": "{count} of {total} virtual machines do not declare the guest agent"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": {
|
||||
"host_firewall_enabled": {
|
||||
"title": "Firewall state",
|
||||
"rationale": "Checks `enable: 1` in `/etc/pve/firewall/cluster.fw` and in the node's `host.fw`. Proxmox applies node rules only while the datacenter switch is on.",
|
||||
"summary": {
|
||||
"bothEnabled": "The firewall is enabled at datacenter and node level",
|
||||
"datacenterOff": "The firewall is disabled at datacenter level, so node rules are not applied",
|
||||
"nodeOff": "The firewall is enabled at datacenter level but not on this node"
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage": {
|
||||
"orphaned_volumes": {
|
||||
"title": "Volume assignment",
|
||||
"rationale": "Compares the volumes returned by `pvesm list` against the existing guest configurations. Only non-shared storage is examined: on shared storage a volume may belong to a guest running on another node.",
|
||||
"summary": {
|
||||
"none": "No orphaned volumes were found",
|
||||
"found": "{count} volume(s) belong to no existing guest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,8 @@
|
||||
"profile": "Profil",
|
||||
"node": "Nod",
|
||||
"admin": "Administration",
|
||||
"menu": "Navigationsmeny"
|
||||
"menu": "Navigationsmeny",
|
||||
"audit": "Granskning och rapporter"
|
||||
},
|
||||
"status": {
|
||||
"healthy": "Hälsosam",
|
||||
@@ -72,6 +73,8 @@
|
||||
"networkErrorWhileSaving": "Nätverksfel vid lagring"
|
||||
},
|
||||
"overview": {
|
||||
"metricsTimeout": "Mätvärdesfrågan tog längre än 30 sekunder. ProxMenux försöker igen automatiskt.",
|
||||
"metricsCachedWarning": "Mätvärdena kunde inte uppdateras. Data hämtade {time} visas.",
|
||||
"loadingTitle": "Laddar systemöversikt...",
|
||||
"loadingDescription": "Hämtar systemstatus och mätvärden",
|
||||
"topProcessesCpu": "Visa toppprocesser efter CPU",
|
||||
@@ -1030,7 +1033,10 @@
|
||||
"startOnBoot": "Börja vid start",
|
||||
"tags": "Taggar",
|
||||
"tagsPlaceholder": "Lägg till tagg...",
|
||||
"tagsNone": "Inga taggar"
|
||||
"tagsNone": "Inga taggar",
|
||||
"mountErrors": {
|
||||
"configuredButNotMounted": "Konfigurerad men inte monterad"
|
||||
}
|
||||
},
|
||||
"logs": {
|
||||
"header": "Loggar för {name} (VMID: {vmid})",
|
||||
@@ -1214,7 +1220,15 @@
|
||||
"humanWeekly": "Varje vecka ({day} {time})",
|
||||
"humanMonthly": "Varje månad (dag {day} kl. {time})",
|
||||
"humanHourly": "Varje timme",
|
||||
"weekdays": "['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag']"
|
||||
"weekdays": [
|
||||
"söndag",
|
||||
"måndag",
|
||||
"tisdag",
|
||||
"onsdag",
|
||||
"torsdag",
|
||||
"fredag",
|
||||
"lördag"
|
||||
]
|
||||
},
|
||||
"cronChip": {
|
||||
"detected": "host cron upptäckt",
|
||||
@@ -1241,6 +1255,35 @@
|
||||
"osStatusUnavailable": "Statusen för operativsystemets uppdateringar kunde inte fastställas.",
|
||||
"installedByHelperPrefix": "Installerad av",
|
||||
"helperScriptsName": "Proxmox VE Helper-Scripts",
|
||||
"helperCommandEditHint": "Om du ändrar det här startkommandot sparas det som ett eget kommando.",
|
||||
"customOnlineDescription": "Eller använd ett onlineskript från utvecklaren:",
|
||||
"customOnlineExampleNote": "Ersätt exempeladressen med adressen till appens officiella skript.",
|
||||
"customExamplesHeading": "Exempel att anpassa:",
|
||||
"updaterChoiceHint": "Välj och spara en uppdateringsmetod.",
|
||||
"updaterMethodLabel": "Uppdateringsmetod",
|
||||
"helperMethod": "Helper-Scripts",
|
||||
"customMethod": "Eget kommando",
|
||||
"helperMethodHelp": "Om Helper-Scripts",
|
||||
"customMethodHelp": "Om egna kommandon",
|
||||
"helperDetectedChoice": "En Helper-Scripts-uppdaterare har identifierats för den här appen.",
|
||||
"helperUnavailableChoice": "Den valda Helper-Scripts-uppdateraren är inte längre tillgänglig.",
|
||||
"disableUpdater": "Inaktivera",
|
||||
"disableUpdaterConfirm": "Inaktivera uppdateringsmetoden för {name}? Sparade planer och scheman behåller sina val, men den här appen körs inte förrän en metod har konfigurerats igen.",
|
||||
"noUpdaterSelected": "Du har inte valt någon uppdateringsmetod.",
|
||||
"helperMethodDescription": "ProxMenux kör den identifierade uppdateraren i denna LXC och visar dess logg och resultat. Uppdateraren underhålls av Proxmox VE Helper-Scripts.",
|
||||
"customMethodDescription": "Du kan använda appens egen uppdaterare, en pakethanterare eller en ny binärfil. Kommandot körs i denna LXC med administratörsbehörighet.",
|
||||
"updaterInstructions": "Läs uppdaterarens anvisningar.",
|
||||
"helperDocumentation": "Uppdateringsdokumentation",
|
||||
"helperSource": "Appens skript",
|
||||
"customMethodExample": "Anpassa namn, sökvägar och tjänst till din app. Endast kommandot du sparar kommer att köras.",
|
||||
"helperCommandLabel": "Kommando i LXC",
|
||||
"helperCommandFallback": "Om wget inte är tillgängligt använder ProxMenux curl -fsSL för att hämta samma skript.",
|
||||
"customScriptTitle": "Uppdateringsskript",
|
||||
"customScriptDescription": "Kör ett uppdateringsskript för appen som redan finns i LXC.",
|
||||
"customPackageTitle": "Debian/Ubuntu-paket",
|
||||
"customPackageDescription": "Ersätt my-package med paketet du vill uppdatera.",
|
||||
"customBinaryTitle": "Binärfil",
|
||||
"customBinaryDescription": "Hämta och verifiera först den officiella binärfilen för rätt version och arkitektur på /tmp/my-app.new. Det här exemplet sparar en kopia av den tidigare binärfilen och startar om dess tjänst.",
|
||||
"helperUpdatesRun": "Installerad av Proxmox Helper-Scripts.",
|
||||
"installedPrefix": "installerat",
|
||||
"upstreamAvailable": "version {version} tillgänglig",
|
||||
@@ -1564,22 +1607,26 @@
|
||||
"excludeFromBadgeHelp": "Räkna inte den här appen i det samlade uppdateringsmärket på LXC-listkortet.Användbart när du är fäst till en specifik version med avsikt (spårningskrav, frysning av kompatibilitet).Påverkar inte appflikens eget tillstånd eller det utgående meddelandet."
|
||||
},
|
||||
"statusFilter": {
|
||||
"ariaLabel": "Filtrera virtuella maskiner och behållare efter status",
|
||||
"ariaLabel": "Filtrera virtuella maskiner och containrar",
|
||||
"all": "Alla",
|
||||
"running": "Löpning",
|
||||
"running": "Körs",
|
||||
"stopped": "Stoppad",
|
||||
"empty": "Inga virtuella maskiner eller behållare med status \"{status}\""
|
||||
"empty": "Inga virtuella maskiner eller containrar med status \"{status}\""
|
||||
},
|
||||
"filters": {
|
||||
"searchPlaceholder": "Sök efter namn, ID, tagg eller anteckning...",
|
||||
"searchAriaLabel": "Sök i virtuella maskiner och behållare",
|
||||
"searchPlaceholder": "Sök på namn, ID, tagg eller anteckning…",
|
||||
"searchAriaLabel": "Sök virtuella maskiner och containrar",
|
||||
"clearSearch": "Rensa sökning",
|
||||
"updates": "Uppdateringar",
|
||||
"resultCount": "{shown} av {total} maskiner",
|
||||
"noMatches": "Inga virtuella datorer eller LXC:er matchar din sökning.",
|
||||
"noRunning": "Inga virtuella datorer eller LXC:er som körs.",
|
||||
"noStopped": "Inga stoppade virtuella datorer eller LXC:er.",
|
||||
"noUpdates": "Inga LXC med tillgängliga uppdateringar."
|
||||
"noMatches": "Inga VM:ar eller LXC:er matchar sökningen.",
|
||||
"noRunning": "Inga VM:ar eller LXC:er körs.",
|
||||
"noStopped": "Inga stoppade VM:ar eller LXC:er.",
|
||||
"noUpdates": "Inga LXC:er har tillgängliga uppdateringar.",
|
||||
"typeSynonyms": {
|
||||
"lxc": "container containrar",
|
||||
"qemu": "vm virtuell maskin virtuella maskiner"
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
@@ -4063,7 +4110,7 @@
|
||||
"loadingJob": "Laddar jobb...",
|
||||
"manualOneShot": "manuell / one-shot",
|
||||
"manualOneShotDescription": "Säkerhetskopiering i ett skott — fångad vid tidpunkten för utlösningen. Kan inte köras om eller redigeras.",
|
||||
"neverRun": "aldrig springa",
|
||||
"neverRun": "aldrig körd",
|
||||
"newScheduledJob": "Nytt schemalagt jobb",
|
||||
"newScheduledJobDescription": "Skapa ett återkommande värdbackupjobb.",
|
||||
"nextRun": "Nästa körning",
|
||||
@@ -4862,5 +4909,134 @@
|
||||
"customLinkDelete": "Delete",
|
||||
"customLinkSaveError": "Save failed",
|
||||
"customLinkDeleteError": "Delete failed"
|
||||
},
|
||||
"audit": {
|
||||
"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.",
|
||||
"noFindings": "No findings match the current filter.",
|
||||
"showPassing": "Show passing checks",
|
||||
"hidePassing": "Hide passing checks",
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"errors": {
|
||||
"runFailed": "The assessment could not be started."
|
||||
},
|
||||
"checks": {
|
||||
"backup": {
|
||||
"guest_coverage": {
|
||||
"title": "Backup coverage",
|
||||
"rationale": "Compares the guest inventory against what each backup job selects. A job selects by VMID list, by pool, or with `all 1`, minus its `exclude` list. Jobs carrying `enabled 0` are not considered.",
|
||||
"summary": {
|
||||
"noJobs": "No backup job is defined on this node",
|
||||
"covered": "All {total} guests are covered by a backup job",
|
||||
"uncovered": "{count} of {total} guests are not covered by any enabled backup job"
|
||||
}
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"pending_reboot": {
|
||||
"title": "Restart state",
|
||||
"rationale": "Checks for `/var/run/reboot-required` and, when present, the packages listed in `/var/run/reboot-required.pkgs`. Also reports the running kernel.",
|
||||
"summary": {
|
||||
"none": "No restart is pending",
|
||||
"pending": "The host has a pending restart"
|
||||
}
|
||||
},
|
||||
"enterprise_repo_without_subscription": {
|
||||
"title": "Enterprise repository",
|
||||
"rationale": "Looks for references to `enterprise.proxmox.com` in `/etc/apt/sources.list` and `sources.list.d`, and contrasts the result with the status returned by `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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"guests": {
|
||||
"privileged_containers": {
|
||||
"title": "Container privileges",
|
||||
"rationale": "Reviews each container configuration. Proxmox marks unprivileged containers with `unprivileged: 1`; its absence indicates a privileged container, which shares the host user namespace.",
|
||||
"summary": {
|
||||
"allUnprivileged": "All {total} containers are unprivileged",
|
||||
"privileged": "{count} of {total} containers run privileged"
|
||||
}
|
||||
},
|
||||
"qemu_without_agent": {
|
||||
"title": "Guest agent on virtual machines",
|
||||
"rationale": "Reviews each virtual machine configuration for `agent: 1`. The guest agent enables ordered shutdown, filesystem quiescing for snapshots and real disk usage reporting.",
|
||||
"summary": {
|
||||
"allHaveAgent": "All {total} virtual machines declare the guest agent",
|
||||
"missingAgent": "{count} of {total} virtual machines do not declare the guest agent"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": {
|
||||
"host_firewall_enabled": {
|
||||
"title": "Firewall state",
|
||||
"rationale": "Checks `enable: 1` in `/etc/pve/firewall/cluster.fw` and in the node's `host.fw`. Proxmox applies node rules only while the datacenter switch is on.",
|
||||
"summary": {
|
||||
"bothEnabled": "The firewall is enabled at datacenter and node level",
|
||||
"datacenterOff": "The firewall is disabled at datacenter level, so node rules are not applied",
|
||||
"nodeOff": "The firewall is enabled at datacenter level but not on this node"
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage": {
|
||||
"orphaned_volumes": {
|
||||
"title": "Volume assignment",
|
||||
"rationale": "Compares the volumes returned by `pvesm list` against the existing guest configurations. Only non-shared storage is examined: on shared storage a volume may belong to a guest running on another node.",
|
||||
"summary": {
|
||||
"none": "No orphaned volumes were found",
|
||||
"found": "{count} volume(s) belong to no existing guest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user