diff --git a/messages/fr-FR.json b/messages/fr-FR.json index 91d69844..84fca005 100644 --- a/messages/fr-FR.json +++ b/messages/fr-FR.json @@ -6,45 +6,45 @@ "setupOrgName": "Nom de l'organisation", "orgDisplayName": "Ceci est le nom d'affichage de votre organisation.", "orgId": "ID de l'organisation", - "setupIdentifierMessage": "Ceci est l'identifiant unique pour votre organisation. Il est séparé du nom affiché.", - "setupErrorIdentifier": "L'ID de l'organisation est déjà pris. Veuillez en choisir un autre.", + "setupIdentifierMessage": "Ceci est l'identifiant de votre organisation. Il est différent du nom affiché.", + "setupErrorIdentifier": "Cet identifiant est déjà pris. Veuillez en choisir un autre.", "componentsErrorNoMemberCreate": "Vous n'êtes actuellement membre d'aucune organisation. Créez une organisation pour commencer.", "componentsErrorNoMember": "Vous n'êtes actuellement membre d'aucune organisation.", - "welcome": "Bienvenue à Pangolin", + "welcome": "Bienvenue sur Pangolin", "welcomeTo": "Bienvenue chez", "componentsCreateOrg": "Créer une organisation", - "componentsMember": "Vous êtes membre de {count, plural, =0 {aucune organisation} one {une organisation} other {# organisations}}.", + "componentsMember": "Vous {count, plural, =0 {n'} other {}}êtes membre {count, plural, =0 {d'aucune organisation} one {d'une organisation} other {de # organisations}}.", "componentsInvalidKey": "Clés de licence invalides ou expirées détectées. Suivez les conditions de licence pour continuer à utiliser toutes les fonctionnalités.", "dismiss": "Refuser", "componentsLicenseViolation": "Violation de licence : Ce serveur utilise des sites {usedSites} qui dépassent la limite autorisée des sites {maxSites} . Suivez les conditions de licence pour continuer à utiliser toutes les fonctionnalités.", "componentsSupporterMessage": "Merci de soutenir Pangolin en tant que {tier}!", - "inviteErrorNotValid": "Nous sommes désolés, mais il semble que l'invitation que vous essayez d'accéder n'ait pas été acceptée ou n'est plus valide.", - "inviteErrorUser": "Nous sommes désolés, mais il semble que l'invitation que vous essayez d'accéder ne soit pas pour cet utilisateur.", - "inviteLoginUser": "Assurez-vous que vous êtes bien connecté en tant qu'utilisateur correct.", - "inviteErrorNoUser": "Nous sommes désolés, mais il semble que l'invitation que vous essayez d'accéder ne soit pas pour un utilisateur qui existe.", - "inviteCreateUser": "Veuillez d'abord créer un compte.", - "goHome": "Retour à la maison", + "inviteErrorNotValid": "Nous sommes désolés, mais il semble que l'invitation via laquelle vous essayez d'accéder n'ait pas été acceptée ou n'est plus valide.", + "inviteErrorUser": "Nous sommes désolés, mais il semble que l'invitation via laquelle vous essayez d'accéder ne soit pas pour cet utilisateur.", + "inviteLoginUser": "Assurez-vous d'etre bien connecté au bon compte.", + "inviteErrorNoUser": "Nous sommes désolés, mais il semble que l'invitation via laquelle vous essayez d'accéder ne soit pas pour un utilisateur qui existe.", + "inviteCreateUser": "Vous n'avez aucun compte, veuillez en créer un.", + "goHome": "Retour à l'accueil", "inviteLogInOtherUser": "Se connecter en tant qu'utilisateur différent", "createAnAccount": "Créer un compte", "inviteNotAccepted": "Invitation non acceptée", "authCreateAccount": "Créez un compte pour commencer", "authNoAccount": "Vous n'avez pas de compte ?", - "email": "Courriel", + "email": "Adresse email", "password": "Mot de passe", "confirmPassword": "Confirmer le mot de passe", "createAccount": "Créer un compte", "viewSettings": "Afficher les paramètres", - "delete": "Supprimez", + "delete": "Supprimer", "name": "Nom", "online": "En ligne", "offline": "Hors ligne", "site": "Site", - "dataIn": "Données dans", - "dataOut": "Données épuisées", + "dataIn": "Données reçues", + "dataOut": "Données émises", "connectionType": "Type de connexion", "tunnelType": "Type de tunnel", "local": "Locale", - "edit": "Editer", + "edit": "Modifier", "siteConfirmDelete": "Confirmer la suppression du site", "siteDelete": "Supprimer le site", "siteMessageRemove": "Une fois supprimé, le site ne sera plus accessible. Toutes les ressources et cibles associées au site seront également supprimées.", @@ -64,11 +64,11 @@ "siteLearnNewt": "Apprenez à installer Newt sur votre système", "siteSeeConfigOnce": "Vous ne pourrez voir la configuration qu'une seule fois.", "siteLoadWGConfig": "Chargement de la configuration WireGuard...", - "siteDocker": "Développer les détails du déploiement Docker", + "siteDocker": "Afficher les détails du déploiement Docker", "toggle": "Activer/désactiver", - "dockerCompose": "Composition Docker", - "dockerRun": "Exécution Docker", - "siteLearnLocal": "Les sites locaux ne tunnel, en savoir plus", + "dockerCompose": "Docker Compose", + "dockerRun": "Docker Run", + "siteLearnLocal": "Les sites locaux ne permettent pas d'utiliser les tunnel, en savoir plus", "siteConfirmCopy": "J'ai copié la configuration", "searchSitesProgress": "Rechercher des sites...", "siteAdd": "Ajouter un site", @@ -79,9 +79,9 @@ "operatingSystem": "Système d'exploitation", "commands": "Commandes", "recommended": "Recommandé", - "siteNewtDescription": "Pour une meilleure expérience d'utilisateur, utilisez Newt. Il utilise WireGuard sous le capot et vous permet d'adresser vos ressources privées par leur adresse LAN sur votre réseau privé à partir du tableau de bord Pangolin.", - "siteRunsInDocker": "Exécute dans Docker", - "siteRunsInShell": "Exécute en shell sur macOS, Linux et Windows", + "siteNewtDescription": "Pour une meilleure expérience d'utilisateur, utilisez Newt. Newt se base sur WireGuard et vous permet d'adresser vos ressources privées par leur adresse LAN sur votre réseau privé à partir du tableau de bord Pangolin.", + "siteRunsInDocker": "S'exécute dans Docker", + "siteRunsInShell": "S'exécute en shell sur macOS, Linux et Windows", "siteErrorDelete": "Erreur lors de la suppression du site", "siteErrorUpdate": "Impossible de mettre à jour le site", "siteErrorUpdateDescription": "Une erreur s'est produite lors de la mise à jour du site.", @@ -89,18 +89,18 @@ "siteUpdatedDescription": "Le site a été mis à jour.", "siteGeneralDescription": "Configurer les paramètres généraux de ce site", "siteSettingDescription": "Configurer les paramètres de votre site", - "siteSetting": "Réglages {siteName}", + "siteSetting": "Réglages de {siteName}", "siteNewtTunnel": "Tunnel Newt (Recommandé)", "siteNewtTunnelDescription": "La façon la plus simple de créer un point d'entrée dans votre réseau. Pas de configuration supplémentaire.", "siteWg": "WireGuard basique", "siteWgDescription": "Utilisez n'importe quel client WireGuard pour établir un tunnel. Configuration NAT manuelle requise.", "siteWgDescriptionSaas": "Utilisez n'importe quel client WireGuard pour établir un tunnel. Configuration NAT manuelle requise. FONCTIONNE UNIQUEMENT SUR DES NŒUDS AUTONOMES", "siteLocalDescription": "Ressources locales seulement. Pas de tunneling.", - "siteLocalDescriptionSaas": "Local resources only. No tunneling. Only available on remote nodes.", + "siteLocalDescriptionSaas": "Ressources locales seulement. Pas de tunneling. Seulement disponible sur les noeuds distants", "siteSeeAll": "Voir tous les sites", "siteTunnelDescription": "Déterminez comment vous voulez vous connecter à votre site", "siteNewtCredentials": "Identifiants Newt", - "siteNewtCredentialsDescription": "C'est ainsi que Newt s'authentifiera avec le serveur", + "siteNewtCredentialsDescription": "C'est comme cela que Newt s'authentifiera avec le serveur", "siteCredentialsSave": "Enregistrez vos identifiants", "siteCredentialsSaveDescription": "Vous ne pourrez voir cela qu'une seule fois. Assurez-vous de le copier dans un endroit sécurisé.", "siteInfo": "Informations sur le site", @@ -112,7 +112,7 @@ "shareErrorDelete": "Impossible de supprimer le lien", "shareErrorDeleteMessage": "Une erreur s'est produite lors de la suppression du lien", "shareDeleted": "Lien supprimé", - "shareDeletedDescription": "Le lien a été supprimé", + "shareDeletedDescription": "Le lien de partage a été supprimé", "shareTokenDescription": "Votre 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é.", "accessToken": "Jeton d'accès", "usageExamples": "Exemples d'utilisation", @@ -134,7 +134,7 @@ "shareExpireDescription": "Le temps d'expiration est combien de temps le lien sera utilisable et fournira un accès à la ressource. Après cette période, le lien ne fonctionnera plus et les utilisateurs qui ont utilisé ce lien perdront l'accès à la ressource.", "shareSeeOnce": "Vous ne pourrez voir ce lien. Assurez-vous de le copier.", "shareAccessHint": "N'importe qui avec ce lien peut accéder à la ressource. Partagez-le avec soin.", - "shareTokenUsage": "Voir Utilisation du jeton d'accès", + "shareTokenUsage": "Voir l'utilisation du jeton d'accès", "createLink": "Créer un lien", "resourcesNotFound": "Aucune ressource trouvée", "resourceSearch": "Rechercher des ressources", @@ -1234,7 +1234,7 @@ "billing": "Facturation", "orgBillingDescription": "Gérez vos informations de facturation et vos abonnements", "github": "GitHub", - "pangolinHosted": "Pangolin Hébergement", + "pangolinHosted": "Hebergé par Pangolin", "fossorial": "Fossorial", "completeAccountSetup": "Complétez la configuration du compte", "completeAccountSetupDescription": "Définissez votre mot de passe pour commencer", @@ -1316,7 +1316,7 @@ "billingRemoteExitNodesInfo": "Vous êtes facturé pour chaque nœud géré dans votre organisation. La facturation est calculée quotidiennement en fonction du nombre de nœuds gérés actifs dans votre organisation.", "domainNotFound": "Domaine introuvable", "domainNotFoundDescription": "Cette ressource est désactivée car le domaine n'existe plus dans notre système. Veuillez définir un nouveau domaine pour cette ressource.", - "failed": "Échec", + "failed": "Erreur", "createNewOrgDescription": "Créer une nouvelle organisation", "organization": "Organisation", "port": "Port", @@ -1370,7 +1370,7 @@ "createDomainARecords": "Enregistrements A", "createDomainRecordNumber": "Enregistrement {number}", "createDomainTxtRecords": "Enregistrements TXT", - "createDomainSaveTheseRecords": "Enregistrez ces enregistrements", + "createDomainSaveTheseRecords": "Sauvegardez ces enregistrements", "createDomainSaveTheseRecordsDescription": "Assurez-vous de sauvegarder ces enregistrements DNS car vous ne les reverrez pas.", "createDomainDnsPropagation": "Propagation DNS", "createDomainDnsPropagationDescription": "Les modifications DNS peuvent mettre du temps à se propager sur internet. Cela peut prendre de quelques minutes à 48 heures selon votre fournisseur DNS et les réglages TTL.", @@ -1445,7 +1445,7 @@ "IntervalSeconds": "Intervalle sain", "timeoutSeconds": "Délai", "timeIsInSeconds": "Le temps est exprimé en secondes", - "retryAttempts": "Tentatives de réessai", + "retryAttempts": "Tentatives", "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.", "customHeaders": "En-têtes personnalisés", @@ -1760,9 +1760,9 @@ "enterpriseEdition": "Enterprise Edition", "unlicensed": "Unlicensed", "beta": "Beta", - "manageClients": "Manage Clients", + "manageClients": "Gérer les clients", "manageClientsDescription": "Clients are devices that can connect to your sites", - "licenseTableValidUntil": "Valid Until", + "licenseTableValidUntil": "Valide jusqu'au", "saasLicenseKeysSettingsTitle": "Enterprise Licenses", "saasLicenseKeysSettingsDescription": "Generate and manage Enterprise license keys for self-hosted Pangolin instances", "sidebarEnterpriseLicenses": "Licenses", @@ -1771,8 +1771,8 @@ "validation": { "emailRequired": "Please enter a valid email address", "useCaseTypeRequired": "Please select a use case type", - "firstNameRequired": "First name is required", - "lastNameRequired": "Last name is required", + "firstNameRequired": "Le prénom est requis", + "lastNameRequired": "Le nom est requis", "primaryUseRequired": "Please describe your primary use", "jobTitleRequiredBusiness": "Job title is required for business use", "industryRequiredBusiness": "Industry is required for business use", @@ -1786,7 +1786,7 @@ }, "useCaseOptions": { "personal": { - "title": "Personal Use", + "title": "Utilisation personelle", "description": "For individual, non-commercial use such as learning, personal projects, or experimentation." }, "business": { @@ -1824,27 +1824,27 @@ }, "form": { "useCaseQuestion": "Are you using Pangolin for personal or business use?", - "firstName": "First Name", - "lastName": "Last Name", - "jobTitle": "Job Title", + "firstName": "Prénom", + "lastName": "Nom", + "jobTitle": "profession", "primaryUseQuestion": "What do you primarily plan to use Pangolin for?", "industryQuestion": "What is your industry?", "prospectiveUsersQuestion": "How many prospective users do you expect to have?", "prospectiveSitesQuestion": "How many prospective sites (tunnels) do you expect to have?", - "companyName": "Company name", - "countryOfResidence": "Country of residence", - "stateProvinceRegion": "State / Province / Region", - "postalZipCode": "Postal / ZIP Code", - "companyWebsite": "Company website", - "companyPhoneNumber": "Company phone number", - "country": "Country", - "phoneNumberOptional": "Phone number (optional)", + "companyName": "Entreprise", + "countryOfResidence": "Pays de résidence", + "stateProvinceRegion": "État / Province / Région", + "postalZipCode": "Code postal", + "companyWebsite": "Site de l'entreprise", + "companyPhoneNumber": "Numéro de téléphone professionnel", + "country": "Pays", + "phoneNumberOptional": "Numéro de téléphone (optionnel)", "complianceConfirmation": "I confirm that I am in compliance with the Fossorial Commercial License and that reporting inaccurate information or misidentifying use of the product is a violation of the license." }, "buttons": { - "close": "Close", - "previous": "Previous", - "next": "Next", + "close": "Fermer", + "previous": "Précédent", + "next": "Suivant", "generateLicenseKey": "Generate License Key" }, "toasts": { @@ -1860,16 +1860,16 @@ }, "priority": "Priorité", "priorityDescription": "Les routes de haute priorité sont évaluées en premier. La priorité = 100 signifie l'ordre automatique (décision du système). Utilisez un autre nombre pour imposer la priorité manuelle.", - "instanceName": "Instance Name", + "instanceName": "Nom de l'instance", "pathMatchModalTitle": "Configure Path Matching", "pathMatchModalDescription": "Set up how incoming requests should be matched based on their path.", "pathMatchType": "Match Type", - "pathMatchPrefix": "Prefix", + "pathMatchPrefix": "Préfix", "pathMatchExact": "Exact", "pathMatchRegex": "Regex", "pathMatchValue": "Path Value", "clear": "Clear", - "saveChanges": "Save Changes", + "saveChanges": "Sauvegarder", "pathMatchRegexPlaceholder": "^/api/.*", "pathMatchDefaultPlaceholder": "/path", "pathMatchPrefixHelp": "Example: /api matches /api, /api/users, etc.", @@ -1889,7 +1889,7 @@ "pathRewriteExactHelp": "Replace the entire path with this value when the path matches exactly", "pathRewriteRegexHelp": "Use capture groups like $1, $2 for replacement", "pathRewriteStripPrefixHelp": "Leave empty to strip prefix or provide new prefix", - "pathRewritePrefix": "Prefix", + "pathRewritePrefix": "Préfix", "pathRewriteExact": "Exact", "pathRewriteRegex": "Regex", "pathRewriteStrip": "Strip",