mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-02 10:52:22 +00:00
i18n: complete the other languages for the Slovak work
- Translate the new terminal and Monitor texts into es, de, fr, it, pt and sv - Replace the machine fills of those new keys with reviewed translations - Keep the complete terminal catalog check in CI - Keep Machine learning in English in Spanish - Fix the German Exit label - Make the fallback tests use a locale without the keys
This commit is contained in:
@@ -69,21 +69,13 @@ class TerminalCatalogsTests(unittest.TestCase):
|
|||||||
def test_shipped_active_catalogs_keep_literal_contracts(self):
|
def test_shipped_active_catalogs_keep_literal_contracts(self):
|
||||||
result = subprocess.run(
|
result = subprocess.run(
|
||||||
[sys.executable, '-B', str(SCRIPTS / 'check_terminal_catalogs.py'),
|
[sys.executable, '-B', str(SCRIPTS / 'check_terminal_catalogs.py'),
|
||||||
'--root', str(ROOT)],
|
'--root', str(ROOT), '--require-complete'],
|
||||||
capture_output=True, text=True, timeout=60,
|
capture_output=True, text=True, timeout=60,
|
||||||
)
|
)
|
||||||
self.assertEqual(result.returncode, 0, result.stdout + result.stderr)
|
self.assertEqual(result.returncode, 0, result.stdout + result.stderr)
|
||||||
for locale in MODULE.DEFAULT_LANGUAGES:
|
for locale in MODULE.DEFAULT_LANGUAGES:
|
||||||
self.assertIn(f'[{locale}] active=', result.stdout)
|
self.assertIn(f'[{locale}] active=', result.stdout)
|
||||||
# New hand-reviewed Slovak keys ship with their source changes;
|
self.assertNotIn('missing=1', result.stdout)
|
||||||
# other locales may use the runtime English fallback until translated.
|
|
||||||
result = subprocess.run(
|
|
||||||
[sys.executable, '-B', str(SCRIPTS / 'check_terminal_catalogs.py'),
|
|
||||||
'--root', str(ROOT), '--languages', 'sk', '--require-complete'],
|
|
||||||
capture_output=True, text=True, timeout=60,
|
|
||||||
)
|
|
||||||
self.assertEqual(result.returncode, 0, result.stdout + result.stderr)
|
|
||||||
self.assertIn('missing=0', result.stdout)
|
|
||||||
|
|
||||||
def test_optional_completeness_still_rejects_invalid_present_translations(self):
|
def test_optional_completeness_still_rejects_invalid_present_translations(self):
|
||||||
with tempfile.TemporaryDirectory() as temporary:
|
with tempfile.TemporaryDirectory() as temporary:
|
||||||
|
|||||||
+295
-135
@@ -1231,7 +1231,9 @@
|
|||||||
"update": "Aktualisieren",
|
"update": "Aktualisieren",
|
||||||
"modify": "Ändern",
|
"modify": "Ändern",
|
||||||
"recover": "Wiederherstellen",
|
"recover": "Wiederherstellen",
|
||||||
|
"registerRestored": "Erneut registrieren",
|
||||||
"terminalTitleUpdate": "OCI-Anwendung aktualisieren",
|
"terminalTitleUpdate": "OCI-Anwendung aktualisieren",
|
||||||
|
"terminalTitleRecoverPrevious": "Vorherige OCI-Installation wiederherstellen",
|
||||||
"terminalTitleModify": "OCI-Anwendung ändern",
|
"terminalTitleModify": "OCI-Anwendung ändern",
|
||||||
"terminalTitleRecover": "Wiederhergestellte OCI-Anwendung registrieren",
|
"terminalTitleRecover": "Wiederhergestellte OCI-Anwendung registrieren",
|
||||||
"terminalDescription": "Es läuft derselbe Vorgang wie im ProxMenux-Menü: OCI manager Apps → Installierte OCI-Anwendungen verwalten.",
|
"terminalDescription": "Es läuft derselbe Vorgang wie im ProxMenux-Menü: OCI manager Apps → Installierte OCI-Anwendungen verwalten.",
|
||||||
@@ -1760,7 +1762,128 @@
|
|||||||
"dockerEvidenceImage": "Image",
|
"dockerEvidenceImage": "Image",
|
||||||
"dockerEvidencePort": "Veröffentlichter TCP-Port",
|
"dockerEvidencePort": "Veröffentlichter TCP-Port",
|
||||||
"dockerEvidenceProject": "Compose-Projekt",
|
"dockerEvidenceProject": "Compose-Projekt",
|
||||||
"dockerEndpointReview": "Container mit veröffentlichten TCP-Ports. Bestätigen Sie Namen und Webadresse vor dem Speichern. Die Registrierung richtet keine Updates ein."
|
"dockerEndpointReview": "Container mit veröffentlichten TCP-Ports. Bestätigen Sie Namen und Webadresse vor dem Speichern. Die Registrierung richtet keine Updates ein.",
|
||||||
|
"confirmRemove": "Den Eintrag dieser Anwendung aus der Registerkarte App entfernen? Die Anwendung wird dadurch nicht deinstalliert.",
|
||||||
|
"packageExample": "z. B. {package}",
|
||||||
|
"packageHelpBefore": "Automatisch aus dem Namen ausgefüllt. Prüfen Sie dies mit",
|
||||||
|
"packageHelpAfter": "innerhalb des CT.",
|
||||||
|
"binaryHelpBefore": "Absoluter Pfad. Ermitteln Sie ihn mit",
|
||||||
|
"binaryHelpOr": "oder",
|
||||||
|
"errors": {
|
||||||
|
"ociBusy": "ein OCI-Vorgang an diesem Container läuft",
|
||||||
|
"dpkgMissing": "{package} ist nicht über dpkg installiert",
|
||||||
|
"dpkgFailed": "dpkg-query ist fehlgeschlagen",
|
||||||
|
"dpkgNoVersion": "keine passende Version in der dpkg-Ausgabe",
|
||||||
|
"apkFailed": "apk info ist fehlgeschlagen",
|
||||||
|
"apkNoVersion": "keine passende Version in der apk-Ausgabe",
|
||||||
|
"fileRead": "{path} konnte nicht gelesen werden",
|
||||||
|
"fileNoMatch": "file_regex hat in {path} keine Übereinstimmung gefunden",
|
||||||
|
"binaryFailed": "Aufruf der Binärdatei fehlgeschlagen",
|
||||||
|
"binaryNoVersion": "keine passende Version in der Ausgabe der Binärdatei",
|
||||||
|
"pythonFailed": "python -c importlib.metadata ist fehlgeschlagen",
|
||||||
|
"pythonNoVersion": "keine passende Version in der Ausgabe der Python-Distribution",
|
||||||
|
"dockerImageResolve": "das installierte Image des Containers konnte nicht ermittelt werden",
|
||||||
|
"dockerInspectFailed": "docker inspect ist fehlgeschlagen",
|
||||||
|
"dockerLabelMissing": "der Container hat kein Label {label}",
|
||||||
|
"dockerLabelMutable": "das Docker-Label meldet {tag} (veränderlicher Tag, keine Version)",
|
||||||
|
"dockerLabelNoVersion": "keine passende Version in der Ausgabe des Docker-Labels",
|
||||||
|
"dockerExecFailed": "docker exec ist fehlgeschlagen",
|
||||||
|
"dockerExecNoVersion": "keine passende Version in der Ausgabe von docker exec",
|
||||||
|
"commandEmpty": "command_argv ist leer",
|
||||||
|
"commandFailed": "Befehl fehlgeschlagen",
|
||||||
|
"commandNoVersion": "keine passende Version in der Befehlsausgabe",
|
||||||
|
"unsupportedMethod": "nicht unterstützte Methode: {method}",
|
||||||
|
"unknownUpstream": "unbekannter upstream_type: {type}",
|
||||||
|
"githubNotFound": "{repo}: nicht gefunden",
|
||||||
|
"githubRejected": "GitHub hat die Anfrage abgelehnt (403)",
|
||||||
|
"githubError": "GitHub-Fehler {code}",
|
||||||
|
"noRelease": "kein Tag / Release-Name in der Antwort",
|
||||||
|
"tagNoMatch": "tag_regex passt nicht auf '{tag}'",
|
||||||
|
"httpError": "HTTP-Fehler {code}",
|
||||||
|
"invalidJson": "ungültige JSON-Antwort: {detail}",
|
||||||
|
"jsonPathUnresolved": "json_path '{path}' konnte nicht aufgelöst werden",
|
||||||
|
"jsonEmpty": "leerer Wert bei json_path",
|
||||||
|
"dockerNoTags": "keine passenden Tags (docker_hub)",
|
||||||
|
"dockerMovingOnly": "tag_regex passt nur auf bewegliche Tags; verwenden Sie die Digest-Verfolgung der Docker-Images",
|
||||||
|
"dockerHubError": "Docker-Hub-Fehler {code}",
|
||||||
|
"dockerHubJson": "ungültiges JSON von Docker Hub: {detail}",
|
||||||
|
"dockerHubEmpty": "Docker Hub hat keine Tags zurückgegeben",
|
||||||
|
"payload": "die Nutzdaten müssen ein JSON-Objekt sein",
|
||||||
|
"name": "name ist erforderlich und muss 1-64 Zeichen aus Buchstaben/Ziffern/Leerzeichen/._+-()/ enthalten",
|
||||||
|
"method": "installed_via muss einer der folgenden Werte sein: {values} oder leer",
|
||||||
|
"package": "package ist erforderlich (Buchstaben/Ziffern/._+@:/ bis zu 127 Zeichen)",
|
||||||
|
"filePath": "file_path ist erforderlich und muss ein absoluter Pfad sein",
|
||||||
|
"fileRegex": "file_regex ist erforderlich",
|
||||||
|
"fileRegexInvalid": "file_regex ist kein gültiger regulärer Ausdruck: {detail}",
|
||||||
|
"binaryPath": "binary_path ist erforderlich und muss ein absoluter Pfad sein",
|
||||||
|
"pythonPath": "python_path ist erforderlich und muss ein absoluter Pfad sein",
|
||||||
|
"distribution": "distribution ist erforderlich (Name nach PEP 503)",
|
||||||
|
"container": "container_name ist erforderlich (Docker-Namensregeln)",
|
||||||
|
"label": "label ist erforderlich (OCI-Namensregeln für Labels)",
|
||||||
|
"dockerBinary": "binary_path ist erforderlich (absoluter Pfad oder bloßer Befehl)",
|
||||||
|
"manualVersion": "installed_version ist für die manuelle Methode erforderlich",
|
||||||
|
"versionLength": "installed_version überschreitet {max} Zeichen",
|
||||||
|
"versionControl": "installed_version enthält ein unzulässiges Steuerzeichen",
|
||||||
|
"installedRegexInvalid": "installed_regex ist kein gültiger regulärer Ausdruck: {detail}",
|
||||||
|
"upstreamType": "upstream_type muss einer der folgenden Werte sein: {values}",
|
||||||
|
"tagRegexInvalid": "tag_regex ist kein gültiger regulärer Ausdruck: {detail}",
|
||||||
|
"repoRequired": "repo ist für upstream_type=github erforderlich",
|
||||||
|
"repoFormat": "repo muss 'owner/name' sein",
|
||||||
|
"githubSource": "github_source muss einer der folgenden Werte sein: {values}",
|
||||||
|
"upstreamUrlRequired": "upstream_url ist für upstream_type=http_json erforderlich",
|
||||||
|
"upstreamUrl": "upstream_url muss eine http(s)-URL sein",
|
||||||
|
"upstreamUrlLength": "upstream_url überschreitet {max} Zeichen",
|
||||||
|
"jsonPathRequired": "upstream_json_path ist für upstream_type=http_json erforderlich",
|
||||||
|
"jsonPathLength": "upstream_json_path überschreitet {max} Zeichen",
|
||||||
|
"jsonPathCharacters": "upstream_json_path verwendet unzulässige Zeichen",
|
||||||
|
"dockerImageRequired": "docker_image ist für upstream_type=docker_hub erforderlich",
|
||||||
|
"dockerImageLength": "docker_image überschreitet {max} Zeichen",
|
||||||
|
"dockerImageFormat": "docker_image muss der Docker-Hub-Benennung entsprechen (owner/name oder name)",
|
||||||
|
"healthPath": "health_path muss ein gültiger URL-Pfad sein (max. 255 Zeichen)",
|
||||||
|
"logoUrl": "logo_url muss eine http(s)-URL oder das lokal zwischengespeicherte Symbol dieser VM sein",
|
||||||
|
"discoveryId": "ungültige discovery_id",
|
||||||
|
"helperSlug": "helper_slug muss ein Slug in Kleinbuchstaben sein (Buchstaben/Ziffern/._-)",
|
||||||
|
"updateVia": "update_via akzeptiert nur 'docker'",
|
||||||
|
"dockerDetector": "update_via=docker erfordert einen Detektor docker_label oder docker_exec",
|
||||||
|
"dockerConflict": "update_via=docker kann nicht mit {field} kombiniert werden",
|
||||||
|
"updateCommandType": "update_command muss eine Zeichenkette sein",
|
||||||
|
"updateCommandLength": "update_command überschreitet {max} Zeichen",
|
||||||
|
"updateCommandNull": "update_command enthält ein Null-Byte",
|
||||||
|
"updateMethod": "update_method muss none, helper oder custom sein",
|
||||||
|
"updateCommandRequired": "update_command ist für update_method=custom erforderlich",
|
||||||
|
"updateCommandOnlyCustom": "update_command ist nur für update_method=custom zulässig",
|
||||||
|
"helperRequired": "für update_method=helper ist ein unterstützter helper_slug erforderlich",
|
||||||
|
"dockerUpdater": "An Docker delegierte Apps werden über ihr Image aktualisiert, nicht über einen separaten App-Updater",
|
||||||
|
"commandRequired": "command_argv ist erforderlich (nicht leere Liste)",
|
||||||
|
"commandList": "command_argv muss eine nicht leere Liste von Zeichenketten sein",
|
||||||
|
"commandCount": "command_argv akzeptiert höchstens {max} Einträge",
|
||||||
|
"commandEntry": "command_argv[{index}] muss eine nicht leere Zeichenkette sein",
|
||||||
|
"commandEntryLength": "command_argv[{index}] überschreitet {max} Zeichen",
|
||||||
|
"commandEntryControl": "command_argv[{index}] enthält ein unzulässiges Steuerzeichen",
|
||||||
|
"binaryArgsList": "binary_args muss eine Liste von Zeichenketten sein",
|
||||||
|
"binaryArgsCount": "binary_args akzeptiert höchstens {max} Einträge",
|
||||||
|
"binaryArgEntry": "binary_args[{index}] muss eine nicht leere Zeichenkette sein",
|
||||||
|
"binaryArgLength": "binary_args[{index}] überschreitet {max} Zeichen",
|
||||||
|
"binaryArgControl": "binary_args[{index}] enthält ein unzulässiges Steuerzeichen",
|
||||||
|
"portsList": "ports muss eine Liste von {port, description, scheme} sein",
|
||||||
|
"portObject": "ports[{index}] muss ein Objekt sein",
|
||||||
|
"portRequired": "ports[{index}].port ist erforderlich",
|
||||||
|
"portInteger": "ports[{index}].port muss eine Ganzzahl sein",
|
||||||
|
"portRange": "ports[{index}].port muss zwischen 1 und 65535 liegen",
|
||||||
|
"portDuplicate": "Port {port} kommt für diese App mehrfach vor",
|
||||||
|
"portDescription": "ports[{index}].description enthält ungültige Zeichen",
|
||||||
|
"portScheme": "ports[{index}].scheme muss 'http' oder 'https' sein",
|
||||||
|
"portPath": "ports[{index}].web_path muss ein gültiger URL-Pfad sein (max. 255 Zeichen)",
|
||||||
|
"portLogo": "ports[{index}].logo_url muss eine http(s)-URL sein (max. 512 Zeichen)",
|
||||||
|
"portCategory": "ports[{index}].category enthält ungültige Zeichen oder ist zu lang",
|
||||||
|
"portCustomUrl": "ports[{index}].custom_url muss eine http(s)-URL sein (max. 512 Zeichen)",
|
||||||
|
"tagRegexLength": "tag_regex überschreitet 512 Zeichen",
|
||||||
|
"persistPermission": "Sidecar konnte nicht gespeichert werden (Berechtigung?)",
|
||||||
|
"persist": "Sidecar konnte nicht gespeichert werden",
|
||||||
|
"noApps": "für diese vmid sind keine Apps registriert",
|
||||||
|
"appMissing": "app_id '{appId}' nicht gefunden",
|
||||||
|
"appNotFound": "App nicht gefunden"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"statusFilter": {
|
"statusFilter": {
|
||||||
"ariaLabel": "Virtuelle Maschinen und Container filtern",
|
"ariaLabel": "Virtuelle Maschinen und Container filtern",
|
||||||
@@ -2294,6 +2417,42 @@
|
|||||||
"updateManyDescription": "Wiederholen Sie die Nachinstallationsfunktionen von {count} nacheinander.",
|
"updateManyDescription": "Wiederholen Sie die Nachinstallationsfunktionen von {count} nacheinander.",
|
||||||
"legacySourceTitle": "Legacy-Optimierung – klicken Sie, um die Quelle anzuzeigen",
|
"legacySourceTitle": "Legacy-Optimierung – klicken Sie, um die Quelle anzuzeigen",
|
||||||
"sourceTitle": "Klicken Sie hier, um den Quellcode anzuzeigen",
|
"sourceTitle": "Klicken Sie hier, um den Quellcode anzuzeigen",
|
||||||
|
"sourceDialogTitle": "Quellcode: {name}",
|
||||||
|
"sourceLoading": "Quellcode wird geladen…",
|
||||||
|
"sourceUnavailable": "Der Quellcode ist nicht verfügbar.",
|
||||||
|
"sourceLoadFailed": "Der Quellcode konnte nicht geladen werden. Versuchen Sie es erneut.",
|
||||||
|
"sourceFunctionMissing": "Die Funktion wurde in den verfügbaren Skripten nicht gefunden.",
|
||||||
|
"sourceUnknownTool": "Unbekanntes Tool: {tool}",
|
||||||
|
"sourceNoMapping": "Dem Tool {tool} ist keine Funktion zugeordnet.",
|
||||||
|
"sourceToolNames": {
|
||||||
|
"subscription_banner": "Entfernung des Abonnementbanners",
|
||||||
|
"time_sync": "Zeitsynchronisierung",
|
||||||
|
"apt_languages": "APT-Sprachdateien überspringen",
|
||||||
|
"journald": "Journald-Optimierung",
|
||||||
|
"logrotate": "Logrotate-Optimierung",
|
||||||
|
"system_limits": "Erhöhung der Systemlimits",
|
||||||
|
"memory_settings": "Optimierung der Speichereinstellungen",
|
||||||
|
"zram_swap": "ZRAM-Swap-Profil",
|
||||||
|
"kernel_panic": "Konfiguration bei Kernel Panic",
|
||||||
|
"apt_ipv4": "APT IPv4 erzwingen",
|
||||||
|
"kexec": "kexec für schnelle Neustarts",
|
||||||
|
"rpc": "RPC / rpcbind deaktivieren",
|
||||||
|
"motd": "Benutzerdefiniertes MOTD-Banner",
|
||||||
|
"system_utils": "Systemdienstprogramme",
|
||||||
|
"network_optimization": "Netzwerkoptimierungen",
|
||||||
|
"bashrc_custom": "Bashrc-Anpassung",
|
||||||
|
"figurine": "Figurine",
|
||||||
|
"fastfetch": "Fastfetch",
|
||||||
|
"log2ram": "Log2ram (SSD-Schutz)",
|
||||||
|
"zfs_autotrim": "ZFS Autotrim",
|
||||||
|
"amd_fixes": "Korrekturen für AMD-CPUs (Ryzen/EPYC)",
|
||||||
|
"persistent_network": "Persistente Netzwerkschnittstellen festlegen",
|
||||||
|
"vfio_iommu": "VFIO/IOMMU-Passthrough",
|
||||||
|
"lvm_repair": "Reparatur der LVM-PV-Header",
|
||||||
|
"repo_cleanup": "Repository-Bereinigung",
|
||||||
|
"proxmox_repos": "Proxmox-APT-Repositorys",
|
||||||
|
"entropy": "Entropie-Erzeugung (haveged)"
|
||||||
|
},
|
||||||
"legacy": "Vermächtnis",
|
"legacy": "Vermächtnis",
|
||||||
"updateToolTitle": "Aktualisieren Sie {name} auf v{version}",
|
"updateToolTitle": "Aktualisieren Sie {name} auf v{version}",
|
||||||
"availableUpdates": "Verfügbare Updates",
|
"availableUpdates": "Verfügbare Updates",
|
||||||
@@ -4823,121 +4982,121 @@
|
|||||||
},
|
},
|
||||||
"apiErrors": {
|
"apiErrors": {
|
||||||
"requestFailed": "Die Anfrage ist fehlgeschlagen.",
|
"requestFailed": "Die Anfrage ist fehlgeschlagen.",
|
||||||
"absolutePath": "Pfad muss absolut sein",
|
"absolutePath": "der Pfad muss absolut sein",
|
||||||
"pathConfigured": "Dieser Pfad ist bereits konfiguriert",
|
"pathConfigured": "dieser Pfad ist bereits konfiguriert",
|
||||||
"pathRequired": "Pfad ist erforderlich",
|
"pathRequired": "der Pfad ist erforderlich",
|
||||||
"pathQuery": "path query parameter is required",
|
"pathQuery": "der Abfrageparameter path ist erforderlich",
|
||||||
"pathNotFound": "Pfad nicht gefunden",
|
"pathNotFound": "Pfad nicht gefunden",
|
||||||
"invalidJobId": "ungültige Job-ID",
|
"invalidJobId": "ungültige Auftrags-ID",
|
||||||
"jobNotFound": "Job nicht gefunden",
|
"jobNotFound": "Auftrag nicht gefunden",
|
||||||
"runnerMissing": "Runner-Skript nicht installiert",
|
"runnerMissing": "Ausführungsskript nicht installiert",
|
||||||
"noRestore": "Kein Wiederherstellungsstatus zum Verwerfen",
|
"noRestore": "kein Wiederherstellungsstatus zum Verwerfen vorhanden",
|
||||||
"invalidFile": "ungültiger Dateiname",
|
"invalidFile": "ungültiger Dateiname",
|
||||||
"notFound": "not found",
|
"notFound": "nicht gefunden",
|
||||||
"logOutside": "Protokollpfad außerhalb des zulässigen Verzeichnisses",
|
"logOutside": "Protokollpfad außerhalb des zulässigen Verzeichnisses",
|
||||||
"targetsList": "Ziele müssen eine Liste sein",
|
"targetsList": "targets muss eine Liste sein",
|
||||||
"emptyExpression": "leerer Ausdruck",
|
"emptyExpression": "leerer Ausdruck",
|
||||||
"invalidId": "ungültige ID (verwenden Sie Buchstaben, Ziffern, _ oder -)",
|
"invalidId": "ungültige ID (Buchstaben, Ziffern, _ oder - verwenden)",
|
||||||
"backend": "backend must be pbs, local or borg",
|
"backend": "backend muss pbs, local oder borg sein",
|
||||||
"remoteBackend": "Backend muss pbs oder borg sein",
|
"remoteBackend": "backend muss pbs oder borg sein",
|
||||||
"remoteBackendQuoted": "Backend muss „pbs“ oder „borg“ sein.",
|
"remoteBackendQuoted": "backend muss 'pbs' oder 'borg' sein",
|
||||||
"profileMode": "„profile_mode“ muss „Standard“ oder „Benutzerdefiniert“ sein",
|
"profileMode": "profile_mode muss default oder custom sein",
|
||||||
"borgAttached": "Borg kann nicht angehängt werden (PVE vzdump schreibt nur auf PBS/lokale Speicher)",
|
"borgAttached": "borg kann nicht angehängt werden (PVE vzdump schreibt nur auf pbs/local-Speicher)",
|
||||||
"borgAttachedLong": "Borg ist kein gültiges Backend für angehängte Jobs (PVE vzdump schreibt nur in PBS/lokale Speicher)",
|
"borgAttachedLong": "borg ist kein gültiges Backend für angehängte Aufträge (PVE vzdump schreibt nur auf pbs/local-Speicher)",
|
||||||
"parentRequired": "pve_parent_job_id und pve_storage sind zum Anhängen erforderlich",
|
"parentRequired": "pve_parent_job_id und pve_storage sind für attached erforderlich",
|
||||||
"absolutePaths": "Pfade müssen eine Liste absoluter Pfade sein",
|
"absolutePaths": "paths muss eine Liste absoluter Pfade sein",
|
||||||
"customPath": "Benutzerdefiniertes Profil benötigt mindestens einen Pfad",
|
"customPath": "das benutzerdefinierte Profil benötigt mindestens einen Pfad",
|
||||||
"defaultPaths": "Standardprofilpfade konnten nicht aufgelöst werden",
|
"defaultPaths": "die Pfade des Standardprofils konnten nicht ermittelt werden",
|
||||||
"retentionObject": "retention must be an object",
|
"retentionObject": "retention muss ein Objekt sein",
|
||||||
"pbsRepository": "pbs_repository ist erforderlich",
|
"pbsRepository": "pbs_repository ist erforderlich",
|
||||||
"pbsEncryption": "pbs_encrypt_mode muss „none“, „new“ oder „existing“ sein.",
|
"pbsEncryption": "pbs_encrypt_mode muss 'none', 'new' oder 'existing' sein",
|
||||||
"pbsKeyFailed": "failed to create PBS encryption keyfile",
|
"pbsKeyFailed": "die PBS-Verschlüsselungsschlüsseldatei konnte nicht erstellt werden",
|
||||||
"pbsClientMissing": "PBS-Verschlüsselungsschlüsseldatei konnte nicht erstellt werden (ist proxmox-backup-client installiert?)",
|
"pbsClientMissing": "die PBS-Verschlüsselungsschlüsseldatei konnte nicht erstellt werden (ist proxmox-backup-client installiert?)",
|
||||||
"borgRepository": "borg_repo ist erforderlich",
|
"borgRepository": "borg_repo ist erforderlich",
|
||||||
"borgEncryption": "borg_encrypt_mode muss einer der folgenden Werte sein: none, repokey, keyfile, Authenticated",
|
"borgEncryption": "borg_encrypt_mode muss einer der folgenden Werte sein: none, repokey, keyfile, authenticated",
|
||||||
"encryption": "encrypt_mode muss einer von „none“, „repokey“, „keyfile“ und „authentifiziert“ sein",
|
"encryption": "encrypt_mode muss einer der folgenden Werte sein: none, repokey, keyfile, authenticated",
|
||||||
"borgPassphrase": "borg_passphrase ist erforderlich, wenn die Verschlüsselung aktiviert ist (speichern Sie sie am Ziel oder übergeben Sie eine in der Anfrage).",
|
"borgPassphrase": "borg_passphrase ist erforderlich, wenn die Verschlüsselung aktiviert ist (am Ziel speichern oder in der Anfrage übergeben)",
|
||||||
"passphrase": "passphrase is required when encryption is enabled",
|
"passphrase": "die Passphrase ist erforderlich, wenn die Verschlüsselung aktiviert ist",
|
||||||
"password": "Passwort ist erforderlich",
|
"password": "das Passwort ist erforderlich",
|
||||||
"deviceConfirmation": "bestätigen_Gerät muss genau mit dem Gerät übereinstimmen (Tippfehler/Sicherheitsüberprüfung)",
|
"deviceConfirmation": "confirm_device muss exakt mit device übereinstimmen (Tippfehler-/Sicherheitsprüfung)",
|
||||||
"invalidDevice": "ungültiger Gerätepfad",
|
"invalidDevice": "ungültiger Gerätepfad",
|
||||||
"absoluteMountpoint": "Absoluter Mountpoint erforderlich",
|
"absoluteMountpoint": "absoluter Einhängepunkt erforderlich",
|
||||||
"archiveLayout": "Archivlayout nicht erkannt – kein rootfs/ gefunden",
|
"archiveLayout": "Archivstruktur nicht erkannt – kein rootfs/ gefunden",
|
||||||
"archiveMissing": "Archiv nicht gefunden",
|
"archiveMissing": "Archiv nicht gefunden",
|
||||||
"archiveNotFile": "Archivpfad ist keine reguläre Datei",
|
"archiveNotFile": "der Archivpfad ist keine reguläre Datei",
|
||||||
"invalidName": "invalid name",
|
"invalidName": "ungültiger Name",
|
||||||
"invalidStaging": "ungültiger staging_path",
|
"invalidStaging": "ungültiger staging_path",
|
||||||
"jobRename": "Jobname kann nicht geändert werden (löschen + neu erstellen, um umzubenennen)",
|
"jobRename": "der Auftragsname kann nicht geändert werden (zum Umbenennen löschen und neu erstellen)",
|
||||||
"absoluteKey": "key_path muss absolut sein",
|
"absoluteKey": "key_path muss absolut sein",
|
||||||
"mode": "Der Modus muss „lokal“ oder „ssh“ sein.",
|
"mode": "mode muss \"local\" oder \"ssh\" sein",
|
||||||
"nameRequired": "Name ist erforderlich (Buchstaben, Ziffern, _ oder -)",
|
"nameRequired": "der Name ist erforderlich (Buchstaben, Ziffern, _ oder -)",
|
||||||
"noLog": "Für diesen Job ist noch kein Protokoll verfügbar",
|
"noLog": "für diesen Auftrag ist noch kein Protokoll verfügbar",
|
||||||
"noPbsConfig": "keine manuelle PBS-Konfigurationsdatei",
|
"noPbsConfig": "keine Datei mit manuellen PBS-Konfigurationen",
|
||||||
"outputMissing": "Ausgabedatei fehlt",
|
"outputMissing": "Ausgabedatei fehlt",
|
||||||
"parserJson": "Parser-Ausgabe war kein gültiges JSON",
|
"parserJson": "die Ausgabe des Parsers war kein gültiges JSON",
|
||||||
"restoreJson": "Die Ausgabe von run_restore war kein gültiger JSON-Code",
|
"restoreJson": "die Ausgabe von run_restore war kein gültiges JSON",
|
||||||
"repoRequired": "Repo ist erforderlich",
|
"repoRequired": "repo ist erforderlich",
|
||||||
"repoSnapshot": "repo_name und snapshot sind erforderlich",
|
"repoSnapshot": "repo_name und snapshot sind erforderlich",
|
||||||
"borgRepoSnapshot": "Repo-Name und Snapshot sind für Borg erforderlich",
|
"borgRepoSnapshot": "repo_name und snapshot sind für borg erforderlich",
|
||||||
"pbsRepoSnapshot": "repo_name und snapshot sind für pbs erforderlich",
|
"pbsRepoSnapshot": "repo_name und snapshot sind für pbs erforderlich",
|
||||||
"repoName": "repo_name ist erforderlich",
|
"repoName": "repo_name ist erforderlich",
|
||||||
"restoreMissing": "Wiederherstellungstool ist auf diesem Host nicht installiert",
|
"restoreMissing": "die Wiederherstellungswerkzeuge sind auf diesem Host nicht installiert",
|
||||||
"serverDatastore": "server and datastore are required",
|
"serverDatastore": "server und datastore sind erforderlich",
|
||||||
"snapshotRequired": "Schnappschuss ist erforderlich",
|
"snapshotRequired": "snapshot ist erforderlich",
|
||||||
"source": "Quelle muss pbs, borg oder lokal sein",
|
"source": "source muss pbs, borg oder local sein",
|
||||||
"sshPort": "ssh_port muss eine Ganzzahl zwischen 1 und 65535 sein",
|
"sshPort": "ssh_port muss eine Ganzzahl zwischen 1 und 65535 sein",
|
||||||
"sshRequired": "ssh_user, ssh_host und ssh_remote_path sind für den ssh-Modus erforderlich",
|
"sshRequired": "ssh_user, ssh_host und ssh_remote_path sind für den ssh-Modus erforderlich",
|
||||||
"repositoryPath": "Ziel hat keinen Repository-Pfad",
|
"repositoryPath": "das Ziel hat keinen Repository-Pfad",
|
||||||
"taskExpired": "task not found or expired",
|
"taskExpired": "Aufgabe nicht gefunden oder abgelaufen",
|
||||||
"invalidExpression": "ungültiger Ausdruck",
|
"invalidExpression": "ungültiger Ausdruck",
|
||||||
"noReport": "Kein Bericht ausgegeben",
|
"noReport": "kein Bericht ausgegeben",
|
||||||
"parseManifestFailed": "parse_manifest exited non-zero",
|
"parseManifestFailed": "parse_manifest wurde mit einem Fehlercode beendet",
|
||||||
"jobExists": "Job existiert bereits: {value}",
|
"jobExists": "Auftrag existiert bereits: {value}",
|
||||||
"pathMissing": "Pfad existiert auf diesem Host nicht: {value}",
|
"pathMissing": "Pfad existiert auf diesem Host nicht: {value}",
|
||||||
"deviceMissing": "device does not exist: {value}",
|
"deviceMissing": "Gerät existiert nicht: {value}",
|
||||||
"mountpoint": "kein Mountpunkt: {value}",
|
"mountpoint": "kein Einhängepunkt: {value}",
|
||||||
"localArchiveMissing": "local archive not found: {value}",
|
"localArchiveMissing": "lokales Archiv nicht gefunden: {value}",
|
||||||
"borgDestination": "Borg-Ziel „{value}“ nicht gefunden",
|
"borgDestination": "Borg-Ziel '{value}' nicht gefunden",
|
||||||
"pbsDestination": "PBS-Ziel „{value}“ nicht gefunden",
|
"pbsDestination": "PBS-Ziel '{value}' nicht gefunden",
|
||||||
"pbsPassword": "Für PBS-Repo „{value}“ ist kein Passwort verfügbar.",
|
"pbsPassword": "kein Passwort für das PBS-Repo '{value}' verfügbar",
|
||||||
"borgRepoMissing": "Borg-Repo „{value}“ nicht konfiguriert",
|
"borgRepoMissing": "Borg-Repo \"{value}\" nicht konfiguriert",
|
||||||
"pbsRepoMissing": "PBS-Repo „{value}“ nicht konfiguriert",
|
"pbsRepoMissing": "PBS-Repo \"{value}\" nicht konfiguriert",
|
||||||
"borgTargetMissing": "Borg-Ziel nicht gefunden: {value}",
|
"borgTargetMissing": "Borg-Ziel nicht gefunden: {value}",
|
||||||
"pbsTargetMissing": "PBS-Repo nicht gefunden: {value}",
|
"pbsTargetMissing": "PBS-Repo nicht gefunden: {value}",
|
||||||
"pveJobMissing": "PVE vzdump-Job nicht gefunden: {value}",
|
"pveJobMissing": "PVE-vzdump-Auftrag nicht gefunden: {value}",
|
||||||
"statePersist": "Zustand kann nicht beibehalten werden: {value}",
|
"statePersist": "Status kann nicht gespeichert werden: {value}",
|
||||||
"sshDirectory": "ssh-Verzeichnis: {value} kann nicht vorbereitet werden",
|
"sshDirectory": "SSH-Verzeichnis kann nicht vorbereitet werden: {value}",
|
||||||
"logRead": "Protokoll kann nicht gelesen werden: {value}",
|
"logRead": "Protokoll kann nicht gelesen werden: {value}",
|
||||||
"envUpdate": ".env: {value} konnte nicht aktualisiert werden",
|
"envUpdate": ".env konnte nicht aktualisiert werden: {value}",
|
||||||
"pbsConfigWrite": "PBS-Konfiguration konnte nicht beibehalten werden: {value}",
|
"pbsConfigWrite": "PBS-Konfiguration konnte nicht gespeichert werden: {value}",
|
||||||
"persist": "konnte nicht beibehalten werden: {value}",
|
"persist": "Speichern fehlgeschlagen: {value}",
|
||||||
"archiveRemove": "Archiv konnte nicht entfernt werden: {value}",
|
"archiveRemove": "Archiv konnte nicht entfernt werden: {value}",
|
||||||
"start": "konnte nicht gestartet werden: {value}",
|
"start": "Start fehlgeschlagen: {value}",
|
||||||
"borgTargetsUpdate": "borg-targets.txt konnte nicht aktualisiert werden: {value}",
|
"borgTargetsUpdate": "borg-targets.txt konnte nicht aktualisiert werden: {value}",
|
||||||
"pbsTargetsUpdate": "Aktualisierung von pbs-manual-configs.txt fehlgeschlagen: {value}",
|
"pbsTargetsUpdate": "pbs-manual-configs.txt konnte nicht aktualisiert werden: {value}",
|
||||||
"unitsUpdate": "Systemd-Einheiten konnten nicht aktualisiert werden: {value}",
|
"unitsUpdate": "systemd-Units konnten nicht aktualisiert werden: {value}",
|
||||||
"borgTargetsWrite": "failed to write borg-targets.txt: {value}",
|
"borgTargetsWrite": "borg-targets.txt konnte nicht geschrieben werden: {value}",
|
||||||
"jobWrite": "Jobdateien konnten nicht geschrieben werden: {value}",
|
"jobWrite": "Auftragsdateien konnten nicht geschrieben werden: {value}",
|
||||||
"localTargetWrite": "local-target.conf konnte nicht geschrieben werden: {value}",
|
"localTargetWrite": "local-target.conf konnte nicht geschrieben werden: {value}",
|
||||||
"unitsWrite": "Systemd-Einheiten konnten nicht geschrieben werden: {value}",
|
"unitsWrite": "systemd-Units konnten nicht geschrieben werden: {value}",
|
||||||
"format": "Formatierung fehlgeschlagen: {value}",
|
"format": "Formatieren fehlgeschlagen: {value}",
|
||||||
"calendar": "ungültig am_Kalender: {value}",
|
"calendar": "ungültiger on_calendar-Wert: {value}",
|
||||||
"mount": "mount failed: {value}",
|
"mount": "Einhängen fehlgeschlagen: {value}",
|
||||||
"parserInvocation": "Parser-Aufruf fehlgeschlagen: {value}",
|
"parserInvocation": "Aufruf des Parsers fehlgeschlagen: {value}",
|
||||||
"preflightInvocation": "Preflight-Aufruf fehlgeschlagen: {value}",
|
"preflightInvocation": "Aufruf der Vorabprüfung fehlgeschlagen: {value}",
|
||||||
"publicKeyMissing": "public key not found after generation: {value}",
|
"publicKeyMissing": "öffentlicher Schlüssel nach der Erzeugung nicht gefunden: {value}",
|
||||||
"retentionInteger": "„retention.{value}“ muss eine Ganzzahl sein",
|
"retentionInteger": "retention.{value} muss eine Ganzzahl sein",
|
||||||
"retentionNegative": "„retention.{value}“ darf nicht negativ sein",
|
"retentionNegative": "retention.{value} darf nicht negativ sein",
|
||||||
"keygen": "ssh-keygen fehlgeschlagen: {value}",
|
"keygen": "ssh-keygen fehlgeschlagen: {value}",
|
||||||
"systemctl": "systemctl fehlgeschlagen: {value}",
|
"systemctl": "systemctl fehlgeschlagen: {value}",
|
||||||
"unmount": "umount fehlgeschlagen: {value}",
|
"unmount": "umount fehlgeschlagen: {value}",
|
||||||
"taskIncomplete": "Aufgabe befindet sich im Status „{value}“ und ist nicht abgeschlossen",
|
"taskIncomplete": "die Aufgabe ist im Status \"{value}\", nicht abgeschlossen",
|
||||||
"unknownKind": "unknown kind: {value}",
|
"unknownKind": "unbekannte Art: {value}",
|
||||||
"unknownMode": "unbekannter Modus „{value}“",
|
"unknownMode": "unbekannter Modus \"{value}\"",
|
||||||
"defaultRemove": "{value} ist die integrierte Standardeinstellung und kann nicht entfernt werden",
|
"defaultRemove": "{value} ist der integrierte Standard und kann nicht entfernt werden",
|
||||||
"defaultAdd": "{value} is the built-in default; no need to add it",
|
"defaultAdd": "{value} ist der integrierte Standard; er muss nicht hinzugefügt werden",
|
||||||
"keyImport": "Auf {value} ist keine PBS-Schlüsseldatei installiert.Importieren Sie zuerst die Schlüsseldatei.",
|
"keyImport": "Unter {value} ist keine PBS-Schlüsseldatei installiert. Importieren Sie zuerst die Schlüsseldatei.",
|
||||||
"storageMismatch": "PVE-Auftragsspeicher stimmt nicht überein (Auftrag verwendet {value}, Nutzlast sagt {other})"
|
"storageMismatch": "Speicher des PVE-Auftrags stimmt nicht überein (Auftrag verwendet {value}, Nutzdaten geben {other} an)"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"healthStatus": {
|
"healthStatus": {
|
||||||
@@ -5438,6 +5597,7 @@
|
|||||||
"websocketError": "Es ist ein WebSocket-Fehler aufgetreten",
|
"websocketError": "Es ist ein WebSocket-Fehler aufgetreten",
|
||||||
"connectionClosed": "Verbindung geschlossen",
|
"connectionClosed": "Verbindung geschlossen",
|
||||||
"completedSuccessfully": "Skript erfolgreich abgeschlossen",
|
"completedSuccessfully": "Skript erfolgreich abgeschlossen",
|
||||||
|
"cancelled": "Vorgang abgebrochen.",
|
||||||
"completedWithError": "Skript mit Fehlercode {code} beendet",
|
"completedWithError": "Skript mit Fehlercode {code} beendet",
|
||||||
"yes": "Ja",
|
"yes": "Ja",
|
||||||
"yourInput": "Ihr Beitrag:",
|
"yourInput": "Ihr Beitrag:",
|
||||||
@@ -7429,7 +7589,7 @@
|
|||||||
"signInWith": "Anmelden mit",
|
"signInWith": "Anmelden mit",
|
||||||
"methodPassword": "Benutzer und Passwort",
|
"methodPassword": "Benutzer und Passwort",
|
||||||
"methodToken": "API-Token",
|
"methodToken": "API-Token",
|
||||||
"username": "Benutzer (benutzer@realm)",
|
"username": "Benutzer",
|
||||||
"password": "Passwort",
|
"password": "Passwort",
|
||||||
"passwordHelp": "Das Passwort wird nur einmal verwendet, um ein schreibgeschütztes API-Token (Rolle Audit) für diesen Monitor zu erstellen. Gespeichert wird nur dieses Token, nie das Passwort. Aktivieren Sie zuerst die Monitor-Authentifizierung.",
|
"passwordHelp": "Das Passwort wird nur einmal verwendet, um ein schreibgeschütztes API-Token (Rolle Audit) für diesen Monitor zu erstellen. Gespeichert wird nur dieses Token, nie das Passwort. Aktivieren Sie zuerst die Monitor-Authentifizierung.",
|
||||||
"cancel": "Abbrechen",
|
"cancel": "Abbrechen",
|
||||||
@@ -7442,10 +7602,10 @@
|
|||||||
"editConnection": "Zu bearbeitende Verbindung",
|
"editConnection": "Zu bearbeitende Verbindung",
|
||||||
"add": "Neue Verbindung hinzufügen",
|
"add": "Neue Verbindung hinzufügen",
|
||||||
"name": "Name",
|
"name": "Name",
|
||||||
"url": "HTTPS-URL (für den nativen PBS-Port :8007 angeben)",
|
"url": "HTTPS-Adresse",
|
||||||
"token_id": "API-Token-ID (user@realm!token)",
|
"token_id": "API-Token-ID",
|
||||||
"token_secret": "API-Token-Geheimnis (leer lassen, um das gespeicherte Geheimnis beizubehalten)",
|
"token_secret": "API-Token-Geheimnis",
|
||||||
"fingerprint": "SHA256-Zertifikatfingerabdruck (optional)",
|
"fingerprint": "SHA256-Fingerabdruck (optional)",
|
||||||
"tlsHelp": "Lassen Sie den Fingerabdruck für die normale Prüfung von Zertifizierungsstelle und Hostname leer. Kopieren Sie bei einem selbstsignierten Zertifikat dessen SHA256-Fingerabdruck aus der PBS-Konsole oder einem anderen vertrauenswürdigen Kanal. Der Fingerabdruck wird vor der Übermittlung von Zugangsdaten geprüft.",
|
"tlsHelp": "Lassen Sie den Fingerabdruck für die normale Prüfung von Zertifizierungsstelle und Hostname leer. Kopieren Sie bei einem selbstsignierten Zertifikat dessen SHA256-Fingerabdruck aus der PBS-Konsole oder einem anderen vertrauenswürdigen Kanal. Der Fingerabdruck wird vor der Übermittlung von Zugangsdaten geprüft.",
|
||||||
"saved": "PBS-Verbindung geprüft und gespeichert.",
|
"saved": "PBS-Verbindung geprüft und gespeichert.",
|
||||||
"saveFailed": "PBS-Verbindung konnte nicht gespeichert werden.",
|
"saveFailed": "PBS-Verbindung konnte nicht gespeichert werden.",
|
||||||
@@ -7489,47 +7649,47 @@
|
|||||||
"duration": "Dauer",
|
"duration": "Dauer",
|
||||||
"noJobs": "Es sind keine Synchronisierungs-, Überprüfungs- oder Löschzeitpläne konfiguriert.",
|
"noJobs": "Es sind keine Synchronisierungs-, Überprüfungs- oder Löschzeitpläne konfiguriert.",
|
||||||
"errors": {
|
"errors": {
|
||||||
"configRead": "Could not read the saved PBS connections. Check the configuration file and permissions.",
|
"configRead": "Die gespeicherten PBS-Verbindungen konnten nicht gelesen werden. Prüfen Sie die Konfigurationsdatei und die Berechtigungen.",
|
||||||
"invalidConfig": "Die PBS-Verbindungseinstellungen sind ungültig.Überprüfen Sie das Formular und versuchen Sie es erneut.",
|
"invalidConfig": "Die Einstellungen der PBS-Verbindung sind ungültig. Prüfen Sie das Formular und versuchen Sie es erneut.",
|
||||||
"invalidField": "A connection field is not valid or is too long.",
|
"invalidField": "Ein Verbindungsfeld ist ungültig oder zu lang.",
|
||||||
"invalidUrl": "Verwenden Sie eine HTTPS-PBS-Adresse ohne eingebettete Anmeldeinformationen, Abfrageparameter oder ein Fragment.",
|
"invalidUrl": "Verwenden Sie eine HTTPS-Adresse des PBS ohne eingebettete Zugangsdaten, Abfrageparameter oder Fragment.",
|
||||||
"nameRequired": "Geben Sie einen Servernamen mit maximal 128 Zeichen ein.",
|
"nameRequired": "Geben Sie einen Servernamen mit höchstens 128 Zeichen ein.",
|
||||||
"tokenIdFormat": "Geben Sie die PBS-API-Token-ID im Format „user@realm!token“ ein.",
|
"tokenIdFormat": "Geben Sie die PBS-API-Token-ID im Format user@realm!token ein.",
|
||||||
"tokenSecret": "Geben Sie ein gültiges API-Token-Geheimnis ohne Leerzeichen oder Steuerzeichen ein.",
|
"tokenSecret": "Geben Sie ein gültiges API-Token-Geheimnis ohne Leerzeichen oder Steuerzeichen ein.",
|
||||||
"invalidTokenId": "The API token ID must contain only ASCII characters.",
|
"invalidTokenId": "Die API-Token-ID darf nur ASCII-Zeichen enthalten.",
|
||||||
"invalidFingerprint": "Geben Sie den SHA256-Fingerabdruck des Zertifikats ein: 64 Hexadezimalzeichen, optional durch Doppelpunkte getrennt.",
|
"invalidFingerprint": "Geben Sie den SHA256-Fingerabdruck des Zertifikats ein: 64 Hexadezimalzeichen, optional durch Doppelpunkte getrennt.",
|
||||||
"fingerprintMismatch": "Das PBS-Zertifikat stimmt nicht mit dem Fingerabdruck überein.Es wurden keine Anmeldeinformationen gesendet.",
|
"fingerprintMismatch": "Das PBS-Zertifikat stimmt nicht mit dem Fingerabdruck überein. Es wurden keine Zugangsdaten gesendet.",
|
||||||
"tokenRejected": "PBS hat das API-Token oder seine Berechtigungen abgelehnt.Überprüfen Sie die ACLs sowohl des Benutzers als auch des Tokens.",
|
"tokenRejected": "PBS hat das API-Token oder seine Berechtigungen abgelehnt. Prüfen Sie die ACLs sowohl des Benutzers als auch des Tokens.",
|
||||||
"invalidResponse": "PBS hat eine unerwartete Antwort zurückgegeben.Weiterleitungen werden nicht befolgt.",
|
"invalidResponse": "PBS hat eine unerwartete Antwort zurückgegeben. Weiterleitungen werden nicht verfolgt.",
|
||||||
"invalidJson": "PBS hat ein ungültiges JSON-Dokument zurückgegeben.",
|
"invalidJson": "PBS hat ein ungültiges JSON-Dokument zurückgegeben.",
|
||||||
"connectFailed": "Es konnte keine Verbindung zu PBS über verifiziertes HTTPS hergestellt werden.Überprüfen Sie Adresse, Zertifikat und Service.",
|
"connectFailed": "Über verifiziertes HTTPS konnte keine Verbindung zu PBS hergestellt werden. Prüfen Sie Adresse, Zertifikat und Dienst.",
|
||||||
"invalidId": "Die PBS-Verbindungs-ID ist ungültig.Laden Sie die Verbindungsliste neu.",
|
"invalidId": "Die ID der PBS-Verbindung ist ungültig. Laden Sie die Verbindungsliste neu.",
|
||||||
"invalidDatastores": "PBS hat eine ungültige Datenspeicherliste zurückgegeben.",
|
"invalidDatastores": "PBS hat eine ungültige Datenspeicherliste zurückgegeben.",
|
||||||
"connectionLimit": "Es können maximal {count} PBS-Verbindungen konfiguriert werden.",
|
"connectionLimit": "Es können höchstens {count} PBS-Verbindungen konfiguriert werden.",
|
||||||
"username": "Geben Sie den PBS-Benutzer im Format user@realm ein, zum Beispiel root@pam.",
|
"username": "Geben Sie den PBS-Benutzer im Format user@realm ein, zum Beispiel root@pam.",
|
||||||
"password": "Geben Sie das Passwort des PBS-Benutzers ein.",
|
"password": "Geben Sie das Passwort des PBS-Benutzers ein.",
|
||||||
"loginRejected": "PBS hat den Benutzernamen oder das Passwort abgelehnt.",
|
"loginRejected": "PBS hat den Benutzernamen oder das Passwort abgelehnt.",
|
||||||
"invalidLogin": "PBS hat eine ungültige Anmeldeantwort zurückgegeben.",
|
"invalidLogin": "PBS hat eine ungültige Anmeldeantwort zurückgegeben.",
|
||||||
"tokenCreateDenied": "Dieser PBS-Benutzer kann keine API-Token erstellen.",
|
"tokenCreateDenied": "Dieser PBS-Benutzer kann keine API-Tokens erstellen.",
|
||||||
"invalidToken": "PBS hat ein ungültiges API-Token zurückgegeben.",
|
"invalidToken": "PBS hat ein ungültiges API-Token zurückgegeben.",
|
||||||
"auditRoleDenied": "Dieser PBS-Benutzer kann die Audit-Rolle nicht gewähren.Melden Sie sich als root@pam oder ein anderer Administrator an.",
|
"auditRoleDenied": "Dieser PBS-Benutzer kann die Rolle Audit nicht vergeben. Melden Sie sich als root@pam oder als anderer Administrator an.",
|
||||||
"notFound": "The PBS connection was not found. Reload the connection list.",
|
"notFound": "Die PBS-Verbindung wurde nicht gefunden. Laden Sie die Verbindungsliste neu.",
|
||||||
"readFailed": "PBS-Daten konnten nicht gelesen werden.Überprüfen Sie den Dienst und die Berechtigungen.",
|
"readFailed": "PBS-Daten konnten nicht gelesen werden. Prüfen Sie den Dienst und die Berechtigungen.",
|
||||||
"invalidList": "PBS returned an invalid data list.",
|
"invalidList": "PBS hat eine ungültige Datenliste zurückgegeben.",
|
||||||
"localUnavailable": "PBS ist auf diesem Host nicht verfügbar.",
|
"localUnavailable": "PBS ist auf diesem Host nicht verfügbar.",
|
||||||
"authRequired": "Aktivieren Sie die lokale Authentifizierung in Monitor, bevor Sie Remote-PBS-Verbindungen verwalten.",
|
"authRequired": "Aktivieren Sie die lokale Authentifizierung im Monitor, bevor Sie entfernte PBS-Verbindungen verwalten.",
|
||||||
"datastoreOffline": "Der Datenspeicher ist offline, im Wartungsmodus oder sein Sicherungsgerät ist nicht gemountet.",
|
"datastoreOffline": "Der Datenspeicher ist offline, im Wartungsmodus oder sein zugrunde liegendes Gerät ist nicht eingehängt.",
|
||||||
"datastoreUnavailable": "Das Datenspeicherdateisystem ist nicht verfügbar."
|
"datastoreUnavailable": "Das Dateisystem des Datenspeichers ist nicht verfügbar."
|
||||||
},
|
},
|
||||||
"taskTypes": {
|
"taskTypes": {
|
||||||
"backup": "Backup",
|
"backup": "Backup",
|
||||||
"restore": "Wiederherstellen",
|
"restore": "Wiederherstellung",
|
||||||
"verify": "Verifizierung",
|
"verify": "Verifizierung",
|
||||||
"verifyGroup": "Überprüfung der Sicherungsgruppe",
|
"verifyGroup": "Verifizierung der Backup-Gruppe",
|
||||||
"verifySnapshot": "Snapshot-Überprüfung",
|
"verifySnapshot": "Verifizierung des Snapshots",
|
||||||
"prune": "Beschneiden",
|
"prune": "Bereinigung",
|
||||||
"garbageCollection": "Müllabfuhr",
|
"garbageCollection": "Garbage Collection",
|
||||||
"sync": "Synchronization",
|
"sync": "Synchronisierung",
|
||||||
"updateCheck": "Nach Updates suchen",
|
"updateCheck": "Nach Updates suchen",
|
||||||
"terminal": "Terminal",
|
"terminal": "Terminal",
|
||||||
"createDatastore": "Datenspeicher erstellen",
|
"createDatastore": "Datenspeicher erstellen",
|
||||||
@@ -7546,24 +7706,24 @@
|
|||||||
"active": "Aktiv",
|
"active": "Aktiv",
|
||||||
"inactive": "Inaktiv",
|
"inactive": "Inaktiv",
|
||||||
"failed": "Fehlgeschlagen",
|
"failed": "Fehlgeschlagen",
|
||||||
"activating": "Beginnt",
|
"activating": "Wird gestartet",
|
||||||
"deactivating": "Anhalten",
|
"deactivating": "Wird gestoppt",
|
||||||
"unknown": "Unbekannt"
|
"unknown": "Unbekannt"
|
||||||
},
|
},
|
||||||
"durationUnits": {
|
"durationUnits": {
|
||||||
"seconds": "{count} s",
|
"seconds": "{count} s",
|
||||||
"minutes": "{count} min",
|
"minutes": "{count} min",
|
||||||
"hours": "{count} h",
|
"hours": "{count} h",
|
||||||
"days": "{count} d"
|
"days": "{count} T"
|
||||||
},
|
},
|
||||||
"urlHelp": "Geben Sie :8007 für den Standard-PBS-Port ein, zum Beispiel https://pbs.example:8007.",
|
"urlHelp": "Geben Sie :8007 für den Standard-PBS-Port an, zum Beispiel https://pbs.example:8007.",
|
||||||
"usernameHelp": "Verwenden Sie user@realm, zum Beispiel root@pam.",
|
"usernameHelp": "Verwenden Sie user@realm, zum Beispiel root@pam.",
|
||||||
"tokenIdHelp": "Verwenden Sie user@realm!token, zum Beispiel monitor@pbs!proxmenux.",
|
"tokenIdHelp": "Verwenden Sie user@realm!token, zum Beispiel monitor@pbs!proxmenux.",
|
||||||
"tokenSecretHelp": "Geben Sie das Geheimnis dieses API-Tokens ein.",
|
"tokenSecretHelp": "Geben Sie das Geheimnis dieses API-Tokens ein.",
|
||||||
"tokenSecretKeepHelp": "Leer lassen, um das gespeicherte Token geheim zu halten.",
|
"tokenSecretKeepHelp": "Leer lassen, um das gespeicherte Token-Geheimnis beizubehalten.",
|
||||||
"removeFailed": "Die PBS-Verbindung konnte nicht entfernt werden.",
|
"removeFailed": "Die PBS-Verbindung konnte nicht entfernt werden.",
|
||||||
"savedRefreshFailed": "Die PBS-Verbindung wurde gespeichert, aber die Verbindungsliste konnte nicht aktualisiert werden.Laden Sie die Seite neu, bevor Sie eine weitere Änderung versuchen.",
|
"savedRefreshFailed": "Die PBS-Verbindung wurde gespeichert, aber die Verbindungsliste konnte nicht aktualisiert werden. Laden Sie die Seite neu, bevor Sie eine weitere Änderung vornehmen.",
|
||||||
"removedRefreshFailed": "Die PBS-Verbindung wurde entfernt, aber die Verbindungsliste konnte nicht aktualisiert werden.Laden Sie die Seite neu.",
|
"removedRefreshFailed": "Die PBS-Verbindung wurde entfernt, aber die Verbindungsliste konnte nicht aktualisiert werden. Laden Sie die Seite neu.",
|
||||||
"technicalDetails": "Technische Details",
|
"technicalDetails": "Technische Details",
|
||||||
"datastoreType": "Datenspeicher"
|
"datastoreType": "Datenspeicher"
|
||||||
},
|
},
|
||||||
@@ -7607,14 +7767,14 @@
|
|||||||
"cancel": "Abbrechen",
|
"cancel": "Abbrechen",
|
||||||
"errors": {
|
"errors": {
|
||||||
"addressRequired": "Geben Sie die Adresse des Monitors ein.",
|
"addressRequired": "Geben Sie die Adresse des Monitors ein.",
|
||||||
"invalidAddress": "Die Adresse muss mit http:// oder https:// beginnen und einen Host benennen.",
|
"invalidAddress": "Die Adresse muss mit http:// oder https:// beginnen und einen Host angeben.",
|
||||||
"addressCredentials": "Die Adresse darf weder einen Benutzer noch ein Passwort enthalten.",
|
"addressCredentials": "Die Adresse darf keinen Benutzer und kein Passwort enthalten.",
|
||||||
"invalidPort": "The port of the address is not valid.",
|
"invalidPort": "Der Port der Adresse ist ungültig.",
|
||||||
"invalidRequest": "Die Anfrage ist ungültig.Laden Sie die Seite neu und versuchen Sie es erneut.",
|
"invalidRequest": "Die Anfrage ist ungültig. Laden Sie die Seite neu und versuchen Sie es erneut.",
|
||||||
"limit": "Es können höchstens {count}-Knoten hinzugefügt werden.",
|
"limit": "Es können höchstens {count} Knoten hinzugefügt werden.",
|
||||||
"duplicate": "Diese Adresse ist bereits in der Liste.",
|
"duplicate": "Diese Adresse ist bereits in der Liste.",
|
||||||
"notFound": "Der Knoten wurde nicht gefunden.Laden Sie die Liste neu und versuchen Sie es erneut.",
|
"notFound": "Der Knoten wurde nicht gefunden. Laden Sie die Liste neu und versuchen Sie es erneut.",
|
||||||
"detectedRemove": "Nur manuell hinzugefügte Knoten können entfernt werden.Erkannte Knoten können ausgeblendet werden."
|
"detectedRemove": "Nur manuell hinzugefügte Knoten können entfernt werden. Erkannte Knoten können ausgeblendet werden."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+308
-148
@@ -14,7 +14,7 @@
|
|||||||
"signInWith": "Iniciar sesión con",
|
"signInWith": "Iniciar sesión con",
|
||||||
"methodPassword": "Usuario y contraseña",
|
"methodPassword": "Usuario y contraseña",
|
||||||
"methodToken": "Token API",
|
"methodToken": "Token API",
|
||||||
"username": "Usuario (usuario@realm)",
|
"username": "Usuario",
|
||||||
"password": "Contraseña",
|
"password": "Contraseña",
|
||||||
"passwordHelp": "La contraseña se usa una sola vez para crear un token API de solo lectura (rol Audit) para este Monitor. Solo se guarda ese token, nunca la contraseña. Activa antes la autenticación del Monitor.",
|
"passwordHelp": "La contraseña se usa una sola vez para crear un token API de solo lectura (rol Audit) para este Monitor. Solo se guarda ese token, nunca la contraseña. Activa antes la autenticación del Monitor.",
|
||||||
"cancel": "Cancelar",
|
"cancel": "Cancelar",
|
||||||
@@ -27,10 +27,10 @@
|
|||||||
"editConnection": "Conexión que deseas editar",
|
"editConnection": "Conexión que deseas editar",
|
||||||
"add": "Añadir una conexión",
|
"add": "Añadir una conexión",
|
||||||
"name": "Nombre",
|
"name": "Nombre",
|
||||||
"url": "URL HTTPS (incluye :8007 para el puerto nativo de PBS)",
|
"url": "Dirección HTTPS",
|
||||||
"token_id": "ID del token API (usuario@realm!token)",
|
"token_id": "ID del token API",
|
||||||
"token_secret": "Secreto del token API (vacío para conservar el guardado)",
|
"token_secret": "Secreto del token API",
|
||||||
"fingerprint": "Huella SHA256 del certificado (opcional)",
|
"fingerprint": "Huella SHA256 (opcional)",
|
||||||
"tlsHelp": "Deja la huella vacía para verificar la CA y el nombre del servidor. Si el certificado es autofirmado, copia su huella SHA256 desde la consola de PBS u otro canal fiable. Se verifica antes de enviar las credenciales.",
|
"tlsHelp": "Deja la huella vacía para verificar la CA y el nombre del servidor. Si el certificado es autofirmado, copia su huella SHA256 desde la consola de PBS u otro canal fiable. Se verifica antes de enviar las credenciales.",
|
||||||
"saved": "Conexión PBS verificada y guardada.",
|
"saved": "Conexión PBS verificada y guardada.",
|
||||||
"saveFailed": "No se pudo guardar la conexión PBS.",
|
"saveFailed": "No se pudo guardar la conexión PBS.",
|
||||||
@@ -74,50 +74,50 @@
|
|||||||
"duration": "Duración",
|
"duration": "Duración",
|
||||||
"noJobs": "No hay programaciones de sincronización, verificación ni prune.",
|
"noJobs": "No hay programaciones de sincronización, verificación ni prune.",
|
||||||
"errors": {
|
"errors": {
|
||||||
"configRead": "Could not read the saved PBS connections. Check the configuration file and permissions.",
|
"configRead": "No se pudieron leer las conexiones PBS guardadas. Revisa el archivo de configuración y los permisos.",
|
||||||
"invalidConfig": "La configuración de conexión de PBS no es válida.Revisa el formulario y vuelve a intentarlo.",
|
"invalidConfig": "La configuración de la conexión PBS no es válida. Revisa el formulario y vuelve a intentarlo.",
|
||||||
"invalidField": "un campo de conexión no es válido o es demasiado largo.",
|
"invalidField": "Un campo de la conexión no es válido o es demasiado largo.",
|
||||||
"invalidUrl": "use una dirección HTTPS PBS sin credenciales integradas, parámetros de consulta o un fragmento.",
|
"invalidUrl": "Usa una dirección HTTPS de PBS sin credenciales incrustadas, parámetros de consulta ni fragmento.",
|
||||||
"nameRequired": "ingrese un nombre de servidor de como máximo 128 caracteres.",
|
"nameRequired": "Introduce un nombre de servidor de 128 caracteres como máximo.",
|
||||||
"tokenIdFormat": "Ingrese el ID del token API de PBS en formato usuario@reino!token.",
|
"tokenIdFormat": "Introduce el ID del token API de PBS con el formato usuario@realm!token.",
|
||||||
"tokenSecret": "ingrese un token secreto de API válido sin espacios ni caracteres de control.",
|
"tokenSecret": "Introduce un secreto de token API válido, sin espacios ni caracteres de control.",
|
||||||
"invalidTokenId": "el ID del token de API debe contener solo caracteres ASCII.",
|
"invalidTokenId": "El ID del token API solo puede contener caracteres ASCII.",
|
||||||
"invalidFingerprint": "ingrese la huella digital SHA256 del certificado: 64 caracteres hexadecimales, opcionalmente separados por dos puntos.",
|
"invalidFingerprint": "Introduce la huella SHA256 del certificado: 64 caracteres hexadecimales, opcionalmente separados por dos puntos.",
|
||||||
"fingerprintMismatch": "El certificado de PBS no coincide con la huella digital.No se enviaron credenciales.",
|
"fingerprintMismatch": "El certificado de PBS no coincide con la huella. No se ha enviado ninguna credencial.",
|
||||||
"tokenRejected": "PBS rechazó el token API o sus permisos.Verifique las ACL tanto del usuario como del token.",
|
"tokenRejected": "PBS ha rechazado el token API o sus permisos. Revisa las ACL del usuario y del token.",
|
||||||
"invalidResponse": "PBS returned an unexpected response. Redirects are not followed.",
|
"invalidResponse": "PBS ha devuelto una respuesta inesperada. No se siguen las redirecciones.",
|
||||||
"invalidJson": "PBS devolvió un documento JSON no válido.",
|
"invalidJson": "PBS ha devuelto un documento JSON no válido.",
|
||||||
"connectFailed": "No se pudo conectar a PBS a través de HTTPS verificado.Consulta la dirección, certificado y servicio.",
|
"connectFailed": "No se pudo conectar con PBS mediante HTTPS verificado. Revisa la dirección, el certificado y el servicio.",
|
||||||
"invalidId": "El ID de conexión de PBS no es válido.Vuelva a cargar la lista de conexiones.",
|
"invalidId": "El ID de la conexión PBS no es válido. Recarga la lista de conexiones.",
|
||||||
"invalidDatastores": "PBS devolvió una lista de almacenes de datos no válida.",
|
"invalidDatastores": "PBS ha devuelto una lista de datastores no válida.",
|
||||||
"connectionLimit": "Como máximo se pueden configurar conexiones PBS {count}.",
|
"connectionLimit": "Se pueden configurar como máximo {count} conexiones PBS.",
|
||||||
"username": "ingrese el usuario de PBS en formato usuario@reino, por ejemplo raíz@pam.",
|
"username": "Introduce el usuario de PBS con el formato usuario@realm, por ejemplo root@pam.",
|
||||||
"password": "ingrese la contraseña del usuario de PBS.",
|
"password": "Introduce la contraseña del usuario de PBS.",
|
||||||
"loginRejected": "PBS rechazó el nombre de usuario o la contraseña.",
|
"loginRejected": "PBS ha rechazado el usuario o la contraseña.",
|
||||||
"invalidLogin": "PBS devolvió una respuesta de inicio de sesión no válida.",
|
"invalidLogin": "PBS ha devuelto una respuesta de inicio de sesión no válida.",
|
||||||
"tokenCreateDenied": "este usuario de PBS no puede crear tokens API.",
|
"tokenCreateDenied": "Este usuario de PBS no puede crear tokens API.",
|
||||||
"invalidToken": "PBS devolvió un token API no válido.",
|
"invalidToken": "PBS ha devuelto un token API no válido.",
|
||||||
"auditRoleDenied": "este usuario de PBS no puede otorgar la función de auditoría.Inicie sesión como root@pam u otro administrador.",
|
"auditRoleDenied": "Este usuario de PBS no puede conceder el rol Audit. Inicia sesión como root@pam u otro administrador.",
|
||||||
"notFound": "No se encontró la conexión PBS.Vuelva a cargar la lista de conexiones.",
|
"notFound": "No se encontró la conexión PBS. Recarga la lista de conexiones.",
|
||||||
"readFailed": "No se pudieron leer los datos de PBS.Consulta su servicio y permisos.",
|
"readFailed": "No se pudieron leer los datos de PBS. Revisa su servicio y los permisos.",
|
||||||
"invalidList": "PBS devolvió una lista de datos no válidos.",
|
"invalidList": "PBS ha devuelto una lista de datos no válida.",
|
||||||
"localUnavailable": "PBS no está disponible en este host.",
|
"localUnavailable": "PBS no está disponible en este host.",
|
||||||
"authRequired": "habilite la autenticación local en Monitor antes de administrar conexiones PBS remotas.",
|
"authRequired": "Activa la autenticación local en Monitor antes de gestionar conexiones PBS remotas.",
|
||||||
"datastoreOffline": "el almacén de datos está fuera de línea, en modo de mantenimiento o su dispositivo de respaldo no está montado.",
|
"datastoreOffline": "El datastore está desconectado, en modo de mantenimiento o su dispositivo no está montado.",
|
||||||
"datastoreUnavailable": "el sistema de archivos del almacén de datos no está disponible."
|
"datastoreUnavailable": "El sistema de archivos del datastore no está disponible."
|
||||||
},
|
},
|
||||||
"taskTypes": {
|
"taskTypes": {
|
||||||
"backup": "copia de seguridad",
|
"backup": "Backup",
|
||||||
"restore": "Restaurar",
|
"restore": "Restauración",
|
||||||
"verify": "Verificación",
|
"verify": "Verificación",
|
||||||
"verifyGroup": "verificación del grupo de respaldo",
|
"verifyGroup": "Verificación de grupo de backups",
|
||||||
"verifySnapshot": "verificación de instantáneas",
|
"verifySnapshot": "Verificación de snapshot",
|
||||||
"prune": "podar",
|
"prune": "Prune",
|
||||||
"garbageCollection": "recolección de basura",
|
"garbageCollection": "Recolección de basura",
|
||||||
"sync": "sincronización",
|
"sync": "Sincronización",
|
||||||
"updateCheck": "buscar actualizaciones",
|
"updateCheck": "Comprobación de actualizaciones",
|
||||||
"terminal": "terminal",
|
"terminal": "Terminal",
|
||||||
"createDatastore": "crear almacén de datos",
|
"createDatastore": "Creación de datastore",
|
||||||
"other": "Otra tarea ({type})"
|
"other": "Otra tarea ({type})"
|
||||||
},
|
},
|
||||||
"states": {
|
"states": {
|
||||||
@@ -130,9 +130,9 @@
|
|||||||
"serviceStates": {
|
"serviceStates": {
|
||||||
"active": "Activo",
|
"active": "Activo",
|
||||||
"inactive": "Inactivo",
|
"inactive": "Inactivo",
|
||||||
"failed": "fallido",
|
"failed": "Fallido",
|
||||||
"activating": "Comenzando",
|
"activating": "Iniciando",
|
||||||
"deactivating": "Detener",
|
"deactivating": "Deteniendo",
|
||||||
"unknown": "Desconocido"
|
"unknown": "Desconocido"
|
||||||
},
|
},
|
||||||
"durationUnits": {
|
"durationUnits": {
|
||||||
@@ -141,14 +141,14 @@
|
|||||||
"hours": "{count} h",
|
"hours": "{count} h",
|
||||||
"days": "{count} d"
|
"days": "{count} d"
|
||||||
},
|
},
|
||||||
"urlHelp": "incluya :8007 para el puerto PBS predeterminado, por ejemplo https://pbs.example:8007.",
|
"urlHelp": "Incluye :8007 para el puerto predeterminado de PBS, por ejemplo https://pbs.example:8007.",
|
||||||
"usernameHelp": "utilice usuario@reino, por ejemplo raíz@pam.",
|
"usernameHelp": "Usa usuario@realm, por ejemplo root@pam.",
|
||||||
"tokenIdHelp": "utilice el token usuario@reino, por ejemplo monitor@pbs!proxmenux.",
|
"tokenIdHelp": "Usa usuario@realm!token, por ejemplo monitor@pbs!proxmenux.",
|
||||||
"tokenSecretHelp": "ingrese el secreto de este token API.",
|
"tokenSecretHelp": "Introduce el secreto de este token API.",
|
||||||
"tokenSecretKeepHelp": "déjelo en blanco para mantener en secreto el token guardado.",
|
"tokenSecretKeepHelp": "Déjalo vacío para conservar el secreto del token guardado.",
|
||||||
"removeFailed": "Could not remove the PBS connection.",
|
"removeFailed": "No se pudo eliminar la conexión PBS.",
|
||||||
"savedRefreshFailed": "la conexión PBS se guardó, pero la lista de conexiones no se pudo actualizar.Vuelva a cargar la página antes de intentar otro cambio.",
|
"savedRefreshFailed": "La conexión PBS se ha guardado, pero no se pudo actualizar la lista de conexiones. Recarga la página antes de hacer otro cambio.",
|
||||||
"removedRefreshFailed": "The PBS connection was removed, but the connection list could not be refreshed. Reload the page.",
|
"removedRefreshFailed": "La conexión PBS se ha eliminado, pero no se pudo actualizar la lista de conexiones. Recarga la página.",
|
||||||
"technicalDetails": "Detalles técnicos",
|
"technicalDetails": "Detalles técnicos",
|
||||||
"datastoreType": "Datastore"
|
"datastoreType": "Datastore"
|
||||||
},
|
},
|
||||||
@@ -1384,7 +1384,9 @@
|
|||||||
"update": "Actualizar",
|
"update": "Actualizar",
|
||||||
"modify": "Modificar",
|
"modify": "Modificar",
|
||||||
"recover": "Recuperar",
|
"recover": "Recuperar",
|
||||||
|
"registerRestored": "Registrar de nuevo",
|
||||||
"terminalTitleUpdate": "Actualizar aplicación OCI",
|
"terminalTitleUpdate": "Actualizar aplicación OCI",
|
||||||
|
"terminalTitleRecoverPrevious": "Recuperar la instalación OCI anterior",
|
||||||
"terminalTitleModify": "Modificar aplicación OCI",
|
"terminalTitleModify": "Modificar aplicación OCI",
|
||||||
"terminalTitleRecover": "Recuperar aplicación OCI restaurada",
|
"terminalTitleRecover": "Recuperar aplicación OCI restaurada",
|
||||||
"terminalDescription": "Se ejecuta el mismo proceso que en el menú de ProxMenux: OCI manager Apps → Gestionar aplicaciones OCI instaladas.",
|
"terminalDescription": "Se ejecuta el mismo proceso que en el menú de ProxMenux: OCI manager Apps → Gestionar aplicaciones OCI instaladas.",
|
||||||
@@ -1913,7 +1915,128 @@
|
|||||||
"ociNewImage": "Nueva imagen",
|
"ociNewImage": "Nueva imagen",
|
||||||
"ociImageCurrent": "Versión",
|
"ociImageCurrent": "Versión",
|
||||||
"refreshData": "Actualizar datos",
|
"refreshData": "Actualizar datos",
|
||||||
"refreshingData": "Actualizando…"
|
"refreshingData": "Actualizando…",
|
||||||
|
"confirmRemove": "¿Eliminar el registro de esta aplicación de la pestaña App? Esto no desinstala la aplicación.",
|
||||||
|
"packageExample": "por ejemplo, {package}",
|
||||||
|
"packageHelpBefore": "Se rellena automáticamente a partir del nombre. Compruébalo con",
|
||||||
|
"packageHelpAfter": "dentro del CT.",
|
||||||
|
"binaryHelpBefore": "Ruta absoluta. Búscala con",
|
||||||
|
"binaryHelpOr": "o",
|
||||||
|
"errors": {
|
||||||
|
"ociBusy": "hay una operación OCI en curso en este contenedor",
|
||||||
|
"dpkgMissing": "{package} no está instalado mediante dpkg",
|
||||||
|
"dpkgFailed": "dpkg-query falló",
|
||||||
|
"dpkgNoVersion": "ninguna versión coincide en la salida de dpkg",
|
||||||
|
"apkFailed": "apk info falló",
|
||||||
|
"apkNoVersion": "ninguna versión coincide en la salida de apk",
|
||||||
|
"fileRead": "no se pudo leer {path}",
|
||||||
|
"fileNoMatch": "file_regex no coincide con {path}",
|
||||||
|
"binaryFailed": "falló la invocación del binario",
|
||||||
|
"binaryNoVersion": "ninguna versión coincide en la salida del binario",
|
||||||
|
"pythonFailed": "python -c importlib.metadata falló",
|
||||||
|
"pythonNoVersion": "ninguna versión coincide en la salida de la distribución de Python",
|
||||||
|
"dockerImageResolve": "no se pudo resolver la imagen instalada del contenedor",
|
||||||
|
"dockerInspectFailed": "docker inspect falló",
|
||||||
|
"dockerLabelMissing": "el contenedor no tiene la etiqueta {label}",
|
||||||
|
"dockerLabelMutable": "la etiqueta de docker indica {tag} (tag mutable, no una versión)",
|
||||||
|
"dockerLabelNoVersion": "ninguna versión coincide en la salida de la etiqueta de docker",
|
||||||
|
"dockerExecFailed": "docker exec falló",
|
||||||
|
"dockerExecNoVersion": "ninguna versión coincide en la salida de docker exec",
|
||||||
|
"commandEmpty": "command_argv está vacío",
|
||||||
|
"commandFailed": "el comando falló",
|
||||||
|
"commandNoVersion": "ninguna versión coincide en la salida del comando",
|
||||||
|
"unsupportedMethod": "método no compatible: {method}",
|
||||||
|
"unknownUpstream": "upstream_type desconocido: {type}",
|
||||||
|
"githubNotFound": "{repo}: no encontrado",
|
||||||
|
"githubRejected": "github rechazó la solicitud (403)",
|
||||||
|
"githubError": "error de github {code}",
|
||||||
|
"noRelease": "no hay tag ni nombre de release en la respuesta",
|
||||||
|
"tagNoMatch": "tag_regex no coincide con '{tag}'",
|
||||||
|
"httpError": "error http {code}",
|
||||||
|
"invalidJson": "respuesta JSON no válida: {detail}",
|
||||||
|
"jsonPathUnresolved": "json_path '{path}' no se pudo resolver",
|
||||||
|
"jsonEmpty": "valor vacío en json_path",
|
||||||
|
"dockerNoTags": "ningún tag coincide (docker_hub)",
|
||||||
|
"dockerMovingOnly": "tag_regex solo coincide con tags móviles; usa el seguimiento por digest de la imagen Docker",
|
||||||
|
"dockerHubError": "error de docker hub {code}",
|
||||||
|
"dockerHubJson": "JSON de docker hub no válido: {detail}",
|
||||||
|
"dockerHubEmpty": "docker hub no devolvió ningún tag",
|
||||||
|
"payload": "el payload debe ser un objeto JSON",
|
||||||
|
"name": "name es obligatorio y debe tener 1-64 caracteres de letras/dígitos/espacios/._+-()/",
|
||||||
|
"method": "installed_via debe ser uno de: {values} o vacío",
|
||||||
|
"package": "package es obligatorio (letras/dígitos/._+@:/ hasta 127 caracteres)",
|
||||||
|
"filePath": "file_path es obligatorio y debe ser una ruta absoluta",
|
||||||
|
"fileRegex": "file_regex es obligatorio",
|
||||||
|
"fileRegexInvalid": "file_regex no es una regex válida: {detail}",
|
||||||
|
"binaryPath": "binary_path es obligatorio y debe ser una ruta absoluta",
|
||||||
|
"pythonPath": "python_path es obligatorio y debe ser una ruta absoluta",
|
||||||
|
"distribution": "distribution es obligatorio (nombre PEP 503)",
|
||||||
|
"container": "container_name es obligatorio (reglas de nombres de docker)",
|
||||||
|
"label": "label es obligatorio (reglas de nombres de etiquetas OCI)",
|
||||||
|
"dockerBinary": "binary_path es obligatorio (ruta absoluta o comando simple)",
|
||||||
|
"manualVersion": "installed_version es obligatorio para el método manual",
|
||||||
|
"versionLength": "installed_version supera {max} caracteres",
|
||||||
|
"versionControl": "installed_version contiene un carácter de control no permitido",
|
||||||
|
"installedRegexInvalid": "installed_regex no es una regex válida: {detail}",
|
||||||
|
"upstreamType": "upstream_type debe ser uno de: {values}",
|
||||||
|
"tagRegexInvalid": "tag_regex no es una regex válida: {detail}",
|
||||||
|
"repoRequired": "repo es obligatorio para upstream_type=github",
|
||||||
|
"repoFormat": "repo debe tener el formato 'owner/name'",
|
||||||
|
"githubSource": "github_source debe ser uno de: {values}",
|
||||||
|
"upstreamUrlRequired": "upstream_url es obligatorio para upstream_type=http_json",
|
||||||
|
"upstreamUrl": "upstream_url debe ser una URL http(s)",
|
||||||
|
"upstreamUrlLength": "upstream_url supera {max} caracteres",
|
||||||
|
"jsonPathRequired": "upstream_json_path es obligatorio para upstream_type=http_json",
|
||||||
|
"jsonPathLength": "upstream_json_path supera {max} caracteres",
|
||||||
|
"jsonPathCharacters": "upstream_json_path usa caracteres no permitidos",
|
||||||
|
"dockerImageRequired": "docker_image es obligatorio para upstream_type=docker_hub",
|
||||||
|
"dockerImageLength": "docker_image supera {max} caracteres",
|
||||||
|
"dockerImageFormat": "docker_image debe seguir el formato de nombres de Docker Hub (owner/name o name)",
|
||||||
|
"healthPath": "health_path debe ser una ruta URL válida (máx. 255 caracteres)",
|
||||||
|
"logoUrl": "logo_url debe ser una URL http(s) o el icono local en caché de esta VM",
|
||||||
|
"discoveryId": "discovery_id no válido",
|
||||||
|
"helperSlug": "helper_slug debe ser un slug en minúsculas (letras/dígitos/._-)",
|
||||||
|
"updateVia": "update_via solo acepta 'docker'",
|
||||||
|
"dockerDetector": "update_via=docker requiere un detector docker_label o docker_exec",
|
||||||
|
"dockerConflict": "update_via=docker no se puede combinar con {field}",
|
||||||
|
"updateCommandType": "update_command debe ser una cadena",
|
||||||
|
"updateCommandLength": "update_command supera {max} caracteres",
|
||||||
|
"updateCommandNull": "update_command contiene un byte nulo",
|
||||||
|
"updateMethod": "update_method debe ser none, helper o custom",
|
||||||
|
"updateCommandRequired": "update_command es obligatorio para update_method=custom",
|
||||||
|
"updateCommandOnlyCustom": "update_command solo se permite con update_method=custom",
|
||||||
|
"helperRequired": "se requiere un helper_slug compatible para update_method=helper",
|
||||||
|
"dockerUpdater": "las aplicaciones delegadas en Docker se actualizan mediante su imagen, no con un actualizador de aplicación aparte",
|
||||||
|
"commandRequired": "command_argv es obligatorio (lista no vacía)",
|
||||||
|
"commandList": "command_argv debe ser una lista no vacía de cadenas",
|
||||||
|
"commandCount": "command_argv admite como máximo {max} entradas",
|
||||||
|
"commandEntry": "command_argv[{index}] debe ser una cadena no vacía",
|
||||||
|
"commandEntryLength": "command_argv[{index}] supera {max} caracteres",
|
||||||
|
"commandEntryControl": "command_argv[{index}] contiene un carácter de control no permitido",
|
||||||
|
"binaryArgsList": "binary_args debe ser una lista de cadenas",
|
||||||
|
"binaryArgsCount": "binary_args admite como máximo {max} entradas",
|
||||||
|
"binaryArgEntry": "binary_args[{index}] debe ser una cadena no vacía",
|
||||||
|
"binaryArgLength": "binary_args[{index}] supera {max} caracteres",
|
||||||
|
"binaryArgControl": "binary_args[{index}] contiene un carácter de control no permitido",
|
||||||
|
"portsList": "ports debe ser una lista de {port, description, scheme}",
|
||||||
|
"portObject": "ports[{index}] debe ser un objeto",
|
||||||
|
"portRequired": "ports[{index}].port es obligatorio",
|
||||||
|
"portInteger": "ports[{index}].port debe ser un número entero",
|
||||||
|
"portRange": "ports[{index}].port debe estar en el rango 1-65535",
|
||||||
|
"portDuplicate": "el puerto {port} aparece más de una vez en esta aplicación",
|
||||||
|
"portDescription": "ports[{index}].description tiene caracteres no válidos",
|
||||||
|
"portScheme": "ports[{index}].scheme debe ser 'http' o 'https'",
|
||||||
|
"portPath": "ports[{index}].web_path debe ser una ruta URL válida (máx. 255 caracteres)",
|
||||||
|
"portLogo": "ports[{index}].logo_url debe ser una URL http(s) (máx. 512 caracteres)",
|
||||||
|
"portCategory": "ports[{index}].category tiene caracteres no válidos o es demasiado largo",
|
||||||
|
"portCustomUrl": "ports[{index}].custom_url debe ser una URL http(s) (máx. 512 caracteres)",
|
||||||
|
"tagRegexLength": "tag_regex supera 512 caracteres",
|
||||||
|
"persistPermission": "no se pudo guardar el sidecar (¿permisos?)",
|
||||||
|
"persist": "no se pudo guardar el sidecar",
|
||||||
|
"noApps": "no hay aplicaciones registradas para este vmid",
|
||||||
|
"appMissing": "no se encontró app_id '{appId}'",
|
||||||
|
"appNotFound": "aplicación no encontrada"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"statusFilter": {
|
"statusFilter": {
|
||||||
"ariaLabel": "Filtrar máquinas virtuales y contenedores",
|
"ariaLabel": "Filtrar máquinas virtuales y contenedores",
|
||||||
@@ -2447,6 +2570,42 @@
|
|||||||
"updateManyDescription": "Volver a ejecutar {count} funciones posteriores a la instalación en secuencia.",
|
"updateManyDescription": "Volver a ejecutar {count} funciones posteriores a la instalación en secuencia.",
|
||||||
"legacySourceTitle": "Optimización heredada: haz clic para ver la fuente",
|
"legacySourceTitle": "Optimización heredada: haz clic para ver la fuente",
|
||||||
"sourceTitle": "Haz clic para ver el código fuente",
|
"sourceTitle": "Haz clic para ver el código fuente",
|
||||||
|
"sourceDialogTitle": "Código fuente: {name}",
|
||||||
|
"sourceLoading": "Cargando el código fuente…",
|
||||||
|
"sourceUnavailable": "El código fuente no está disponible.",
|
||||||
|
"sourceLoadFailed": "No se pudo cargar el código fuente. Vuelve a intentarlo.",
|
||||||
|
"sourceFunctionMissing": "No se encontró la función en los scripts disponibles.",
|
||||||
|
"sourceUnknownTool": "Herramienta desconocida: {tool}",
|
||||||
|
"sourceNoMapping": "No hay ninguna función asignada a la herramienta {tool}.",
|
||||||
|
"sourceToolNames": {
|
||||||
|
"subscription_banner": "Eliminación del banner de suscripción",
|
||||||
|
"time_sync": "Sincronización horaria",
|
||||||
|
"apt_languages": "Omitir idiomas de APT",
|
||||||
|
"journald": "Optimización de Journald",
|
||||||
|
"logrotate": "Optimización de Logrotate",
|
||||||
|
"system_limits": "Aumento de los límites del sistema",
|
||||||
|
"memory_settings": "Optimización de la configuración de memoria",
|
||||||
|
"zram_swap": "Perfil de swap con ZRAM",
|
||||||
|
"kernel_panic": "Configuración de kernel panic",
|
||||||
|
"apt_ipv4": "Forzar IPv4 en APT",
|
||||||
|
"kexec": "kexec para reinicios rápidos",
|
||||||
|
"rpc": "Desactivar RPC / rpcbind",
|
||||||
|
"motd": "Banner MOTD personalizado",
|
||||||
|
"system_utils": "Utilidades del sistema",
|
||||||
|
"network_optimization": "Optimizaciones de red",
|
||||||
|
"bashrc_custom": "Personalización de Bashrc",
|
||||||
|
"figurine": "Figurine",
|
||||||
|
"fastfetch": "Fastfetch",
|
||||||
|
"log2ram": "Log2ram (protección de SSD)",
|
||||||
|
"zfs_autotrim": "ZFS Autotrim",
|
||||||
|
"amd_fixes": "Correcciones para CPU AMD (Ryzen/EPYC)",
|
||||||
|
"persistent_network": "Configurar interfaces de red persistentes",
|
||||||
|
"vfio_iommu": "Passthrough VFIO/IOMMU",
|
||||||
|
"lvm_repair": "Reparación de cabeceras PV de LVM",
|
||||||
|
"repo_cleanup": "Limpieza de repositorios",
|
||||||
|
"proxmox_repos": "Repositorios APT de Proxmox",
|
||||||
|
"entropy": "Generación de entropía (haveged)"
|
||||||
|
},
|
||||||
"legacy": "legado",
|
"legacy": "legado",
|
||||||
"updateToolTitle": "Actualizar {name} a v{version}",
|
"updateToolTitle": "Actualizar {name} a v{version}",
|
||||||
"availableUpdates": "Actualizaciones disponibles",
|
"availableUpdates": "Actualizaciones disponibles",
|
||||||
@@ -4975,122 +5134,122 @@
|
|||||||
"save": "Guardar retención"
|
"save": "Guardar retención"
|
||||||
},
|
},
|
||||||
"apiErrors": {
|
"apiErrors": {
|
||||||
"requestFailed": "La solicitud falló.",
|
"requestFailed": "La solicitud ha fallado.",
|
||||||
"absolutePath": "la ruta debe ser absoluta",
|
"absolutePath": "la ruta debe ser absoluta",
|
||||||
"pathConfigured": "esta ruta ya está configurada",
|
"pathConfigured": "esta ruta ya está configurada",
|
||||||
"pathRequired": "se requiere ruta",
|
"pathRequired": "la ruta es obligatoria",
|
||||||
"pathQuery": "se requiere el parámetro de consulta de ruta",
|
"pathQuery": "el parámetro de consulta path es obligatorio",
|
||||||
"pathNotFound": "ruta no encontrada",
|
"pathNotFound": "ruta no encontrada",
|
||||||
"invalidJobId": "identificación de trabajo no válida",
|
"invalidJobId": "id de tarea no válido",
|
||||||
"jobNotFound": "trabajo no encontrado",
|
"jobNotFound": "tarea no encontrada",
|
||||||
"runnerMissing": "script de ejecución no instalado",
|
"runnerMissing": "el script de ejecución no está instalado",
|
||||||
"noRestore": "no restaurar el estado para descartar",
|
"noRestore": "no hay ningún estado de restauración que descartar",
|
||||||
"invalidFile": "invalid file name",
|
"invalidFile": "nombre de archivo no válido",
|
||||||
"notFound": "no encontrado",
|
"notFound": "no encontrado",
|
||||||
"logOutside": "ruta de registro fuera del directorio permitido",
|
"logOutside": "la ruta del log está fuera del directorio permitido",
|
||||||
"targetsList": "los objetivos deben ser una lista",
|
"targetsList": "targets debe ser una lista",
|
||||||
"emptyExpression": "expresión vacía",
|
"emptyExpression": "expresión vacía",
|
||||||
"invalidId": "identificación no válida (use letras, dígitos, _ o -)",
|
"invalidId": "id no válido (usa letras, dígitos, _ o -)",
|
||||||
"backend": "el backend debe ser pbs, local o borg",
|
"backend": "backend debe ser pbs, local o borg",
|
||||||
"remoteBackend": "el backend debe ser pbs o borg",
|
"remoteBackend": "backend debe ser pbs o borg",
|
||||||
"remoteBackendQuoted": "el backend debe ser 'pbs' o 'borg'",
|
"remoteBackendQuoted": "backend debe ser 'pbs' o 'borg'",
|
||||||
"profileMode": "perfil_mode debe ser predeterminado o personalizado",
|
"profileMode": "profile_mode debe ser default o custom",
|
||||||
"borgAttached": "borg no se puede adjuntar (PVE vzdump solo escribe en pbs/almacenamiento local)",
|
"borgAttached": "borg no se puede vincular (vzdump de PVE solo escribe en almacenamientos pbs/local)",
|
||||||
"borgAttachedLong": "borg no es un backend válido para trabajos adjuntos (PVE vzdump solo escribe en pbs/almacenamiento local)",
|
"borgAttachedLong": "borg no es un backend válido para tareas vinculadas (vzdump de PVE solo escribe en almacenamientos pbs/local)",
|
||||||
"parentRequired": "se requieren pve_parent_job_id y pve_storage para adjuntar",
|
"parentRequired": "pve_parent_job_id y pve_storage son obligatorios para attached",
|
||||||
"absolutePaths": "las rutas deben ser una lista de rutas absolutas",
|
"absolutePaths": "paths debe ser una lista de rutas absolutas",
|
||||||
"customPath": "el perfil personalizado necesita al menos una ruta",
|
"customPath": "el perfil personalizado necesita al menos una ruta",
|
||||||
"defaultPaths": "no se pudieron resolver las rutas de perfil predeterminadas",
|
"defaultPaths": "no se pudieron resolver las rutas del perfil predeterminado",
|
||||||
"retentionObject": "la retención debe ser un objeto",
|
"retentionObject": "retention debe ser un objeto",
|
||||||
"pbsRepository": "se requiere pbs_repository",
|
"pbsRepository": "pbs_repository es obligatorio",
|
||||||
"pbsEncryption": "pbs_encrypt_mode debe ser 'ninguno', 'nuevo' o 'existente'",
|
"pbsEncryption": "pbs_encrypt_mode debe ser 'none', 'new' o 'existing'",
|
||||||
"pbsKeyFailed": "no se pudo crear el archivo de claves de cifrado PBS",
|
"pbsKeyFailed": "no se pudo crear el archivo de claves de cifrado de PBS",
|
||||||
"pbsClientMissing": "no se pudo crear el archivo de claves de cifrado PBS (¿está instalado el cliente de respaldo proxmox?)",
|
"pbsClientMissing": "no se pudo crear el archivo de claves de cifrado de PBS (¿está instalado proxmox-backup-client?)",
|
||||||
"borgRepository": "se requiere borg_repo",
|
"borgRepository": "borg_repo es obligatorio",
|
||||||
"borgEncryption": "borg_encrypt_mode debe ser uno de: ninguno, repokey, archivo de claves, autenticado",
|
"borgEncryption": "borg_encrypt_mode debe ser uno de: none, repokey, keyfile, authenticated",
|
||||||
"encryption": "encrypt_mode debe ser uno de: none, repokey, keyfile, authenticated",
|
"encryption": "encrypt_mode debe ser uno de: none, repokey, keyfile, authenticated",
|
||||||
"borgPassphrase": "se requiere borg_passphrase cuando el cifrado está habilitado (guárdelo en el destino o pase uno en la solicitud)",
|
"borgPassphrase": "borg_passphrase es obligatorio cuando el cifrado está activado (guárdala en el destino o indica una en la solicitud)",
|
||||||
"passphrase": "se requiere una frase de contraseña cuando el cifrado está habilitado",
|
"passphrase": "la frase de contraseña es obligatoria cuando el cifrado está activado",
|
||||||
"password": "password is required",
|
"password": "la contraseña es obligatoria",
|
||||||
"deviceConfirmation": "confirm_device debe coincidir exactamente con el dispositivo (error tipográfico/verificación de seguridad)",
|
"deviceConfirmation": "confirm_device debe coincidir exactamente con device (comprobación de errores tipográficos / seguridad)",
|
||||||
"invalidDevice": "ruta de dispositivo no válida",
|
"invalidDevice": "ruta de dispositivo no válida",
|
||||||
"absoluteMountpoint": "absolute mountpoint required",
|
"absoluteMountpoint": "se requiere un punto de montaje absoluto",
|
||||||
"archiveLayout": "diseño de archivo no reconocido - no se encontraron rootfs/",
|
"archiveLayout": "estructura del archivo no reconocida: no se encontró rootfs/",
|
||||||
"archiveMissing": "archivo no encontrado",
|
"archiveMissing": "archivo no encontrado",
|
||||||
"archiveNotFile": "la ruta del archivo no es un archivo normal",
|
"archiveNotFile": "la ruta del archivo no es un archivo regular",
|
||||||
"invalidName": "nombre no válido",
|
"invalidName": "nombre no válido",
|
||||||
"invalidStaging": "staging_path no válido",
|
"invalidStaging": "staging_path no válido",
|
||||||
"jobRename": "job name cannot be changed (delete + recreate to rename)",
|
"jobRename": "no se puede cambiar el nombre de la tarea (elimínala y vuelve a crearla para renombrarla)",
|
||||||
"absoluteKey": "key_path debe ser absoluto",
|
"absoluteKey": "key_path debe ser absoluta",
|
||||||
"mode": "el modo debe ser \"local\" o \"ssh\"",
|
"mode": "mode debe ser \"local\" o \"ssh\"",
|
||||||
"nameRequired": "el nombre es obligatorio (letras, dígitos, _ o -)",
|
"nameRequired": "el nombre es obligatorio (letras, dígitos, _ o -)",
|
||||||
"noLog": "todavía no hay registros disponibles para este trabajo",
|
"noLog": "aún no hay ningún log disponible para esta tarea",
|
||||||
"noPbsConfig": "no hay archivo de configuración manual de PBS",
|
"noPbsConfig": "no hay archivo de configuraciones manuales de PBS",
|
||||||
"outputMissing": "falta el archivo de salida",
|
"outputMissing": "falta el archivo de salida",
|
||||||
"parserJson": "la salida del analizador no era JSON válido",
|
"parserJson": "la salida del analizador no era un JSON válido",
|
||||||
"restoreJson": "la salida de run_restore no era JSON válido",
|
"restoreJson": "la salida de run_restore no era un JSON válido",
|
||||||
"repoRequired": "se requiere repositorio",
|
"repoRequired": "repo es obligatorio",
|
||||||
"repoSnapshot": "repo_name and snapshot are required",
|
"repoSnapshot": "repo_name y snapshot son obligatorios",
|
||||||
"borgRepoSnapshot": "se requieren repo_name y snapshot para borg",
|
"borgRepoSnapshot": "repo_name y snapshot son obligatorios para borg",
|
||||||
"pbsRepoSnapshot": "se requieren repo_name y snapshot para pbs",
|
"pbsRepoSnapshot": "repo_name y snapshot son obligatorios para pbs",
|
||||||
"repoName": "se requiere nombre_repo",
|
"repoName": "repo_name es obligatorio",
|
||||||
"restoreMissing": "restaurar herramientas no instaladas en este host",
|
"restoreMissing": "las herramientas de restauración no están instaladas en este host",
|
||||||
"serverDatastore": "se requieren servidor y almacén de datos",
|
"serverDatastore": "el servidor y el datastore son obligatorios",
|
||||||
"snapshotRequired": "se requiere una instantánea",
|
"snapshotRequired": "el snapshot es obligatorio",
|
||||||
"source": "la fuente debe ser pbs, borg o local",
|
"source": "source debe ser pbs, borg o local",
|
||||||
"sshPort": "ssh_port debe ser un número entero entre 1 y 65535",
|
"sshPort": "ssh_port debe ser un número entero entre 1 y 65535",
|
||||||
"sshRequired": "ssh_user, ssh_host y ssh_remote_path son necesarios para el modo ssh",
|
"sshRequired": "ssh_user, ssh_host y ssh_remote_path son obligatorios en el modo ssh",
|
||||||
"repositoryPath": "el objetivo no tiene ruta de repositorio",
|
"repositoryPath": "el destino no tiene ruta de repositorio",
|
||||||
"taskExpired": "tarea no encontrada o caducada",
|
"taskExpired": "tarea no encontrada o caducada",
|
||||||
"invalidExpression": "expresión no válida",
|
"invalidExpression": "expresión no válida",
|
||||||
"noReport": "no se emitió ningún informe",
|
"noReport": "no se ha emitido ningún informe",
|
||||||
"parseManifestFailed": "parse_manifest salió de un valor distinto de cero",
|
"parseManifestFailed": "parse_manifest terminó con un código distinto de cero",
|
||||||
"jobExists": "el trabajo ya existe: {value}",
|
"jobExists": "la tarea ya existe: {value}",
|
||||||
"pathMissing": "la ruta no existe en este host: {value}",
|
"pathMissing": "la ruta no existe en este host: {value}",
|
||||||
"deviceMissing": "el dispositivo no existe: {value}",
|
"deviceMissing": "el dispositivo no existe: {value}",
|
||||||
"mountpoint": "no es un punto de montaje: {value}",
|
"mountpoint": "no es un punto de montaje: {value}",
|
||||||
"localArchiveMissing": "archivo local no encontrado: {value}",
|
"localArchiveMissing": "archivo local no encontrado: {value}",
|
||||||
"borgDestination": "Destino Borg '{value}' no encontrado",
|
"borgDestination": "no se encontró el destino Borg '{value}'",
|
||||||
"pbsDestination": "destino PBS '{value}' no encontrado",
|
"pbsDestination": "no se encontró el destino PBS '{value}'",
|
||||||
"pbsPassword": "no hay contraseña disponible para el repositorio de PBS '{value}'",
|
"pbsPassword": "no hay contraseña disponible para el repo PBS '{value}'",
|
||||||
"borgRepoMissing": "El repositorio de Borg \"{value}\" no está configurado",
|
"borgRepoMissing": "el repo Borg \"{value}\" no está configurado",
|
||||||
"pbsRepoMissing": "repositorio de PBS \"{value}\" no configurado",
|
"pbsRepoMissing": "el repo PBS \"{value}\" no está configurado",
|
||||||
"borgTargetMissing": "Borg target not found: {value}",
|
"borgTargetMissing": "destino Borg no encontrado: {value}",
|
||||||
"pbsTargetMissing": "repositorio de PBS no encontrado: {value}",
|
"pbsTargetMissing": "repo PBS no encontrado: {value}",
|
||||||
"pveJobMissing": "PVE vzdump trabajo no encontrado: {value}",
|
"pveJobMissing": "tarea vzdump de PVE no encontrada: {value}",
|
||||||
"statePersist": "no se puede conservar el estado: {value}",
|
"statePersist": "no se puede guardar el estado: {value}",
|
||||||
"sshDirectory": "no se puede preparar el directorio ssh: {value}",
|
"sshDirectory": "no se puede preparar el directorio ssh: {value}",
|
||||||
"logRead": "no se puede leer el registro: {value}",
|
"logRead": "no se puede leer el log: {value}",
|
||||||
"envUpdate": "no se pudo actualizar .env: {value}",
|
"envUpdate": "no se pudo actualizar .env: {value}",
|
||||||
"pbsConfigWrite": "no se pudo conservar la configuración de PBS: {value}",
|
"pbsConfigWrite": "no se pudo guardar la configuración de PBS: {value}",
|
||||||
"persist": "no se pudo persistir: {value}",
|
"persist": "no se pudo guardar: {value}",
|
||||||
"archiveRemove": "no se pudo eliminar el archivo: {value}",
|
"archiveRemove": "no se pudo eliminar el archivo: {value}",
|
||||||
"start": "no se pudo iniciar: {value}",
|
"start": "no se pudo iniciar: {value}",
|
||||||
"borgTargetsUpdate": "no se pudo actualizar borg-targets.txt: {value}",
|
"borgTargetsUpdate": "no se pudo actualizar borg-targets.txt: {value}",
|
||||||
"pbsTargetsUpdate": "no se pudo actualizar pbs-manual-configs.txt: {value}",
|
"pbsTargetsUpdate": "no se pudo actualizar pbs-manual-configs.txt: {value}",
|
||||||
"unitsUpdate": "no se pudieron actualizar las unidades systemd: {value}",
|
"unitsUpdate": "no se pudieron actualizar las unidades de systemd: {value}",
|
||||||
"borgTargetsWrite": "no se pudo escribir borg-targets.txt: {value}",
|
"borgTargetsWrite": "no se pudo escribir borg-targets.txt: {value}",
|
||||||
"jobWrite": "no se pudieron escribir archivos de trabajo: {value}",
|
"jobWrite": "no se pudieron escribir los archivos de la tarea: {value}",
|
||||||
"localTargetWrite": "no se pudo escribir local-target.conf: {value}",
|
"localTargetWrite": "no se pudo escribir local-target.conf: {value}",
|
||||||
"unitsWrite": "no se pudieron escribir unidades systemd: {value}",
|
"unitsWrite": "no se pudieron escribir las unidades de systemd: {value}",
|
||||||
"format": "formato fallido: {value}",
|
"format": "falló el formateo: {value}",
|
||||||
"calendar": "no válido en_calendario: {value}",
|
"calendar": "on_calendar no válido: {value}",
|
||||||
"mount": "montaje fallido: {value}",
|
"mount": "falló el montaje: {value}",
|
||||||
"parserInvocation": "falló la invocación del analizador: {value}",
|
"parserInvocation": "falló la invocación del analizador: {value}",
|
||||||
"preflightInvocation": "error en la invocación de verificación previa: {value}",
|
"preflightInvocation": "falló la invocación de la verificación previa: {value}",
|
||||||
"publicKeyMissing": "clave pública no encontrada después de la generación: {value}",
|
"publicKeyMissing": "no se encontró la clave pública tras generarla: {value}",
|
||||||
"retentionInteger": "retención.{value} debe ser un número entero",
|
"retentionInteger": "retention.{value} debe ser un número entero",
|
||||||
"retentionNegative": "retención.{value} no debe ser negativo",
|
"retentionNegative": "retention.{value} no puede ser negativo",
|
||||||
"keygen": "ssh-keygen falló: {value}",
|
"keygen": "ssh-keygen falló: {value}",
|
||||||
"systemctl": "systemctl falló: {value}",
|
"systemctl": "systemctl falló: {value}",
|
||||||
"unmount": "error de desmontaje: {value}",
|
"unmount": "umount falló: {value}",
|
||||||
"taskIncomplete": "la tarea está en el estado \"{value}\", no completada",
|
"taskIncomplete": "la tarea está en estado \"{value}\", no completada",
|
||||||
"unknownKind": "tipo desconocido: {value}",
|
"unknownKind": "tipo desconocido: {value}",
|
||||||
"unknownMode": "modo desconocido \"{value}\"",
|
"unknownMode": "modo desconocido \"{value}\"",
|
||||||
"defaultRemove": "{value} is the built-in default and cannot be removed",
|
"defaultRemove": "{value} es el valor predeterminado integrado y no se puede eliminar",
|
||||||
"defaultAdd": "{value} es el valor predeterminado integrado;no es necesario agregarlo",
|
"defaultAdd": "{value} es el valor predeterminado integrado; no hace falta añadirlo",
|
||||||
"keyImport": "No hay ningún archivo de claves PBS instalado en {value}.Importe el archivo clave primero.",
|
"keyImport": "No hay ningún archivo de claves de PBS instalado en {value}. Importa primero el archivo de claves.",
|
||||||
"storageMismatch": "el almacenamiento de trabajos PVE no coincide (el trabajo usa {value}, la carga útil dice {other})"
|
"storageMismatch": "el almacenamiento de la tarea de PVE no coincide (la tarea usa {value}, el payload indica {other})"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"healthStatus": {
|
"healthStatus": {
|
||||||
@@ -5592,6 +5751,7 @@
|
|||||||
"websocketError": "Ocurrió un error en WebSocket",
|
"websocketError": "Ocurrió un error en WebSocket",
|
||||||
"connectionClosed": "Conexión cerrada",
|
"connectionClosed": "Conexión cerrada",
|
||||||
"completedSuccessfully": "Guión completado con éxito",
|
"completedSuccessfully": "Guión completado con éxito",
|
||||||
|
"cancelled": "Operación cancelada.",
|
||||||
"completedWithError": "Script terminado con el código de error {code}",
|
"completedWithError": "Script terminado con el código de error {code}",
|
||||||
"yes": "Sí",
|
"yes": "Sí",
|
||||||
"yourInput": "Su entrada:",
|
"yourInput": "Su entrada:",
|
||||||
@@ -7606,15 +7766,15 @@
|
|||||||
"changeAddress": "Cambiar dirección",
|
"changeAddress": "Cambiar dirección",
|
||||||
"cancel": "Cancelar",
|
"cancel": "Cancelar",
|
||||||
"errors": {
|
"errors": {
|
||||||
"addressRequired": "Ingrese la dirección del Monitor.",
|
"addressRequired": "Introduce la dirección del Monitor.",
|
||||||
"invalidAddress": "la dirección debe comenzar con http:// o https:// y nombrar un host.",
|
"invalidAddress": "La dirección debe empezar por http:// o https:// e indicar un host.",
|
||||||
"addressCredentials": "La dirección no debe contener usuario ni contraseña.",
|
"addressCredentials": "La dirección no debe contener un usuario ni una contraseña.",
|
||||||
"invalidPort": "El puerto de la dirección no es válido.",
|
"invalidPort": "El puerto de la dirección no es válido.",
|
||||||
"invalidRequest": "La solicitud no es válida.Vuelve a cargar la página e inténtalo de nuevo.",
|
"invalidRequest": "La solicitud no es válida. Recarga la página y vuelve a intentarlo.",
|
||||||
"limit": "como máximo se pueden agregar nodos {count}.",
|
"limit": "Se pueden añadir como máximo {count} nodos.",
|
||||||
"duplicate": "esta dirección ya está en la lista.",
|
"duplicate": "Esta dirección ya está en la lista.",
|
||||||
"notFound": "No se encontró el nodo.Vuelva a cargar la lista e inténtelo de nuevo.",
|
"notFound": "No se encontró el nodo. Recarga la lista y vuelve a intentarlo.",
|
||||||
"detectedRemove": "solo se pueden eliminar los nodos agregados manualmente.Los nodos detectados se pueden ocultar."
|
"detectedRemove": "Solo se pueden eliminar los nodos añadidos a mano. Los nodos detectados se pueden ocultar."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+299
-139
@@ -1231,7 +1231,9 @@
|
|||||||
"update": "Mettre à jour",
|
"update": "Mettre à jour",
|
||||||
"modify": "Modifier",
|
"modify": "Modifier",
|
||||||
"recover": "Récupérer",
|
"recover": "Récupérer",
|
||||||
|
"registerRestored": "Enregistrer à nouveau",
|
||||||
"terminalTitleUpdate": "Mettre à jour l'application OCI",
|
"terminalTitleUpdate": "Mettre à jour l'application OCI",
|
||||||
|
"terminalTitleRecoverPrevious": "Récupérer l'installation OCI précédente",
|
||||||
"terminalTitleModify": "Modifier l'application OCI",
|
"terminalTitleModify": "Modifier l'application OCI",
|
||||||
"terminalTitleRecover": "Récupérer l'application OCI restaurée",
|
"terminalTitleRecover": "Récupérer l'application OCI restaurée",
|
||||||
"terminalDescription": "Le même processus que dans le menu ProxMenux s'exécute : OCI manager Apps → Gérer les applications OCI installées.",
|
"terminalDescription": "Le même processus que dans le menu ProxMenux s'exécute : OCI manager Apps → Gérer les applications OCI installées.",
|
||||||
@@ -1760,7 +1762,128 @@
|
|||||||
"dockerEvidenceImage": "Image",
|
"dockerEvidenceImage": "Image",
|
||||||
"dockerEvidencePort": "Port TCP publié",
|
"dockerEvidencePort": "Port TCP publié",
|
||||||
"dockerEvidenceProject": "Projet Compose",
|
"dockerEvidenceProject": "Projet Compose",
|
||||||
"dockerEndpointReview": "Conteneur avec des ports TCP publiés. Confirmez le nom et l'adresse web avant d'enregistrer. L'enregistrement ne configure pas les mises à jour."
|
"dockerEndpointReview": "Conteneur avec des ports TCP publiés. Confirmez le nom et l'adresse web avant d'enregistrer. L'enregistrement ne configure pas les mises à jour.",
|
||||||
|
"confirmRemove": "Supprimer l'enregistrement de cette application de l'onglet App ? Cela ne désinstalle pas l'application.",
|
||||||
|
"packageExample": "par ex. {package}",
|
||||||
|
"packageHelpBefore": "Rempli automatiquement à partir du nom. Vérifiez avec",
|
||||||
|
"packageHelpAfter": "dans le CT.",
|
||||||
|
"binaryHelpBefore": "Chemin absolu. Trouvez-le avec",
|
||||||
|
"binaryHelpOr": "ou",
|
||||||
|
"errors": {
|
||||||
|
"ociBusy": "une opération OCI est en cours sur ce conteneur",
|
||||||
|
"dpkgMissing": "{package} n'est pas installé via dpkg",
|
||||||
|
"dpkgFailed": "échec de dpkg-query",
|
||||||
|
"dpkgNoVersion": "aucune version trouvée dans la sortie de dpkg",
|
||||||
|
"apkFailed": "échec de apk info",
|
||||||
|
"apkNoVersion": "aucune version trouvée dans la sortie de apk",
|
||||||
|
"fileRead": "impossible de lire {path}",
|
||||||
|
"fileNoMatch": "file_regex ne correspond pas à {path}",
|
||||||
|
"binaryFailed": "échec de l'appel du binaire",
|
||||||
|
"binaryNoVersion": "aucune version trouvée dans la sortie du binaire",
|
||||||
|
"pythonFailed": "échec de python -c importlib.metadata",
|
||||||
|
"pythonNoVersion": "aucune version trouvée dans la sortie de la distribution Python",
|
||||||
|
"dockerImageResolve": "impossible de déterminer l'image installée du conteneur",
|
||||||
|
"dockerInspectFailed": "échec de docker inspect",
|
||||||
|
"dockerLabelMissing": "le conteneur n'a pas d'étiquette {label}",
|
||||||
|
"dockerLabelMutable": "l'étiquette docker indique {tag} (tag mobile, pas une version)",
|
||||||
|
"dockerLabelNoVersion": "aucune version trouvée dans la sortie de l'étiquette docker",
|
||||||
|
"dockerExecFailed": "échec de docker exec",
|
||||||
|
"dockerExecNoVersion": "aucune version trouvée dans la sortie de docker exec",
|
||||||
|
"commandEmpty": "command_argv est vide",
|
||||||
|
"commandFailed": "échec de la commande",
|
||||||
|
"commandNoVersion": "aucune version trouvée dans la sortie de la commande",
|
||||||
|
"unsupportedMethod": "méthode non prise en charge : {method}",
|
||||||
|
"unknownUpstream": "upstream_type inconnu : {type}",
|
||||||
|
"githubNotFound": "{repo} : introuvable",
|
||||||
|
"githubRejected": "github a refusé la requête (403)",
|
||||||
|
"githubError": "erreur github {code}",
|
||||||
|
"noRelease": "aucun tag ni nom de release dans la réponse",
|
||||||
|
"tagNoMatch": "tag_regex ne correspond pas à '{tag}'",
|
||||||
|
"httpError": "erreur http {code}",
|
||||||
|
"invalidJson": "réponse JSON non valide : {detail}",
|
||||||
|
"jsonPathUnresolved": "json_path '{path}' n'a pas pu être résolu",
|
||||||
|
"jsonEmpty": "valeur vide à json_path",
|
||||||
|
"dockerNoTags": "aucun tag ne correspond (docker_hub)",
|
||||||
|
"dockerMovingOnly": "tag_regex ne correspond qu'à des tags mobiles ; utilisez le suivi par digest de l'image Docker",
|
||||||
|
"dockerHubError": "erreur docker hub {code}",
|
||||||
|
"dockerHubJson": "JSON docker hub non valide : {detail}",
|
||||||
|
"dockerHubEmpty": "aucun tag renvoyé par docker hub",
|
||||||
|
"payload": "la charge utile doit être un objet JSON",
|
||||||
|
"name": "name est obligatoire et doit comporter de 1 à 64 caractères parmi lettres/chiffres/espaces/._+-()/",
|
||||||
|
"method": "installed_via doit être l'une des valeurs suivantes : {values} ou vide",
|
||||||
|
"package": "package est obligatoire (lettres/chiffres/._+@:/, 127 caractères max.)",
|
||||||
|
"filePath": "file_path est obligatoire et doit être un chemin absolu",
|
||||||
|
"fileRegex": "file_regex est obligatoire",
|
||||||
|
"fileRegexInvalid": "file_regex n'est pas une regex valide : {detail}",
|
||||||
|
"binaryPath": "binary_path est obligatoire et doit être un chemin absolu",
|
||||||
|
"pythonPath": "python_path est obligatoire et doit être un chemin absolu",
|
||||||
|
"distribution": "distribution est obligatoire (nom PEP 503)",
|
||||||
|
"container": "container_name est obligatoire (règles de nommage docker)",
|
||||||
|
"label": "label est obligatoire (règles de nommage des étiquettes OCI)",
|
||||||
|
"dockerBinary": "binary_path est obligatoire (chemin absolu ou commande seule)",
|
||||||
|
"manualVersion": "installed_version est obligatoire pour la méthode manuelle",
|
||||||
|
"versionLength": "installed_version dépasse {max} caractères",
|
||||||
|
"versionControl": "installed_version contient un caractère de contrôle interdit",
|
||||||
|
"installedRegexInvalid": "installed_regex n'est pas une regex valide : {detail}",
|
||||||
|
"upstreamType": "upstream_type doit être l'une des valeurs suivantes : {values}",
|
||||||
|
"tagRegexInvalid": "tag_regex n'est pas une regex valide : {detail}",
|
||||||
|
"repoRequired": "repo est obligatoire pour upstream_type=github",
|
||||||
|
"repoFormat": "repo doit être au format 'owner/name'",
|
||||||
|
"githubSource": "github_source doit être l'une des valeurs suivantes : {values}",
|
||||||
|
"upstreamUrlRequired": "upstream_url est obligatoire pour upstream_type=http_json",
|
||||||
|
"upstreamUrl": "upstream_url doit être une URL http(s)",
|
||||||
|
"upstreamUrlLength": "upstream_url dépasse {max} caractères",
|
||||||
|
"jsonPathRequired": "upstream_json_path est obligatoire pour upstream_type=http_json",
|
||||||
|
"jsonPathLength": "upstream_json_path dépasse {max} caractères",
|
||||||
|
"jsonPathCharacters": "upstream_json_path utilise des caractères interdits",
|
||||||
|
"dockerImageRequired": "docker_image est obligatoire pour upstream_type=docker_hub",
|
||||||
|
"dockerImageLength": "docker_image dépasse {max} caractères",
|
||||||
|
"dockerImageFormat": "docker_image doit respecter le nommage Docker Hub (owner/name ou name)",
|
||||||
|
"healthPath": "health_path doit être un chemin d'URL valide (255 caractères max.)",
|
||||||
|
"logoUrl": "logo_url doit être une URL http(s) ou l'icône locale en cache de cette VM",
|
||||||
|
"discoveryId": "discovery_id non valide",
|
||||||
|
"helperSlug": "helper_slug doit être un slug en minuscules (lettres/chiffres/._-)",
|
||||||
|
"updateVia": "update_via n'accepte que 'docker'",
|
||||||
|
"dockerDetector": "update_via=docker nécessite un détecteur docker_label ou docker_exec",
|
||||||
|
"dockerConflict": "update_via=docker ne peut pas être combiné avec {field}",
|
||||||
|
"updateCommandType": "update_command doit être une chaîne",
|
||||||
|
"updateCommandLength": "update_command dépasse {max} caractères",
|
||||||
|
"updateCommandNull": "update_command contient un octet nul",
|
||||||
|
"updateMethod": "update_method doit être none, helper ou custom",
|
||||||
|
"updateCommandRequired": "update_command est obligatoire pour update_method=custom",
|
||||||
|
"updateCommandOnlyCustom": "update_command n'est autorisé que pour update_method=custom",
|
||||||
|
"helperRequired": "un helper_slug pris en charge est obligatoire pour update_method=helper",
|
||||||
|
"dockerUpdater": "Les applications déléguées à Docker se mettent à jour via leur image, pas via un outil de mise à jour d'application distinct",
|
||||||
|
"commandRequired": "command_argv est obligatoire (liste non vide)",
|
||||||
|
"commandList": "command_argv doit être une liste non vide de chaînes",
|
||||||
|
"commandCount": "command_argv accepte au maximum {max} entrées",
|
||||||
|
"commandEntry": "command_argv[{index}] doit être une chaîne non vide",
|
||||||
|
"commandEntryLength": "command_argv[{index}] dépasse {max} caractères",
|
||||||
|
"commandEntryControl": "command_argv[{index}] contient un caractère de contrôle interdit",
|
||||||
|
"binaryArgsList": "binary_args doit être une liste de chaînes",
|
||||||
|
"binaryArgsCount": "binary_args accepte au maximum {max} entrées",
|
||||||
|
"binaryArgEntry": "binary_args[{index}] doit être une chaîne non vide",
|
||||||
|
"binaryArgLength": "binary_args[{index}] dépasse {max} caractères",
|
||||||
|
"binaryArgControl": "binary_args[{index}] contient un caractère de contrôle interdit",
|
||||||
|
"portsList": "ports doit être une liste de {port, description, scheme}",
|
||||||
|
"portObject": "ports[{index}] doit être un objet",
|
||||||
|
"portRequired": "ports[{index}].port est obligatoire",
|
||||||
|
"portInteger": "ports[{index}].port doit être un entier",
|
||||||
|
"portRange": "ports[{index}].port doit être compris entre 1 et 65535",
|
||||||
|
"portDuplicate": "le port {port} apparaît plusieurs fois pour cette application",
|
||||||
|
"portDescription": "ports[{index}].description contient des caractères non valides",
|
||||||
|
"portScheme": "ports[{index}].scheme doit être 'http' ou 'https'",
|
||||||
|
"portPath": "ports[{index}].web_path doit être un chemin d'URL valide (255 caractères max.)",
|
||||||
|
"portLogo": "ports[{index}].logo_url doit être une URL http(s) (512 caractères max.)",
|
||||||
|
"portCategory": "ports[{index}].category contient des caractères non valides ou est trop long",
|
||||||
|
"portCustomUrl": "ports[{index}].custom_url doit être une URL http(s) (512 caractères max.)",
|
||||||
|
"tagRegexLength": "tag_regex dépasse 512 caractères",
|
||||||
|
"persistPermission": "impossible d'enregistrer le fichier sidecar (problème de permissions ?)",
|
||||||
|
"persist": "impossible d'enregistrer le fichier sidecar",
|
||||||
|
"noApps": "aucune application enregistrée pour ce vmid",
|
||||||
|
"appMissing": "app_id '{appId}' introuvable",
|
||||||
|
"appNotFound": "application introuvable"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"statusFilter": {
|
"statusFilter": {
|
||||||
"ariaLabel": "Filtrer les machines virtuelles et les conteneurs",
|
"ariaLabel": "Filtrer les machines virtuelles et les conteneurs",
|
||||||
@@ -2294,6 +2417,42 @@
|
|||||||
"updateManyDescription": "Réexécution des fonctions de post-installation {count} dans l'ordre.",
|
"updateManyDescription": "Réexécution des fonctions de post-installation {count} dans l'ordre.",
|
||||||
"legacySourceTitle": "Optimisation héritée – cliquez pour afficher la source",
|
"legacySourceTitle": "Optimisation héritée – cliquez pour afficher la source",
|
||||||
"sourceTitle": "Cliquez pour voir le code source",
|
"sourceTitle": "Cliquez pour voir le code source",
|
||||||
|
"sourceDialogTitle": "Code source : {name}",
|
||||||
|
"sourceLoading": "Chargement du code source…",
|
||||||
|
"sourceUnavailable": "Le code source n'est pas disponible.",
|
||||||
|
"sourceLoadFailed": "Impossible de charger le code source. Réessayez.",
|
||||||
|
"sourceFunctionMissing": "La fonction est introuvable dans les scripts disponibles.",
|
||||||
|
"sourceUnknownTool": "Outil inconnu : {tool}",
|
||||||
|
"sourceNoMapping": "Aucune fonction n'est associée à l'outil {tool}.",
|
||||||
|
"sourceToolNames": {
|
||||||
|
"subscription_banner": "Suppression de la bannière d'abonnement",
|
||||||
|
"time_sync": "Synchronisation de l'heure",
|
||||||
|
"apt_languages": "Ignorer les langues APT",
|
||||||
|
"journald": "Optimisation de journald",
|
||||||
|
"logrotate": "Optimisation de logrotate",
|
||||||
|
"system_limits": "Augmentation des limites du système",
|
||||||
|
"memory_settings": "Optimisation des paramètres de mémoire",
|
||||||
|
"zram_swap": "Profil d'échange ZRAM",
|
||||||
|
"kernel_panic": "Configuration de la panique du noyau",
|
||||||
|
"apt_ipv4": "Forcer IPv4 pour APT",
|
||||||
|
"kexec": "kexec pour des redémarrages rapides",
|
||||||
|
"rpc": "Désactivation de RPC / rpcbind",
|
||||||
|
"motd": "Bannière MOTD personnalisée",
|
||||||
|
"system_utils": "Utilitaires système",
|
||||||
|
"network_optimization": "Optimisations du réseau",
|
||||||
|
"bashrc_custom": "Personnalisation de Bashrc",
|
||||||
|
"figurine": "Figurine",
|
||||||
|
"fastfetch": "Fastfetch",
|
||||||
|
"log2ram": "Log2ram (protection SSD)",
|
||||||
|
"zfs_autotrim": "Autotrim ZFS",
|
||||||
|
"amd_fixes": "Correctifs CPU AMD (Ryzen/EPYC)",
|
||||||
|
"persistent_network": "Configuration d'interfaces réseau persistantes",
|
||||||
|
"vfio_iommu": "Passthrough VFIO/IOMMU",
|
||||||
|
"lvm_repair": "Réparation des en-têtes PV LVM",
|
||||||
|
"repo_cleanup": "Nettoyage des référentiels",
|
||||||
|
"proxmox_repos": "Référentiels APT Proxmox",
|
||||||
|
"entropy": "Génération d'entropie (haveged)"
|
||||||
|
},
|
||||||
"legacy": "héritage",
|
"legacy": "héritage",
|
||||||
"updateToolTitle": "Mettez à jour {name} vers v{version}",
|
"updateToolTitle": "Mettez à jour {name} vers v{version}",
|
||||||
"availableUpdates": "Mises à jour disponibles",
|
"availableUpdates": "Mises à jour disponibles",
|
||||||
@@ -4822,122 +4981,122 @@
|
|||||||
"useDefault": "Utiliser la valeur par défaut de Proxmox (aucune politique sur ce stockage)"
|
"useDefault": "Utiliser la valeur par défaut de Proxmox (aucune politique sur ce stockage)"
|
||||||
},
|
},
|
||||||
"apiErrors": {
|
"apiErrors": {
|
||||||
"requestFailed": "La demande a échoué.",
|
"requestFailed": "La requête a échoué.",
|
||||||
"absolutePath": "le chemin doit être absolu",
|
"absolutePath": "le chemin doit être absolu",
|
||||||
"pathConfigured": "ce chemin est déjà configuré",
|
"pathConfigured": "ce chemin est déjà configuré",
|
||||||
"pathRequired": "le chemin est obligatoire",
|
"pathRequired": "le chemin est obligatoire",
|
||||||
"pathQuery": "le paramètre de requête de chemin est requis",
|
"pathQuery": "le paramètre de requête path est obligatoire",
|
||||||
"pathNotFound": "chemin introuvable",
|
"pathNotFound": "chemin introuvable",
|
||||||
"invalidJobId": "ID de travail invalide",
|
"invalidJobId": "ID de tâche non valide",
|
||||||
"jobNotFound": "emploi introuvable",
|
"jobNotFound": "tâche introuvable",
|
||||||
"runnerMissing": "le script d'exécution n'est pas installé",
|
"runnerMissing": "script d'exécution non installé",
|
||||||
"noRestore": "aucun état de restauration à ignorer",
|
"noRestore": "aucun état de restauration à ignorer",
|
||||||
"invalidFile": "nom de fichier invalide",
|
"invalidFile": "nom de fichier non valide",
|
||||||
"notFound": "pas trouvé",
|
"notFound": "introuvable",
|
||||||
"logOutside": "log path outside allowed directory",
|
"logOutside": "chemin du journal hors du répertoire autorisé",
|
||||||
"targetsList": "les cibles doivent être une liste",
|
"targetsList": "targets doit être une liste",
|
||||||
"emptyExpression": "expression vide",
|
"emptyExpression": "expression vide",
|
||||||
"invalidId": "identifiant invalide (utilisez des lettres, des chiffres, _ ou -)",
|
"invalidId": "ID non valide (utilisez des lettres, des chiffres, _ ou -)",
|
||||||
"backend": "le backend doit être pbs, local ou borg",
|
"backend": "le backend doit être pbs, local ou borg",
|
||||||
"remoteBackend": "le backend doit être pbs ou borg",
|
"remoteBackend": "le backend doit être pbs ou borg",
|
||||||
"remoteBackendQuoted": "le backend doit être \"pbs\" ou \"borg\"",
|
"remoteBackendQuoted": "le backend doit être 'pbs' ou 'borg'",
|
||||||
"profileMode": "profile_mode doit être par défaut ou personnalisé",
|
"profileMode": "profile_mode doit être default ou custom",
|
||||||
"borgAttached": "borg ne peut pas être attaché (PVE vzdump écrit uniquement sur les stockages pbs/locaux)",
|
"borgAttached": "borg ne peut pas être rattaché (vzdump de PVE n'écrit que sur des stockages pbs/local)",
|
||||||
"borgAttachedLong": "borg n'est pas un backend valide pour les tâches attachées (PVE vzdump écrit uniquement sur les stockages pbs/locaux)",
|
"borgAttachedLong": "borg n'est pas un backend valide pour les tâches rattachées (vzdump de PVE n'écrit que sur des stockages pbs/local)",
|
||||||
"parentRequired": "pve_parent_job_id et pve_storage sont requis pour les pièces jointes",
|
"parentRequired": "pve_parent_job_id et pve_storage sont obligatoires pour une tâche rattachée",
|
||||||
"absolutePaths": "les chemins doivent être une liste de chemins absolus",
|
"absolutePaths": "paths doit être une liste de chemins absolus",
|
||||||
"customPath": "le profil personnalisé nécessite au moins un chemin",
|
"customPath": "le profil personnalisé nécessite au moins un chemin",
|
||||||
"defaultPaths": "impossible de résoudre les chemins de profil par défaut",
|
"defaultPaths": "impossible de déterminer les chemins du profil par défaut",
|
||||||
"retentionObject": "la rétention doit être un objet",
|
"retentionObject": "retention doit être un objet",
|
||||||
"pbsRepository": "pbs_repository est requis",
|
"pbsRepository": "pbs_repository est obligatoire",
|
||||||
"pbsEncryption": "pbs_encrypt_mode doit être \"aucun\", \"nouveau\" ou \"existant\"",
|
"pbsEncryption": "pbs_encrypt_mode doit être 'none', 'new' ou 'existing'",
|
||||||
"pbsKeyFailed": "échec de la création du fichier de clés de chiffrement PBS",
|
"pbsKeyFailed": "échec de la création du fichier de clé de chiffrement PBS",
|
||||||
"pbsClientMissing": "échec de la création du fichier de clé de chiffrement PBS (proxmox-backup-client est-il installé ?)",
|
"pbsClientMissing": "échec de la création du fichier de clé de chiffrement PBS (proxmox-backup-client est-il installé ?)",
|
||||||
"borgRepository": "borg_repo est requis",
|
"borgRepository": "borg_repo est obligatoire",
|
||||||
"borgEncryption": "borg_encrypt_mode doit être l'un des suivants : aucun, repokey, keyfile, authentifié",
|
"borgEncryption": "borg_encrypt_mode doit être l'une des valeurs suivantes : none, repokey, keyfile, authenticated",
|
||||||
"encryption": "encrypt_mode doit être l'un des suivants : aucun, repokey, keyfile, authentifié",
|
"encryption": "encrypt_mode doit être l'une des valeurs suivantes : none, repokey, keyfile, authenticated",
|
||||||
"borgPassphrase": "borg_passphrase est requis lorsque le cryptage est activé (enregistrez-le sur la destination ou transmettez-en un dans la requête)",
|
"borgPassphrase": "borg_passphrase est obligatoire lorsque le chiffrement est activé (enregistrez-la sur la destination ou transmettez-en une dans la requête)",
|
||||||
"passphrase": "la phrase secrète est requise lorsque le cryptage est activé",
|
"passphrase": "la phrase secrète est obligatoire lorsque le chiffrement est activé",
|
||||||
"password": "le mot de passe est requis",
|
"password": "le mot de passe est obligatoire",
|
||||||
"deviceConfirmation": "confirm_device doit correspondre exactement à l'appareil (faute de frappe / contrôle de sécurité)",
|
"deviceConfirmation": "confirm_device doit correspondre exactement au périphérique (contrôle de frappe / sécurité)",
|
||||||
"invalidDevice": "chemin d'accès au périphérique non valide",
|
"invalidDevice": "chemin de périphérique non valide",
|
||||||
"absoluteMountpoint": "point de montage absolu requis",
|
"absoluteMountpoint": "point de montage absolu requis",
|
||||||
"archiveLayout": "mise en page d'archive non reconnue – aucun rootfs/trouvé",
|
"archiveLayout": "structure d'archive non reconnue — aucun rootfs/ trouvé",
|
||||||
"archiveMissing": "archive introuvable",
|
"archiveMissing": "archive introuvable",
|
||||||
"archiveNotFile": "le chemin de l'archive n'est pas un fichier normal",
|
"archiveNotFile": "le chemin de l'archive n'est pas un fichier ordinaire",
|
||||||
"invalidName": "nom invalide",
|
"invalidName": "nom non valide",
|
||||||
"invalidStaging": "staging_path invalide",
|
"invalidStaging": "staging_path non valide",
|
||||||
"jobRename": "le nom du travail ne peut pas être modifié (supprimer + recréer pour renommer)",
|
"jobRename": "le nom de la tâche ne peut pas être modifié (supprimez-la puis recréez-la pour la renommer)",
|
||||||
"absoluteKey": "key_path doit être absolu",
|
"absoluteKey": "key_path doit être absolu",
|
||||||
"mode": "le mode doit être \"local\" ou \"ssh\"",
|
"mode": "mode doit être \"local\" ou \"ssh\"",
|
||||||
"nameRequired": "le nom est obligatoire (lettres, chiffres, _ ou -)",
|
"nameRequired": "le nom est obligatoire (lettres, chiffres, _ ou -)",
|
||||||
"noLog": "aucun journal n'est encore disponible pour cette tâche",
|
"noLog": "aucun journal disponible pour cette tâche pour le moment",
|
||||||
"noPbsConfig": "pas de fichier de configuration PBS manuel",
|
"noPbsConfig": "aucun fichier de configurations PBS manuelles",
|
||||||
"outputMissing": "fichier de sortie manquant",
|
"outputMissing": "fichier de sortie manquant",
|
||||||
"parserJson": "la sortie de l'analyseur n'était pas un JSON valide",
|
"parserJson": "la sortie de l'analyseur n'était pas un JSON valide",
|
||||||
"restoreJson": "la sortie run_restore n'était pas un JSON valide",
|
"restoreJson": "la sortie de run_restore n'était pas un JSON valide",
|
||||||
"repoRequired": "le dépôt est requis",
|
"repoRequired": "repo est obligatoire",
|
||||||
"repoSnapshot": "repo_name et snapshot sont requis",
|
"repoSnapshot": "repo_name et snapshot sont obligatoires",
|
||||||
"borgRepoSnapshot": "repo_name et snapshot sont requis pour borg",
|
"borgRepoSnapshot": "repo_name et snapshot sont obligatoires pour borg",
|
||||||
"pbsRepoSnapshot": "repo_name et snapshot sont requis pour pbs",
|
"pbsRepoSnapshot": "repo_name et snapshot sont obligatoires pour pbs",
|
||||||
"repoName": "repo_name est requis",
|
"repoName": "repo_name est obligatoire",
|
||||||
"restoreMissing": "restaurer les outils non installés sur cet hôte",
|
"restoreMissing": "outils de restauration non installés sur cet hôte",
|
||||||
"serverDatastore": "le serveur et la banque de données sont requis",
|
"serverDatastore": "server et datastore sont obligatoires",
|
||||||
"snapshotRequired": "un instantané est requis",
|
"snapshotRequired": "snapshot est obligatoire",
|
||||||
"source": "la source doit être pbs, borg ou locale",
|
"source": "source doit être pbs, borg ou local",
|
||||||
"sshPort": "ssh_port doit être un entier compris entre 1 et 65 535",
|
"sshPort": "ssh_port doit être un entier compris entre 1 et 65535",
|
||||||
"sshRequired": "ssh_user, ssh_host et ssh_remote_path sont requis pour le mode ssh",
|
"sshRequired": "ssh_user, ssh_host et ssh_remote_path sont obligatoires pour le mode ssh",
|
||||||
"repositoryPath": "la cible n'a pas de chemin de dépôt",
|
"repositoryPath": "la cible n'a pas de chemin de référentiel",
|
||||||
"taskExpired": "tâche introuvable ou expirée",
|
"taskExpired": "tâche introuvable ou expirée",
|
||||||
"invalidExpression": "expression invalide",
|
"invalidExpression": "expression non valide",
|
||||||
"noReport": "aucun rapport émis",
|
"noReport": "aucun rapport émis",
|
||||||
"parseManifestFailed": "parse_manifest est sorti différent de zéro",
|
"parseManifestFailed": "parse_manifest s'est terminé avec un code non nul",
|
||||||
"jobExists": "le travail existe déjà : {value}",
|
"jobExists": "la tâche existe déjà : {value}",
|
||||||
"pathMissing": "le chemin n'existe pas sur cet hôte : {value}",
|
"pathMissing": "le chemin n'existe pas sur cet hôte : {value}",
|
||||||
"deviceMissing": "l'appareil n'existe pas : {value}",
|
"deviceMissing": "le périphérique n'existe pas : {value}",
|
||||||
"mountpoint": "pas un point de montage : {value}",
|
"mountpoint": "pas un point de montage : {value}",
|
||||||
"localArchiveMissing": "archive locale introuvable : {value}",
|
"localArchiveMissing": "archive locale introuvable : {value}",
|
||||||
"borgDestination": "La destination Borg '{value}' est introuvable",
|
"borgDestination": "Destination Borg '{value}' introuvable",
|
||||||
"pbsDestination": "La destination PBS '{value}' est introuvable",
|
"pbsDestination": "Destination PBS '{value}' introuvable",
|
||||||
"pbsPassword": "aucun mot de passe disponible pour le dépôt PBS '{value}'",
|
"pbsPassword": "aucun mot de passe disponible pour le référentiel PBS '{value}'",
|
||||||
"borgRepoMissing": "le dépôt Borg \"{value}\" n'est pas configuré",
|
"borgRepoMissing": "Référentiel Borg \"{value}\" non configuré",
|
||||||
"pbsRepoMissing": "le dépôt PBS \"{value}\" n'est pas configuré",
|
"pbsRepoMissing": "Référentiel PBS \"{value}\" non configuré",
|
||||||
"borgTargetMissing": "cible Borg introuvable : {value}",
|
"borgTargetMissing": "Cible Borg introuvable : {value}",
|
||||||
"pbsTargetMissing": "dépôt PBS introuvable : {value}",
|
"pbsTargetMissing": "Référentiel PBS introuvable : {value}",
|
||||||
"pveJobMissing": "Tâche vzdump PVE introuvable : {value}",
|
"pveJobMissing": "Tâche vzdump PVE introuvable : {value}",
|
||||||
"statePersist": "impossible de conserver l'état : {value}",
|
"statePersist": "impossible d'enregistrer l'état : {value}",
|
||||||
"sshDirectory": "impossible de préparer ssh dir : {value}",
|
"sshDirectory": "impossible de préparer le répertoire ssh : {value}",
|
||||||
"logRead": "impossible de lire le journal : {value}",
|
"logRead": "impossible de lire le journal : {value}",
|
||||||
"envUpdate": "impossible de mettre à jour le .env : {value}",
|
"envUpdate": "impossible de mettre à jour .env : {value}",
|
||||||
"pbsConfigWrite": "échec de la persistance de la configuration PBS : {value}",
|
"pbsConfigWrite": "échec de l'enregistrement de la configuration PBS : {value}",
|
||||||
"persist": "échec de la persistance : {value}",
|
"persist": "échec de l'enregistrement : {value}",
|
||||||
"archiveRemove": "échec de la suppression de l'archive : {value}",
|
"archiveRemove": "échec de la suppression de l'archive : {value}",
|
||||||
"start": "échec du démarrage : {value}",
|
"start": "échec du démarrage : {value}",
|
||||||
"borgTargetsUpdate": "échec de la mise à jour de borg-targets.txt : {value}",
|
"borgTargetsUpdate": "échec de la mise à jour de borg-targets.txt : {value}",
|
||||||
"pbsTargetsUpdate": "échec de la mise à jour de pbs-manual-configs.txt : {value}",
|
"pbsTargetsUpdate": "échec de la mise à jour de pbs-manual-configs.txt : {value}",
|
||||||
"unitsUpdate": "échec de la mise à jour des unités systemd : {value}",
|
"unitsUpdate": "échec de la mise à jour des unités systemd : {value}",
|
||||||
"borgTargetsWrite": "échec de l'écriture de borg-targets.txt : {value}",
|
"borgTargetsWrite": "échec de l'écriture de borg-targets.txt : {value}",
|
||||||
"jobWrite": "échec de l'écriture des fichiers de travail : {value}",
|
"jobWrite": "échec de l'écriture des fichiers de la tâche : {value}",
|
||||||
"localTargetWrite": "échec de l'écriture de local-target.conf : {value}",
|
"localTargetWrite": "échec de l'écriture de local-target.conf : {value}",
|
||||||
"unitsWrite": "échec de l'écriture des unités systemd : {value}",
|
"unitsWrite": "échec de l'écriture des unités systemd : {value}",
|
||||||
"format": "échec du formatage : {value}",
|
"format": "échec du formatage : {value}",
|
||||||
"calendar": "invalide sur_calendar : {value}",
|
"calendar": "on_calendar non valide : {value}",
|
||||||
"mount": "échec du montage : {value}",
|
"mount": "échec du montage : {value}",
|
||||||
"parserInvocation": "échec de l'appel de l'analyseur : {value}",
|
"parserInvocation": "échec de l'appel de l'analyseur : {value}",
|
||||||
"preflightInvocation": "échec de l'appel de contrôle en amont : {value}",
|
"preflightInvocation": "échec de l'appel de la vérification préalable : {value}",
|
||||||
"publicKeyMissing": "clé publique introuvable après génération : {value}",
|
"publicKeyMissing": "clé publique introuvable après la génération : {value}",
|
||||||
"retentionInteger": "rétention.{value} doit être un nombre entier",
|
"retentionInteger": "retention.{value} doit être un entier",
|
||||||
"retentionNegative": "rétention.{value} doit être non négatif",
|
"retentionNegative": "retention.{value} doit être positif ou nul",
|
||||||
"keygen": "Échec de ssh-keygen : {value}",
|
"keygen": "échec de ssh-keygen : {value}",
|
||||||
"systemctl": "Échec de systemctl : {value}",
|
"systemctl": "échec de systemctl : {value}",
|
||||||
"unmount": "échec du démontage : {value}",
|
"unmount": "échec de umount : {value}",
|
||||||
"taskIncomplete": "la tâche est dans l'état \"{value}\", non terminée",
|
"taskIncomplete": "la tâche est dans l'état \"{value}\", et non terminée",
|
||||||
"unknownKind": "type inconnu : {value}",
|
"unknownKind": "type inconnu : {value}",
|
||||||
"unknownMode": "mode inconnu \"{value}\"",
|
"unknownMode": "mode inconnu \"{value}\"",
|
||||||
"defaultRemove": "{value} est la valeur par défaut intégrée et ne peut pas être supprimé",
|
"defaultRemove": "{value} est la valeur par défaut intégrée et ne peut pas être supprimé",
|
||||||
"defaultAdd": "{value} est la valeur par défaut intégrée ;pas besoin de l'ajouter",
|
"defaultAdd": "{value} est la valeur par défaut intégrée ; inutile de l'ajouter",
|
||||||
"keyImport": "Aucun fichier de clé PBS n'est installé sur {value}.Importez d’abord le fichier de clés.",
|
"keyImport": "Aucun fichier de clé PBS n'est installé dans {value}. Importez d'abord le fichier de clé.",
|
||||||
"storageMismatch": "Incompatibilité de stockage des tâches PVE (la tâche utilise {value}, la charge utile indique {other})"
|
"storageMismatch": "Incohérence du stockage de la tâche PVE (la tâche utilise {value}, la requête indique {other})"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"healthStatus": {
|
"healthStatus": {
|
||||||
@@ -5438,6 +5597,7 @@
|
|||||||
"websocketError": "Une erreur WebSocket s'est produite",
|
"websocketError": "Une erreur WebSocket s'est produite",
|
||||||
"connectionClosed": "Connexion fermée",
|
"connectionClosed": "Connexion fermée",
|
||||||
"completedSuccessfully": "Script terminé avec succès",
|
"completedSuccessfully": "Script terminé avec succès",
|
||||||
|
"cancelled": "Opération annulée.",
|
||||||
"completedWithError": "Script terminé avec le code d'erreur {code}",
|
"completedWithError": "Script terminé avec le code d'erreur {code}",
|
||||||
"yes": "Oui",
|
"yes": "Oui",
|
||||||
"yourInput": "Votre contribution :",
|
"yourInput": "Votre contribution :",
|
||||||
@@ -7429,7 +7589,7 @@
|
|||||||
"signInWith": "Se connecter avec",
|
"signInWith": "Se connecter avec",
|
||||||
"methodPassword": "Utilisateur et mot de passe",
|
"methodPassword": "Utilisateur et mot de passe",
|
||||||
"methodToken": "Jeton API",
|
"methodToken": "Jeton API",
|
||||||
"username": "Utilisateur (utilisateur@realm)",
|
"username": "Utilisateur",
|
||||||
"password": "Mot de passe",
|
"password": "Mot de passe",
|
||||||
"passwordHelp": "Le mot de passe n'est utilisé qu'une fois pour créer un jeton API en lecture seule (rôle Audit) pour ce Monitor. Seul ce jeton est enregistré, jamais le mot de passe. Activez d'abord l'authentification du Monitor.",
|
"passwordHelp": "Le mot de passe n'est utilisé qu'une fois pour créer un jeton API en lecture seule (rôle Audit) pour ce Monitor. Seul ce jeton est enregistré, jamais le mot de passe. Activez d'abord l'authentification du Monitor.",
|
||||||
"cancel": "Annuler",
|
"cancel": "Annuler",
|
||||||
@@ -7442,10 +7602,10 @@
|
|||||||
"editConnection": "Connexion à modifier",
|
"editConnection": "Connexion à modifier",
|
||||||
"add": "Ajouter une connexion",
|
"add": "Ajouter une connexion",
|
||||||
"name": "Nom",
|
"name": "Nom",
|
||||||
"url": "URL HTTPS (inclure :8007 pour le port natif de PBS)",
|
"url": "Adresse HTTPS",
|
||||||
"token_id": "Identifiant du jeton API (user@realm!token)",
|
"token_id": "ID du jeton API",
|
||||||
"token_secret": "Secret du jeton API (laisser vide pour conserver le secret enregistré)",
|
"token_secret": "Secret du jeton API",
|
||||||
"fingerprint": "Empreinte SHA256 du certificat (facultative)",
|
"fingerprint": "Empreinte SHA256 (facultative)",
|
||||||
"tlsHelp": "Laissez l'empreinte vide pour la vérification habituelle de l'autorité de certification et du nom d'hôte. Pour un certificat autosigné, copiez son empreinte SHA256 depuis la console PBS ou un autre canal de confiance. L'empreinte est vérifiée avant l'envoi des identifiants.",
|
"tlsHelp": "Laissez l'empreinte vide pour la vérification habituelle de l'autorité de certification et du nom d'hôte. Pour un certificat autosigné, copiez son empreinte SHA256 depuis la console PBS ou un autre canal de confiance. L'empreinte est vérifiée avant l'envoi des identifiants.",
|
||||||
"saved": "Connexion PBS vérifiée et enregistrée.",
|
"saved": "Connexion PBS vérifiée et enregistrée.",
|
||||||
"saveFailed": "Impossible d'enregistrer la connexion PBS.",
|
"saveFailed": "Impossible d'enregistrer la connexion PBS.",
|
||||||
@@ -7489,50 +7649,50 @@
|
|||||||
"duration": "Durée",
|
"duration": "Durée",
|
||||||
"noJobs": "Aucune planification de synchronisation, de vérification ou d'élagage n'est configurée.",
|
"noJobs": "Aucune planification de synchronisation, de vérification ou d'élagage n'est configurée.",
|
||||||
"errors": {
|
"errors": {
|
||||||
"configRead": "Impossible de lire les connexions PBS enregistrées.Vérifiez le fichier de configuration et les autorisations.",
|
"configRead": "Impossible de lire les connexions PBS enregistrées. Vérifiez le fichier de configuration et les permissions.",
|
||||||
"invalidConfig": "Les paramètres de connexion PBS ne sont pas valides.Vérifiez le formulaire et réessayez.",
|
"invalidConfig": "Les paramètres de connexion PBS ne sont pas valides. Vérifiez le formulaire et réessayez.",
|
||||||
"invalidField": "Un champ de connexion n’est pas valide ou est trop long.",
|
"invalidField": "Un champ de la connexion n'est pas valide ou est trop long.",
|
||||||
"invalidUrl": "Use an HTTPS PBS address without embedded credentials, query parameters or a fragment.",
|
"invalidUrl": "Utilisez une adresse PBS HTTPS sans identifiants intégrés, paramètres de requête ni fragment.",
|
||||||
"nameRequired": "Enter a server name of at most 128 characters.",
|
"nameRequired": "Saisissez un nom de serveur de 128 caractères au maximum.",
|
||||||
"tokenIdFormat": "saisissez l'ID du jeton de l'API PBS au format user@realm!token.",
|
"tokenIdFormat": "Saisissez l'ID du jeton API PBS au format user@realm!token.",
|
||||||
"tokenSecret": "saisissez un secret de jeton d'API valide, sans espaces ni caractères de contrôle.",
|
"tokenSecret": "Saisissez un secret de jeton API valide, sans espaces ni caractères de contrôle.",
|
||||||
"invalidTokenId": "The API token ID must contain only ASCII characters.",
|
"invalidTokenId": "L'ID du jeton API ne doit contenir que des caractères ASCII.",
|
||||||
"invalidFingerprint": "saisissez l'empreinte digitale SHA256 du certificat : 64 caractères hexadécimaux, éventuellement séparés par des deux-points.",
|
"invalidFingerprint": "Saisissez l'empreinte SHA256 du certificat : 64 caractères hexadécimaux, éventuellement séparés par des deux-points.",
|
||||||
"fingerprintMismatch": "Le certificat PBS ne correspond pas à l’empreinte digitale.Aucune information d'identification n'a été envoyée.",
|
"fingerprintMismatch": "Le certificat PBS ne correspond pas à l'empreinte. Aucun identifiant n'a été envoyé.",
|
||||||
"tokenRejected": "PBS a rejeté le jeton API ou ses autorisations.Vérifiez les ACL de l'utilisateur et du jeton.",
|
"tokenRejected": "PBS a refusé le jeton API ou ses permissions. Vérifiez les ACL de l'utilisateur et du jeton.",
|
||||||
"invalidResponse": "PBS a renvoyé une réponse inattendue.Les redirections ne sont pas suivies.",
|
"invalidResponse": "PBS a renvoyé une réponse inattendue. Les redirections ne sont pas suivies.",
|
||||||
"invalidJson": "PBS a renvoyé un document JSON non valide.",
|
"invalidJson": "PBS a renvoyé un document JSON non valide.",
|
||||||
"connectFailed": "Impossible de se connecter à PBS via HTTPS vérifié.Vérifiez l'adresse, le certificat et le service.",
|
"connectFailed": "Impossible de se connecter à PBS en HTTPS vérifié. Vérifiez l'adresse, le certificat et le service.",
|
||||||
"invalidId": "L'ID de connexion PBS n'est pas valide.Rechargez la liste de connexions.",
|
"invalidId": "L'ID de la connexion PBS n'est pas valide. Rechargez la liste des connexions.",
|
||||||
"invalidDatastores": "PBS a renvoyé une liste de banques de données non valide.",
|
"invalidDatastores": "PBS a renvoyé une liste de magasins de données non valide.",
|
||||||
"connectionLimit": "La plupart des connexions PBS {count} peuvent être configurées.",
|
"connectionLimit": "Vous pouvez configurer au maximum {count} connexions PBS.",
|
||||||
"username": "saisissez l'utilisateur PBS au format user@realm, par exemple root@pam.",
|
"username": "Saisissez l'utilisateur PBS au format user@realm, par exemple root@pam.",
|
||||||
"password": "saisissez le mot de passe de l'utilisateur PBS.",
|
"password": "Saisissez le mot de passe de l'utilisateur PBS.",
|
||||||
"loginRejected": "PBS a rejeté le nom d'utilisateur ou le mot de passe.",
|
"loginRejected": "PBS a refusé le nom d'utilisateur ou le mot de passe.",
|
||||||
"invalidLogin": "PBS a renvoyé une réponse de connexion non valide.",
|
"invalidLogin": "PBS a renvoyé une réponse de connexion non valide.",
|
||||||
"tokenCreateDenied": "Cet utilisateur PBS ne peut pas créer de jetons API.",
|
"tokenCreateDenied": "Cet utilisateur PBS ne peut pas créer de jetons API.",
|
||||||
"invalidToken": "PBS a renvoyé un jeton API non valide.",
|
"invalidToken": "PBS a renvoyé un jeton API non valide.",
|
||||||
"auditRoleDenied": "cet utilisateur PBS ne peut pas accorder le rôle d'audit.Connectez-vous en tant que root@pam ou un autre administrateur.",
|
"auditRoleDenied": "Cet utilisateur PBS ne peut pas attribuer le rôle Audit. Connectez-vous en tant que root@pam ou avec un autre administrateur.",
|
||||||
"notFound": "La connexion PBS n’a pas été trouvée.Rechargez la liste de connexions.",
|
"notFound": "La connexion PBS est introuvable. Rechargez la liste des connexions.",
|
||||||
"readFailed": "Impossible de lire les données PBS.Vérifiez son service et ses autorisations.",
|
"readFailed": "Impossible de lire les données PBS. Vérifiez son service et les permissions.",
|
||||||
"invalidList": "PBS a renvoyé une liste de données non valide.",
|
"invalidList": "PBS a renvoyé une liste de données non valide.",
|
||||||
"localUnavailable": "PBS n'est pas disponible sur cet hôte.",
|
"localUnavailable": "PBS n'est pas disponible sur cet hôte.",
|
||||||
"authRequired": "activez l'authentification locale dans Monitor avant de gérer les connexions PBS distantes.",
|
"authRequired": "Activez l'authentification locale dans Monitor avant de gérer des connexions PBS distantes.",
|
||||||
"datastoreOffline": "La banque de données est hors ligne, en mode maintenance ou son périphérique de support n'est pas monté.",
|
"datastoreOffline": "Le magasin de données est hors ligne, en mode maintenance, ou son périphérique de stockage n'est pas monté.",
|
||||||
"datastoreUnavailable": "Le système de fichiers de la banque de données n'est pas disponible."
|
"datastoreUnavailable": "Le système de fichiers du magasin de données n'est pas disponible."
|
||||||
},
|
},
|
||||||
"taskTypes": {
|
"taskTypes": {
|
||||||
"backup": "Backup",
|
"backup": "Sauvegarde",
|
||||||
"restore": "Restaurer",
|
"restore": "Restauration",
|
||||||
"verify": "Vérification",
|
"verify": "Vérification",
|
||||||
"verifyGroup": "Vérification du groupe de sauvegarde",
|
"verifyGroup": "Vérification du groupe de sauvegardes",
|
||||||
"verifySnapshot": "Vérification d'instantané",
|
"verifySnapshot": "Vérification de l'instantané",
|
||||||
"prune": "Prune",
|
"prune": "Purge",
|
||||||
"garbageCollection": "Collecte des déchets",
|
"garbageCollection": "Ramasse-miettes",
|
||||||
"sync": "Synchronization",
|
"sync": "Synchronisation",
|
||||||
"updateCheck": "vérifier les mises à jour",
|
"updateCheck": "Recherche de mises à jour",
|
||||||
"terminal": "Terminal",
|
"terminal": "Terminal",
|
||||||
"createDatastore": "Create datastore",
|
"createDatastore": "Créer un magasin de données",
|
||||||
"other": "Autre tâche ({type})"
|
"other": "Autre tâche ({type})"
|
||||||
},
|
},
|
||||||
"states": {
|
"states": {
|
||||||
@@ -7545,27 +7705,27 @@
|
|||||||
"serviceStates": {
|
"serviceStates": {
|
||||||
"active": "Actif",
|
"active": "Actif",
|
||||||
"inactive": "Inactif",
|
"inactive": "Inactif",
|
||||||
"failed": "Failed",
|
"failed": "Échoué",
|
||||||
"activating": "Démarrage",
|
"activating": "Démarrage",
|
||||||
"deactivating": "Arrêter",
|
"deactivating": "Arrêt",
|
||||||
"unknown": "Inconnu"
|
"unknown": "Inconnu"
|
||||||
},
|
},
|
||||||
"durationUnits": {
|
"durationUnits": {
|
||||||
"seconds": "{count} s",
|
"seconds": "{count} s",
|
||||||
"minutes": "{count} min",
|
"minutes": "{count} min",
|
||||||
"hours": "{count} h",
|
"hours": "{count} h",
|
||||||
"days": "{count} d"
|
"days": "{count} j"
|
||||||
},
|
},
|
||||||
"urlHelp": "Incluez :8007 pour le port PBS par défaut, par exemple https://pbs.example:8007.",
|
"urlHelp": "Incluez :8007 pour le port PBS par défaut, par exemple https://pbs.example:8007.",
|
||||||
"usernameHelp": "utilisez user@realm, par exemple root@pam.",
|
"usernameHelp": "Utilisez user@realm, par exemple root@pam.",
|
||||||
"tokenIdHelp": "Use user@realm!token, for example monitor@pbs!proxmenux.",
|
"tokenIdHelp": "Utilisez user@realm!token, par exemple monitor@pbs!proxmenux.",
|
||||||
"tokenSecretHelp": "saisissez le secret de ce jeton API.",
|
"tokenSecretHelp": "Saisissez le secret de ce jeton API.",
|
||||||
"tokenSecretKeepHelp": "laissez vide pour garder secret le jeton enregistré.",
|
"tokenSecretKeepHelp": "Laissez vide pour conserver le secret du jeton enregistré.",
|
||||||
"removeFailed": "Impossible de supprimer la connexion PBS.",
|
"removeFailed": "Impossible de supprimer la connexion PBS.",
|
||||||
"savedRefreshFailed": "La connexion PBS a été enregistrée, mais la liste des connexions n'a pas pu être actualisée.Rechargez la page avant d'essayer une autre modification.",
|
"savedRefreshFailed": "La connexion PBS a été enregistrée, mais la liste des connexions n'a pas pu être actualisée. Rechargez la page avant de tenter une autre modification.",
|
||||||
"removedRefreshFailed": "The PBS connection was removed, but the connection list could not be refreshed. Reload the page.",
|
"removedRefreshFailed": "La connexion PBS a été supprimée, mais la liste des connexions n'a pas pu être actualisée. Rechargez la page.",
|
||||||
"technicalDetails": "Détails techniques",
|
"technicalDetails": "Détails techniques",
|
||||||
"datastoreType": "banque de données"
|
"datastoreType": "Magasin de données"
|
||||||
},
|
},
|
||||||
"monitorLinks": {
|
"monitorLinks": {
|
||||||
"groups": {
|
"groups": {
|
||||||
@@ -7606,15 +7766,15 @@
|
|||||||
"changeAddress": "Modifier l'adresse",
|
"changeAddress": "Modifier l'adresse",
|
||||||
"cancel": "Annuler",
|
"cancel": "Annuler",
|
||||||
"errors": {
|
"errors": {
|
||||||
"addressRequired": "saisissez l'adresse du moniteur.",
|
"addressRequired": "Saisissez l'adresse du Monitor.",
|
||||||
"invalidAddress": "L'adresse doit commencer par http:// ou https:// et nommer un hôte.",
|
"invalidAddress": "L'adresse doit commencer par http:// ou https:// et indiquer un hôte.",
|
||||||
"addressCredentials": "L'adresse ne doit pas contenir d'utilisateur ou de mot de passe.",
|
"addressCredentials": "L'adresse ne doit contenir ni utilisateur ni mot de passe.",
|
||||||
"invalidPort": "Le port de l’adresse n’est pas valide.",
|
"invalidPort": "Le port de l'adresse n'est pas valide.",
|
||||||
"invalidRequest": "La demande n'est pas valide.Actualisez la page et réessayez.",
|
"invalidRequest": "La requête n'est pas valide. Rechargez la page et réessayez.",
|
||||||
"limit": "Au maximum des nœuds {count} peuvent être ajoutés.",
|
"limit": "Vous pouvez ajouter au maximum {count} nœuds.",
|
||||||
"duplicate": "Cette adresse est déjà dans la liste.",
|
"duplicate": "Cette adresse figure déjà dans la liste.",
|
||||||
"notFound": "Le nœud n’a pas été trouvé.Rechargez la liste et réessayez.",
|
"notFound": "Le nœud est introuvable. Rechargez la liste et réessayez.",
|
||||||
"detectedRemove": "seuls les nœuds ajoutés manuellement peuvent être supprimés.Les nœuds détectés peuvent être masqués."
|
"detectedRemove": "Seuls les nœuds ajoutés manuellement peuvent être supprimés. Les nœuds détectés peuvent être masqués."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+301
-141
@@ -1231,7 +1231,9 @@
|
|||||||
"update": "Aggiorna",
|
"update": "Aggiorna",
|
||||||
"modify": "Modifica",
|
"modify": "Modifica",
|
||||||
"recover": "Recupera",
|
"recover": "Recupera",
|
||||||
|
"registerRestored": "Registra di nuovo",
|
||||||
"terminalTitleUpdate": "Aggiorna applicazione OCI",
|
"terminalTitleUpdate": "Aggiorna applicazione OCI",
|
||||||
|
"terminalTitleRecoverPrevious": "Ripristina l'installazione OCI precedente",
|
||||||
"terminalTitleModify": "Modifica applicazione OCI",
|
"terminalTitleModify": "Modifica applicazione OCI",
|
||||||
"terminalTitleRecover": "Recupera applicazione OCI ripristinata",
|
"terminalTitleRecover": "Recupera applicazione OCI ripristinata",
|
||||||
"terminalDescription": "Lo stesso percorso di OCI manager Apps → Gestisci le applicazioni OCI installate.",
|
"terminalDescription": "Lo stesso percorso di OCI manager Apps → Gestisci le applicazioni OCI installate.",
|
||||||
@@ -1760,7 +1762,128 @@
|
|||||||
"dockerEvidenceImage": "Immagine",
|
"dockerEvidenceImage": "Immagine",
|
||||||
"dockerEvidencePort": "Porta TCP pubblicata",
|
"dockerEvidencePort": "Porta TCP pubblicata",
|
||||||
"dockerEvidenceProject": "Progetto Compose",
|
"dockerEvidenceProject": "Progetto Compose",
|
||||||
"dockerEndpointReview": "Container con porte TCP pubblicate. Conferma il nome e l'indirizzo web prima di salvare. La registrazione non configura gli aggiornamenti."
|
"dockerEndpointReview": "Container con porte TCP pubblicate. Conferma il nome e l'indirizzo web prima di salvare. La registrazione non configura gli aggiornamenti.",
|
||||||
|
"confirmRemove": "Rimuovere il record di questa applicazione dalla scheda App? L'applicazione non viene disinstallata.",
|
||||||
|
"packageExample": "es. {package}",
|
||||||
|
"packageHelpBefore": "Compilato automaticamente dal nome. Verifica con",
|
||||||
|
"packageHelpAfter": "all'interno del CT.",
|
||||||
|
"binaryHelpBefore": "Percorso assoluto. Trovalo con",
|
||||||
|
"binaryHelpOr": "o",
|
||||||
|
"errors": {
|
||||||
|
"ociBusy": "è in corso un'operazione OCI su questo container",
|
||||||
|
"dpkgMissing": "{package} non è installato tramite dpkg",
|
||||||
|
"dpkgFailed": "dpkg-query non riuscito",
|
||||||
|
"dpkgNoVersion": "nessuna versione trovata nell'output di dpkg",
|
||||||
|
"apkFailed": "apk info non riuscito",
|
||||||
|
"apkNoVersion": "nessuna versione trovata nell'output di apk",
|
||||||
|
"fileRead": "impossibile leggere {path}",
|
||||||
|
"fileNoMatch": "file_regex non corrisponde a {path}",
|
||||||
|
"binaryFailed": "invocazione del binario non riuscita",
|
||||||
|
"binaryNoVersion": "nessuna versione trovata nell'output del binario",
|
||||||
|
"pythonFailed": "python -c importlib.metadata non riuscito",
|
||||||
|
"pythonNoVersion": "nessuna versione trovata nell'output della distribuzione Python",
|
||||||
|
"dockerImageResolve": "impossibile risolvere l'immagine installata del container",
|
||||||
|
"dockerInspectFailed": "docker inspect non riuscito",
|
||||||
|
"dockerLabelMissing": "il container non ha l'etichetta {label}",
|
||||||
|
"dockerLabelMutable": "l'etichetta Docker riporta {tag} (tag mobile, non una versione)",
|
||||||
|
"dockerLabelNoVersion": "nessuna versione trovata nell'output dell'etichetta Docker",
|
||||||
|
"dockerExecFailed": "docker exec non riuscito",
|
||||||
|
"dockerExecNoVersion": "nessuna versione trovata nell'output di docker exec",
|
||||||
|
"commandEmpty": "command_argv è vuoto",
|
||||||
|
"commandFailed": "comando non riuscito",
|
||||||
|
"commandNoVersion": "nessuna versione trovata nell'output del comando",
|
||||||
|
"unsupportedMethod": "metodo non supportato: {method}",
|
||||||
|
"unknownUpstream": "upstream_type sconosciuto: {type}",
|
||||||
|
"githubNotFound": "{repo}: non trovato",
|
||||||
|
"githubRejected": "GitHub ha rifiutato la richiesta (403)",
|
||||||
|
"githubError": "errore GitHub {code}",
|
||||||
|
"noRelease": "nessun nome di tag / release nella risposta",
|
||||||
|
"tagNoMatch": "tag_regex non corrisponde a '{tag}'",
|
||||||
|
"httpError": "errore HTTP {code}",
|
||||||
|
"invalidJson": "risposta JSON non valida: {detail}",
|
||||||
|
"jsonPathUnresolved": "json_path '{path}' non è stato risolto",
|
||||||
|
"jsonEmpty": "valore vuoto in json_path",
|
||||||
|
"dockerNoTags": "nessun tag corrispondente (docker_hub)",
|
||||||
|
"dockerMovingOnly": "tag_regex corrisponde solo a tag mobili; usa il monitoraggio tramite digest dell'immagine Docker",
|
||||||
|
"dockerHubError": "errore Docker Hub {code}",
|
||||||
|
"dockerHubJson": "JSON di Docker Hub non valido: {detail}",
|
||||||
|
"dockerHubEmpty": "nessun tag restituito da Docker Hub",
|
||||||
|
"payload": "il payload deve essere un oggetto JSON",
|
||||||
|
"name": "il nome è obbligatorio e deve contenere da 1 a 64 caratteri tra lettere/cifre/spazi/._+-()/",
|
||||||
|
"method": "installed_via deve essere uno tra: {values} oppure vuoto",
|
||||||
|
"package": "il pacchetto è obbligatorio (lettere/cifre/._+@:/ fino a 127 caratteri)",
|
||||||
|
"filePath": "file_path è obbligatorio e deve essere un percorso assoluto",
|
||||||
|
"fileRegex": "file_regex è obbligatorio",
|
||||||
|
"fileRegexInvalid": "file_regex non è una regex valida: {detail}",
|
||||||
|
"binaryPath": "binary_path è obbligatorio e deve essere un percorso assoluto",
|
||||||
|
"pythonPath": "python_path è obbligatorio e deve essere un percorso assoluto",
|
||||||
|
"distribution": "la distribuzione è obbligatoria (nome PEP 503)",
|
||||||
|
"container": "container_name è obbligatorio (regole di denominazione Docker)",
|
||||||
|
"label": "l'etichetta è obbligatoria (regole di denominazione delle etichette OCI)",
|
||||||
|
"dockerBinary": "binary_path è obbligatorio (percorso assoluto o comando semplice)",
|
||||||
|
"manualVersion": "installed_version è obbligatorio per il metodo manuale",
|
||||||
|
"versionLength": "installed_version supera {max} caratteri",
|
||||||
|
"versionControl": "installed_version contiene un carattere di controllo non consentito",
|
||||||
|
"installedRegexInvalid": "installed_regex non è una regex valida: {detail}",
|
||||||
|
"upstreamType": "upstream_type deve essere uno tra: {values}",
|
||||||
|
"tagRegexInvalid": "tag_regex non è una regex valida: {detail}",
|
||||||
|
"repoRequired": "repo è obbligatorio per upstream_type=github",
|
||||||
|
"repoFormat": "repo deve essere nel formato 'owner/name'",
|
||||||
|
"githubSource": "github_source deve essere uno tra: {values}",
|
||||||
|
"upstreamUrlRequired": "upstream_url è obbligatorio per upstream_type=http_json",
|
||||||
|
"upstreamUrl": "upstream_url deve essere un URL http(s)",
|
||||||
|
"upstreamUrlLength": "upstream_url supera {max} caratteri",
|
||||||
|
"jsonPathRequired": "upstream_json_path è obbligatorio per upstream_type=http_json",
|
||||||
|
"jsonPathLength": "upstream_json_path supera {max} caratteri",
|
||||||
|
"jsonPathCharacters": "upstream_json_path usa caratteri non consentiti",
|
||||||
|
"dockerImageRequired": "docker_image è obbligatorio per upstream_type=docker_hub",
|
||||||
|
"dockerImageLength": "docker_image supera {max} caratteri",
|
||||||
|
"dockerImageFormat": "docker_image deve rispettare la denominazione di Docker Hub (owner/name o name)",
|
||||||
|
"healthPath": "health_path deve essere un percorso URL valido (max 255 caratteri)",
|
||||||
|
"logoUrl": "logo_url deve essere un URL http(s) o l'icona locale in cache di questa VM",
|
||||||
|
"discoveryId": "discovery_id non valido",
|
||||||
|
"helperSlug": "helper_slug deve essere uno slug in minuscolo (lettere/cifre/._-)",
|
||||||
|
"updateVia": "update_via accetta solo 'docker'",
|
||||||
|
"dockerDetector": "update_via=docker richiede un rilevatore docker_label o docker_exec",
|
||||||
|
"dockerConflict": "update_via=docker non può essere combinato con {field}",
|
||||||
|
"updateCommandType": "update_command deve essere una stringa",
|
||||||
|
"updateCommandLength": "update_command supera {max} caratteri",
|
||||||
|
"updateCommandNull": "update_command contiene un byte nullo",
|
||||||
|
"updateMethod": "update_method deve essere none, helper o custom",
|
||||||
|
"updateCommandRequired": "update_command è obbligatorio per update_method=custom",
|
||||||
|
"updateCommandOnlyCustom": "update_command è consentito solo per update_method=custom",
|
||||||
|
"helperRequired": "per update_method=helper è obbligatorio un helper_slug supportato",
|
||||||
|
"dockerUpdater": "Le app delegate a Docker si aggiornano tramite la loro immagine, non con un programma di aggiornamento separato",
|
||||||
|
"commandRequired": "command_argv è obbligatorio (elenco non vuoto)",
|
||||||
|
"commandList": "command_argv deve essere un elenco non vuoto di stringhe",
|
||||||
|
"commandCount": "command_argv accetta al massimo {max} voci",
|
||||||
|
"commandEntry": "command_argv[{index}] deve essere una stringa non vuota",
|
||||||
|
"commandEntryLength": "command_argv[{index}] supera {max} caratteri",
|
||||||
|
"commandEntryControl": "command_argv[{index}] contiene un carattere di controllo non consentito",
|
||||||
|
"binaryArgsList": "binary_args deve essere un elenco di stringhe",
|
||||||
|
"binaryArgsCount": "binary_args accetta al massimo {max} voci",
|
||||||
|
"binaryArgEntry": "binary_args[{index}] deve essere una stringa non vuota",
|
||||||
|
"binaryArgLength": "binary_args[{index}] supera {max} caratteri",
|
||||||
|
"binaryArgControl": "binary_args[{index}] contiene un carattere di controllo non consentito",
|
||||||
|
"portsList": "ports deve essere un elenco di {port, description, scheme}",
|
||||||
|
"portObject": "ports[{index}] deve essere un oggetto",
|
||||||
|
"portRequired": "ports[{index}].port è obbligatorio",
|
||||||
|
"portInteger": "ports[{index}].port deve essere un numero intero",
|
||||||
|
"portRange": "ports[{index}].port deve essere compreso tra 1 e 65535",
|
||||||
|
"portDuplicate": "la porta {port} compare più di una volta per questa app",
|
||||||
|
"portDescription": "ports[{index}].description contiene caratteri non validi",
|
||||||
|
"portScheme": "ports[{index}].scheme deve essere 'http' o 'https'",
|
||||||
|
"portPath": "ports[{index}].web_path deve essere un percorso URL valido (max 255 caratteri)",
|
||||||
|
"portLogo": "ports[{index}].logo_url deve essere un URL http(s) (max 512 caratteri)",
|
||||||
|
"portCategory": "ports[{index}].category contiene caratteri non validi o è troppo lungo",
|
||||||
|
"portCustomUrl": "ports[{index}].custom_url deve essere un URL http(s) (max 512 caratteri)",
|
||||||
|
"tagRegexLength": "tag_regex supera 512 caratteri",
|
||||||
|
"persistPermission": "impossibile salvare il file sidecar (permessi?)",
|
||||||
|
"persist": "impossibile salvare il file sidecar",
|
||||||
|
"noApps": "nessuna app registrata per questo vmid",
|
||||||
|
"appMissing": "app_id '{appId}' non trovato",
|
||||||
|
"appNotFound": "app non trovata"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"statusFilter": {
|
"statusFilter": {
|
||||||
"ariaLabel": "Filtra macchine virtuali e container",
|
"ariaLabel": "Filtra macchine virtuali e container",
|
||||||
@@ -2294,6 +2417,42 @@
|
|||||||
"updateManyDescription": "Riesecuzione di {count} funzioni di post-installazione in sequenza.",
|
"updateManyDescription": "Riesecuzione di {count} funzioni di post-installazione in sequenza.",
|
||||||
"legacySourceTitle": "Ottimizzazione legacy: fai clic per visualizzare il sorgente",
|
"legacySourceTitle": "Ottimizzazione legacy: fai clic per visualizzare il sorgente",
|
||||||
"sourceTitle": "Fai clic per vedere il codice sorgente",
|
"sourceTitle": "Fai clic per vedere il codice sorgente",
|
||||||
|
"sourceDialogTitle": "Codice sorgente: {name}",
|
||||||
|
"sourceLoading": "Caricamento del codice sorgente…",
|
||||||
|
"sourceUnavailable": "Il codice sorgente non è disponibile.",
|
||||||
|
"sourceLoadFailed": "Impossibile caricare il codice sorgente. Riprova.",
|
||||||
|
"sourceFunctionMissing": "La funzione non è stata trovata negli script disponibili.",
|
||||||
|
"sourceUnknownTool": "Strumento sconosciuto: {tool}",
|
||||||
|
"sourceNoMapping": "Nessuna funzione è assegnata allo strumento {tool}.",
|
||||||
|
"sourceToolNames": {
|
||||||
|
"subscription_banner": "Rimozione del banner di abbonamento",
|
||||||
|
"time_sync": "Sincronizzazione dell'ora",
|
||||||
|
"apt_languages": "Salto delle lingue APT",
|
||||||
|
"journald": "Ottimizzazione di Journald",
|
||||||
|
"logrotate": "Ottimizzazione di Logrotate",
|
||||||
|
"system_limits": "Aumento dei limiti di sistema",
|
||||||
|
"memory_settings": "Ottimizzazione delle impostazioni di memoria",
|
||||||
|
"zram_swap": "Profilo di scambio ZRAM",
|
||||||
|
"kernel_panic": "Configurazione del kernel panic",
|
||||||
|
"apt_ipv4": "Forzatura IPv4 per APT",
|
||||||
|
"kexec": "kexec per riavvii rapidi",
|
||||||
|
"rpc": "Disattivazione di RPC / rpcbind",
|
||||||
|
"motd": "Banner MOTD personalizzato",
|
||||||
|
"system_utils": "Utilità di sistema",
|
||||||
|
"network_optimization": "Ottimizzazioni di rete",
|
||||||
|
"bashrc_custom": "Personalizzazione di Bashrc",
|
||||||
|
"figurine": "Figurine",
|
||||||
|
"fastfetch": "Fastfetch",
|
||||||
|
"log2ram": "Log2ram (protezione SSD)",
|
||||||
|
"zfs_autotrim": "ZFS Autotrim",
|
||||||
|
"amd_fixes": "Correzioni CPU AMD (Ryzen/EPYC)",
|
||||||
|
"persistent_network": "Configurazione di interfacce di rete persistenti",
|
||||||
|
"vfio_iommu": "Passthrough VFIO/IOMMU",
|
||||||
|
"lvm_repair": "Riparazione delle intestazioni PV LVM",
|
||||||
|
"repo_cleanup": "Pulizia dei repository",
|
||||||
|
"proxmox_repos": "Repository APT di Proxmox",
|
||||||
|
"entropy": "Generazione di entropia (haveged)"
|
||||||
|
},
|
||||||
"legacy": "legacy",
|
"legacy": "legacy",
|
||||||
"updateToolTitle": "Aggiorna {name} a v{version}",
|
"updateToolTitle": "Aggiorna {name} a v{version}",
|
||||||
"availableUpdates": "Aggiornamenti disponibili",
|
"availableUpdates": "Aggiornamenti disponibili",
|
||||||
@@ -4822,122 +4981,122 @@
|
|||||||
"useDefault": "Usa l'impostazione predefinita di Proxmox (nessuna policy su questo storage)"
|
"useDefault": "Usa l'impostazione predefinita di Proxmox (nessuna policy su questo storage)"
|
||||||
},
|
},
|
||||||
"apiErrors": {
|
"apiErrors": {
|
||||||
"requestFailed": "la richiesta non è riuscita.",
|
"requestFailed": "La richiesta non è riuscita.",
|
||||||
"absolutePath": "il percorso deve essere assoluto",
|
"absolutePath": "il percorso deve essere assoluto",
|
||||||
"pathConfigured": "questo percorso è già configurato",
|
"pathConfigured": "questo percorso è già configurato",
|
||||||
"pathRequired": "il percorso è obbligatorio",
|
"pathRequired": "il percorso è obbligatorio",
|
||||||
"pathQuery": "il parametro di query del percorso è obbligatorio",
|
"pathQuery": "il parametro di query path è obbligatorio",
|
||||||
"pathNotFound": "percorso non trovato",
|
"pathNotFound": "percorso non trovato",
|
||||||
"invalidJobId": "ID lavoro non valido",
|
"invalidJobId": "ID del job non valido",
|
||||||
"jobNotFound": "lavoro non trovato",
|
"jobNotFound": "job non trovato",
|
||||||
"runnerMissing": "script runner non installato",
|
"runnerMissing": "script di esecuzione non installato",
|
||||||
"noRestore": "nessuno stato di ripristino da eliminare",
|
"noRestore": "nessuno stato di ripristino da chiudere",
|
||||||
"invalidFile": "nome file non valido",
|
"invalidFile": "nome file non valido",
|
||||||
"notFound": "non trovato",
|
"notFound": "non trovato",
|
||||||
"logOutside": "percorso di registro esterno alla directory consentita",
|
"logOutside": "percorso del log al di fuori della directory consentita",
|
||||||
"targetsList": "gli obiettivi devono essere un elenco",
|
"targetsList": "targets deve essere un elenco",
|
||||||
"emptyExpression": "espressione vuota",
|
"emptyExpression": "espressione vuota",
|
||||||
"invalidId": "ID non valido (utilizza lettere, cifre, _ o -)",
|
"invalidId": "ID non valido (usa lettere, cifre, _ o -)",
|
||||||
"backend": "il backend deve essere pbs, local o borg",
|
"backend": "il backend deve essere pbs, local o borg",
|
||||||
"remoteBackend": "il backend deve essere pbs o borg",
|
"remoteBackend": "il backend deve essere pbs o borg",
|
||||||
"remoteBackendQuoted": "il backend deve essere 'pbs' o 'borg'",
|
"remoteBackendQuoted": "il backend deve essere 'pbs' o 'borg'",
|
||||||
"profileMode": "profile_mode deve essere predefinito o personalizzato",
|
"profileMode": "profile_mode deve essere default o custom",
|
||||||
"borgAttached": "borg non può essere collegato (PVE vzdump scrive solo su archivi pbs/locali)",
|
"borgAttached": "borg non può essere collegato (vzdump di PVE scrive solo su storage pbs/local)",
|
||||||
"borgAttachedLong": "borg non è un backend valido per i lavori allegati (PVE vzdump scrive solo su archivi pbs/locali)",
|
"borgAttachedLong": "borg non è un backend valido per i job collegati (vzdump di PVE scrive solo su storage pbs/local)",
|
||||||
"parentRequired": "pve_parent_job_id e pve_storage sono richiesti per attach",
|
"parentRequired": "pve_parent_job_id e pve_storage sono obbligatori per attached",
|
||||||
"absolutePaths": "i percorsi devono essere un elenco di percorsi assoluti",
|
"absolutePaths": "paths deve essere un elenco di percorsi assoluti",
|
||||||
"customPath": "il profilo personalizzato richiede almeno un percorso",
|
"customPath": "il profilo personalizzato richiede almeno un percorso",
|
||||||
"defaultPaths": "impossibile risolvere i percorsi dei profili predefiniti",
|
"defaultPaths": "impossibile determinare i percorsi del profilo predefinito",
|
||||||
"retentionObject": "la conservazione deve essere un oggetto",
|
"retentionObject": "retention deve essere un oggetto",
|
||||||
"pbsRepository": "pbs_repository è obbligatorio",
|
"pbsRepository": "pbs_repository è obbligatorio",
|
||||||
"pbsEncryption": "pbs_encrypt_mode deve essere \"none\", \"new\" o \"existing\"",
|
"pbsEncryption": "pbs_encrypt_mode deve essere 'none', 'new' o 'existing'",
|
||||||
"pbsKeyFailed": "impossibile creare il file di chiavi di crittografia PBS",
|
"pbsKeyFailed": "impossibile creare il file di chiavi di crittografia PBS",
|
||||||
"pbsClientMissing": "impossibile creare il file chiave di crittografia PBS (è installato il client di backup proxmox?)",
|
"pbsClientMissing": "impossibile creare il file di chiavi di crittografia PBS (proxmox-backup-client è installato?)",
|
||||||
"borgRepository": "borg_repo è obbligatorio",
|
"borgRepository": "borg_repo è obbligatorio",
|
||||||
"borgEncryption": "borg_encrypt_mode deve essere uno tra: none, repokey, keyfile, authenticated",
|
"borgEncryption": "borg_encrypt_mode deve essere uno tra: none, repokey, keyfile, authenticated",
|
||||||
"encryption": "encrypt_mode deve essere uno tra: none, repokey, keyfile, authenticated",
|
"encryption": "encrypt_mode deve essere uno tra: none, repokey, keyfile, authenticated",
|
||||||
"borgPassphrase": "borg_passphrase è richiesto quando la crittografia è abilitata (salvalo sulla destinazione o passane uno nella richiesta)",
|
"borgPassphrase": "borg_passphrase è obbligatoria quando la crittografia è abilitata (salvala nella destinazione o passane una nella richiesta)",
|
||||||
"passphrase": "la passphrase è richiesta quando la crittografia è abilitata",
|
"passphrase": "la passphrase è obbligatoria quando la crittografia è abilitata",
|
||||||
"password": "è richiesta la password",
|
"password": "la password è obbligatoria",
|
||||||
"deviceConfirmation": "confirm_device deve corrispondere esattamente al dispositivo (errore di battitura/controllo di sicurezza)",
|
"deviceConfirmation": "confirm_device deve corrispondere esattamente a device (controllo di sicurezza / refusi)",
|
||||||
"invalidDevice": "percorso del dispositivo non valido",
|
"invalidDevice": "percorso del dispositivo non valido",
|
||||||
"absoluteMountpoint": "punto di montaggio assoluto richiesto",
|
"absoluteMountpoint": "è richiesto un punto di montaggio assoluto",
|
||||||
"archiveLayout": "layout dell'archivio non riconosciuto: nessun rootfs/trovato",
|
"archiveLayout": "struttura dell'archivio non riconosciuta: nessuna rootfs/ trovata",
|
||||||
"archiveMissing": "archivio non trovato",
|
"archiveMissing": "archivio non trovato",
|
||||||
"archiveNotFile": "il percorso dell'archivio non è un file normale",
|
"archiveNotFile": "il percorso dell'archivio non è un file regolare",
|
||||||
"invalidName": "nome non valido",
|
"invalidName": "nome non valido",
|
||||||
"invalidStaging": "percorso_staging non valido",
|
"invalidStaging": "staging_path non valido",
|
||||||
"jobRename": "il nome del lavoro non può essere modificato (elimina + ricrea per rinominare)",
|
"jobRename": "il nome del job non può essere modificato (elimina e ricrea per rinominarlo)",
|
||||||
"absoluteKey": "key_path deve essere assoluto",
|
"absoluteKey": "key_path deve essere assoluto",
|
||||||
"mode": "la modalità deve essere \"locale\" o \"ssh\"",
|
"mode": "mode deve essere \"local\" o \"ssh\"",
|
||||||
"nameRequired": "il nome è obbligatorio (lettere, cifre, _ o -)",
|
"nameRequired": "il nome è obbligatorio (lettere, cifre, _ o -)",
|
||||||
"noLog": "nessun registro ancora disponibile per questo lavoro",
|
"noLog": "ancora nessun log disponibile per questo job",
|
||||||
"noPbsConfig": "nessun file di configurazione PBS manuale",
|
"noPbsConfig": "nessun file di configurazioni PBS manuali",
|
||||||
"outputMissing": "file di output mancante",
|
"outputMissing": "file di output mancante",
|
||||||
"parserJson": "l'output del parser non era JSON valido",
|
"parserJson": "l'output del parser non era un JSON valido",
|
||||||
"restoreJson": "l'output run_restore non era un JSON valido",
|
"restoreJson": "l'output di run_restore non era un JSON valido",
|
||||||
"repoRequired": "il repository è obbligatorio",
|
"repoRequired": "repo è obbligatorio",
|
||||||
"repoSnapshot": "nome_repo e snapshot sono obbligatori",
|
"repoSnapshot": "repo_name e snapshot sono obbligatori",
|
||||||
"borgRepoSnapshot": "repo_name e snapshot sono richiesti per borg",
|
"borgRepoSnapshot": "repo_name e snapshot sono obbligatori per borg",
|
||||||
"pbsRepoSnapshot": "nome_repo e snapshot sono richiesti per pbs",
|
"pbsRepoSnapshot": "repo_name e snapshot sono obbligatori per pbs",
|
||||||
"repoName": "repo_name è obbligatorio",
|
"repoName": "repo_name è obbligatorio",
|
||||||
"restoreMissing": "strumenti di ripristino non installati su questo host",
|
"restoreMissing": "strumenti di ripristino non installati su questo host",
|
||||||
"serverDatastore": "sono richiesti server e archivio dati",
|
"serverDatastore": "server e datastore sono obbligatori",
|
||||||
"snapshotRequired": "è richiesta l'istantanea",
|
"snapshotRequired": "lo snapshot è obbligatorio",
|
||||||
"source": "la fonte deve essere pbs, borg o locale",
|
"source": "source deve essere pbs, borg o local",
|
||||||
"sshPort": "ssh_port deve essere un numero intero compreso tra 1 e 65535",
|
"sshPort": "ssh_port deve essere un numero intero tra 1 e 65535",
|
||||||
"sshRequired": "ssh_user, ssh_host e ssh_remote_path sono richiesti per la modalità ssh",
|
"sshRequired": "ssh_user, ssh_host e ssh_remote_path sono obbligatori per la modalità ssh",
|
||||||
"repositoryPath": "la destinazione non ha un percorso di repository",
|
"repositoryPath": "la destinazione non ha un percorso di repository",
|
||||||
"taskExpired": "attività non trovata o scaduta",
|
"taskExpired": "attività non trovata o scaduta",
|
||||||
"invalidExpression": "espressione non valida",
|
"invalidExpression": "espressione non valida",
|
||||||
"noReport": "nessun rapporto emesso",
|
"noReport": "nessun report generato",
|
||||||
"parseManifestFailed": "parse_manifest è uscito diverso da zero",
|
"parseManifestFailed": "parse_manifest è terminato con un codice diverso da zero",
|
||||||
"jobExists": "il lavoro esiste già: {value}",
|
"jobExists": "il job esiste già: {value}",
|
||||||
"pathMissing": "il percorso non esiste su questo host: {value}",
|
"pathMissing": "il percorso non esiste su questo host: {value}",
|
||||||
"deviceMissing": "il dispositivo non esiste: {value}",
|
"deviceMissing": "il dispositivo non esiste: {value}",
|
||||||
"mountpoint": "non un punto di montaggio: {value}",
|
"mountpoint": "non è un punto di montaggio: {value}",
|
||||||
"localArchiveMissing": "archivio locale non trovato: {value}",
|
"localArchiveMissing": "archivio locale non trovato: {value}",
|
||||||
"borgDestination": "destinazione Borg '{value}' non trovata",
|
"borgDestination": "Destinazione Borg '{value}' non trovata",
|
||||||
"pbsDestination": "destinazione PBS '{value}' non trovata",
|
"pbsDestination": "Destinazione PBS '{value}' non trovata",
|
||||||
"pbsPassword": "nessuna password disponibile per il repository PBS '{value}'",
|
"pbsPassword": "nessuna password disponibile per il repository PBS '{value}'",
|
||||||
"borgRepoMissing": "repository Borg \"{value}\" non configurato",
|
"borgRepoMissing": "Repository Borg \"{value}\" non configurato",
|
||||||
"pbsRepoMissing": "repository PBS \"{value}\" non configurato",
|
"pbsRepoMissing": "Repository PBS \"{value}\" non configurato",
|
||||||
"borgTargetMissing": "target Borg non trovato: {value}",
|
"borgTargetMissing": "Destinazione Borg non trovata: {value}",
|
||||||
"pbsTargetMissing": "repository PBS non trovato: {value}",
|
"pbsTargetMissing": "Repository PBS non trovato: {value}",
|
||||||
"pveJobMissing": "lavoro PVE vzdump non trovato: {value}",
|
"pveJobMissing": "Job vzdump di PVE non trovato: {value}",
|
||||||
"statePersist": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: impossibile persistere nello stato: {value}",
|
"statePersist": "impossibile salvare lo stato: {value}",
|
||||||
"sshDirectory": "impossibile preparare ssh dir: {value}",
|
"sshDirectory": "impossibile preparare la directory ssh: {value}",
|
||||||
"logRead": "impossibile leggere il registro: {value}",
|
"logRead": "impossibile leggere il log: {value}",
|
||||||
"envUpdate": "impossibile aggiornare .env: {value}",
|
"envUpdate": "impossibile aggiornare .env: {value}",
|
||||||
"pbsConfigWrite": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: impossibile mantenere la configurazione PBS: {value}",
|
"pbsConfigWrite": "impossibile salvare la configurazione PBS: {value}",
|
||||||
"persist": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: impossibile persistere: {value}",
|
"persist": "impossibile salvare: {value}",
|
||||||
"archiveRemove": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: impossibile rimuovere l'archivio: {value}",
|
"archiveRemove": "impossibile rimuovere l'archivio: {value}",
|
||||||
"start": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: avvio non riuscito: {value}",
|
"start": "impossibile avviare: {value}",
|
||||||
"borgTargetsUpdate": "impossibile aggiornare borg-targets.txt: {value}",
|
"borgTargetsUpdate": "impossibile aggiornare borg-targets.txt: {value}",
|
||||||
"pbsTargetsUpdate": "impossibile aggiornare pbs-manual-configs.txt: {value}",
|
"pbsTargetsUpdate": "impossibile aggiornare pbs-manual-configs.txt: {value}",
|
||||||
"unitsUpdate": "impossibile aggiornare le unità systemd: {value}",
|
"unitsUpdate": "impossibile aggiornare le unità systemd: {value}",
|
||||||
"borgTargetsWrite": "impossibile scrivere borg-targets.txt: {value}",
|
"borgTargetsWrite": "impossibile scrivere borg-targets.txt: {value}",
|
||||||
"jobWrite": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: impossibile scrivere i file di lavoro: {value}",
|
"jobWrite": "impossibile scrivere i file del job: {value}",
|
||||||
"localTargetWrite": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: impossibile scrivere local-target.conf: {value}",
|
"localTargetWrite": "impossibile scrivere local-target.conf: {value}",
|
||||||
"unitsWrite": "impossibile scrivere le unità systemd: {value}",
|
"unitsWrite": "impossibile scrivere le unità systemd: {value}",
|
||||||
"format": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: formato non riuscito: {value}",
|
"format": "formattazione non riuscita: {value}",
|
||||||
"calendar": "on_calendar non valido: {value}",
|
"calendar": "on_calendar non valido: {value}",
|
||||||
"mount": "montaggio non riuscito: {value}",
|
"mount": "montaggio non riuscito: {value}",
|
||||||
"parserInvocation": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: invocazione del parser non riuscita: {value}",
|
"parserInvocation": "invocazione del parser non riuscita: {value}",
|
||||||
"preflightInvocation": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: chiamata di preflight non riuscita: {value}",
|
"preflightInvocation": "invocazione della verifica preliminare non riuscita: {value}",
|
||||||
"publicKeyMissing": "chiave pubblica non trovata dopo la generazione: {value}",
|
"publicKeyMissing": "chiave pubblica non trovata dopo la generazione: {value}",
|
||||||
"retentionInteger": "tention.{value} deve essere un numero intero",
|
"retentionInteger": "retention.{value} deve essere un numero intero",
|
||||||
"retentionNegative": "ritenzione.{value} deve essere non negativo",
|
"retentionNegative": "retention.{value} non deve essere negativo",
|
||||||
"keygen": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: ssh-keygen non riuscita: {value}",
|
"keygen": "ssh-keygen non riuscito: {value}",
|
||||||
"systemctl": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: systemctl non riuscita: {value}",
|
"systemctl": "systemctl non riuscito: {value}",
|
||||||
"unmount": "smontaggio non riuscito: {value}",
|
"unmount": "umount non riuscito: {value}",
|
||||||
"taskIncomplete": "l'attività è nello stato \"{value}\", non completata",
|
"taskIncomplete": "l'attività è nello stato \"{value}\", non completata",
|
||||||
"unknownKind": "tipo sconosciuto: {value}",
|
"unknownKind": "tipo sconosciuto: {value}",
|
||||||
"unknownMode": "modalità sconosciuta \"{value}\"",
|
"unknownMode": "modalità sconosciuta \"{value}\"",
|
||||||
"defaultRemove": "{value} è l'impostazione predefinita integrata e non può essere rimossa",
|
"defaultRemove": "{value} è il valore predefinito integrato e non può essere rimosso",
|
||||||
"defaultAdd": "{value} è l'impostazione predefinita integrata;non c'è bisogno di aggiungerlo",
|
"defaultAdd": "{value} è il valore predefinito integrato; non è necessario aggiungerlo",
|
||||||
"keyImport": "su {value} non è installato alcun file di chiavi PBS.Importa prima il file di chiavi.",
|
"keyImport": "Nessun file di chiavi PBS è installato in {value}. Importa prima il file di chiavi.",
|
||||||
"storageMismatch": "mancata corrispondenza dell'archiviazione del lavoro PVE (il lavoro utilizza {value}, il payload dice {other})"
|
"storageMismatch": "Lo storage del job PVE non corrisponde (il job usa {value}, il payload indica {other})"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"healthStatus": {
|
"healthStatus": {
|
||||||
@@ -5438,6 +5597,7 @@
|
|||||||
"websocketError": "Errore WebSocket",
|
"websocketError": "Errore WebSocket",
|
||||||
"connectionClosed": "Connessione chiusa",
|
"connectionClosed": "Connessione chiusa",
|
||||||
"completedSuccessfully": "Script completato con successo",
|
"completedSuccessfully": "Script completato con successo",
|
||||||
|
"cancelled": "Operazione annullata.",
|
||||||
"completedWithError": "Script terminato con codice di errore {code}",
|
"completedWithError": "Script terminato con codice di errore {code}",
|
||||||
"yes": "Sì",
|
"yes": "Sì",
|
||||||
"yourInput": "Input:",
|
"yourInput": "Input:",
|
||||||
@@ -7429,7 +7589,7 @@
|
|||||||
"signInWith": "Accedi con",
|
"signInWith": "Accedi con",
|
||||||
"methodPassword": "Utente e password",
|
"methodPassword": "Utente e password",
|
||||||
"methodToken": "Token API",
|
"methodToken": "Token API",
|
||||||
"username": "Utente (utente@realm)",
|
"username": "Utente",
|
||||||
"password": "Password",
|
"password": "Password",
|
||||||
"passwordHelp": "La password viene usata una sola volta per creare un token API di sola lettura (ruolo Audit) per questo Monitor. Viene salvato solo quel token, mai la password. Attiva prima l'autenticazione del Monitor.",
|
"passwordHelp": "La password viene usata una sola volta per creare un token API di sola lettura (ruolo Audit) per questo Monitor. Viene salvato solo quel token, mai la password. Attiva prima l'autenticazione del Monitor.",
|
||||||
"cancel": "Annulla",
|
"cancel": "Annulla",
|
||||||
@@ -7442,10 +7602,10 @@
|
|||||||
"editConnection": "Connessione da modificare",
|
"editConnection": "Connessione da modificare",
|
||||||
"add": "Aggiungi una nuova connessione",
|
"add": "Aggiungi una nuova connessione",
|
||||||
"name": "Nome",
|
"name": "Nome",
|
||||||
"url": "URL HTTPS (includere :8007 per la porta nativa di PBS)",
|
"url": "Indirizzo HTTPS",
|
||||||
"token_id": "ID del token API (user@realm!token)",
|
"token_id": "ID del token API",
|
||||||
"token_secret": "Segreto del token API (lasciare vuoto per mantenere quello salvato)",
|
"token_secret": "Segreto del token API",
|
||||||
"fingerprint": "Impronta SHA256 del certificato (facoltativa)",
|
"fingerprint": "Impronta SHA256 (facoltativa)",
|
||||||
"tlsHelp": "Lascia vuota l'impronta per la normale verifica dell'autorità di certificazione e del nome host. Per un certificato autofirmato, copia la sua impronta SHA256 dalla console PBS o da un altro canale attendibile. L'impronta viene verificata prima dell'invio delle credenziali.",
|
"tlsHelp": "Lascia vuota l'impronta per la normale verifica dell'autorità di certificazione e del nome host. Per un certificato autofirmato, copia la sua impronta SHA256 dalla console PBS o da un altro canale attendibile. L'impronta viene verificata prima dell'invio delle credenziali.",
|
||||||
"saved": "Connessione PBS verificata e salvata.",
|
"saved": "Connessione PBS verificata e salvata.",
|
||||||
"saveFailed": "Impossibile salvare la connessione PBS.",
|
"saveFailed": "Impossibile salvare la connessione PBS.",
|
||||||
@@ -7489,83 +7649,83 @@
|
|||||||
"duration": "Durata",
|
"duration": "Durata",
|
||||||
"noJobs": "non è configurata alcuna pianificazione di sincronizzazione, verifica o eliminazione.",
|
"noJobs": "non è configurata alcuna pianificazione di sincronizzazione, verifica o eliminazione.",
|
||||||
"errors": {
|
"errors": {
|
||||||
"configRead": "impossibile leggere le connessioni PBS salvate.Controlla il file di configurazione e le autorizzazioni.",
|
"configRead": "Impossibile leggere le connessioni PBS salvate. Controlla il file di configurazione e i permessi.",
|
||||||
"invalidConfig": "le impostazioni di connessione PBS non sono valide.Controlla il modulo e riprova.",
|
"invalidConfig": "Le impostazioni della connessione PBS non sono valide. Controlla il modulo e riprova.",
|
||||||
"invalidField": "un campo di connessione non è valido o è troppo lungo.",
|
"invalidField": "Un campo della connessione non è valido o è troppo lungo.",
|
||||||
"invalidUrl": "utilizza un indirizzo PBS HTTPS senza credenziali incorporate, parametri di query o un frammento.",
|
"invalidUrl": "Usa un indirizzo PBS HTTPS senza credenziali incorporate, parametri di query o frammento.",
|
||||||
"nameRequired": "inserisci un nome server di massimo 128 caratteri.",
|
"nameRequired": "Inserisci un nome del server di massimo 128 caratteri.",
|
||||||
"tokenIdFormat": "inserisci l'ID token API PBS nel formato user@realm!token.",
|
"tokenIdFormat": "Inserisci l'ID del token API PBS nel formato user@realm!token.",
|
||||||
"tokenSecret": "inserisci un segreto del token API valido senza spazi o caratteri di controllo.",
|
"tokenSecret": "Inserisci un segreto del token API valido, senza spazi né caratteri di controllo.",
|
||||||
"invalidTokenId": "testo tecnico dell'interfaccia utente per una dashboard di gestione Proxmox.Traduzione: l'ID token API deve contenere solo caratteri ASCII.",
|
"invalidTokenId": "L'ID del token API deve contenere solo caratteri ASCII.",
|
||||||
"invalidFingerprint": "inserisci l'impronta digitale SHA256 del certificato: 64 caratteri esadecimali, facoltativamente separati da due punti.",
|
"invalidFingerprint": "Inserisci l'impronta SHA256 del certificato: 64 caratteri esadecimali, facoltativamente separati da due punti.",
|
||||||
"fingerprintMismatch": "il certificato PBS non corrisponde all'impronta digitale.Non sono state inviate credenziali.",
|
"fingerprintMismatch": "Il certificato PBS non corrisponde all'impronta. Non sono state inviate credenziali.",
|
||||||
"tokenRejected": "PBS ha rifiutato il token API o le sue autorizzazioni.Controlla gli ACL sia dell'utente che del token.",
|
"tokenRejected": "PBS ha rifiutato il token API o i suoi permessi. Controlla le ACL sia dell'utente sia del token.",
|
||||||
"invalidResponse": "PBS ha restituito una risposta inaspettata.I reindirizzamenti non vengono seguiti.",
|
"invalidResponse": "PBS ha restituito una risposta inattesa. I reindirizzamenti non vengono seguiti.",
|
||||||
"invalidJson": "PBS ha restituito un documento JSON non valido.",
|
"invalidJson": "PBS ha restituito un documento JSON non valido.",
|
||||||
"connectFailed": "impossibile connettersi a PBS tramite HTTPS verificato.Controlla l'indirizzo, il certificato e il servizio.",
|
"connectFailed": "Impossibile connettersi a PBS tramite HTTPS verificato. Controlla l'indirizzo, il certificato e il servizio.",
|
||||||
"invalidId": "l'ID di connessione PBS non è valido.Ricaricare l'elenco delle connessioni.",
|
"invalidId": "L'ID della connessione PBS non è valido. Ricarica l'elenco delle connessioni.",
|
||||||
"invalidDatastores": "PBS ha restituito un elenco di archivi dati non valido.",
|
"invalidDatastores": "PBS ha restituito un elenco di datastore non valido.",
|
||||||
"connectionLimit": "È possibile configurare al massimo connessioni PBS {count}.",
|
"connectionLimit": "Si possono configurare al massimo {count} connessioni PBS.",
|
||||||
"username": "inserisci l'utente PBS nel formato utente@realm, ad esempio root@pam.",
|
"username": "Inserisci l'utente PBS nel formato user@realm, ad esempio root@pam.",
|
||||||
"password": "inserisci la password dell'utente PBS.",
|
"password": "Inserisci la password dell'utente PBS.",
|
||||||
"loginRejected": "PBS ha rifiutato il nome utente o la password.",
|
"loginRejected": "PBS ha rifiutato il nome utente o la password.",
|
||||||
"invalidLogin": "PBS ha restituito una risposta di accesso non valida.",
|
"invalidLogin": "PBS ha restituito una risposta di accesso non valida.",
|
||||||
"tokenCreateDenied": "questo utente PBS non può creare token API.",
|
"tokenCreateDenied": "Questo utente PBS non può creare token API.",
|
||||||
"invalidToken": "PBS ha restituito un token API non valido.",
|
"invalidToken": "PBS ha restituito un token API non valido.",
|
||||||
"auditRoleDenied": "questo utente PBS non può concedere il ruolo di controllo.Accedi come root@pam o un altro amministratore.",
|
"auditRoleDenied": "Questo utente PBS non può assegnare il ruolo Audit. Accedi come root@pam o con un altro amministratore.",
|
||||||
"notFound": "la connessione PBS non è stata trovata.Ricaricare l'elenco delle connessioni.",
|
"notFound": "Connessione PBS non trovata. Ricarica l'elenco delle connessioni.",
|
||||||
"readFailed": "impossibile leggere i dati PBS.Controlla il suo servizio e le autorizzazioni.",
|
"readFailed": "Impossibile leggere i dati PBS. Controlla il servizio e i permessi.",
|
||||||
"invalidList": "PBS ha restituito un elenco di dati non valido.",
|
"invalidList": "PBS ha restituito un elenco di dati non valido.",
|
||||||
"localUnavailable": "PBS non è disponibile su questo host.",
|
"localUnavailable": "PBS non è disponibile su questo host.",
|
||||||
"authRequired": "abilita l'autenticazione locale in Monitor prima di gestire le connessioni PBS remote.",
|
"authRequired": "Abilita l'autenticazione locale in Monitor prima di gestire le connessioni PBS remote.",
|
||||||
"datastoreOffline": "l'archivio dati è offline, in modalità di manutenzione oppure il relativo dispositivo di supporto non è montato.",
|
"datastoreOffline": "Il datastore è offline, in modalità manutenzione oppure il dispositivo su cui si basa non è montato.",
|
||||||
"datastoreUnavailable": "il filesystem del datastore non è disponibile."
|
"datastoreUnavailable": "Il filesystem del datastore non è disponibile."
|
||||||
},
|
},
|
||||||
"taskTypes": {
|
"taskTypes": {
|
||||||
"backup": "backup",
|
"backup": "Backup",
|
||||||
"restore": "ripristinare",
|
"restore": "Ripristino",
|
||||||
"verify": "Verifica",
|
"verify": "Verifica",
|
||||||
"verifyGroup": "verifica del gruppo di backup",
|
"verifyGroup": "Verifica del gruppo di backup",
|
||||||
"verifySnapshot": "verifica dell'istantanea",
|
"verifySnapshot": "Verifica dello snapshot",
|
||||||
"prune": "potare",
|
"prune": "Pulizia",
|
||||||
"garbageCollection": "Garbage collection",
|
"garbageCollection": "Garbage collection",
|
||||||
"sync": "sincronizzazione",
|
"sync": "Sincronizzazione",
|
||||||
"updateCheck": "controlla gli aggiornamenti",
|
"updateCheck": "Controllo aggiornamenti",
|
||||||
"terminal": "terminale",
|
"terminal": "Terminale",
|
||||||
"createDatastore": "crea archivio dati",
|
"createDatastore": "Creazione datastore",
|
||||||
"other": "Altra attività ({type})"
|
"other": "Altra attività ({type})"
|
||||||
},
|
},
|
||||||
"states": {
|
"states": {
|
||||||
"ok": "OK",
|
"ok": "OK",
|
||||||
"unknown": "sconosciuto",
|
"unknown": "Sconosciuto",
|
||||||
"warnings": "Avvertenze: {count}",
|
"warnings": "Avvisi: {count}",
|
||||||
"warning": "Avvertimento",
|
"warning": "Avviso",
|
||||||
"error": "Errore"
|
"error": "Errore"
|
||||||
},
|
},
|
||||||
"serviceStates": {
|
"serviceStates": {
|
||||||
"active": "attivo",
|
"active": "Attivo",
|
||||||
"inactive": "inattivo",
|
"inactive": "Inattivo",
|
||||||
"failed": "fallito",
|
"failed": "Non riuscito",
|
||||||
"activating": "Inizio",
|
"activating": "Avvio in corso",
|
||||||
"deactivating": "Fermarsi",
|
"deactivating": "Arresto in corso",
|
||||||
"unknown": "sconosciuto"
|
"unknown": "Sconosciuto"
|
||||||
},
|
},
|
||||||
"durationUnits": {
|
"durationUnits": {
|
||||||
"seconds": "{count} s",
|
"seconds": "{count} s",
|
||||||
"minutes": "{count} min",
|
"minutes": "{count} min",
|
||||||
"hours": "{count} h",
|
"hours": "{count} h",
|
||||||
"days": "{count} d"
|
"days": "{count} g"
|
||||||
},
|
},
|
||||||
"urlHelp": "includi :8007 per la porta PBS predefinita, ad esempio https://pbs.example:8007.",
|
"urlHelp": "Includi :8007 per la porta predefinita di PBS, ad esempio https://pbs.example:8007.",
|
||||||
"usernameHelp": "utilizza user@realm, ad esempio root@pam.",
|
"usernameHelp": "Usa utente@realm, ad esempio root@pam.",
|
||||||
"tokenIdHelp": "utilizza user@realm!token, ad esempio monitor@pbs!proxmenux.",
|
"tokenIdHelp": "Usa utente@realm!token, ad esempio monitor@pbs!proxmenux.",
|
||||||
"tokenSecretHelp": "inserisci il segreto di questo token API.",
|
"tokenSecretHelp": "Inserisci il segreto di questo token API.",
|
||||||
"tokenSecretKeepHelp": "lascia vuoto per mantenere segreto il token salvato.",
|
"tokenSecretKeepHelp": "Lascia vuoto per mantenere il segreto del token salvato.",
|
||||||
"removeFailed": "impossibile rimuovere la connessione PBS.",
|
"removeFailed": "Impossibile rimuovere la connessione PBS.",
|
||||||
"savedRefreshFailed": "la connessione PBS è stata salvata, ma non è stato possibile aggiornare l'elenco delle connessioni.Ricarica la pagina prima di provare un'altra modifica.",
|
"savedRefreshFailed": "La connessione PBS è stata salvata, ma non è stato possibile aggiornare l'elenco delle connessioni. Ricarica la pagina prima di fare un'altra modifica.",
|
||||||
"removedRefreshFailed": "la connessione PBS è stata rimossa, ma non è stato possibile aggiornare l'elenco delle connessioni.Ricarica la pagina.",
|
"removedRefreshFailed": "La connessione PBS è stata rimossa, ma non è stato possibile aggiornare l'elenco delle connessioni. Ricarica la pagina.",
|
||||||
"technicalDetails": "Dettagli tecnici",
|
"technicalDetails": "Dettagli tecnici",
|
||||||
"datastoreType": "archivio dati"
|
"datastoreType": "Datastore"
|
||||||
},
|
},
|
||||||
"monitorLinks": {
|
"monitorLinks": {
|
||||||
"groups": {
|
"groups": {
|
||||||
@@ -7606,15 +7766,15 @@
|
|||||||
"changeAddress": "Cambia indirizzo",
|
"changeAddress": "Cambia indirizzo",
|
||||||
"cancel": "Annulla",
|
"cancel": "Annulla",
|
||||||
"errors": {
|
"errors": {
|
||||||
"addressRequired": "inserisci l'indirizzo del monitor.",
|
"addressRequired": "Inserisci l'indirizzo del Monitor.",
|
||||||
"invalidAddress": "l'indirizzo deve iniziare con http:// o https:// e nominare un host.",
|
"invalidAddress": "L'indirizzo deve iniziare con http:// o https:// e indicare un host.",
|
||||||
"addressCredentials": "l'indirizzo non deve contenere un utente o una password.",
|
"addressCredentials": "L'indirizzo non deve contenere un utente o una password.",
|
||||||
"invalidPort": "la porta dell'indirizzo non è valida.",
|
"invalidPort": "La porta dell'indirizzo non è valida.",
|
||||||
"invalidRequest": "La richiesta non è valida.Ricarica la pagina e riprova.",
|
"invalidRequest": "La richiesta non è valida. Ricarica la pagina e riprova.",
|
||||||
"limit": "è possibile aggiungere al massimo nodi {count}.",
|
"limit": "Si possono aggiungere al massimo {count} nodi.",
|
||||||
"duplicate": "questo indirizzo è già nell'elenco.",
|
"duplicate": "Questo indirizzo è già nell'elenco.",
|
||||||
"notFound": "il nodo non è stato trovato.Ricaricare l'elenco e riprovare.",
|
"notFound": "Nodo non trovato. Ricarica l'elenco e riprova.",
|
||||||
"detectedRemove": "solo i nodi aggiunti manualmente possono essere rimossi.I nodi rilevati possono essere nascosti."
|
"detectedRemove": "Si possono rimuovere solo i nodi aggiunti manualmente. I nodi rilevati possono essere nascosti."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+298
-138
@@ -1231,7 +1231,9 @@
|
|||||||
"update": "Atualizar",
|
"update": "Atualizar",
|
||||||
"modify": "Modificar",
|
"modify": "Modificar",
|
||||||
"recover": "Recuperar",
|
"recover": "Recuperar",
|
||||||
|
"registerRestored": "Registar novamente",
|
||||||
"terminalTitleUpdate": "Atualizar aplicação OCI",
|
"terminalTitleUpdate": "Atualizar aplicação OCI",
|
||||||
|
"terminalTitleRecoverPrevious": "Recuperar a instalação OCI anterior",
|
||||||
"terminalTitleModify": "Modificar aplicação OCI",
|
"terminalTitleModify": "Modificar aplicação OCI",
|
||||||
"terminalTitleRecover": "Recuperar aplicação OCI restaurada",
|
"terminalTitleRecover": "Recuperar aplicação OCI restaurada",
|
||||||
"terminalDescription": "É executado o mesmo processo que no menu do ProxMenux: OCI manager Apps → Gerir aplicações OCI instaladas.",
|
"terminalDescription": "É executado o mesmo processo que no menu do ProxMenux: OCI manager Apps → Gerir aplicações OCI instaladas.",
|
||||||
@@ -1760,7 +1762,128 @@
|
|||||||
"dockerEvidenceImage": "Imagem",
|
"dockerEvidenceImage": "Imagem",
|
||||||
"dockerEvidencePort": "Porta TCP publicada",
|
"dockerEvidencePort": "Porta TCP publicada",
|
||||||
"dockerEvidenceProject": "Projeto Compose",
|
"dockerEvidenceProject": "Projeto Compose",
|
||||||
"dockerEndpointReview": "Contentor com portas TCP publicadas. Confirme o nome e o endereço web antes de guardar. O registo não configura atualizações."
|
"dockerEndpointReview": "Contentor com portas TCP publicadas. Confirme o nome e o endereço web antes de guardar. O registo não configura atualizações.",
|
||||||
|
"confirmRemove": "Eliminar o registo desta aplicação do separador App? A aplicação não é desinstalada.",
|
||||||
|
"packageExample": "p. ex. {package}",
|
||||||
|
"packageHelpBefore": "Preenchido automaticamente a partir do Nome. Verifique com",
|
||||||
|
"packageHelpAfter": "dentro do CT.",
|
||||||
|
"binaryHelpBefore": "Caminho absoluto. Encontre-o com",
|
||||||
|
"binaryHelpOr": "ou",
|
||||||
|
"errors": {
|
||||||
|
"ociBusy": "está em curso uma operação OCI neste contentor",
|
||||||
|
"dpkgMissing": "{package} não está instalado através do dpkg",
|
||||||
|
"dpkgFailed": "dpkg-query falhou",
|
||||||
|
"dpkgNoVersion": "nenhuma versão encontrada na saída do dpkg",
|
||||||
|
"apkFailed": "apk info falhou",
|
||||||
|
"apkNoVersion": "nenhuma versão encontrada na saída do apk",
|
||||||
|
"fileRead": "não foi possível ler {path}",
|
||||||
|
"fileNoMatch": "file_regex não encontrou correspondência em {path}",
|
||||||
|
"binaryFailed": "a invocação do binário falhou",
|
||||||
|
"binaryNoVersion": "nenhuma versão encontrada na saída do binário",
|
||||||
|
"pythonFailed": "python -c importlib.metadata falhou",
|
||||||
|
"pythonNoVersion": "nenhuma versão encontrada na saída da distribuição Python",
|
||||||
|
"dockerImageResolve": "não foi possível resolver a imagem instalada do contentor",
|
||||||
|
"dockerInspectFailed": "docker inspect falhou",
|
||||||
|
"dockerLabelMissing": "o contentor não tem a etiqueta {label}",
|
||||||
|
"dockerLabelMutable": "a etiqueta do docker indica {tag} (tag mutável, não é uma versão)",
|
||||||
|
"dockerLabelNoVersion": "nenhuma versão encontrada na saída da etiqueta do docker",
|
||||||
|
"dockerExecFailed": "docker exec falhou",
|
||||||
|
"dockerExecNoVersion": "nenhuma versão encontrada na saída do docker exec",
|
||||||
|
"commandEmpty": "command_argv está vazio",
|
||||||
|
"commandFailed": "o comando falhou",
|
||||||
|
"commandNoVersion": "nenhuma versão encontrada na saída do comando",
|
||||||
|
"unsupportedMethod": "método não suportado: {method}",
|
||||||
|
"unknownUpstream": "upstream_type desconhecido: {type}",
|
||||||
|
"githubNotFound": "{repo}: não encontrado",
|
||||||
|
"githubRejected": "o github rejeitou o pedido (403)",
|
||||||
|
"githubError": "erro do github {code}",
|
||||||
|
"noRelease": "nenhuma tag / nome de release na resposta",
|
||||||
|
"tagNoMatch": "tag_regex não encontrou correspondência em '{tag}'",
|
||||||
|
"httpError": "erro http {code}",
|
||||||
|
"invalidJson": "resposta JSON inválida: {detail}",
|
||||||
|
"jsonPathUnresolved": "json_path '{path}' não foi resolvido",
|
||||||
|
"jsonEmpty": "valor vazio em json_path",
|
||||||
|
"dockerNoTags": "nenhuma tag encontrada (docker_hub)",
|
||||||
|
"dockerMovingOnly": "tag_regex só encontrou tags móveis; utilize o seguimento do digest da imagem Docker",
|
||||||
|
"dockerHubError": "erro do docker hub {code}",
|
||||||
|
"dockerHubJson": "JSON do docker hub inválido: {detail}",
|
||||||
|
"dockerHubEmpty": "o docker hub não devolveu nenhuma tag",
|
||||||
|
"payload": "o payload deve ser um objeto JSON",
|
||||||
|
"name": "name é obrigatório e deve ter 1-64 caracteres entre letras/dígitos/espaços/._+-()/",
|
||||||
|
"method": "installed_via deve ser um de: {values} ou vazio",
|
||||||
|
"package": "package é obrigatório (letras/dígitos/._+@:/ até 127 caracteres)",
|
||||||
|
"filePath": "file_path é obrigatório e deve ser um caminho absoluto",
|
||||||
|
"fileRegex": "file_regex é obrigatório",
|
||||||
|
"fileRegexInvalid": "file_regex não é uma regex válida: {detail}",
|
||||||
|
"binaryPath": "binary_path é obrigatório e deve ser um caminho absoluto",
|
||||||
|
"pythonPath": "python_path é obrigatório e deve ser um caminho absoluto",
|
||||||
|
"distribution": "distribution é obrigatório (nome PEP 503)",
|
||||||
|
"container": "container_name é obrigatório (regras de nomes do docker)",
|
||||||
|
"label": "label é obrigatório (regras de nomes de etiquetas OCI)",
|
||||||
|
"dockerBinary": "binary_path é obrigatório (caminho absoluto ou comando simples)",
|
||||||
|
"manualVersion": "installed_version é obrigatório para o método manual",
|
||||||
|
"versionLength": "installed_version excede {max} caracteres",
|
||||||
|
"versionControl": "installed_version contém um carácter de controlo proibido",
|
||||||
|
"installedRegexInvalid": "installed_regex não é uma regex válida: {detail}",
|
||||||
|
"upstreamType": "upstream_type deve ser um de: {values}",
|
||||||
|
"tagRegexInvalid": "tag_regex não é uma regex válida: {detail}",
|
||||||
|
"repoRequired": "repo é obrigatório para upstream_type=github",
|
||||||
|
"repoFormat": "repo deve ter o formato 'owner/name'",
|
||||||
|
"githubSource": "github_source deve ser um de: {values}",
|
||||||
|
"upstreamUrlRequired": "upstream_url é obrigatório para upstream_type=http_json",
|
||||||
|
"upstreamUrl": "upstream_url deve ser um URL http(s)",
|
||||||
|
"upstreamUrlLength": "upstream_url excede {max} caracteres",
|
||||||
|
"jsonPathRequired": "upstream_json_path é obrigatório para upstream_type=http_json",
|
||||||
|
"jsonPathLength": "upstream_json_path excede {max} caracteres",
|
||||||
|
"jsonPathCharacters": "upstream_json_path utiliza caracteres proibidos",
|
||||||
|
"dockerImageRequired": "docker_image é obrigatório para upstream_type=docker_hub",
|
||||||
|
"dockerImageLength": "docker_image excede {max} caracteres",
|
||||||
|
"dockerImageFormat": "docker_image deve seguir os nomes do Docker Hub (owner/name ou name)",
|
||||||
|
"healthPath": "health_path deve ser um caminho de URL válido (máx. 255 caracteres)",
|
||||||
|
"logoUrl": "logo_url deve ser um URL http(s) ou o ícone local em cache desta VM",
|
||||||
|
"discoveryId": "discovery_id inválido",
|
||||||
|
"helperSlug": "helper_slug deve ser um slug em minúsculas (letras/dígitos/._-)",
|
||||||
|
"updateVia": "update_via só aceita 'docker'",
|
||||||
|
"dockerDetector": "update_via=docker requer um detetor docker_label ou docker_exec",
|
||||||
|
"dockerConflict": "update_via=docker não pode ser combinado com {field}",
|
||||||
|
"updateCommandType": "update_command deve ser uma cadeia de texto",
|
||||||
|
"updateCommandLength": "update_command excede {max} caracteres",
|
||||||
|
"updateCommandNull": "update_command contém um byte nulo",
|
||||||
|
"updateMethod": "update_method deve ser none, helper ou custom",
|
||||||
|
"updateCommandRequired": "update_command é obrigatório para update_method=custom",
|
||||||
|
"updateCommandOnlyCustom": "update_command só é permitido para update_method=custom",
|
||||||
|
"helperRequired": "é necessário um helper_slug suportado para update_method=helper",
|
||||||
|
"dockerUpdater": "As aplicações delegadas no Docker atualizam-se através da sua imagem, não com um atualizador de aplicação separado",
|
||||||
|
"commandRequired": "command_argv é obrigatório (lista não vazia)",
|
||||||
|
"commandList": "command_argv deve ser uma lista não vazia de cadeias de texto",
|
||||||
|
"commandCount": "command_argv aceita no máximo {max} entradas",
|
||||||
|
"commandEntry": "command_argv[{index}] deve ser uma cadeia de texto não vazia",
|
||||||
|
"commandEntryLength": "command_argv[{index}] excede {max} caracteres",
|
||||||
|
"commandEntryControl": "command_argv[{index}] contém um carácter de controlo proibido",
|
||||||
|
"binaryArgsList": "binary_args deve ser uma lista de cadeias de texto",
|
||||||
|
"binaryArgsCount": "binary_args aceita no máximo {max} entradas",
|
||||||
|
"binaryArgEntry": "binary_args[{index}] deve ser uma cadeia de texto não vazia",
|
||||||
|
"binaryArgLength": "binary_args[{index}] excede {max} caracteres",
|
||||||
|
"binaryArgControl": "binary_args[{index}] contém um carácter de controlo proibido",
|
||||||
|
"portsList": "ports deve ser uma lista de {port, description, scheme}",
|
||||||
|
"portObject": "ports[{index}] deve ser um objeto",
|
||||||
|
"portRequired": "ports[{index}].port é obrigatório",
|
||||||
|
"portInteger": "ports[{index}].port deve ser um número inteiro",
|
||||||
|
"portRange": "ports[{index}].port deve estar entre 1 e 65535",
|
||||||
|
"portDuplicate": "a porta {port} aparece mais de uma vez para esta aplicação",
|
||||||
|
"portDescription": "ports[{index}].description tem caracteres inválidos",
|
||||||
|
"portScheme": "ports[{index}].scheme deve ser 'http' ou 'https'",
|
||||||
|
"portPath": "ports[{index}].web_path deve ser um caminho de URL válido (máx. 255 caracteres)",
|
||||||
|
"portLogo": "ports[{index}].logo_url deve ser um URL http(s) (máx. 512 caracteres)",
|
||||||
|
"portCategory": "ports[{index}].category tem caracteres inválidos ou é demasiado longo",
|
||||||
|
"portCustomUrl": "ports[{index}].custom_url deve ser um URL http(s) (máx. 512 caracteres)",
|
||||||
|
"tagRegexLength": "tag_regex excede 512 caracteres",
|
||||||
|
"persistPermission": "não foi possível guardar o sidecar (permissões?)",
|
||||||
|
"persist": "não foi possível guardar o sidecar",
|
||||||
|
"noApps": "nenhuma aplicação registada para este vmid",
|
||||||
|
"appMissing": "app_id '{appId}' não encontrado",
|
||||||
|
"appNotFound": "aplicação não encontrada"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"statusFilter": {
|
"statusFilter": {
|
||||||
"ariaLabel": "Filtrar máquinas virtuais e contêineres",
|
"ariaLabel": "Filtrar máquinas virtuais e contêineres",
|
||||||
@@ -2294,6 +2417,42 @@
|
|||||||
"updateManyDescription": "Executando novamente as funções pós-instalação {count} em sequência.",
|
"updateManyDescription": "Executando novamente as funções pós-instalação {count} em sequência.",
|
||||||
"legacySourceTitle": "Otimização legada – clique para ver a fonte",
|
"legacySourceTitle": "Otimização legada – clique para ver a fonte",
|
||||||
"sourceTitle": "Clique para visualizar o código fonte",
|
"sourceTitle": "Clique para visualizar o código fonte",
|
||||||
|
"sourceDialogTitle": "Código-fonte: {name}",
|
||||||
|
"sourceLoading": "A carregar o código-fonte…",
|
||||||
|
"sourceUnavailable": "O código-fonte não está disponível.",
|
||||||
|
"sourceLoadFailed": "Não foi possível carregar o código-fonte. Tente novamente.",
|
||||||
|
"sourceFunctionMissing": "A função não foi encontrada nos scripts disponíveis.",
|
||||||
|
"sourceUnknownTool": "Ferramenta desconhecida: {tool}",
|
||||||
|
"sourceNoMapping": "Nenhuma função está atribuída à ferramenta {tool}.",
|
||||||
|
"sourceToolNames": {
|
||||||
|
"subscription_banner": "Remoção do banner de subscrição",
|
||||||
|
"time_sync": "Sincronização da hora",
|
||||||
|
"apt_languages": "Omitir idiomas do APT",
|
||||||
|
"journald": "Otimização do journald",
|
||||||
|
"logrotate": "Otimização do logrotate",
|
||||||
|
"system_limits": "Aumento dos limites do sistema",
|
||||||
|
"memory_settings": "Otimização das definições de memória",
|
||||||
|
"zram_swap": "Perfil de swap ZRAM",
|
||||||
|
"kernel_panic": "Configuração de kernel panic",
|
||||||
|
"apt_ipv4": "Forçar IPv4 no APT",
|
||||||
|
"kexec": "kexec para reinícios rápidos",
|
||||||
|
"rpc": "Desativar RPC / rpcbind",
|
||||||
|
"motd": "Banner MOTD personalizado",
|
||||||
|
"system_utils": "Utilitários do sistema",
|
||||||
|
"network_optimization": "Otimizações de rede",
|
||||||
|
"bashrc_custom": "Personalização do bashrc",
|
||||||
|
"figurine": "Figurine",
|
||||||
|
"fastfetch": "Fastfetch",
|
||||||
|
"log2ram": "Log2ram (proteção do SSD)",
|
||||||
|
"zfs_autotrim": "ZFS Autotrim",
|
||||||
|
"amd_fixes": "Correções para CPU AMD (Ryzen/EPYC)",
|
||||||
|
"persistent_network": "Definir interfaces de rede persistentes",
|
||||||
|
"vfio_iommu": "Passthrough VFIO/IOMMU",
|
||||||
|
"lvm_repair": "Reparação de cabeçalhos LVM PV",
|
||||||
|
"repo_cleanup": "Limpeza de repositórios",
|
||||||
|
"proxmox_repos": "Repositórios APT do Proxmox",
|
||||||
|
"entropy": "Geração de entropia (haveged)"
|
||||||
|
},
|
||||||
"legacy": "legado",
|
"legacy": "legado",
|
||||||
"updateToolTitle": "Atualizar {name} para v{version}",
|
"updateToolTitle": "Atualizar {name} para v{version}",
|
||||||
"availableUpdates": "Atualizações disponíveis",
|
"availableUpdates": "Atualizações disponíveis",
|
||||||
@@ -4822,122 +4981,122 @@
|
|||||||
"useDefault": "Use o padrão Proxmox (nenhuma política neste armazenamento)"
|
"useDefault": "Use o padrão Proxmox (nenhuma política neste armazenamento)"
|
||||||
},
|
},
|
||||||
"apiErrors": {
|
"apiErrors": {
|
||||||
"requestFailed": "a solicitação falhou.",
|
"requestFailed": "O pedido falhou.",
|
||||||
"absolutePath": "o caminho deve ser absoluto",
|
"absolutePath": "o caminho deve ser absoluto",
|
||||||
"pathConfigured": "este caminho já está configurado",
|
"pathConfigured": "este caminho já está configurado",
|
||||||
"pathRequired": "o caminho é obrigatório",
|
"pathRequired": "o caminho é obrigatório",
|
||||||
"pathQuery": "o parâmetro de consulta de caminho é obrigatório",
|
"pathQuery": "o parâmetro de consulta path é obrigatório",
|
||||||
"pathNotFound": "caminho não encontrado",
|
"pathNotFound": "caminho não encontrado",
|
||||||
"invalidJobId": "ID de trabalho inválido",
|
"invalidJobId": "ID de trabalho inválido",
|
||||||
"jobNotFound": "trabalho não encontrado",
|
"jobNotFound": "trabalho não encontrado",
|
||||||
"runnerMissing": "script do executor não instalado",
|
"runnerMissing": "o script de execução não está instalado",
|
||||||
"noRestore": "nenhum estado de restauração para descartar",
|
"noRestore": "nenhum estado de restauro para descartar",
|
||||||
"invalidFile": "nome de arquivo inválido",
|
"invalidFile": "nome de ficheiro inválido",
|
||||||
"notFound": "não encontrado",
|
"notFound": "não encontrado",
|
||||||
"logOutside": "caminho de log fora do diretório permitido",
|
"logOutside": "caminho do registo fora do diretório permitido",
|
||||||
"targetsList": "Texto técnico da UI para um painel de gerenciamento do Proxmox.Traduza: os alvos devem ser uma lista",
|
"targetsList": "targets deve ser uma lista",
|
||||||
"emptyExpression": "expressão vazia",
|
"emptyExpression": "expressão vazia",
|
||||||
"invalidId": "id inválido (use letras, dígitos, _ ou -)",
|
"invalidId": "ID inválido (utilize letras, dígitos, _ ou -)",
|
||||||
"backend": "backend deve ser pbs, local ou borg",
|
"backend": "o backend deve ser pbs, local ou borg",
|
||||||
"remoteBackend": "backend deve ser pbs ou borg",
|
"remoteBackend": "o backend deve ser pbs ou borg",
|
||||||
"remoteBackendQuoted": "backend deve ser 'pbs' ou 'borg'",
|
"remoteBackendQuoted": "o backend deve ser 'pbs' ou 'borg'",
|
||||||
"profileMode": "profile_mode deve ser padrão ou personalizado",
|
"profileMode": "profile_mode deve ser default ou custom",
|
||||||
"borgAttached": "borg não pode ser anexado (PVE vzdump grava apenas em pbs/armazenamentos locais)",
|
"borgAttached": "o borg não pode ser anexado (o vzdump do PVE só escreve em armazenamentos pbs/local)",
|
||||||
"borgAttachedLong": "borg não é um back-end válido para trabalhos anexados (PVE vzdump grava apenas em pbs/armazenamentos locais)",
|
"borgAttachedLong": "o borg não é um backend válido para trabalhos anexados (o vzdump do PVE só escreve em armazenamentos pbs/local)",
|
||||||
"parentRequired": "pve_parent_job_id e pve_storage são necessários para anexo",
|
"parentRequired": "pve_parent_job_id e pve_storage são obrigatórios para attached",
|
||||||
"absolutePaths": "os caminhos devem ser uma lista de caminhos absolutos",
|
"absolutePaths": "paths deve ser uma lista de caminhos absolutos",
|
||||||
"customPath": "o perfil personalizado precisa de pelo menos um caminho",
|
"customPath": "o perfil personalizado precisa de pelo menos um caminho",
|
||||||
"defaultPaths": "não foi possível resolver os caminhos de perfil padrão",
|
"defaultPaths": "não foi possível resolver os caminhos do perfil predefinido",
|
||||||
"retentionObject": "Texto técnico da UI para um painel de gerenciamento do Proxmox.Traduza: a retenção deve ser um objeto",
|
"retentionObject": "retention deve ser um objeto",
|
||||||
"pbsRepository": "pbs_repository é obrigatório",
|
"pbsRepository": "pbs_repository é obrigatório",
|
||||||
"pbsEncryption": "pbs_encrypt_mode deve ser 'nenhum', 'novo' ou 'existente'",
|
"pbsEncryption": "pbs_encrypt_mode deve ser 'none', 'new' ou 'existing'",
|
||||||
"pbsKeyFailed": "falha ao criar o arquivo-chave de criptografia PBS",
|
"pbsKeyFailed": "falha ao criar o ficheiro de chave de encriptação do PBS",
|
||||||
"pbsClientMissing": "falha ao criar o arquivo-chave de criptografia PBS (o proxmox-backup-client está instalado?)",
|
"pbsClientMissing": "falha ao criar o ficheiro de chave de encriptação do PBS (o proxmox-backup-client está instalado?)",
|
||||||
"borgRepository": "borg_repo é obrigatório",
|
"borgRepository": "borg_repo é obrigatório",
|
||||||
"borgEncryption": "borg_encrypt_mode deve ser um dos seguintes: none, repokey, keyfile, authenticated",
|
"borgEncryption": "borg_encrypt_mode deve ser um de: none, repokey, keyfile, authenticated",
|
||||||
"encryption": "encrypt_mode deve ser um dos seguintes: none, repokey, keyfile, authenticated",
|
"encryption": "encrypt_mode deve ser um de: none, repokey, keyfile, authenticated",
|
||||||
"borgPassphrase": "borg_passphrase é necessário quando a criptografia está habilitada (salve-a no destino ou passe uma na solicitação)",
|
"borgPassphrase": "borg_passphrase é obrigatório quando a encriptação está ativada (guarde-o no destino ou indique um no pedido)",
|
||||||
"passphrase": "a senha é necessária quando a criptografia está habilitada",
|
"passphrase": "a frase-passe é obrigatória quando a encriptação está ativada",
|
||||||
"password": "a senha é obrigatória",
|
"password": "a palavra-passe é obrigatória",
|
||||||
"deviceConfirmation": "confirm_device deve corresponder exatamente ao dispositivo (erro de digitação/verificação de segurança)",
|
"deviceConfirmation": "confirm_device deve corresponder exatamente ao dispositivo (verificação de gralhas / segurança)",
|
||||||
"invalidDevice": "caminho de dispositivo inválido",
|
"invalidDevice": "caminho de dispositivo inválido",
|
||||||
"absoluteMountpoint": "ponto de montagem absoluto necessário",
|
"absoluteMountpoint": "é necessário um ponto de montagem absoluto",
|
||||||
"archiveLayout": "layout de arquivo não reconhecido — nenhum rootfs/ encontrado",
|
"archiveLayout": "estrutura do arquivo não reconhecida — não foi encontrado rootfs/",
|
||||||
"archiveMissing": "arquivo não encontrado",
|
"archiveMissing": "arquivo não encontrado",
|
||||||
"archiveNotFile": "o caminho do arquivo não é um arquivo normal",
|
"archiveNotFile": "o caminho do arquivo não é um ficheiro normal",
|
||||||
"invalidName": "nome inválido",
|
"invalidName": "nome inválido",
|
||||||
"invalidStaging": "staging_path inválido",
|
"invalidStaging": "staging_path inválido",
|
||||||
"jobRename": "o nome do trabalho não pode ser alterado (excluir + recriar para renomear)",
|
"jobRename": "o nome do trabalho não pode ser alterado (elimine e volte a criar para mudar o nome)",
|
||||||
"absoluteKey": "key_path deve ser absoluto",
|
"absoluteKey": "key_path deve ser absoluto",
|
||||||
"mode": "o modo deve ser \"local\" ou \"ssh\"",
|
"mode": "mode deve ser \"local\" ou \"ssh\"",
|
||||||
"nameRequired": "o nome é obrigatório (letras, dígitos, _ ou -)",
|
"nameRequired": "o nome é obrigatório (letras, dígitos, _ ou -)",
|
||||||
"noLog": "nenhum registro disponível para este trabalho ainda",
|
"noLog": "ainda não há registo disponível para este trabalho",
|
||||||
"noPbsConfig": "nenhum arquivo de configuração manual do PBS",
|
"noPbsConfig": "não existe ficheiro de configurações PBS manuais",
|
||||||
"outputMissing": "arquivo de saída ausente",
|
"outputMissing": "ficheiro de saída em falta",
|
||||||
"parserJson": "a saída do analisador não era JSON válido",
|
"parserJson": "a saída do parser não era JSON válido",
|
||||||
"restoreJson": "a saída run_restore não era JSON válida",
|
"restoreJson": "a saída de run_restore não era JSON válido",
|
||||||
"repoRequired": "repo é obrigatório",
|
"repoRequired": "repo é obrigatório",
|
||||||
"repoSnapshot": "repo_name e snapshot são obrigatórios",
|
"repoSnapshot": "repo_name e snapshot são obrigatórios",
|
||||||
"borgRepoSnapshot": "repo_name e snapshot são necessários para borg",
|
"borgRepoSnapshot": "repo_name e snapshot são obrigatórios para borg",
|
||||||
"pbsRepoSnapshot": "repo_name e snapshot são necessários para pbs",
|
"pbsRepoSnapshot": "repo_name e snapshot são obrigatórios para pbs",
|
||||||
"repoName": "repo_name é obrigatório",
|
"repoName": "repo_name é obrigatório",
|
||||||
"restoreMissing": "ferramentas de restauração não instaladas neste host",
|
"restoreMissing": "as ferramentas de restauro não estão instaladas neste host",
|
||||||
"serverDatastore": "servidor e armazenamento de dados são necessários",
|
"serverDatastore": "server e datastore são obrigatórios",
|
||||||
"snapshotRequired": "o instantâneo é obrigatório",
|
"snapshotRequired": "snapshot é obrigatório",
|
||||||
"source": "a fonte deve ser pbs, borg ou local",
|
"source": "source deve ser pbs, borg ou local",
|
||||||
"sshPort": "ssh_port deve ser um número inteiro entre 1 e 65535",
|
"sshPort": "ssh_port deve ser um número inteiro entre 1 e 65535",
|
||||||
"sshRequired": "ssh_user, ssh_host e ssh_remote_path são necessários para o modo ssh",
|
"sshRequired": "ssh_user, ssh_host e ssh_remote_path são obrigatórios para o modo ssh",
|
||||||
"repositoryPath": "o destino não tem caminho de repositório",
|
"repositoryPath": "o destino não tem caminho de repositório",
|
||||||
"taskExpired": "tarefa não encontrada ou expirada",
|
"taskExpired": "tarefa não encontrada ou expirada",
|
||||||
"invalidExpression": "expressão inválida",
|
"invalidExpression": "expressão inválida",
|
||||||
"noReport": "nenhum relatório emitido",
|
"noReport": "nenhum relatório emitido",
|
||||||
"parseManifestFailed": "parse_manifest saiu diferente de zero",
|
"parseManifestFailed": "parse_manifest terminou com um código diferente de zero",
|
||||||
"jobExists": "o trabalho já existe: {value}",
|
"jobExists": "o trabalho já existe: {value}",
|
||||||
"pathMissing": "o caminho não existe neste host: {value}",
|
"pathMissing": "o caminho não existe neste host: {value}",
|
||||||
"deviceMissing": "dispositivo não existe: {value}",
|
"deviceMissing": "o dispositivo não existe: {value}",
|
||||||
"mountpoint": "não é um ponto de montagem: {value}",
|
"mountpoint": "não é um ponto de montagem: {value}",
|
||||||
"localArchiveMissing": "arquivo local não encontrado: {value}",
|
"localArchiveMissing": "arquivo local não encontrado: {value}",
|
||||||
"borgDestination": "Destino Borg '{value}' não encontrado",
|
"borgDestination": "Destino Borg '{value}' não encontrado",
|
||||||
"pbsDestination": "destino PBS '{value}' não encontrado",
|
"pbsDestination": "Destino PBS '{value}' não encontrado",
|
||||||
"pbsPassword": "nenhuma senha disponível para o repositório PBS '{value}'",
|
"pbsPassword": "nenhuma palavra-passe disponível para o repositório PBS '{value}'",
|
||||||
"borgRepoMissing": "repositório Borg \"{value}\" não configurado",
|
"borgRepoMissing": "Repositório Borg \"{value}\" não configurado",
|
||||||
"pbsRepoMissing": "repositório PBS \"{value}\" não configurado",
|
"pbsRepoMissing": "Repositório PBS \"{value}\" não configurado",
|
||||||
"borgTargetMissing": "alvo Borg não encontrado: {value}",
|
"borgTargetMissing": "Destino Borg não encontrado: {value}",
|
||||||
"pbsTargetMissing": "repositório PBS não encontrado: {value}",
|
"pbsTargetMissing": "Repositório PBS não encontrado: {value}",
|
||||||
"pveJobMissing": "Trabalho PVE vzdump não encontrado: {value}",
|
"pveJobMissing": "Trabalho vzdump do PVE não encontrado: {value}",
|
||||||
"statePersist": "não é possível persistir no estado: {value}",
|
"statePersist": "não é possível guardar o estado: {value}",
|
||||||
"sshDirectory": "não é possível preparar o diretório ssh: {value}",
|
"sshDirectory": "não é possível preparar o diretório ssh: {value}",
|
||||||
"logRead": "não é possível ler o log: {value}",
|
"logRead": "não é possível ler o registo: {value}",
|
||||||
"envUpdate": "não foi possível atualizar .env: {value}",
|
"envUpdate": "não foi possível atualizar o .env: {value}",
|
||||||
"pbsConfigWrite": "falha ao persistir a configuração do PBS: {value}",
|
"pbsConfigWrite": "falha ao guardar a configuração PBS: {value}",
|
||||||
"persist": "falha ao persistir: {value}",
|
"persist": "falha ao guardar: {value}",
|
||||||
"archiveRemove": "falha ao remover arquivo: {value}",
|
"archiveRemove": "falha ao eliminar o arquivo: {value}",
|
||||||
"start": "falha ao iniciar: {value}",
|
"start": "falha ao iniciar: {value}",
|
||||||
"borgTargetsUpdate": "falha ao atualizar borg-targets.txt: {value}",
|
"borgTargetsUpdate": "falha ao atualizar borg-targets.txt: {value}",
|
||||||
"pbsTargetsUpdate": "falha ao atualizar pbs-manual-configs.txt: {value}",
|
"pbsTargetsUpdate": "falha ao atualizar pbs-manual-configs.txt: {value}",
|
||||||
"unitsUpdate": "falha ao atualizar unidades systemd: {value}",
|
"unitsUpdate": "falha ao atualizar as unidades systemd: {value}",
|
||||||
"borgTargetsWrite": "falha ao escrever borg-targets.txt: {value}",
|
"borgTargetsWrite": "falha ao escrever borg-targets.txt: {value}",
|
||||||
"jobWrite": "falha ao gravar arquivos de trabalho: {value}",
|
"jobWrite": "falha ao escrever os ficheiros do trabalho: {value}",
|
||||||
"localTargetWrite": "falha ao gravar local-target.conf: {value}",
|
"localTargetWrite": "falha ao escrever local-target.conf: {value}",
|
||||||
"unitsWrite": "falha ao gravar unidades do systemd: {value}",
|
"unitsWrite": "falha ao escrever as unidades systemd: {value}",
|
||||||
"format": "Texto técnico da UI para um painel de gerenciamento do Proxmox.Tradução: falha na formatação: {value}",
|
"format": "a formatação falhou: {value}",
|
||||||
"calendar": "on_calendar inválido: {value}",
|
"calendar": "on_calendar inválido: {value}",
|
||||||
"mount": "falha na montagem: {value}",
|
"mount": "a montagem falhou: {value}",
|
||||||
"parserInvocation": "falha na invocação do analisador: {value}",
|
"parserInvocation": "a invocação do parser falhou: {value}",
|
||||||
"preflightInvocation": "falha na chamada de simulação: {value}",
|
"preflightInvocation": "a invocação da verificação prévia falhou: {value}",
|
||||||
"publicKeyMissing": "chave pública não encontrada após geração: {value}",
|
"publicKeyMissing": "chave pública não encontrada após a geração: {value}",
|
||||||
"retentionInteger": "retenção.{value} deve ser um número inteiro",
|
"retentionInteger": "retention.{value} deve ser um número inteiro",
|
||||||
"retentionNegative": "retenção.{value} deve ser não negativo",
|
"retentionNegative": "retention.{value} não pode ser negativo",
|
||||||
"keygen": "ssh-keygen falhou: {value}",
|
"keygen": "ssh-keygen falhou: {value}",
|
||||||
"systemctl": "systemctl falhou: {value}",
|
"systemctl": "systemctl falhou: {value}",
|
||||||
"unmount": "falha na quantidade: {value}",
|
"unmount": "umount falhou: {value}",
|
||||||
"taskIncomplete": "a tarefa está no estado \"{value}\", não concluída",
|
"taskIncomplete": "a tarefa está no estado \"{value}\", não concluída",
|
||||||
"unknownKind": "tipo desconhecido: {value}",
|
"unknownKind": "tipo desconhecido: {value}",
|
||||||
"unknownMode": "modo desconhecido \"{value}\"",
|
"unknownMode": "modo desconhecido \"{value}\"",
|
||||||
"defaultRemove": "{value} é o padrão integrado e não pode ser removido",
|
"defaultRemove": "{value} é a predefinição integrada e não pode ser eliminado",
|
||||||
"defaultAdd": "{value} é o padrão integrado;não há necessidade de adicioná-lo",
|
"defaultAdd": "{value} é a predefinição integrada; não é necessário adicioná-lo",
|
||||||
"keyImport": "Nenhum arquivo-chave PBS está instalado em {value}.Importe o arquivo-chave primeiro.",
|
"keyImport": "Não existe nenhum ficheiro de chave PBS instalado em {value}. Importe primeiro o ficheiro de chave.",
|
||||||
"storageMismatch": "incompatibilidade de armazenamento de trabalho PVE (o trabalho usa {value}, a carga diz {other})"
|
"storageMismatch": "O armazenamento do trabalho do PVE não corresponde (o trabalho utiliza {value}, o payload indica {other})"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"healthStatus": {
|
"healthStatus": {
|
||||||
@@ -5438,6 +5597,7 @@
|
|||||||
"websocketError": "Ocorreu um erro de WebSocket",
|
"websocketError": "Ocorreu um erro de WebSocket",
|
||||||
"connectionClosed": "Conexão fechada",
|
"connectionClosed": "Conexão fechada",
|
||||||
"completedSuccessfully": "Script concluído com sucesso",
|
"completedSuccessfully": "Script concluído com sucesso",
|
||||||
|
"cancelled": "Operação cancelada.",
|
||||||
"completedWithError": "Script concluído com código de erro {code}",
|
"completedWithError": "Script concluído com código de erro {code}",
|
||||||
"yes": "Sim",
|
"yes": "Sim",
|
||||||
"yourInput": "Sua entrada:",
|
"yourInput": "Sua entrada:",
|
||||||
@@ -7429,7 +7589,7 @@
|
|||||||
"signInWith": "Iniciar sessão com",
|
"signInWith": "Iniciar sessão com",
|
||||||
"methodPassword": "Utilizador e palavra-passe",
|
"methodPassword": "Utilizador e palavra-passe",
|
||||||
"methodToken": "Token API",
|
"methodToken": "Token API",
|
||||||
"username": "Utilizador (utilizador@realm)",
|
"username": "Utilizador",
|
||||||
"password": "Palavra-passe",
|
"password": "Palavra-passe",
|
||||||
"passwordHelp": "A palavra-passe é usada uma única vez para criar um token API só de leitura (função Audit) para este Monitor. Só esse token é guardado, nunca a palavra-passe. Ative primeiro a autenticação do Monitor.",
|
"passwordHelp": "A palavra-passe é usada uma única vez para criar um token API só de leitura (função Audit) para este Monitor. Só esse token é guardado, nunca a palavra-passe. Ative primeiro a autenticação do Monitor.",
|
||||||
"cancel": "Cancelar",
|
"cancel": "Cancelar",
|
||||||
@@ -7442,10 +7602,10 @@
|
|||||||
"editConnection": "Ligação a editar",
|
"editConnection": "Ligação a editar",
|
||||||
"add": "Adicionar uma nova ligação",
|
"add": "Adicionar uma nova ligação",
|
||||||
"name": "Nome",
|
"name": "Nome",
|
||||||
"url": "URL HTTPS (inclua :8007 para a porta nativa do PBS)",
|
"url": "Endereço HTTPS",
|
||||||
"token_id": "ID do token API (user@realm!token)",
|
"token_id": "ID do token API",
|
||||||
"token_secret": "Segredo do token API (deixe vazio para manter o segredo guardado)",
|
"token_secret": "Segredo do token API",
|
||||||
"fingerprint": "Impressão digital SHA256 do certificado (opcional)",
|
"fingerprint": "Impressão digital SHA256 (opcional)",
|
||||||
"tlsHelp": "Deixe a impressão digital vazia para a verificação normal da autoridade de certificação e do nome de anfitrião. Para um certificado autoassinado, copie a sua impressão digital SHA256 da consola PBS ou de outro canal de confiança. A impressão digital é verificada antes do envio de credenciais.",
|
"tlsHelp": "Deixe a impressão digital vazia para a verificação normal da autoridade de certificação e do nome de anfitrião. Para um certificado autoassinado, copie a sua impressão digital SHA256 da consola PBS ou de outro canal de confiança. A impressão digital é verificada antes do envio de credenciais.",
|
||||||
"saved": "Ligação PBS verificada e guardada.",
|
"saved": "Ligação PBS verificada e guardada.",
|
||||||
"saveFailed": "Não foi possível guardar a ligação PBS.",
|
"saveFailed": "Não foi possível guardar a ligação PBS.",
|
||||||
@@ -7489,48 +7649,48 @@
|
|||||||
"duration": "Duração",
|
"duration": "Duração",
|
||||||
"noJobs": "nenhuma programação de sincronização, verificação ou remoção está configurada.",
|
"noJobs": "nenhuma programação de sincronização, verificação ou remoção está configurada.",
|
||||||
"errors": {
|
"errors": {
|
||||||
"configRead": "Não foi possível ler as conexões PBS salvas.Verifique o arquivo de configuração e as permissões.",
|
"configRead": "Não foi possível ler as ligações PBS guardadas. Verifique o ficheiro de configuração e as permissões.",
|
||||||
"invalidConfig": "As configurações de conexão PBS não são válidas.Verifique o formulário e tente novamente.",
|
"invalidConfig": "As definições da ligação PBS não são válidas. Verifique o formulário e tente novamente.",
|
||||||
"invalidField": "Um campo de conexão não é válido ou é muito longo.",
|
"invalidField": "Um campo da ligação não é válido ou é demasiado longo.",
|
||||||
"invalidUrl": "Use um endereço HTTPS PBS sem credenciais incorporadas, parâmetros de consulta ou fragmento.",
|
"invalidUrl": "Utilize um endereço PBS HTTPS sem credenciais incorporadas, parâmetros de consulta nem fragmento.",
|
||||||
"nameRequired": "Insira um nome de servidor com no máximo 128 caracteres.",
|
"nameRequired": "Introduza um nome de servidor com 128 caracteres no máximo.",
|
||||||
"tokenIdFormat": "Insira o ID do token da API PBS no formato user@realm!token.",
|
"tokenIdFormat": "Introduza o ID do token API do PBS no formato utilizador@realm!token.",
|
||||||
"tokenSecret": "insira um segredo de token de API válido sem espaços ou caracteres de controle.",
|
"tokenSecret": "Introduza um segredo de token API válido, sem espaços nem caracteres de controlo.",
|
||||||
"invalidTokenId": "O ID do token API deve conter apenas caracteres ASCII.",
|
"invalidTokenId": "O ID do token API só pode conter caracteres ASCII.",
|
||||||
"invalidFingerprint": "Insira a impressão digital SHA256 do certificado: 64 caracteres hexadecimais, opcionalmente separados por dois pontos.",
|
"invalidFingerprint": "Introduza a impressão digital SHA256 do certificado: 64 caracteres hexadecimais, opcionalmente separados por dois pontos.",
|
||||||
"fingerprintMismatch": "O certificado PBS não corresponde à impressão digital.Nenhuma credencial foi enviada.",
|
"fingerprintMismatch": "O certificado do PBS não corresponde à impressão digital. Não foram enviadas credenciais.",
|
||||||
"tokenRejected": "o PBS rejeitou o token da API ou suas permissões.Verifique as ACLs do usuário e do token.",
|
"tokenRejected": "O PBS rejeitou o token API ou as suas permissões. Verifique as ACL do utilizador e do token.",
|
||||||
"invalidResponse": "PBS retornou uma resposta inesperada.Redirecionamentos não são seguidos.",
|
"invalidResponse": "O PBS devolveu uma resposta inesperada. Os redirecionamentos não são seguidos.",
|
||||||
"invalidJson": "PBS retornou um documento JSON inválido.",
|
"invalidJson": "O PBS devolveu um documento JSON inválido.",
|
||||||
"connectFailed": "não foi possível conectar-se ao PBS por meio de HTTPS verificado.Verifique o endereço, certificado e serviço.",
|
"connectFailed": "Não foi possível ligar ao PBS através de HTTPS verificado. Verifique o endereço, o certificado e o serviço.",
|
||||||
"invalidId": "O ID de conexão PBS não é válido.Recarregue a lista de conexões.",
|
"invalidId": "O ID da ligação PBS não é válido. Recarregue a lista de ligações.",
|
||||||
"invalidDatastores": "PBS retornou uma lista de armazenamento de dados inválida.",
|
"invalidDatastores": "O PBS devolveu uma lista de armazenamentos de dados inválida.",
|
||||||
"connectionLimit": "No máximo conexões {count} PBS podem ser configuradas.",
|
"connectionLimit": "Podem ser configuradas no máximo {count} ligações PBS.",
|
||||||
"username": "Insira o usuário PBS no formato user@realm, por exemplo root@pam.",
|
"username": "Introduza o utilizador do PBS no formato utilizador@realm, por exemplo root@pam.",
|
||||||
"password": "Digite a senha do usuário PBS.",
|
"password": "Introduza a palavra-passe do utilizador do PBS.",
|
||||||
"loginRejected": "PBS rejeitou o nome de usuário ou senha.",
|
"loginRejected": "O PBS rejeitou o nome de utilizador ou a palavra-passe.",
|
||||||
"invalidLogin": "o PBS retornou uma resposta de login inválida.",
|
"invalidLogin": "O PBS devolveu uma resposta de início de sessão inválida.",
|
||||||
"tokenCreateDenied": "Este usuário PBS não pode criar tokens de API.",
|
"tokenCreateDenied": "Este utilizador do PBS não pode criar tokens API.",
|
||||||
"invalidToken": "PBS retornou um token de API inválido.",
|
"invalidToken": "O PBS devolveu um token API inválido.",
|
||||||
"auditRoleDenied": "Este usuário do PBS não pode conceder a função de Auditoria.Faça login como root@pam ou outro administrador.",
|
"auditRoleDenied": "Este utilizador do PBS não pode conceder a função Audit. Inicie sessão como root@pam ou outro administrador.",
|
||||||
"notFound": "A conexão PBS não foi encontrada.Recarregue a lista de conexões.",
|
"notFound": "A ligação PBS não foi encontrada. Recarregue a lista de ligações.",
|
||||||
"readFailed": "Não foi possível ler os dados do PBS.Verifique seu serviço e permissões.",
|
"readFailed": "Não foi possível ler os dados do PBS. Verifique o seu serviço e as permissões.",
|
||||||
"invalidList": "o PBS retornou uma lista de dados inválida.",
|
"invalidList": "O PBS devolveu uma lista de dados inválida.",
|
||||||
"localUnavailable": "PBS não está disponível neste host.",
|
"localUnavailable": "O PBS não está disponível neste host.",
|
||||||
"authRequired": "Habilite a autenticação local no Monitor antes de gerenciar conexões PBS remotas.",
|
"authRequired": "Ative a autenticação local no Monitor antes de gerir ligações PBS remotas.",
|
||||||
"datastoreOffline": "O armazenamento de dados está offline, em modo de manutenção ou seu dispositivo auxiliar não está montado.",
|
"datastoreOffline": "O armazenamento de dados está offline, em modo de manutenção ou o seu dispositivo de suporte não está montado.",
|
||||||
"datastoreUnavailable": "O sistema de arquivos do armazenamento de dados não está disponível."
|
"datastoreUnavailable": "O sistema de ficheiros do armazenamento de dados não está disponível."
|
||||||
},
|
},
|
||||||
"taskTypes": {
|
"taskTypes": {
|
||||||
"backup": "Backup",
|
"backup": "Backup",
|
||||||
"restore": "Restaurar",
|
"restore": "Restauro",
|
||||||
"verify": "Verificação",
|
"verify": "Verificação",
|
||||||
"verifyGroup": "verificação de grupo de backup",
|
"verifyGroup": "Verificação do grupo de backups",
|
||||||
"verifySnapshot": "verificação de instantâneo",
|
"verifySnapshot": "Verificação do snapshot",
|
||||||
"prune": "Prune",
|
"prune": "Limpeza (prune)",
|
||||||
"garbageCollection": "Coleta de lixo",
|
"garbageCollection": "Recolha de lixo",
|
||||||
"sync": "Sincronização",
|
"sync": "Sincronização",
|
||||||
"updateCheck": "verifique se há atualizações",
|
"updateCheck": "Procurar atualizações",
|
||||||
"terminal": "Terminal",
|
"terminal": "Terminal",
|
||||||
"createDatastore": "Criar armazenamento de dados",
|
"createDatastore": "Criar armazenamento de dados",
|
||||||
"other": "Outra tarefa ({type})"
|
"other": "Outra tarefa ({type})"
|
||||||
@@ -7545,27 +7705,27 @@
|
|||||||
"serviceStates": {
|
"serviceStates": {
|
||||||
"active": "Ativo",
|
"active": "Ativo",
|
||||||
"inactive": "Inativo",
|
"inactive": "Inativo",
|
||||||
"failed": "falhou",
|
"failed": "Com falha",
|
||||||
"activating": "começando",
|
"activating": "A iniciar",
|
||||||
"deactivating": "Parando",
|
"deactivating": "A parar",
|
||||||
"unknown": "Desconhecido"
|
"unknown": "Desconhecido"
|
||||||
},
|
},
|
||||||
"durationUnits": {
|
"durationUnits": {
|
||||||
"seconds": "{count}s",
|
"seconds": "{count} s",
|
||||||
"minutes": "{count} min",
|
"minutes": "{count} min",
|
||||||
"hours": "{count} h",
|
"hours": "{count} h",
|
||||||
"days": "{count} d"
|
"days": "{count} d"
|
||||||
},
|
},
|
||||||
"urlHelp": "inclua :8007 para a porta PBS padrão, por exemplo https://pbs.example:8007.",
|
"urlHelp": "Inclua :8007 para a porta predefinida do PBS, por exemplo https://pbs.example:8007.",
|
||||||
"usernameHelp": "Use user@realm, por exemplo root@pam.",
|
"usernameHelp": "Utilize utilizador@realm, por exemplo root@pam.",
|
||||||
"tokenIdHelp": "Use user@realm!token, por exemplo monitor@pbs!proxmenux.",
|
"tokenIdHelp": "Utilize utilizador@realm!token, por exemplo monitor@pbs!proxmenux.",
|
||||||
"tokenSecretHelp": "insira o segredo deste token de API.",
|
"tokenSecretHelp": "Introduza o segredo deste token API.",
|
||||||
"tokenSecretKeepHelp": "Deixe em branco para manter o token salvo em segredo.",
|
"tokenSecretKeepHelp": "Deixe vazio para manter o segredo do token guardado.",
|
||||||
"removeFailed": "Não foi possível remover a conexão PBS.",
|
"removeFailed": "Não foi possível eliminar a ligação PBS.",
|
||||||
"savedRefreshFailed": "A conexão PBS foi salva, mas a lista de conexões não pôde ser atualizada.Atualize a página antes de tentar outra alteração.",
|
"savedRefreshFailed": "A ligação PBS foi guardada, mas não foi possível atualizar a lista de ligações. Recarregue a página antes de tentar outra alteração.",
|
||||||
"removedRefreshFailed": "A conexão PBS foi removida, mas a lista de conexões não pôde ser atualizada.Recarregue a página.",
|
"removedRefreshFailed": "A ligação PBS foi eliminada, mas não foi possível atualizar a lista de ligações. Recarregue a página.",
|
||||||
"technicalDetails": "Detalhes técnicos",
|
"technicalDetails": "Detalhes técnicos",
|
||||||
"datastoreType": "armazenamento de dados"
|
"datastoreType": "Armazenamento de dados"
|
||||||
},
|
},
|
||||||
"monitorLinks": {
|
"monitorLinks": {
|
||||||
"groups": {
|
"groups": {
|
||||||
@@ -7606,15 +7766,15 @@
|
|||||||
"changeAddress": "Alterar endereço",
|
"changeAddress": "Alterar endereço",
|
||||||
"cancel": "Cancelar",
|
"cancel": "Cancelar",
|
||||||
"errors": {
|
"errors": {
|
||||||
"addressRequired": "Digite o endereço do Monitor.",
|
"addressRequired": "Introduza o endereço do Monitor.",
|
||||||
"invalidAddress": "O endereço deve começar com http:// ou https:// e nomear um host.",
|
"invalidAddress": "O endereço deve começar por http:// ou https:// e indicar um host.",
|
||||||
"addressCredentials": "O endereço não deve conter usuário ou senha.",
|
"addressCredentials": "O endereço não pode conter um utilizador nem uma palavra-passe.",
|
||||||
"invalidPort": "A porta do endereço não é válida.",
|
"invalidPort": "A porta do endereço não é válida.",
|
||||||
"invalidRequest": "A solicitação não é válida.Atualize a página e tente novamente.",
|
"invalidRequest": "O pedido não é válido. Recarregue a página e tente novamente.",
|
||||||
"limit": "No máximo nós {count} podem ser adicionados.",
|
"limit": "Podem ser adicionados no máximo {count} nós.",
|
||||||
"duplicate": "Este endereço já está na lista.",
|
"duplicate": "Este endereço já está na lista.",
|
||||||
"notFound": "O nó não foi encontrado.Recarregue a lista e tente novamente.",
|
"notFound": "O nó não foi encontrado. Recarregue a lista e tente novamente.",
|
||||||
"detectedRemove": "Somente nós adicionados manualmente podem ser removidos.Os nós detectados podem ser ocultados."
|
"detectedRemove": "Só podem ser eliminados os nós adicionados manualmente. Os nós detetados podem ser ocultados."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+290
-130
@@ -1231,7 +1231,9 @@
|
|||||||
"update": "Uppdatera",
|
"update": "Uppdatera",
|
||||||
"modify": "Ändra",
|
"modify": "Ändra",
|
||||||
"recover": "Återställ",
|
"recover": "Återställ",
|
||||||
|
"registerRestored": "Registrera igen",
|
||||||
"terminalTitleUpdate": "Uppdatera OCI-applikation",
|
"terminalTitleUpdate": "Uppdatera OCI-applikation",
|
||||||
|
"terminalTitleRecoverPrevious": "Återställ den tidigare OCI-installationen",
|
||||||
"terminalTitleModify": "Ändra OCI-applikation",
|
"terminalTitleModify": "Ändra OCI-applikation",
|
||||||
"terminalTitleRecover": "Återställ återställd OCI-applikation",
|
"terminalTitleRecover": "Återställ återställd OCI-applikation",
|
||||||
"terminalDescription": "Samma process körs som i ProxMenux-menyn: OCI manager Apps → Hantera installerade OCI-applikationer.",
|
"terminalDescription": "Samma process körs som i ProxMenux-menyn: OCI manager Apps → Hantera installerade OCI-applikationer.",
|
||||||
@@ -1760,7 +1762,128 @@
|
|||||||
"dockerEvidenceImage": "Avbild",
|
"dockerEvidenceImage": "Avbild",
|
||||||
"dockerEvidencePort": "Publicerad TCP-port",
|
"dockerEvidencePort": "Publicerad TCP-port",
|
||||||
"dockerEvidenceProject": "Compose-projekt",
|
"dockerEvidenceProject": "Compose-projekt",
|
||||||
"dockerEndpointReview": "Container med publicerade TCP-portar. Bekräfta namnet och webbadressen innan du sparar. Registreringen konfigurerar inga uppdateringar."
|
"dockerEndpointReview": "Container med publicerade TCP-portar. Bekräfta namnet och webbadressen innan du sparar. Registreringen konfigurerar inga uppdateringar.",
|
||||||
|
"confirmRemove": "Ta bort applikationens post från fliken App? Detta avinstallerar inte applikationen.",
|
||||||
|
"packageExample": "t.ex. {package}",
|
||||||
|
"packageHelpBefore": "Fylls i automatiskt från Namn. Kontrollera med",
|
||||||
|
"packageHelpAfter": "i CT:n.",
|
||||||
|
"binaryHelpBefore": "Absolut sökväg. Hitta den med",
|
||||||
|
"binaryHelpOr": "eller",
|
||||||
|
"errors": {
|
||||||
|
"ociBusy": "en OCI-åtgärd pågår på den här containern",
|
||||||
|
"dpkgMissing": "{package} är inte installerat via dpkg",
|
||||||
|
"dpkgFailed": "dpkg-query misslyckades",
|
||||||
|
"dpkgNoVersion": "ingen version matchade i utdata från dpkg",
|
||||||
|
"apkFailed": "apk info misslyckades",
|
||||||
|
"apkNoVersion": "ingen version matchade i utdata från apk",
|
||||||
|
"fileRead": "kunde inte läsa {path}",
|
||||||
|
"fileNoMatch": "file_regex matchade inte {path}",
|
||||||
|
"binaryFailed": "anropet av binärfilen misslyckades",
|
||||||
|
"binaryNoVersion": "ingen version matchade i utdata från binärfilen",
|
||||||
|
"pythonFailed": "python -c importlib.metadata misslyckades",
|
||||||
|
"pythonNoVersion": "ingen version matchade i utdata från Python-distributionen",
|
||||||
|
"dockerImageResolve": "kunde inte lösa containerns installerade avbild",
|
||||||
|
"dockerInspectFailed": "docker inspect misslyckades",
|
||||||
|
"dockerLabelMissing": "containern saknar etiketten {label}",
|
||||||
|
"dockerLabelMutable": "docker-etiketten rapporterar {tag} (föränderlig tagg, inte en version)",
|
||||||
|
"dockerLabelNoVersion": "ingen version matchade i utdata från docker-etiketten",
|
||||||
|
"dockerExecFailed": "docker exec misslyckades",
|
||||||
|
"dockerExecNoVersion": "ingen version matchade i utdata från docker exec",
|
||||||
|
"commandEmpty": "command_argv är tom",
|
||||||
|
"commandFailed": "kommandot misslyckades",
|
||||||
|
"commandNoVersion": "ingen version matchade i kommandots utdata",
|
||||||
|
"unsupportedMethod": "metod som inte stöds: {method}",
|
||||||
|
"unknownUpstream": "okänd upstream_type: {type}",
|
||||||
|
"githubNotFound": "{repo}: hittades inte",
|
||||||
|
"githubRejected": "github avvisade förfrågan (403)",
|
||||||
|
"githubError": "github-fel {code}",
|
||||||
|
"noRelease": "inget tagg- eller releasenamn i svaret",
|
||||||
|
"tagNoMatch": "tag_regex matchade inte '{tag}'",
|
||||||
|
"httpError": "http-fel {code}",
|
||||||
|
"invalidJson": "ogiltigt JSON-svar: {detail}",
|
||||||
|
"jsonPathUnresolved": "json_path '{path}' kunde inte lösas",
|
||||||
|
"jsonEmpty": "tomt värde vid json_path",
|
||||||
|
"dockerNoTags": "inga taggar matchade (docker_hub)",
|
||||||
|
"dockerMovingOnly": "tag_regex matchade bara rörliga taggar; använd spårning av Docker-avbildens digest",
|
||||||
|
"dockerHubError": "docker hub-fel {code}",
|
||||||
|
"dockerHubJson": "ogiltig JSON från docker hub: {detail}",
|
||||||
|
"dockerHubEmpty": "docker hub returnerade inga taggar",
|
||||||
|
"payload": "payload måste vara ett JSON-objekt",
|
||||||
|
"name": "name krävs och måste vara 1–64 tecken av bokstäver/siffror/mellanslag/._+-()/",
|
||||||
|
"method": "installed_via måste vara en av: {values} eller tom",
|
||||||
|
"package": "package krävs (bokstäver/siffror/._+@:/ upp till 127 tecken)",
|
||||||
|
"filePath": "file_path krävs och måste vara en absolut sökväg",
|
||||||
|
"fileRegex": "file_regex krävs",
|
||||||
|
"fileRegexInvalid": "file_regex är inte ett giltigt reguljärt uttryck: {detail}",
|
||||||
|
"binaryPath": "binary_path krävs och måste vara en absolut sökväg",
|
||||||
|
"pythonPath": "python_path krävs och måste vara en absolut sökväg",
|
||||||
|
"distribution": "distribution krävs (namn enligt PEP 503)",
|
||||||
|
"container": "container_name krävs (Dockers namngivningsregler)",
|
||||||
|
"label": "label krävs (namngivningsregler för OCI-etiketter)",
|
||||||
|
"dockerBinary": "binary_path krävs (absolut sökväg eller enbart kommando)",
|
||||||
|
"manualVersion": "installed_version krävs för den manuella metoden",
|
||||||
|
"versionLength": "installed_version överskrider {max} tecken",
|
||||||
|
"versionControl": "installed_version innehåller ett otillåtet kontrolltecken",
|
||||||
|
"installedRegexInvalid": "installed_regex är inte ett giltigt reguljärt uttryck: {detail}",
|
||||||
|
"upstreamType": "upstream_type måste vara en av: {values}",
|
||||||
|
"tagRegexInvalid": "tag_regex är inte ett giltigt reguljärt uttryck: {detail}",
|
||||||
|
"repoRequired": "repo krävs för upstream_type=github",
|
||||||
|
"repoFormat": "repo måste vara 'owner/name'",
|
||||||
|
"githubSource": "github_source måste vara en av: {values}",
|
||||||
|
"upstreamUrlRequired": "upstream_url krävs för upstream_type=http_json",
|
||||||
|
"upstreamUrl": "upstream_url måste vara en http(s)-URL",
|
||||||
|
"upstreamUrlLength": "upstream_url överskrider {max} tecken",
|
||||||
|
"jsonPathRequired": "upstream_json_path krävs för upstream_type=http_json",
|
||||||
|
"jsonPathLength": "upstream_json_path överskrider {max} tecken",
|
||||||
|
"jsonPathCharacters": "upstream_json_path använder otillåtna tecken",
|
||||||
|
"dockerImageRequired": "docker_image krävs för upstream_type=docker_hub",
|
||||||
|
"dockerImageLength": "docker_image överskrider {max} tecken",
|
||||||
|
"dockerImageFormat": "docker_image måste följa Docker Hubs namngivning (owner/name eller name)",
|
||||||
|
"healthPath": "health_path måste vara en giltig URL-sökväg (högst 255 tecken)",
|
||||||
|
"logoUrl": "logo_url måste vara en http(s)-URL eller den här VM:ens lokalt cachade ikon",
|
||||||
|
"discoveryId": "ogiltigt discovery_id",
|
||||||
|
"helperSlug": "helper_slug måste vara en slug med gemener (bokstäver/siffror/._-)",
|
||||||
|
"updateVia": "update_via accepterar bara 'docker'",
|
||||||
|
"dockerDetector": "update_via=docker kräver en detektor av typen docker_label eller docker_exec",
|
||||||
|
"dockerConflict": "update_via=docker kan inte kombineras med {field}",
|
||||||
|
"updateCommandType": "update_command måste vara en sträng",
|
||||||
|
"updateCommandLength": "update_command överskrider {max} tecken",
|
||||||
|
"updateCommandNull": "update_command innehåller en null-byte",
|
||||||
|
"updateMethod": "update_method måste vara none, helper eller custom",
|
||||||
|
"updateCommandRequired": "update_command krävs för update_method=custom",
|
||||||
|
"updateCommandOnlyCustom": "update_command tillåts bara för update_method=custom",
|
||||||
|
"helperRequired": "en helper_slug som stöds krävs för update_method=helper",
|
||||||
|
"dockerUpdater": "Docker-delegerade appar uppdateras via sin avbild, inte via en separat appuppdaterare",
|
||||||
|
"commandRequired": "command_argv krävs (lista som inte är tom)",
|
||||||
|
"commandList": "command_argv måste vara en lista med strängar som inte är tom",
|
||||||
|
"commandCount": "command_argv accepterar högst {max} poster",
|
||||||
|
"commandEntry": "command_argv[{index}] måste vara en sträng som inte är tom",
|
||||||
|
"commandEntryLength": "command_argv[{index}] överskrider {max} tecken",
|
||||||
|
"commandEntryControl": "command_argv[{index}] innehåller ett otillåtet kontrolltecken",
|
||||||
|
"binaryArgsList": "binary_args måste vara en lista med strängar",
|
||||||
|
"binaryArgsCount": "binary_args accepterar högst {max} poster",
|
||||||
|
"binaryArgEntry": "binary_args[{index}] måste vara en sträng som inte är tom",
|
||||||
|
"binaryArgLength": "binary_args[{index}] överskrider {max} tecken",
|
||||||
|
"binaryArgControl": "binary_args[{index}] innehåller ett otillåtet kontrolltecken",
|
||||||
|
"portsList": "ports måste vara en lista med {port, description, scheme}",
|
||||||
|
"portObject": "ports[{index}] måste vara ett objekt",
|
||||||
|
"portRequired": "ports[{index}].port krävs",
|
||||||
|
"portInteger": "ports[{index}].port måste vara ett heltal",
|
||||||
|
"portRange": "ports[{index}].port måste vara 1–65535",
|
||||||
|
"portDuplicate": "porten {port} förekommer mer än en gång för den här appen",
|
||||||
|
"portDescription": "ports[{index}].description innehåller ogiltiga tecken",
|
||||||
|
"portScheme": "ports[{index}].scheme måste vara 'http' eller 'https'",
|
||||||
|
"portPath": "ports[{index}].web_path måste vara en giltig URL-sökväg (högst 255 tecken)",
|
||||||
|
"portLogo": "ports[{index}].logo_url måste vara en http(s)-URL (högst 512 tecken)",
|
||||||
|
"portCategory": "ports[{index}].category innehåller ogiltiga tecken eller är för lång",
|
||||||
|
"portCustomUrl": "ports[{index}].custom_url måste vara en http(s)-URL (högst 512 tecken)",
|
||||||
|
"tagRegexLength": "tag_regex överskrider 512 tecken",
|
||||||
|
"persistPermission": "kunde inte spara sidecar-filen (behörighet?)",
|
||||||
|
"persist": "kunde inte spara sidecar-filen",
|
||||||
|
"noApps": "inga appar registrerade för detta vmid",
|
||||||
|
"appMissing": "app_id '{appId}' hittades inte",
|
||||||
|
"appNotFound": "appen hittades inte"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"statusFilter": {
|
"statusFilter": {
|
||||||
"ariaLabel": "Filtrera virtuella maskiner och containrar",
|
"ariaLabel": "Filtrera virtuella maskiner och containrar",
|
||||||
@@ -2294,6 +2417,42 @@
|
|||||||
"updateManyDescription": "Kör om {count} efterinstallationsfunktioner i följd.",
|
"updateManyDescription": "Kör om {count} efterinstallationsfunktioner i följd.",
|
||||||
"legacySourceTitle": "Äldre optimering – klicka för att se källan",
|
"legacySourceTitle": "Äldre optimering – klicka för att se källan",
|
||||||
"sourceTitle": "Klicka för att se källkoden",
|
"sourceTitle": "Klicka för att se källkoden",
|
||||||
|
"sourceDialogTitle": "Källkod: {name}",
|
||||||
|
"sourceLoading": "Läser in källkod…",
|
||||||
|
"sourceUnavailable": "Källkoden är inte tillgänglig.",
|
||||||
|
"sourceLoadFailed": "Det gick inte att läsa in källkoden. Försök igen.",
|
||||||
|
"sourceFunctionMissing": "Funktionen hittades inte i de tillgängliga skripten.",
|
||||||
|
"sourceUnknownTool": "Okänt verktyg: {tool}",
|
||||||
|
"sourceNoMapping": "Ingen funktion är kopplad till verktyget {tool}.",
|
||||||
|
"sourceToolNames": {
|
||||||
|
"subscription_banner": "Borttagning av prenumerationsbanner",
|
||||||
|
"time_sync": "Tidssynkronisering",
|
||||||
|
"apt_languages": "Hoppa över APT-språk",
|
||||||
|
"journald": "Optimering av journald",
|
||||||
|
"logrotate": "Optimering av logrotate",
|
||||||
|
"system_limits": "Höjda systemgränser",
|
||||||
|
"memory_settings": "Optimering av minnesinställningar",
|
||||||
|
"zram_swap": "ZRAM-swapprofil",
|
||||||
|
"kernel_panic": "Konfiguration av kernel panic",
|
||||||
|
"apt_ipv4": "Tvinga IPv4 för APT",
|
||||||
|
"kexec": "kexec för snabba omstarter",
|
||||||
|
"rpc": "Inaktivera RPC / rpcbind",
|
||||||
|
"motd": "Anpassad MOTD-banner",
|
||||||
|
"system_utils": "Systemverktyg",
|
||||||
|
"network_optimization": "Nätverksoptimeringar",
|
||||||
|
"bashrc_custom": "Anpassning av bashrc",
|
||||||
|
"figurine": "Figurine",
|
||||||
|
"fastfetch": "Fastfetch",
|
||||||
|
"log2ram": "Log2ram (SSD-skydd)",
|
||||||
|
"zfs_autotrim": "ZFS Autotrim",
|
||||||
|
"amd_fixes": "Korrigeringar för AMD CPU (Ryzen/EPYC)",
|
||||||
|
"persistent_network": "Beständiga namn på nätverksgränssnitt",
|
||||||
|
"vfio_iommu": "VFIO/IOMMU-passthrough",
|
||||||
|
"lvm_repair": "Reparation av LVM PV-huvuden",
|
||||||
|
"repo_cleanup": "Rensning av arkiv",
|
||||||
|
"proxmox_repos": "Proxmox APT-arkiv",
|
||||||
|
"entropy": "Entropigenerering (haveged)"
|
||||||
|
},
|
||||||
"legacy": "arv",
|
"legacy": "arv",
|
||||||
"updateToolTitle": "Uppdatera {name} till v{version}",
|
"updateToolTitle": "Uppdatera {name} till v{version}",
|
||||||
"availableUpdates": "Tillgängliga uppdateringar",
|
"availableUpdates": "Tillgängliga uppdateringar",
|
||||||
@@ -4822,122 +4981,122 @@
|
|||||||
"useDefault": "Använd Proxmox-standard (ingen policy för denna lagring)"
|
"useDefault": "Använd Proxmox-standard (ingen policy för denna lagring)"
|
||||||
},
|
},
|
||||||
"apiErrors": {
|
"apiErrors": {
|
||||||
"requestFailed": "Begäran misslyckades.",
|
"requestFailed": "Förfrågan misslyckades.",
|
||||||
"absolutePath": "sökvägen måste vara absolut",
|
"absolutePath": "sökvägen måste vara absolut",
|
||||||
"pathConfigured": "den här sökvägen är redan konfigurerad",
|
"pathConfigured": "den här sökvägen är redan konfigurerad",
|
||||||
"pathRequired": "sökväg krävs",
|
"pathRequired": "sökväg krävs",
|
||||||
"pathQuery": "sökvägsfrågeparameter krävs",
|
"pathQuery": "frågeparametern path krävs",
|
||||||
"pathNotFound": "sökväg hittades inte",
|
"pathNotFound": "sökvägen hittades inte",
|
||||||
"invalidJobId": "ogiltigt jobb-id",
|
"invalidJobId": "ogiltigt jobb-ID",
|
||||||
"jobNotFound": "jobb hittades inte",
|
"jobNotFound": "jobbet hittades inte",
|
||||||
"runnerMissing": "löparskriptet är inte installerat",
|
"runnerMissing": "körskriptet är inte installerat",
|
||||||
"noRestore": "inget återställningstillstånd att avvisa",
|
"noRestore": "inget återställningstillstånd att avfärda",
|
||||||
"invalidFile": "ogiltigt filnamn",
|
"invalidFile": "ogiltigt filnamn",
|
||||||
"notFound": "hittades inte",
|
"notFound": "hittades inte",
|
||||||
"logOutside": "loggsökväg utanför tillåten katalog",
|
"logOutside": "loggsökvägen ligger utanför den tillåtna katalogen",
|
||||||
"targetsList": "mål måste vara en lista",
|
"targetsList": "targets måste vara en lista",
|
||||||
"emptyExpression": "tomt uttryck",
|
"emptyExpression": "tomt uttryck",
|
||||||
"invalidId": "ogiltigt id (använd bokstäver, siffror, _ eller -)",
|
"invalidId": "ogiltigt ID (använd bokstäver, siffror, _ eller -)",
|
||||||
"backend": "backend måste vara pbs, lokal eller borg",
|
"backend": "backend måste vara pbs, local eller borg",
|
||||||
"remoteBackend": "backend måste vara pbs eller borg",
|
"remoteBackend": "backend måste vara pbs eller borg",
|
||||||
"remoteBackendQuoted": "backend måste vara 'pbs' eller 'borg'",
|
"remoteBackendQuoted": "backend måste vara 'pbs' eller 'borg'",
|
||||||
"profileMode": "profile_mode måste vara standard eller anpassat",
|
"profileMode": "profile_mode måste vara default eller custom",
|
||||||
"borgAttached": "borg kan inte bifogas (PVE vzdump skriver bara till pbs/lokala lagringar)",
|
"borgAttached": "borg kan inte kopplas (PVE vzdump skriver bara till pbs/local-lagringar)",
|
||||||
"borgAttachedLong": "borg är inte en giltig backend för bifogade jobb (PVE vzdump skriver bara till pbs/lokala lagringar)",
|
"borgAttachedLong": "borg är inte en giltig backend för kopplade jobb (PVE vzdump skriver bara till pbs/local-lagringar)",
|
||||||
"parentRequired": "pve_parent_job_id och pve_storage krävs för bifogade",
|
"parentRequired": "pve_parent_job_id och pve_storage krävs för attached",
|
||||||
"absolutePaths": "sökvägar måste vara en lista med absoluta sökvägar",
|
"absolutePaths": "paths måste vara en lista med absoluta sökvägar",
|
||||||
"customPath": "anpassad profil behöver minst en sökväg",
|
"customPath": "en anpassad profil behöver minst en sökväg",
|
||||||
"defaultPaths": "kunde inte lösa standardprofilens sökvägar",
|
"defaultPaths": "kunde inte lösa standardprofilens sökvägar",
|
||||||
"retentionObject": "retention måste vara ett objekt",
|
"retentionObject": "retention måste vara ett objekt",
|
||||||
"pbsRepository": "pbs_repository krävs",
|
"pbsRepository": "pbs_repository krävs",
|
||||||
"pbsEncryption": "pbs_encrypt_mode måste vara 'ingen', 'ny' eller 'existerande'",
|
"pbsEncryption": "pbs_encrypt_mode måste vara 'none', 'new' eller 'existing'",
|
||||||
"pbsKeyFailed": "misslyckades med att skapa PBS-krypteringsnyckelfil",
|
"pbsKeyFailed": "det gick inte att skapa PBS-krypteringsnyckelfilen",
|
||||||
"pbsClientMissing": "misslyckades med att skapa PBS-krypteringsnyckelfil (är proxmox-backup-client installerad?)",
|
"pbsClientMissing": "det gick inte att skapa PBS-krypteringsnyckelfilen (är proxmox-backup-client installerat?)",
|
||||||
"borgRepository": "borg_repo krävs",
|
"borgRepository": "borg_repo krävs",
|
||||||
"borgEncryption": "borg_encrypt_mode måste vara en av: none, repokey, keyfile, authenticated",
|
"borgEncryption": "borg_encrypt_mode måste vara en av: none, repokey, keyfile, authenticated",
|
||||||
"encryption": "encrypt_mode måste vara en av: none, repokey, keyfile, authenticated",
|
"encryption": "encrypt_mode måste vara en av: none, repokey, keyfile, authenticated",
|
||||||
"borgPassphrase": "borg_passphrase krävs när kryptering är aktiverad (spara den på destinationen eller skicka en i begäran)",
|
"borgPassphrase": "borg_passphrase krävs när kryptering är aktiverad (spara den på destinationen eller skicka med en i förfrågan)",
|
||||||
"passphrase": "lösenordsfras krävs när kryptering är aktiverad",
|
"passphrase": "lösenfras krävs när kryptering är aktiverad",
|
||||||
"password": "lösenord krävs",
|
"password": "lösenord krävs",
|
||||||
"deviceConfirmation": "confirm_device måste matcha enheten exakt (stavfel / säkerhetskontroll)",
|
"deviceConfirmation": "confirm_device måste exakt matcha device (skydd mot felskrivning)",
|
||||||
"invalidDevice": "ogiltig enhetssökväg",
|
"invalidDevice": "ogiltig enhetssökväg",
|
||||||
"absoluteMountpoint": "absolut monteringspunkt krävs",
|
"absoluteMountpoint": "en absolut monteringspunkt krävs",
|
||||||
"archiveLayout": "arkivlayouten känns inte igen — inga rootfs/ hittades",
|
"archiveLayout": "arkivets struktur känns inte igen — ingen rootfs/ hittades",
|
||||||
"archiveMissing": "arkivet hittades inte",
|
"archiveMissing": "arkivet hittades inte",
|
||||||
"archiveNotFile": "arkivsökväg är inte en vanlig fil",
|
"archiveNotFile": "arkivsökvägen är inte en vanlig fil",
|
||||||
"invalidName": "ogiltigt namn",
|
"invalidName": "ogiltigt namn",
|
||||||
"invalidStaging": "ogiltig staging_path",
|
"invalidStaging": "ogiltig staging_path",
|
||||||
"jobRename": "jobbnamnet kan inte ändras (radera + återskapa för att byta namn)",
|
"jobRename": "jobbets namn kan inte ändras (ta bort och skapa på nytt för att byta namn)",
|
||||||
"absoluteKey": "nyckelväg måste vara absolut",
|
"absoluteKey": "key_path måste vara absolut",
|
||||||
"mode": "läget måste vara \"lokalt\" eller \"ssh\"",
|
"mode": "mode måste vara \"local\" eller \"ssh\"",
|
||||||
"nameRequired": "namn krävs (bokstäver, siffror, _ eller -)",
|
"nameRequired": "namn krävs (bokstäver, siffror, _ eller -)",
|
||||||
"noLog": "ingen logg tillgänglig för det här jobbet ännu",
|
"noLog": "ingen logg finns ännu för det här jobbet",
|
||||||
"noPbsConfig": "ingen manuell PBS-konfigurationsfil",
|
"noPbsConfig": "ingen fil med manuella PBS-konfigurationer",
|
||||||
"outputMissing": "utdatafil saknas",
|
"outputMissing": "utdatafilen saknas",
|
||||||
"parserJson": "parserutgången var inte giltig JSON",
|
"parserJson": "parserns utdata var inte giltig JSON",
|
||||||
"restoreJson": "run_restore-utgången var inte giltig JSON",
|
"restoreJson": "utdata från run_restore var inte giltig JSON",
|
||||||
"repoRequired": "repo krävs",
|
"repoRequired": "repo krävs",
|
||||||
"repoSnapshot": "repo_name och ögonblicksbild krävs",
|
"repoSnapshot": "repo_name och snapshot krävs",
|
||||||
"borgRepoSnapshot": "repo_name och ögonblicksbild krävs för borg",
|
"borgRepoSnapshot": "repo_name och snapshot krävs för borg",
|
||||||
"pbsRepoSnapshot": "repo_name och ögonblicksbild krävs för pbs",
|
"pbsRepoSnapshot": "repo_name och snapshot krävs för pbs",
|
||||||
"repoName": "repo_name krävs",
|
"repoName": "repo_name krävs",
|
||||||
"restoreMissing": "återställningsverktyg är inte installerat på denna värd",
|
"restoreMissing": "återställningsverktygen är inte installerade på den här värden",
|
||||||
"serverDatastore": "server och datalagring krävs",
|
"serverDatastore": "server och datalager krävs",
|
||||||
"snapshotRequired": "ögonblicksbild krävs",
|
"snapshotRequired": "snapshot krävs",
|
||||||
"source": "källan måste vara pbs, borg eller lokal",
|
"source": "source måste vara pbs, borg eller local",
|
||||||
"sshPort": "ssh_port måste vara ett heltal mellan 1 och 65535",
|
"sshPort": "ssh_port måste vara ett heltal mellan 1 och 65535",
|
||||||
"sshRequired": "ssh_user, ssh_host och ssh_remote_path krävs för ssh-läge",
|
"sshRequired": "ssh_user, ssh_host och ssh_remote_path krävs för ssh-läge",
|
||||||
"repositoryPath": "målet har ingen förvarssökväg",
|
"repositoryPath": "målet saknar arkivsökväg",
|
||||||
"taskExpired": "uppgiften hittades inte eller har löpt ut",
|
"taskExpired": "uppgiften hittades inte eller har gått ut",
|
||||||
"invalidExpression": "ogiltigt uttryck",
|
"invalidExpression": "ogiltigt uttryck",
|
||||||
"noReport": "ingen rapport sänds ut",
|
"noReport": "ingen rapport skapades",
|
||||||
"parseManifestFailed": "parse_manifest avslutade från noll",
|
"parseManifestFailed": "parse_manifest avslutades med en annan kod än noll",
|
||||||
"jobExists": "job already exists: {value}",
|
"jobExists": "jobbet finns redan: {value}",
|
||||||
"pathMissing": "sökvägen finns inte på denna värd: {value}",
|
"pathMissing": "sökvägen finns inte på den här värden: {value}",
|
||||||
"deviceMissing": "enheten finns inte: {value}",
|
"deviceMissing": "enheten finns inte: {value}",
|
||||||
"mountpoint": "not a mountpoint: {value}",
|
"mountpoint": "inte en monteringspunkt: {value}",
|
||||||
"localArchiveMissing": "lokalt arkiv hittades inte: {value}",
|
"localArchiveMissing": "lokalt arkiv hittades inte: {value}",
|
||||||
"borgDestination": "Borg destination '{value}' hittades inte",
|
"borgDestination": "Borg-destinationen '{value}' hittades inte",
|
||||||
"pbsDestination": "PBS-destinationen '{value}' hittades inte",
|
"pbsDestination": "PBS-destinationen '{value}' hittades inte",
|
||||||
"pbsPassword": "inget lösenord tillgängligt för PBS repo '{value}'",
|
"pbsPassword": "inget lösenord tillgängligt för PBS-arkivet '{value}'",
|
||||||
"borgRepoMissing": "Borg repo \"{value}\" inte konfigurerad",
|
"borgRepoMissing": "Borg-arkivet \"{value}\" är inte konfigurerat",
|
||||||
"pbsRepoMissing": "PBS repo \"{value}\" inte konfigurerad",
|
"pbsRepoMissing": "PBS-arkivet \"{value}\" är inte konfigurerat",
|
||||||
"borgTargetMissing": "Borgmål hittades inte: {value}",
|
"borgTargetMissing": "Borg-målet hittades inte: {value}",
|
||||||
"pbsTargetMissing": "PBS-repo hittades inte: {value}",
|
"pbsTargetMissing": "PBS-arkivet hittades inte: {value}",
|
||||||
"pveJobMissing": "PVE vzdump jobb hittades inte: {value}",
|
"pveJobMissing": "PVE vzdump-jobbet hittades inte: {value}",
|
||||||
"statePersist": "kan inte bestå tillstånd: {value}",
|
"statePersist": "kan inte spara tillståndet: {value}",
|
||||||
"sshDirectory": "kan inte förbereda ssh dir: {value}",
|
"sshDirectory": "kan inte förbereda ssh-katalogen: {value}",
|
||||||
"logRead": "kan inte läsa logg: {value}",
|
"logRead": "kan inte läsa loggen: {value}",
|
||||||
"envUpdate": "kunde inte uppdatera .env: {value}",
|
"envUpdate": "kunde inte uppdatera .env: {value}",
|
||||||
"pbsConfigWrite": "kunde inte bestå PBS-konfiguration: {value}",
|
"pbsConfigWrite": "det gick inte att spara PBS-konfigurationen: {value}",
|
||||||
"persist": "kunde inte bestå: {value}",
|
"persist": "det gick inte att spara: {value}",
|
||||||
"archiveRemove": "misslyckades med att ta bort arkiv: {value}",
|
"archiveRemove": "det gick inte att ta bort arkivet: {value}",
|
||||||
"start": "kunde inte starta: {value}",
|
"start": "det gick inte att starta: {value}",
|
||||||
"borgTargetsUpdate": "misslyckades med att uppdatera borg-targets.txt: {value}",
|
"borgTargetsUpdate": "det gick inte att uppdatera borg-targets.txt: {value}",
|
||||||
"pbsTargetsUpdate": "misslyckades med att uppdatera pbs-manual-configs.txt: {value}",
|
"pbsTargetsUpdate": "det gick inte att uppdatera pbs-manual-configs.txt: {value}",
|
||||||
"unitsUpdate": "misslyckades med att uppdatera systemenheter: {value}",
|
"unitsUpdate": "det gick inte att uppdatera systemd-enheter: {value}",
|
||||||
"borgTargetsWrite": "misslyckades med att skriva borg-targets.txt: {value}",
|
"borgTargetsWrite": "det gick inte att skriva borg-targets.txt: {value}",
|
||||||
"jobWrite": "misslyckades med att skriva jobbfiler: {value}",
|
"jobWrite": "det gick inte att skriva jobbfiler: {value}",
|
||||||
"localTargetWrite": "failed to write local-target.conf: {value}",
|
"localTargetWrite": "det gick inte att skriva local-target.conf: {value}",
|
||||||
"unitsWrite": "misslyckades med att skriva systemd-enheter: {value}",
|
"unitsWrite": "det gick inte att skriva systemd-enheter: {value}",
|
||||||
"format": "format misslyckades: {value}",
|
"format": "formateringen misslyckades: {value}",
|
||||||
"calendar": "ogiltig on_calendar: {value}",
|
"calendar": "ogiltig on_calendar: {value}",
|
||||||
"mount": "montering misslyckades: {value}",
|
"mount": "monteringen misslyckades: {value}",
|
||||||
"parserInvocation": "parseranrop misslyckades: {value}",
|
"parserInvocation": "anropet av parsern misslyckades: {value}",
|
||||||
"preflightInvocation": "preflight-anrop misslyckades: {value}",
|
"preflightInvocation": "anropet av preflight misslyckades: {value}",
|
||||||
"publicKeyMissing": "public key not found after generation: {value}",
|
"publicKeyMissing": "den publika nyckeln hittades inte efter generering: {value}",
|
||||||
"retentionInteger": "retention.{value} måste vara ett heltal",
|
"retentionInteger": "retention.{value} måste vara ett heltal",
|
||||||
"retentionNegative": "retention.{value} måste vara icke-negativ",
|
"retentionNegative": "retention.{value} får inte vara negativt",
|
||||||
"keygen": "ssh-keygen misslyckades: {value}",
|
"keygen": "ssh-keygen misslyckades: {value}",
|
||||||
"systemctl": "systemctl misslyckades: {value}",
|
"systemctl": "systemctl misslyckades: {value}",
|
||||||
"unmount": "umount misslyckades: {value}",
|
"unmount": "umount misslyckades: {value}",
|
||||||
"taskIncomplete": "uppgiften är i tillståndet \"{value}\", inte slutförd",
|
"taskIncomplete": "uppgiften har tillståndet \"{value}\", inte slutförd",
|
||||||
"unknownKind": "okänd typ: {value}",
|
"unknownKind": "okänd typ: {value}",
|
||||||
"unknownMode": "okänt läge \"{value}\"",
|
"unknownMode": "okänt läge \"{value}\"",
|
||||||
"defaultRemove": "{value} är den inbyggda standardinställningen och kan inte tas bort",
|
"defaultRemove": "{value} är den inbyggda standarden och kan inte tas bort",
|
||||||
"defaultAdd": "{value} is the built-in default; no need to add it",
|
"defaultAdd": "{value} är den inbyggda standarden; den behöver inte läggas till",
|
||||||
"keyImport": "Ingen PBS-nyckelfil är installerad på {value}.Importera nyckelfilen först.",
|
"keyImport": "Ingen PBS-nyckelfil är installerad i {value}. Importera nyckelfilen först.",
|
||||||
"storageMismatch": "PVE-jobblagring missmatchar (jobbet använder {value}, nyttolasten säger {other})"
|
"storageMismatch": "lagringen för PVE-jobbet stämmer inte (jobbet använder {value}, payload anger {other})"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"healthStatus": {
|
"healthStatus": {
|
||||||
@@ -5438,6 +5597,7 @@
|
|||||||
"websocketError": "WebSocket-fel uppstod",
|
"websocketError": "WebSocket-fel uppstod",
|
||||||
"connectionClosed": "Anslutning stängd",
|
"connectionClosed": "Anslutning stängd",
|
||||||
"completedSuccessfully": "Skriptet har slutförts",
|
"completedSuccessfully": "Skriptet har slutförts",
|
||||||
|
"cancelled": "Åtgärden avbröts.",
|
||||||
"completedWithError": "Skriptet avslutat med felkoden {code}",
|
"completedWithError": "Skriptet avslutat med felkoden {code}",
|
||||||
"yes": "Ja",
|
"yes": "Ja",
|
||||||
"yourInput": "Din inmatning:",
|
"yourInput": "Din inmatning:",
|
||||||
@@ -7429,7 +7589,7 @@
|
|||||||
"signInWith": "Logga in med",
|
"signInWith": "Logga in med",
|
||||||
"methodPassword": "Användare och lösenord",
|
"methodPassword": "Användare och lösenord",
|
||||||
"methodToken": "API-token",
|
"methodToken": "API-token",
|
||||||
"username": "Användare (användare@realm)",
|
"username": "Användare",
|
||||||
"password": "Lösenord",
|
"password": "Lösenord",
|
||||||
"passwordHelp": "Lösenordet används en gång för att skapa en skrivskyddad API-token (rollen Audit) för den här Monitorn. Bara den token sparas, aldrig lösenordet. Aktivera först autentiseringen i Monitor.",
|
"passwordHelp": "Lösenordet används en gång för att skapa en skrivskyddad API-token (rollen Audit) för den här Monitorn. Bara den token sparas, aldrig lösenordet. Aktivera först autentiseringen i Monitor.",
|
||||||
"cancel": "Avbryt",
|
"cancel": "Avbryt",
|
||||||
@@ -7442,10 +7602,10 @@
|
|||||||
"editConnection": "Anslutning att redigera",
|
"editConnection": "Anslutning att redigera",
|
||||||
"add": "Lägg till en ny anslutning",
|
"add": "Lägg till en ny anslutning",
|
||||||
"name": "Namn",
|
"name": "Namn",
|
||||||
"url": "HTTPS-URL (ta med :8007 för PBS ordinarie port)",
|
"url": "HTTPS-adress",
|
||||||
"token_id": "API-token-ID (user@realm!token)",
|
"token_id": "API-token-ID",
|
||||||
"token_secret": "API-tokenhemlighet (lämna tomt för att behålla den sparade hemligheten)",
|
"token_secret": "API-tokenhemlighet",
|
||||||
"fingerprint": "Certifikatets SHA256-fingeravtryck (valfritt)",
|
"fingerprint": "SHA256-fingeravtryck (valfritt)",
|
||||||
"tlsHelp": "Lämna fingeravtrycket tomt för vanlig kontroll av certifikatutfärdare och värdnamn. För ett självsignerat certifikat kopierar du dess SHA256-fingeravtryck från PBS-konsolen eller en annan betrodd kanal. Fingeravtrycket kontrolleras innan inloggningsuppgifter skickas.",
|
"tlsHelp": "Lämna fingeravtrycket tomt för vanlig kontroll av certifikatutfärdare och värdnamn. För ett självsignerat certifikat kopierar du dess SHA256-fingeravtryck från PBS-konsolen eller en annan betrodd kanal. Fingeravtrycket kontrolleras innan inloggningsuppgifter skickas.",
|
||||||
"saved": "PBS-anslutningen har verifierats och sparats.",
|
"saved": "PBS-anslutningen har verifierats och sparats.",
|
||||||
"saveFailed": "Det gick inte att spara PBS-anslutningen.",
|
"saveFailed": "Det gick inte att spara PBS-anslutningen.",
|
||||||
@@ -7489,46 +7649,46 @@
|
|||||||
"duration": "Varaktighet",
|
"duration": "Varaktighet",
|
||||||
"noJobs": "Inga synkroniserings-, verifierings- eller beskärningsscheman är konfigurerade.",
|
"noJobs": "Inga synkroniserings-, verifierings- eller beskärningsscheman är konfigurerade.",
|
||||||
"errors": {
|
"errors": {
|
||||||
"configRead": "Kunde inte läsa de sparade PBS-anslutningarna.Kontrollera konfigurationsfilen och behörigheterna.",
|
"configRead": "Det gick inte att läsa de sparade PBS-anslutningarna. Kontrollera konfigurationsfilen och behörigheterna.",
|
||||||
"invalidConfig": "PBS-anslutningsinställningarna är inte giltiga.Kontrollera formuläret och försök igen.",
|
"invalidConfig": "Inställningarna för PBS-anslutningen är inte giltiga. Kontrollera formuläret och försök igen.",
|
||||||
"invalidField": "Ett anslutningsfält är inte giltigt eller är för långt.",
|
"invalidField": "Ett anslutningsfält är ogiltigt eller för långt.",
|
||||||
"invalidUrl": "Använd en HTTPS PBS-adress utan inbäddade autentiseringsuppgifter, frågeparametrar eller ett fragment.",
|
"invalidUrl": "Använd en HTTPS-adress till PBS utan inbäddade inloggningsuppgifter, frågeparametrar eller fragment.",
|
||||||
"nameRequired": "Ange ett servernamn på högst 128 tecken.",
|
"nameRequired": "Ange ett servernamn på högst 128 tecken.",
|
||||||
"tokenIdFormat": "Ange PBS API-token-ID i user@realm!token-format.",
|
"tokenIdFormat": "Ange ID för PBS API-token i formatet user@realm!token.",
|
||||||
"tokenSecret": "Ange en giltig API-tokenhemlighet utan mellanslag eller kontrolltecken.",
|
"tokenSecret": "Ange en giltig API-tokenhemlighet utan mellanslag eller kontrolltecken.",
|
||||||
"invalidTokenId": "API-token-ID får endast innehålla ASCII-tecken.",
|
"invalidTokenId": "API-token-ID får bara innehålla ASCII-tecken.",
|
||||||
"invalidFingerprint": "Ange certifikatets SHA256-fingeravtryck: 64 hexadecimala tecken, eventuellt separerade med kolon.",
|
"invalidFingerprint": "Ange certifikatets SHA256-fingeravtryck: 64 hexadecimala tecken, eventuellt avgränsade med kolon.",
|
||||||
"fingerprintMismatch": "PBS-certifikatet matchar inte fingeravtrycket.Inga inloggningsuppgifter skickades.",
|
"fingerprintMismatch": "PBS-certifikatet matchar inte fingeravtrycket. Inga inloggningsuppgifter skickades.",
|
||||||
"tokenRejected": "PBS avvisade API-token eller dess behörigheter.Kontrollera ACL:erna för både användaren och token.",
|
"tokenRejected": "PBS avvisade API-token eller dess behörigheter. Kontrollera ACL:erna för både användaren och token.",
|
||||||
"invalidResponse": "PBS returnerade ett oväntat svar.Omdirigeringar följs inte.",
|
"invalidResponse": "PBS returnerade ett oväntat svar. Omdirigeringar följs inte.",
|
||||||
"invalidJson": "PBS returnerade ett ogiltigt JSON-dokument.",
|
"invalidJson": "PBS returnerade ett ogiltigt JSON-dokument.",
|
||||||
"connectFailed": "Kunde inte ansluta till PBS över verifierad HTTPS.Kontrollera adress, certifikat och tjänst.",
|
"connectFailed": "Det gick inte att ansluta till PBS via verifierad HTTPS. Kontrollera adressen, certifikatet och tjänsten.",
|
||||||
"invalidId": "PBS-anslutnings-ID är inte giltigt.Ladda om anslutningslistan.",
|
"invalidId": "ID:t för PBS-anslutningen är inte giltigt. Läs in anslutningslistan igen.",
|
||||||
"invalidDatastores": "PBS returnerade en ogiltig datalagringslista.",
|
"invalidDatastores": "PBS returnerade en ogiltig lista över datalager.",
|
||||||
"connectionLimit": "Som mest {count} PBS-anslutningar kan konfigureras.",
|
"connectionLimit": "Högst {count} PBS-anslutningar kan konfigureras.",
|
||||||
"username": "Ange PBS-användaren i formatet user@realm, till exempel root@pam.",
|
"username": "Ange PBS-användaren i formatet user@realm, till exempel root@pam.",
|
||||||
"password": "Ange PBS-användarens lösenord.",
|
"password": "Ange PBS-användarens lösenord.",
|
||||||
"loginRejected": "PBS avvisade användarnamnet eller lösenordet.",
|
"loginRejected": "PBS avvisade användarnamnet eller lösenordet.",
|
||||||
"invalidLogin": "PBS returned an invalid sign-in response.",
|
"invalidLogin": "PBS returnerade ett ogiltigt inloggningssvar.",
|
||||||
"tokenCreateDenied": "Denna PBS-användare kan inte skapa API-tokens.",
|
"tokenCreateDenied": "Den här PBS-användaren kan inte skapa API-tokens.",
|
||||||
"invalidToken": "PBS returned an invalid API token.",
|
"invalidToken": "PBS returnerade en ogiltig API-token.",
|
||||||
"auditRoleDenied": "Denna PBS-användare kan inte bevilja revisionsrollen.Logga in som root@pam eller annan administratör.",
|
"auditRoleDenied": "Den här PBS-användaren kan inte tilldela rollen Audit. Logga in som root@pam eller en annan administratör.",
|
||||||
"notFound": "PBS-anslutningen hittades inte.Ladda om anslutningslistan.",
|
"notFound": "PBS-anslutningen hittades inte. Läs in anslutningslistan igen.",
|
||||||
"readFailed": "Kunde inte läsa PBS-data.Kontrollera dess tjänst och behörigheter.",
|
"readFailed": "Det gick inte att läsa PBS-data. Kontrollera tjänsten och behörigheterna.",
|
||||||
"invalidList": "PBS returnerade en ogiltig datalista.",
|
"invalidList": "PBS returnerade en ogiltig datalista.",
|
||||||
"localUnavailable": "PBS är inte tillgängligt på denna värd.",
|
"localUnavailable": "PBS är inte tillgänglig på den här värden.",
|
||||||
"authRequired": "Aktivera lokal autentisering i Monitor innan du hanterar fjärranslutna PBS-anslutningar.",
|
"authRequired": "Aktivera lokal autentisering i Monitor innan du hanterar fjärranslutningar till PBS.",
|
||||||
"datastoreOffline": "Datalagret är offline, i underhållsläge eller dess stödenhet är inte monterad.",
|
"datastoreOffline": "Datalagret är offline, i underhållsläge eller så är dess underliggande enhet inte monterad.",
|
||||||
"datastoreUnavailable": "Datalagringsfilsystemet är inte tillgängligt."
|
"datastoreUnavailable": "Datalagrets filsystem är inte tillgängligt."
|
||||||
},
|
},
|
||||||
"taskTypes": {
|
"taskTypes": {
|
||||||
"backup": "Säkerhetskopiering",
|
"backup": "Säkerhetskopiering",
|
||||||
"restore": "Återställ",
|
"restore": "Återställning",
|
||||||
"verify": "Verifiering",
|
"verify": "Verifiering",
|
||||||
"verifyGroup": "Backup-gruppverifiering",
|
"verifyGroup": "Verifiering av säkerhetskopiegrupp",
|
||||||
"verifySnapshot": "Verifiering av ögonblicksbild",
|
"verifySnapshot": "Verifiering av ögonblicksbild",
|
||||||
"prune": "Beskär",
|
"prune": "Gallring",
|
||||||
"garbageCollection": "Sophämtning",
|
"garbageCollection": "Skräpinsamling",
|
||||||
"sync": "Synkronisering",
|
"sync": "Synkronisering",
|
||||||
"updateCheck": "Sök efter uppdateringar",
|
"updateCheck": "Sök efter uppdateringar",
|
||||||
"terminal": "Terminal",
|
"terminal": "Terminal",
|
||||||
@@ -7545,9 +7705,9 @@
|
|||||||
"serviceStates": {
|
"serviceStates": {
|
||||||
"active": "Aktiv",
|
"active": "Aktiv",
|
||||||
"inactive": "Inaktiv",
|
"inactive": "Inaktiv",
|
||||||
"failed": "Misslyckades",
|
"failed": "Misslyckad",
|
||||||
"activating": "Startar",
|
"activating": "Startar",
|
||||||
"deactivating": "Stoppa",
|
"deactivating": "Stoppar",
|
||||||
"unknown": "Okänd"
|
"unknown": "Okänd"
|
||||||
},
|
},
|
||||||
"durationUnits": {
|
"durationUnits": {
|
||||||
@@ -7556,16 +7716,16 @@
|
|||||||
"hours": "{count} h",
|
"hours": "{count} h",
|
||||||
"days": "{count} d"
|
"days": "{count} d"
|
||||||
},
|
},
|
||||||
"urlHelp": "Inkludera :8007 för PBS-standardporten, till exempel https://pbs.example:8007.",
|
"urlHelp": "Ta med :8007 för PBS standardport, till exempel https://pbs.example:8007.",
|
||||||
"usernameHelp": "Använd user@realm, till exempel root@pam.",
|
"usernameHelp": "Använd user@realm, till exempel root@pam.",
|
||||||
"tokenIdHelp": "Använd user@realm!token, till exempel monitor@pbs!proxmenux.",
|
"tokenIdHelp": "Använd user@realm!token, till exempel monitor@pbs!proxmenux.",
|
||||||
"tokenSecretHelp": "Ange hemligheten för denna API-token.",
|
"tokenSecretHelp": "Ange hemligheten för den här API-token.",
|
||||||
"tokenSecretKeepHelp": "Lämna tomt för att hålla den sparade token hemlig.",
|
"tokenSecretKeepHelp": "Lämna tomt för att behålla den sparade tokenhemligheten.",
|
||||||
"removeFailed": "Kunde inte ta bort PBS-anslutningen.",
|
"removeFailed": "Det gick inte att ta bort PBS-anslutningen.",
|
||||||
"savedRefreshFailed": "PBS-anslutningen sparades, men anslutningslistan kunde inte uppdateras.Ladda om sidan innan du försöker en annan ändring.",
|
"savedRefreshFailed": "PBS-anslutningen sparades, men anslutningslistan kunde inte uppdateras. Läs in sidan igen innan du gör en annan ändring.",
|
||||||
"removedRefreshFailed": "PBS-anslutningen togs bort, men anslutningslistan kunde inte uppdateras.Ladda om sidan.",
|
"removedRefreshFailed": "PBS-anslutningen togs bort, men anslutningslistan kunde inte uppdateras. Läs in sidan igen.",
|
||||||
"technicalDetails": "Tekniska detaljer",
|
"technicalDetails": "Tekniska detaljer",
|
||||||
"datastoreType": "Datastore"
|
"datastoreType": "Datalager"
|
||||||
},
|
},
|
||||||
"monitorLinks": {
|
"monitorLinks": {
|
||||||
"groups": {
|
"groups": {
|
||||||
@@ -7606,15 +7766,15 @@
|
|||||||
"changeAddress": "Ändra adress",
|
"changeAddress": "Ändra adress",
|
||||||
"cancel": "Avbryt",
|
"cancel": "Avbryt",
|
||||||
"errors": {
|
"errors": {
|
||||||
"addressRequired": "Ange monitorns adress.",
|
"addressRequired": "Ange adressen till Monitor.",
|
||||||
"invalidAddress": "Adressen måste börja med http:// eller https:// och namnge en värd.",
|
"invalidAddress": "Adressen måste börja med http:// eller https:// och ange en värd.",
|
||||||
"addressCredentials": "Adressen får inte innehålla en användare eller lösenord.",
|
"addressCredentials": "Adressen får inte innehålla användare eller lösenord.",
|
||||||
"invalidPort": "Adressens port är inte giltig.",
|
"invalidPort": "Adressens port är inte giltig.",
|
||||||
"invalidRequest": "Förfrågan är inte giltig.Ladda om sidan och försök igen.",
|
"invalidRequest": "Förfrågan är inte giltig. Läs in sidan igen och försök igen.",
|
||||||
"limit": "Som mest kan {count}-noder läggas till.",
|
"limit": "Högst {count} noder kan läggas till.",
|
||||||
"duplicate": "Den här adressen finns redan i listan.",
|
"duplicate": "Den här adressen finns redan i listan.",
|
||||||
"notFound": "The node was not found. Reload the list and try again.",
|
"notFound": "Noden hittades inte. Läs in listan igen och försök igen.",
|
||||||
"detectedRemove": "Endast noder som lagts till för hand kan tas bort.Upptäckta noder kan döljas."
|
"detectedRemove": "Endast noder som lagts till manuellt kan tas bort. Identifierade noder kan döljas."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+204
-92
File diff suppressed because it is too large
Load Diff
+207
-95
File diff suppressed because it is too large
Load Diff
+198
-86
File diff suppressed because it is too large
Load Diff
+216
-104
File diff suppressed because it is too large
Load Diff
+213
-101
File diff suppressed because it is too large
Load Diff
+201
-87
File diff suppressed because it is too large
Load Diff
@@ -173,6 +173,9 @@ class ImmichAccelerationTests(unittest.TestCase):
|
|||||||
with patch.object(i18n, 'language', return_value='sk'), patch.object(i18n, '_cache', json.loads((ROOT.parent / 'lang/sk.json').read_text())):
|
with patch.object(i18n, 'language', return_value='sk'), patch.object(i18n, '_cache', json.loads((ROOT.parent / 'lang/sk.json').read_text())):
|
||||||
self.assertEqual(_service_kind(service), 'Strojové učenie')
|
self.assertEqual(_service_kind(service), 'Strojové učenie')
|
||||||
_, _, plan = self.plan(NOTHING, DEFAULT_MODE)
|
_, _, plan = self.plan(NOTHING, DEFAULT_MODE)
|
||||||
|
# Spanish keeps the English name of the service.
|
||||||
|
with patch.object(i18n, 'language', return_value='es'), patch.object(i18n, '_cache', json.loads((ROOT.parent / 'lang/es.json').read_text())):
|
||||||
|
self.assertEqual(_service_kind(service), 'Machine learning')
|
||||||
self.assertIn('machine_learning', plan)
|
self.assertIn('machine_learning', plan)
|
||||||
self.assertEqual(service, original)
|
self.assertEqual(service, original)
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ const translate = locale => (key, params = {}) => {
|
|||||||
assert.equal(typeof template, 'string', 'Missing translation ' + key)
|
assert.equal(typeof template, 'string', 'Missing translation ' + key)
|
||||||
return template.replace(/\{(\w+)\}/g, (all, key) => params[key] ?? all)
|
return template.replace(/\{(\w+)\}/g, (all, key) => params[key] ?? all)
|
||||||
}
|
}
|
||||||
|
// A locale without these keys must show the English backend text.
|
||||||
|
catalogs.missing = {}
|
||||||
const en = translate('en'), sk = translate('sk')
|
const en = translate('en'), sk = translate('sk')
|
||||||
// Enumerate only pure validator ASTs; importing lxc_apps would access host state.
|
// Enumerate only pure validator ASTs; importing lxc_apps would access host state.
|
||||||
const contract = JSON.parse(execFileSync('python3', ['-c', String.raw`
|
const contract = JSON.parse(execFileSync('python3', ['-c', String.raw`
|
||||||
@@ -64,7 +66,7 @@ assert.equal(contract.templates.length, 69, 'Update the contract inventory when
|
|||||||
for (const message of [...contract.templates, ...contract.actual]) {
|
for (const message of [...contract.templates, ...contract.actual]) {
|
||||||
assert.equal(localize(message, en), message, 'EN must preserve the exact backend message')
|
assert.equal(localize(message, en), message, 'EN must preserve the exact backend message')
|
||||||
assert.notEqual(localize(message, sk), message, 'Untranslated backend validation: ' + message)
|
assert.notEqual(localize(message, sk), message, 'Untranslated backend validation: ' + message)
|
||||||
assert.equal(localize(message, translate('de')), message, 'Missing locale falls back to EN')
|
assert.equal(localize(message, translate('missing')), message, 'Missing locale falls back to EN')
|
||||||
}
|
}
|
||||||
// Every supported message, including detector errors, preserves interpolated data.
|
// Every supported message, including detector errors, preserves interpolated data.
|
||||||
const enErrors = catalogs.en.vmLxc.appEditor.errors, skErrors = catalogs.sk.vmLxc.appEditor.errors
|
const enErrors = catalogs.en.vmLxc.appEditor.errors, skErrors = catalogs.sk.vmLxc.appEditor.errors
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ const {execFileSync}=require('node:child_process')
|
|||||||
const root=path.resolve(__dirname,'..'),app=path.join(root,'AppImage')
|
const root=path.resolve(__dirname,'..'),app=path.join(root,'AppImage')
|
||||||
const ts=require(path.join(app,'node_modules/typescript'))
|
const ts=require(path.join(app,'node_modules/typescript'))
|
||||||
const catalogs=Object.fromEntries(['en','sk','de'].map(locale=>[locale,JSON.parse(fs.readFileSync(path.join(app,`messages/${locale}/common.json`)))]))
|
const catalogs=Object.fromEntries(['en','sk','de'].map(locale=>[locale,JSON.parse(fs.readFileSync(path.join(app,`messages/${locale}/common.json`)))]))
|
||||||
|
// A locale without these keys must show the English name.
|
||||||
|
catalogs.missing={}
|
||||||
const translate=locale=>(key,params={})=>{
|
const translate=locale=>(key,params={})=>{
|
||||||
const find=data=>key.split('.').reduce((item,name)=>item?.[name],data)
|
const find=data=>key.split('.').reduce((item,name)=>item?.[name],data)
|
||||||
return (find(catalogs[locale])??find(catalogs.en)??key).replace(/\{(\w+)\}/g,(all,key)=>params[key]??all)
|
return (find(catalogs[locale])??find(catalogs.en)??key).replace(/\{(\w+)\}/g,(all,key)=>params[key]??all)
|
||||||
@@ -13,6 +15,8 @@ const text=node=>node==null||node===false?'':typeof node!=='object'?String(node)
|
|||||||
const compile=source=>ts.transpileModule(source,{compilerOptions:{module:ts.ModuleKind.CommonJS,target:ts.ScriptTarget.ES2020,jsx:ts.JsxEmit.ReactJSX}}).outputText
|
const compile=source=>ts.transpileModule(source,{compilerOptions:{module:ts.ModuleKind.CommonJS,target:ts.ScriptTarget.ES2020,jsx:ts.JsxEmit.ReactJSX}}).outputText
|
||||||
const source=process.argv.includes('--baseline')?execFileSync('git',['show','e826680c:AppImage/components/settings.tsx'],{cwd:root,encoding:'utf8'}):fs.readFileSync(path.join(app,'components/settings.tsx'),'utf8')
|
const source=process.argv.includes('--baseline')?execFileSync('git',['show','e826680c:AppImage/components/settings.tsx'],{cwd:root,encoding:'utf8'}):fs.readFileSync(path.join(app,'components/settings.tsx'),'utf8')
|
||||||
const formatter={exports:{}};vm.runInNewContext(compile(fs.readFileSync(path.join(app,'lib/optimization-source-errors.ts'),'utf8')),formatter)
|
const formatter={exports:{}};vm.runInNewContext(compile(fs.readFileSync(path.join(app,'lib/optimization-source-errors.ts'),'utf8')),formatter)
|
||||||
|
const descriptionsPath=path.join(app,'lib/optimization-descriptions.ts')
|
||||||
|
const descriptions={exports:{},require:name=>({default:require(path.resolve(app,'lib',name))})};if(fs.existsSync(descriptionsPath))vm.runInNewContext(compile(fs.readFileSync(descriptionsPath,'utf8')),descriptions)
|
||||||
const tools=['one','two'].map(key=>({key,name:'Demo '+key,enabled:true,has_source:true,version:'1.0',available_version:'1.1'}))
|
const tools=['one','two'].map(key=>({key,name:'Demo '+key,enabled:true,has_source:true,version:'1.0',available_version:'1.1'}))
|
||||||
const sourceBody={success:true,function:'demo',script:'demo.sh',source:'demo() {\n echo "<tag>& $HOME"\n}\n',deprecated:false}
|
const sourceBody={success:true,function:'demo',script:'demo.sh',source:'demo() {\n echo "<tag>& $HOME"\n}\n',deprecated:false}
|
||||||
function fixture(locale='sk',catalog=tools){
|
function fixture(locale='sk',catalog=tools){
|
||||||
@@ -42,6 +46,7 @@ function fixture(locale='sk',catalog=tools){
|
|||||||
if(name==='react')return react
|
if(name==='react')return react
|
||||||
if(name==='react/jsx-runtime')return{jsx:(type,props)=>({type,props}),jsxs:(type,props)=>({type,props})}
|
if(name==='react/jsx-runtime')return{jsx:(type,props)=>({type,props}),jsxs:(type,props)=>({type,props})}
|
||||||
if(name.includes('optimization-source-errors'))return formatter.exports
|
if(name.includes('optimization-source-errors'))return formatter.exports
|
||||||
|
if(name.includes('optimization-descriptions'))return descriptions.exports
|
||||||
if(name.includes('api-config'))return api.exports
|
if(name.includes('api-config'))return api.exports
|
||||||
if(name.includes('i18n/provider'))return{SUPPORTED_LANGUAGES:[],useI18n:()=>({t,language,setLanguage:value=>language=value})}
|
if(name.includes('i18n/provider'))return{SUPPORTED_LANGUAGES:[],useI18n:()=>({t,language,setLanguage:value=>language=value})}
|
||||||
if(name.includes('use-platform'))return{useIsPbs:()=>false}
|
if(name.includes('use-platform'))return{useIsPbs:()=>false}
|
||||||
@@ -51,7 +56,9 @@ function fixture(locale='sk',catalog=tools){
|
|||||||
vm.runInNewContext(compile(source),context)
|
vm.runInNewContext(compile(source),context)
|
||||||
const render=()=>{cursor=0;effects=[];tree=context.exports.Settings();for(const effect of effects)effect();return tree}
|
const render=()=>{cursor=0;effects=[];tree=context.exports.Settings();for(const effect of effects)effect();return tree}
|
||||||
const settle=async()=>{for(let i=0;i<24;i++)await Promise.resolve();render()}
|
const settle=async()=>{for(let i=0;i<24;i++)await Promise.resolve();render()}
|
||||||
const tool=name=>flatten(tree).find(node=>node.props?.title===t('settings.optimizations.sourceTitle')&&text(node).includes(catalog.find(tool=>tool.key===name)?.name||'Demo '+name))
|
// Rows show the localized tool name when the catalog has one.
|
||||||
|
const label=name=>{const fallback=catalog.find(tool=>tool.key===name)?.name||'Demo '+name;return descriptions.exports.optimizationToolName?descriptions.exports.optimizationToolName(name,fallback,t):fallback}
|
||||||
|
const tool=name=>flatten(tree).find(node=>node.props?.title===t('settings.optimizations.sourceTitle')&&text(node).includes(label(name)))
|
||||||
const dialog=()=>flatten(tree).find(node=>node.props?.role==='dialog')
|
const dialog=()=>flatten(tree).find(node=>node.props?.role==='dialog')
|
||||||
const close=()=>flatten(tree).find(node=>node.props?.['aria-label']===t('actions.close')).props.onClick()
|
const close=()=>flatten(tree).find(node=>node.props?.['aria-label']===t('actions.close')).props.onClick()
|
||||||
return{render,settle,tool,dialog,close,calls,copies,timers,tree:()=>tree,setReply:value=>reply=value,t,
|
return{render,settle,tool,dialog,close,calls,copies,timers,tree:()=>tree,setReply:value=>reply=value,t,
|
||||||
@@ -90,7 +97,7 @@ async function main(){
|
|||||||
for(const [key,name]of Object.entries(names)){
|
for(const [key,name]of Object.entries(names)){
|
||||||
assert.equal(formatter.exports.optimizationSourceName(key,name,translate('en')),name)
|
assert.equal(formatter.exports.optimizationSourceName(key,name,translate('en')),name)
|
||||||
assert.equal(formatter.exports.optimizationSourceName(key,name,translate('sk')),catalogs.sk.settings.optimizations.sourceToolNames[key])
|
assert.equal(formatter.exports.optimizationSourceName(key,name,translate('sk')),catalogs.sk.settings.optimizations.sourceToolNames[key])
|
||||||
assert.equal(formatter.exports.optimizationSourceName(key,name,translate('de')),name)
|
assert.equal(formatter.exports.optimizationSourceName(key,name,translate('missing')),name)
|
||||||
}
|
}
|
||||||
assert.equal(Object.keys(names).length,27)
|
assert.equal(Object.keys(names).length,27)
|
||||||
assert.equal(formatter.exports.optimizationSourceName('future','Future tool',translate('sk')),'Future tool')
|
assert.equal(formatter.exports.optimizationSourceName('future','Future tool',translate('sk')),'Future tool')
|
||||||
|
|||||||
Reference in New Issue
Block a user