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:
MacRimi
2026-10-22 00:09:54 +02:00
parent c0046cb24f
commit 203496f14f
16 changed files with 3047 additions and 1409 deletions
+299 -139
View File
@@ -1231,7 +1231,9 @@
"update": "Mettre à jour",
"modify": "Modifier",
"recover": "Récupérer",
"registerRestored": "Enregistrer à nouveau",
"terminalTitleUpdate": "Mettre à jour l'application OCI",
"terminalTitleRecoverPrevious": "Récupérer l'installation OCI précédente",
"terminalTitleModify": "Modifier l'application OCI",
"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.",
@@ -1760,7 +1762,128 @@
"dockerEvidenceImage": "Image",
"dockerEvidencePort": "Port TCP publié",
"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": {
"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.",
"legacySourceTitle": "Optimisation héritée – cliquez pour afficher la 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",
"updateToolTitle": "Mettez à jour {name} vers v{version}",
"availableUpdates": "Mises à jour disponibles",
@@ -4822,122 +4981,122 @@
"useDefault": "Utiliser la valeur par défaut de Proxmox (aucune politique sur ce stockage)"
},
"apiErrors": {
"requestFailed": "La demande a échoué.",
"requestFailed": "La requête a échoué.",
"absolutePath": "le chemin doit être absolu",
"pathConfigured": "ce chemin est déjà configuré",
"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",
"invalidJobId": "ID de travail invalide",
"jobNotFound": "emploi introuvable",
"runnerMissing": "le script d'exécution n'est pas installé",
"invalidJobId": "ID de tâche non valide",
"jobNotFound": "tâche introuvable",
"runnerMissing": "script d'exécution non installé",
"noRestore": "aucun état de restauration à ignorer",
"invalidFile": "nom de fichier invalide",
"notFound": "pas trouvé",
"logOutside": "log path outside allowed directory",
"targetsList": "les cibles doivent être une liste",
"invalidFile": "nom de fichier non valide",
"notFound": "introuvable",
"logOutside": "chemin du journal hors du répertoire autorisé",
"targetsList": "targets doit être une liste",
"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",
"remoteBackend": "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é",
"borgAttached": "borg ne peut pas être attaché (PVE vzdump écrit uniquement sur les stockages pbs/locaux)",
"borgAttachedLong": "borg n'est pas un backend valide pour les tâches attachées (PVE vzdump écrit uniquement sur les stockages pbs/locaux)",
"parentRequired": "pve_parent_job_id et pve_storage sont requis pour les pièces jointes",
"absolutePaths": "les chemins doivent être une liste de chemins absolus",
"remoteBackendQuoted": "le backend doit être 'pbs' ou 'borg'",
"profileMode": "profile_mode doit être default ou custom",
"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 rattachées (vzdump de PVE n'écrit que sur des stockages pbs/local)",
"parentRequired": "pve_parent_job_id et pve_storage sont obligatoires pour une tâche rattachée",
"absolutePaths": "paths doit être une liste de chemins absolus",
"customPath": "le profil personnalisé nécessite au moins un chemin",
"defaultPaths": "impossible de résoudre les chemins de profil par défaut",
"retentionObject": "la rétention doit être un objet",
"pbsRepository": "pbs_repository est requis",
"pbsEncryption": "pbs_encrypt_mode doit être \"aucun\", \"nouveau\" ou \"existant\"",
"pbsKeyFailed": "échec de la création du fichier de clés de chiffrement PBS",
"defaultPaths": "impossible de déterminer les chemins du profil par défaut",
"retentionObject": "retention doit être un objet",
"pbsRepository": "pbs_repository est obligatoire",
"pbsEncryption": "pbs_encrypt_mode doit être 'none', 'new' ou 'existing'",
"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é ?)",
"borgRepository": "borg_repo est requis",
"borgEncryption": "borg_encrypt_mode doit être l'un des suivants : aucun, repokey, keyfile, authentifié",
"encryption": "encrypt_mode doit être l'un des suivants : aucun, repokey, keyfile, authentifié",
"borgPassphrase": "borg_passphrase est requis lorsque le cryptage est activé (enregistrez-le sur la destination ou transmettez-en un dans la requête)",
"passphrase": "la phrase secrète est requise lorsque le cryptage est activé",
"password": "le mot de passe est requis",
"deviceConfirmation": "confirm_device doit correspondre exactement à l'appareil (faute de frappe / contrôle de sécurité)",
"invalidDevice": "chemin d'accès au périphérique non valide",
"borgRepository": "borg_repo est obligatoire",
"borgEncryption": "borg_encrypt_mode doit être l'une des valeurs suivantes : none, repokey, keyfile, authenticated",
"encryption": "encrypt_mode doit être l'une des valeurs suivantes : none, repokey, keyfile, authenticated",
"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 obligatoire lorsque le chiffrement est activé",
"password": "le mot de passe est obligatoire",
"deviceConfirmation": "confirm_device doit correspondre exactement au périphérique (contrôle de frappe / sécurité)",
"invalidDevice": "chemin de périphérique non valide",
"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",
"archiveNotFile": "le chemin de l'archive n'est pas un fichier normal",
"invalidName": "nom invalide",
"invalidStaging": "staging_path invalide",
"jobRename": "le nom du travail ne peut pas être modifié (supprimer + recréer pour renommer)",
"archiveNotFile": "le chemin de l'archive n'est pas un fichier ordinaire",
"invalidName": "nom non valide",
"invalidStaging": "staging_path non valide",
"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",
"mode": "le mode doit être \"local\" ou \"ssh\"",
"mode": "mode doit être \"local\" ou \"ssh\"",
"nameRequired": "le nom est obligatoire (lettres, chiffres, _ ou -)",
"noLog": "aucun journal n'est encore disponible pour cette tâche",
"noPbsConfig": "pas de fichier de configuration PBS manuel",
"noLog": "aucun journal disponible pour cette tâche pour le moment",
"noPbsConfig": "aucun fichier de configurations PBS manuelles",
"outputMissing": "fichier de sortie manquant",
"parserJson": "la sortie de l'analyseur n'était pas un JSON valide",
"restoreJson": "la sortie run_restore n'était pas un JSON valide",
"repoRequired": "le dépôt est requis",
"repoSnapshot": "repo_name et snapshot sont requis",
"borgRepoSnapshot": "repo_name et snapshot sont requis pour borg",
"pbsRepoSnapshot": "repo_name et snapshot sont requis pour pbs",
"repoName": "repo_name est requis",
"restoreMissing": "restaurer les outils non installés sur cet hôte",
"serverDatastore": "le serveur et la banque de données sont requis",
"snapshotRequired": "un instantané est requis",
"source": "la source doit être pbs, borg ou locale",
"sshPort": "ssh_port doit être un entier compris entre 1 et 65 535",
"sshRequired": "ssh_user, ssh_host et ssh_remote_path sont requis pour le mode ssh",
"repositoryPath": "la cible n'a pas de chemin de dépôt",
"restoreJson": "la sortie de run_restore n'était pas un JSON valide",
"repoRequired": "repo est obligatoire",
"repoSnapshot": "repo_name et snapshot sont obligatoires",
"borgRepoSnapshot": "repo_name et snapshot sont obligatoires pour borg",
"pbsRepoSnapshot": "repo_name et snapshot sont obligatoires pour pbs",
"repoName": "repo_name est obligatoire",
"restoreMissing": "outils de restauration non installés sur cet hôte",
"serverDatastore": "server et datastore sont obligatoires",
"snapshotRequired": "snapshot est obligatoire",
"source": "source doit être pbs, borg ou local",
"sshPort": "ssh_port doit être un entier compris entre 1 et 65535",
"sshRequired": "ssh_user, ssh_host et ssh_remote_path sont obligatoires pour le mode ssh",
"repositoryPath": "la cible n'a pas de chemin de référentiel",
"taskExpired": "tâche introuvable ou expirée",
"invalidExpression": "expression invalide",
"invalidExpression": "expression non valide",
"noReport": "aucun rapport émis",
"parseManifestFailed": "parse_manifest est sorti différent de zéro",
"jobExists": "le travail existe déjà : {value}",
"parseManifestFailed": "parse_manifest s'est terminé avec un code non nul",
"jobExists": "la tâche existe déjà : {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}",
"localArchiveMissing": "archive locale introuvable : {value}",
"borgDestination": "La destination Borg '{value}' est introuvable",
"pbsDestination": "La destination PBS '{value}' est introuvable",
"pbsPassword": "aucun mot de passe disponible pour le dépôt PBS '{value}'",
"borgRepoMissing": "le dépôt Borg \"{value}\" n'est pas configuré",
"pbsRepoMissing": "le dépôt PBS \"{value}\" n'est pas configuré",
"borgTargetMissing": "cible Borg introuvable : {value}",
"pbsTargetMissing": "dépôt PBS introuvable : {value}",
"borgDestination": "Destination Borg '{value}' introuvable",
"pbsDestination": "Destination PBS '{value}' introuvable",
"pbsPassword": "aucun mot de passe disponible pour le référentiel PBS '{value}'",
"borgRepoMissing": "Référentiel Borg \"{value}\" non configuré",
"pbsRepoMissing": "Référentiel PBS \"{value}\" non configuré",
"borgTargetMissing": "Cible Borg introuvable : {value}",
"pbsTargetMissing": "Référentiel PBS introuvable : {value}",
"pveJobMissing": "Tâche vzdump PVE introuvable : {value}",
"statePersist": "impossible de conserver l'état : {value}",
"sshDirectory": "impossible de préparer ssh dir : {value}",
"statePersist": "impossible d'enregistrer l'état : {value}",
"sshDirectory": "impossible de préparer le répertoire ssh : {value}",
"logRead": "impossible de lire le journal : {value}",
"envUpdate": "impossible de mettre à jour le .env : {value}",
"pbsConfigWrite": "échec de la persistance de la configuration PBS : {value}",
"persist": "échec de la persistance : {value}",
"envUpdate": "impossible de mettre à jour .env : {value}",
"pbsConfigWrite": "échec de l'enregistrement de la configuration PBS : {value}",
"persist": "échec de l'enregistrement : {value}",
"archiveRemove": "échec de la suppression de l'archive : {value}",
"start": "échec du démarrage : {value}",
"borgTargetsUpdate": "échec de la mise à jour de borg-targets.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}",
"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}",
"unitsWrite": "échec de l'écriture des unités systemd : {value}",
"format": "échec du formatage : {value}",
"calendar": "invalide sur_calendar : {value}",
"calendar": "on_calendar non valide : {value}",
"mount": "échec du montage : {value}",
"parserInvocation": "échec de l'appel de l'analyseur : {value}",
"preflightInvocation": "échec de l'appel de contrôle en amont : {value}",
"publicKeyMissing": "clé publique introuvable après génération : {value}",
"retentionInteger": "rétention.{value} doit être un nombre entier",
"retentionNegative": "rétention.{value} doit être non négatif",
"keygen": "Échec de ssh-keygen : {value}",
"systemctl": "Échec de systemctl : {value}",
"unmount": "échec du démontage : {value}",
"taskIncomplete": "la tâche est dans l'état \"{value}\", non terminée",
"preflightInvocation": "échec de l'appel de la vérification préalable : {value}",
"publicKeyMissing": "clé publique introuvable après la génération : {value}",
"retentionInteger": "retention.{value} doit être un entier",
"retentionNegative": "retention.{value} doit être positif ou nul",
"keygen": "échec de ssh-keygen : {value}",
"systemctl": "échec de systemctl : {value}",
"unmount": "échec de umount : {value}",
"taskIncomplete": "la tâche est dans l'état \"{value}\", et non terminée",
"unknownKind": "type inconnu : {value}",
"unknownMode": "mode inconnu \"{value}\"",
"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",
"keyImport": "Aucun fichier de clé PBS n'est installé sur {value}.Importez d’abord le fichier de clés.",
"storageMismatch": "Incompatibilité de stockage des tâches PVE (la tâche utilise {value}, la charge utile indique {other})"
"defaultAdd": "{value} est la valeur par défaut intégrée ; inutile de l'ajouter",
"keyImport": "Aucun fichier de clé PBS n'est installé dans {value}. Importez d'abord le fichier de clé.",
"storageMismatch": "Incohérence du stockage de la tâche PVE (la tâche utilise {value}, la requête indique {other})"
}
},
"healthStatus": {
@@ -5438,6 +5597,7 @@
"websocketError": "Une erreur WebSocket s'est produite",
"connectionClosed": "Connexion fermée",
"completedSuccessfully": "Script terminé avec succès",
"cancelled": "Opération annulée.",
"completedWithError": "Script terminé avec le code d'erreur {code}",
"yes": "Oui",
"yourInput": "Votre contribution :",
@@ -7429,7 +7589,7 @@
"signInWith": "Se connecter avec",
"methodPassword": "Utilisateur et mot de passe",
"methodToken": "Jeton API",
"username": "Utilisateur (utilisateur@realm)",
"username": "Utilisateur",
"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.",
"cancel": "Annuler",
@@ -7442,10 +7602,10 @@
"editConnection": "Connexion à modifier",
"add": "Ajouter une connexion",
"name": "Nom",
"url": "URL HTTPS (inclure :8007 pour le port natif de PBS)",
"token_id": "Identifiant du jeton API (user@realm!token)",
"token_secret": "Secret du jeton API (laisser vide pour conserver le secret enregistré)",
"fingerprint": "Empreinte SHA256 du certificat (facultative)",
"url": "Adresse HTTPS",
"token_id": "ID du jeton API",
"token_secret": "Secret du jeton API",
"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.",
"saved": "Connexion PBS vérifiée et enregistrée.",
"saveFailed": "Impossible d'enregistrer la connexion PBS.",
@@ -7489,50 +7649,50 @@
"duration": "Durée",
"noJobs": "Aucune planification de synchronisation, de vérification ou d'élagage n'est configurée.",
"errors": {
"configRead": "Impossible de lire les connexions PBS enregistrées.Vérifiez le fichier de configuration et les autorisations.",
"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.",
"invalidUrl": "Use an HTTPS PBS address without embedded credentials, query parameters or a fragment.",
"nameRequired": "Enter a server name of at most 128 characters.",
"tokenIdFormat": "saisissez l'ID du jeton de l'API PBS au format user@realm!token.",
"tokenSecret": "saisissez un secret de jeton d'API valide, sans espaces ni caractères de contrôle.",
"invalidTokenId": "The API token ID must contain only ASCII characters.",
"invalidFingerprint": "saisissez l'empreinte digitale 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.",
"tokenRejected": "PBS a rejeté le jeton API ou ses autorisations.Vérifiez les ACL de l'utilisateur et du jeton.",
"invalidResponse": "PBS a renvoyé une réponse inattendue.Les redirections ne sont pas suivies.",
"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.",
"invalidField": "Un champ de la connexion n'est pas valide ou est trop long.",
"invalidUrl": "Utilisez une adresse PBS HTTPS sans identifiants intégrés, paramètres de requête ni fragment.",
"nameRequired": "Saisissez un nom de serveur de 128 caractères au maximum.",
"tokenIdFormat": "Saisissez l'ID du jeton API PBS au format user@realm!token.",
"tokenSecret": "Saisissez un secret de jeton API valide, sans espaces ni caractères de contrôle.",
"invalidTokenId": "L'ID du jeton API ne doit contenir que des caractères ASCII.",
"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. Aucun identifiant n'a été envoyé.",
"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.",
"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.",
"invalidId": "L'ID de connexion PBS n'est pas valide.Rechargez la liste de connexions.",
"invalidDatastores": "PBS a renvoyé une liste de banques de données non valide.",
"connectionLimit": "La plupart des connexions PBS {count} peuvent être configurées.",
"username": "saisissez l'utilisateur PBS au format user@realm, par exemple root@pam.",
"password": "saisissez le mot de passe de l'utilisateur PBS.",
"loginRejected": "PBS a rejeté le nom d'utilisateur ou le mot de passe.",
"connectFailed": "Impossible de se connecter à PBS en HTTPS vérifié. Vérifiez l'adresse, le certificat et le service.",
"invalidId": "L'ID de la connexion PBS n'est pas valide. Rechargez la liste des connexions.",
"invalidDatastores": "PBS a renvoyé une liste de magasins de données non valide.",
"connectionLimit": "Vous pouvez configurer au maximum {count} connexions PBS.",
"username": "Saisissez l'utilisateur PBS au format user@realm, par exemple root@pam.",
"password": "Saisissez le mot de passe de l'utilisateur PBS.",
"loginRejected": "PBS a refusé le nom d'utilisateur ou le mot de passe.",
"invalidLogin": "PBS a renvoyé une réponse de connexion non valide.",
"tokenCreateDenied": "Cet utilisateur PBS ne peut pas créer de jetons API.",
"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.",
"notFound": "La connexion PBS n’a pas été trouvée.Rechargez la liste de connexions.",
"readFailed": "Impossible de lire les données PBS.Vérifiez son service et ses autorisations.",
"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 est introuvable. Rechargez la liste des connexions.",
"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.",
"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.",
"datastoreOffline": "La banque de données est hors ligne, en mode maintenance ou son périphérique de support n'est pas monté.",
"datastoreUnavailable": "Le système de fichiers de la banque de données n'est pas disponible."
"authRequired": "Activez l'authentification locale dans Monitor avant de gérer des connexions PBS distantes.",
"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 du magasin de données n'est pas disponible."
},
"taskTypes": {
"backup": "Backup",
"restore": "Restaurer",
"backup": "Sauvegarde",
"restore": "Restauration",
"verify": "Vérification",
"verifyGroup": "Vérification du groupe de sauvegarde",
"verifySnapshot": "Vérification d'instantané",
"prune": "Prune",
"garbageCollection": "Collecte des déchets",
"sync": "Synchronization",
"updateCheck": "vérifier les mises à jour",
"verifyGroup": "Vérification du groupe de sauvegardes",
"verifySnapshot": "Vérification de l'instantané",
"prune": "Purge",
"garbageCollection": "Ramasse-miettes",
"sync": "Synchronisation",
"updateCheck": "Recherche de mises à jour",
"terminal": "Terminal",
"createDatastore": "Create datastore",
"createDatastore": "Créer un magasin de données",
"other": "Autre tâche ({type})"
},
"states": {
@@ -7545,27 +7705,27 @@
"serviceStates": {
"active": "Actif",
"inactive": "Inactif",
"failed": "Failed",
"failed": "Échoué",
"activating": "Démarrage",
"deactivating": "Arrêter",
"deactivating": "Arrêt",
"unknown": "Inconnu"
},
"durationUnits": {
"seconds": "{count} s",
"minutes": "{count} min",
"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.",
"usernameHelp": "utilisez user@realm, par exemple root@pam.",
"tokenIdHelp": "Use user@realm!token, for example monitor@pbs!proxmenux.",
"tokenSecretHelp": "saisissez le secret de ce jeton API.",
"tokenSecretKeepHelp": "laissez vide pour garder secret le jeton enregistré.",
"urlHelp": "Incluez :8007 pour le port PBS par défaut, par exemple https://pbs.example:8007.",
"usernameHelp": "Utilisez user@realm, par exemple root@pam.",
"tokenIdHelp": "Utilisez user@realm!token, par exemple monitor@pbs!proxmenux.",
"tokenSecretHelp": "Saisissez le secret de ce jeton API.",
"tokenSecretKeepHelp": "Laissez vide pour conserver le secret du jeton enregistré.",
"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.",
"removedRefreshFailed": "The PBS connection was removed, but the connection list could not be refreshed. Reload the page.",
"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": "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",
"datastoreType": "banque de données"
"datastoreType": "Magasin de données"
},
"monitorLinks": {
"groups": {
@@ -7606,15 +7766,15 @@
"changeAddress": "Modifier l'adresse",
"cancel": "Annuler",
"errors": {
"addressRequired": "saisissez l'adresse du moniteur.",
"invalidAddress": "L'adresse doit commencer par http:// ou https:// et nommer un hôte.",
"addressCredentials": "L'adresse ne doit pas contenir d'utilisateur ou de mot de passe.",
"invalidPort": "Le port de l’adresse n’est pas valide.",
"invalidRequest": "La demande n'est pas valide.Actualisez la page et réessayez.",
"limit": "Au maximum des nœuds {count} peuvent être ajoutés.",
"duplicate": "Cette adresse est déjà dans la liste.",
"notFound": "Le nœud n’a pas été trouvé.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."
"addressRequired": "Saisissez l'adresse du Monitor.",
"invalidAddress": "L'adresse doit commencer par http:// ou https:// et indiquer un hôte.",
"addressCredentials": "L'adresse ne doit contenir ni utilisateur ni mot de passe.",
"invalidPort": "Le port de l'adresse n'est pas valide.",
"invalidRequest": "La requête n'est pas valide. Rechargez la page et réessayez.",
"limit": "Vous pouvez ajouter au maximum {count} nœuds.",
"duplicate": "Cette adresse figure déjà dans la liste.",
"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."
}
}
}