From 66f00fcf94cd0de082dc76756203de6f57ef0b63 Mon Sep 17 00:00:00 2001 From: Owen Schwartz Date: Wed, 3 Jun 2026 21:39:11 -0700 Subject: [PATCH] New translations en-us.json (French) [ci skip] --- messages/fr-FR.json | 172 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 163 insertions(+), 9 deletions(-) diff --git a/messages/fr-FR.json b/messages/fr-FR.json index 02f5e0d41..54a0581f2 100644 --- a/messages/fr-FR.json +++ b/messages/fr-FR.json @@ -176,6 +176,7 @@ "shareErrorCreateDescription": "Une erreur s'est produite lors de la création du lien partageable", "shareCreateDescription": "N'importe qui avec ce lien peut accéder à la ressource", "shareTitleOptional": "Titre (facultatif)", + "sharePathOptional": "Chemin (optionnel)", "expireIn": "Expire dans", "neverExpire": "N'expire jamais", "shareExpireDescription": "Le délai d'expiration correspond à la période pendant laquelle le lien sera utilisable et permettra d'accéder à la ressource. Passé ce délai, le lien ne fonctionnera plus et les utilisateurs qui l'ont utilisé perdront l'accès à la ressource.", @@ -208,11 +209,33 @@ "resourcesSearch": "Chercher des ressources...", "resourceAdd": "Ajouter une ressource", "resourceErrorDelte": "Erreur lors de la de suppression de la ressource", + "resourcePoliciesTitle": "Gérer les politiques de ressource", + "resourcePoliciesAttachedResourcesColumnTitle": "Ressources attachées", + "resourcePoliciesAttachedResources": "{count} ressource(s)", + "resourcePoliciesAttachedResourcesEmpty": "pas de ressources", + "resourcePoliciesDescription": "Créer et gérer des politiques d'authentification pour contrôler l'accès à vos ressources", + "resourcePoliciesSearch": "Chercher des politiques...", + "resourcePoliciesAdd": "Ajouter une politique", + "resourcePoliciesDefaultBadgeText": "Politique par défaut", + "resourcePoliciesCreate": "Créer une politique de ressource", + "resourcePoliciesCreateDescription": "Suivez les étapes ci-dessous pour créer une nouvelle politique", + "resourcePolicyName": "Nom de la politique", + "resourcePolicyNameDescription": "Donnez à cette politique un nom pour l'identifier parmi vos ressources", + "resourcePolicyNamePlaceholder": "par exemple : Politique d'Accès Interne", + "resourcePoliciesSeeAll": "Voir toutes les politiques", + "resourcePolicyAuthMethodAdd": "Ajouter une méthode d'authentification", + "resourcePolicyOtpEmailAdd": "Ajouter des emails pour OTP", + "resourcePolicyRulesAdd": "Ajouter des règles", + "resourcePolicyAuthMethodsDescription": "Permettre l'accès aux ressources via des méthodes d'authentification supplémentaires", + "resourcePolicyUsersRolesDescription": "Configurer quels utilisateurs et rôles peuvent visiter les ressources associées", + "rulesResourcePolicyDescription": "Configurer les règles pour contrôler l'accès aux ressources associées à cette politique", "authentication": "Authentification", "protected": "Protégé", "notProtected": "Non Protégé", "resourceMessageRemove": "Une fois supprimée, la ressource ne sera plus accessible. Toutes les cibles associées à la ressource seront également supprimées.", "resourceQuestionRemove": "Êtes-vous sûr de vouloir retirer la ressource de l'organisation ?", + "resourcePolicyMessageRemove": "Une fois supprimée, la politique de ressource ne sera plus accessible. Toutes les ressources associées seront détachées et laissées sans authentification.", + "resourcePolicyQuestionRemove": "Êtes-vous sûr de vouloir supprimer la politique de ressource de l'organisation ?", "resourceHTTP": "Ressource HTTPS", "resourceHTTPDescription": "Proxy les demandes sur HTTPS en utilisant un nom de domaine entièrement qualifié.", "resourceRaw": "Ressource TCP/UDP brute", @@ -220,8 +243,9 @@ "resourceRawDescriptionCloud": "Requêtes de proxy sur TCP/UDP brute en utilisant un numéro de port. Nécessite des sites pour se connecter à un noeud distant.", "resourceCreate": "Créer une ressource", "resourceCreateDescription": "Suivez les étapes ci-dessous pour créer une nouvelle ressource", + "resourceCreateGeneralDescription": "Configurer les paramètres de ressource de base, y compris le nom et le type", "resourceSeeAll": "Voir toutes les ressources", - "resourceInfo": "Informations sur la ressource", + "resourceCreateGeneral": "Général", "resourceNameDescription": "Ceci est le nom d'affichage de la ressource.", "siteSelect": "Sélectionnez un nœud", "siteSearch": "Chercher un nœud", @@ -231,12 +255,15 @@ "noCountryFound": "Aucun pays trouvé.", "siteSelectionDescription": "Ce site fournira la connectivité à la cible.", "resourceType": "Type de ressource", - "resourceTypeDescription": "Déterminer comment accéder à la ressource", + "resourceTypeDescription": "Cela contrôle le protocole de la ressource et comment il sera rendu dans le navigateur. Cela ne peut pas être changé plus tard.", + "resourceDomainDescription": "La ressource sera servie à ce nom de domaine pleinement qualifié.", "resourceHTTPSSettings": "Paramètres HTTPS", "resourceHTTPSSettingsDescription": "Configurer comment la ressource sera accédée via HTTPS", + "resourcePortDescription": "Le port externe sur l'instance ou nœud Pangolin où la ressource sera accessible.", "domainType": "Type de domaine", "subdomain": "Sous-domaine", "baseDomain": "Domaine racine", + "configure": "Configurer", "subdomnainDescription": "Le sous-domaine où la ressource sera accessible.", "resourceRawSettings": "Paramètres TCP/UDP", "resourceRawSettingsDescription": "Configurer comment la ressource sera accédée via TCP/UDP", @@ -253,8 +280,27 @@ "resourceLearnRaw": "Apprenez à configurer les ressources TCP/UDP", "resourceBack": "Retour aux ressources", "resourceGoTo": "Aller à la ressource", + "resourcePolicyDelete": "Supprimer la politique de ressource", + "resourcePolicyDeleteConfirm": "Confirmer la suppression de la politique de ressource", "resourceDelete": "Supprimer la ressource", "resourceDeleteConfirm": "Confirmer la suppression de la ressource", + "labelDelete": "Supprimer Étiquette", + "labelAdd": "Ajouter Étiquette", + "labelCreateSuccessMessage": "Étiquette créée avec succès", + "labelEditSuccessMessage": "Étiquette modifiée avec succès", + "labelNameField": "Nom de l'étiquette", + "labelColorField": "Couleur de l'étiquette", + "labelPlaceholder": "Ex : homelab", + "labelCreate": "Créer Étiquette", + "createLabelDialogTitle": "Créer Étiquette", + "createLabelDialogDescription": "Créer une nouvelle étiquette qui peut être attachée à cette organisation", + "labelEdit": "Modifier Étiquette", + "editLabelDialogTitle": "Mettre à jour Étiquette", + "editLabelDialogDescription": "Modifier une nouvelle étiquette qui peut être attachée à cette organisation", + "labelDeleteConfirm": "Confirmer la suppression de l'étiquette", + "labelErrorDelete": "Échec de la suppression de l'étiquette", + "labelMessageRemove": "Cette action est permanente. Tous les sites, ressources et clients étiquetés avec cette étiquette seront détachés.", + "labelQuestionRemove": "Êtes-vous sûr de vouloir supprimer l'étiquette de l'organisation ?", "visibility": "Visibilité", "enabled": "Activé", "disabled": "Désactivé", @@ -265,6 +311,8 @@ "rules": "Règles", "resourceSettingDescription": "Configurer les paramètres de la ressource", "resourceSetting": "Réglages de {resourceName}", + "resourcePolicySettingDescription": "Configurer les paramètres de la politique de ressource", + "resourcePolicySetting": "Paramètres de {policyName}", "alwaysAllow": "Outrepasser l'authentification", "alwaysDeny": "Bloquer l'accès", "passToAuth": "Passer à l'authentification", @@ -747,6 +795,16 @@ "rulesNoOne": "Aucune règle. Ajoutez une règle en utilisant le formulaire.", "rulesOrder": "Les règles sont évaluées par priorité dans l'ordre croissant.", "rulesSubmit": "Enregistrer les règles", + "policyErrorCreate": "Erreur lors de la création de la politique", + "policyErrorCreateDescription": "Une erreur s'est produite lors de la création de la politique", + "policyErrorCreateMessageDescription": "Une erreur inattendue s'est produite", + "policyErrorUpdate": "Erreur lors de la mise à jour de la politique", + "policyErrorUpdateDescription": "Une erreur s'est produite lors de la mise à jour de la politique", + "policyErrorUpdateMessageDescription": "Une erreur inattendue s'est produite", + "policyCreatedSuccess": "Politique de ressource créée avec succès", + "policyUpdatedSuccess": "Politique de ressource mise à jour avec succès", + "authMethodsSave": "Enregistrer les méthodes d'authentification", + "rulesSave": "Enregistrer les règles", "resourceErrorCreate": "Erreur lors de la création de la ressource", "resourceErrorCreateDescription": "Une erreur s'est produite lors de la création de la ressource", "resourceErrorCreateMessage": "Erreur lors de la création de la ressource :", @@ -810,6 +868,17 @@ "pincodeAdd": "Ajouter un code PIN", "pincodeRemove": "Supprimer le code PIN", "resourceAuthMethods": "Méthodes d'authentification", + "resourcePolicyAuthMethodsEmpty": "Pas de méthode d'authentification", + "resourcePolicyOtpEmpty": "Aucun mot de passe à usage unique", + "resourcePolicyReadOnly": "Cette politique est en lecture seule", + "resourcePolicyReadOnlyDescription": "Cette politique de ressource est partagée sur plusieurs ressources, vous ne pouvez pas l'éditer sur cette page.", + "editSharedPolicy": "Modifier la politique partagée", + "resourcePolicyTypeSave": "Enregistrer le type de ressource", + "resourcePolicySelect": "Sélectionner la politique de ressource", + "resourcePolicySelectError": "Sélectionner une politique de ressource", + "resourcePolicyNotFound": "Politique introuvable", + "resourcePolicySearch": "Chercher des politiques", + "resourcePolicyRulesEmpty": "Pas de règles d'authentification", "resourceAuthMethodsDescriptions": "Permettre l'accès à la ressource via des méthodes d'authentification supplémentaires", "resourceAuthSettingsSave": "Enregistré avec succès", "resourceAuthSettingsSaveDescription": "Les paramètres d'authentification ont été enregistrés", @@ -845,6 +914,12 @@ "resourcePincodeSetupTitle": "Définir le code PIN", "resourcePincodeSetupTitleDescription": "Définir un code PIN pour protéger cette ressource", "resourceRoleDescription": "Les administrateurs peuvent toujours accéder à cette ressource.", + "resourcePolicySelectTitle": "Politique d'accès à la ressource", + "resourcePolicySelectDescription": "Sélectionner le type de politique de ressource pour l'authentification", + "resourcePolicyInline": "Politique de ressource en ligne", + "resourcePolicyInlineDescription": "Politique d'accès limitée uniquement à cette ressource", + "resourcePolicyShared": "Politique de ressource partagée", + "resourcePolicySharedDescription": "Cette ressource utilise une politique partagée. Les paramètres de niveau politique (méthodes d'authentification, liste blanche email) sont verrouillés. Vous pouvez ajouter des règles spécifiques à la ressource, rôles et utilisateurs ci-dessous.", "resourceUsersRoles": "Contrôles d'accès", "resourceUsersRolesDescription": "Configurer quels utilisateurs et rôles peuvent visiter cette ressource", "resourceUsersRolesSubmit": "Enregistrer les contrôles d'accès", @@ -1140,6 +1215,18 @@ "idpErrorConnectingTo": "Un problème est survenu lors de la connexion à {name}. Veuillez contacter votre administrateur.", "idpErrorNotFound": "IdP introuvable", "inviteInvalid": "Invitation invalide", + "labels": "Étiquettes", + "orgLabelsDescription": "Gérer les étiquettes dans cette organisation.", + "addLabels": "Ajouter des étiquettes", + "siteLabelsTab": "Étiquettes", + "siteLabelsDescription": "Gérer les étiquettes associées à ce site.", + "labelsNotFound": "Étiquettes introuvables", + "labelSearch": "Chercher des étiquettes", + "accessLabelFilterCount": "{count, plural, one {# étiquette} other {# étiquettes}}", + "labelOverflowCount": "+{count, plural, one {# étiquette} other {# étiquettes}}", + "accessLabelFilterClear": "Effacer les filtres d'étiquette", + "selectColor": "Sélectionner la couleur", + "createNewLabel": "Créer une nouvelle étiquette d'organisation \"{label}\"", "inviteInvalidDescription": "Le lien d'invitation n'est pas valide.", "inviteErrorWrongUser": "L'invitation n'est pas pour cet utilisateur", "inviteErrorUserNotExists": "L'utilisateur n'existe pas. Veuillez d'abord créer un compte.", @@ -1374,6 +1461,8 @@ "sidebarResources": "Ressource", "sidebarProxyResources": "Publique", "sidebarClientResources": "Privé", + "sidebarPolicies": "Politiques", + "sidebarResourcePolicies": "Ressources", "sidebarAccessControl": "Contrôle d'accès", "sidebarLogsAndAnalytics": "Journaux & Analytiques", "sidebarTeam": "Equipe", @@ -1557,7 +1646,8 @@ "standaloneHcFilterSiteIdFallback": "Site {id}", "standaloneHcFilterResourceIdFallback": "Ressource {id}", "blueprints": "Configs", - "blueprintsDescription": "Appliquer les configurations déclaratives et afficher les exécutions précédentes", + "blueprintsLog": "Journal des plans", + "blueprintsDescription": "Voir les applications passées des plans et leurs résultats", "blueprintAdd": "Ajouter une Config", "blueprintGoBack": "Voir toutes les Configs", "blueprintCreate": "Créer une Config", @@ -1575,7 +1665,17 @@ "contents": "Contenus", "parsedContents": "Contenu analysé (lecture seule)", "enableDockerSocket": "Activer la Config Docker", - "enableDockerSocketDescription": "Activer le ramassage d'étiquettes de socket Docker pour les étiquettes de plan. Le chemin de socket doit être fourni à Newt.", + "enableDockerSocketDescription": "Activer le ramassage d'étiquettes de socket Docker pour les étiquettes de plan. Le chemin du socket doit être fourni au connecteur du site. Lisez plus à ce sujet dans la documentation.", + "newtAutoUpdate": "Activer la mise à jour automatique du site", + "newtAutoUpdateDescription": "Lorsqu'il est activé, les connecteurs de site se mettront automatiquement à jour vers la dernière version lorsqu'une nouvelle version sera disponible.", + "siteAutoUpdate": "Mise à jour automatique du site", + "siteAutoUpdateLabel": "Activer la mise à jour automatique", + "siteAutoUpdateDescription": "Contrôler si le connecteur de ce site télécharge automatiquement la dernière version.", + "siteAutoUpdateOrgDefault": "Valeur par défaut de l'organisation : {state}", + "siteAutoUpdateOverriding": "Substitution des paramètres de l'organisation", + "siteAutoUpdateResetToOrg": "Réinitialiser à la valeur par défaut de l'organisation", + "siteAutoUpdateEnabled": "activé", + "siteAutoUpdateDisabled": "désactivé", "viewDockerContainers": "Voir les conteneurs Docker", "containersIn": "Conteneurs en {siteName}", "selectContainerDescription": "Sélectionnez n'importe quel conteneur à utiliser comme nom d'hôte pour cette cible. Cliquez sur un port pour utiliser un port.", @@ -1620,6 +1720,7 @@ "certificateStatus": "Certificat", "certificateStatusAutoRefreshHint": "L'état se rafraîchit automatiquement.", "loading": "Chargement", + "loadingEllipsis": "Chargement...", "loadingAnalytics": "Chargement de l'analyse", "restart": "Redémarrer", "domains": "Domaines", @@ -1846,6 +1947,7 @@ "billingManageLicenseSubscription": "Gérer votre abonnement pour les clés de licence auto-hébergées payantes", "billingCurrentKeys": "Clés actuelles", "billingModifyCurrentPlan": "Modifier le plan actuel", + "billingManageLicenseSubscriptionDescription": "Gérez votre abonnement pour clés de licence auto-hébergées payantes et téléchargez les factures.", "billingConfirmUpgrade": "Confirmer la mise à niveau", "billingConfirmDowngrade": "Confirmer la rétrogradation", "billingConfirmUpgradeDescription": "Vous êtes sur le point de mettre à niveau votre offre. Examinez les nouvelles limites et les nouveaux prix ci-dessous.", @@ -1943,7 +2045,36 @@ "timeIsInSeconds": "Le temps est exprimé en secondes", "requireDeviceApproval": "Exiger les autorisations de l'appareil", "requireDeviceApprovalDescription": "Les utilisateurs ayant ce rôle ont besoin de nouveaux périphériques approuvés par un administrateur avant de pouvoir se connecter et accéder aux ressources.", - "sshAccess": "Accès SSH", + "sshSettings": "Paramètres SSH", + "rdpSettings": "Paramètres RDP", + "vncSettings": "Paramètres VNC", + "sshServer": "Serveur SSH", + "rdpServer": "Serveur RDP", + "vncServer": "Serveur VNC", + "sshServerDescription": "Configurer la méthode d'authentification, l'emplacement du démon et la destination du serveur", + "rdpServerDescription": "Configurer la destination et le port du serveur RDP", + "vncServerDescription": "Configurer la destination et le port du serveur VNC", + "sshServerMode": "Mode", + "sshServerModeStandard": "Serveur SSH Standard", + "sshServerModePangolin": "Pangolin SSH", + "sshServerModeStandardDescription": "Relai les commandes sur le réseau vers un serveur SSH tel qu'OpenSSH.", + "sshServerModeNative": "Serveur SSH Natif", + "sshServerModeNativeDescription": "Exécute les commandes directement sur l'hôte via le Connecteur de Site. Aucune configuration réseau requise.", + "sshAuthenticationMethod": "Méthode d'authentification", + "sshAuthMethodManual": "Authentification Manuelle", + "sshAuthMethodManualDescription": "Nécessite des identifiants d'hôte existants. Évite l'approvisionnement automatique.", + "sshAuthMethodAutomated": "Approvisionnement Automatisé", + "sshAuthMethodAutomatedDescription": "Crée automatiquement des utilisateurs, groupes, et permissions sudo sur l'hôte.", + "sshAuthDaemonLocation": "Emplacement du Démon Auth", + "sshDaemonLocationSiteDescription": "Exécute localement sur la machine hébergeant le connecteur de site.", + "sshDaemonLocationRemote": "Sur hôte distant", + "sshDaemonLocationRemoteDescription": "S'exécute sur une machine cible séparée sur le même réseau.", + "sshDaemonDisclaimer": "Assurez-vous que votre hôte cible est correctement configuré pour exécuter le daemon auth avant de terminer cette configuration, ou l'approvisionnement échouera.", + "sshDaemonPort": "Port du Démon", + "sshServerDestination": "Destination du Serveur", + "sshServerDestinationDescription": "Configurer la destination et le port du serveur SSH", + "destination": "Destination", + "bgTargetMultiSiteDisclaimer": "La sélection de plusieurs sites permet un routage résilient et une bascule pour une haute disponibilité.", "roleAllowSsh": "Autoriser SSH", "roleAllowSshAllow": "Autoriser", "roleAllowSshDisallow": "Interdire", @@ -1957,7 +2088,7 @@ "sshSudoModeCommandsDescription": "L'utilisateur ne peut exécuter que les commandes spécifiées avec sudo.", "sshSudo": "Autoriser sudo", "sshSudoCommands": "Commandes Sudo", - "sshSudoCommandsDescription": "Liste des commandes séparées par des virgules que l'utilisateur est autorisé à exécuter avec sudo.", + "sshSudoCommandsDescription": "Liste de commandes séparées par des virgules que l'utilisateur est autorisé à exécuter avec sudo. Des chemins absolus doivent être utilisés.", "sshCreateHomeDir": "Créer un répertoire personnel", "sshUnixGroups": "Groupes Unix", "sshUnixGroupsDescription": "Groupes Unix séparés par des virgules pour ajouter l'utilisateur sur l'hôte cible.", @@ -2235,7 +2366,7 @@ "description": "Serveur Pangolin auto-hébergé avec des cloches et des sifflets supplémentaires", "introTitle": "Pangolin auto-hébergé géré", "introDescription": "est une option de déploiement conçue pour les personnes qui veulent de la simplicité et de la fiabilité tout en gardant leurs données privées et auto-hébergées.", - "introDetail": "Avec cette option, vous exécutez toujours votre propre nœud Pangolin - vos tunnels, la terminaison TLS et le trafic restent sur votre serveur. La différence est que la gestion et la surveillance sont gérées via notre tableau de bord du cloud, qui déverrouille un certain nombre d'avantages :", + "introDetail": "Avec cette option, vous exécutez toujours votre propre nœud Pangolin - vos tunnels, la terminaison TLS et le trafic restent sur votre serveur. La différence est que la gestion et la surveillance sont gérées via notre tableau de bord du cloud, ce qui débloque un certain nombre d'avantages :", "benefitSimplerOperations": { "title": "Opérations plus simples", "description": "Pas besoin de faire tourner votre propre serveur de messagerie ou de configurer des alertes complexes. Vous obtiendrez des contrôles de santé et des alertes de temps d'arrêt par la suite." @@ -2939,7 +3070,7 @@ "learnMore": "En savoir plus", "backToHome": "Retour à l'accueil", "needToSignInToOrg": "Besoin d'utiliser le fournisseur d'identité de votre organisation ?", - "maintenanceMode": "Mode de maintenance", + "maintenanceMode": "Page de maintenance", "maintenanceModeDescription": "Afficher une page de maintenance aux visiteurs", "maintenanceModeType": "Type de mode de maintenance", "showMaintenancePage": "Afficher une page de maintenance aux visiteurs", @@ -2969,6 +3100,7 @@ "maintenanceScreenEstimatedCompletion": "Achèvement estimé :", "createInternalResourceDialogDestinationRequired": "La destination est requise", "available": "Disponible", + "disabledResourceDescription": "Lorsqu'il est désactivé, la ressource sera inaccessible pour tout le monde.", "archived": "Archivé", "noArchivedDevices": "Aucun périphérique archivé trouvé", "deviceArchived": "Appareil archivé", @@ -3298,5 +3430,27 @@ "memberPortalResourceDisabled": "Ressource désactivée", "memberPortalShowingResources": "Affichage de {start}-{end} sur {total} ressources", "memberPortalPrevious": "Précédent", - "memberPortalNext": "Suivant" + "memberPortalNext": "Suivant", + "httpSettings": "Paramètres HTTP", + "tcpSettings": "Paramètres TCP", + "udpSettings": "Paramètres UDP", + "sshTitle": "SSH", + "sshConnectingDescription": "Établissement d'une connexion sécurisée…", + "sshConnecting": "Connexion…", + "sshInitializing": "Initialisation…", + "sshSignInTitle": "Se connecter à SSH", + "sshSignInDescription": "Entrez vos identifiants SSH", + "sshPasswordTab": "Mot de passe", + "sshPrivateKeyTab": "Clé Privée", + "sshPrivateKeyField": "Clé Privée", + "sshPrivateKeyDisclaimer": "Votre clé privée n'est pas stockée ou visible par Pangolin. Alternativement, vous pouvez utiliser des certificats de courte durée pour une authentification transparente utilisant votre identité Pangolin existante.", + "sshLearnMore": "En savoir plus", + "sshPrivateKeyFile": "Fichier de Clé Privée", + "sshAuthenticate": "Authentifier", + "sshTerminate": "Terminer", + "sshPoweredBy": "Propulsé par", + "sshErrorNoTarget": "Aucune cible spécifiée", + "sshErrorWebSocket": "Échec de la connexion WebSocket", + "sshErrorAuthFailed": "Échec de l'authentification", + "sshErrorConnectionClosed": "Connexion fermée avant que l'authentification soit terminée" }