Merge remote-tracking branch 'upstream/dev' into feature-response-headers

# Conflicts:
#	server/db/pg/schema/schema.ts
#	server/lib/blueprints/proxyResources.ts
#	server/routers/resource/getResource.ts
#	src/app/[orgId]/settings/resources/proxy/[niceId]/proxy/page.tsx
#	src/components/HealthCheckCredenza.tsx
This commit is contained in:
Julian van der Horst
2026-07-07 11:13:15 +02:00
695 changed files with 67748 additions and 22904 deletions
+421 -34
View File
@@ -66,9 +66,15 @@
"local": "Locale",
"edit": "Modifier",
"siteConfirmDelete": "Confirmer la suppression du nœud",
"siteConfirmDeleteAndResources": "Confirmer la suppression du site et des ressources",
"siteDelete": "Supprimer le nœud",
"siteDeleteAndResources": "Supprimer le site et les ressources",
"siteMessageRemove": "Une fois supprimé, le nœud ne sera plus accessible. Toutes les cibles associées au nœud seront également supprimées.",
"siteMessageRemoveAndResources": "Cela supprimera définitivement toutes les ressources publiques et privées liées à ce site, même si une ressource est également associée à d'autres sites.",
"siteQuestionRemove": "Êtes-vous sûr de vouloir supprimer ce nœud de l'organisation ?",
"siteQuestionRemoveAndResources": "Êtes-vous sûr de vouloir supprimer ce site et toutes les ressources associées?",
"sitesTableDeleteSite": "Supprimer le site",
"sitesTableDeleteSiteAndResources": "Supprimer le site et les ressources",
"siteManageSites": "Gérer les nœuds",
"siteDescription": "Créer et gérer des sites pour activer la connectivité aux réseaux privés",
"sitesBannerTitle": "Se connecter à n'importe quel réseau",
@@ -101,6 +107,8 @@
"sitesTableViewPrivateResources": "Voir les ressources privées",
"siteInstallNewt": "Installer Newt",
"siteInstallNewtDescription": "Faites fonctionner Newt sur votre système",
"siteInstallKubernetesDocsDescription": "Pour plus d'informations à jour sur l'installation de Kubernetes, consultez <docsLink>docs.pangolin.net/manage/sites/install-kubernetes</docsLink>.",
"siteInstallAdvantechDocsDescription": "Pour les instructions d'installation du modem Advantech, voir <docsLink>docs.pangolin.net/manage/sites/install-advantech</docsLink>.",
"WgConfiguration": "Configuration WireGuard",
"WgConfigurationDescription": "Utilisez la configuration suivante pour vous connecter au réseau",
"operatingSystem": "Système d'exploitation",
@@ -115,6 +123,16 @@
"siteUpdated": "Nœud mis à jour",
"siteUpdatedDescription": "Le nœud a été mis à jour.",
"siteGeneralDescription": "Configurer les paramètres par défaut de ce nœud",
"siteRestartTitle": "Redémarrer Site",
"siteRestartDescription": "Redémarrer le tunnel WireGuard pour ce site. Cela interrompra brièvement la connectivité.",
"siteRestartBody": "Utilisez cela si le tunnel du site ne fonctionne pas correctement et que vous souhaitez forcer une reconnexion sans redémarrer l'hôte.",
"siteRestartButton": "Redémarrer Site",
"siteRestartDialogMessage": "Êtes-vous sûr de vouloir redémarrer le tunnel WireGuard pour <b>{name}</b>? Le site perdra brièvement sa connectivité.",
"siteRestartWarning": "Le site sera brièvement déconnecté pendant le redémarrage du tunnel.",
"siteRestarted": "Site redémarré",
"siteRestartedDescription": "Le tunnel WireGuard a été redémarré.",
"siteErrorRestart": "Échec du redémarrage du site",
"siteErrorRestartDescription": "Une erreur s'est produite lors du redémarrage du site.",
"siteSettingDescription": "Configurer les paramètres du site",
"siteResourcesTab": "Ressources",
"siteResourcesNoneOnSite": "Ce site n'a pas encore de ressources publiques ou privées.",
@@ -156,8 +174,8 @@
"shareErrorDeleteMessage": "Une erreur s'est produite lors de la suppression du lien",
"shareDeleted": "Lien supprimé",
"shareDeletedDescription": "Le lien a été supprimé",
"shareDelete": "Supprimer le lien de partage",
"shareDeleteConfirm": "Confirmer la suppression du lien de partage",
"shareDelete": "Supprimer le lien partageable",
"shareDeleteConfirm": "Confirmer la suppression du lien partageable",
"shareQuestionRemove": "Êtes-vous sûr de vouloir supprimer ce lien de partage ?",
"shareMessageRemove": "Une fois supprimé, le lien ne fonctionnera plus et toute personne l'utilisant perdra l'accès à la ressource.",
"shareTokenDescription": "Le jeton d'accès peut être passé de deux façons : en tant que paramètre de requête ou dans les en-têtes de la requête. Elles doivent être transmises par le client à chaque demande d'accès authentifié.",
@@ -176,6 +194,8 @@
"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)",
"sharePathDescription": "Le lien redirigera les utilisateurs vers ce chemin après l'authentification.",
"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.",
@@ -199,8 +219,8 @@
"shareErrorSelectResource": "Veuillez sélectionner une ressource",
"proxyResourceTitle": "Gérer les ressources publiques",
"proxyResourceDescription": "Créer et gérer des ressources accessibles au public via un navigateur web",
"proxyResourcesBannerTitle": "Accès public basé sur le Web",
"proxyResourcesBannerDescription": "Les ressources publiques sont des proxys HTTPS ou TCP/UDP accessibles par tout le monde sur Internet via un navigateur Web. Contrairement aux ressources privées, elles n'exigent pas de logiciel côté client et peuvent inclure des politiques d'accès basées sur l'identité et le contexte.",
"publicResourcesBannerTitle": "Accès public basé sur le Web",
"publicResourcesBannerDescription": "Les ressources publiques sont des proxys HTTPS accessibles à quiconque sur Internet via un navigateur Web. Contrairement aux ressources privées, elles ne nécessitent pas de logiciel côté client et peuvent inclure des politiques d'accès fondées sur l'identité et le contexte.",
"clientResourceTitle": "Gérer les ressources privées",
"clientResourceDescription": "Créer et gérer des ressources qui ne sont accessibles que via un client connecté",
"privateResourcesBannerTitle": "Accès privé sans confiance",
@@ -208,11 +228,37 @@
"resourcesSearch": "Chercher des ressources...",
"resourceAdd": "Ajouter une ressource",
"resourceErrorDelte": "Erreur lors de la de suppression de la ressource",
"resourcePoliciesBannerTitle": "Réutiliser les règles d'authentification et d'accès",
"resourcePoliciesBannerDescription": "Les politiques de ressources partagées vous permettent de définir des méthodes d'authentification et des règles d'accès une fois, puis de les attacher à plusieurs ressources publiques. Lorsque vous mettez à jour une politique, chaque ressource liée hérite automatiquement des changements.",
"resourcePoliciesBannerButtonText": "En Savoir Plus",
"resourcePoliciesTitle": "Gérer les politiques de ressources publiques",
"resourcePoliciesAttachedResourcesColumnTitle": "Ressources",
"resourcePoliciesAttachedResources": "{count} ressource(s)",
"resourcePoliciesAttachedResourcesCount": "{count, plural, one {# ressource} other {# ressources}}",
"resourcePoliciesAttachedResourcesEmpty": "pas de ressources",
"resourcePoliciesDescription": "Créez et gérer les politiques d'authentification pour contrôler l'accès à vos ressources publiques",
"resourcePoliciesSearch": "Chercher des politiques...",
"resourcePoliciesAdd": "Ajouter une politique",
"resourcePoliciesDefaultBadgeText": "Politique par défaut",
"resourcePoliciesCreate": "Créer une politique de ressource publique",
"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 +266,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 +278,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",
@@ -247,14 +297,35 @@
"back": "Précédent",
"cancel": "Abandonner",
"resourceConfig": "Snippets de configuration",
"resourceConfigDescription": "Copiez et collez ces extraits de configuration pour configurer la ressource TCP/UDP",
"resourceConfigDescription": "Copiez et collez ces extraits de configuration pour configurer la ressource TCP/UDP.",
"resourceAddEntrypoints": "Traefik: Ajouter des points d'entrée",
"resourceExposePorts": "Gerbil: Exposer des ports dans Docker Compose",
"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",
"labelDuplicateError": "Étiquette en double",
"labelDuplicateErrorDescription": "Une étiquette avec ce nom existe déjà.",
"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 +336,8 @@
"rules": "Règles",
"resourceSettingDescription": "Configurer les paramètres de la ressource",
"resourceSetting": "Réglages de {resourceName}",
"resourcePolicySettingDescription": "Configurez les paramètres de cette politique de ressource publique",
"resourcePolicySetting": "Paramètres de {policyName}",
"alwaysAllow": "Outrepasser l'authentification",
"alwaysDeny": "Bloquer l'accès",
"passToAuth": "Passer à l'authentification",
@@ -671,7 +744,7 @@
"targetSubmit": "Ajouter une cible",
"targetNoOne": "Cette ressource n'a aucune cible. Ajoutez une cible pour configurer où envoyer des requêtes à l'arrière-plan.",
"targetNoOneDescription": "L'ajout de plus d'une cible ci-dessus activera l'équilibrage de charge.",
"targetsSubmit": "Enregistrer les cibles",
"targetsSubmit": "Enregistrer les paramètres",
"addTarget": "Ajouter une cible",
"proxyMultiSiteRoundRobinNodeHelp": "Le routage en tourniquet n'opérera pas entre des sites qui ne sont pas connectés au même nœud, mais le basculement fonctionnera.",
"targetErrorInvalidIp": "Adresse IP invalide",
@@ -705,11 +778,11 @@
"rulesErrorDuplicate": "Règle en double",
"rulesErrorDuplicateDescription": "Une règle avec ces paramètres existe déjà",
"rulesErrorInvalidIpAddressRange": "CIDR invalide",
"rulesErrorInvalidIpAddressRangeDescription": "Veuillez entrer une valeur CIDR valide",
"rulesErrorInvalidUrl": "Chemin URL invalide",
"rulesErrorInvalidUrlDescription": "Veuillez entrer un chemin URL valide",
"rulesErrorInvalidIpAddress": "IP invalide",
"rulesErrorInvalidIpAddressDescription": "Veuillez entrer une adresse IP valide",
"rulesErrorInvalidIpAddressRangeDescription": "Entrez une plage CIDR valide (par ex., 10.0.0.0/8).",
"rulesErrorInvalidUrl": "Chemin non valide",
"rulesErrorInvalidUrlDescription": "Entrez un chemin URL valide ou un modèle (par exemple, /api/*).",
"rulesErrorInvalidIpAddress": "Adresse IP invalide",
"rulesErrorInvalidIpAddressDescription": "Entrez une adresse IPv4 ou IPv6 valide.",
"rulesErrorUpdate": "Échec de la mise à jour des règles",
"rulesErrorUpdateDescription": "Une erreur s'est produite lors de la mise à jour des règles",
"rulesUpdated": "Activer les règles",
@@ -718,14 +791,23 @@
"rulesMatchIpAddress": "Entrez une adresse IP (ex: 103.21.244.12)",
"rulesMatchUrl": "Entrez un chemin URL ou un motif (ex: /api/v1/todos ou /api/v1/*)",
"rulesErrorInvalidPriority": "Priorité invalide",
"rulesErrorInvalidPriorityDescription": "Veuillez entrer une priorité valide",
"rulesErrorInvalidPriorityDescription": "Entrez un nombre entier de 1 ou plus.",
"rulesErrorDuplicatePriority": "Priorités en double",
"rulesErrorDuplicatePriorityDescription": "Veuillez entrer des priorités uniques",
"rulesErrorDuplicatePriorityDescription": "Chaque règle doit avoir un numéro de priorité unique.",
"rulesErrorValidation": "Règles invalides",
"rulesErrorValidationRuleDescription": "Règle {ruleNumber} : {message}",
"rulesErrorInvalidMatchTypeDescription": "Sélectionnez un type de correspondance valide (chemin, IP, CIDR, pays, région ou ASN).",
"rulesErrorValueRequired": "Entrez une valeur pour cette règle.",
"rulesErrorInvalidCountry": "Pays invalide",
"rulesErrorInvalidCountryDescription": "Sélectionnez un pays valide.",
"rulesErrorInvalidAsn": "ASN invalide",
"rulesErrorInvalidAsnDescription": "Entrez un ASN valide (par exemple, AS15169).",
"ruleUpdated": "Règles mises à jour",
"ruleUpdatedDescription": "Règles mises à jour avec succès",
"ruleErrorUpdate": "L'opération a échoué",
"ruleErrorUpdateDescription": "Une erreur s'est produite lors de l'enregistrement",
"rulesPriority": "Priorité",
"rulesReorderDragHandle": "Faites glisser pour réorganiser la priorité des règles",
"rulesAction": "Action",
"rulesMatchType": "Type de correspondance",
"value": "Valeur",
@@ -744,9 +826,60 @@
"rulesResource": "Configuration des règles de ressource",
"rulesResourceDescription": "Configurer les règles pour contrôler l'accès à la ressource",
"ruleSubmit": "Ajouter une règle",
"rulesNoOne": "Aucune règle. Ajoutez une règle en utilisant le formulaire.",
"rulesNoOne": "Aucune règle pour le moment.",
"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 paramètres",
"policyAuthStackTitle": "Authentification",
"policyAuthStackDescription": "Contrôlez quelles méthodes d'authentification sont nécessaires pour accéder à cette ressource",
"policyAuthOrLogicTitle": "Plusieurs méthodes d'authentification actives",
"policyAuthOrLogicBanner": "Les visiteurs peuvent s'authentifier en utilisant l'une des méthodes actives ci-dessous. Ils n'ont pas besoin de toutes les compléter.",
"policyAuthMethodActive": "Actif",
"policyAuthMethodOff": "Éteint",
"policyAuthSsoTitle": "SSO de la plateforme",
"policyAuthSsoDescription": "Exigez une connexion via le fournisseur d'identité de votre organisation",
"policyAuthSsoSummary": "{idp} · {users} utilisateurs, {roles} rôles",
"policyAuthSsoDefaultIdp": "Fournisseur par défaut",
"policyAuthAddDefaultIdentityProvider": "Ajouter un fournisseur d'identité par défaut",
"policyAuthOtherMethodsTitle": "Autres méthodes",
"policyAuthOtherMethodsDescription": "Des méthodes facultatives que les visiteurs peuvent utiliser à la place de ou en parallèle avec la SSO de la plateforme",
"policyAuthPasscodeTitle": "Code confidentiel",
"policyAuthPasscodeDescription": "Exiger un code confidentiel alphanumérique partagé pour accéder à la ressource",
"policyAuthPasscodeSummary": "Code confidentiel établi",
"policyAuthPincodeTitle": "Code PIN",
"policyAuthPincodeDescription": "Un code numérique court requis pour accéder à la ressource",
"policyAuthPincodeSummary": "Code PIN à 6 chiffres établi",
"policyAuthEmailTitle": "Liste blanche des e-mails",
"policyAuthEmailDescription": "Autorisez les adresses e-mail listées avec des mots de passe à usage unique",
"policyAuthEmailSummary": "{count} adresses autorisées",
"policyAuthEmailOtpCallout": "Activer la liste blanche des e-mails envoie un mot de passe à usage unique à l'e-mail du visiteur lors de la connexion.",
"policyAuthHeaderAuthTitle": "Authentification de l'en-tête de base",
"policyAuthHeaderAuthDescription": "Validez un nom et une valeur d'en-tête HTTP personnalisé à chaque requête",
"policyAuthHeaderAuthSummary": "En-tête configuré",
"policyAuthHeaderName": "Nom de l'en-tête",
"policyAuthHeaderValue": "Valeur attendue",
"policyAuthSetPasscode": "Définir le code confidentiel",
"policyAuthSetPincode": "Définir le code PIN",
"policyAuthSetEmailWhitelist": "Définir la liste blanche des e-mails",
"policyAuthSetHeaderAuth": "Configurer l'authentification des en-têtes de base",
"policyAccessRulesTitle": "Règles d'accès",
"policyAccessRulesEnableDescription": "Lorsqu'elles sont activées, les règles sont évaluées dans l'ordre décroissant jusqu'à ce que l'une soit évaluée comme vraie.",
"policyAccessRulesFirstMatch": "Les règles sont évaluées de haut en bas. La première règle correspondante décide du résultat.",
"policyAccessRulesHowItWorks": "Les règles correspondent aux demandes par chemin, adresse IP, emplacement, ou d'autres critères. Chaque règle applique une action : contourner l'authentification, bloquer l'accès, ou passer à l'authentification. Si aucune règle ne correspond, le trafic continue jusqu'à l'authentification.",
"policyAccessRulesFallthroughOff": "Lorsque les règles sont désactivées, tout le trafic passe par l'authentification.",
"policyAccessRulesFallthroughOn": "Lorsqu'aucune règle ne correspond, le trafic passe par l'authentification.",
"rulesPlaceholderCidr": "10.0.0.0/8",
"rulesPlaceholderPath": "/admin/*",
"rulesPlaceholderGeo": "RU, KP",
"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 :",
@@ -768,7 +901,7 @@
"accessControl": "Contrôle d'accès",
"shareLink": "Lien de partage {resource}",
"resourceSelect": "Sélectionner une ressource",
"shareLinks": "Liens de partage",
"shareLinks": "Liens partageables",
"share": "Liens partageables",
"shareDescription2": "Créez des liens partageables vers des ressources. Les liens fournissent un accès temporaire ou illimité à votre ressource. Vous pouvez configurer la durée d'expiration du lien lorsque vous en créez un.",
"shareEasyCreate": "Facile à créer et à partager",
@@ -810,6 +943,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 +989,20 @@
"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",
"resourcePolicyTypeLabel": "Type de politique",
"resourcePolicyLabel": "Politique de ressource",
"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.",
"sharedPolicy": "Politique partagée",
"sharedPolicyNoneDescription": "Cette ressource a sa propre politique.",
"resourceSharedPolicyOwnDescription": "Cette ressource a ses propres contrôles de règles d'authentification et d'accès.",
"resourceSharedPolicyInheritedDescription": "Cette ressource hérite de <policyLink>{policyName}</policyLink>.",
"resourceSharedPolicyAuthenticationNotice": "Cette ressource utilise une politique partagée. Certains paramètres d'authentification peuvent être modifiés sur cette ressource pour ajouter à la politique. Pour changer la politique sous-jacente, vous devez éditer à <policyLink>{policyName}</policyLink>.",
"resourceSharedPolicyRulesNotice": "Cette ressource utilise une politique partagée. Certaines règles d'accès peuvent être modifiées sur cette ressource. Pour changer la politique sous-jacente, vous devez éditer <policyLink>{policyName}</policyLink>.",
"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",
@@ -869,7 +1027,14 @@
"resourceVisibilityTitle": "Visibilité",
"resourceVisibilityTitleDescription": "Activer ou désactiver complètement la visibilité de la ressource",
"resourceGeneral": "Paramètres généraux",
"resourceGeneralDescription": "Configurer les paramètres généraux de cette ressource",
"resourceGeneralDescription": "Configurer le nom, l'adresse et la politique d'accès pour cette ressource.",
"resourceGeneralDetailsSubsection": "Détails de la ressource",
"resourceGeneralDetailsSubsectionDescription": "Définir le nom d'affichage, l'identifiant et le domaine accessible publiquement pour cette ressource.",
"resourceGeneralDetailsSubsectionPortDescription": "Définir le nom d'affichage, l'identifiant et le port public pour cette ressource.",
"resourceGeneralPublicAddressSubsection": "Adresse publique",
"resourceGeneralPublicAddressSubsectionDescription": "Configurez comment les utilisateurs accèdent à cette ressource.",
"resourceGeneralAuthenticationAccessSubsection": "Authentification & Accès",
"resourceGeneralAuthenticationAccessSubsectionDescription": "Choisissez si cette ressource utilise sa propre politique ou hérite d'une politique partagée.",
"resourceEnable": "Activer la ressource",
"resourceTransfer": "Transférer la ressource",
"resourceTransferDescription": "Transférer cette ressource vers un autre site",
@@ -1140,6 +1305,21 @@
"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": "Aucune étiquette trouvée.",
"labelsEmptyCreateHint": "Commencez à taper ci-dessus pour créer une étiquette.",
"labelSearch": "Chercher des étiquettes",
"labelSearchOrCreate": "Recherchez ou créez une étiquette",
"accessLabelFilterCount": "{count, plural, one {# étiquette} other {# étiquettes}}",
"labelOverflowCount": "+{count, plural, one {# étiquette} other {# étiquettes}}",
"accessLabelFilterClear": "Effacer les filtres d'étiquette",
"accessFilterClear": "Effacer les filtres",
"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.",
@@ -1231,6 +1411,7 @@
"actionApplyBlueprint": "Appliquer la Config",
"actionListBlueprints": "Lister les plans",
"actionGetBlueprint": "Obtenez un plan",
"actionCreateOrgWideLauncherView": "Créer une vue de lancement au niveau de l'organisation",
"setupToken": "Jeton de configuration",
"setupTokenDescription": "Entrez le jeton de configuration depuis la console du serveur.",
"setupTokenRequired": "Le jeton de configuration est requis.",
@@ -1374,6 +1555,8 @@
"sidebarResources": "Ressource",
"sidebarProxyResources": "Publique",
"sidebarClientResources": "Privé",
"sidebarPolicies": "Politiques partagées",
"sidebarResourcePolicies": "Ressources publiques",
"sidebarAccessControl": "Contrôle d'accès",
"sidebarLogsAndAnalytics": "Journaux & Analytiques",
"sidebarTeam": "Equipe",
@@ -1381,7 +1564,7 @@
"sidebarAdmin": "Administrateur",
"sidebarInvitations": "Invitations",
"sidebarRoles": "Rôles",
"sidebarShareableLinks": "Liens",
"sidebarShareableLinks": "Liens partageables",
"sidebarApiKeys": "Clés API",
"sidebarProvisioning": "Mise en place",
"sidebarSettings": "Réglages",
@@ -1557,7 +1740,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": "Consultez les applications et leurs résultats de planches à dessin passées ou appliquez une nouvelle planche à dessin",
"blueprintAdd": "Ajouter une Config",
"blueprintGoBack": "Voir toutes les Configs",
"blueprintCreate": "Créer une Config",
@@ -1575,7 +1759,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 <docsLink>la documentation</docsLink>.",
"newtAutoUpdate": "Activer la mise à jour automatique du site",
"newtAutoUpdateDescription": "Lorsqu'il est activé, les connecteurs de site téléchargeront automatiquement la dernière version et redémarreront eux-mêmes. Cela peut être contourné sur une base par site.",
"siteAutoUpdate": "Mise à jour automatique du site",
"siteAutoUpdateLabel": "Activer la mise à jour automatique",
"siteAutoUpdateDescription": "Lorsqu'il est activé, le connecteur de ce site téléchargera automatiquement la dernière version et se redémarrera.",
"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 +1814,7 @@
"certificateStatus": "Certificat",
"certificateStatusAutoRefreshHint": "L'état se rafraîchit automatiquement.",
"loading": "Chargement",
"loadingEllipsis": "Chargement...",
"loadingAnalytics": "Chargement de l'analyse",
"restart": "Redémarrer",
"domains": "Domaines",
@@ -1667,9 +1862,9 @@
"accountSetupSuccess": "Configuration du compte terminée! Bienvenue chez Pangolin !",
"documentation": "Documentation",
"saveAllSettings": "Enregistrer tous les paramètres",
"saveResourceTargets": "Enregistrer les cibles",
"saveResourceHttp": "Enregistrer les paramètres de proxy",
"saveProxyProtocol": "Enregistrer les paramètres du protocole proxy",
"saveResourceTargets": "Enregistrer les paramètres",
"saveResourceHttp": "Enregistrer les paramètres",
"saveProxyProtocol": "Enregistrer les paramètres",
"settingsUpdated": "Paramètres mis à jour",
"settingsUpdatedDescription": "Paramètres mis à jour avec succès",
"settingsErrorUpdate": "Échec de la mise à jour des paramètres",
@@ -1846,6 +2041,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.",
@@ -1892,6 +2088,7 @@
"subnetPlaceholder": "Sous-réseau",
"addressDescription": "L'adresse interne du client. Doit être dans le sous-réseau de l'organisation.",
"selectSites": "Sélectionner des sites",
"selectLabels": "Sélectionner des étiquettes",
"sitesDescription": "Le client aura une connectivité vers les sites sélectionnés",
"clientInstallOlm": "Installer Olm",
"clientInstallOlmDescription": "Faites fonctionner Olm sur votre système",
@@ -1925,13 +2122,13 @@
"healthCheckUnknown": "Inconnu",
"healthCheck": "Vérification de l'état de santé",
"configureHealthCheck": "Configurer la vérification de l'état de santé",
"configureHealthCheckDescription": "Configurer la surveillance de la santé pour {target}",
"configureHealthCheckDescription": "Configurez la surveillance de votre ressource pour vous assurer qu'elle est toujours disponible",
"enableHealthChecks": "Activer les vérifications de santé",
"healthCheckDisabledStateDescription": "Lorsqu'il est désactivé, le site ne procédera pas aux vérifications de santé et l'état sera considéré comme inconnu.",
"enableHealthChecksDescription": "Surveiller la vie de cette cible. Vous pouvez surveiller un point de terminaison différent de la cible si nécessaire.",
"healthScheme": "Méthode",
"healthSelectScheme": "Sélectionnez la méthode",
"healthCheckPortInvalid": "Le port du bilan de santé doit être compris entre 1 et 65535",
"healthCheckPortInvalid": "Le port doit être compris entre 1 et 65535",
"healthCheckPath": "Chemin d'accès",
"healthHostname": "IP / Hôte",
"healthPort": "Port",
@@ -1943,7 +2140,42 @@
"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.",
"sshSettings": "Paramètres SSH",
"sshAccess": "Accès 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": "Configurez la destination du serveur SSH",
"destination": "Destination",
"destinationRequired": "La destination est requise.",
"domainRequired": "Le domaine est requis.",
"proxyPortRequired": "Le port est requis.",
"invalidPathConfiguration": "Configuration de chemin invalide.",
"invalidRewritePathConfiguration": "Configuration de réécriture de chemin invalide.",
"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,10 +2189,25 @@
"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 des commandes que l'utilisateur est autorisé à exécuter avec sudo, séparées par des virgules, des espaces ou des nouvelles lignes. Les 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.",
"sshUnixGroupsDescription": "Groupes Unix auxquels ajouter l'utilisateur sur l'hôte cible, séparés par des virgules, des espaces, ou des nouvelles lignes.",
"roleTextFieldPlaceholder": "Entrez des valeurs, ou déposez un fichier .txt ou .csv",
"roleTextImportTitle": "Importer depuis un fichier",
"roleTextImportDescription": "Importation de {fileName} dans {fieldLabel}.",
"roleTextImportSkipHeader": "Ignorer la première ligne (en-tête)",
"roleTextImportOverride": "Remplacer l'existant",
"roleTextImportAppend": "Ajouter à l'existant",
"roleTextImportMode": "Mode d'importation",
"roleTextImportPreview": "Aperçu",
"roleTextImportItemCount": "{count, plural, =0 {Aucun élément à importer} one {1 élément à importer} other {# éléments à importer}}",
"roleTextImportTotalCount": "{existing} existant + {imported} importé = {total} total",
"roleTextImportConfirm": "Importer",
"roleTextImportInvalidFile": "Type de fichier non pris en charge",
"roleTextImportInvalidFileDescription": "Seuls les fichiers .txt et .csv sont pris en charge.",
"roleTextImportEmpty": "Aucun élément trouvé dans le fichier",
"roleTextImportEmptyDescription": "Le fichier ne contient aucun élément importable.",
"retryAttempts": "Tentatives de réessai",
"expectedResponseCodes": "Codes de réponse attendus",
"expectedResponseCodesDescription": "Code de statut HTTP indiquant un état de santé satisfaisant. Si non renseigné, 200-300 est considéré comme satisfaisant.",
@@ -2051,6 +2298,7 @@
"editInternalResourceDialogModeCidr": "CIDR",
"editInternalResourceDialogModeHttp": "HTTP",
"editInternalResourceDialogModeHttps": "HTTPS",
"editInternalResourceDialogModeSsh": "SSH",
"editInternalResourceDialogScheme": "Méthode HTTP",
"editInternalResourceDialogEnableSsl": "Activer TLS",
"editInternalResourceDialogEnableSslDescription": "Activer le cryptage SSL/TLS pour des connexions HTTPS sécurisées vers la destination.",
@@ -2070,6 +2318,7 @@
"createInternalResourceDialogSite": "Site",
"selectSite": "Sélectionner un site...",
"multiSitesSelectorSitesCount": "{count, plural, one {# site} other {# sites}}",
"labelsSelectorLabelsCount": "{count, plural, one {# étiquette} other {# étiquettes}}",
"noSitesFound": "Aucun site trouvé.",
"createInternalResourceDialogProtocol": "Protocole",
"createInternalResourceDialogTcp": "TCP",
@@ -2100,6 +2349,7 @@
"createInternalResourceDialogModeCidr": "CIDR",
"createInternalResourceDialogModeHttp": "HTTP",
"createInternalResourceDialogModeHttps": "HTTPS",
"createInternalResourceDialogModeSsh": "SSH",
"scheme": "Méthode HTTP",
"createInternalResourceDialogScheme": "Méthode HTTP",
"createInternalResourceDialogEnableSsl": "Activer TLS",
@@ -2109,6 +2359,7 @@
"createInternalResourceDialogDestinationCidrDescription": "La gamme CIDR de la ressource sur le réseau du site.",
"createInternalResourceDialogAlias": "Alias",
"createInternalResourceDialogAliasDescription": "Un alias DNS interne optionnel pour cette ressource.",
"internalResourceAliasLocalWarning": "Les alias se terminant par .local peuvent causer des problèmes de résolution dus au mDNS sur certains réseaux.",
"internalResourceDownstreamSchemeRequired": "Un schéma est requis pour les ressources HTTP",
"internalResourceHttpPortRequired": "Le port de destination est requis pour les ressources HTTP",
"siteConfiguration": "Configuration",
@@ -2142,6 +2393,21 @@
"sidebarRemoteExitNodes": "Nœuds distants",
"remoteExitNodeId": "ID",
"remoteExitNodeSecretKey": "Clé secrète",
"remoteExitNodeNetworkingTitle": "Paramètres du réseau",
"remoteExitNodeNetworkingDescription": "Configurez comment ce nœud de sortie distant acheminera le trafic et quels sites préfèrent se connecter via ce dernier. Fonctions avancées à utiliser avec les configurations réseau de retour.",
"remoteExitNodeNetworkingSave": "Enregistrer les paramètres",
"remoteExitNodeNetworkingSaveSuccessTitle": "Paramètres du réseau enregistrés",
"remoteExitNodeNetworkingSaveSuccessDescription": "Les paramètres du réseau ont été mis à jour avec succès.",
"remoteExitNodeNetworkingSaveError": "Échec de l'enregistrement des paramètres du réseau",
"remoteExitNodeNetworkingSubnetsTitle": "Sous-réseaux distants",
"remoteExitNodeNetworkingSubnetsDescription": "Définissez les plages CIDR que ce nœud de sortie distant acheminera. Saisissez un CIDR valide (par exemple <code>10.0.0.0/8</code>) et appuyez sur Entrée pour ajouter.",
"remoteExitNodeNetworkingSubnetsPlaceholder": "Ajouter une plage CIDR (par exemple 10.0.0.0/8)",
"remoteExitNodeNetworkingSubnetsLoadError": "Échec du chargement des sous-réseaux",
"remoteExitNodeNetworkingLabelsTitle": "Étiquettes de préférences",
"remoteExitNodeNetworkingLabelsDescription": "Les sites avec ces étiquettes devront se connecter via ce nœud de sortie distant.",
"remoteExitNodeNetworkingLabelsButtonText": "Sélectionner des étiquettes...",
"remoteExitNodeNetworkingLabelsSearchPlaceholder": "Chercher des étiquettes...",
"remoteExitNodeNetworkingLabelsLoadError": "Échec du chargement des étiquettes",
"remoteExitNodeCreate": {
"title": "Créer un nœud distant",
"description": "Créez un nouveau nœud de relais et de serveur proxy distant auto-hébergé",
@@ -2235,7 +2501,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."
@@ -2320,6 +2586,7 @@
"idpGoogleDescription": "Fournisseur Google OAuth2/OIDC",
"idpAzureDescription": "Microsoft Azure OAuth2/OIDC provider",
"subnet": "Sous-réseau",
"utilitySubnet": "Routeur utilitaire",
"subnetDescription": "Le sous-réseau de la configuration réseau de cette organisation.",
"customDomain": "Domaine personnalisé",
"authPage": "Pages d'authentification",
@@ -2738,15 +3005,17 @@
"orgOrDomainIdMissing": "L'organisation ou l'identifiant de domaine est manquant",
"loadingDNSRecords": "Chargement des enregistrements DNS...",
"olmUpdateAvailableInfo": "Une version mise à jour de Olm est disponible. Veuillez mettre à jour vers la dernière version pour la meilleure expérience.",
"updateAvailableInfo": "Une version mise à jour est disponible. Veuillez mettre à jour vers la dernière version pour une meilleure expérience.",
"client": "Client",
"proxyProtocol": "Paramètres du protocole proxy",
"proxyProtocolDescription": "Configurer le protocole Proxy pour préserver les adresses IP du client pour les services TCP.",
"enableProxyProtocol": "Activer le protocole Proxy",
"proxyProtocolInfo": "Conserver les adresses IP du client pour les backends TCP",
"proxyProtocolVersion": "Version du protocole proxy",
"version1": " Version 1 (Recommandé)",
"version1": "Version 1 (Recommandée)",
"version2": "Version 2",
"versionDescription": "La version 1 est basée sur du texte et est largement supportée. La version 2 est binaire et plus efficace mais moins compatible.",
"version1Description": "Basé sur texte et largement pris en charge. Assurez-vous que le transport des serveurs est ajouté à la configuration dynamique.",
"version2Description": "Binaire et plus efficace mais moins compatible. Assurez-vous que le transport des serveurs est ajouté à la configuration dynamique.",
"warning": "Avertissement",
"proxyProtocolWarning": "L'application backend doit être configurée pour accepter les connexions Proxy Protocol. Si votre backend ne prend pas en charge le protocole Proxy, l'activation de cette option va perturber toutes les connexions, donc n'activez cette option que si vous savez ce que vous faites. Assurez-vous de configurer votre backend pour faire confiance aux en-têtes du protocole Proxy de Traefik.",
"restarting": "Redémarrage...",
@@ -2903,7 +3172,7 @@
"enterConfirmation": "Entrez la confirmation",
"blueprintViewDetails": "Détails",
"defaultIdentityProvider": "Fournisseur d'identité par défaut",
"defaultIdentityProviderDescription": "Lorsqu'un fournisseur d'identité par défaut est sélectionné, l'utilisateur sera automatiquement redirigé vers le fournisseur pour authentification.",
"defaultIdentityProviderDescription": "L'utilisateur sera automatiquement redirigé vers ce fournisseur d'identité pour l'authentification.",
"editInternalResourceDialogNetworkSettings": "Paramètres réseau",
"editInternalResourceDialogAccessPolicy": "Politique d'accès",
"editInternalResourceDialogAddRoles": "Ajouter des rôles",
@@ -2939,11 +3208,12 @@
"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",
"enableMaintenanceMode": "Activer le mode de maintenance",
"enableMaintenanceModeDescription": "Lorsqu'il est activé, les visiteurs verront une page de maintenance au lieu de votre ressource.",
"automatic": "Automatique",
"automaticModeDescription": "Afficher la page de maintenance uniquement lorsque toutes les cibles backend sont en panne ou dégradées. Votre ressource continue à fonctionner normalement tant qu'au moins une cible est en bonne santé.",
"forced": "Forcé",
@@ -2951,6 +3221,8 @@
"warning:": "Attention :",
"forcedeModeWarning": "Tout le trafic sera dirigé vers la page de maintenance. Vos ressources backend ne recevront aucune demande.",
"pageTitle": "Titre de la page",
"maintenancePageContentSubsection": "Contenu de la page",
"maintenancePageContentSubsectionDescription": "Personnalisez le contenu affiché sur la page de maintenance",
"pageTitleDescription": "Le titre principal affiché sur la page de maintenance",
"maintenancePageMessage": "Message de maintenance",
"maintenancePageMessagePlaceholder": "Nous serons bientôt de retour ! Notre site est actuellement en maintenance planifiée.",
@@ -2969,6 +3241,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é",
@@ -3214,6 +3487,8 @@
"idpUnassociateQuestion": "Êtes-vous sûr de vouloir dissocier ce fournisseur d'identités de cette organisation?",
"idpUnassociateDescription": "Tous les utilisateurs associés à ce fournisseur d'identités seront retirés de cette organisation, mais le fournisseur d'identités continuera d'exister pour d'autres organisations associées.",
"idpUnassociateConfirm": "Confirmer la dissociation du fournisseur d'identités",
"idpConfirmDeleteAndRemoveMeFromOrg": "SUPPRIMER ET ME RETIRER DE L'ORG",
"idpUnassociateAndRemoveMeFromOrg": "DÉ-ASSOCIER ET ME RETIRER DE L'ORG",
"idpUnassociateWarning": "Cela ne peut pas être annulé pour cette organisation.",
"idpUnassociatedDescription": "Fournisseur d'identités dissocié de cette organisation avec succès",
"idpUnassociateMenu": "Dissocier",
@@ -3297,6 +3572,118 @@
"memberPortalEmailWhitelist": "Liste blanche des e-mails",
"memberPortalResourceDisabled": "Ressource désactivée",
"memberPortalShowingResources": "Affichage de {start}-{end} sur {total} ressources",
"resourceLauncherTitle": "Lanceur de ressources",
"resourceLauncherDescription": "Afficher les détails des ressources et les lancer depuis un seul endroit",
"resourceLauncherSearchPlaceholder": "Rechercher sur tous les sites...",
"resourceLauncherDefaultView": "Par défaut",
"resourceLauncherSaveView": "Enregistrer la vue",
"resourceLauncherSaveToCurrentView": "Enregistrer dans la vue actuelle",
"resourceLauncherResetView": "Réinitialiser la vue",
"resourceLauncherSaveAsNewView": "Enregistrer comme nouvelle vue",
"resourceLauncherSaveAsNewViewDescription": "Donnez un nom à cette vue pour enregistrer vos filtres et mise en page actuels.",
"resourceLauncherSaveForEveryone": "Enregistrer pour tout le monde",
"resourceLauncherSaveForEveryoneDescription": "Partagez cette vue avec tous les membres de l'organisation. Lorsque décochée, la vue est visible uniquement par vous.",
"resourceLauncherMakePersonal": "Rendre personnel",
"resourceLauncherFilter": "Filtrer",
"resourceLauncherSort": "Trier",
"resourceLauncherSortAscending": "Trier par ordre croissant",
"resourceLauncherSortDescending": "Trier par ordre décroissant",
"resourceLauncherSettings": "Réglages",
"resourceLauncherGroupBy": "Grouper par",
"resourceLauncherGroupBySite": "Nœud",
"resourceLauncherGroupByLabel": "Étiquette",
"resourceLauncherLayout": "Mise en page",
"resourceLauncherLayoutGrid": "Grille",
"resourceLauncherLayoutList": "Liste",
"resourceLauncherShowLabels": "Afficher les étiquettes",
"resourceLauncherShowSiteTags": "Afficher les tags de site",
"resourceLauncherShowRecents": "Afficher les récents",
"resourceLauncherDeleteView": "Supprimer la vue",
"resourceLauncherViewAsAdmin": "Voir en tant qu'admin",
"resourceLauncherResourceDetailsDescription": "Afficher les détails pour cette ressource.",
"resourceLauncherUnlabeled": "Non étiqueté",
"resourceLauncherNoSite": "Aucun nœud",
"resourceLauncherNoResourcesInGroup": "Aucune ressource dans ce groupe",
"resourceLauncherEmptyStateTitle": "Aucune ressource disponible",
"resourceLauncherEmptyStateDescription": "Vous n'avez pas encore accès à des ressources. Contactez votre administrateur pour demander l'accès.",
"resourceLauncherEmptyStateNoResultsTitle": "Aucune ressource trouvée",
"resourceLauncherEmptyStateNoResultsDescription": "Aucune ressource ne correspond à votre recherche ou filtre actuel. Essayez de les ajuster pour trouver ce que vous cherchez.",
"resourceLauncherEmptyStateNoResultsWithQuery": "Aucune ressource ne correspond à \"{query}\". Essayez d'ajuster votre recherche ou de supprimer les filtres pour voir toutes les ressources.",
"resourceLauncherCopiedToClipboard": "Copié dans le presse-papiers",
"resourceLauncherCopiedAccessDescription": "L'accès à la ressource a été copié dans votre presse-papiers.",
"resourceLauncherViewNamePlaceholder": "Nom de la vue",
"resourceLauncherViewNameLabel": "Nom de la vue",
"resourceLauncherViewSaved": "Vue enregistrée",
"resourceLauncherViewSavedDescription": "Votre vue de lancement a été enregistrée.",
"resourceLauncherViewSaveFailed": "Échec de l'enregistrement de la vue",
"resourceLauncherViewSaveFailedDescription": "Impossible d'enregistrer la vue de lancement. Veuillez réessayer.",
"resourceLauncherViewDeleted": "Vue supprimée",
"resourceLauncherViewDeletedDescription": "La vue de lancement a été supprimée.",
"resourceLauncherViewDeleteFailed": "Impossible de supprimer la vue",
"resourceLauncherViewDeleteFailedDescription": "Impossible de supprimer la vue de lancement. Veuillez réessayer.",
"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 pour vous connecter",
"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": "Connecter",
"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",
"sitePangolinSshDescription": "Autoriser l'accès SSH aux ressources sur ce site. Cela peut être modifié plus tard.",
"browserGatewayNoResourceForDomain": "Aucune ressource trouvée pour ce domaine",
"browserGatewayNoTarget": "Aucune cible",
"browserGatewayConnect": "Connecter",
"browserGatewayCtrlAltDel": "Ctrl+Alt+Suppr",
"sshErrorSignKeyFailed": "Échec de la signature de la clé SSH pour l'authentification Push PAM. Vous êtes-vous connecté en tant qu'utilisateur ?",
"sshTerminalError": "Erreur : {error}",
"sshConnectionClosedCode": "Connexion fermée (code {code})",
"sshPrivateKeyPlaceholder": "-----BEGIN OPENSSH PRIVATE KEY-----",
"sshPrivateKeyRequired": "Une clé privée est requise",
"vncTitle": "VNC",
"vncSignInDescription": "Entrez vos identifiants VNC pour vous connecter",
"vncUsernameOptional": "Nom d'utilisateur (optionnel)",
"vncPasswordOptional": "Mot de passe (facultatif)",
"vncNoResourceTarget": "Aucune cible de ressource disponible",
"vncFailedToLoadNovnc": "Échec du chargement de noVNC",
"vncAuthFailedStatus": "Statut {status}",
"vncPasteClipboard": "Coller le presse-papiers",
"rdpTitle": "RDP",
"rdpSignInTitle": "Se connecter au Bureau à distance",
"rdpSignInDescription": "Entrez vos identifiants Windows pour vous connecter",
"rdpLoadingModule": "Chargement du module...",
"rdpFailedToLoadModule": "Échec du chargement du module RDP",
"rdpNotReady": "Pas prêt",
"rdpModuleInitializing": "Le module RDP est encore en cours d'initialisation",
"rdpDownloadingFiles": "Téléchargement de {count} fichier(s) depuis le site distant…",
"rdpDownloadFailed": "Échec du téléchargement : {fileName}",
"rdpUploaded": "Téléchargé : {fileName}",
"rdpNoConnectionTarget": "Aucune cible de connexion disponible",
"rdpConnectionFailed": "Échec de la connexion",
"rdpFit": "Ajuster",
"rdpFull": "Plein",
"rdpReal": "Réel",
"rdpMeta": "Méta",
"rdpUploadFiles": "Télécharger des fichiers",
"rdpFilesReadyToPaste": "Fichiers prêts à coller",
"rdpFilesReadyToPasteDescription": "{count} fichier(s) copié(s) vers le presse-papier distant — appuyez sur Ctrl+V sur le bureau distant pour coller.",
"rdpUploadFailed": "Échec du téléchargement",
"rdpUnicodeKeyboardMode": "Mode clavier Unicode",
"sessionToolbarShow": "Afficher la barre d'outils",
"sessionToolbarHide": "Masquer la barre d'outils"
}