# Picman <laforgejames@gmail.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2025-02-13 01:42+0000\n"
"Last-Translator: Picman <laforgejames@gmail.com>\n"
"Language-Team: French "
"<https://weblate.nginxui.com/projects/nginx-ui/frontend/fr/>\n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.9.2\n"

#: src/language/generate.ts:37
msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
msgstr ""
"[Nginx UI] Utilisateur ACME : %{name}, Email : %{email}, Répertoire CA : "
"%{caDir}"

#: src/language/generate.ts:38
msgid "[Nginx UI] Backing up current certificate for later revocation"
msgstr "[Nginx UI] Sauvegarde du certificat actuel pour une révocation ultérieure"

#: src/language/generate.ts:39
msgid "[Nginx UI] Certificate renewed successfully"
msgstr "[Nginx UI] Certificat renouvelé avec succès"

#: src/language/generate.ts:40
msgid "[Nginx UI] Certificate successfully revoked"
msgstr "[Nginx UI] Certificat révoqué avec succès"

#: src/language/generate.ts:41
msgid "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
msgstr ""
"[Nginx UI] Le certificat a été utilisé pour le serveur, rechargement du "
"certificat TLS du serveur"

#: src/language/generate.ts:42
msgid "[Nginx UI] Creating client facilitates communication with the CA server"
msgstr ""
"[Nginx UI] Création d'un client pour faciliter la communication avec le "
"serveur CA"

#: src/language/generate.ts:43
msgid "[Nginx UI] Environment variables cleaned"
msgstr "[Nginx UI] Variables d'environnement nettoyées"

#: src/language/generate.ts:44
msgid "[Nginx UI] Finished"
msgstr "[Nginx UI] Terminé"

#: src/language/generate.ts:45
msgid "[Nginx UI] Issued certificate successfully"
msgstr "[Nginx UI] Certificat émis avec succès"

#: src/language/generate.ts:46
msgid "[Nginx UI] Obtaining certificate"
msgstr "[Nginx UI] Obtention du certificat"

#: src/language/generate.ts:47
msgid "[Nginx UI] Preparing for certificate revocation"
msgstr "[Nginx UI] Préparation de la révocation du certificat"

#: src/language/generate.ts:48
msgid "[Nginx UI] Preparing lego configurations"
msgstr "[Nginx UI] Préparation des configurations lego"

#: src/language/generate.ts:49
msgid "[Nginx UI] Reloading nginx"
msgstr "[Nginx UI] Rechargement de nginx"

#: src/language/generate.ts:50
msgid "[Nginx UI] Revocation completed"
msgstr "[Nginx UI] Révocation terminée"

#: src/language/generate.ts:51
msgid "[Nginx UI] Revoking certificate"
msgstr "[Nginx UI] Révoquer le certificat"

#: src/language/generate.ts:52
msgid "[Nginx UI] Revoking old certificate"
msgstr "[Nginx UI] Révoquer l'ancien certificat"

#: src/language/generate.ts:53
msgid "[Nginx UI] Setting DNS01 challenge provider"
msgstr "[Nginx UI] Configuration du fournisseur de défi DNS01"

#: src/language/generate.ts:55
msgid "[Nginx UI] Setting environment variables"
msgstr "[Nginx UI] Configuration des variables d'environnement"

#: src/language/generate.ts:54
msgid "[Nginx UI] Setting HTTP01 challenge provider"
msgstr "[Nginx UI] Configuration du fournisseur de défi HTTP01"

#: src/language/generate.ts:56
msgid "[Nginx UI] Writing certificate private key to disk"
msgstr "[Nginx UI] Écriture de la clé privée du certificat sur le disque"

#: src/language/generate.ts:57
msgid "[Nginx UI] Writing certificate to disk"
msgstr "[Nginx UI] Écriture du certificat sur le disque"

#: src/views/certificate/components/CertificateBasicInfo.vue:29
#: src/views/certificate/components/CertificateContentEditor.vue:110
msgid "{label} copied to clipboard"
msgstr "{label} copié dans le presse-papiers"

#: src/components/SyncNodesPreview/SyncNodesPreview.vue:59
msgid "* Includes nodes from group %{groupName} and manually selected nodes"
msgstr ""
"* Inclut les nœuds du groupe %{groupName} et les nœuds sélectionnés "
"manuellement"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:166
msgid ""
"* Index files are stored in the \"log-index\" directory within your Nginx "
"UI config path by default."
msgstr ""
"* Les fichiers d'index sont stockés par défaut dans le répertoire "
"\"log-index\" du chemin de configuration de NGINX UI."

#: src/views/nginx_log/components/IndexingSettingsModal.vue:215
msgid ""
"* Performance metrics measured on Apple M2 Pro (12-core) with 32GB RAM. "
"Actual performance may vary based on your hardware configuration."
msgstr ""
"* Métriques de performance mesurées sur Apple M2 Pro (12 cœurs) avec 32 Go "
"de RAM. Les performances réelles peuvent varier selon votre configuration "
"matérielle."

#: src/views/nginx_log/structured/StructuredLogViewer.vue:811
msgid "%{start}-%{end} of %{total} items"
msgstr "%{start}-%{end} sur %{total} éléments"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:48
msgid "1 core minimum"
msgstr "Minimum 1 cœur"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:338
#: src/views/site/site_edit/components/RightPanel/DNS.vue:508
#: src/views/site/site_edit/components/RightPanel/DNS.vue:632
msgid "192.168.1.1"
msgstr "192.168.1.1"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:54
msgid "1GB RAM minimum"
msgstr "1 Go de RAM minimum"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:49
msgid "2+ cores recommended"
msgstr "2+ cœurs recommandés"

#: src/views/nginx_log/dashboard/components/HourlyChart.vue:67
#: src/views/nginx_log/dashboard/components/HourlyChart.vue:68
msgid "24-Hour UV/PV Statistics"
msgstr "Statistiques UV/PV sur 24 heures"

#: src/views/user/userColumns.tsx:30
msgid "2FA"
msgstr "2fa"

#: src/views/user/UserProfile.vue:151
msgid "2FA Settings"
msgstr "Options 2FA"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:55
msgid "4GB+ RAM recommended"
msgstr "4 Go de RAM ou plus recommandés"

#: src/components/InspectConfig/InspectConfig.vue:37
msgid "A required include file is missing from the sandbox or source configuration."
msgstr ""
"Un fichier d'inclusion requis est manquant dans le bac à sable ou la "
"configuration source."

#: src/routes/modules/system.ts:38
msgid "About"
msgstr "À propos"

#: src/language/constants.ts:64
msgid "Access Log"
msgstr "Journal d'accès"

#: src/constants/errors/self_check.ts:21
msgid "Access log path not exist"
msgstr "Le chemin du journal d'accès n'existe pas"

#: src/components/NgxConfigEditor/LogEntry.vue:90
#: src/routes/modules/nginx_log.ts:17 src/views/nginx_log/NginxLogList.vue:43
msgid "Access Logs"
msgstr "Journaux d'accès"

#: src/routes/modules/certificates.ts:20 src/views/certificate/ACMEUser.vue:149
#: src/views/certificate/components/ACMEUserSelector.vue:64
msgid "ACME User"
msgstr "Utilisateur ACME"

#: src/views/preference/tabs/AuthSettings.vue:27
msgid "Action"
msgstr "Action"

#: src/views/backup/AutoBackup/AutoBackup.vue:273
#: src/views/certificate/ACMEUser.vue:131
#: src/views/certificate/CertificateList/certColumns.tsx:92
#: src/views/config/configColumns.tsx:51
#: src/views/dns/components/DNSRecordTable.vue:42
#: src/views/dns/DDNSManager.vue:129 src/views/dns/DNSCredential.vue:71
#: src/views/dns/DNSDomainList.vue:217 src/views/namespace/columns.ts:97
#: src/views/nginx_log/NginxLogList.vue:338 src/views/node/nodeColumns.tsx:96
#: src/views/notification/notificationColumns.tsx:72
#: src/views/preference/components/ExternalNotify/columns.tsx:85
#: src/views/site/site_list/columns.tsx:160 src/views/stream/columns.tsx:123
#: src/views/user/userColumns.tsx:58
msgid "Actions"
msgstr "Actions"

#: src/composables/usePerformanceMetrics.ts:84
#: src/views/dashboard/components/PerformanceTablesCard.vue:44
msgid "Active connections"
msgstr "Connexions actives"

#: src/views/dashboard/components/ProcessDistributionCard.vue:48
msgid "Actual worker to configured ratio"
msgstr "Ratio réel des travailleurs par rapport à la configuration"

#: src/components/NgxConfigEditor/NgxServer.vue:144
#: src/components/NgxConfigEditor/NgxUpstream.vue:97 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:119
#: src/views/site/site_list/SiteList.vue:73 src/views/stream/StreamList.vue:81
msgid "Add"
msgstr "Ajouter"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:50
#: src/views/preference/components/AuthSettings/AddPasskey.vue:54
msgid "Add a passkey"
msgstr "Ajouter une clé d'accès"

#: src/routes/modules/config.ts:20
#: src/views/config/components/ConfigLeftPanel.vue:169
#: src/views/config/components/ConfigLeftPanel.vue:242
msgid "Add Configuration"
msgstr "Ajouter une configuration"

#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:102
msgid "Add Directive Below"
msgstr "Ajouter une directive"

#: src/views/certificate/components/DNSIssueCertificate.vue:154
msgid "Add Domain"
msgstr "Ajouter un domaine"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:548
msgid "Add Header"
msgstr "Ajouter un en-tête"

#: src/components/NgxConfigEditor/LocationEditor.vue:143
#: src/components/NgxConfigEditor/LocationEditor.vue:170
msgid "Add Location"
msgstr "Ajouter une localisation"

#: src/views/dns/DNSRecordManager.vue:176
msgid "Add Record"
msgstr "Ajouter un enregistrement"

#: src/components/NgxConfigEditor/NgxServer.vue:92
msgid "Add Server"
msgstr "Ajouter un serveur"

#: src/routes/modules/sites.ts:26 src/views/site/site_add/SiteAdd.vue:167
msgid "Add Site"
msgstr "Ajouter un site"

#: src/views/stream/StreamList.vue:118
msgid "Add Stream"
msgstr "Ajouter un flux"

#: src/components/NgxConfigEditor/NgxUpstream.vue:118
msgid "Add Upstream"
msgstr "Ajouter un upstream"

#: src/views/stream/StreamList.vue:50
msgid "Added successfully"
msgstr "Ajouté avec succès"

#: src/views/dns/components/DNSChallenge.vue:101
msgid "Additional"
msgstr "Supplémentaire"

#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:113
#: src/views/stream/components/StreamEditor.vue:80
msgid "Advance Mode"
msgstr "Mode avancé"

#: src/views/nginx_log/NginxLogList.vue:397
msgid "Advanced indexing enabled but failed to start rebuild"
msgstr "Indexation avancée activée mais échec du démarrage de la reconstruction"

#: src/views/nginx_log/NginxLogList.vue:388
msgid "Advanced indexing enabled successfully"
msgstr "Indexation avancée activée avec succès"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:292
msgid "Advanced log indexing features are free and open source for all users"
msgstr ""
"Les fonctionnalités avancées d'indexation des journaux sont gratuites et "
"open source pour tous les utilisateurs"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:80
msgid "Advanced memory pooling system"
msgstr "Système avancé de pooling de mémoire"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:240
msgid "Advanced search & filtering"
msgstr "Recherche et filtrage avancés"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:622
msgid "Advanced Settings"
msgstr "Paramètres avancés"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:105
msgid "Afterwards, refresh this page and click add passkey again."
msgstr ""
"Ensuite, rafraîchissez cette page et cliquez à nouveau sur ajouter une clé "
"d'accès."

#: src/views/dns/components/DNSRecordFilter.vue:55
msgid "All"
msgstr "Tous"

#: src/views/system/Licenses.vue:152
msgid "All Components"
msgstr "Tous les composants"

#: src/components/Notification/notifications.ts:201
#: src/language/constants.ts:58
msgid "All Recovery Codes Have Been Used"
msgstr "Tous les codes de récupération ont été utilisés"

#: src/views/certificate/components/DNSIssueCertificate.vue:159
msgid ""
"All selected subdomains must belong to the same DNS Provider, otherwise the "
"certificate application will fail."
msgstr ""
"Tous les sous-domaines sélectionnés doivent appartenir au même fournisseur "
"DNS, sinon la demande de certificat échouera."

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:160
msgid ""
"Alternatively, if you cannot download the database, you can manually place "
"GeoLite2-City.mmdb in the same directory as app.ini."
msgstr ""
"Alternativement, si vous ne pouvez pas télécharger la base de données, vous "
"pouvez placer manuellement GeoLite2-City.mmdb dans le même répertoire que "
"app.ini."

#: src/constants/errors/nginx_log.ts:10
msgid "Analytics service not available"
msgstr "Service d'analyse non disponible"

#: src/views/nginx_log/structured/components/SearchFilters.vue:96
msgid "Any"
msgstr "Tous"

#: src/components/AutoCertForm/AutoCertForm.vue:209
msgid "Any reachable IP address can be used with private Certificate Authorities"
msgstr ""
"Toute adresse IP accessible peut être utilisée avec des autorités de "
"certification privées"

#: src/views/preference/tabs/OpenAISettings.vue:33
msgid "API Base Url"
msgstr "URL de base de l'API"

#: src/views/dns/components/DNSChallenge.vue:74
msgid "API Document"
msgstr "Documentation API"

#: src/views/preference/tabs/OpenAISettings.vue:47
msgid "API Proxy"
msgstr "Proxy d'API"

#: src/views/preference/tabs/OpenAISettings.vue:59
msgid "API Token"
msgstr "Jeton API"

#: src/views/preference/tabs/OpenAISettings.vue:71
msgid "API Type"
msgstr "Type d'API"

#: src/views/preference/Preference.vue:53
msgid "App"
msgstr "Application"

#: src/language/curd.ts:65
msgid "Apply"
msgstr "Appliquer"

#: src/views/system/Upgrade.vue:195
msgid "Arch"
msgstr "Arch"

#: src/views/preference/tabs/AuthSettings.vue:126
msgid "Are you sure to delete this banned IP immediately?"
msgstr "Êtes-vous sûr de vouloir supprimer immédiatement cette IP bannie ?"

#: src/views/dns/DDNSManager.vue:276
msgid "Are you sure to delete this DDNS config?"
msgstr "Êtes-vous sûr de vouloir supprimer cette configuration DDNS ?"

#: src/views/preference/components/AuthSettings/Passkey.vue:114
msgid "Are you sure to delete this passkey immediately?"
msgstr "Êtes-vous sûr de vouloir supprimer immédiatement cette clé d'accès ?"

#: src/views/dns/components/DNSRecordTable.vue:103
msgid "Are you sure to delete this record?"
msgstr "Êtes-vous sûr de vouloir supprimer cet enregistrement ?"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:155
msgid "Are you sure to generate new recovery codes?"
msgstr "Êtes-vous sûr de vouloir générer de nouveaux codes de récupération ?"

#: src/views/preference/components/AuthSettings/TOTP.vue:87
msgid "Are you sure to reset 2FA?"
msgstr "Êtes-vous sûr de vouloir réinitialiser l'authentification à deux facteurs ?"

#: src/components/Notification/Notification.vue:117
#: src/views/notification/Notification.vue:40
msgid "Are you sure you want to clear all notifications?"
msgstr "Êtes-vous sûr de vouloir effacer toutes les notifications ?"

#: src/components/LLM/ChatMessageInput.vue:63
msgid "Are you sure you want to clear the record of chat?"
msgstr "Voulez-vous vraiment effacer l'historique du chat ?"

#: src/language/curd.ts:27
msgid "Are you sure you want to delete permanently?"
msgstr "Êtes-vous sûr de vouloir supprimer définitivement ?"

#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:91
#: src/views/stream/StreamList.vue:101
msgid "Are you sure you want to delete?"
msgstr "Etes-vous sûr que vous voulez supprimer ?"

#: src/components/NamespaceTabs/NamespaceTabs.vue:134
msgid "Are you sure you want to reload Nginx on the following sync nodes?"
msgstr ""
"Êtes-vous sûr de vouloir recharger Nginx sur les nœuds de synchronisation "
"suivants ?"

#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:122
msgid "Are you sure you want to remove this directive?"
msgstr "Voulez-vous vraiment supprimer cette directive ?"

#: src/views/preference/tabs/CertSettings.vue:71
msgid "Are you sure you want to remove this item?"
msgstr "Êtes-vous sûr de vouloir supprimer cet élément ?"

#: src/components/NgxConfigEditor/LocationEditor.vue:99
msgid "Are you sure you want to remove this location?"
msgstr "Voulez-vous vraiment supprimer cette localisation ?"

#: src/components/NamespaceTabs/NamespaceTabs.vue:146
msgid "Are you sure you want to restart Nginx on the following sync nodes?"
msgstr ""
"Êtes-vous sûr de vouloir redémarrer Nginx sur les nœuds de synchronisation "
"suivants ?"

#: src/language/curd.ts:26
msgid "Are you sure you want to restore?"
msgstr "Êtes-vous sûr de vouloir restaurer ?"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:742
msgid "Ascending"
msgstr "Croissant"

#: src/components/LLM/ChatMessage.vue:216
msgid "Assistant"
msgstr "Assistant"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:60
msgid "At least 20GB available disk space"
msgstr "Au moins 20 Go d'espace disque disponible"

#: src/components/SelfCheck/SelfCheck.vue:85
msgid "Attempt to fix"
msgstr "Tenter de corriger"

#: src/views/preference/tabs/AuthSettings.vue:18
msgid "Attempts"
msgstr "Tentatives"

#: src/views/preference/Preference.vue:83
msgid "Auth"
msgstr "Authentification"

#: src/components/TwoFA/Authorization.vue:109
msgid "Authenticate with a passkey"
msgstr "S'authentifier avec une clé d'accès"

#: src/views/other/Login.vue:289
msgid "Authenticating..."
msgstr "Authentification en cours..."

#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:122
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:96
msgid "Author"
msgstr "Autheur"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43
msgid "Auto"
msgstr "Auto"

#: src/views/dashboard/components/PerformanceTablesCard.vue:201
msgid "auto = CPU cores"
msgstr "auto = cœurs CPU"

#: src/routes/modules/backup.ts:27
#: src/views/backup/AutoBackup/AutoBackup.vue:282
msgid "Auto Backup"
msgstr "Sauvegarde automatique"

#: src/components/Notification/notifications.ts:37
msgid "Auto Backup Completed"
msgstr "Sauvegarde automatique terminée"

#: src/components/Notification/notifications.ts:25
msgid "Auto Backup Configuration Error"
msgstr "Erreur de configuration de sauvegarde automatique"

#: src/components/Notification/notifications.ts:29
msgid "Auto Backup Failed"
msgstr "Échec de la sauvegarde automatique"

#: src/components/Notification/notifications.ts:33
msgid "Auto Backup Storage Failed"
msgstr "Échec du stockage de sauvegarde automatique"

#: src/views/nginx_log/NginxLog.vue:101 src/views/node/Node.vue:164
msgid "Auto Refresh"
msgstr "Actualisation automatique"

#: src/views/node/Node.vue:47
msgid "Auto refresh disabled"
msgstr "Actualisation automatique désactivée"

#: src/views/node/Node.vue:43
msgid "Auto refresh enabled"
msgstr "Actualisation automatique activée"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:134
msgid "Auto-renewal disabled for %{name}"
msgstr "Renouvellement automatique désactivé pour %{name}"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:127
msgid "Auto-renewal enabled for %{name}"
msgstr "Renouvellement automatique activé pour %{name}"

#: src/views/certificate/components/RenewCert.vue:54
#: src/views/site/site_edit/components/Cert/IssueCert.vue:103
msgid "AutoCert is running, please wait..."
msgstr "AutoCert est en cours d'exécution, veuillez patienter..."

#: src/components/ProcessingStatus/ProcessingStatus.vue:44
msgid "AutoCert is running..."
msgstr "AutoCert est en cours d'exécution..."

#: src/views/nginx_log/components/IndexingSettingsModal.vue:260
msgid "Automated log rotation detection"
msgstr "Détection automatique de rotation des journaux"

#: src/components/SystemRestore/SystemRestoreContent.vue:364
msgid "Automatic Restart"
msgstr "Redémarrage automatique"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:331
#: src/views/site/site_edit/components/RightPanel/DNS.vue:625
msgid "Automatically extracted from server_name"
msgstr "Extraite automatiquement de server_name"

#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:36
msgid "Average Latency"
msgstr "Latence moyenne"

#: src/views/nginx_log/dashboard/components/SummaryStats.vue:33
msgid "Avg Daily UV"
msgstr "UV quotidien moyen"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:793
msgid "Avg/PV"
msgstr "Moy./PV"

#: src/views/certificate/components/CertificateActions.vue:22
#: src/views/config/components/ConfigLeftPanel.vue:274
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/dns/DNSRecordManager.vue:230 src/views/nginx_log/NginxLog.vue:129
#: src/views/site/site_add/SiteAdd.vue:250
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:189
#: src/views/stream/components/StreamEditor.vue:147
msgid "Back"
msgstr "Retour"

#: src/views/other/Error.vue:22
msgid "Back Home"
msgstr "Retour au menu principal"

#: src/language/curd.ts:21
msgid "Back to List"
msgstr "Retour à la liste"

#: src/views/system/Licenses.vue:113 src/views/system/Licenses.vue:187
msgid "Backend"
msgstr "Backend"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:570
msgid ""
"Background indexing in progress. Data will be updated automatically when "
"ready."
msgstr ""
"Indexation en arrière-plan en cours. Les données seront mises à jour "
"automatiquement lorsqu'elles seront prêtes."

#: src/constants/errors/nginx_log.ts:14
msgid "Background log service not available"
msgstr "Service de journalisation en arrière-plan non disponible"

#: src/routes/modules/backup.ts:11 src/routes/modules/backup.ts:19
msgid "Backup"
msgstr "Sauvegarde"

#: src/constants/errors/backup.ts:40
msgid "Backup file not found: {0}"
msgstr "Fichier de sauvegarde introuvable : {0}"

#: src/views/backup/components/BackupCreator.vue:42
msgid "Backup has been downloaded successfully"
msgstr "La sauvegarde a été téléchargée avec succès"

#: src/constants/errors/backup.ts:61
msgid "Backup integrity verification failed"
msgstr "Échec de la vérification de l'intégrité de la sauvegarde"

#: src/constants/errors/backup.ts:63
msgid "Backup manifest is missing required file entry: {0}"
msgstr "Le manifeste de sauvegarde ne contient pas l'entrée de fichier requise : {0}"

#: src/views/backup/AutoBackup/AutoBackup.vue:50
msgid "Backup Path"
msgstr "Chemin de sauvegarde"

#: src/constants/errors/backup.ts:73
msgid "Backup path does not exist: {0}"
msgstr "Le chemin de sauvegarde n'existe pas : {0}"

#: src/constants/errors/backup.ts:75
msgid "Backup path is not a directory: {0}"
msgstr "Le chemin de sauvegarde n'est pas un répertoire : {0}"

#: src/constants/errors/backup.ts:65
msgid "Backup path is required for custom directory backup"
msgstr ""
"Le chemin de sauvegarde est requis pour la sauvegarde de répertoire "
"personnalisée"

#: src/views/backup/AutoBackup/components/CronEditor.vue:141
msgid "Backup Schedule"
msgstr "Planification de sauvegarde"

#: src/constants/errors/backup.ts:64
msgid "Backup signing key is unavailable"
msgstr "La clé de signature de sauvegarde n'est pas disponible"

#: src/components/Notification/notifications.ts:38
msgid "Backup task %{backup_name} completed successfully, file: %{file_path}"
msgstr ""
"Tâche de sauvegarde %{backup_name} terminée avec succès, fichier : "
"%{file_path}"

#: src/components/Notification/notifications.ts:34
msgid "Backup task %{backup_name} failed during storage upload, error: %{error}"
msgstr ""
"La tâche de sauvegarde %{backup_name} a échoué lors du téléchargement vers "
"le stockage, erreur : %{error}"

#: src/components/Notification/notifications.ts:30
msgid "Backup task %{backup_name} failed to execute, error: %{error}"
msgstr ""
"La tâche de sauvegarde %{backup_name} n'a pas pu s'exécuter, erreur : "
"%{error}"

#: src/views/backup/AutoBackup/AutoBackup.vue:24
msgid "Backup Type"
msgstr "Type de sauvegarde"

#: src/views/preference/tabs/AuthSettings.vue:93
msgid "Ban Threshold Minutes"
msgstr "Minutes seuil de bannissement"

#: src/views/preference/tabs/AuthSettings.vue:114
msgid "Banned IPs"
msgstr "IPs bannies"

#: src/views/preference/tabs/AuthSettings.vue:21
msgid "Banned Until"
msgstr "Banni durant"

#: src/views/preference/components/ExternalNotify/bark.ts:5
msgid "Bark"
msgstr "Bark"

#: src/views/site/site_add/SiteAdd.vue:173
msgid "Base information"
msgstr "Information générale"

#: src/views/config/components/ConfigRightPanel/ConfigRightPanel.vue:41
#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:44
#: src/views/stream/components/RightPanel/RightPanel.vue:31
msgid "Basic"
msgstr "Basique"

#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:116
#: src/views/stream/components/StreamEditor.vue:83
msgid "Basic Mode"
msgstr "Mode simple"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:118
msgid "Basic Settings"
msgstr "Paramètres de base"

#: src/language/curd.ts:32
msgid "Batch Edit"
msgstr "Édition par lots"

#: src/language/curd.ts:34
msgid "Batch Modify"
msgstr "Modification par lot"

#: src/views/node/BatchUpgrader.vue:154
msgid "Batch Upgrade"
msgstr "Mise à jour par lot"

#: src/language/curd.ts:38
msgid "Belows are selected items that you want to batch modify"
msgstr "Ci-dessous sont sélectionnés les éléments que vous voulez modifier en masse"

#: src/constants/errors/nginx.ts:3
msgid "Block is nil"
msgstr "Le bloc est nul"

#: src/views/nginx_log/dashboard/components/BrowserStatsTable.vue:13
#: src/views/nginx_log/structured/components/SearchFilters.vue:137
#: src/views/nginx_log/structured/StructuredLogViewer.vue:257
#: src/views/nginx_log/structured/StructuredLogViewer.vue:523
msgid "Browser"
msgstr "Navigateur"

#: src/views/nginx_log/dashboard/components/BrowserStatsTable.vue:36
msgid "Browser Statistics"
msgstr "Statistiques du navigateur"

#: src/views/dns/DNSDomainList.vue:263
msgid "Business contact:"
msgstr "Contact commercial :"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:314
msgid ""
"By enabling advanced indexing, you acknowledge that your system meets the "
"requirements and understand the performance implications. This will start "
"indexing existing log files immediately."
msgstr ""
"En activant l'indexation avancée, vous reconnaissez que votre système "
"répond aux exigences et comprenez les implications en termes de "
"performances. Cela commencera à indexer immédiatement les fichiers journaux "
"existants."

#: src/views/certificate/ACMEUser.vue:38
msgid "CA Dir"
msgstr "Répertoire CA"

#: src/views/dashboard/components/ParamsOptimization.vue:125
msgid "Cache"
msgstr "Cache"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:177
msgid "Cache items not accessed within this time will be removed"
msgstr "Les éléments du cache non consultés pendant cette période seront supprimés"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:349
msgid "Cache loader processing time threshold"
msgstr "Seuil de temps de traitement du chargeur de cache"

#: src/composables/usePerformanceMetrics.ts:139
#: src/views/dashboard/components/PerformanceTablesCard.vue:95
msgid "Cache manager processes"
msgstr "Processus de gestion du cache"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:287
msgid "Cache manager processing time threshold"
msgstr "Seuil de temps de traitement du gestionnaire de cache"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:245
msgid "Cache Manager Settings"
msgstr "Paramètres du gestionnaire de cache"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:123
msgid "Cache Path"
msgstr "Chemin du cache"

#: src/composables/usePerformanceMetrics.ts:57
#: src/views/dashboard/components/ProcessDistributionCard.vue:14
msgid "Cache Processes"
msgstr "Processus de cache"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:136
msgid "Cache subdirectory levels structure, e.g. 1:2"
msgstr "Structure des niveaux de sous-répertoires du cache, par ex. 1:2"

#: src/views/preference/tabs/CertSettings.vue:19
msgid "CADir"
msgstr "CADir"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
#: src/views/dashboard/components/PerformanceTablesCard.vue:191
msgid ""
"Calculated based on worker_processes * worker_connections. Actual "
"performance depends on hardware, configuration, and workload"
msgstr ""
"Calculé sur la base de worker_processes * worker_connections. Les "
"performances réelles dépendent du matériel, de la configuration et de la "
"charge de travail"

#: src/components/LLM/ChatMessage.vue:245
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:32 src/language/curd.ts:37
#: src/views/config/components/Delete.vue:98
#: src/views/dashboard/components/SiteHealthCheckModal.vue:710
#: src/views/dns/DDNSManager.vue:334 src/views/dns/DNSRecordManager.vue:219
#: src/views/nginx_log/components/IndexingSettingsModal.vue:101
#: src/views/nginx_log/indexing/IndexManagement.vue:33
#: src/views/nginx_log/indexing/IndexManagement.vue:59
#: src/views/preference/components/AuthSettings/Passkey.vue:142
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:53
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:184
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:21
#: src/views/stream/components/StreamStatusSelect.vue:62
msgid "Cancel"
msgstr "Annuler"

#: src/constants/errors/backup.ts:74
msgid "Cannot access backup path {0}: {1}"
msgstr "Impossible d'accéder au chemin de sauvegarde {0} : {1}"

#: src/constants/errors/nginx_log.ts:13
msgid "Cannot access log file"
msgstr "Impossible d'accéder au fichier journal"

#: src/constants/errors/backup.ts:77
msgid "Cannot access storage path {0}: {1}"
msgstr "Impossible d'accéder au chemin de stockage {0} : {1}"

#: src/constants/errors/user.ts:11
msgid "Cannot change initial user password in demo mode"
msgstr "Impossible de modifier le mot de passe de l'utilisateur initial en mode démo"

#: src/components/ConfigHistory/DiffViewer.vue:71
msgid "Cannot compare: Missing content"
msgstr "Impossible de comparer: contenu manquant"

#: src/constants/errors/config.ts:10
msgid "Cannot delete protected path"
msgstr "Impossible de supprimer le chemin protégé"

#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:135
msgid "Cannot delete server_name while DNS is linked. Clear DNS link first."
msgstr ""
"Impossible de supprimer server_name tant que le DNS est lié. Supprimez "
"d'abord le lien DNS."

#: src/constants/errors/config.ts:13
msgid "Cannot delete the nginx config directory"
msgstr "Impossible de supprimer le répertoire de configuration nginx"

#: src/views/dashboard/NginxDashBoard.vue:154
msgid "Cannot get performance data in this state"
msgstr "Impossible d'obtenir des données de performance dans cet état"

#: src/constants/errors/user.ts:10
msgid "Cannot remove initial user"
msgstr "Impossible de retirer l'utilisateur initial"

#: src/views/preference/Preference.vue:89
msgid "Cert"
msgstr "Certificat"

#: src/constants/errors/cert.ts:3
msgid "Cert path is not under the nginx conf dir"
msgstr "Le chemin du certificat n'est pas dans le dossier conf de nginx"

#: src/views/certificate/components/CertificateFileUpload.vue:121
#: src/views/certificate/components/CertificateFileUpload.vue:45
msgid "certificate"
msgstr "certificat"

#: src/components/Notification/notifications.ts:50
msgid "Certificate %{name} has expired"
msgstr "Le certificat %{name} a expiré"

#: src/components/Notification/notifications.ts:46
msgid "Certificate %{name} renewal failed: %{error}"
msgstr "Échec du renouvellement du certificat %{name} : %{error}"

#: src/components/Notification/notifications.ts:42
msgid "Certificate %{name} renewed successfully"
msgstr "Certificat %{name} renouvelé avec succès"

#: src/components/Notification/notifications.ts:54
#: src/components/Notification/notifications.ts:58
#: src/components/Notification/notifications.ts:62
msgid "Certificate %{name} will expire in %{days} days"
msgstr "Le certificat %{name} expirera dans %{days} jours"

#: src/components/Notification/notifications.ts:66
msgid "Certificate %{name} will expire in 1 day"
msgstr "Le certificat %{name} expirera dans 1 jour"

#: src/views/certificate/components/CertificateDownload.vue:37
msgid "Certificate content and private key content cannot be empty"
msgstr "Le contenu du certificat et la clé privée ne peuvent pas être vides"

#: src/constants/errors/cert.ts:4
msgid "Certificate decode error"
msgstr "Erreur de décodage du certificat"

#: src/components/Notification/notifications.ts:53
msgid "Certificate Expiration Notice"
msgstr "Avis d'expiration du certificat"

#: src/components/Notification/notifications.ts:49
msgid "Certificate Expired"
msgstr "Certificat expiré"

#: src/components/Notification/notifications.ts:57
#: src/components/Notification/notifications.ts:61
#: src/components/Notification/notifications.ts:65
msgid "Certificate Expiring Soon"
msgstr "Certificat expirant bientôt"

#: src/views/certificate/components/CertificateDownload.vue:71
msgid "Certificate files downloaded successfully"
msgstr "Fichiers de certificat téléchargés avec succès"

#: src/views/certificate/components/CertificateDownload.vue:42
msgid "Certificate name cannot be empty"
msgstr "Le nom du certificat ne peut pas être vide"

#: src/language/generate.ts:4
msgid "Certificate not found: %{error}"
msgstr "Certificat introuvable : %{error}"

#: src/constants/errors/cert.ts:5
msgid "Certificate parse error"
msgstr "Erreur d'analyse du certificat"

#: src/constants/errors/cert.ts:8
msgid "Certificate path is empty"
msgstr "Le chemin du certificat est vide"

#: src/views/certificate/components/RemoveCert.vue:52
#: src/views/certificate/components/RemoveCert.vue:72
msgid "Certificate removed successfully"
msgstr "Certificat supprimé avec succès"

#: src/views/preference/tabs/CertSettings.vue:27
msgid "Certificate Renewal Interval"
msgstr "Intervalle de renouvellement du certificat"

#: src/language/constants.ts:21
msgid "Certificate renewed successfully"
msgstr "Certificat renouvelé avec succès"

#: src/language/generate.ts:5
msgid "Certificate revoked successfully"
msgstr "Certificat révoqué avec succès"

#: src/views/certificate/components/AutoCertManagement.vue:67
#: src/views/site/site_edit/components/Cert/Cert.vue:58
msgid "Certificate Status"
msgid_plural "Certificates Status"
msgstr[0] "État du certificat"

#: src/views/certificate/components/DNSIssueCertificate.vue:107
msgid "Certificate Type"
msgstr "Type de certificat"

#: src/routes/modules/certificates.ts:11
#: src/views/certificate/CertificateList/Certificate.vue:19
msgid "Certificates"
msgstr "Certificats"

#: src/routes/modules/certificates.ts:28
msgid "Certificates List"
msgstr "Liste des certificats"

#: src/constants/errors/cert.ts:17
msgid "Challenge error: {0}"
msgstr "Erreur de défi : {0}"

#: src/components/AutoCertForm/AutoCertForm.vue:218
msgid "Challenge Method"
msgstr "Méthode de challenge"

#: src/views/site/site_edit/components/Cert/ChangeCert.vue:51
#: src/views/site/site_edit/components/Cert/ChangeCert.vue:55
msgid "Change Certificate"
msgstr "Changer de certificat"

#: src/views/user/UserProfile.vue:181
msgid "Change Password"
msgstr "Changer le mot de passe"

#: src/views/site/site_edit/components/Cert/Cert.vue:77
msgid "Changed Certificate"
msgid_plural "Changed Certificates"
msgstr[0] "Certificat modifié"

#: src/views/config/components/ConfigRightPanel/Basic.vue:47
msgid "Changed Path"
msgstr "Chemin modifié"

#: src/views/node/BatchUpgrader.vue:161 src/views/system/Upgrade.vue:207
msgid "Channel"
msgstr "Canal"

#: src/views/config/components/ConfigRightPanel/ConfigRightPanel.vue:50
#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:57
#: src/views/stream/components/RightPanel/RightPanel.vue:34
msgid "Chat"
msgstr "Chat"

#: src/components/LLM/LLM.vue:63
msgid "Chat for %{path}"
msgstr "Chat pour %{path}"

#: src/components/SelfCheck/SelfCheckHeaderBanner.vue:40
#: src/components/SelfCheck/SelfCheckHeaderBanner.vue:64
msgid "Check"
msgstr "Vérifier"

#: src/views/system/Upgrade.vue:204
msgid "Check again"
msgstr "Revérifier"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:670
msgid "Check Favicon"
msgstr "Vérifier le favicon"

#: src/language/generate.ts:6
msgid ""
"Check if /var/run/docker.sock exists. If you are using Nginx UI Official "
"Docker Image, please make sure the docker socket is mounted like this: `-v "
"/var/run/docker.sock:/var/run/docker.sock`. Nginx UI official image uses "
"/var/run/docker.sock to communicate with the host Docker Engine via Docker "
"Client API. This feature is used to control Nginx in another container and "
"perform container replacement rather than binary replacement during OTA "
"upgrades of Nginx UI to ensure container dependencies are also upgraded. If "
"you don't need this feature, please add the environment variable "
"NGINX_UI_IGNORE_DOCKER_SOCKET=true to the container."
msgstr ""
"Vérifiez si /var/run/docker.sock existe. Si vous utilisez l'image Docker "
"officielle de Nginx UI, assurez-vous que le socket Docker est monté comme "
"ceci : `-v /var/run/docker.sock:/var/run/docker.sock`. L'image officielle "
"de Nginx UI utilise /var/run/docker.sock pour communiquer avec le moteur "
"Docker de l'hôte via l'API Docker Client. Cette fonctionnalité est utilisée "
"pour contrôler Nginx dans un autre conteneur et effectuer un remplacement "
"de conteneur plutôt qu'un remplacement binaire lors des mises à jour OTA de "
"Nginx UI pour s'assurer que les dépendances du conteneur sont également "
"mises à jour. Si vous n'avez pas besoin de cette fonctionnalité, ajoutez la "
"variable d'environnement NGINX_UI_IGNORE_DOCKER_SOCKET=true au conteneur."

#: src/components/SelfCheck/tasks/frontend/https-check.ts:14
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features"
msgstr ""
"Vérifiez si HTTPS est activé. Utiliser HTTP en dehors de localhost est peu "
"sécurisé et empêche l'utilisation des Passkeys et des fonctionnalités du "
"presse-papiers"

#: src/language/generate.ts:8
msgid "Check if the conf.d directory is under the nginx configuration directory"
msgstr ""
"Vérifiez si le répertoire conf.d se trouve dans le répertoire de "
"configuration de nginx"

#: src/language/generate.ts:7
msgid ""
"Check if the GeoLite2 database is available when log indexing is enabled. "
"The GeoLite2 database is required for geographic IP analysis in log "
"indexing. You can download it from the Preference page or manually place "
"GeoLite2-City.mmdb in the same directory as app.ini"
msgstr ""
"Vérifiez si la base de données GeoLite2 est disponible lorsque l'indexation "
"des journaux est activée. La base de données GeoLite2 est nécessaire pour "
"l'analyse géographique des adresses IP dans l'indexation des journaux. Vous "
"pouvez la télécharger depuis la page des Préférences ou placer "
"GeoLite2-City.mmdb manuellement dans le même répertoire que app.ini"

#: src/language/generate.ts:10
msgid ""
"Check if the nginx access log path exists. By default, this path is "
"obtained from 'nginx -V'. If it cannot be obtained or the obtained path "
"does not point to a valid, existing file, an error will be reported. In "
"this case, you need to modify the configuration file to specify the access "
"log path.Refer to the docs for more details: "
"https://nginxui.com/zh_CN/guide/config-nginx.html#accesslogpath"
msgstr ""
"Vérifiez si le chemin du journal d'accès nginx existe. Par défaut, ce "
"chemin est obtenu à partir de 'nginx -V'. S'il ne peut pas être obtenu ou "
"si le chemin obtenu ne pointe pas vers un fichier valide existant, une "
"erreur sera signalée. Dans ce cas, vous devez modifier le fichier de "
"configuration pour spécifier le chemin du journal d'accès. Consultez la "
"documentation pour plus de détails : "
"https://nginxui.com/zh_CN/guide/config-nginx.html#accesslogpath"

#: src/language/generate.ts:11
msgid "Check if the nginx configuration directory exists"
msgstr "Vérifier si le répertoire de configuration de nginx existe"

#: src/language/generate.ts:12
msgid "Check if the nginx configuration entry file exists"
msgstr "Vérifier si le fichier d'entrée de configuration nginx existe"

#: src/language/generate.ts:13
msgid ""
"Check if the nginx error log path exists. By default, this path is obtained "
"from 'nginx -V'. If it cannot be obtained or the obtained path does not "
"point to a valid, existing file, an error will be reported. In this case, "
"you need to modify the configuration file to specify the error log path. "
"Refer to the docs for more details: "
"https://nginxui.com/zh_CN/guide/config-nginx.html#errorlogpath"
msgstr ""
"Vérifiez si le chemin du journal des erreurs de nginx existe. Par défaut, "
"ce chemin est obtenu à partir de 'nginx -V'. S'il ne peut pas être obtenu "
"ou si le chemin obtenu ne pointe pas vers un fichier valide existant, une "
"erreur sera signalée. Dans ce cas, vous devez modifier le fichier de "
"configuration pour spécifier le chemin du journal des erreurs. Consultez la "
"documentation pour plus de détails : "
"https://nginxui.com/zh_CN/guide/config-nginx.html#errorlogpath"

#: src/language/generate.ts:9
msgid ""
"Check if the nginx PID path exists. By default, this path is obtained from "
"'nginx -V'. If it cannot be obtained, an error will be reported. In this "
"case, you need to modify the configuration file to specify the Nginx PID "
"path.Refer to the docs for more details: "
"https://nginxui.com/zh_CN/guide/config-nginx.html#pidpath"
msgstr ""
"Vérifiez si le chemin du PID de Nginx existe. Par défaut, ce chemin est "
"obtenu à partir de 'nginx -V'. S'il ne peut pas être obtenu, une erreur "
"sera signalée. Dans ce cas, vous devez modifier le fichier de configuration "
"pour spécifier le chemin du PID de Nginx. Consultez la documentation pour "
"plus de détails: https://nginxui.com/zh_CN/guide/config-nginx.html#pidpath"

#: src/language/generate.ts:14
msgid "Check if the nginx sbin path exists"
msgstr "Vérifiez si le chemin d'accès à nginx sbin existe"

#: src/language/generate.ts:15
msgid "Check if the nginx.conf includes the conf.d directory"
msgstr "Vérifier si le nginx.conf inclut le répertoire conf.d"

#: src/language/generate.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory"
msgstr "Vérifier si le nginx.conf inclut le répertoire sites-enabled"

#: src/language/generate.ts:17
msgid "Check if the nginx.conf includes the streams-enabled directory"
msgstr "Vérifier si le nginx.conf inclut le répertoire streams-enabled"

#: src/language/generate.ts:18
msgid ""
"Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory"
msgstr ""
"Vérifier si les répertoires sites-available et sites-enabled se trouvent "
"dans le répertoire de configuration de nginx"

#: src/language/generate.ts:19
msgid ""
"Check if the streams-available and streams-enabled directories are under "
"the nginx configuration directory"
msgstr ""
"Vérifier si les répertoires streams-available et streams-enabled se "
"trouvent dans le répertoire de configuration de nginx"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:625
msgid "Check Interval (seconds)"
msgstr "Intervalle de vérification (secondes)"

#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:212
#: src/views/nginx_log/dashboard/components/GeoMapChart.vue:47
msgid "China Access Map"
msgstr "Carte d'Accès Chine"

#: src/views/nginx_log/dashboard/components/GeoMapChart.vue:34
msgid "China Map"
msgstr "Carte de la Chine"

#: src/constants/errors/crypto.ts:3
msgid "Cipher text is too short"
msgstr "Texte de chiffrement trop court"

#: src/language/constants.ts:13
msgid "Cleaning environment variables"
msgstr "Nettoyage des variables d'environnement"

#: src/components/LLM/ChatMessageInput.vue:67
#: src/components/Notification/Notification.vue:122
#: src/views/notification/Notification.vue:45
#: src/views/site/site_edit/components/RightPanel/DNS.vue:480
msgid "Clear"
msgstr "Effacer"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:538
msgid "Clear Link"
msgstr "Effacer le lien"

#: src/components/Notification/Notification.vue:75
#: src/views/notification/Notification.vue:13
msgid "Cleared successfully"
msgstr "Effacé avec succès"

#: src/components/SystemRestore/SystemRestoreContent.vue:220
#: src/components/SystemRestore/SystemRestoreContent.vue:303
msgid "Click or drag backup file to this area to upload"
msgstr ""
"Cliquez sur ou faites glisser le fichier de sauvegarde vers cette zone pour "
"télécharger"

#: src/language/curd.ts:51 src/language/curd.ts:55
msgid "Click or drag files to this area to upload"
msgstr "Cliquez ou faites glisser des fichiers dans cette zone pour les télécharger"

#: src/language/curd.ts:52 src/language/curd.ts:56
msgid "Click or drag folders to this area to upload"
msgstr "Cliquez ou faites glisser des dossiers dans cette zone pour télécharger"

#: src/views/preference/components/AuthSettings/TOTP.vue:112
msgid "Click to copy"
msgstr "Clique pour copier"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:124
msgid "Client Body Buffer Size"
msgstr "Taille du tampon du corps client"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:692
msgid "Client Certificate"
msgstr "Certificat client"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:114
msgid "Client Error Responses (4xx)"
msgstr "Réponses d'erreur client (4xx)"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:117
msgid "Client Header Buffer Size"
msgstr "Taille du tampon d'en-tête client"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:697
msgid "Client Key"
msgstr "Clé client"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:110
msgid "Client Max Body Size"
msgstr "Taille maximale du corps du client"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:125
msgid "Client request body buffer size"
msgstr "Taille du tampon du corps de la requête client"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:118
msgid "Client request header buffer size"
msgstr "Taille du tampon d'en-tête de requête client"

#: src/components/ConfigHistory/ConfigHistory.vue:179 src/language/curd.ts:14
msgid "Close"
msgstr "Fermer"

#: src/components/PortScanner/PortScannerCompact.vue:45
msgid "Closed"
msgstr "Fermé"

#: src/constants/errors/llm.ts:2
msgid "Code completion is not enabled"
msgstr "La complétion de code n'est pas activée"

#: src/views/preference/tabs/OpenAISettings.vue:90
msgid "Code Completion Model"
msgstr "Modèle de complétion de code"

#: src/language/curd.ts:71
msgid "Collapse"
msgstr "Réduire"

#: src/language/curd.ts:64
msgid "Column Settings"
msgstr "Paramètres des colonnes"

#: src/views/preference/tabs/LogrotateSettings.vue:23
msgid "Command"
msgstr "Commande"

#: src/constants/errors/docker.ts:6
msgid "Command exited with unexpected exit code: {0}, error: {1}"
msgstr ""
"La commande s'est terminée avec un code de sortie inattendu : {0}, erreur : "
"{1}"

#: src/views/dns/components/DNSRecordForm.vue:91
#: src/views/dns/components/DNSRecordTable.vue:49
msgid "Comment"
msgstr "Commentaire"

#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:150
#: src/components/NgxConfigEditor/LocationEditor.vue:116
#: src/components/NgxConfigEditor/LocationEditor.vue:147
#: src/components/NgxConfigEditor/NgxServer.vue:123
msgid "Comments"
msgstr "Commentaires"

#: src/components/ConfigHistory/ConfigHistory.vue:136
msgid "Compare"
msgstr "Comparer"

#: src/components/ConfigHistory/DiffViewer.vue:372
msgid "Compare Configurations"
msgstr "Comparer les configurations"

#: src/components/ConfigHistory/ConfigHistory.vue:139
msgid "Compare Selected"
msgstr "Comparez sélectionné"

#: src/components/ConfigHistory/ConfigHistory.vue:138
msgid "Compare with Current"
msgstr "Comparez avec le courant"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:70
msgid "Complete indexing with search capabilities"
msgstr "Indexation complète avec capacités de recherche"

#: src/views/system/Licenses.vue:144
msgid "components"
msgstr "composants"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:268
msgid "Compressed log file support"
msgstr "Prise en charge des fichiers journaux compressés"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88
msgid "Compression level, 1 is lowest, 9 is highest"
msgstr "Le niveau de compression, 1 est le plus bas, 9 est le plus élevé"

#: src/views/nginx_log/indexing/components/IndexProgressBar.vue:54
msgid "Computing Statistics"
msgstr "Calcul des statistiques"

#: src/language/generate.ts:20
msgid "Conf.d directory exists"
msgstr "Le répertoire conf.d existe"

#: src/constants/errors/self_check.ts:23
msgid "Conf.d directory not exists"
msgstr "Le répertoire Conf.d n'existe pas"

#: src/views/preference/components/ExternalNotify/columns.tsx:58
msgid "Config"
msgstr "Configuration"

#: src/constants/errors/self_check.ts:17
msgid "Config directory not exist"
msgstr "Le répertoire de configuration n'existe pas"

#: src/constants/errors/self_check.ts:18
msgid "Config entry file not exist"
msgstr "Le fichier d'entrée de configuration n'existe pas"

#: src/constants/errors/user.ts:15
msgid "Config not found"
msgstr "Configuration non trouvée"

#: src/constants/errors/backup.ts:16
msgid "Config path is empty"
msgstr "Le chemin de configuration est vide"

#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:53
msgid "Config Template"
msgstr "Modèle de configuration"

#: src/views/dns/DNSCredential.vue:52
msgid "Configuration"
msgstr "Configuration"

#: src/components/InspectConfig/InspectConfig.vue:150
msgid "Configuration file is test successful"
msgstr "Le fichier de configuration est testé avec succès"

#: src/components/InspectConfig/InspectConfig.vue:149
msgid "Configuration file is test successful in isolated sandbox"
msgstr ""
"Le fichier de configuration a été testé avec succès dans un environnement "
"de bac à sable isolé"

#: src/components/ConfigHistory/ConfigHistory.vue:147
msgid "Configuration History"
msgstr "Historique de configuration"

#: src/views/dashboard/components/PerformanceTablesCard.vue:168
msgid "Configuration information"
msgstr "Informations de configuration"

#: src/views/site/site_add/SiteAdd.vue:180
msgid "Configuration Name"
msgstr "Nom de la configuration"

#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "Configurations"

#: src/views/dns/DDNSManager.vue:273
msgid "Configure"
msgstr "Configurer"

#: src/views/dns/DDNSManager.vue:301
msgid "Configure DDNS"
msgstr "Configurer DDNS"

#: src/views/site/site_add/SiteAdd.vue:175
msgid "Configure SSL"
msgstr "Configurer SSL"

#: src/language/curd.ts:66
msgid "Confirm Delete"
msgstr "Confirmer la suppression"

#: src/views/user/UserProfile.vue:204
msgid "Confirm New Password"
msgstr "Confirmer le nouveau mot de passe"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:313
msgid "Confirmation Required"
msgstr "Confirmation requise"

#: src/views/dashboard/components/NodeAnalyticItem.vue:78
#: src/views/dashboard/components/SiteNavigationToolbar.vue:35
msgid "Connected"
msgstr "Connecté"

#: src/views/dashboard/NginxDashBoard.vue:100
msgid "Connection error, trying to reconnect..."
msgstr "Erreur de connexion, tentative de reconnexion..."

#: src/views/terminal/components/TerminalSessionContent.vue:38
msgid "Connection lost for this terminal. Please refresh if needed."
msgstr "Connexion perdue pour ce terminal. Veuillez actualiser si nécessaire."

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61
msgid "Connection timeout period"
msgstr "Période de délai de connexion"

#: src/constants/errors/docker.ts:7
msgid "Container status unknown"
msgstr "Statut du conteneur inconnu"

#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:155
#: src/components/NgxConfigEditor/LocationEditor.vue:128
#: src/components/NgxConfigEditor/LocationEditor.vue:156
msgid "Content"
msgstr "Contenu"

#: src/components/SensitiveString/SensitiveInput.vue:62
#: src/components/SensitiveString/SensitiveString.vue:71
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:122
msgid "Copied"
msgstr "Copié"

#: src/views/backup/components/BackupCreator.vue:128
msgid "Copied!"
msgstr "Copié !"

#: src/components/SensitiveString/SensitiveInput.vue:85
#: src/components/SensitiveString/SensitiveString.vue:100
#: src/views/backup/components/BackupCreator.vue:128
msgid "Copy"
msgstr "Copier"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:122
msgid "Copy Codes"
msgstr "Copier Codes"

#: src/views/system/Upgrade.vue:162
msgid "Core Upgrade"
msgstr "Mise à jour du core"

#: src/constants/errors/docker.ts:15
msgid "Could not find old container name"
msgstr "Impossible de trouver le nom de l'ancien conteneur"

#: src/constants/errors/docker.ts:16
msgid "Could not find temp container"
msgstr "Impossible de trouver le conteneur temporaire"

#: src/views/nginx_log/dashboard/components/BrowserStatsTable.vue:18
#: src/views/nginx_log/dashboard/components/DailyTrendsChart.vue:98
#: src/views/nginx_log/dashboard/components/DeviceStatsTable.vue:17
#: src/views/nginx_log/dashboard/components/HourlyChart.vue:100
#: src/views/nginx_log/dashboard/components/OSStatsTable.vue:18
msgid "Count"
msgstr "Nombre"

#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:207
msgid "Country / Region"
msgstr "Pays / Région"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:47
msgid "CPU"
msgstr "CPU"

#: src/views/dashboard/ServerAnalytic.vue:309
msgid "CPU Status"
msgstr "État du processeur"

#: src/views/dashboard/components/ResourceUsageCard.vue:27
msgid "CPU Usage"
msgstr "Utilisation du CPU"

#: src/views/dashboard/components/ResourceUsageCard.vue:38
msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
msgstr ""
"L'utilisation du processeur est relativement élevée, envisagez d'optimiser "
"la configuration de Nginx"

#: src/views/dashboard/ServerAnalytic.vue:200
msgid "CPU:"
msgstr "CPU :"

#: src/views/site/site_add/SiteAdd.vue:267
msgid "Create Another"
msgstr "Créer un autre"

#: src/views/backup/components/BackupCreator.vue:86
msgid "Create Backup"
msgstr "Créer une sauvegarde"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:365
#: src/views/site/site_edit/components/RightPanel/DNS.vue:659
msgid "Create DNS Record"
msgstr "Créer un enregistrement DNS"

#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "Créer un fichier"

#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "Créer un dossier"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:305
#: src/views/site/site_edit/components/RightPanel/DNS.vue:599
msgid "Create new DNS record"
msgstr "Créer un nouvel enregistrement DNS"

#: src/views/dns/DNSRecordManager.vue:206
msgid "Create Record"
msgstr "Créer un enregistrement"

#: src/views/backup/components/BackupCreator.vue:75
msgid ""
"Create system backups including Nginx configuration and Nginx UI settings. "
"Backup files will be automatically downloaded to your computer."
msgstr ""
"Créez des sauvegardes système incluant la configuration Nginx et les "
"paramètres de Nginx UI. Les fichiers de sauvegarde seront automatiquement "
"téléchargés sur votre ordinateur."

#: src/views/backup/AutoBackup/AutoBackup.vue:229
#: src/views/namespace/columns.ts:85
#: src/views/notification/notificationColumns.tsx:51
#: src/views/preference/components/AuthSettings/Passkey.vue:96
#: src/views/preference/components/ExternalNotify/columns.tsx:80
#: src/views/user/userColumns.tsx:46
msgid "Created at"
msgstr "Créé le"

#: src/views/config/components/Mkdir.vue:35
msgid "Created successfully"
msgstr "Créé avec succès"

#: src/language/constants.ts:9
msgid "Creating client facilitates communication with the CA server"
msgstr "La création du client facilite la communication avec le serveur CA"

#: src/components/AutoCertForm/DNSChallenge.vue:138
#: src/views/dns/DDNSManager.vue:103 src/views/dns/DNSDomainList.vue:115
msgid "Credential"
msgstr "Identifiant"

#: src/routes/modules/dns.ts:20 src/views/dns/components/DNSChallenge.vue:90
msgid "Credentials"
msgstr "Identifiants"

#: src/views/backup/AutoBackup/components/CronEditor.vue:194
msgid "Cron Expression"
msgstr "Expression Cron"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:264
msgid "Cross-file timeline correlation"
msgstr "Corrélation chronologique inter-fichiers"

#: src/views/preference/components/AuthSettings/TOTP.vue:74
msgid "Current account is enabled TOTP."
msgstr "Le compte actuel a le TOTP d'activé."

#: src/views/preference/components/AuthSettings/TOTP.vue:72
msgid "Current account is not enabled TOTP."
msgstr "Le compte actuel n'a pas le TOTP d'activé."

#: src/views/dashboard/components/ConnectionMetricsCard.vue:27
msgid "Current active connections"
msgstr "Connexions actives actuelles"

#: src/components/ConfigHistory/DiffViewer.vue:57
msgid "Current Content"
msgstr "Contenu actuel"

#: src/views/user/UserProfile.vue:186
msgid "Current Password"
msgstr "Mot de passe actuel"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
msgid "Current usage"
msgstr "Utilisation actuelle"

#: src/views/system/Upgrade.vue:182
msgid "Current Version"
msgstr "Version actuelle"

#: src/components/NgxConfigEditor/NgxConfigEditor.vue:33
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:129
msgid "Custom"
msgstr "Custom"

#: src/views/backup/AutoBackup/components/CronEditor.vue:131
msgid "Custom cron expression"
msgstr "Expression cron personnalisée"

#: src/views/backup/AutoBackup/AutoBackup.vue:29
#: src/views/backup/AutoBackup/AutoBackup.vue:41
msgid "Custom Directory"
msgstr "Répertoire personnalisé"

#: src/views/certificate/components/DNSIssueCertificate.vue:129
msgid "Custom Domains"
msgstr "Domaines personnalisés"

#: src/views/certificate/components/DNSIssueCertificate.vue:113
msgid "Custom Domains Certificate"
msgstr "Certificat de domaines personnalisés"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:533
msgid "Custom Headers"
msgstr "En-têtes personnalisés"

#: src/views/preference/tabs/NodeSettings.vue:19
msgid ""
"Customize the name of local node to be displayed in the environment "
"indicator."
msgstr ""
"Personnalisez le nom du nœud local à afficher dans l'indicateur "
"d'environnement."

#: src/views/backup/AutoBackup/components/CronEditor.vue:19
msgid "Daily"
msgstr "Quotidien"

#: src/views/nginx_log/dashboard/components/DailyTrendsChart.vue:41
msgid "Daily Access Trends"
msgstr "Tendances d'Accès Quotidiennes"

#: src/views/backup/AutoBackup/AutoBackup.vue:128
msgid "Daily at %{time}"
msgstr "Quotidiennement à %{time}"

#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:69 src/views/nginx_log/NginxLog.vue:93
msgid "Dashboard"
msgstr "Dashboard"

#: src/views/nginx_log/dashboard/components/DailyTrendsChart.vue:71
msgid "Date"
msgstr "Date"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:39
msgid "Date Range"
msgstr "Plage de dates"

#: src/views/backup/AutoBackup/components/CronEditor.vue:184
msgid "Day of Month"
msgstr "Jour du mois"

#: src/views/backup/AutoBackup/components/CronEditor.vue:180
msgid "Day of Week"
msgstr "Jour de la semaine"

#: src/views/preference/tabs/CertSettings.vue:32
msgid "Days"
msgstr "Jours"

#: src/constants/errors/user.ts:16
msgid "Db file not found"
msgstr "Fichier de base de données introuvable"

#: src/routes/modules/dns.ts:36
msgid "DDNS"
msgstr "DDNS"

#: src/views/dns/DDNSManager.vue:195
msgid "DDNS config deleted"
msgstr "Configuration DDNS supprimée"

#: src/views/dns/DDNSManager.vue:212
msgid "DDNS Overview"
msgstr "Aperçu du DDNS"

#: src/views/dns/DDNSManager.vue:180
msgid "DDNS saved"
msgstr "DDNS enregistré"

#: src/constants/errors/geolite.ts:12
msgid "Decompression succeeded but failed to delete compressed file: {0}"
msgstr ""
"Décompression réussie mais échec lors de la suppression du fichier "
"compressé: {0}"

#: src/constants/errors/middleware.ts:3
msgid "Decryption failed"
msgstr "Échec du décryptage"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:847
msgid "Default range"
msgstr "Plage par défaut"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:149
msgid "Define shared memory zone name and size, e.g. proxy_cache:10m"
msgstr ""
"Définissez le nom et la taille de la zone de mémoire partagée, par exemple "
"proxy_cache:10m"

#: src/components/LLM/LLMSessionTabs.vue:293
#: src/components/LLM/LLMSessionTabs.vue:384
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:78 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:100
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/dns/components/DNSRecordTable.vue:107
#: src/views/dns/DDNSManager.vue:290 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:110
msgid "Delete"
msgstr "Supprimer"

#: src/components/Notification/notifications.ts:94
msgid "Delete %{path} on %{node_name} failed"
msgstr "Échec de la suppression de %{path} sur %{node_name}"

#: src/components/Notification/notifications.ts:98
msgid "Delete %{path} on %{node_name} successfully"
msgstr "%{path} supprimé sur %{node_name} avec succès"

#: src/views/certificate/components/RemoveCert.vue:105
msgid "Delete Certificate"
msgstr "Supprimer le certificat"

#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "Confirmation de suppression"

#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "Supprimer définitivement"

#: src/components/Notification/notifications.ts:93
msgid "Delete Remote Config Error"
msgstr "Erreur de suppression de la configuration distante"

#: src/components/Notification/notifications.ts:97
msgid "Delete Remote Config Success"
msgstr "Suppression de la configuration distante réussie"

#: src/components/Notification/notifications.ts:105
#: src/language/constants.ts:50
msgid "Delete Remote Site Error"
msgstr "Erreur de suppression du site distant"

#: src/components/Notification/notifications.ts:109
#: src/language/constants.ts:49
msgid "Delete Remote Site Success"
msgstr "Suppression du site distant réussie"

#: src/components/Notification/notifications.ts:161
msgid "Delete Remote Stream Error"
msgstr "Erreur de suppression du flux distant"

#: src/components/Notification/notifications.ts:165
msgid "Delete Remote Stream Success"
msgstr "Suppression du flux distant réussie"

#: src/components/Notification/notifications.ts:106
msgid "Delete site %{name} from %{node} failed"
msgstr "Échec de la suppression du site %{name} de %{node}"

#: src/components/Notification/notifications.ts:110
msgid "Delete site %{name} from %{node} successfully"
msgstr "Suppression du site %{name} de %{node} réussie"

#: src/views/site/site_list/SiteList.vue:26
msgid "Delete site: %{site_name}"
msgstr "Supprimer le site : %{site_name}"

#: src/components/Notification/notifications.ts:162
msgid "Delete stream %{name} from %{node} failed"
msgstr "Échec de la suppression du flux %{name} de %{node}"

#: src/components/Notification/notifications.ts:166
msgid "Delete stream %{name} from %{node} successfully"
msgstr "Le flux %{name} a été supprimé de %{node} avec succès"

#: src/views/stream/StreamList.vue:25
msgid "Delete stream: %{stream_name}"
msgstr "Supprimer le flux : %{stream_name}"

#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "Supprimé avec succès"

#: src/views/preference/tabs/NodeSettings.vue:28
msgid "Demo"
msgstr "Démo"

#: src/views/terminal/Terminal.vue:212
msgid ""
"Demo mode is enabled. This terminal only allows a small set of safe "
"read-only commands."
msgstr ""
"Le mode démo est activé. Ce terminal n'autorise qu'un petit ensemble de "
"commandes sécurisées en lecture seule."

#: src/views/config/components/ConfigRightPanel/Basic.vue:60
msgid "Deploy"
msgstr "Déployer"

#: src/views/namespace/columns.ts:72
msgid "Deploy Mode"
msgstr "Mode de déploiement"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:742
msgid "Descending"
msgstr "Décroissant"

#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:123
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:99
msgid "Description"
msgstr "Description"

#: src/constants/errors/site.ts:3 src/constants/errors/stream.ts:3
msgid "Destination file already exists"
msgstr "Le fichier de destination existe déjà"

#: src/constants/errors/config.ts:7
msgid "Destination file: {0} already exists"
msgstr "Fichier de destination : {0} existe déjà"

#: src/views/notification/notificationColumns.tsx:66
msgid "Details"
msgstr "Détails"

#: src/views/system/Upgrade.vue:216
msgid "Dev"
msgstr "Dev"

#: src/views/node/BatchUpgrader.vue:172
msgid "Development"
msgstr "Développement"

#: src/views/system/About.vue:28
msgid "Development Mode"
msgstr "Mode développement"

#: src/views/nginx_log/structured/components/SearchFilters.vue:169
#: src/views/nginx_log/structured/StructuredLogViewer.vue:289
#: src/views/nginx_log/structured/StructuredLogViewer.vue:525
msgid "Device"
msgstr "Appareil"

#: src/views/nginx_log/dashboard/components/DeviceStatsTable.vue:35
msgid "Device Statistics"
msgstr "Statistiques des appareils"

#: src/views/nginx_log/dashboard/components/DeviceStatsTable.vue:12
msgid "Device Type"
msgstr "Type d'appareil"

#: src/constants/errors/upgrader.ts:4
msgid "Digest file content is empty"
msgstr "Le contenu du fichier de hachage est vide"

#: src/views/preference/components/ExternalNotify/dingding.ts:5
msgid "Dingding"
msgstr "Dingding"

#: src/views/preference/components/ExternalNotify/dingtalk.ts:5
msgid "DingTalk"
msgstr "DingTalk"

#: src/views/upstream/SocketList.vue:30
msgid "Direct"
msgstr "Direct"

#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:72
msgid "Directive"
msgstr "Directive"

#: src/constants/errors/nginx_log.ts:6
msgid "Directive params is empty"
msgstr "Paramètre Directive est vide"

#: src/constants/errors/nginx_log.ts:5
msgid "Directive.Params neither access_log nor error_log"
msgstr "Directive.Params n'est ni access_log ni error_log"

#: src/constants/errors/nginx_log.ts:4
msgid "DirectiveIdx out of range"
msgstr "DirectiveIdx hors limite"

#: src/components/NgxConfigEditor/directive/DirectiveEditor.vue:47
msgid "Directives"
msgstr "Directives"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:134
msgid "Directory Levels"
msgstr "Niveaux de répertoire"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:126
msgid "Directory path to store cache files"
msgstr "Chemin du répertoire pour stocker les fichiers de cache"

#: src/views/site/components/SiteStatusSelect.vue:115
#: src/views/stream/components/StreamStatusSelect.vue:55
msgid "disable"
msgstr "Désactiver"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:136
msgid "Disable auto-renewal failed for %{name}"
msgstr "Échec de la désactivation du renouvellement automatique pour %{name}"

#: src/components/Notification/notifications.ts:113
#: src/language/constants.ts:52
msgid "Disable Remote Site Error"
msgstr "Erreur de désactivation du site distant"

#: src/components/Notification/notifications.ts:137
msgid "Disable Remote Site Maintenance Error"
msgstr "Erreur de désactivation de la maintenance du site distant"

#: src/components/Notification/notifications.ts:141
msgid "Disable Remote Site Maintenance Success"
msgstr "Désactivation de la maintenance du site distant réussie"

#: src/components/Notification/notifications.ts:117
#: src/language/constants.ts:51
msgid "Disable Remote Site Success"
msgstr "Site distant désactivé avec succès"

#: src/components/Notification/notifications.ts:169
msgid "Disable Remote Stream Error"
msgstr "Erreur de désactivation du flux à distance"

#: src/components/Notification/notifications.ts:173
msgid "Disable Remote Stream Success"
msgstr "Désactivation du flux distant réussie"

#: src/components/Notification/notifications.ts:114
msgid "Disable site %{name} from %{node} failed"
msgstr "Désactivation du site %{name} depuis %{node} a échoué"

#: src/components/Notification/notifications.ts:118
msgid "Disable site %{name} from %{node} successfully"
msgstr "Site %{name} désactivé sur %{node} avec succès"

#: src/components/Notification/notifications.ts:138
msgid "Disable site %{name} maintenance on %{node} failed"
msgstr "Échec de la désactivation de la maintenance du site %{name} sur %{node}"

#: src/components/Notification/notifications.ts:142
msgid "Disable site %{name} maintenance on %{node} successfully"
msgstr "Désactivation de la maintenance du site %{name} sur %{node} réussie"

#: src/components/Notification/notifications.ts:170
msgid "Disable stream %{name} from %{node} failed"
msgstr "Échec de la désactivation du flux %{name} depuis %{node}"

#: src/components/Notification/notifications.ts:174
msgid "Disable stream %{name} from %{node} successfully"
msgstr "Désactivation du flux %{name} depuis %{node} réussie"

#: src/views/backup/AutoBackup/AutoBackup.vue:175
#: src/views/dns/DDNSManager.vue:247 src/views/node/nodeColumns.tsx:60
#: src/views/node/nodeColumns.tsx:78
#: src/views/preference/tabs/HTTPSettings.vue:24
#: src/views/preference/tabs/NodeSettings.vue:25
#: src/views/preference/tabs/NodeSettings.vue:30
#: src/views/site/components/SiteStatusSelect.vue:162
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:81
#: src/views/site/site_list/columns.tsx:146 src/views/stream/columns.tsx:112
#: src/views/stream/components/StreamEditor.vue:55
#: src/views/user/userColumns.tsx:39
msgid "Disabled"
msgstr "Désactivé"

#: src/views/site/components/SiteStatusSelect.vue:67
#: src/views/stream/components/StreamStatusSelect.vue:40
msgid "Disabled successfully"
msgstr "Désactivé avec succès"

#: src/views/dashboard/components/SiteNavigationToolbar.vue:35
msgid "Disconnected"
msgstr "Déconnecté"

#: src/views/dashboard/ServerAnalytic.vue:374
msgid "Disk IO"
msgstr "E/S disque"

#: src/routes/modules/dns.ts:11
#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:47
msgid "DNS"
msgstr "DNS"

#: src/views/dns/DNSCredential.vue:79
msgid "DNS Credentials"
msgstr "Identifiants DNS"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:251
#: src/views/site/site_edit/components/RightPanel/DNS.vue:545
msgid "DNS Domain"
msgstr "Domaine DNS"

#: src/routes/modules/dns.ts:28 src/views/dns/DNSDomainList.vue:234
msgid "DNS Domains"
msgstr "Domaines DNS"

#: src/views/dns/components/DNSRecordTable.vue:94
msgid "DNS Only"
msgstr "DNS uniquement"

#: src/components/AutoCertForm/DNSChallenge.vue:128
#: src/views/dns/components/DNSChallenge.vue:63
msgid "DNS Provider"
msgstr "Fournisseur DNS"

#: src/views/dns/DNSDomainList.vue:250
msgid "DNS Provider Support"
msgstr "Support du fournisseur DNS"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:274
#: src/views/site/site_add/SiteAdd.vue:174
#: src/views/site/site_edit/components/RightPanel/DNS.vue:568
msgid "DNS Record"
msgstr "Enregistrement DNS"

#: src/views/site/site_add/SiteAdd.vue:149
msgid "DNS record created and linked successfully"
msgstr "Enregistrement DNS créé et lié avec succès"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:213
#: src/views/site/site_edit/components/RightPanel/DNS.vue:340
msgid "DNS record created successfully"
msgstr "Enregistrement DNS créé avec succès"

#: src/views/site/site_add/SiteAdd.vue:257
msgid "DNS record has been linked: %{name}"
msgstr "L'enregistrement DNS a été lié : %{name}"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:245
msgid "DNS Record Integration (Optional)"
msgstr "Intégration d'enregistrement DNS (Optionnel)"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:288
msgid "DNS record linked and server_name updated: %{name}"
msgstr "Enregistrement DNS lié et server_name mis à jour : %{name}"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:489
msgid "DNS Record Missing"
msgstr "Enregistrement DNS manquant"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:403
msgid "DNS record recreated successfully"
msgstr "Enregistrement DNS recréé avec succès"

#: src/views/site/site_add/SiteAdd.vue:141
msgid "DNS record selected: %{name}"
msgstr "Enregistrement DNS sélectionné : %{name}"

#: src/routes/modules/dns.ts:44 src/views/dns/DNSRecordManager.vue:62
msgid "DNS Records"
msgstr "Enregistrements DNS"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:678
msgid "DNS Resolver"
msgstr "Résolveur DNS"

#: src/components/AutoCertForm/AutoCertForm.vue:228
msgid "DNS01"
msgstr "DNS01"

#: src/components/AutoCertForm/AutoCertForm.vue:261
msgid "Do not enable this option unless you are sure that you need it."
msgstr "N'activez pas cette option sauf si vous êtes sûr d'en avoir avez besoin."

#: src/views/site/components/SiteStatusSelect.vue:120
msgid "Do you want to %{action} this site?"
msgstr "Voulez-vous %{action} ce site ?"

#: src/views/stream/components/StreamStatusSelect.vue:58
msgid "Do you want to %{action} this stream?"
msgstr "Voulez-vous %{action} ce flux ?"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:180
msgid "Do you want to disable auto-cert renewal?"
msgstr "Voulez-vous désactiver le renouvellement automatique des certificats ?"

#: src/views/site/site_edit/components/Cert/IssueCert.vue:46
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:14
msgid "Do you want to enable TLS?"
msgstr "Voulez-vous activer TLS ?"

#: src/components/NgxConfigEditor/NgxServer.vue:57
msgid "Do you want to remove this server?"
msgstr "Voulez-vous supprimer ce serveur ?"

#: src/components/NgxConfigEditor/NgxUpstream.vue:28
msgid "Do you want to remove this upstream?"
msgstr "Voulez-vous supprimer cet upstream ?"

#: src/constants/errors/docker.ts:2
msgid "Docker client not initialized"
msgstr "Client Docker non initialisé"

#: src/language/generate.ts:21
msgid "Docker socket exists"
msgstr "Le socket Docker existe"

#: src/constants/errors/self_check.ts:16
msgid "Docker socket not exist"
msgstr "Le socket Docker n'existe pas"

#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:88
#: src/components/NgxConfigEditor/directive/DirectiveDocuments.vue:16
msgid "Document"
msgid_plural "Documents"
msgstr[0] "Document"

#: src/views/nginx_log/NginxLogList.vue:298
msgid "Document Count"
msgstr "Nombre de documents"

#: src/views/certificate/components/DNSIssueCertificate.vue:119
#: src/views/dns/DDNSManager.vue:98 src/views/dns/DNSDomainList.vue:104
msgid "Domain"
msgstr "Domaine"

#: src/views/certificate/components/AutoCertManagement.vue:55
msgid "Domains list is empty, try to reopen Auto Cert for %{config}"
msgstr "La liste des domaines est vide, essayez de rouvrir Auto Cert pour %{config}"

#: src/views/certificate/components/CertificateDownload.vue:94
msgid "Download Certificate Files"
msgstr "Télécharger les fichiers de certificat"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:117
msgid "Download complete"
msgstr "Téléchargement terminé"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:106
msgid "Download failed"
msgstr "Échec du téléchargement"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:187
#: src/components/SelfCheck/SelfCheck.vue:120
msgid "Download GeoLite2 Database"
msgstr "Télécharger la base de données GeoLite2"

#: src/language/constants.ts:27
msgid "Download latest release error"
msgstr "Erreur de téléchargement de la dernière version"

#: src/language/constants.ts:26
msgid "Downloading latest release"
msgstr "Téléchargement de la dernière version"

#: src/views/certificate/components/CertificateContentEditor.vue:248
msgid "Drop certificate file here"
msgstr "Déposez le fichier de certificat ici"

#: src/views/certificate/components/CertificateContentEditor.vue:309
msgid "Drop private key file here"
msgstr "Déposer le fichier de clé privée ici"

#: src/views/node/BatchUpgrader.vue:193 src/views/system/Upgrade.vue:237
msgid "Dry run mode enabled"
msgstr "Mode de simulation activé"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:107
msgid ""
"Due to the security policies of some browsers, you cannot use passkeys on "
"non-HTTPS websites, except when running on localhost."
msgstr ""
"Dû aux règles de sécurité de certains navigateurs, vous ne pouvez pas "
"utiliser une clé d'accès sur les sites non sécurisés (HTTPS), sauf si "
"exécuté sur localhost."

#: src/components/LLM/LLMSessionTabs.vue:287
#: src/components/LLM/LLMSessionTabs.vue:378
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:86
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:96
msgid "Duplicate"
msgstr "Dupliquer"

#: src/views/site/site_list/SiteDuplicate.vue:48
#: src/views/stream/components/StreamDuplicate.vue:40
msgid "Duplicate to local successfully"
msgstr "Duplication locale réussie"

#: src/views/dashboard/components/ModulesTable.vue:66
#: src/views/dashboard/components/ModulesTable.vue:71
msgid "Dynamic"
msgstr "Dynamique"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:236
msgid "Dynamic shard management"
msgstr "Gestion dynamique des fragments"

#: src/views/backup/AutoBackup/components/CronEditor.vue:197
msgid "e.g., 0 0 * * * (daily at midnight)"
msgstr "par ex., 0 0 * * * (quotidiennement à minuit)"

#: src/views/certificate/ACMEUser.vue:100
msgid "EAB HMAC Key"
msgstr "Clé HMAC EAB"

#: src/views/certificate/ACMEUser.vue:87
msgid "EAB Key ID"
msgstr "ID de clé EAB"

#: src/language/curd.ts:8 src/views/dns/components/DNSRecordTable.vue:100
msgid "Edit"
msgstr "Modifier"

#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:70
#: src/views/stream/components/StreamEditor.vue:44
msgid "Edit %{n}"
msgstr "Modifier %{n}"

#: src/routes/modules/config.ts:30
#: src/views/config/components/ConfigLeftPanel.vue:242
msgid "Edit Configuration"
msgstr "Modifier la configuration"

#: src/views/dns/DNSRecordManager.vue:206
msgid "Edit Record"
msgstr "Modifier l'enregistrement"

#: src/routes/modules/sites.ts:34
msgid "Edit Site"
msgstr "Modifier le site"

#: src/routes/modules/streams.ts:20
msgid "Edit Stream"
msgstr "Modifier le flux"

#: src/views/certificate/ACMEUser.vue:26
#: src/views/preference/tabs/CertSettings.vue:12
msgid "Email"
msgstr "E-mail"

#: src/views/install/components/InstallForm.vue:85
msgid "Email (*)"
msgstr "Email (*)"

#: src/constants/errors/nginx_log.parser.ts:2
msgid "Empty log line"
msgstr "Ligne de journal vide"

#: src/views/site/components/SiteStatusSelect.vue:114
#: src/views/stream/components/StreamStatusSelect.vue:55
msgid "enable"
msgstr "activer"

#: src/views/preference/components/AuthSettings/TOTP.vue:46
msgid "Enable 2FA successfully"
msgstr "2FA activé avec succès"

#: src/views/nginx_log/NginxLogList.vue:474
msgid "Enable Advanced Indexing"
msgstr "Activer l'indexation avancée"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:97
msgid "Enable Advanced Log Indexing"
msgstr "Activer l'indexation avancée des journaux"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:129
msgid "Enable auto-renewal failed for %{name}"
msgstr "Échec de l'activation du renouvellement automatique pour %{name}"

#: src/views/preference/tabs/OpenAISettings.vue:84
msgid "Enable Code Completion"
msgstr "Activer la complétion de code"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68
msgid "Enable compression for content transfer"
msgstr "Activer la compression pour le transfert de contenu"

#: src/views/dns/DDNSManager.vue:308
msgid "Enable DDNS"
msgstr "Activer DDNS"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:473
msgid "Enable Health Check"
msgstr "Activer la vérification de santé"

#: src/views/preference/tabs/ServerSettings.vue:52
msgid "Enable HTTP/2"
msgstr "Activer HTTP/2"

#: src/views/preference/tabs/ServerSettings.vue:56
msgid "Enable HTTP/3"
msgstr "Activer HTTP/3"

#: src/views/preference/tabs/ServerSettings.vue:30
msgid "Enable HTTPS"
msgstr "Activer HTTPS"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:99
msgid "Enable Indexing"
msgstr "Activer l'indexation"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:353
#: src/views/site/site_edit/components/RightPanel/DNS.vue:522
#: src/views/site/site_edit/components/RightPanel/DNS.vue:647
msgid "Enable Proxy (Cloudflare)"
msgstr "Activer le proxy (Cloudflare)"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:113
msgid "Enable Proxy Cache"
msgstr "Activer le cache du proxy"

#: src/components/Notification/notifications.ts:121
#: src/language/constants.ts:54
msgid "Enable Remote Site Error"
msgstr "Erreur d'activation du site distant"

#: src/components/Notification/notifications.ts:129
msgid "Enable Remote Site Maintenance Error"
msgstr "Erreur d'activation de la maintenance du site distant"

#: src/components/Notification/notifications.ts:133
msgid "Enable Remote Site Maintenance Success"
msgstr "Activation de la maintenance du site distant réussie"

#: src/components/Notification/notifications.ts:125
#: src/language/constants.ts:53
msgid "Enable Remote Site Success"
msgstr "Activation du site distant réussie"

#: src/components/Notification/notifications.ts:177
msgid "Enable Remote Stream Error"
msgstr "Erreur d'activation du flux distant"

#: src/components/Notification/notifications.ts:181
msgid "Enable Remote Stream Success"
msgstr "Activation du flux distant réussie"

#: src/components/Notification/notifications.ts:130
msgid "Enable site %{name} maintenance on %{node} failed"
msgstr "Échec de l'activation de la maintenance du site %{name} sur %{node}"

#: src/components/Notification/notifications.ts:134
msgid "Enable site %{name} maintenance on %{node} successfully"
msgstr "Activation de la maintenance du site %{name} sur %{node} réussie"

#: src/components/Notification/notifications.ts:122
msgid "Enable site %{name} on %{node} failed"
msgstr "Échec de l'activation du site %{name} sur %{node}"

#: src/components/Notification/notifications.ts:126
msgid "Enable site %{name} on %{node} successfully"
msgstr "Site %{name} activé sur %{node} avec succès"

#: src/components/Notification/notifications.ts:178
msgid "Enable stream %{name} on %{node} failed"
msgstr "Échec de l'activation du flux %{name} sur %{node}"

#: src/components/Notification/notifications.ts:182
msgid "Enable stream %{name} on %{node} successfully"
msgstr "Activation du flux %{name} sur %{node} réussie"

#: src/views/dashboard/NginxDashBoard.vue:172
msgid "Enable stub_status module"
msgstr "Activer le module stub_status"

#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:97
msgid "Enable TLS"
msgstr "Activer TLS"

#: src/views/preference/components/AuthSettings/TOTP.vue:83
msgid "Enable TOTP"
msgstr "Activer TOTP"

#: src/views/backup/AutoBackup/AutoBackup.vue:174
#: src/views/dns/DDNSManager.vue:247 src/views/node/nodeColumns.tsx:69
#: src/views/node/nodeColumns.tsx:75
#: src/views/preference/components/ExternalNotify/columns.tsx:47
#: src/views/preference/tabs/HTTPSettings.vue:24
#: src/views/preference/tabs/LogrotateSettings.vue:20
#: src/views/preference/tabs/NodeSettings.vue:25
#: src/views/preference/tabs/NodeSettings.vue:30
#: src/views/site/components/SiteStatusSelect.vue:159
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:75
#: src/views/site/site_list/columns.tsx:142 src/views/stream/columns.tsx:108
#: src/views/stream/components/RightPanel/Basic.vue:24
#: src/views/stream/components/StreamEditor.vue:49
#: src/views/user/userColumns.tsx:36
msgid "Enabled"
msgstr "Activé"

#: src/views/site/components/SiteStatusSelect.vue:54
#: src/views/site/site_add/SiteAdd.vue:60
#: src/views/stream/components/StreamStatusSelect.vue:27
msgid "Enabled successfully"
msgstr "Activé avec succès"

#: src/views/preference/tabs/ServerSettings.vue:52
msgid "Enables HTTP/2 support with multiplexing and server push capabilities"
msgstr ""
"Active la prise en charge de HTTP/2 avec multiplexage et capacités de push "
"serveur"

#: src/views/preference/tabs/ServerSettings.vue:56
msgid "Enables HTTP/3 support based on QUIC protocol for best performance"
msgstr ""
"Active la prise en charge de HTTP/3 basée sur le protocole QUIC pour des "
"performances optimales"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:110
msgid ""
"Enabling advanced log indexing will consume significant computational "
"resources including CPU and memory. Please ensure your system meets the "
"minimum requirements before proceeding."
msgstr ""
"L'activation de l'indexation avancée des journaux consommera des ressources "
"informatiques importantes, y compris le processeur et la mémoire. Veuillez "
"vous assurer que votre système répond aux exigences minimales avant de "
"continuer."

#: src/views/site/site_edit/components/Cert/IssueCert.vue:95
msgid "Encrypt website with Let's Encrypt"
msgstr "Crypter le site Web avec Let's Encrypt"

#: src/components/PortScanner/PortScannerCompact.vue:164
msgid "End"
msgstr "Fin"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:57
msgid "End Date"
msgstr "Date de fin"

#: src/views/certificate/components/DNSIssueCertificate.vue:138
msgid "Enter domain name"
msgstr "Entrez le nom de domaine"

#: src/components/AutoCertForm/AutoCertForm.vue:183
msgid "Enter server IP address (e.g., 203.0.113.1 or 2001:db8::1)"
msgstr "Entrez l'adresse IP du serveur (ex. 203.0.113.1 ou 2001:db8::1)"

#: src/components/SelfCheck/SelfCheck.vue:72
msgid "Enter the install secret to run the system check."
msgstr "Entrez le secret d'installation pour exécuter la vérification du système."

#: src/views/install/components/InstallView.vue:169
msgid ""
"Enter the one-time install secret shown by the install script or found in "
"the config directory hidden file to unlock setup."
msgstr ""
"Entrez le secret d'installation à usage unique affiché par le script "
"d'installation ou trouvé dans le fichier caché du répertoire de "
"configuration pour déverrouiller l'installation."

#: src/views/certificate/components/DNSIssueCertificate.vue:123
msgid "Enter your domain"
msgstr "Entrez votre domaine"

#: src/constants/errors/cert.ts:16
msgid "Environment configuration is empty"
msgstr "La configuration de l'environnement est vide"

#: src/language/constants.ts:22
msgid "Environment variables cleaned"
msgstr "Variables d'environnement nettoyées"

#: src/components/InspectConfig/InspectConfig.vue:30 src/constants/index.ts:23
#: src/views/nginx_log/NginxLogList.vue:249
#: src/views/notification/notificationColumns.tsx:14
msgid "Error"
msgstr "Erreur"

#: src/components/Notification/detailRender.tsx:77
msgid "Error details"
msgstr "Détails de l'erreur"

#: src/components/ConfigHistory/DiffViewer.vue:137
msgid "Error initializing diff viewer"
msgstr "Erreur lors de l'initialisation du visualiseur de différences"

#: src/language/constants.ts:65
msgid "Error Log"
msgstr "Journal des erreurs"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:672
msgid "Error Log Detected"
msgstr "Journal d'erreurs détecté"

#: src/constants/errors/self_check.ts:22
msgid "Error log path not exist"
msgstr "Le chemin du journal des erreurs n'existe pas"

#: src/components/NgxConfigEditor/LogEntry.vue:98
#: src/routes/modules/nginx_log.ts:24 src/views/nginx_log/NginxLogList.vue:49
msgid "Error Logs"
msgstr "Journaux d'erreurs"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:675
msgid ""
"Error logs do not support structured analysis as they contain free-form "
"text messages."
msgstr ""
"Les journaux d'erreurs ne prennent pas en charge l'analyse structurée car "
"ils contiennent des messages texte libres."

#: src/views/nginx_log/components/IndexingSettingsModal.vue:272
msgid "Error pattern recognition"
msgstr "Reconnaissance des motifs d'erreur"

#: src/components/ConfigHistory/DiffViewer.vue:80
msgid "Error processing content"
msgstr "Erreur lors du traitement du contenu"

#: src/constants/errors/upgrader.ts:5
msgid "Executable binary file is empty"
msgstr "Le fichier binaire exécutable est vide"

#: src/views/system/Upgrade.vue:196
msgid "Executable Path"
msgstr "Chemin exécutable"

#: src/views/backup/AutoBackup/components/CronEditor.vue:127
msgid "Execute on every %{day} at %{time}"
msgstr "Exécuter chaque %{day} à %{time}"

#: src/views/backup/AutoBackup/components/CronEditor.vue:125
msgid "Execute on every day at %{time}"
msgstr "Exécuter tous les jours à %{time}"

#: src/views/backup/AutoBackup/components/CronEditor.vue:129
msgid "Execute on every month on day %{day} at %{time}"
msgstr "Exécuter chaque mois le jour %{day} à %{time}"

#: src/language/curd.ts:72
msgid "Expand"
msgstr "Développer"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:192
msgid "Expected Performance"
msgstr "Performances attendues"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:557
msgid "Expected Status Codes"
msgstr "Codes de statut attendus"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:582
msgid "Expected Text"
msgstr "Texte attendu"

#: src/components/CertInfo/CertInfo.vue:31
#: src/views/certificate/CertificateList/certColumns.tsx:80
msgid "Expired"
msgstr "Expiré"

#: src/components/CertInfo/CertInfo.vue:38
msgid "Expired At: %{date}"
msgstr "Expiré le : %{date}"

#: src/language/curd.ts:22
msgid "Export Excel"
msgstr "Exporter Excel"

#: src/views/certificate/ACMEUser.vue:105
msgid ""
"External Account Binding HMAC Key (optional). Should be in Base64 URL "
"encoding format."
msgstr ""
"Clé HMAC de liaison de compte externe (optionnelle). Doit être au format "
"d'encodage Base64 URL."

#: src/views/certificate/ACMEUser.vue:92
msgid ""
"External Account Binding Key ID (optional). Required for some ACME "
"providers like ZeroSSL."
msgstr ""
"ID de clé de liaison de compte externe (facultatif). Requis pour certains "
"fournisseurs ACME comme ZeroSSL."

#: src/views/preference/tabs/NginxSettings.vue:49
msgid "External Docker Container"
msgstr "Conteneur Docker externe"

#: src/constants/errors/notification.ts:5
msgid "External notification configuration not found"
msgstr "Configuration de notification externe introuvable"

#: src/components/Notification/notifications.ts:101
msgid "External Notification Test"
msgstr "Test de notification externe"

#: src/views/preference/Preference.vue:59
#: src/views/preference/tabs/ExternalNotify.vue:42
msgid "External Notify"
msgstr "Notification Externe"

#: src/views/site/site_edit/components/Cert/ObtainCertLive.vue:83
msgid "Fail to obtain certificate"
msgstr "Échec de l'obtention du certificat"

#: src/views/backup/AutoBackup/AutoBackup.vue:196
#: src/views/backup/AutoBackup/AutoBackup.vue:221
msgid "Failed"
msgstr "Échec"

#: src/constants/errors/docker.ts:4
msgid "Failed to attach to exec instance: {0}"
msgstr "Échec de l'attachement à l'instance d'exécution : {0}"

#: src/constants/errors/backup.ts:5
msgid "Failed to backup Nginx config files: {0}"
msgstr "Échec de la sauvegarde des fichiers de configuration de Nginx : {0}"

#: src/constants/errors/backup.ts:4
msgid "Failed to backup Nginx UI files: {0}"
msgstr "Échec de la sauvegarde des fichiers Nginx UI : {0}"

#: src/constants/errors/performance.ts:8
msgid "Failed to build nginx config: {0}"
msgstr "Échec de la construction de la configuration nginx : {0}"

#: src/constants/errors/backup.ts:19
msgid "Failed to calculate hash: {0}"
msgstr "Échec du calcul du hachage : {0}"

#: src/constants/errors/backup.ts:56
msgid "Failed to calculate Nginx hash: {0}"
msgstr "Échec du calcul du hachage Nginx : {0}"

#: src/constants/errors/backup.ts:55
msgid "Failed to calculate Nginx UI hash: {0}"
msgstr "Échec du calcul du hachage de Nginx UI : {0}"

#: src/constants/errors/backup.ts:13
msgid "Failed to cleanup temporary directory: {0}"
msgstr "Échec du nettoyage du répertoire temporaire : {0}"

#: src/constants/errors/backup.ts:17
msgid "Failed to copy config file: {0}"
msgstr "Échec de la copie du fichier de configuration : {0}"

#: src/constants/errors/backup.ts:18
msgid "Failed to copy database file: {0}"
msgstr "Échec de la copie du fichier de base de données : {0}"

#: src/constants/errors/backup.ts:33
msgid "Failed to copy file content: {0}"
msgstr "Échec de la copie du contenu du fichier : {0}"

#: src/constants/errors/backup.ts:21
msgid "Failed to copy Nginx config directory: {0}"
msgstr "Échec de la copie du répertoire de configuration Nginx : {0}"

#: src/views/certificate/components/CertificateBasicInfo.vue:33
#: src/views/certificate/components/CertificateContentEditor.vue:114
msgid "Failed to copy to clipboard"
msgstr "Échec de la copie dans le presse-papiers"

#: src/constants/errors/self_check.ts:10
msgid "Failed to create backup"
msgstr "Échec de la création de la sauvegarde"

#: src/constants/errors/backup.ts:12
msgid "Failed to create backup file: {0}"
msgstr "Échec de la création du fichier de sauvegarde : {0}"

#: src/constants/errors/backup.ts:15
msgid "Failed to create backup manifest signature: {0}"
msgstr "Échec de la création de la signature du manifeste de sauvegarde : {0}"

#: src/constants/errors/backup.ts:14
msgid "Failed to create backup manifest: {0}"
msgstr "Échec de la création du manifeste de sauvegarde : {0}"

#: src/constants/errors/backup.ts:45
msgid "Failed to create directory: {0}"
msgstr "Échec de la création du répertoire : {0}"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:222
#: src/views/site/site_edit/components/RightPanel/DNS.vue:360
msgid "Failed to create DNS record"
msgstr "Échec de la création de l'enregistrement DNS"

#: src/constants/errors/backup.ts:47 src/constants/errors/geolite.ts:6
msgid "Failed to create file: {0}"
msgstr "Échec de la création du fichier : {0}"

#: src/constants/errors/backup.ts:6
msgid "Failed to create hash info file: {0}"
msgstr "Échec de la création du fichier d'informations de hachage : {0}"

#: src/constants/errors/backup.ts:46
msgid "Failed to create parent directory: {0}"
msgstr "Échec de la création du répertoire parent : {0}"

#: src/constants/errors/backup.ts:34
msgid "Failed to create restore directory: {0}"
msgstr "Échec de la création du répertoire de restauration : {0}"

#: src/constants/errors/backup.ts:76
msgid "Failed to create storage directory {0}: {1}"
msgstr "Échec de la création du répertoire de stockage {0} : {1}"

#: src/constants/errors/backup.ts:49
msgid "Failed to create symbolic link: {0}"
msgstr "Échec de la création du lien symbolique : {0}"

#: src/constants/errors/docker.ts:13
msgid "Failed to create temp container: {0}"
msgstr "Échec de la création du conteneur temporaire : {0}"

#: src/constants/errors/backup.ts:2
msgid "Failed to create temporary directory"
msgstr "Échec de la création du répertoire temporaire"

#: src/constants/errors/backup.ts:3
msgid "Failed to create temporary subdirectory"
msgstr "Échec de la création du sous-répertoire temporaire"

#: src/constants/errors/geolite.ts:9
msgid "Failed to create xz reader: {0}"
msgstr "Échec de la création du lecteur xz : {0}"

#: src/constants/errors/backup.ts:9
msgid "Failed to create zip archive: {0}"
msgstr "Échec de la création de l'archive ZIP : {0}"

#: src/constants/errors/backup.ts:30
msgid "Failed to create zip entry: {0}"
msgstr "Échec de la création de l'entrée ZIP : {0}"

#: src/constants/errors/backup.ts:29
msgid "Failed to create zip file: {0}"
msgstr "Échec de la création du fichier ZIP : {0}"

#: src/constants/errors/backup.ts:32
msgid "Failed to create zip header: {0}"
msgstr "Échec de la création de l'en-tête ZIP : {0}"

#: src/constants/errors/geolite.ts:3
msgid "Failed to decompress GeoLite2 database: {0}"
msgstr "Échec du décompression de la base de données GeoLite2: {0}"

#: src/constants/errors/backup.ts:27
msgid "Failed to decrypt data: {0}"
msgstr "Échec du décryptage des données : {0}"

#: src/constants/errors/backup.ts:52
msgid "Failed to decrypt file: {0}"
msgstr "Échec du décryptage du fichier : {0}"

#: src/constants/errors/backup.ts:37
msgid "Failed to decrypt Nginx directory: {0}"
msgstr "Échec du décryptage du répertoire Nginx : {0}"

#: src/constants/errors/backup.ts:36
msgid "Failed to decrypt Nginx UI directory: {0}"
msgstr "Échec du décryptage du répertoire Nginx UI : {0}"

#: src/constants/errors/nginx_log.ts:19
msgid "Failed to delete all indexes"
msgstr "Échec de la suppression de tous les index"

#: src/views/certificate/components/RemoveCert.vue:77
msgid "Failed to delete certificate"
msgstr "Échec de la suppression du certificat"

#: src/language/generate.ts:22
msgid "Failed to delete certificate from database: %{error}"
msgstr "Échec de la suppression du certificat de la base de données : %{error}"

#: src/constants/errors/nginx_log.ts:18
msgid "Failed to delete file index"
msgstr "Échec de la suppression de l'index de fichier"

#: src/views/site/components/SiteStatusSelect.vue:73
#: src/views/stream/components/StreamStatusSelect.vue:46
msgid "Failed to disable %{msg}"
msgstr "Impossible de désactiver %{msg}"

#: src/views/site/components/SiteStatusSelect.vue:99
msgid "Failed to disable maintenance mode %{msg}"
msgstr "Échec de la désactivation du mode maintenance : %{msg}"

#: src/views/certificate/components/CertificateDownload.vue:75
msgid "Failed to download certificate files"
msgstr "Échec du téléchargement des fichiers du certificat"

#: src/constants/errors/geolite.ts:2
msgid "Failed to download GeoLite2 database: {0}"
msgstr "Échec du téléchargement de la base de données GeoLite2: {0}"

#: src/views/site/components/SiteStatusSelect.vue:60
#: src/views/stream/components/StreamStatusSelect.vue:33
msgid "Failed to enable %{msg}"
msgstr "Impossible d'activer %{msg}"

#: src/views/nginx_log/NginxLogList.vue:407
msgid "Failed to enable advanced indexing"
msgstr "Échec de l'activation de l'indexation avancée"

#: src/views/site/components/SiteStatusSelect.vue:86
msgid "Failed to enable maintenance mode %{msg}"
msgstr "Échec de l'activation du mode maintenance : %{msg}"

#: src/constants/errors/backup.ts:26
msgid "Failed to encrypt data: {0}"
msgstr "Échec du chiffrement des données : {0}"

#: src/constants/errors/backup.ts:24
msgid "Failed to encrypt file: {0}"
msgstr "Échec du chiffrement du fichier : {0}"

#: src/constants/errors/backup.ts:8
msgid "Failed to encrypt Nginx directory: {0}"
msgstr "Échec du chiffrement du répertoire Nginx : {0}"

#: src/constants/errors/backup.ts:7
msgid "Failed to encrypt Nginx UI directory: {0}"
msgstr "Échec du chiffrement du répertoire Nginx UI : {0}"

#: src/constants/errors/docker.ts:3
msgid "Failed to exec command: {0}"
msgstr "Échec de l'exécution de la commande : {0}"

#: src/constants/errors/performance.ts:6
msgid "Failed to execute template: {0}"
msgstr "Échec de l'exécution du modèle : {0}"

#: src/constants/errors/backup.ts:35
msgid "Failed to extract archive: {0}"
msgstr "Échec de l'extraction de l'archive : {0}"

#: src/constants/errors/backup.ts:10
msgid "Failed to generate AES key: {0}"
msgstr "Échec de la génération de la clé AES : {0}"

#: src/constants/errors/backup.ts:11
msgid "Failed to generate initialization vector: {0}"
msgstr "Échec de la génération du vecteur d'initialisation : {0}"

#: src/language/constants.ts:5
msgid "Failed to get certificate information"
msgstr "Échec de l'obtention des informations sur le certificat"

#: src/constants/errors/docker.ts:10
msgid "Failed to get container id: {0}"
msgstr "Échec de la récupération de l'ID du conteneur : {0}"

#: src/constants/errors/geolite.ts:5
msgid "Failed to get file size: {0}"
msgstr "Échec de la récupération de la taille du fichier : {0}"

#: src/constants/errors/nginx_log.ts:20
msgid "Failed to get index status"
msgstr "Échec de la récupération de l'état de l'index"

#: src/views/dashboard/components/ParamsOptimization.vue:62
msgid "Failed to get Nginx performance settings"
msgstr "Échec de la récupération des paramètres de performance de Nginx"

#: src/constants/errors/performance.ts:9
msgid "Failed to get nginx.conf path"
msgstr "Échec de l’obtention du chemin de nginx.conf"

#: src/composables/useNginxPerformance.ts:50
msgid "Failed to get performance data"
msgstr "Échec de la récupération des données de performance"

#: src/constants/errors/nginx_log.ts:21
msgid "Failed to get persistence stats"
msgstr "Échec de la récupération des statistiques de persistance"

#: src/constants/errors/performance.ts:3
msgid "Failed to get stub status: {0}"
msgstr "Échec de la récupération du statut stub : {0}"

#: src/constants/errors/docker.ts:8
msgid "Failed to inspect container: {0}"
msgstr "Échec de l'inspection du conteneur : {0}"

#: src/constants/errors/docker.ts:12
msgid "Failed to inspect current container: {0}"
msgstr "Échec de l'inspection du conteneur actuel : {0}"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:137
#: src/views/site/site_edit/components/RightPanel/DNS.vue:166
msgid "Failed to load DNS records"
msgstr "Échec du chargement des enregistrements DNS"

#: src/components/ConfigHistory/ConfigHistory.vue:83
msgid "Failed to load history records"
msgstr "Échec du chargement des historiques"

#: src/views/certificate/components/CertificateContentEditor.vue:39
msgid "Failed to load nginx configuration path"
msgstr "Échec du chargement du chemin de configuration de nginx"

#: src/constants/errors/geolite.ts:8
msgid "Failed to open file: {0}"
msgstr "Échec de l'ouverture du fichier : {0}"

#: src/constants/errors/backup.ts:31
msgid "Failed to open source file: {0}"
msgstr "Échec de l'ouverture du fichier source : {0}"

#: src/constants/errors/backup.ts:48
msgid "Failed to open zip entry: {0}"
msgstr "Échec de l'ouverture de l'entrée ZIP : {0}"

#: src/constants/errors/backup.ts:44
msgid "Failed to open zip file: {0}"
msgstr "Échec de l'ouverture du fichier ZIP : {0}"

#: src/constants/errors/performance.ts:7
msgid "Failed to parse nginx config: {0}"
msgstr "Échec de l'analyse de la configuration nginx : {0}"

#: src/constants/errors/self_check.ts:5
msgid "Failed to parse nginx.conf"
msgstr "Échec de l'analyse de nginx.conf"

#: src/constants/errors/performance.ts:5
msgid "Failed to parse template: {0}"
msgstr "Échec de l'analyse du modèle : {0}"

#: src/constants/errors/docker.ts:11
msgid "Failed to pull image: {0}"
msgstr "Échec du téléchargement de l'image : {0}"

#: src/constants/errors/backup.ts:58
msgid "Failed to read backup manifest signature: {0}"
msgstr "Échec de la lecture de la signature du manifeste de sauvegarde : {0}"

#: src/constants/errors/backup.ts:57
msgid "Failed to read backup manifest: {0}"
msgstr "Échec de la lecture du manifeste de sauvegarde : {0}"

#: src/constants/errors/geolite.ts:11
msgid "Failed to read compressed data: {0}"
msgstr "Échec de la lecture des données compressées: {0}"

#: src/constants/errors/backup.ts:51
msgid "Failed to read encrypted file: {0}"
msgstr "Échec de la lecture du fichier chiffré : {0}"

#: src/views/certificate/components/CertificateFileUpload.vue:70
msgid "Failed to read file"
msgstr "Échec de la lecture du fichier"

#: src/constants/errors/backup.ts:23
msgid "Failed to read file: {0}"
msgstr "Échec de la lecture du fichier : {0}"

#: src/constants/errors/backup.ts:54
msgid "Failed to read hash info file: {0}"
msgstr "Échec de la lecture du fichier d'informations de hachage : {0}"

#: src/constants/errors/self_check.ts:4
msgid "Failed to read nginx.conf"
msgstr "Échec de la lecture de nginx.conf"

#: src/constants/errors/docker.ts:5
msgid "Failed to read output: {0}"
msgstr "Échec de la lecture de la sortie : {0}"

#: src/constants/errors/performance.ts:4
msgid "Failed to read response body: {0}"
msgstr "Échec de la lecture du corps de la réponse : {0}"

#: src/constants/errors/backup.ts:22
msgid "Failed to read symlink: {0}"
msgstr "Échec de la lecture du lien symbolique : {0}"

#: src/constants/errors/nginx_log.ts:17
msgid "Failed to rebuild file index"
msgstr "Échec de la reconstruction de l'index de fichier"

#: src/constants/errors/nginx_log.ts:16
msgid "Failed to rebuild index"
msgstr "Échec de la reconstruction de l'index"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:429
msgid "Failed to recreate DNS record"
msgstr "Échec de la recréation de l'enregistrement DNS"

#: src/views/dashboard/SiteNavigation.vue:86
msgid "Failed to refresh sites"
msgstr "Échec de l'actualisation des sites"

#: src/constants/errors/backup.ts:39
msgid "Failed to restore Nginx configs: {0}"
msgstr "Échec de la restauration des configurations Nginx : {0}"

#: src/views/certificate/components/RemoveCert.vue:59
msgid "Failed to revoke certificate"
msgstr "Échec de la révocation du certificat"

#: src/language/generate.ts:23
msgid "Failed to revoke certificate: %{error}"
msgstr "Échec de la révocation du certificat : %{error}"

#: src/views/dashboard/SiteNavigation.vue:133
msgid "Failed to save configuration"
msgstr "Échec de l'enregistrement de la configuration"

#: src/constants/errors/geolite.ts:7
msgid "Failed to save downloaded file: {0}"
msgstr "Échec de la sauvegarde du fichier téléchargé: {0}"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:412
msgid "Failed to save health check configuration"
msgstr "Échec de l'enregistrement de la configuration de vérification de santé"

#: src/views/dashboard/components/ParamsOptimization.vue:91
msgid "Failed to save Nginx performance settings"
msgstr "Échec de l'enregistrement des paramètres de performance de Nginx"

#: src/views/dashboard/SiteNavigation.vue:110
msgid "Failed to save order"
msgstr "Échec de l'enregistrement de l'ordre"

#: src/views/preference/tabs/ExternalNotify.vue:32
msgid "Failed to send test message"
msgstr "Échec de l'envoi du message de test"

#: src/constants/errors/docker.ts:14
msgid "Failed to start temp container: {0}"
msgstr "Échec du démarrage du conteneur temporaire : {0}"

#: src/views/preference/components/ExternalNotify/EnabledSwitch.vue:30
msgid "Failed to update status"
msgstr "Échec de la mise à jour du statut"

#: src/views/certificate/components/CertificateFileUpload.vue:104
msgid "Failed to upload file"
msgstr "Échec du téléchargement du fichier"

#: src/constants/errors/backup.ts:38
msgid "Failed to verify hashes: {0}"
msgstr "Échec de la vérification des hachages : {0}"

#: src/constants/errors/backup.ts:68
msgid "Failed to write backup file: {0}"
msgstr "Échec de l'écriture du fichier de sauvegarde : {0}"

#: src/constants/errors/geolite.ts:10
msgid "Failed to write decompressed data: {0}"
msgstr "Échec de l'écriture des données décompressées: {0}"

#: src/constants/errors/backup.ts:53
msgid "Failed to write decrypted file: {0}"
msgstr "Échec de l'écriture du fichier décrypté : {0}"

#: src/constants/errors/backup.ts:25
msgid "Failed to write encrypted file: {0}"
msgstr "Échec de l'écriture du fichier chiffré : {0}"

#: src/constants/errors/backup.ts:69
msgid "Failed to write security key file: {0}"
msgstr "Échec de l'écriture du fichier de clé de sécurité : {0}"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:226
msgid "Features"
msgstr "Fonctionnalités"

#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "fichier"

#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "Fichier"

#: src/constants/errors/config.ts:4
msgid "File content contains invalid control characters"
msgstr "Le contenu du fichier contient des caractères de contrôle non valides"

#: src/constants/errors/config.ts:5
msgid "File content contains restricted nginx directive: {0}"
msgstr "Le contenu du fichier contient une directive nginx restreinte : {0}"

#: src/constants/errors/config.ts:3
msgid "File content must be valid UTF-8 text"
msgstr "Le contenu du fichier doit être un texte UTF-8 valide"

#: src/language/constants.ts:32
msgid "File exists"
msgstr "Le fichier existe"

#: src/views/nginx_log/indexing/IndexManagement.vue:64
msgid "File index rebuild started successfully for %{path}"
msgstr "La reconstruction de l'index du fichier a démarré avec succès pour %{path}"

#: src/constants/errors/config.ts:2
msgid "File name is not allowed: {0}"
msgstr "Le nom de fichier n'est pas autorisé : {0}"

#: src/views/other/Error.vue:8
msgid "File Not Found"
msgstr "Fichier introuvable"

#: src/constants/errors/config.ts:11
msgid "File or directory not found: {0}"
msgstr "Fichier ou répertoire introuvable : {0}"

#: src/constants/errors/nginx_log.ts:15
msgid "File path is required"
msgstr "Le chemin du fichier est requis"

#: src/views/certificate/components/CertificateFileUpload.vue:54
msgid "File size cannot exceed 5MB"
msgstr "La taille du fichier ne peut pas dépasser 5 Mo"

#: src/views/certificate/components/CertificateFileUpload.vue:100
msgid "File uploaded successfully"
msgstr "Fichier téléchargé avec succès"

#: src/constants/errors/cert.ts:2
msgid "Filename is empty"
msgstr "Nom du fichier vide"

#: src/views/nginx_log/raw/RawLogViewer.vue:298
msgid "Filter"
msgstr "Filtrer"

#: src/views/nginx_log/raw/RawLogViewer.vue:301
msgid "Filter log content"
msgstr "Filtrer le contenu du journal"

#: src/language/constants.ts:19 src/views/site/site_add/SiteAdd.vue:176
msgid "Finished"
msgstr "Finie"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:71
msgid "First View"
msgstr "Première vue"

#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "dossier"

#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "Dossier"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:650
msgid "Follow Redirects"
msgstr "Suivre les redirections"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:77
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
"process."
msgstr ""
"Suivez les instructions dans la boîte de dialogue pour compléter le "
"processus d'enregistrement de la clé d'accès."

#: src/views/preference/tabs/NodeSettings.vue:42
#: src/views/preference/tabs/NodeSettings.vue:54
msgid "For Chinese user"
msgstr "Pour utilisateur chinois"

#: src/views/preference/tabs/HTTPSettings.vue:19
msgid "For Chinese user: https://cloud.nginxui.com/"
msgstr "Pour les utilisateurs chinois : https://cloud.nginxui.com/"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:304
msgid "For commercial or professional use, contact"
msgstr "Pour un usage commercial ou professionnel, contactez"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:677
msgid "For error logs, please use the Raw Log Viewer for better viewing experience."
msgstr ""
"Pour les journaux d'erreurs, veuillez utiliser le Visualiseur de Journaux "
"Bruts pour une meilleure expérience de visualisation."

#: src/components/AutoCertForm/AutoCertForm.vue:140
msgid ""
"For IP-based certificate configurations, only HTTP-01 challenge method is "
"supported. DNS-01 challenge is not compatible with IP-based certificates."
msgstr ""
"Pour les configurations de certificats basés sur IP, seule la méthode de "
"défi HTTP-01 est prise en charge. Le défi DNS-01 n'est pas compatible avec "
"les certificats basés sur IP."

#: src/components/AutoCertForm/AutoCertForm.vue:188
msgid ""
"For IP-based certificates, please specify the server IP address that will "
"be included in the certificate."
msgstr ""
"Pour les certificats basés sur IP, veuillez spécifier l'adresse IP du "
"serveur qui sera incluse dans le certificat."

#: src/constants/errors/middleware.ts:4
msgid "Form parse failed"
msgstr "Échec de l'analyse du formulaire"

#: src/views/config/components/ConfigLeftPanel.vue:277
msgid "Format Code"
msgstr "Code de formatage"

#: src/views/config/components/ConfigLeftPanel.vue:219
msgid "Format successfully"
msgstr "Formaté avec succès"

#: src/views/backup/AutoBackup/components/CronEditor.vue:200
msgid "Format: minute hour day month weekday"
msgstr "Format : minute heure jour mois jour_de_la_semaine"

#: src/views/backup/AutoBackup/components/CronEditor.vue:31
msgid "Friday"
msgstr "Vendredi"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:844
msgid "From indexed logs"
msgstr "À partir des journaux indexés"

#: src/views/system/Licenses.vue:119 src/views/system/Licenses.vue:222
msgid "Frontend"
msgstr "Frontend"

#: src/views/install/components/InstallView.vue:168
msgid ""
"Frontend debug mode is active. Enter the debug secret to unlock the mock "
"installation flow without sending backend requests."
msgstr ""
"Le mode de débogage frontend est actif. Entrez le secret de débogage pour "
"déverrouiller le flux d'installation simulé sans envoyer de requêtes au "
"backend."

#: src/components/SelfCheck/store.ts:19
msgid ""
"Frontend debug mode is active. Secret verification is mocked locally and no "
"backend request is sent."
msgstr ""
"Le mode de débogage frontend est actif. La vérification du secret est "
"simulée localement et aucune requête backend n'est envoyée."

#: src/views/install/components/InstallForm.vue:64
msgid ""
"Frontend debug mode: install flow completed without sending a backend "
"request"
msgstr ""
"Mode débogage frontend : flux d'installation terminé sans envoyer de "
"requête backend"

#: src/components/SystemRestore/SystemRestoreContent.vue:158
msgid ""
"Frontend debug mode: restore flow completed without sending a backend "
"request"
msgstr ""
"Mode de débogage frontend : flux de restauration terminé sans envoyer de "
"requête backend"

#: src/views/nginx_log/structured/components/SearchFilters.vue:65
msgid "Full Text Search"
msgstr "Recherche en texte intégral"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:256
msgid "Full-text search support"
msgstr "Prise en charge de la recherche en texte intégral"

#: src/views/certificate/CertificateList/certColumns.tsx:30
msgid "General Certificate"
msgstr "Certificat général"

#: src/language/curd.ts:17
msgid "Generate"
msgstr "Générer"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:139
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:162
msgid "Generate New Recovery Codes"
msgstr "Générer nouveaux codes de récupération"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:162
msgid "Generate Recovery Codes"
msgstr "Générer codes de récupération"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:34
msgid "Generate recovery codes successfully"
msgstr "Codes de récupération générés avec succès"

#: src/language/constants.ts:7
msgid "Generating private key for registering account"
msgstr "Génération de clé privée pour l'enregistrement du compte"

#: src/views/preference/Preference.vue:113
msgid "GeoLite"
msgstr "GeoLite"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:178
#: src/views/preference/tabs/GeoLiteSettings.vue:7
msgid "GeoLite2 Database"
msgstr "Base de données GeoLite2"

#: src/language/generate.ts:24
msgid "GeoLite2 database available"
msgstr "Base de données GeoLite2 disponible"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:168
msgid "GeoLite2 Database Installed"
msgstr "Base de données GeoLite2 installée"

#: src/constants/errors/geolite.ts:4
msgid "GeoLite2 database not found at {0}"
msgstr "Base de données GeoLite2 non trouvée à {0}"

#: src/constants/errors/self_check.ts:24
msgid ""
"GeoLite2 database not found at {0}. Log indexing requires GeoLite2 database "
"for geographic IP analysis"
msgstr ""
"Base de données GeoLite2 non trouvée à {0}. L’indexation des journaux "
"nécessite une base de données GeoLite2 pour l’analyse géographique des "
"adresses IP"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:150
msgid "GeoLite2 Database Required"
msgstr "Base de données GeoLite2 requise"

#: src/constants/errors/cert.ts:9
msgid "Get acme user error: {0}"
msgstr "Erreur lors de la récupération de l'utilisateur ACME: {0}"

#: src/views/dashboard/NginxDashBoard.vue:163
msgid "Get data failed"
msgstr "Échec de la récupération des données"

#: src/constants/errors/cert.ts:12
msgid "Get dns credential error: {0}"
msgstr "Erreur lors de la récupération des informations d'identification DNS : {0}"

#: src/views/node/BatchUpgrader.vue:182 src/views/system/Upgrade.vue:188
msgid "Get release information error"
msgstr "Erreur d'obtention des informations sur la version"

#: src/views/site/site_edit/components/Cert/ObtainCertLive.vue:46
msgid "Getting the certificate, please wait..."
msgstr "Obtention du certificat, veuillez patienter..."

#: src/views/preference/tabs/HTTPSettings.vue:11
msgid "Github Proxy"
msgstr "Proxy Github"

#: src/views/nginx_log/dashboard/components/GeoMapChart.vue:47
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:235
msgid "Global Access Map"
msgstr "Carte d'Accès Mondiale"

#: src/views/nginx_log/dashboard/components/GeoMapChart.vue:31
msgid "Global Map"
msgstr "Carte Mondiale"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:682
msgid "Go to Raw Log Viewer"
msgstr "Aller au visualiseur de logs bruts"

#: src/views/preference/components/ExternalNotify/gotify.ts:5
msgid "Gotify"
msgstr "Gotify"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:600
msgid ""
"gRPC health check requires server to implement gRPC Health Check service "
"(grpc.health.v1.Health)."
msgstr ""
"La vérification de santé gRPC nécessite que le serveur implémente le "
"service de vérification de santé gRPC (grpc.health.v1.Health)."

#: src/views/dashboard/components/SiteHealthCheckModal.vue:599
msgid ""
"gRPCS uses TLS encryption. Server must implement gRPC Health Check service. "
"For testing, SSL validation is disabled by default."
msgstr ""
"gRPCS utilise le chiffrement TLS. Le serveur doit implémenter le service de "
"vérification de santé gRPC. Pour les tests, la validation SSL est "
"désactivée par défaut."

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
msgid "GZIP Compression"
msgstr "Compression GZIP"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87
msgid "GZIP Compression Level"
msgstr "Niveau de compression GZIP"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80
msgid "GZIP Min Length"
msgstr "Longueur minimale GZIP"

#: src/views/upstream/SocketList.vue:60
msgid "Health Check"
msgstr "Vérification de santé"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:466
msgid "Health Check Configuration"
msgstr "Configuration de la vérification de l'état"

#: src/views/dashboard/SiteNavigation.vue:128
msgid "Health check configuration saved"
msgstr "Configuration de vérification de santé enregistrée"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:403
msgid "Health check configuration saved successfully"
msgstr "Configuration de vérification de santé enregistrée avec succès"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:477
msgid "Health check is disabled"
msgstr "La vérification de santé est désactivée"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:477
msgid "Health check is enabled"
msgstr "La vérification de santé est activée"

#: src/views/upstream/SocketList.vue:36
msgid "Health Status"
msgstr "État de santé"

#: src/components/SensitiveString/SensitiveInput.vue:88
#: src/components/SensitiveString/SensitiveString.vue:102
msgid "Hide"
msgstr "Cacher"

#: src/views/terminal/components/TerminalHeader.vue:85
msgid "Hide Assistant"
msgstr "Masquer l'assistant"

#: src/composables/useGeoTranslation.ts:165
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:165
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:133
msgid "High"
msgstr "Élevé"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
msgid "Higher value means better connection reuse"
msgstr "Une valeur plus élevée signifie une meilleure réutilisation de la connexion"

#: src/views/config/components/ConfigLeftPanel.vue:255
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:100
#: src/views/stream/components/StreamEditor.vue:68
msgid "History"
msgstr "Historique"

#: src/routes/index.ts:54
msgid "Home"
msgstr "Menu principal"

#: src/views/dns/components/DNSRecordFilter.vue:42
#: src/views/preference/tabs/ServerSettings.vue:19
msgid "Host"
msgstr "Hôte"

#: src/views/dns/components/DNSRecordFilter.vue:45
msgid "Host, e.g. @ or www"
msgstr "Hôte, par ex. @ ou www"

#: src/views/backup/AutoBackup/components/CronEditor.vue:159
#: src/views/nginx_log/dashboard/components/HourlyChart.vue:87
msgid "Hour"
msgstr "Heure"

#: src/views/preference/Preference.vue:71
msgid "HTTP"
msgstr "HTTP"

#: src/views/preference/tabs/CertSettings.vue:15
msgid "HTTP Challenge Port"
msgstr "Port de challenge HTTP"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:506
msgid "HTTP Method"
msgstr "Méthode HTTP"

#: src/components/AutoCertForm/AutoCertForm.vue:222
msgid "HTTP01"
msgstr "HTTP01"

#: src/components/SelfCheck/tasks/frontend/https-check.ts:13
msgid "HTTPS Protocol"
msgstr "Protocole HTTPS"

#: src/views/nginx_log/structured/components/SearchFilters.vue:189
msgid "https://..."
msgstr "https://..."

#: src/views/preference/tabs/NodeSettings.vue:34
msgid "ICP Number"
msgstr "Numéro ICP"

#: src/views/preference/tabs/AuthSettings.vue:109
msgid ""
"If the number of login failed attempts from a ip reach the max attempts in "
"ban threshold minutes, the ip will be banned for a period of time."
msgstr ""
"Si le nombre de tentatives de connexion infructueuses depuis une IP atteint "
"le maximum de tentatives dans le délai de bannissement, l'IP sera bannie "
"pendant un certain temps."

#: src/components/AutoCertForm/AutoCertForm.vue:280
msgid ""
"If you want to automatically revoke the old certificate, please enable this "
"option."
msgstr ""
"Si vous souhaitez révoquer automatiquement l'ancien certificat, veuillez "
"activer cette option."

#: src/views/nginx_log/components/IndexingSettingsModal.vue:167
msgid ""
"If you want to change the storage location, you can set the `IndexPath` of "
"`nginx_log` section in the Nginx UI config."
msgstr ""
"Si vous souhaitez modifier l'emplacement de stockage, vous pouvez définir "
"le `IndexPath` de la section `nginx_log` dans la configuration de "
"l'interface Nginx."

#: src/views/preference/components/AuthSettings/AddPasskey.vue:76
msgid "If your browser supports WebAuthn Passkey, a dialog box will appear."
msgstr ""
"Si votre navigateur prend en charge la clé d'accès WebAuthn, une boîte de "
"dialogue apparaîtra."

#: src/components/AutoCertForm/AutoCertForm.vue:271
msgid ""
"If your domain has CNAME records and you cannot obtain certificates, you "
"need to enable this option."
msgstr ""
"Si votre domaine possède des entrées CNAME et que vous ne pouvez pas "
"obtenir de certificats, activez cette option."

#: src/views/certificate/CertificateList/Certificate.vue:27
msgid "Import"
msgstr "Importer"

#: src/routes/modules/certificates.ts:46
#: src/views/certificate/CertificateEditor.vue:84
msgid "Import Certificate"
msgstr "Importer un certificat"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:175
msgid "Inactive Time"
msgstr "Temps d'inactivité"

#: src/views/dashboard/components/ProcessDistributionCard.vue:54
msgid ""
"Includes master process, worker processes, cache processes, and other Nginx "
"processes"
msgstr ""
"Inclut le processus maître, les processus worker, les processus de cache et "
"autres processus Nginx"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:252
msgid "Incremental index scanning"
msgstr "Analyse d'index incrémentielle"

#: src/views/nginx_log/indexing/IndexManagement.vue:38
msgid "Index and statistics rebuild started successfully"
msgstr "Reconstruction de l'index et des statistiques démarrée avec succès"

#: src/views/nginx_log/NginxLogList.vue:208
msgid "Index failed"
msgstr "Échec de l'indexation"

#: src/views/nginx_log/components/LoadingState.vue:55
msgid "Index failed, please try rebuilding"
msgstr "Échec de l'indexation, veuillez essayer de reconstruire"

#: src/views/nginx_log/NginxLogList.vue:393
msgid "Index rebuild initiated"
msgstr "Reconstruction de l'index initiée"

#: src/views/nginx_log/NginxLogList.vue:177
msgid "Index Status"
msgstr "État de l'index"

#: src/views/nginx_log/NginxLogList.vue:245
msgid "Indexed"
msgstr "Indexé"

#: src/views/nginx_log/indexing/components/IndexProgressBar.vue:52
#: src/views/nginx_log/NginxLogList.vue:241
msgid "Indexing"
msgstr "Indexation"

#: src/views/nginx_log/components/LoadingState.vue:33
#: src/views/nginx_log/NginxLogList.vue:463
msgid "Indexing logs..."
msgstr "Indexation des journaux..."

#: src/components/ProcessingStatus/ProcessingStatus.vue:37
#: src/views/nginx_log/components/LoadingState.vue:71
msgid "Indexing..."
msgstr "Indexation en cours..."

#: src/views/dashboard/components/PerformanceTablesCard.vue:16
msgid "Indicator"
msgstr "Indicateur"

#: src/constants/index.ts:25 src/views/notification/notificationColumns.tsx:28
msgid "Info"
msgstr "Info"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:76
msgid "Informational Responses (1xx)"
msgstr "Réponses d'information (1xx)"

#: src/constants/errors/user.ts:17
msgid "Init user not exists"
msgstr "L'utilisateur initial n'existe pas"

#: src/language/constants.ts:25
msgid "Initial core upgrader error"
msgstr "Erreur du programme de mise à niveau initial du core"

#: src/language/constants.ts:24
msgid "Initialing core upgrader"
msgstr "Initialisation du programme de mise à niveau du core"

#: src/views/preference/components/AuthSettings/TOTP.vue:121
msgid "Input the code from the app:"
msgstr "Entrez le code de l'application :"

#: src/components/TwoFA/Authorization.vue:72
msgid "Input the recovery code:"
msgstr "Entrez le code de récupération :"

#: src/views/preference/tabs/HTTPSettings.vue:22
msgid "Insecure Skip Verify"
msgstr "Ignorer la vérification (non sécurisé)"

#: src/routes/modules/auth.ts:8
#: src/views/install/components/InstallForm.vue:120
#: src/views/install/components/InstallHeader.vue:9
#: src/views/system/Upgrade.vue:150
msgid "Install"
msgstr "Installer"

#: src/components/SelfCheck/store.ts:24
msgid "Install Flow Preview"
msgstr "Aperçu du flux d'installation"

#: src/components/SelfCheck/store.ts:18
msgid "Install Secret"
msgstr "Installer le secret"

#: src/views/install/components/InstallView.vue:174
msgid "Install Secret (*)"
msgstr "Secret d'installation (*)"

#: src/constants/errors/system.ts:6
msgid "Install secret has expired"
msgstr "Le secret d'installation a expiré"

#: src/constants/errors/system.ts:5
msgid "Install secret is invalid"
msgstr "Le secret d'installation est invalide"

#: src/constants/errors/system.ts:4
msgid "Install secret is required"
msgstr "Un secret d'installation est requis"

#: src/views/install/components/InstallForm.vue:70
msgid "Install successfully"
msgstr "Installé avec succès"

#: src/views/install/components/InstallView.vue:146
msgid "Installation"
msgstr "Installation"

#: src/constants/errors/system.ts:3
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr "L'installation n'est pas autorisée après 10 minutes de démarrage du système"

#: src/views/install/components/TimeoutAlert.vue:11
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
msgstr ""
"L'installation n'est pas autorisée après 10 minutes de démarrage du "
"système, veuillez redémarrer l'interface Nginx."

#: src/views/dns/DDNSManager.vue:117
#: src/views/preference/tabs/LogrotateSettings.vue:26
msgid "Interval"
msgstr "Intervalle"

#: src/views/dns/DDNSManager.vue:322
msgid "Interval (seconds)"
msgstr "Intervalle (secondes)"

#: src/views/certificate/ACMEUser.vue:166
msgid "Invalid"
msgstr "Invalide"

#: src/constants/errors/backup.ts:43
msgid "Invalid AES IV format: {0}"
msgstr "Format de vecteur d'initialisation AES invalide : {0}"

#: src/constants/errors/backup.ts:42
msgid "Invalid AES key format: {0}"
msgstr "Format de clé AES invalide : {0}"

#: src/constants/errors/backup.ts:60
msgid "Invalid backup manifest signature"
msgstr "Signature du manifeste de sauvegarde invalide"

#: src/constants/errors/backup.ts:59
msgid "Invalid backup manifest: {0}"
msgstr "Manifeste de sauvegarde invalide : {0}"

#: src/views/certificate/components/CertificateDownload.vue:54
#: src/views/certificate/components/CertificateFileUpload.vue:88
msgid "Invalid certificate format"
msgstr "Format de certificat invalide"

#: src/constants/errors/user.ts:14
msgid "Invalid claims type"
msgstr "Type de réclamation invalide"

#: src/constants/errors/version.ts:2
msgid "Invalid commit SHA"
msgstr "SHA de validation non valide"

#: src/views/install/components/InstallView.vue:83
msgid "Invalid debug secret"
msgstr "Secret de débogage invalide"

#: src/components/SystemRestore/SystemRestoreContent.vue:126
msgid "Invalid file object"
msgstr "Objet de fichier non valide"

#: src/constants/errors/backup.ts:50
msgid "Invalid file path: {0}"
msgstr "Chemin de fichier invalide : {0}"

#: src/views/config/components/ConfigRightPanel/Basic.vue:28
#: src/views/config/components/Rename.vue:66
msgid "Invalid filename"
msgstr "Nom de fichier invalide"

#: src/views/config/components/Mkdir.vue:57
msgid "Invalid folder name"
msgstr "Nom du répertoire invalide"

#: src/constants/errors/notification.ts:4
msgid "Invalid notification ID"
msgstr "ID de notification invalide"

#: src/constants/errors/notification.ts:3
msgid "Invalid notifier config"
msgstr "Configuration de notificateur invalide"

#: src/constants/errors/user.ts:4
msgid "Invalid otp code"
msgstr "Code otp invalide"

#: src/constants/errors/backup.ts:28
msgid "Invalid padding in decrypted data"
msgstr "Remplissage invalide dans les données décryptées"

#: src/components/TwoFA/use2FAModal.ts:61
msgid "Invalid passcode or recovery code"
msgstr "Code de vérification ou code de récupération invalide"

#: src/constants/errors/backup.ts:71
msgid "Invalid path: {0}"
msgstr "Chemin invalide : {0}"

#: src/views/certificate/components/CertificateDownload.vue:59
#: src/views/certificate/components/CertificateFileUpload.vue:94
msgid "Invalid private key format"
msgstr "Format de clé privée invalide"

#: src/constants/errors/user.ts:5
msgid "Invalid recovery code"
msgstr "Code de récupération invalide"

#: src/constants/errors/middleware.ts:2
msgid "Invalid request format"
msgstr "Format de la requête invalide"

#: src/constants/errors/backup.ts:41
msgid "Invalid security token format"
msgstr "Format de jeton de sécurité invalide"

#: src/constants/errors/notification.ts:6
msgid "Invalid Telegram Chat ID: cannot be zero"
msgstr "ID de chat Telegram invalide : ne peut pas être zéro"

#: src/constants/errors/nginx_log.parser.ts:5
msgid "Invalid timestamp format"
msgstr "Format d'horodatage invalide"

#: src/constants/errors/nginx_log.ts:23
msgid "Invalid websocket message type"
msgstr "Type de message WebSocket non valide"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:194
#: src/views/preference/tabs/AuthSettings.vue:15
msgid "IP"
msgstr "IP"

#: src/views/nginx_log/structured/components/SearchFilters.vue:77
#: src/views/nginx_log/structured/StructuredLogViewer.vue:518
msgid "IP Address"
msgstr "Adresse IP"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:335
#: src/views/site/site_edit/components/RightPanel/DNS.vue:504
#: src/views/site/site_edit/components/RightPanel/DNS.vue:629
msgid "IP Address / Target"
msgstr "Adresse IP / Cible"

#: src/components/AutoCertForm/AutoCertForm.vue:123
msgid "IP Certificate Notice"
msgstr "Avis de certificat IP"

#: src/views/certificate/CertificateList/Certificate.vue:37
msgid "Issue certificate"
msgstr "Émettre un certificat"

#: src/views/certificate/components/DNSIssueCertificate.vue:98
msgid "Issue Certificate"
msgstr "Émettre un certificat"

#: src/language/constants.ts:20
msgid "Issued certificate successfully"
msgstr "Certificat délivré avec succès"

#: src/components/CertInfo/CertInfo.vue:35
msgid "Issuer: %{issuer}"
msgstr "Auteur : %{issuer}"

#: src/language/curd.ts:6
msgid "item(s)"
msgstr "élément(s)"

#: src/views/preference/tabs/AppSettings.vue:11
msgid "Jwt Secret"
msgstr "Secret Jwt"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:75
msgid ""
"Keep your recovery codes as safe as your password. We recommend saving them "
"with a password manager."
msgstr ""
"Garder vos codes de récupération sécurisés autant que votre mot de passe. "
"Nous recommandons de les enregistrer avec un gestionnaire de mots de passe."

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60
msgid "Keepalive Timeout"
msgstr "Délai d'expiration Keepalive"

#: src/components/AutoCertForm/AutoCertForm.vue:236
#: src/views/certificate/CertificateList/certColumns.tsx:57
msgid "Key Type"
msgstr "Type de clé"

#: src/views/preference/components/ExternalNotify/columns.tsx:33
msgid "Language"
msgstr "Langue"

#: src/views/preference/components/ExternalNotify/lark.ts:5
msgid "Lark"
msgstr "Lark"

#: src/views/preference/components/ExternalNotify/lark_custom.ts:5
msgid "Lark Custom"
msgstr "Lark Personnalisé"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:315
msgid "Last 12 hours"
msgstr "Dernières 12 heures"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:22
msgid "Last 14 days"
msgstr "14 derniers jours"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:311
msgid "Last 15 minutes"
msgstr "15 dernières minutes"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:316
msgid "Last 24 hours"
msgstr "Dernières 24 heures"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:23
#: src/views/nginx_log/structured/StructuredLogViewer.vue:318
msgid "Last 30 days"
msgstr "30 derniers jours"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:312
msgid "Last 30 minutes"
msgstr "30 dernières minutes"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:314
msgid "Last 4 hours"
msgstr "Dernières 4 heures"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:21
#: src/views/nginx_log/structured/StructuredLogViewer.vue:317
msgid "Last 7 days"
msgstr "7 derniers jours"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:24
msgid "Last 90 days"
msgstr "90 derniers jours"

#: src/views/backup/AutoBackup/AutoBackup.vue:190
msgid "Last Backup Status"
msgstr "Statut de la dernière sauvegarde"

#: src/views/backup/AutoBackup/AutoBackup.vue:183
msgid "Last Backup Time"
msgstr "Dernière heure de sauvegarde"

#: src/views/upstream/SocketList.vue:51
msgid "Last Check"
msgstr "Dernière vérification"

#: src/views/system/Upgrade.vue:198
msgid "Last checked at"
msgstr "Dernière vérification le"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:313
msgid "Last hour"
msgstr "Dernière heure"

#: src/views/nginx_log/NginxLogList.vue:258
msgid "Last Indexed"
msgstr "Dernière indexation"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:26
msgid "Last month"
msgstr "Mois dernier"

#: src/views/dns/DDNSManager.vue:125
msgid "Last run"
msgstr "Dernière exécution"

#: src/views/dashboard/NginxDashBoard.vue:138
msgid "Last update"
msgstr "Dernière mise à jour"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:199
msgid "Last updated:"
msgstr "Dernière mise à jour:"

#: src/views/preference/components/AuthSettings/Passkey.vue:97
msgid "Last used at"
msgstr "Dernière utilisation le"

#: src/views/user/userColumns.tsx:23
msgid "Leave blank for no change"
msgstr "Laisser vide pour aucun changement"

#: src/views/preference/tabs/OpenAISettings.vue:42
msgid "Leave blank for the default: https://api.openai.com/"
msgstr "Laissez vide pour la valeur par défaut : https://api.openai.com/"

#: src/language/curd.ts:39
msgid "Leave blank if do not want to modify"
msgstr "Laisser vide si vous ne souhaitez pas modifier"

#: src/views/certificate/ACMEUser.vue:107 src/views/certificate/ACMEUser.vue:94
msgid "Leave blank if not required by your ACME provider"
msgstr "Laissez vide si votre fournisseur ACME ne le requiert pas"

#: src/views/certificate/ACMEUser.vue:70
msgid "Leave blank if you don't need this."
msgstr "Laissez vide si vous n'en avez pas besoin."

#: src/views/certificate/components/CertificateContentEditor.vue:240
#: src/views/certificate/components/CertificateContentEditor.vue:258
#: src/views/certificate/components/CertificateContentEditor.vue:301
#: src/views/certificate/components/CertificateContentEditor.vue:319
msgid "Leave blank will not change anything"
msgstr "Laisser vide ne changera rien"

#: src/constants/errors/user.ts:6
msgid "Legacy recovery code not allowed since totp is not enabled"
msgstr "Ancien code de récupération non autorisé car TOTP n'est pas activé"

#: src/components/AutoCertForm/AutoCertForm.vue:268
msgid "Lego disable CNAME Support"
msgstr "Lego désactiver la prise en charge CNAME"

#: src/views/system/About.vue:75 src/views/system/Licenses.vue:21
msgid "License"
msgstr "Licence"

#: src/views/system/Licenses.vue:133
msgid "License Distribution"
msgstr "Répartition des licences"

#: src/views/system/Licenses.vue:125
msgid "License Types"
msgstr "Types de licence"

#: src/views/dashboard/components/NodeAnalyticItem.vue:78
#: src/views/dashboard/components/NodeAnalyticItem.vue:95
msgid "Link"
msgstr "Lien"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:456
msgid ""
"Link this site to a DNS record. The server_name will be used for the DNS "
"record name."
msgstr ""
"Liez ce site à un enregistrement DNS. Le server_name sera utilisé comme nom "
"de l'enregistrement DNS."

#: src/views/site/site_add/components/DNSRecordIntegration.vue:247
msgid ""
"Link this site to a DNS record. The server_name will be used for the DNS "
"record name. You can skip this step if DNS is already configured."
msgstr ""
"Lie ce site à un enregistrement DNS. Le server_name sera utilisé comme nom "
"de l'enregistrement DNS. Vous pouvez ignorer cette étape si le DNS est déjà "
"configuré."

#: src/views/site/site_edit/components/RightPanel/DNS.vue:466
msgid "Linked DNS Record"
msgstr "Enregistrement DNS lié"

#: src/language/curd.ts:23
msgid "List"
msgstr "Liste"

#: src/components/PortScanner/PortScannerCompact.vue:43
msgid "Listening"
msgstr "En écoute"

#: src/views/dashboard/ServerAnalytic.vue:188
msgid "Load Average:"
msgstr "Charge moyenne :"

#: src/views/node/Node.vue:137
msgid "Load from settings"
msgstr "Charger à partir des options"

#: src/views/node/Node.vue:67
msgid "Load successfully"
msgstr "Chargement réussi"

#: src/views/dashboard/components/ModulesTable.vue:79
#: src/views/dashboard/components/ModulesTable.vue:84
msgid "Loaded"
msgstr "Chargé"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:312
msgid "Loader Files"
msgstr "Fichiers du chargeur"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:307
msgid "Loader Settings"
msgstr "Paramètres du chargeur"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:322
msgid "Loader Sleep"
msgstr "Pause du chargeur"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:347
msgid "Loader Threshold"
msgstr "Seuil du chargeur"

#: src/views/dashboard/NginxDashBoard.vue:200
msgid "Loading data..."
msgstr "Chargement des données..."

#: src/components/SensitiveString/SensitiveInput.vue:88
#: src/components/SensitiveString/SensitiveString.vue:102
#: src/views/nginx_log/components/LoadingState.vue:41
#: src/views/nginx_log/components/LoadingState.vue:78
msgid "Loading..."
msgstr "Chargement..."

#: src/components/NamespaceTabs/NamespaceTabs.vue:116
#: src/components/NodeIndicator/NodeIndicator.vue:38
#: src/components/NodeSelector/NodeSelector.vue:62 src/constants/index.ts:42
#: src/constants/index.ts:48 src/views/backup/AutoBackup/AutoBackup.vue:74
#: src/views/backup/AutoBackup/AutoBackup.vue:83
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:48
#: src/views/preference/tabs/NginxSettings.vue:55
msgid "Local"
msgstr "Local"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:60
msgid "Local path (e.g., /var/backups)"
msgstr "Chemin local (par ex., /var/backups)"

#: src/components/NgxConfigEditor/LocationEditor.vue:81
msgid "Location"
msgstr "Emplacement"

#: src/components/NgxConfigEditor/LocationEditor.vue:63
msgid "Locations"
msgstr "Emplacements"

#: src/views/certificate/CertificateEditor.vue:124
msgid "Log"
msgstr "Journal"

#: src/language/generate.ts:25
msgid ""
"Log file %{log_path} is not a regular file. If you are using nginx-ui in "
"docker container, please refer to "
"https://nginxui.com/zh_CN/guide/config-nginx-log.html for more information."
msgstr ""
"Le fichier journal %{log_path} n'est pas un fichier régulier. Si vous "
"utilisez nginx-ui dans un conteneur Docker, veuillez consulter "
"https://nginxui.com/zh_CN/guide/config-nginx-log.html pour plus "
"d'informations."

#: src/constants/errors/nginx_log.ts:11
msgid "Log file does not exist"
msgstr "Le fichier journal n'existe pas"

#: src/constants/errors/nginx_log.ts:22
msgid "Log file is not a regular file"
msgstr "Le fichier journal n'est pas un fichier régulier"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:859
msgid "Log file not available"
msgstr "Fichier journal non disponible"

#: src/views/nginx_log/components/LoadingState.vue:62
msgid "Log file not indexed yet"
msgstr "Fichier journal non encore indexé"

#: src/constants/errors/nginx_log.ts:9
msgid "Log indexer not available"
msgstr "Indexeur de journaux non disponible"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:586
msgid "Log indexing completed! Loading updated data..."
msgstr "Indexation des journaux terminée ! Chargement des données mises à jour..."

#: src/constants/errors/nginx_log.parser.ts:3
msgid "Log line exceeds maximum length"
msgstr "La ligne de journal dépasse la longueur maximale"

#: src/routes/modules/nginx_log.ts:39 src/views/nginx_log/NginxLogList.vue:436
msgid "Log List"
msgstr "Liste des journaux"

#: src/constants/errors/nginx_log.indexer.ts:2
msgid "Log parser is not initialized; call indexer.InitLogParser() before use"
msgstr ""
"L'analyseur de journaux n'est pas initialisé ; appelez "
"indexer.InitLogParser() avant utilisation"

#: src/constants/errors/nginx_log.ts:12
msgid "Log path is not under whitelist"
msgstr "Le chemin du journal n'est pas dans la liste blanche"

#: src/routes/modules/auth.ts:14 src/views/other/Login.vue:356
msgid "Login"
msgstr "Connexion"

#: src/views/other/Login.vue:109
msgid "Login successful"
msgstr "Connexion réussie"

#: src/layouts/HeaderLayout.vue:21
msgid "Logout successful"
msgstr "Déconnexion réussie"

#: src/views/preference/Preference.vue:107
msgid "Logrotate"
msgstr "Logrotate"

#: src/views/preference/tabs/LogrotateSettings.vue:13
msgid ""
"Logrotate, by default, is enabled in most mainstream Linux distributions "
"for users who install Nginx UI on the host machine, so you don't need to "
"modify the parameters on this page. For users who install Nginx UI using "
"Docker containers, you can manually enable this option. The crontab task "
"scheduler of Nginx UI will execute the logrotate command at the interval "
"you set in minutes."
msgstr ""
"Logrotate est activé par défaut dans la plupart des distributions Linux "
"grand public pour les utilisateurs qui installent Nginx UI directement sur "
"la machine hôte. Vous n'avez donc pas besoin de modifier les paramètres de "
"cette page. Pour les utilisateurs qui installent Nginx UI via des "
"conteneurs Docker, vous pouvez activer manuellement cette option. Le "
"planificateur de tâches crontab de Nginx UI exécutera la commande logrotate "
"à l'intervalle que vous avez défini en minutes."

#: src/composables/useGeoTranslation.ts:166
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:165
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:133
msgid "Low"
msgstr "Bas"

#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:51
#: src/composables/useUpstreamStatus.ts:146
msgid "Main Node"
msgstr "Nœud principal"

#: src/views/site/components/SiteStatusSelect.vue:165
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:87
#: src/views/site/site_list/columns.tsx:150
msgid "Maintenance"
msgstr "Maintenance"

#: src/views/site/components/SiteStatusSelect.vue:93
msgid "Maintenance mode disabled successfully"
msgstr "Mode maintenance désactivé avec succès"

#: src/views/site/components/SiteStatusSelect.vue:80
msgid "Maintenance mode enabled successfully"
msgstr "Mode maintenance activé avec succès"

#: src/constants/errors/cert.ts:20
msgid "Make certificate dir error: {0}"
msgstr "Erreur lors de la création du répertoire du certificat : {0}"

#: src/components/AutoCertForm/AutoCertForm.vue:164
msgid ""
"Make sure you have configured a reverse proxy for .well-known directory to "
"HTTPChallengePort before obtaining the certificate."
msgstr ""
"Assurez-vous d'avoir configuré un proxy inverse pour le répertoire "
".well-known vers HTTPChallengePort avant d'obtenir le certificat."

#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "Gérer les configurations"

#: src/views/dns/DNSDomainList.vue:242
msgid "Manage Records"
msgstr "Gérer les enregistrements"

#: src/routes/modules/sites.ts:10 src/views/site/site_list/SiteList.vue:45
msgid "Manage Sites"
msgstr "Gérer les sites"

#: src/routes/modules/streams.ts:10 src/views/stream/StreamList.vue:59
msgid "Manage Streams"
msgstr "Gérer les flux"

#: src/routes/modules/user.ts:10 src/views/user/User.vue:10
msgid "Manage Users"
msgstr "Gérer les utilisateurs"

#: src/views/certificate/CertificateList/certColumns.tsx:29
msgid "Managed Certificate"
msgstr "Certificat géré"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:250
msgid "Manager Files"
msgstr "Fichiers du gestionnaire"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:260
msgid "Manager Sleep"
msgstr "Temps d'attente du gestionnaire"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:285
msgid "Manager Threshold"
msgstr "Seuil du Gestionnaire"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32
msgid "Manual"
msgstr "Manuel"

#: src/views/dashboard/components/PerformanceTablesCard.vue:202
msgid "manually set"
msgstr "défini manuellement"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
msgid "Master"
msgstr "Maître"

#: src/composables/usePerformanceMetrics.ts:134
#: src/views/dashboard/components/PerformanceTablesCard.vue:90
msgid "Master process"
msgstr "Processus maître"

#: src/composables/usePerformanceMetrics.ts:56
#: src/views/dashboard/components/ProcessDistributionCard.vue:13
msgid "Master Process"
msgstr "Processus maître"

#: src/views/preference/tabs/AuthSettings.vue:99
msgid "Max Attempts"
msgstr "Tentatives maximum"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
msgid "Max Concurrent Connections"
msgstr "Connexions simultanées maximales"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:643
msgid "Max Redirects"
msgstr "Redirections maximales"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
msgid "Max Requests Per Second"
msgstr "Requêtes maximales par seconde"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:198
msgid "Maximum Cache Size"
msgstr "Taille maximale du cache"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:111
msgid "Maximum client request body size"
msgstr "Taille maximale du corps de la requête client"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49
msgid "Maximum number of concurrent connections"
msgstr "Nombre maximum de connexions simultanées"

#: src/composables/usePerformanceMetrics.ts:174
#: src/views/dashboard/components/PerformanceTablesCard.vue:126
msgid "Maximum number of connections per worker process"
msgstr "Nombre maximum de connexions par processus worker"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:200
msgid "Maximum total size of the cache"
msgstr "Taille maximale totale du cache"

#: src/views/dashboard/components/PerformanceTablesCard.vue:196
msgid "Maximum worker process number:"
msgstr "Nombre maximal de processus de travail :"

#: src/views/dashboard/ServerAnalytic.vue:228
#: src/views/dashboard/ServerAnalytic.vue:229
#: src/views/nginx_log/components/IndexingSettingsModal.vue:53
msgid "Memory"
msgstr "Mémoire"

#: src/views/dashboard/ServerAnalytic.vue:217
msgid "Memory and Storage"
msgstr "Mémoire et stockage"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:78
msgid "Memory Design"
msgstr "Conception de la mémoire"

#: src/views/dashboard/components/ResourceUsageCard.vue:51
msgid "Memory Usage (RSS)"
msgstr "Utilisation de la mémoire (RSS)"

#: src/views/nginx_log/structured/components/SearchFilters.vue:92
#: src/views/nginx_log/structured/StructuredLogViewer.vue:519
msgid "Method"
msgstr "Méthode"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:613
msgid "Method Name"
msgstr "Nom de la méthode"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81
msgid "Minimum file size for compression"
msgstr "Taille minimale des fichiers pour la compression"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:223
msgid "Minimum Free Space"
msgstr "Espace libre minimum"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:225
msgid "Minimum free space in the cache directory"
msgstr "Espace libre minimum dans le répertoire de cache"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:142
msgid "Minimum:"
msgstr "Minimum :"

#: src/views/backup/AutoBackup/components/CronEditor.vue:169
msgid "Minute"
msgstr "Minute"

#: src/views/preference/tabs/LogrotateSettings.vue:30
msgid "Minutes"
msgstr "Minutes"

#: src/constants/index.ts:44
msgid "Mirror"
msgstr "Miroir"

#: src/views/preference/tabs/OpenAISettings.vue:21
msgid "Model"
msgstr "Modèle"

#: src/constants/errors/nginx_log.ts:25
msgid "Modern analytics service not available"
msgstr "Service d'analyse moderne non disponible"

#: src/constants/errors/nginx_log.ts:26
msgid "Modern indexer service not available"
msgstr "Service d'indexation moderne non disponible"

#: src/constants/errors/nginx_log.ts:24
msgid "Modern searcher service not available"
msgstr "Service de recherche moderne non disponible"

#: src/components/ConfigHistory/ConfigHistory.vue:53
msgid "Modified At"
msgstr "Modifié le"

#: src/components/LLM/ChatMessage.vue:241 src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "Modifier"

#: src/routes/modules/certificates.ts:36
#: src/views/certificate/CertificateEditor.vue:84
msgid "Modify Certificate"
msgstr "Modifier le certificat"

#: src/views/site/site_add/SiteAdd.vue:264
msgid "Modify Config"
msgstr "Modifier la configuration"

#: src/views/dashboard/components/ModulesTable.vue:49
msgid "Module"
msgstr "Module"

#: src/views/dashboard/components/PerformanceTablesCard.vue:215
msgid "Modules"
msgstr "Modules"

#: src/views/dashboard/components/ModulesTable.vue:26
msgid "Modules cache refreshed"
msgstr "Cache des modules actualisé"

#: src/views/backup/AutoBackup/components/CronEditor.vue:27
msgid "Monday"
msgstr "Lundi"

#: src/views/backup/AutoBackup/components/CronEditor.vue:21
msgid "Monthly"
msgstr "Mensuel"

#: src/views/backup/AutoBackup/AutoBackup.vue:138
msgid "Monthly on day %{day} at %{time}"
msgstr "Mensuellement le jour %{day} à %{time}"

#: src/views/nginx_log/structured/components/SearchFilters.vue:204
msgid "Mozilla/5.0..."
msgstr "Mozilla/5.0..."

#: src/views/nginx_log/components/IndexingSettingsModal.vue:276
msgid "Multi-dimensional data visualization"
msgstr "Visualisation de données multidimensionnelle"

#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:51
msgid "Multi-line Directive"
msgstr "Directive multiligne"

#: src/components/AutoCertForm/AutoCertForm.vue:196
msgid "Must be a public IP address accessible from the internet"
msgstr "Doit être une adresse IP publique accessible depuis Internet"

#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:38
#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:56
msgid "N/A"
msgstr "N/D"

#: src/components/NgxConfigEditor/NgxUpstream.vue:130
#: src/views/backup/AutoBackup/AutoBackup.vue:11
#: src/views/certificate/ACMEUser.vue:13
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/components/CertificateBasicInfo.vue:44
#: src/views/certificate/components/CertificateBasicInfo.vue:58
#: src/views/certificate/components/CertificateBasicInfo.vue:70
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:17
#: src/views/dns/components/DNSRecordForm.vue:64
#: src/views/dns/components/DNSRecordTable.vue:18
#: src/views/dns/DNSCredential.vue:17 src/views/namespace/columns.ts:9
#: src/views/nginx_log/NginxLogList.vue:155 src/views/node/nodeColumns.tsx:8
#: src/views/preference/components/AuthSettings/AddPasskey.vue:81
#: src/views/site/site_edit/components/RightPanel/Basic.vue:36
#: src/views/site/site_list/columns.tsx:30
#: src/views/site/site_list/SiteDuplicate.vue:79
#: src/views/stream/columns.tsx:26
#: src/views/stream/components/RightPanel/Basic.vue:31
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:123 src/views/system/Licenses.vue:13
msgid "Name"
msgstr "Nom"

#: src/views/config/configColumns.tsx:10
#: src/views/site/site_list/columns.tsx:22 src/views/stream/columns.tsx:18
msgid "Name or content"
msgstr "Nom ou contenu"

#: src/views/site/site_edit/components/RightPanel/Basic.vue:42
#: src/views/site/site_list/columns.tsx:91 src/views/stream/columns.tsx:58
#: src/views/stream/components/RightPanel/Basic.vue:39
msgid "Namespace"
msgstr "Espace de noms"

#: src/routes/modules/namespaces.ts:10 src/views/namespace/Namespace.vue:19
msgid "Namespaces"
msgstr "Espaces de noms"

#: src/views/dns/DNSDomainList.vue:257
msgid ""
"Need more DNS providers? Support us through donations or contact us for "
"commercial collaboration"
msgstr ""
"Vous avez besoin de plus de fournisseurs DNS ? Soutenez-nous par des dons "
"ou contactez-nous pour une collaboration commerciale"

#: src/views/dashboard/NginxDashBoard.vue:195
msgid "Need to enable the stub_status module"
msgstr "Il faut activer le module stub_status"

#: src/views/dashboard/ServerAnalytic.vue:335
msgid "Network"
msgstr "Réseau"

#: src/views/dashboard/ServerAnalytic.vue:277
msgid "Network Statistics"
msgstr "Statistiques du réseau"

#: src/components/LLM/LLM.vue:58
msgid "New Chat"
msgstr "Nouveau chat"

#: src/constants/errors/cert.ts:15
msgid "New dns challenge provider error: {0}"
msgstr "Erreur du nouveau fournisseur de défi DNS : {0}"

#: src/views/install/components/InstallView.vue:225
msgid "New Installation"
msgstr "Nouvelle installation"

#: src/constants/errors/cert.ts:11
msgid "New lego client error: {0}"
msgstr "Erreur du nouveau client lego : {0}"

#: src/views/config/components/Rename.vue:74
msgid "New name"
msgstr "Nouveau nom"

#: src/views/user/UserProfile.vue:195
msgid "New Password"
msgstr "Nouveau mot de passe"

#: src/views/config/components/ConfigRightPanel/Basic.vue:47
msgid "New Path"
msgstr "Nouveau chemin"

#: src/constants/errors/cert.ts:10
msgid "New transport error: {0}"
msgstr "Erreur de nouveau transport : {0}"

#: src/views/system/Upgrade.vue:230
msgid "New version released"
msgstr "Nouvelle version publiée"

#: src/views/certificate/components/DNSIssueCertificate.vue:184
#: src/views/install/components/InstallView.vue:212
#: src/views/site/site_add/SiteAdd.vue:237
#: src/views/site/site_add/SiteAdd.vue:244
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:264
msgid "Next"
msgstr "Suivant"

#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:95
msgid "Nginx"
msgstr "Nginx"

#: src/constants/errors/nginx.ts:5
msgid "Nginx -T output is empty"
msgstr "La sortie de Nginx -T est vide"

#: src/views/preference/tabs/NginxSettings.vue:13
msgid "Nginx Access Log Path"
msgstr "Chemin du journal d'accès Nginx"

#: src/language/generate.ts:27
msgid "Nginx access log path exists"
msgstr "Le chemin du journal d'accès Nginx existe"

#: src/views/backup/AutoBackup/AutoBackup.vue:28
#: src/views/backup/AutoBackup/AutoBackup.vue:40
msgid "Nginx and Nginx UI Config"
msgstr "Configuration Nginx et Nginx UI"

#: src/constants/errors/self_check.ts:6
msgid "Nginx conf no http block"
msgstr "La configuration Nginx n'a pas de bloc http"

#: src/constants/errors/self_check.ts:8
msgid "Nginx conf no stream block"
msgstr "Configuration Nginx sans bloc de flux"

#: src/constants/errors/self_check.ts:15
msgid "Nginx conf not include conf.d directory"
msgstr "La configuration Nginx n'inclut pas le répertoire conf.d"

#: src/constants/errors/self_check.ts:7
msgid "Nginx conf not include sites-enabled"
msgstr "La configuration Nginx n'inclut pas sites-enabled"

#: src/constants/errors/self_check.ts:9
msgid "Nginx conf not include stream-enabled"
msgstr "La configuration Nginx n'inclut pas stream-enabled"

#: src/constants/errors/backup.ts:20
msgid "Nginx config directory is not set"
msgstr "Le répertoire de configuration de Nginx n'est pas défini"

#: src/language/generate.ts:28
msgid "Nginx configuration directory exists"
msgstr "Le répertoire de configuration Nginx existe"

#: src/language/generate.ts:29
msgid "Nginx configuration entry file exists"
msgstr "Le fichier d'entrée de configuration Nginx existe"

#: src/components/SystemRestore/SystemRestoreContent.vue:162
msgid "Nginx configuration has been restored"
msgstr "La configuration de Nginx a été restaurée"

#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:141
#: src/views/stream/components/StreamEditor.vue:105
msgid "Nginx Configuration Parse Error"
msgstr "Erreur d'analyse de configuration Nginx"

#: src/views/preference/tabs/NginxSettings.vue:22
msgid "Nginx Configuration Path"
msgstr "Chemin de configuration de Nginx"

#: src/views/preference/tabs/NginxSettings.vue:19
msgid "Nginx Configurations Directory"
msgstr "Répertoire des configurations Nginx"

#: src/components/NginxControl/NginxControl.vue:68
msgid "Nginx Control"
msgstr "Contrôle Nginx"

#: src/views/preference/tabs/NginxSettings.vue:46
msgid "Nginx Control Mode"
msgstr "Mode de contrôle Nginx"

#: src/composables/usePerformanceMetrics.ts:149
#: src/views/dashboard/components/PerformanceTablesCard.vue:105
msgid "Nginx CPU usage rate"
msgstr "Taux d'utilisation du CPU par Nginx"

#: src/views/preference/tabs/NginxSettings.vue:16
msgid "Nginx Error Log Path"
msgstr "Chemin du journal des erreurs Nginx"

#: src/language/generate.ts:30
msgid "Nginx error log path exists"
msgstr "Le chemin du journal d'erreurs de Nginx existe"

#: src/constants/errors/nginx.ts:2
msgid "Nginx error: {0}"
msgstr "Erreur Nginx : {0}"

#: src/components/InspectConfig/InspectConfig.vue:43
msgid "Nginx failed to validate the configuration."
msgstr "Nginx n'a pas pu valider la configuration."

#: src/components/NgxConfigEditor/NginxStatusAlert.vue:15
#: src/composables/useNginxPerformance.ts:44
#: src/views/dashboard/NginxDashBoard.vue:134
#: src/views/dashboard/NginxDashBoard.vue:153
#: src/views/dashboard/NginxDashBoard.vue:84
msgid "Nginx is not running"
msgstr "Nginx n'est pas en cours d'exécution"

#: src/constants/errors/docker.ts:9
msgid "Nginx is not running in another container"
msgstr "Nginx ne fonctionne pas dans un autre conteneur"

#: src/views/dashboard/NginxDashBoard.vue:134
msgid "Nginx is running"
msgstr "Nginx est en cours d'exécution"

#: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:76
msgid "Nginx Log"
msgstr "Journal Nginx"

#: src/views/preference/tabs/NginxSettings.vue:25
msgid "Nginx Log Directory Whitelist"
msgstr "Liste blanche des répertoires de journaux Nginx"

#: src/components/ProcessingStatus/ProcessingStatus.vue:51
msgid "Nginx Log Indexing..."
msgstr "Indexation des logs Nginx..."

#: src/composables/usePerformanceMetrics.ts:154
#: src/views/dashboard/components/PerformanceTablesCard.vue:110
msgid "Nginx Memory usage"
msgstr "Utilisation de la mémoire par Nginx"

#: src/views/preference/tabs/NginxSettings.vue:34
msgid "Nginx PID Path"
msgstr "Chemin du PID de Nginx"

#: src/language/generate.ts:26
msgid "Nginx PID path exists"
msgstr "Le chemin du PID de Nginx existe"

#: src/views/preference/tabs/NginxSettings.vue:40
msgid "Nginx Reload Command"
msgstr "Commande de rechargement de Nginx"

#: src/constants/errors/config.ts:9 src/constants/errors/site.ts:7
#: src/constants/errors/stream.ts:6
msgid "Nginx reload failed: {0}"
msgstr "Échec du rechargement de Nginx : {0}"

#: src/views/node/Node.vue:88
msgid "Nginx reload operations have been dispatched to remote nodes"
msgstr "Les opérations de rechargement de Nginx ont été envoyées aux nœuds distants"

#: src/components/NginxControl/NginxControl.vue:26
msgid "Nginx reloaded successfully"
msgstr "Nginx a été rechargé avec succès"

#: src/components/InspectConfig/InspectConfig.vue:41
msgid "Nginx reported a configuration syntax error."
msgstr "Nginx a signalé une erreur de syntaxe dans la configuration."

#: src/views/preference/tabs/NginxSettings.vue:43
msgid "Nginx Restart Command"
msgstr "Commande de redémarrage de Nginx"

#: src/views/node/Node.vue:102
msgid "Nginx restart operations have been dispatched to remote nodes"
msgstr "Les opérations de redémarrage de Nginx ont été envoyées aux nœuds distants"

#: src/components/NginxControl/NginxControl.vue:40
msgid "Nginx restarted successfully"
msgstr "Nginx a redémarré avec succès"

#: src/language/generate.ts:31
msgid "Nginx sbin path exists"
msgstr "Le chemin sbin de Nginx existe"

#: src/views/preference/tabs/NginxSettings.vue:37
msgid "Nginx Test Config Command"
msgstr "Commande de test de configuration Nginx"

#: src/constants/errors/config.ts:8 src/constants/errors/site.ts:6
#: src/constants/errors/stream.ts:5
msgid "Nginx test failed: {0}"
msgstr "Échec du test Nginx : {0}"

#: src/views/dashboard/components/PerformanceTablesCard.vue:181
msgid "Nginx theoretical maximum performance"
msgstr "Performances théoriques maximales de Nginx"

#: src/constants/errors/system.ts:2
msgid "Nginx UI already installed"
msgstr "Nginx UI est déjà installé"

#: src/components/SystemRestore/SystemRestoreContent.vue:166
msgid "Nginx UI configuration has been restored"
msgstr "La configuration de Nginx UI a été restaurée"

#: src/components/SystemRestore/SystemRestoreContent.vue:368
msgid ""
"Nginx UI configuration has been restored and will restart automatically in "
"a few seconds."
msgstr ""
"La configuration de Nginx UI a été restaurée et redémarrera automatiquement "
"dans quelques secondes."

#: src/language/generate.ts:32
msgid "Nginx.conf includes conf.d directory"
msgstr "Nginx.conf inclut le répertoire conf.d"

#: src/language/generate.ts:33
msgid "Nginx.conf includes sites-enabled directory"
msgstr "Nginx.conf inclut le répertoire sites-enabled"

#: src/language/generate.ts:34
msgid "Nginx.conf includes streams-enabled directory"
msgstr "Nginx.conf inclut le répertoire streams-enabled"

#: src/components/LLM/ChatMessageInput.vue:61
#: src/components/NamespaceTabs/NamespaceTabs.vue:136
#: src/components/NamespaceTabs/NamespaceTabs.vue:148
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:124
#: src/components/NgxConfigEditor/LocationEditor.vue:101
#: src/components/Notification/Notification.vue:115 src/language/curd.ts:40
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:128
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:89 src/views/stream/StreamList.vue:99
msgid "No"
msgstr "Non"

#: src/components/NamespaceRender/NamespaceRender.vue:41
#: src/constants/index.ts:37
msgid "No Action"
msgstr "Aucune action"

#: src/constants/errors/cert.ts:25
msgid "No certificate available"
msgstr "Aucun certificat disponible"

#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:227
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:263
msgid "No China geographic data available"
msgstr "Aucune donnée géographique pour la Chine disponible"

#: src/composables/useGeoTranslation.ts:169
#: src/views/dashboard/NginxDashBoard.vue:202
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:157
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:125
msgid "No data"
msgstr "Aucune donnée"

#: src/views/upstream/SocketList.vue:41
msgid "No Data"
msgstr "Aucune donnée"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:372
#: src/views/site/site_edit/components/RightPanel/DNS.vue:666
msgid "No DNS domains available"
msgstr "Aucun domaine DNS disponible"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:827
msgid "No entries in current page"
msgstr "Aucune entrée dans la page actuelle"

#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:250
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:286
msgid "No geographic data available"
msgstr "Aucune donnée géographique disponible"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:567
msgid "No logs found in the selected time range."
msgstr "Aucun journal trouvé dans la plage de temps sélectionnée."

#: src/components/NamespaceRender/NamespaceRender.vue:55
msgid "No nodes selected"
msgstr "Aucun nœud sélectionné"

#: src/components/ConfigHistory/DiffViewer.vue:47
msgid "No records selected"
msgstr "Aucun enregistrement sélectionné"

#: src/components/NgxConfigEditor/NgxServer.vue:77
msgid "No servers configured"
msgstr "Aucun serveur configuré"

#: src/views/dashboard/SiteNavigation.vue:170
msgid "No sites found"
msgstr "Aucun site trouvé"

#: src/components/AutoCertForm/AutoCertForm.vue:136
msgid ""
"No specific IP address found in server_name configuration. Please specify "
"the server IP address below for the certificate."
msgstr ""
"Aucune adresse IP spécifique trouvée dans la configuration server_name. "
"Veuillez spécifier l'adresse IP du serveur ci-dessous pour le certificat."

#: src/views/nginx_log/structured/StructuredLogViewer.vue:836
msgid "No structured log data available"
msgstr "Aucune donnée de journal structurée disponible"

#: src/components/NgxConfigEditor/NgxUpstream.vue:103
msgid "No upstreams configured"
msgstr "Aucun amont configuré"

#: src/views/preference/Preference.vue:65
msgid "Node"
msgstr "Nœud"

#: src/constants/errors/analytic.ts:2
msgid "Node analytics failed: {0}"
msgstr "Analyse du nœud échouée : {0}"

#: src/views/preference/tabs/NodeSettings.vue:15
msgid "Node name"
msgstr "Nom du nœud"

#: src/views/preference/tabs/NodeSettings.vue:11
msgid "Node Secret"
msgstr "Secret du nœud"

#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:24
msgid "Node Status"
msgstr "État du nœud"

#: src/routes/modules/nodes.ts:11 src/views/dashboard/Nodes.vue:89
#: src/views/node/Node.vue:130
msgid "Nodes"
msgstr "Nœuds"

#: src/views/certificate/CertificateList/certColumns.tsx:86
msgid "Not After"
msgstr "Pas après"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:587
msgid "Not Expected Text"
msgstr "Texte non attendu"

#: src/routes/modules/error.ts:8
msgid "Not Found"
msgstr "Introuvable"

#: src/views/nginx_log/NginxLogList.vue:233
msgid "Not Indexed"
msgstr "Non indexé"

#: src/views/dashboard/components/ModulesTable.vue:80
#: src/views/dashboard/components/ModulesTable.vue:84
msgid "Not Loaded"
msgstr "Non chargé"

#: src/views/dns/DDNSManager.vue:140
msgid "Not run yet"
msgstr "Pas encore exécuté"

#: src/components/AutoCertForm/AutoCertForm.vue:230
msgid "Not supported for IP certificates"
msgstr "Non pris en charge pour les certificats IP"

#: src/components/CertInfo/CertInfo.vue:41
msgid "Not Valid Before: %{date}"
msgstr "Non valide avant : %{date}"

#: src/components/AutoCertForm/AutoCertForm.vue:150
#: src/views/dns/DNSCredential.vue:89
msgid "Note"
msgstr "Note"

#: src/views/site/site_edit/components/RightPanel/Basic.vue:66
#: src/views/stream/components/RightPanel/Basic.vue:61
msgid ""
"Note, if the configuration file include other configurations or "
"certificates, please synchronize them to the remote nodes in advance."
msgstr ""
"Notez que si le fichier de configuration inclut d'autres configurations ou "
"certificats, veuillez les synchroniser avec les nœuds distants à l'avance."

#: src/views/dashboard/components/SiteHealthCheckModal.vue:603
msgid ""
"Note: If the server does not support gRPC Reflection, health checks may "
"fail. Please ensure your gRPC server has Reflection enabled."
msgstr ""
"Remarque : Si le serveur ne prend pas en charge la réflexion gRPC, les "
"vérifications de santé peuvent échouer. Assurez-vous que votre serveur gRPC "
"a la réflexion activée."

#: src/views/certificate/components/CertificateBasicInfo.vue:24
#: src/views/certificate/components/CertificateContentEditor.vue:105
msgid "Nothing to copy"
msgstr "Rien à copier"

#: src/views/notification/Notification.vue:28
msgid "Notification"
msgstr "Notification"

#: src/components/Notification/Notification.vue:113
#: src/routes/modules/notifications.ts:10
msgid "Notifications"
msgstr "Notifications"

#: src/constants/errors/notification.ts:2
msgid "Notifier not found"
msgstr "Notificateur introuvable"

#: src/views/preference/components/ExternalNotify/ntfy.ts:5
msgid "Ntfy"
msgstr "Ntfy"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26
msgid "Number of concurrent worker processes, auto sets to CPU core count"
msgstr ""
"Nombre de processus de travail concurrents, réglage automatique selon le "
"nombre de cœurs du CPU"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:314
msgid "Number of files processed by cache loader at once"
msgstr "Nombre de fichiers traités par le chargeur de cache en une fois"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:252
msgid "Number of files processed by cache manager at once"
msgstr "Nombre de fichiers traités par le gestionnaire de cache à la fois"

#: src/composables/usePerformanceMetrics.ts:129
#: src/composables/usePerformanceMetrics.ts:169
#: src/views/dashboard/components/PerformanceTablesCard.vue:121
#: src/views/dashboard/components/PerformanceTablesCard.vue:85
msgid "Number of worker processes"
msgstr "Nombre de processus de travail"

#: src/constants/errors/cert.ts:23
msgid "Obtain cert error: {0}"
msgstr "Erreur lors de l'obtention du certificat : {0}"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:229
msgid "Obtain certificate"
msgstr "Obtenir un certificat"

#: src/language/constants.ts:15
msgid "Obtaining certificate"
msgstr "Obtention du certificat"

#: src/components/AutoCertForm/AutoCertForm.vue:258
msgid "OCSP Must Staple"
msgstr "OCSP Must Staple"

#: src/components/AutoCertForm/AutoCertForm.vue:262
msgid ""
"OCSP Must Staple may cause errors for some users on first access using "
"Firefox."
msgstr ""
"OCSP Must Staple peut provoquer des erreurs pour certains utilisateurs lors "
"de leur premier accès avec Firefox."

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164
msgid "Off"
msgstr "Désactivé"

#: src/views/system/About.vue:31
msgid "Official Document"
msgstr "Documentation officielle"

#: src/components/NamespaceTabs/NamespaceTabs.vue:164
#: src/components/NodeCard/NodeCard.vue:51
#: src/components/NodeSelector/NodeSelector.vue:85
#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:48
#: src/views/dashboard/Nodes.vue:117 src/views/node/nodeColumns.tsx:55
#: src/views/upstream/SocketList.vue:45
msgid "Offline"
msgstr "Hors ligne"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:248
msgid "Offline GeoIP analysis"
msgstr "Analyse GeoIP hors ligne"

#: src/views/other/Login.vue:331
msgid "OIDC Login"
msgstr "Connexion OIDC"

#: src/components/LLM/ChatMessageInput.vue:62
#: src/components/NgxConfigEditor/NgxServer.vue:60
#: src/components/NgxConfigEditor/NgxUpstream.vue:31
#: src/components/Notification/Notification.vue:116 src/language/curd.ts:15
#: src/views/backup/components/BackupCreator.vue:149
#: src/views/notification/Notification.vue:39
#: src/views/site/components/SiteStatusSelect.vue:123
#: src/views/site/site_edit/components/Cert/IssueCert.vue:52
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:183
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:90
#: src/views/stream/components/StreamStatusSelect.vue:61
#: src/views/stream/StreamList.vue:100
msgid "OK"
msgstr "OK"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:163
msgid "On"
msgstr "Activé"

#: src/components/NamespaceTabs/NamespaceTabs.vue:164
#: src/components/NodeCard/NodeCard.vue:51
#: src/components/NodeSelector/NodeSelector.vue:65
#: src/components/NodeSelector/NodeSelector.vue:79
#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:48
#: src/views/dashboard/Nodes.vue:110 src/views/node/nodeColumns.tsx:51
#: src/views/upstream/SocketList.vue:45
msgid "Online"
msgstr "En ligne"

#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:32
msgid "Online Count"
msgstr "Nombre en ligne"

#: src/components/SystemRestore/SystemRestoreContent.vue:204
#: src/components/SystemRestore/SystemRestoreContent.vue:287
msgid ""
"Only backups created by versions that support signed manifests can be "
"restored. Legacy backups are no longer supported."
msgstr ""
"Seules les sauvegardes créées par des versions prenant en charge les "
"manifestes signés peuvent être restaurées. Les sauvegardes héritées ne sont "
"plus prises en charge."

#: src/components/SystemRestore/SystemRestoreContent.vue:83
msgid "Only zip files are allowed"
msgstr "Seuls les fichiers ZIP sont autorisés"

#: src/components/PortScanner/PortScannerCompact.vue:44
msgid "Open"
msgstr "Ouvert"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:285
msgid "Open Source Limitation"
msgstr "Limitation du logiciel libre"

#: src/views/preference/Preference.vue:101
msgid "OpenAI"
msgstr "OpenAI"

#: src/views/nginx_log/dashboard/components/OSStatsTable.vue:13
msgid "Operating System"
msgstr "Système d'exploitation"

#: src/views/nginx_log/dashboard/components/OSStatsTable.vue:36
msgid "Operating System Statistics"
msgstr "Statistiques du système d'exploitation"

#: src/views/dns/components/DNSRecordForm.vue:94
msgid "Optional comment for this DNS record"
msgstr "Commentaire facultatif pour cet enregistrement DNS"

#: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:365
msgid "Or"
msgstr "Ou"

#: src/views/certificate/components/CertificateFileUpload.vue:147
msgid "or drag file to editor below"
msgstr "ou glissez-déposez le fichier dans l'éditeur ci-dessous"

#: src/views/preference/components/AuthSettings/TOTP.vue:114
msgid "Or enter the secret: %{secret}"
msgstr "Ou entrez le secret : %{secret}"

#: src/views/dashboard/SiteNavigation.vue:104
msgid "Order saved successfully"
msgstr "Ordre enregistré avec succès"

#: src/views/config/components/Rename.vue:70
msgid "Original name"
msgstr "Nom d'origine"

#: src/views/nginx_log/structured/components/SearchFilters.vue:153
#: src/views/nginx_log/structured/StructuredLogViewer.vue:273
#: src/views/nginx_log/structured/StructuredLogViewer.vue:524
#: src/views/system/Upgrade.vue:194
msgid "OS"
msgstr "OS"

#: src/views/dashboard/ServerAnalytic.vue:194
msgid "OS:"
msgstr "OS :"

#: src/composables/usePerformanceMetrics.ts:144
#: src/views/dashboard/components/PerformanceTablesCard.vue:100
msgid "Other Nginx processes"
msgstr "Autres processus Nginx"

#: src/composables/usePerformanceMetrics.ts:58
#: src/views/dashboard/components/ProcessDistributionCard.vue:15
msgid "Other Processes"
msgstr "Autres processus"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
msgid "Others"
msgstr "Autres"

#: src/constants/errors/user.ts:9
msgid "Otp or recovery code empty"
msgstr "Code OTP ou de récupération vide"

#: src/views/config/components/ConfigRightPanel/Deploy.vue:18
msgid "Overwrite"
msgstr "Remplacer"

#: src/views/config/components/ConfigRightPanel/Deploy.vue:22
msgid "Overwrite exist file"
msgstr "Écraser le fichier existant"

#: src/views/preference/tabs/AppSettings.vue:14
msgid "Page Size"
msgstr "Taille de page"

#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:77
msgid "Params"
msgstr "Paramètres"

#: src/views/dashboard/components/ParamsOptimization.vue:110
#: src/views/dashboard/components/ParamsOptimization.vue:116
msgid "Params Optimization"
msgstr "Optimisation des paramètres"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:73
msgid "Parser Performance"
msgstr "Performance de l'analyseur"

#: src/views/preference/components/AuthSettings/Passkey.vue:60
msgid "Passkey"
msgstr "Clé d'accès"

#: src/views/preference/components/AuthSettings/Passkey.vue:63
msgid ""
"Passkeys are webauthn credentials that validate your identity using touch, "
"facial recognition, a device password, or a PIN. They can be used as a "
"password replacement or as a 2FA method."
msgstr ""
"Les passkeys sont des identifiants WebAuthn qui valident votre identité en "
"utilisant le toucher, la reconnaissance faciale, un mot de passe d'appareil "
"ou un code PIN. Elles peuvent être utilisées comme remplacement d'un mot de "
"passe ou comme méthode d'authentification à deux facteurs (2FA)."

#: src/views/other/Login.vue:308 src/views/user/userColumns.tsx:16
msgid "Password"
msgstr "Mot de passe"

#: src/views/install/components/InstallForm.vue:105
msgid "Password (*)"
msgstr "Mot de passe (*)"

#: src/constants/errors/user.ts:2
msgid "Password incorrect"
msgstr "Mot de passe incorrect"

#: src/views/install/components/InstallForm.vue:49
msgid "Password length cannot exceed 20 characters"
msgstr "La longueur du mot de passe ne peut pas dépasser 20 caractères"

#: src/views/user/UserProfile.vue:96
msgid "Password updated successfully"
msgstr "Mot de passe mis à jour avec succès"

#: src/views/user/UserProfile.vue:75
msgid "Passwords do not match"
msgstr "Les mots de passe ne correspondent pas"

#: src/components/NgxConfigEditor/LocationEditor.vue:122
#: src/components/NgxConfigEditor/LocationEditor.vue:150
#: src/language/curd.ts:61
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/dashboard/components/SiteHealthCheckModal.vue:527
#: src/views/nginx_log/NginxLogList.vue:164
#: src/views/nginx_log/structured/StructuredLogViewer.vue:520
msgid "Path"
msgstr "Chemin"

#: src/constants/errors/backup.ts:72
msgid "Path not in granted access paths: {0}"
msgstr "Le chemin n'est pas dans les chemins d'accès accordés : {0}"

#: src/constants/errors/cert.ts:7 src/constants/errors/config.ts:6
msgid "Path: {0} is not under the nginx conf dir: {1}"
msgstr ""
"Le chemin : {0} ne se trouve pas dans le répertoire de configuration nginx "
": {1}"

#: src/constants/errors/cert.ts:6
msgid "Payload resource is nil"
msgstr "La ressource de charge utile est nulle"

#: src/views/nginx_log/dashboard/components/SummaryStats.vue:42
msgid "Peak Hour"
msgstr "Heure de pointe"

#: src/views/backup/AutoBackup/AutoBackup.vue:194
#: src/views/backup/AutoBackup/AutoBackup.vue:219
msgid "Pending"
msgstr "En attente"

#: src/composables/useGeoTranslation.ts:168
#: src/views/nginx_log/dashboard/components/BrowserStatsTable.vue:26
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:152
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:72
#: src/views/nginx_log/dashboard/components/DeviceStatsTable.vue:25
#: src/views/nginx_log/dashboard/components/OSStatsTable.vue:26
#: src/views/nginx_log/dashboard/components/TopUrlsTable.vue:27
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:117
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:220
msgid "Percentage"
msgstr "Pourcentage"

#: src/views/node/BatchUpgrader.vue:246
msgid "Perform"
msgstr "Exécuter"

#: src/language/constants.ts:29
msgid "Perform core upgrade error"
msgstr "Erreur lors de la mise a niveau du core"

#: src/views/dashboard/components/ParamsOptimization.vue:122
msgid "Performance"
msgstr "Performance"

#: src/views/dashboard/NginxDashBoard.vue:207
msgid "Performance Metrics"
msgstr "Métriques de performance"

#: src/views/dashboard/components/ParamsOptimization.vue:87
msgid "Performance settings saved successfully"
msgstr "Paramètres de performance enregistrés avec succès"

#: src/language/constants.ts:28
msgid "Performing core upgrade"
msgstr "Exécution de la mise à niveau du core"

#: src/views/user/UserProfile.vue:121
msgid "Personal Information"
msgstr "Informations personnelles"

#: src/constants/errors/self_check.ts:19
msgid "PID path not exist"
msgstr "Le chemin du PID n'existe pas"

#: src/constants/errors/crypto.ts:2
msgid "Plain text is empty"
msgstr "Le texte en clair est vide"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:373
#: src/views/site/site_edit/components/RightPanel/DNS.vue:667
msgid "Please add a DNS domain first in the DNS management section."
msgstr "Veuillez d'abord ajouter un domaine DNS dans la section de gestion DNS"

#: src/views/install/components/InstallView.vue:133
msgid "Please complete the system check first"
msgstr "Veuillez d'abord effectuer la vérification du système"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:446
msgid ""
"Please configure server_name directive in the configuration before linking "
"DNS records."
msgstr ""
"Veuillez configurer la directive server_name dans la configuration avant de "
"lier les enregistrements DNS."

#: src/views/dashboard/NginxDashBoard.vue:196
msgid ""
"Please enable the stub_status module to get request statistics, connection "
"count, etc."
msgstr ""
"Veuillez activer le module stub_status pour obtenir des statistiques de "
"requêtes, le nombre de connexions, etc."

#: src/language/curd.ts:67
msgid "Please enter"
msgstr "Veuillez saisir"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:75
msgid ""
"Please enter a name for the passkey you wish to create and click the OK "
"button below."
msgstr ""
"Veuillez entrer un nom pour la clé d'accès que vous souhaitez créer et "
"cliquer sur le bouton OK ci-dessous."

#: src/components/AutoCertForm/AutoCertForm.vue:98
msgid "Please enter a valid IPv4 address (0-255 per octet)"
msgstr "Veuillez entrer une adresse IPv4 valide (0-255 par octet)"

#: src/components/AutoCertForm/AutoCertForm.vue:109
msgid "Please enter a valid IPv4 or IPv6 address"
msgstr "Veuillez entrer une adresse IPv4 ou IPv6 valide"

#: src/components/PortScanner/PortScannerCompact.vue:85
msgid "Please enter a valid port range"
msgstr "Veuillez entrer une plage de ports valide"

#: src/views/certificate/components/DNSIssueCertificate.vue:77
msgid "Please enter at least one domain"
msgstr "Veuillez saisir au moins un domaine"

#: src/views/install/components/InstallView.vue:121
msgid "Please enter the install secret before continuing"
msgstr "Veuillez entrer le secret d'installation avant de continuer"

#: src/components/TwoFA/Authorization.vue:85
msgid "Please enter the OTP code:"
msgstr "Veuillez entrer le code OTP :"

#: src/components/SystemRestore/SystemRestoreContent.vue:117
msgid "Please enter the security token"
msgstr "Veuillez saisir le jeton de sécurité"

#: src/components/SystemRestore/SystemRestoreContent.vue:236
#: src/components/SystemRestore/SystemRestoreContent.vue:319
msgid "Please enter the security token received during backup"
msgstr "Veuillez saisir le jeton de sécurité reçu lors de la sauvegarde"

#: src/components/AutoCertForm/AutoCertForm.vue:80
msgid "Please enter the server IP address"
msgstr "Veuillez entrer l'adresse IP du serveur"

#: src/language/curd.ts:24
msgid "Please fill all fields correctly"
msgstr "Veuillez remplir tous les champs correctement"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:193
#: src/views/site/site_edit/components/RightPanel/DNS.vue:320
msgid "Please fill in all required fields"
msgstr "Veuillez remplir tous les champs obligatoires"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:23
msgid "Please fill in required S3 configuration fields"
msgstr "Veuillez remplir les champs de configuration S3 requis"

#: src/views/dns/DNSCredential.vue:93
msgid ""
"Please fill in the API authentication credentials provided by your DNS "
"provider."
msgstr ""
"Veuillez remplir les informations d'authentification API fournies par votre "
"fournisseur DNS."

#: src/components/AutoCertForm/AutoCertForm.vue:168
msgid ""
"Please first add credentials in Certification > DNS Credentials, and then "
"select one of the credentialsbelow to request the API of the DNS provider."
msgstr ""
"Veuillez d'abord ajouter des identifiants dans Certification > Identifiants "
"DNS, puis sélectionner l'un des identifiants ci-dessous pour demander l'API "
"du fournisseur DNS."

#: src/components/Notification/notifications.ts:202
#: src/language/constants.ts:59
msgid ""
"Please generate new recovery codes in the preferences immediately to "
"prevent lockout."
msgstr ""
"Veuillez générer immédiatement de nouveaux codes de récupération dans les "
"préférences pour éviter un verrouillage."

#: src/views/config/components/ConfigRightPanel/Basic.vue:27
#: src/views/config/components/Rename.vue:65
msgid "Please input a filename"
msgstr "Veuillez renseigner un nom de fichier"

#: src/views/config/components/Mkdir.vue:56
msgid "Please input a folder name"
msgstr "Veuillez renseigner un nom de répertoire"

#: src/views/stream/components/StreamDuplicate.vue:25
msgid ""
"Please input name, this will be used as the filename of the new "
"configuration!"
msgstr ""
"Veuillez entrer le nom, il sera utilisé comme nom de fichier de la nouvelle "
"configuration !"

#: src/views/site/site_list/SiteDuplicate.vue:33
msgid ""
"Please input name, this will be used as the filename of the new "
"configuration."
msgstr ""
"Veuillez entrer le nom, il sera utilisé comme nom de fichier de la nouvelle "
"configuration."

#: src/views/install/components/InstallForm.vue:29
msgid "Please input your E-mail!"
msgstr "Veuillez saisir votre e-mail !"

#: src/views/install/components/InstallForm.vue:45 src/views/other/Login.vue:80
msgid "Please input your password!"
msgstr "Veuillez saisir votre mot de passe !"

#: src/views/install/components/InstallForm.vue:35 src/views/other/Login.vue:74
msgid "Please input your username!"
msgstr "Veuillez saisir votre nom d'utilisateur !"

#: src/views/backup/components/SystemRestore.vue:9
#: src/views/install/components/InstallView.vue:60
msgid "Please log in."
msgstr "Veuillez vous connecter."

#: src/views/dns/DNSCredential.vue:96
msgid "Please note that the unit of time configurations below are all in seconds."
msgstr ""
"Veuillez noter que les unités de temps des configurations ci-dessous sont "
"toutes en secondes."

#: src/views/install/components/InstallView.vue:136
msgid "Please resolve all issues before proceeding with installation"
msgstr "Veuillez résoudre tous les problèmes avant de procéder à l'installation"

#: src/views/backup/components/BackupCreator.vue:107
msgid "Please save this security token, you will need it for restoration:"
msgstr ""
"Veuillez enregistrer ce jeton de sécurité, vous en aurez besoin pour la "
"restauration :"

#: src/components/SystemRestore/SystemRestoreContent.vue:112
msgid "Please select a backup file"
msgstr "Veuillez sélectionner un fichier de sauvegarde"

#: src/views/site/site_edit/components/SiteEditor/store.ts:144
msgid "Please select a certificate before saving the TLS server configuration."
msgstr ""
"Veuillez sélectionner un certificat avant d'enregistrer la configuration du "
"serveur TLS."

#: src/views/preference/components/ExternalNotify/ExternalNotifyEditor.vue:42
msgid "Please select a notification type"
msgstr "Veuillez sélectionner un type de notification"

#: src/views/certificate/components/CertificateFileUpload.vue:46
msgid "Please select a valid %{type} file (%{extensions})"
msgstr "Veuillez sélectionner un fichier %{type} valide (%{extensions})"

#: src/language/curd.ts:33
msgid "Please select at least one item"
msgstr "Veuillez sélectionner au moins un élément"

#: src/views/node/Node.vue:200 src/views/node/Node.vue:82
msgid "Please select at least one node to reload Nginx"
msgstr "Veuillez sélectionner au moins un nœud pour recharger Nginx"

#: src/views/node/Node.vue:221 src/views/node/Node.vue:96
msgid "Please select at least one node to restart Nginx"
msgstr "Veuillez sélectionner au moins un nœud pour redémarrer Nginx"

#: src/views/node/Node.vue:179
msgid "Please select at least one node to upgrade"
msgstr "Veuillez sélectionner au moins un nœud à mettre à niveau"

#: src/views/certificate/components/RemoveCert.vue:37
msgid "Please type \"Revoke\" to confirm"
msgstr "Veuillez taper \"Révoquer\" pour confirmer"

#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "Veuillez saisir le texte de confirmation exact"

#: src/views/install/components/InstallView.vue:129
msgid "Please verify the install secret before continuing"
msgstr "Veuillez vérifier le secret d'installation avant de continuer"

#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
msgstr "Port"

#: src/components/AutoCertForm/AutoCertForm.vue:199
msgid "Port 80 must be open for HTTP-01 challenge validation"
msgstr "Le port 80 doit être ouvert pour la validation du défi HTTP-01"

#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:60
#: src/views/stream/components/RightPanel/RightPanel.vue:37
msgid "Port Scanner"
msgstr "Scanner de ports"

#: src/components/NamespaceRender/NamespaceRender.vue:38
#: src/views/namespace/columns.ts:46
msgid "Post-sync Action"
msgstr "Action post-synchronisation"

#: src/views/node/BatchUpgrader.vue:169 src/views/node/BatchUpgrader.vue:225
#: src/views/system/Upgrade.vue:213 src/views/system/Upgrade.vue:267
msgid "Pre-release"
msgstr "Pré-version"

#: src/routes/modules/preference.ts:10 src/views/preference/Preference.vue:42
msgid "Preference"
msgstr "Préférence"

#: src/language/constants.ts:8
msgid "Preparing lego configurations"
msgstr "Préparation des configurations Lego"

#: src/views/dns/components/DNSRecordForm.vue:82
#: src/views/dns/components/DNSRecordTable.vue:34
msgid "Priority"
msgstr "Priorité"

#: src/components/AutoCertForm/AutoCertForm.vue:206
msgid "Private CA:"
msgstr "CA privée :"

#: src/components/AutoCertForm/AutoCertForm.vue:202
msgid "Private IPs (192.168.x.x, 10.x.x.x, 172.16-31.x.x) will fail"
msgstr "Les IP privées (192.168.x.x, 10.x.x.x, 172.16-31.x.x) échoueront"

#: src/views/certificate/components/CertificateFileUpload.vue:121
#: src/views/certificate/components/CertificateFileUpload.vue:45
msgid "private key"
msgstr "clé privée"

#: src/components/PortScanner/PortScannerCompact.vue:55
msgid "Process"
msgstr "Processus"

#: src/views/dashboard/components/ProcessDistributionCard.vue:26
msgid "Process Distribution"
msgstr "Répartition des processus"

#: src/views/dashboard/components/PerformanceTablesCard.vue:155
msgid "Process information"
msgstr "Informations sur le processus"

#: src/language/curd.ts:60
msgid "Processing {count}/{total}"
msgstr "Traitement en cours {count}/{total}"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:68
msgid "Production Pipeline"
msgstr "Pipeline de production"

#: src/language/constants.ts:3
msgid "Prohibit changing root password in demo"
msgstr "Interdire la modification du mot de passe root dans la démo"

#: src/language/constants.ts:4
msgid "Prohibit deleting the default user"
msgstr "Interdire la suppression de l'utilisateur par défaut"

#: src/views/system/About.vue:71
msgid "Project Team"
msgstr "Groupe de projet"

#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "Répertoire protégé"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:485
msgid "Protocol"
msgstr "Protocole"

#: src/views/preference/tabs/ServerSettings.vue:47
msgid ""
"Protocol configuration only takes effect when directly connecting. If using "
"reverse proxy, please configure the protocol separately in the reverse "
"proxy."
msgstr ""
"La configuration du protocole ne prend effet que lors d'une connexion "
"directe. Si vous utilisez un proxy inverse, veuillez configurer le "
"protocole séparément dans le proxy inverse."

#: src/views/dns/DDNSManager.vue:108 src/views/dns/DNSCredential.vue:26
#: src/views/dns/DNSDomainList.vue:183 src/views/dns/DNSDomainList.vue:204
msgid "Provider"
msgstr "Fournisseur"

#: src/constants/errors/cert.ts:13
msgid "Provider not found: {0}"
msgstr "Fournisseur introuvable : {0}"

#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:59
msgid "Province / Region"
msgstr "Province / Région"

#: src/views/dns/components/DNSRecordForm.vue:88
#: src/views/dns/components/DNSRecordTable.vue:64
#: src/views/dns/components/DNSRecordTable.vue:94
#: src/views/site/site_add/components/DNSRecordIntegration.vue:296
#: src/views/site/site_edit/components/RightPanel/DNS.vue:475
#: src/views/site/site_edit/components/RightPanel/DNS.vue:590
msgid "Proxied"
msgstr "Proxifié"

#: src/views/certificate/ACMEUser.vue:63
msgid "Proxy"
msgstr "Proxy"

#: src/composables/useUpstreamStatus.ts:122
msgid "Proxy Pass"
msgstr "Passe de Proxy"

#: src/views/site/site_list/columns.tsx:78 src/views/stream/columns.tsx:46
msgid "Proxy Targets"
msgstr "Cibles du proxy"

#: src/components/AutoCertForm/AutoCertForm.vue:192
msgid "Public CA Requirements:"
msgstr "Exigences de l'AC publique :"

#: src/views/preference/tabs/NodeSettings.vue:46
msgid "Public Security Number"
msgstr "Numéro de sécurité publique"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:769
msgid "PV"
msgstr "Pages vues"

#: src/views/nginx_log/NginxLogList.vue:214
#: src/views/nginx_log/NginxLogList.vue:215
#: src/views/nginx_log/NginxLogList.vue:237
msgid "Queued"
msgstr "En file d'attente"

#: src/views/nginx_log/components/LoadingState.vue:48
msgid "Queued for indexing..."
msgstr "En attente d'indexation..."

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:51
#: src/views/nginx_log/structured/StructuredLogViewer.vue:708
msgid "Quick Select"
msgstr "Sélection rapide"

#: src/views/nginx_log/NginxLog.vue:94
msgid "Raw"
msgstr "Brut"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:196
msgid "Re-download Database"
msgstr "Ré-télécharger la base de données"

#: src/constants/errors/site.ts:8 src/constants/errors/stream.ts:7
msgid "Read dir failed: {0}"
msgstr "Échec de la lecture du répertoire : {0}"

#: src/composables/usePerformanceMetrics.ts:104
#: src/views/dashboard/components/PerformanceTablesCard.vue:64
msgid "Read requests"
msgstr "Requêtes de lecture"

#: src/views/dashboard/ServerAnalytic.vue:37
#: src/views/dashboard/ServerAnalytic.vue:391
msgid "Reads"
msgstr "Lectures"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:244
msgid "Real-time analytics dashboard"
msgstr "Tableau de bord d'analyse en temps réel"

#: src/views/nginx_log/NginxLogList.vue:501
msgid "Rebuild"
msgstr "Reconstruire"

#: src/views/nginx_log/indexing/IndexManagement.vue:94
msgid "Rebuild All Index"
msgstr "Reconstruire tous les index"

#: src/views/nginx_log/indexing/IndexManagement.vue:55
msgid "Rebuild File Index"
msgstr "Reconstruire l'index du fichier"

#: src/views/nginx_log/indexing/IndexManagement.vue:29
msgid "Rebuild Index"
msgstr "Reconstruire l'index"

#: src/views/dashboard/ServerAnalytic.vue:342
#: src/views/dashboard/ServerAnalytic.vue:35
msgid "Receive"
msgstr "Réception"

#: src/components/SelfCheck/SelfCheck.vue:64
msgid "Recheck"
msgstr "Vérifier à nouveau"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:150
msgid "Recommended:"
msgstr "Recommandé :"

#: src/views/dns/DNSRecordManager.vue:118
msgid "Record created"
msgstr "Enregistrement créé"

#: src/views/dns/DNSRecordManager.vue:125
msgid "Record deleted"
msgstr "Enregistrement supprimé"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:325
#: src/views/site/site_edit/components/RightPanel/DNS.vue:619
msgid "Record Name"
msgstr "Nom de l'enregistrement"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:311
#: src/views/site/site_edit/components/RightPanel/DNS.vue:605
msgid "Record Type"
msgstr "Type d'enregistrement"

#: src/views/dns/DNSRecordManager.vue:114
msgid "Record updated"
msgstr "Enregistrement mis à jour"

#: src/views/dns/DDNSManager.vue:311
msgid "Records"
msgstr "Enregistrements"

#: src/components/TwoFA/Authorization.vue:79
msgid "Recovery"
msgstr "Récupération"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:69
msgid "Recovery Codes"
msgstr "Codes de récupération"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:74
msgid ""
"Recovery codes are used to access your account when you lose access to your "
"2FA device. Each code can only be used once."
msgstr ""
"Les codes de récupération sont utilisés pour accéder à votre compte lorsque "
"vous perdez l'accès à votre appareil 2FA. Chaque code ne peut être utilisé "
"qu'une seule fois."

#: src/views/site/site_edit/components/RightPanel/DNS.vue:535
msgid "Recreate DNS Record"
msgstr "Recréer l'enregistrement DNS"

#: src/views/preference/tabs/CertSettings.vue:40
msgid "Recursive Nameservers"
msgstr "Serveurs de noms récursifs"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:100
msgid "Redirection Messages (3xx)"
msgstr "Messages de redirection (3xx)"

#: src/views/nginx_log/structured/components/SearchFilters.vue:185
#: src/views/nginx_log/structured/StructuredLogViewer.vue:299
msgid "Referer"
msgstr "Référent"

#: src/language/curd.ts:70 src/views/dns/DDNSManager.vue:231
#: src/views/dns/DNSRecordManager.vue:170
msgid "Refresh"
msgstr "Actualiser"

#: src/views/dashboard/components/ModulesTable.vue:114
msgid "Refresh Modules Cache"
msgstr "Actualiser le cache des modules"

#: src/components/LLM/ChatMessageInput.vue:74
msgid "Regenerate response"
msgstr "Régénérer la réponse"

#: src/views/certificate/ACMEUser.vue:174
msgid "Register"
msgstr "S'inscrire"

#: src/views/certificate/ACMEUser.vue:68
msgid ""
"Register a user or use this account to issue a certificate through an HTTP "
"proxy."
msgstr ""
"Enregistrez un utilisateur ou utilisez ce compte pour émettre un certificat "
"via un proxy HTTP."

#: src/views/certificate/ACMEUser.vue:142
msgid "Register failed"
msgstr "Échec de l'enregistrement"

#: src/views/certificate/ACMEUser.vue:113
msgid "Register On Startup"
msgstr "Enregistrer au démarrage"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:27
msgid "Register passkey successfully"
msgstr "Clé d'accès enregistrée avec succès"

#: src/views/certificate/ACMEUser.vue:140
msgid "Register successfully"
msgstr "Inscription réussie"

#: src/language/constants.ts:14
msgid "Registering user"
msgstr "Enregistrement de l'utilisateur"

#: src/views/certificate/ACMEUser.vue:157
msgid "Registration Status"
msgstr "Statut d'enregistrement"

#: src/views/system/Upgrade.vue:152
msgid "Reinstall"
msgstr "Réinstaller"

#: src/constants/errors/version.ts:3
msgid "Release API request failed: {0}"
msgstr "Échec de la requête API de publication: {0}"

#: src/views/system/Upgrade.vue:271
msgid "Release Note"
msgstr "Note de version"

#: src/components/LLM/ChatMessage.vue:251
#: src/components/NginxControl/NginxControl.vue:103
msgid "Reload"
msgstr "Recharger"

#: src/components/NamespaceRender/NamespaceRender.vue:44
#: src/components/NamespaceTabs/NamespaceTabs.vue:141 src/constants/index.ts:38
#: src/views/node/Node.vue:208 src/views/node/Node.vue:216
msgid "Reload Nginx"
msgstr "Recharger nginx"

#: src/constants/errors/nginx.ts:4
msgid "Reload nginx failed: {0}"
msgstr "Échec du rechargement de nginx : {0}"

#: src/components/Notification/notifications.ts:10
msgid "Reload Nginx on %{node} failed, response: %{resp}"
msgstr "Rechargement de Nginx sur %{node} a échoué, réponse : %{resp}"

#: src/components/Notification/notifications.ts:14
msgid "Reload Nginx on %{node} successfully"
msgstr "Rechargement de Nginx sur %{node} réussi"

#: src/components/Notification/notifications.ts:9
msgid "Reload Remote Nginx Error"
msgstr "Erreur de rechargement de Nginx distant"

#: src/components/Notification/notifications.ts:13
msgid "Reload Remote Nginx Success"
msgstr "Rechargement distant de Nginx réussi"

#: src/components/NamespaceTabs/NamespaceTabs.vue:85
msgid "Reload request failed, please check your network connection"
msgstr ""
"La demande de rechargement a échoué, veuillez vérifier votre connexion "
"réseau"

#: src/components/NginxControl/NginxControl.vue:77
msgid "Reloading"
msgstr "Rechargement"

#: src/language/constants.ts:18
msgid "Reloading nginx"
msgstr "Rechargement de nginx"

#: src/constants/index.ts:43 src/constants/index.ts:49
msgid "Remote"
msgstr "Distant"

#: src/views/certificate/components/DNSIssueCertificate.vue:147
#: src/views/preference/tabs/AuthSettings.vue:133
msgid "Remove"
msgstr "Supprimer"

#: src/views/preference/components/AuthSettings/Passkey.vue:47
#: src/views/preference/tabs/AuthSettings.vue:48
msgid "Remove successfully"
msgstr "Suppression réussie"

#: src/components/Notification/Notification.vue:84
msgid "Removed successfully"
msgstr "Supprimé avec succès"

#: src/components/LLM/LLMSessionTabs.vue:283
#: src/components/LLM/LLMSessionTabs.vue:374
#: src/components/NgxConfigEditor/NgxUpstream.vue:75
#: src/views/config/components/ConfigName.vue:50
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
msgstr "Renommer"

#: src/components/Notification/notifications.ts:86
msgid "Rename %{orig_path} to %{new_path} on %{node_name} failed"
msgstr "Échec du renommage de %{orig_path} en %{new_path} sur %{node_name}"

#: src/components/Notification/notifications.ts:90
msgid "Rename %{orig_path} to %{new_path} on %{node_name} successfully"
msgstr "Renommage de %{orig_path} en %{new_path} sur %{node_name} réussi"

#: src/components/Notification/notifications.ts:85 src/language/constants.ts:42
msgid "Rename Remote Config Error"
msgstr "Erreur lors du renommage de la configuration distante"

#: src/components/Notification/notifications.ts:89 src/language/constants.ts:41
msgid "Rename Remote Config Success"
msgstr "Renommage de la configuration distante réussi"

#: src/components/Notification/notifications.ts:145
#: src/language/constants.ts:56
msgid "Rename Remote Site Error"
msgstr "Erreur de renommage du site distant"

#: src/components/Notification/notifications.ts:149
#: src/language/constants.ts:55
msgid "Rename Remote Site Success"
msgstr "Renommage du site distant réussi"

#: src/components/Notification/notifications.ts:185
msgid "Rename Remote Stream Error"
msgstr "Erreur de renommage du flux distant"

#: src/components/Notification/notifications.ts:189
msgid "Rename Remote Stream Success"
msgstr "Renommage du flux distant réussi"

#: src/components/Notification/notifications.ts:146
msgid "Rename site %{name} to %{new_name} on %{node} failed"
msgstr "Échec du renommage du site %{name} en %{new_name} sur %{node}"

#: src/components/Notification/notifications.ts:150
msgid "Rename site %{name} to %{new_name} on %{node} successfully"
msgstr "Le site %{name} a été renommé en %{new_name} sur %{node} avec succès"

#: src/components/Notification/notifications.ts:186
msgid "Rename stream %{name} to %{new_name} on %{node} failed"
msgstr "Échec du renommage du flux %{name} en %{new_name} sur %{node}"

#: src/components/Notification/notifications.ts:190
msgid "Rename stream %{name} to %{new_name} on %{node} successfully"
msgstr "Flux %{name} renommé en %{new_name} sur %{node} avec succès"

#: src/views/config/components/Rename.vue:43
msgid "Rename successfully"
msgstr "Renommage réussi"

#: src/views/config/components/ConfigName.vue:28
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:27
#: src/views/stream/components/ConfigName.vue:27
msgid "Renamed successfully"
msgstr "Renommé avec succès"

#: src/constants/errors/cert.ts:19
msgid "Renew cert error: {0}"
msgstr "Erreur de renouvellement du certificat : {0}"

#: src/views/certificate/components/RenewCert.vue:51
#: src/views/certificate/components/RenewCert.vue:58
msgid "Renew Certificate"
msgstr "Renouveler le certificat"

#: src/components/Notification/notifications.ts:45 src/language/constants.ts:36
msgid "Renew Certificate Error"
msgstr "Erreur de renouvellement du certificat"

#: src/components/Notification/notifications.ts:41 src/language/constants.ts:35
msgid "Renew Certificate Success"
msgstr "Renouvellement du certificat réussi"

#: src/views/certificate/components/DNSIssueCertificate.vue:87
#: src/views/certificate/components/RenewCert.vue:33
msgid "Renew successfully"
msgstr "Renouvellement réussi"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:218
msgid "Request"
msgstr "Requête"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:553
msgid "Request Body"
msgstr "Corps de la requête"

#: src/views/nginx_log/structured/components/SearchFilters.vue:122
msgid "Request Path"
msgstr "Chemin de la requête"

#: src/views/dashboard/components/PerformanceTablesCard.vue:142
msgid "Request statistics"
msgstr "Statistiques des requêtes"

#: src/constants/errors/crypto.ts:4
msgid "Request timeout"
msgstr "Délai de requête dépassé"

#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
msgid "Requested with wrong parameters"
msgstr "Demandé avec des paramètres incorrects"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
msgid "Requests Per Connection"
msgstr "Requêtes par connexion"

#: src/language/curd.ts:13 src/views/dns/components/DNSRecordFilter.vue:65
#: src/views/nginx_log/structured/components/SearchFilters.vue:214
#: src/views/nginx_log/structured/StructuredLogViewer.vue:745
msgid "Reset"
msgstr "Réinitialiser"

#: src/views/preference/components/AuthSettings/TOTP.vue:95
msgid "Reset 2FA"
msgstr "Réinitialiser l'authentification à deux facteurs"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:851
msgid "Reset Search"
msgstr "Réinitialiser la recherche"

#: src/views/dashboard/components/ResourceUsageCard.vue:53
msgid ""
"Resident Set Size: Actual memory resident in physical memory, including all "
"shared library memory, which will be repeated calculated for multiple "
"processes"
msgstr ""
"Resident Set Size : Mémoire réelle résidente dans la mémoire physique, "
"incluant toute la mémoire des bibliothèques partagées, qui sera recalculée "
"pour plusieurs processus"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:109
msgid "Resource Usage Warning"
msgstr "Avertissement d'utilisation des ressources"

#: src/composables/usePerformanceMetrics.ts:109
#: src/views/dashboard/components/PerformanceTablesCard.vue:69
msgid "Responses"
msgstr "Réponses"

#: src/components/NginxControl/NginxControl.vue:96
msgid "Restart"
msgstr "Redémarrer"

#: src/components/NamespaceTabs/NamespaceTabs.vue:153
#: src/views/node/Node.vue:229 src/views/node/Node.vue:237
msgid "Restart Nginx"
msgstr "Redémarrer Nginx"

#: src/components/Notification/notifications.ts:18
msgid "Restart Nginx on %{node} failed, response: %{resp}"
msgstr "Redémarrage de Nginx sur %{node} a échoué, réponse : %{resp}"

#: src/components/Notification/notifications.ts:22
msgid "Restart Nginx on %{node} successfully"
msgstr "Redémarrage de Nginx sur %{node} réussi"

#: src/components/Notification/notifications.ts:17
msgid "Restart Remote Nginx Error"
msgstr "Erreur de redémarrage de Nginx distant"

#: src/components/Notification/notifications.ts:21
msgid "Restart Remote Nginx Success"
msgstr "Redémarrage distant de Nginx réussi"

#: src/components/NamespaceTabs/NamespaceTabs.vue:105
msgid "Restart request failed, please check your network connection"
msgstr "La demande de redémarrage a échoué, veuillez vérifier votre connexion réseau"

#: src/components/NginxControl/NginxControl.vue:82
msgid "Restarting"
msgstr "Redémarrage"

#: src/language/curd.ts:10
msgid "Restore"
msgstr "Restaurer"

#: src/components/SystemRestore/SystemRestoreContent.vue:159
msgid "Restore completed successfully"
msgstr "Restauration terminée avec succès"

#: src/views/install/components/InstallView.vue:228
msgid "Restore from Backup"
msgstr "Restaurer à partir d'une sauvegarde"

#: src/components/SystemRestore/SystemRestoreContent.vue:249
#: src/components/SystemRestore/SystemRestoreContent.vue:332
msgid "Restore Nginx Configuration"
msgstr "Restaurer la configuration Nginx"

#: src/components/SystemRestore/SystemRestoreContent.vue:260
#: src/components/SystemRestore/SystemRestoreContent.vue:343
msgid "Restore Nginx UI Configuration"
msgstr "Restaurer la configuration de Nginx UI"

#: src/components/ConfigHistory/DiffViewer.vue:400
#: src/components/ConfigHistory/DiffViewer.vue:413
msgid "Restore this version"
msgstr "Restaurer cette version"

#: src/language/curd.ts:30
msgid "Restored successfully"
msgstr "Rétabli avec succès"

#: src/views/certificate/components/RemoveCert.vue:108
#: src/views/certificate/components/RemoveCert.vue:36
msgid "Revoke"
msgstr "Révoquer"

#: src/constants/errors/cert.ts:24
msgid "Revoke cert error: {0}"
msgstr "Erreur de révocation du certificat : {0}"

#: src/components/AutoCertForm/AutoCertForm.vue:277
msgid "Revoke Old Certificate"
msgstr "Révoquer l'ancien certificat"

#: src/views/certificate/components/RemoveCert.vue:122
msgid "Revoke this certificate"
msgstr "Révoquer ce certificat"

#: src/views/certificate/components/RemoveCert.vue:130
msgid ""
"Revoking a certificate will affect any services currently using it. This "
"action cannot be undone."
msgstr ""
"La révocation d'un certificat affectera tous les services qui l'utilisent "
"actuellement. Cette action ne peut pas être annulée."

#: src/views/site/site_add/components/DNSRecordIntegration.vue:356
#: src/views/site/site_edit/components/RightPanel/DNS.vue:650
msgid "Route traffic through proxy for additional protection and features"
msgstr ""
"Acheminer le trafic via un proxy pour une protection et des fonctionnalités "
"supplémentaires"

#: src/views/preference/tabs/AuthSettings.vue:72
msgid "RP Display Name"
msgstr "Nom d'affichage RP"

#: src/views/preference/tabs/AuthSettings.vue:78
msgid "RP Origins"
msgstr "Origines RP"

#: src/views/preference/tabs/AuthSettings.vue:66
msgid "RPID"
msgstr "RPID"

#: src/views/preference/tabs/ServerSettings.vue:25
msgid "Run Mode"
msgstr "Mode d'exécution"

#: src/components/NginxControl/NginxControl.vue:72
msgid "Running"
msgstr "En cours d'éxécution"

#: src/views/backup/AutoBackup/AutoBackup.vue:75
#: src/views/backup/AutoBackup/AutoBackup.vue:84
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:49
msgid "S3"
msgstr "S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:83
msgid "S3 access key ID"
msgstr "ID de clé d'accès S3"

#: src/views/backup/AutoBackup/AutoBackup.vue:249
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:77
msgid "S3 Access Key ID"
msgstr "ID de clé d'accès S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:79
msgid "S3 access key ID is required"
msgstr "L'ID de clé d'accès S3 est requis"

#: src/views/backup/AutoBackup/AutoBackup.vue:261
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:99
msgid "S3 Bucket"
msgstr "Bucket S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:101
msgid "S3 bucket is required"
msgstr "Le bucket S3 est requis"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:105
msgid "S3 bucket name"
msgstr "Nom du bucket S3"

#: src/constants/errors/backup.ts:66
msgid "S3 configuration is incomplete: missing {0}"
msgstr "La configuration S3 est incomplète : il manque {0}"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:34
msgid "S3 connection test failed"
msgstr "Échec du test de connexion S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:30
msgid "S3 connection test successful"
msgstr "Test de connexion S3 réussi"

#: src/views/backup/AutoBackup/AutoBackup.vue:243
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:66
msgid "S3 Endpoint"
msgstr "Point de terminaison S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:68
msgid "S3 endpoint is required"
msgstr "Le point de terminaison S3 est requis"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:72
msgid "S3 endpoint URL"
msgstr "URL du point de terminaison S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:126
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:60
msgid "S3 path (e.g., backups/)"
msgstr "Chemin S3 (par ex., backups/)"

#: src/views/backup/AutoBackup/AutoBackup.vue:267
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:110
msgid "S3 Region"
msgstr "Région S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:115
msgid "S3 region (e.g., us-east-1)"
msgstr "Région S3 (par ex., us-east-1)"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:94
msgid "S3 secret access key"
msgstr "Clé d'accès secrète S3"

#: src/views/backup/AutoBackup/AutoBackup.vue:255
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:88
msgid "S3 Secret Access Key"
msgstr "Clé d'accès secrète S3"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:90
msgid "S3 secret access key is required"
msgstr "La clé d'accès secrète S3 est requise"

#: src/constants/errors/backup.ts:70
msgid "S3 upload failed: {0}"
msgstr "Échec du téléversement S3 : {0}"

#: src/components/InspectConfig/InspectConfig.vue:39
msgid "Sandbox setup failed before Nginx could validate the configuration."
msgstr ""
"La configuration du bac à sable a échoué avant que Nginx ne puisse valider "
"la configuration."

#: src/components/InspectConfig/InspectConfig.vue:129
#: src/components/InspectConfig/InspectConfig.vue:28
msgid "Sandbox validation failed"
msgstr "Échec de la validation du sandbox"

#: src/components/InspectConfig/InspectConfig.vue:118
#: src/components/InspectConfig/InspectConfig.vue:26
msgid "Sandbox validation skipped"
msgstr "Validation du bac à sable ignorée"

#: src/views/backup/AutoBackup/components/CronEditor.vue:32
msgid "Saturday"
msgstr "Samedi"

#: src/components/LLM/ChatMessage.vue:244
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:164
#: src/language/curd.ts:18
#: src/views/certificate/components/CertificateActions.vue:29
#: src/views/config/components/ConfigLeftPanel.vue:283
#: src/views/config/components/ConfigName.vue:58
#: src/views/dashboard/components/SiteHealthCheckModal.vue:713
#: src/views/dns/DDNSManager.vue:337 src/views/dns/DNSRecordManager.vue:222
#: src/views/preference/components/AuthSettings/Passkey.vue:131
#: src/views/preference/Preference.vue:124
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:52
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:196
#: src/views/stream/components/ConfigName.vue:52
#: src/views/stream/components/StreamEditor.vue:154
msgid "Save"
msgstr "Enregistrer"

#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:112
msgid "Save Directive"
msgstr "Enregistrer la directive"

#: src/views/dashboard/components/SiteNavigationToolbar.vue:48
msgid "Save Order"
msgstr "Enregistrer l'ordre"

#: src/components/Notification/notifications.ts:153
#: src/language/constants.ts:48
msgid "Save Remote Site Error"
msgstr "Erreur lors de l'enregistrement du site distant"

#: src/components/Notification/notifications.ts:157
#: src/language/constants.ts:47
msgid "Save Remote Site Success"
msgstr "Enregistrement du site distant réussi"

#: src/components/Notification/notifications.ts:193
msgid "Save Remote Stream Error"
msgstr "Erreur lors de l'enregistrement du flux distant"

#: src/components/Notification/notifications.ts:197
msgid "Save Remote Stream Success"
msgstr "Enregistrement du flux distant réussi"

#: src/components/Notification/notifications.ts:154
msgid "Save site %{name} to %{node} failed"
msgstr "Échec de l'enregistrement du site %{name} sur %{node}"

#: src/components/Notification/notifications.ts:158
msgid "Save site %{name} to %{node} successfully"
msgstr "Site %{name} enregistré sur %{node} avec succès"

#: src/components/Notification/notifications.ts:194
msgid "Save stream %{name} to %{node} failed"
msgstr "Échec de l'enregistrement du flux %{name} sur %{node}"

#: src/components/Notification/notifications.ts:198
msgid "Save stream %{name} to %{node} successfully"
msgstr "Flux %{name} enregistré sur %{node} avec succès"

#: src/language/curd.ts:36
msgid "Save successful"
msgstr "Enregistrement réussi"

#: src/language/curd.ts:35 src/views/certificate/CertificateEditor.vue:49
#: src/views/certificate/components/RenewCert.vue:26
#: src/views/preference/store/index.ts:132
msgid "Save successfully"
msgstr "Sauvegarde réussie"

#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:51
#: src/language/curd.ts:28 src/views/config/components/ConfigLeftPanel.vue:198
#: src/views/site/site_add/SiteAdd.vue:57
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:57
#: src/views/stream/components/StreamEditor.vue:30
msgid "Saved successfully"
msgstr "Enregistré avec succès"

#: src/constants/errors/self_check.ts:20
msgid "Sbin path not exist"
msgstr "Le chemin sbin n'existe pas"

#: src/components/PortScanner/PortScannerCompact.vue:94
msgid "Scan completed"
msgstr "Analyse terminée"

#: src/components/PortScanner/PortScannerCompact.vue:98
msgid "Scan failed"
msgstr "Échec de l'analyse"

#: src/components/PortScanner/PortScannerCompact.vue:179
msgid "Scan Ports"
msgstr "Scanner les ports"

#: src/components/PortScanner/PortScannerCompact.vue:204
msgid "Scan Results"
msgstr "Résultats du scan"

#: src/views/preference/components/AuthSettings/TOTP.vue:71
msgid "Scan the QR code with your mobile phone to add the account to the app."
msgstr ""
"Scannez le code QR avec votre téléphone portable pour ajouter le compte à "
"l'application."

#: src/views/nginx_log/indexing/components/IndexProgressBar.vue:50
msgid "Scanning"
msgstr "Analyse"

#: src/views/backup/AutoBackup/AutoBackup.vue:113
msgid "Schedule"
msgstr "Planification"

#: src/views/backup/AutoBackup/components/CronEditor.vue:144
msgid "Schedule Type"
msgstr "Type de planification"

#: src/views/dns/components/DNSChallenge.vue:81
msgid "SDK"
msgstr "SDK"

#: src/language/constants.ts:62 src/language/curd.ts:12
#: src/views/config/configColumns.tsx:5
#: src/views/dns/components/DNSRecordFilter.vue:62
#: src/views/nginx_log/structured/components/SearchFilters.vue:217
#: src/views/site/site_list/columns.tsx:17 src/views/stream/columns.tsx:13
msgid "Search"
msgstr "Rechercher"

#: src/views/dns/DDNSManager.vue:220
msgid "Search domain, provider or target"
msgstr "Rechercher un domaine, un fournisseur ou une cible"

#: src/views/nginx_log/structured/components/SearchFilters.vue:53
msgid "Search Filters"
msgstr "Filtres de recherche"

#: src/views/nginx_log/structured/components/SearchFilters.vue:69
msgid "Search in log content..."
msgstr "Rechercher dans le contenu du journal..."

#: src/language/constants.ts:61
msgid "Search module name"
msgstr "Nom du module de recherche"

#: src/views/dashboard/components/ModulesTable.vue:103
msgid "Search modules"
msgstr "Rechercher des modules"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:842
msgid "Search range"
msgstr "Plage de recherche"

#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:79
msgid "Search templates"
msgstr "Rechercher des modèles"

#: src/views/preference/components/AuthSettings/TOTP.vue:111
msgid "Secret has been copied"
msgstr "Le secret a été copié"

#: src/views/user/UserProfile.vue:175
msgid "Security Settings"
msgstr "Paramètres de sécurité"

#: src/components/SystemRestore/SystemRestoreContent.vue:233
#: src/components/SystemRestore/SystemRestoreContent.vue:316
msgid "Security Token"
msgstr "Jeton de sécurité"

#: src/views/backup/components/BackupCreator.vue:94
msgid "Security Token Information"
msgstr "Informations sur le jeton de sécurité"

#: src/views/certificate/ACMEUser.vue:59
msgid ""
"Select a predefined CA directory or enter a custom one. Leave blank to use "
"the default CA directory."
msgstr ""
"Sélectionnez un répertoire CA prédéfini ou saisissez un répertoire "
"personnalisé. Laissez vide pour utiliser le répertoire CA par défaut."

#: src/language/curd.ts:31
msgid "Select all"
msgstr "Tout sélectionner"

#: src/language/constants.ts:68
msgid "Select Credential"
msgstr "Sélectionner les identifiants"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:254
#: src/views/site/site_edit/components/RightPanel/DNS.vue:548
msgid "Select DNS domain"
msgstr "Sélectionner un domaine DNS"

#: src/views/site/site_add/components/DNSRecordIntegration.vue:279
#: src/views/site/site_edit/components/RightPanel/DNS.vue:573
msgid "Select existing record"
msgstr "Sélectionner un enregistrement existant"

#: src/views/certificate/ACMEUser.vue:45
msgid "Select or enter a CA directory URL"
msgstr "Sélectionnez ou entrez une URL de répertoire CA"

#: src/language/constants.ts:67
msgid "Select Provider"
msgstr "Sélectionner un fournisseur"

#: src/language/curd.ts:59
msgid "Selected {count} files"
msgstr "{count} fichiers sélectionnés"

#: src/language/curd.ts:16
msgid "Selector"
msgstr "Sélecteur"

#: src/components/SelfCheck/SelfCheck.vue:55 src/routes/modules/system.ts:19
msgid "Self Check"
msgstr "Vérification automatique"

#: src/components/SelfCheck/SelfCheckHeaderBanner.vue:37
#: src/components/SelfCheck/SelfCheckHeaderBanner.vue:60
msgid "Self check failed, Nginx UI may not work properly"
msgstr ""
"L'auto-vérification a échoué, l'interface utilisateur Nginx peut ne pas "
"fonctionner correctement"

#: src/views/dashboard/ServerAnalytic.vue:35
#: src/views/dashboard/ServerAnalytic.vue:352
msgid "Send"
msgstr "Envoyer"

#: src/views/preference/components/ExternalNotify/ExternalNotifyEditor.vue:78
msgid "Send test message"
msgstr "Envoyer un message test"

#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:47
msgid "Server"
msgstr "Serveur"

#: src/components/InspectConfig/InspectConfig.vue:81
#: src/views/certificate/CertificateEditor.vue:56
msgid "Server error"
msgstr "Erreur du serveur"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:148
msgid "Server Error Responses (5xx)"
msgstr "Réponses d'erreur du serveur (5xx)"

#: src/views/dashboard/ServerAnalytic.vue:180
msgid "Server Info"
msgstr "Informations sur le serveur"

#: src/components/AutoCertForm/AutoCertForm.vue:178
msgid "Server IP Address"
msgstr "Adresse IP du serveur"

#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:102
msgid "Server name is controlled by linked DNS record"
msgstr "Le nom du serveur est contrôlé par l'enregistrement DNS lié"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99
msgid "Server Names Hash Bucket Size"
msgstr "Taille du seau de hachage des noms de serveur"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100
msgid "Server names hash table size"
msgstr "Taille de la table de hachage des noms de serveur"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:164
msgid "server_name not found in directives"
msgstr "server_name introuvable dans les directives"

#: src/constants/errors/nginx_log.ts:3
msgid "ServerIdx out of range"
msgstr "ServerIdx hors limites"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:608
msgid "Service Name"
msgstr "Nom du service"

#: src/constants/errors/user.ts:12
msgid "Session not found"
msgstr "Session non trouvée"

#: src/constants/errors/cert.ts:14
msgid "Set env error: {0}"
msgstr "Erreur de configuration de l'environnement : {0}"

#: src/constants/errors/cert.ts:18
msgid "Set env flag to disable lego CNAME support error: {0}"
msgstr ""
"Définir le drapeau d'environnement pour désactiver le support CNAME de lego "
"erreur: {0}"

#: src/views/preference/tabs/CertSettings.vue:36
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
msgstr ""
"Définissez les serveurs de noms récursifs pour remplacer les serveurs de "
"noms du système lors de l'étape du défi DNS."

#: src/views/site/components/SiteStatusSelect.vue:116
msgid "set to maintenance mode"
msgstr "passer en mode maintenance"

#: src/language/constants.ts:11
msgid "Setting DNS01 challenge provider"
msgstr "Configuration du fournisseur de défi DNS01"

#: src/language/constants.ts:12
msgid "Setting environment variables"
msgstr "Définition des variables d'environnement"

#: src/language/constants.ts:10
msgid "Setting HTTP01 challenge provider"
msgstr "Configuration du fournisseur de défi HTTP01"

#: src/constants/errors/nginx_log.ts:8
msgid ""
"Settings.NginxLogSettings.AccessLogPath is empty, refer to "
"https://nginxui.com/guide/config-nginx.html for more information"
msgstr ""
"Settings.NginxLogSettings.AccessLogPath est vide, consultez "
"https://nginxui.com/guide/config-nginx.html pour plus d'informations"

#: src/constants/errors/nginx_log.ts:7
msgid ""
"Settings.NginxLogSettings.ErrorLogPath is empty, refer to "
"https://nginxui.com/guide/config-nginx.html for more information"
msgstr ""
"Settings.NginxLogSettings.ErrorLogPath est vide, consultez "
"https://nginxui.com/guide/config-nginx.html pour plus d'informations"

#: src/views/install/components/InstallView.vue:147
msgid "Setup your Nginx UI"
msgstr "Configurez votre Nginx UI"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:146
msgid "Shared Memory Zone"
msgstr "Zone de Mémoire Partagée"

#: src/components/SensitiveString/SensitiveInput.vue:88
#: src/components/SensitiveString/SensitiveString.vue:102
msgid "Show"
msgstr "Afficher"

#: src/views/terminal/components/TerminalHeader.vue:85
msgid "Show Assistant"
msgstr "Afficher l'assistant"

#: src/views/other/Login.vue:374
msgid "Sign in with a passkey"
msgstr "Se connecter avec une clé d'accès"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:75
msgid "SIMD-optimized stream processing"
msgstr "Traitement de flux optimisé SIMD"

#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:48
msgid "Single Directive"
msgstr "Directive unique"

#: src/views/site/site_add/SiteAdd.vue:256
msgid "Site Config Created Successfully"
msgstr "Configuration du site créée avec succès"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:426
msgid "Site configuration updated with recreated DNS record"
msgstr "Configuration du site mise à jour avec l'enregistrement DNS recréé"

#: src/constants/errors/site.ts:4
msgid "Site is enabled"
msgstr "Le site est activé"

#: src/constants/errors/site.ts:5
msgid "Site is in maintenance mode"
msgstr "Le site est en mode maintenance"

#: src/routes/modules/nginx_log.ts:31
msgid "Site Logs"
msgstr "Journaux du site"

#: src/constants/errors/site.ts:2
msgid "Site not found"
msgstr "Site non trouvé"

#: src/views/dashboard/SiteNavigation.vue:82
msgid "Site refresh initiated"
msgstr "Actualisation du site initiée"

#: src/routes/modules/dashboard.ts:35
msgid "Sites"
msgstr "Sites"

#: src/language/generate.ts:35
msgid "Sites directory exists"
msgstr "Le répertoire des sites existe"

#: src/routes/modules/sites.ts:19
msgid "Sites List"
msgstr "Liste des sites"

#: src/views/dashboard/SiteNavigation.vue:173
msgid ""
"Sites will appear here once you configure nginx server blocks with valid "
"server_name (localhost excluded) directives."
msgstr ""
"Les sites apparaîtront ici une fois que vous aurez configuré les blocs "
"serveur nginx avec des directives server_name valides (localhost exclu)."

#: src/constants/errors/self_check.ts:11
msgid "Sites-available directory not exist"
msgstr "Le répertoire sites-available n'existe pas"

#: src/constants/errors/self_check.ts:12
msgid "Sites-enabled directory not exist"
msgstr "Le répertoire sites-enabled n'existe pas"

#: src/language/curd.ts:62
#: src/views/nginx_log/structured/StructuredLogViewer.vue:249
#: src/views/nginx_log/structured/StructuredLogViewer.vue:522
msgid "Size"
msgstr "Taille"

#: src/views/preference/tabs/NodeSettings.vue:23
msgid "Skip Installation"
msgstr "Ignorer l'installation"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:324
msgid "Sleep time between cache loader iterations"
msgstr "Temps d'attente entre les itérations du chargeur de cache"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:262
msgid "Sleep time between cache manager iterations"
msgstr "Temps d'attente entre les itérations du gestionnaire de cache"

#: src/views/upstream/SocketList.vue:18
msgid "Socket"
msgstr "Socket"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:742
msgid "Sorted by"
msgstr "Trié par"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:683
msgid "Source IP"
msgstr "IP source"

#: src/views/system/About.vue:46
msgid "Sponsor"
msgstr "Sponsor"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:61
msgid "SSD storage for better I/O performance"
msgstr "Stockage SSD pour de meilleures performances d'E/S"

#: src/views/certificate/components/CertificateContentEditor.vue:209
#: src/views/certificate/components/CertificateContentEditor.vue:214
msgid "SSL Certificate Content"
msgstr "Contenu du certificat SSL"

#: src/constants/errors/system.ts:11
msgid "SSL certificate file must be under Nginx configuration directory: {0}"
msgstr ""
"Le fichier de certificat SSL doit être dans le répertoire de configuration "
"de Nginx : {0}"

#: src/constants/errors/system.ts:9
msgid "SSL certificate file not found"
msgstr "Fichier de certificat SSL introuvable"

#: src/views/certificate/components/CertificateContentEditor.vue:270
#: src/views/certificate/components/CertificateContentEditor.vue:275
msgid "SSL Certificate Key Content"
msgstr "Contenu de la clé du certificat SSL"

#: src/views/certificate/components/CertificateBasicInfo.vue:112
#: src/views/certificate/components/CertificateBasicInfo.vue:126
#: src/views/certificate/components/CertificateBasicInfo.vue:138
msgid "SSL Certificate Key Path"
msgstr "Chemin de la clé du certificat SSL"

#: src/views/certificate/components/CertificateBasicInfo.vue:104
#: src/views/certificate/components/CertificateBasicInfo.vue:78
#: src/views/certificate/components/CertificateBasicInfo.vue:92
#: src/views/preference/tabs/ServerSettings.vue:37
msgid "SSL Certificate Path"
msgstr "Chemin du certificat SSL"

#: src/constants/errors/system.ts:7
msgid "SSL certificate path is required when HTTPS is enabled"
msgstr "Le chemin du certificat SSL est requis lorsque HTTPS est activé"

#: src/constants/errors/system.ts:12
msgid "SSL key file must be under Nginx configuration directory: {0}"
msgstr ""
"Le fichier de clé SSL doit être dans le répertoire de configuration Nginx : "
"{0}"

#: src/constants/errors/system.ts:10
msgid "SSL key file not found"
msgstr "Fichier de clé SSL introuvable"

#: src/views/preference/tabs/ServerSettings.vue:41
msgid "SSL Key Path"
msgstr "Chemin de la clé SSL"

#: src/constants/errors/system.ts:8
msgid "SSL key path is required when HTTPS is enabled"
msgstr "Le chemin de la clé SSL est requis lorsque HTTPS est activé"

#: src/views/other/Login.vue:322
msgid "SSO Login"
msgstr "Connexion SSO"

#: src/views/node/BatchUpgrader.vue:166 src/views/node/BatchUpgrader.vue:219
#: src/views/system/Upgrade.vue:210 src/views/system/Upgrade.vue:261
msgid "Stable"
msgstr "Stable"

#: src/components/PortScanner/PortScannerCompact.vue:151
msgid "Start"
msgstr "Début"

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:57
msgid "Start Date"
msgstr "Date de début"

#: src/components/SystemRestore/SystemRestoreContent.vue:272
#: src/components/SystemRestore/SystemRestoreContent.vue:355
msgid "Start Restore"
msgstr "Démarrer la restauration"

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:56
msgid "Starting download..."
msgstr "Début du téléchargement..."

#: src/views/dashboard/components/ModulesTable.vue:67
#: src/views/dashboard/components/ModulesTable.vue:71
msgid "Static"
msgstr "Statique"

#: src/components/PortScanner/PortScannerCompact.vue:37
#: src/views/backup/AutoBackup/AutoBackup.vue:160
#: src/views/certificate/ACMEUser.vue:75
#: src/views/certificate/CertificateList/certColumns.tsx:63
#: src/views/dashboard/components/ModulesTable.vue:75
#: src/views/dns/DDNSManager.vue:113
#: src/views/nginx_log/structured/components/SearchFilters.vue:106
#: src/views/nginx_log/structured/StructuredLogViewer.vue:241
#: src/views/nginx_log/structured/StructuredLogViewer.vue:521
#: src/views/node/nodeColumns.tsx:43
#: src/views/site/site_edit/components/RightPanel/Basic.vue:29
#: src/views/site/site_list/columns.tsx:120 src/views/stream/columns.tsx:87
msgid "Status"
msgstr "Statut"

#: src/views/preference/components/ExternalNotify/EnabledSwitch.vue:24
msgid "Status updated successfully"
msgstr "Statut mis à jour avec succès"

#: src/components/NginxControl/NginxControl.vue:87
msgid "Stopped"
msgstr "Arrêté"

#: src/views/dashboard/ServerAnalytic.vue:258
#: src/views/dashboard/ServerAnalytic.vue:259
#: src/views/nginx_log/components/IndexingSettingsModal.vue:59
msgid "Storage"
msgstr "Stockage"

#: src/views/backup/AutoBackup/AutoBackup.vue:92
msgid "Storage Configuration"
msgstr "Configuration du stockage"

#: src/components/Notification/notifications.ts:26
msgid ""
"Storage configuration validation failed for backup task %{backup_name}, "
"error: %{error}"
msgstr ""
"La validation de la configuration de stockage pour la tâche de sauvegarde "
"%{backup_name} a échoué, erreur : %{error}"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:120
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:54
msgid "Storage Path"
msgstr "Chemin de stockage"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:122
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:56
msgid "Storage path is required"
msgstr "Le chemin de stockage est requis"

#: src/views/backup/AutoBackup/AutoBackup.vue:70
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:45
msgid "Storage Type"
msgstr "Type de stockage"

#: src/constants/errors/stream.ts:4
msgid "Stream is enabled"
msgstr "Le flux est activé"

#: src/constants/errors/stream.ts:2
msgid "Stream not found"
msgstr "Flux introuvable"

#: src/language/generate.ts:36
msgid "Streams directory exists"
msgstr "Le répertoire des streams existe"

#: src/constants/errors/self_check.ts:13
msgid "Streams-available directory not exist"
msgstr "Le répertoire streams-available n'existe pas"

#: src/constants/errors/self_check.ts:14
msgid "Streams-enabled directory not exist"
msgstr "Le répertoire streams-enabled n'existe pas"

#: src/views/nginx_log/NginxLog.vue:92
msgid "Structured"
msgstr "Structuré"

#: src/views/preference/tabs/NginxSettings.vue:10
msgid "Stub Status Port"
msgstr "Port d'état stub"

#: src/constants/errors/performance.ts:2
msgid "Stub_status is not enabled"
msgstr "Stub_status n'est pas activé"

#: src/constants/index.ts:26 src/views/backup/AutoBackup/AutoBackup.vue:195
#: src/views/backup/AutoBackup/AutoBackup.vue:220
#: src/views/notification/notificationColumns.tsx:35
msgid "Success"
msgstr "Succès"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:85
msgid "Successful Responses (2xx)"
msgstr "Réponses réussies (2xx)"

#: src/views/backup/AutoBackup/components/CronEditor.vue:121
#: src/views/backup/AutoBackup/components/CronEditor.vue:26
msgid "Sunday"
msgstr "Dimanche"

#: src/components/SelfCheck/tasks/frontend/websocket.ts:14
msgid ""
"Support communication with the backend through the WebSocket protocol. If "
"your Nginx UI is being used via an Nginx reverse proxy, please refer to "
"this link to write the corresponding configuration file: "
"https://nginxui.com/guide/nginx-proxy-example.html"
msgstr ""
"Prend en charge la communication avec le backend via le protocole "
"WebSocket. Si votre interface Nginx est utilisée via un proxy inverse "
"Nginx, veuillez consulter ce lien pour écrire le fichier de configuration "
"correspondant : https://nginxui.com/guide/nginx-proxy-example.html"

#: src/language/curd.ts:53 src/language/curd.ts:57
msgid "Support single or batch upload of files"
msgstr "Prise en charge du téléchargement unique ou en lot de fichiers"

#: src/language/curd.ts:54 src/language/curd.ts:58
msgid "Support uploading entire folders"
msgstr "Prend en charge le téléchargement de dossiers entiers"

#: src/components/SystemRestore/SystemRestoreContent.vue:223
#: src/components/SystemRestore/SystemRestoreContent.vue:306
msgid "Supported file type: .zip"
msgstr "Type de fichier pris en charge : .zip"

#: src/views/dashboard/ServerAnalytic.vue:243
#: src/views/dashboard/ServerAnalytic.vue:244
msgid "Swap"
msgstr "Swap"

#: src/components/SwitchAppearance/SwitchAppearance.vue:13
msgid "Switch to dark theme"
msgstr "Passer au thème sombre"

#: src/components/SwitchAppearance/SwitchAppearance.vue:13
msgid "Switch to light theme"
msgstr "Passer au thème clair"

#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "Synchroniser"

#: src/views/certificate/CertificateList/certColumns.tsx:28
msgid "Sync Certificate"
msgstr "Certificat synchronisé"

#: src/components/Notification/notifications.ts:70
msgid "Sync Certificate %{cert_name} to %{node_name} failed"
msgstr "Échec de la synchronisation du certificat %{cert_name} vers %{node_name}"

#: src/components/Notification/notifications.ts:74
msgid "Sync Certificate %{cert_name} to %{node_name} successfully"
msgstr "Certificat %{cert_name} synchronisé avec %{node_name} avec succès"

#: src/components/Notification/notifications.ts:69 src/language/constants.ts:39
msgid "Sync Certificate Error"
msgstr "Erreur de synchronisation du certificat"

#: src/components/Notification/notifications.ts:73 src/language/constants.ts:38
msgid "Sync Certificate Success"
msgstr "Certificat synchronisé avec succès"

#: src/components/Notification/notifications.ts:78
msgid "Sync config %{config_name} to %{node_name} failed"
msgstr ""
"Échec de la synchronisation de la configuration %{config_name} vers "
"%{node_name}"

#: src/components/Notification/notifications.ts:82
msgid "Sync config %{config_name} to %{node_name} successfully"
msgstr "Configuration %{config_name} synchronisée avec %{node_name} avec succès"

#: src/components/Notification/notifications.ts:77 src/language/constants.ts:45
msgid "Sync Config Error"
msgstr "Erreur de synchronisation de la configuration"

#: src/components/Notification/notifications.ts:81 src/language/constants.ts:44
msgid "Sync Config Success"
msgstr "Synchronisation de la configuration réussie"

#: src/components/NamespaceRender/NamespaceRender.vue:53
#: src/components/NamespaceTabs/NamespaceTabs.vue:127
#: src/views/namespace/columns.ts:17 src/views/namespace/Namespace.vue:31
msgid "Sync Nodes"
msgstr "Nœuds de synchronisation"

#: src/components/SyncNodesPreview/SyncNodesPreview.vue:45
msgid "Sync Preview"
msgstr "Aperçu de la synchronisation"

#: src/views/site/site_edit/components/RightPanel/Basic.vue:59
#: src/views/site/site_edit/components/RightPanel/Basic.vue:72
#: src/views/stream/components/RightPanel/Basic.vue:54
#: src/views/stream/components/RightPanel/Basic.vue:67
msgid "Sync strategy"
msgstr "Stratégie de synchronisation"

#: src/views/certificate/components/CertificateBasicInfo.vue:145
msgid "Sync to"
msgstr "Synchroniser vers"

#: src/views/site/site_edit/components/RightPanel/Basic.vue:57
#: src/views/stream/components/RightPanel/Basic.vue:52
msgid "Synchronization"
msgstr "Synchronisation"

#: src/components/PortScanner/PortScannerCompact.vue:194
#: src/routes/modules/system.ts:11
msgid "System"
msgstr "Système"

#: src/views/backup/components/BackupCreator.vue:71
msgid "System Backup"
msgstr "Sauvegarde du système"

#: src/views/install/components/InstallView.vue:142
msgid "System Check"
msgstr "Vérification du système"

#: src/views/certificate/components/ACMEUserSelector.vue:67
msgid "System Initial User"
msgstr "Utilisateur initial du système"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:120
msgid "System Requirements"
msgstr "Configuration requise"

#: src/components/SystemRestore/SystemRestoreContent.vue:194
msgid "System Restore"
msgstr "Restauration du système"

#: src/views/install/components/InstallView.vue:56
msgid "System restored successfully."
msgstr "Système restauré avec succès."

#: src/views/site/site_add/components/DNSRecordIntegration.vue:338
#: src/views/site/site_edit/components/RightPanel/DNS.vue:508
#: src/views/site/site_edit/components/RightPanel/DNS.vue:632
msgid "target.example.com"
msgstr "target.example.com"

#: src/views/dns/DDNSManager.vue:121
msgid "Targets"
msgstr "Cibles"

#: src/constants/errors/self_check.ts:3
msgid "Task is not fixable"
msgstr "La tâche n'est pas réparable"

#: src/constants/errors/self_check.ts:2
msgid "Task not found"
msgstr "Tâche non trouvée"

#: src/views/preference/components/ExternalNotify/telegram.ts:5
msgid "Telegram"
msgstr "Telegram"

#: src/routes/modules/terminal.ts:10 src/views/preference/Preference.vue:77
msgid "Terminal"
msgstr "Terminal"

#: src/components/LLM/LLM.vue:60
msgid "Terminal Assistant"
msgstr "Assistant terminal"

#: src/views/preference/tabs/TerminalSettings.vue:10
msgid "Terminal Start Command"
msgstr "Commande de démarrage du terminal"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:716
#: src/views/preference/tabs/ExternalNotify.vue:57
msgid "Test"
msgstr "Test"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:451
msgid "Test failed: %{error}"
msgstr "Échec du test : %{error}"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:456
msgid "Test failed: Unable to perform health check"
msgstr "Échec du test : Impossible d'effectuer la vérification d'état"

#: src/views/preference/components/ExternalNotify/ExternalNotifyEditor.vue:53
#: src/views/preference/tabs/ExternalNotify.vue:28
msgid "Test message sent successfully"
msgstr "Message de test envoyé avec succès"

#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:141
msgid "Test S3 Connection"
msgstr "Tester la connexion S3"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:448
msgid "Test successful! Response time: %{response_time}ms"
msgstr "Test réussi ! Temps de réponse : %{response_time}ms"

#: src/components/InspectConfig/InspectConfig.vue:111
msgid "Testing Nginx configuration..."
msgstr "Test de la configuration Nginx..."

#: src/components/AutoCertForm/AutoCertForm.vue:160
msgid ""
"The certificate for the domain will be checked 30 minutes, and will be "
"renewed if it has been more than 1 week or the period you set in settings "
"since it was last issued."
msgstr ""
"Le certificat du domaine sera vérifié toutes les 30 minutes et sera "
"renouvelé s'il a été émis il y a plus d'une semaine ou depuis la période "
"que vous avez définie dans les paramètres."

#: src/components/GeoLiteDownload/GeoLiteDownload.vue:158
msgid ""
"The GeoLite2 database is required for offline geographic IP analysis. "
"Please download it to enable this feature."
msgstr ""
"La base de données GeoLite2 est nécessaire pour l'analyse géographique des "
"adresses IP hors ligne. Veuillez la télécharger pour activer cette "
"fonctionnalité."

#: src/views/preference/tabs/GeoLiteSettings.vue:9
msgid ""
"The GeoLite2 database provides geographic information for IP addresses. "
"This is used for offline geographic analysis in log analytics."
msgstr ""
"La base de données GeoLite2 fournit des informations géographiques pour les "
"adresses IP. Elle est utilisée pour l'analyse géographique hors ligne dans "
"l'analyse des journaux."

#: src/views/preference/tabs/NodeSettings.vue:37
msgid ""
"The ICP Number should only contain letters, unicode, numbers, hyphens, "
"dashes, colons, and dots."
msgstr ""
"Le numéro ICP ne doit contenir que des lettres, unicode, des chiffres, des "
"traits d'union, des tirets, des deux-points et des points."

#: src/views/certificate/components/CertificateContentEditor.vue:205
msgid "The input is not a SSL Certificate"
msgstr "L'entrée n'est pas un certificat SSL"

#: src/views/certificate/components/CertificateContentEditor.vue:266
msgid "The input is not a SSL Certificate Key"
msgstr "L'entrée n'est pas une clé de certificat SSL"

#: src/views/site/site_edit/components/RightPanel/DNS.vue:498
msgid ""
"The linked DNS record was deleted from the DNS server. You can recreate it "
"or clear the link."
msgstr ""
"L'enregistrement DNS lié a été supprimé du serveur DNS. Vous pouvez le "
"recréer ou effacer le lien."

#: src/constants/errors/nginx_log.ts:2
msgid ""
"The log path is not under the paths in "
"settings.NginxSettings.LogDirWhiteList"
msgstr ""
"Le chemin du journal ne se trouve pas sous les chemins dans "
"settings.NginxSettings.LogDirWhiteList"

#: src/views/preference/tabs/OpenAISettings.vue:24
#: src/views/preference/tabs/OpenAISettings.vue:93
msgid ""
"The model name should only contain letters, unicode, numbers, hyphens, "
"dashes, colons, and dots."
msgstr ""
"Le nom du modèle ne doit contenir que des lettres, unicode, des chiffres, "
"des traits d'union, des tirets, des deux-points et des points."

#: src/views/preference/tabs/OpenAISettings.vue:94
msgid "The model used for code completion, if not set, the chat model will be used."
msgstr ""
"Le modèle utilisé pour la complétion de code, s'il n'est pas défini, le "
"modèle de chat sera utilisé."

#: src/views/preference/tabs/NodeSettings.vue:18
msgid ""
"The node name should only contain letters, unicode, numbers, hyphens, "
"dashes, colons, and dots."
msgstr ""
"Le nom du nœud ne doit contenir que des lettres, unicode, des chiffres, des "
"traits d'union, des tirets, des deux-points et des points."

#: src/views/site/site_add/SiteAdd.vue:190
#: src/views/site/site_edit/components/RightPanel/DNS.vue:445
msgid "The parameter of server_name is required"
msgstr "Le paramètre server_name est requis"

#: src/views/certificate/components/CertificateBasicInfo.vue:82
msgid "The path exists, but the file is not a certificate"
msgstr "Le chemin existe, mais le fichier n'est pas un certificat"

#: src/views/certificate/components/CertificateBasicInfo.vue:116
msgid "The path exists, but the file is not a private key"
msgstr "Le chemin existe, mais le fichier n'est pas une clé privée"

#: src/views/preference/tabs/NodeSettings.vue:49
msgid ""
"The Public Security Number should only contain letters, unicode, numbers, "
"hyphens, dashes, colons, and dots."
msgstr ""
"Le numéro de sécurité publique ne doit contenir que des lettres, unicode, "
"des chiffres, des traits d'union, des tirets, des deux-points et des points."

#: src/views/dashboard/components/NodeAnalyticItem.vue:86
msgid ""
"The remote Nginx UI version is not compatible with the local Nginx UI "
"version. To avoid potential errors, please upgrade the remote Nginx UI to "
"match the local version."
msgstr ""
"La version distante de Nginx UI n'est pas compatible avec la version locale "
"de Nginx UI. Pour éviter d'éventuelles erreurs, veuillez mettre à jour la "
"version distante de Nginx UI pour qu'elle corresponde à la version locale."

#: src/components/AutoCertForm/AutoCertForm.vue:155
msgid ""
"The server_name in the current configuration must be the domain name you "
"need to get the certificate, supportmultiple domains."
msgstr ""
"Le server_name dans la configuration actuelle doit être le nom de domaine "
"pour lequel vous avez besoin du certificat, prenant en charge plusieurs "
"domaines."

#: src/views/preference/tabs/CertSettings.vue:22
#: src/views/preference/tabs/HTTPSettings.vue:14
msgid "The url is invalid"
msgstr "L'URL est invalide"

#: src/views/preference/tabs/OpenAISettings.vue:36
#: src/views/preference/tabs/OpenAISettings.vue:50
msgid "The url is invalid."
msgstr "L'URL est invalide."

#: src/language/constants.ts:2
msgid "The username or password is incorrect"
msgstr "Le pseudo ou mot de passe est incorect"

#: src/views/dashboard/components/PerformanceTablesCard.vue:185
msgid "Theoretical maximum concurrent connections:"
msgstr "Connexions simultanées maximales théoriques :"

#: src/views/dashboard/components/PerformanceTablesCard.vue:189
msgid "Theoretical maximum RPS (Requests Per Second):"
msgstr "RPS maximum théorique (Requêtes Par Seconde) :"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:105
msgid ""
"These codes are the last resort for accessing your account in case you lose "
"your password and second factors. If you cannot find these codes, you will "
"lose access to your account."
msgstr ""
"Ces codes sont le dernier recours pour accéder à votre compte si vous "
"perdez votre mot de passe et vos seconds facteurs. Si vous ne trouvez pas "
"ces codes, vous perdrez l'accès à votre compte."

#: src/routes/modules/system.ts:45
msgid "Third-party Components"
msgstr "Composants tiers"

#: src/views/certificate/components/AutoCertManagement.vue:45
msgid "This Auto Cert item is invalid, please remove it."
msgstr "Cet élément de certificat automatique est invalide, veuillez le supprimer."

#: src/constants/errors/backup.ts:62
msgid ""
"This backup uses an unsupported legacy format. Please create a new backup "
"with a newer version before restoring."
msgstr ""
"Cette sauvegarde utilise un format obsolète non pris en charge. Veuillez "
"créer une nouvelle sauvegarde avec une version plus récente avant de "
"restaurer."

#: src/views/certificate/components/AutoCertManagement.vue:35
msgid "This certificate is managed by Nginx UI"
msgstr "Ce certificat est géré par Nginx UI"

#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr ""
"Ce répertoire est protégé et ne peut pas être supprimé pour la sécurité du "
"système."

#: src/views/certificate/components/CertificateBasicInfo.vue:114
#: src/views/certificate/components/CertificateBasicInfo.vue:47
#: src/views/certificate/components/CertificateBasicInfo.vue:80
msgid "This field is required"
msgstr "Ce champ est obligatoire"

#: src/constants/form_errors.ts:3 src/language/curd.ts:43
msgid "This field should be a valid email address"
msgstr "Ce champ doit être une adresse email valide"

#: src/constants/form_errors.ts:5 src/language/curd.ts:45
msgid "This field should be a valid hostname"
msgstr "Ce champ doit être un nom d'hôte valide"

#: src/constants/form_errors.ts:2 src/language/curd.ts:42
msgid "This field should not be empty"
msgstr "Ce champ ne doit pas être vide"

#: src/constants/form_errors.ts:6
msgid "This field should only contain letters, unicode characters, numbers, and -_."
msgstr ""
"Ce champ ne doit contenir que des lettres, des caractères Unicode, des "
"chiffres et -_."

#: src/language/curd.ts:46
msgid ""
"This field should only contain letters, unicode characters, numbers, and "
"-_./:"
msgstr ""
"Ce champ ne doit contenir que des lettres, des caractères Unicode, des "
"chiffres et -_./:"

#: src/components/Notification/notifications.ts:102
msgid "This is a test message sent at %{timestamp} from Nginx UI."
msgstr "Il s'agit d'un message de test envoyé à% {horodat} de Nginx UI."

#: src/components/SelfCheck/store.ts:25
msgid ""
"This mode only previews the installation UI flow and does not change any "
"server state."
msgstr ""
"Ce mode prévisualise uniquement le flux de l'interface utilisateur "
"d'installation et ne modifie aucun état du serveur."

#: src/views/dashboard/NginxDashBoard.vue:175
msgid ""
"This module provides Nginx request statistics, connection count, etc. data. "
"After enabling it, you can view performance statistics"
msgstr ""
"Ce module fournit des statistiques de requêtes Nginx, le nombre de "
"connexions, etc. Après l'avoir activé, vous pouvez consulter les "
"statistiques de performance."

#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:25
msgid "This month"
msgstr "Ce mois-ci"

#: src/views/preference/tabs/ExternalNotify.vue:16
msgid "This notification is disabled"
msgstr "Cette notification est désactivée"

#: src/views/certificate/components/RemoveCert.vue:116
msgid ""
"This operation will only remove the certificate from the database. The "
"certificate files on the file system will not be deleted."
msgstr ""
"Cette opération ne supprimera que le certificat de la base de données. Les "
"fichiers de certificat sur le système de fichiers ne seront pas supprimés."

#: src/components/AutoCertForm/AutoCertForm.vue:128
msgid ""
"This site is configured as a default server (default_server) for HTTPS "
"(port 443). IP certificates require Certificate Authority (CA) support and "
"may not be available with all ACME providers."
msgstr ""
"Ce site est configuré comme un serveur par défaut (default_server) pour "
"HTTPS (port 443). Les certificats IP nécessitent le support d'une Autorité "
"de Certification (CA) et peuvent ne pas être disponibles auprès de tous les "
"fournisseurs ACME."

#: src/components/AutoCertForm/AutoCertForm.vue:132
msgid ""
"This site uses wildcard server name (_) which typically indicates an "
"IP-based certificate. IP certificates require Certificate Authority (CA) "
"support and may not be available with all ACME providers."
msgstr ""
"Ce site utilise un nom de serveur générique (_) qui indique généralement un "
"certificat basé sur IP. Les certificats IP nécessitent le support d'une "
"Autorité de Certification (CA) et peuvent ne pas être disponibles auprès de "
"tous les fournisseurs ACME."

#: src/views/backup/components/BackupCreator.vue:141
msgid ""
"This token will only be shown once and cannot be retrieved later. Please "
"make sure to save it in a secure location."
msgstr ""
"Ce jeton ne sera affiché qu'une seule fois et ne pourra pas être récupéré "
"ultérieurement. Veuillez vous assurer de le sauvegarder dans un endroit "
"sécurisé."

#: src/constants/form_errors.ts:4 src/language/curd.ts:44
msgid "This value is already taken"
msgstr "Cette valeur est déjà utilisée"

#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "Cela supprimera définitivement %{type}."

#: src/views/nginx_log/indexing/IndexManagement.vue:30
msgid ""
"This will rebuild the entire log index. All existing index data will be "
"deleted and rebuilt from scratch. This may take some time. Continue?"
msgstr ""
"Cela reconstruira l'index complet des journaux. Toutes les données d'index "
"existantes seront supprimées et reconstruites à partir de zéro. Cela peut "
"prendre un certain temps. Continuer ?"

#: src/views/nginx_log/indexing/IndexManagement.vue:56
msgid "This will rebuild the index data for this specific file: %{path}"
msgstr "Cela reconstruira les données d'index pour ce fichier spécifique : %{path}"

#: src/components/SystemRestore/SystemRestoreContent.vue:253
#: src/components/SystemRestore/SystemRestoreContent.vue:336
msgid ""
"This will restore all Nginx configuration files. Nginx will restart after "
"the restoration is complete."
msgstr ""
"Cela restaurera tous les fichiers de configuration de Nginx. Nginx "
"redémarrera une fois la restauration terminée."

#: src/components/SystemRestore/SystemRestoreContent.vue:264
#: src/components/SystemRestore/SystemRestoreContent.vue:347
msgid ""
"This will restore configuration files and database. Nginx UI will restart "
"after the restoration is complete."
msgstr ""
"Cela restaurera les fichiers de configuration et la base de données. "
"L'interface Nginx redémarrera une fois la restauration terminée."

#: src/views/node/BatchUpgrader.vue:187
msgid "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
msgstr ""
"Cela mettra à jour ou réinstallera l'interface Nginx sur %{nodeNames} vers "
"la version %{version}."

#: src/views/preference/tabs/AuthSettings.vue:89
msgid "Throttle"
msgstr "Limitation"

#: src/views/backup/AutoBackup/components/CronEditor.vue:30
msgid "Thursday"
msgstr "Jeudi"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:185
#: src/views/nginx_log/structured/StructuredLogViewer.vue:517
msgid "Time"
msgstr "Temps"

#: src/views/nginx_log/NginxLogList.vue:311
#: src/views/nginx_log/structured/StructuredLogViewer.vue:696
msgid "Time Range"
msgstr "Plage de temps"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:630
msgid "Timeout (seconds)"
msgstr "Délai d'expiration (secondes)"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
#: src/views/preference/tabs/LogrotateSettings.vue:12
msgid "Tips"
msgstr "Conseils"

#: src/views/dashboard/components/PerformanceTablesCard.vue:207
msgid ""
"Tips: You can increase the concurrency processing capacity by increasing "
"worker_processes or worker_connections"
msgstr ""
"Astuce : Vous pouvez augmenter la capacité de traitement concurrent en "
"augmentant worker_processes ou worker_connections."

#: src/views/notification/notificationColumns.tsx:58
msgid "Title"
msgstr "Titre"

#: src/language/curd.ts:68 src/language/curd.ts:69
msgid "to confirm deletion"
msgstr "pour confirmer la suppression"

#: src/views/certificate/components/RemoveCert.vue:134
msgid "To confirm revocation, please type \"Revoke\" in the field below:"
msgstr ""
"Pour confirmer la révocation, veuillez taper \"Révoquer\" dans le champ "
"ci-dessous :"

#: src/views/preference/components/AuthSettings/TOTP.vue:70
msgid ""
"To enable it, you need to install the Google or Microsoft Authenticator app "
"on your mobile phone."
msgstr ""
"Pour l'activer, vous devez installer l'application Google Authenticator ou "
"Microsoft Authenticator sur votre téléphone portable."

#: src/views/preference/components/AuthSettings/AddPasskey.vue:95
msgid ""
"To ensure security, Webauthn configuration cannot be added through the UI. "
"Please manually configure the following in the app.ini configuration file "
"and restart Nginx UI."
msgstr ""
"Pour garantir la sécurité, la configuration WebAuthn ne peut pas être "
"ajoutée via l'interface utilisateur. Veuillez configurer manuellement les "
"éléments suivants dans le fichier de configuration app.ini et redémarrer "
"Nginx UI."

#: src/views/site/site_edit/components/Cert/IssueCert.vue:47
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:15
msgid ""
"To make sure the certification auto-renewal can work normally, we need to "
"add a location which can proxy the request from authority to backend, and "
"we need to save this file and reload the Nginx. Are you sure you want to "
"continue?"
msgstr ""
"Pour nous assurer que le renouvellement automatique de la certification "
"peut fonctionner normalement, nous devons ajouter un emplacement qui peut "
"transmettre la demande de l'autorité au backend, et nous devons enregistrer "
"ce fichier et recharger le Nginx. Êtes-vous sûr de vouloir continuer?"

#: src/views/preference/tabs/OpenAISettings.vue:37
msgid ""
"To use a local large model, deploy it with ollama, vllm or lmdeploy. They "
"provide an OpenAI-compatible API endpoint, so just set the baseUrl to your "
"local API."
msgstr ""
"Pour utiliser un modèle local de grande taille, déployez-le avec ollama, "
"vllm ou lmdeploy. Ils fournissent un point de terminaison d'API compatible "
"avec OpenAI, il suffit donc de définir le baseUrl sur votre API locale."

#: src/views/dashboard/NginxDashBoard.vue:56
msgid "Toggle failed"
msgstr "Échec de la bascule"

#: src/constants/errors/user.ts:13
msgid "Token is empty"
msgstr "Le jeton est vide"

#: src/views/preference/tabs/OpenAISettings.vue:62
msgid "Token is not valid"
msgstr "Le jeton n'est pas valide"

#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:269
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:305
msgid "Top 10 Countries / Regions"
msgstr "Top 10 des pays / régions"

#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:246
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:282
msgid "Top 10 Provinces / Regions"
msgstr "Top 10 Provinces / Régions"

#: src/views/nginx_log/dashboard/components/TopUrlsTable.vue:37
msgid "TOP 10 URLs"
msgstr "Top 10 des URL"

#: src/language/curd.ts:5
msgid "Total"
msgstr "Total"

#: src/views/system/Licenses.vue:107
msgid "Total Components"
msgstr "Total des composants"

#: src/composables/usePerformanceMetrics.ts:94
#: src/views/dashboard/components/PerformanceTablesCard.vue:54
msgid "Total connections"
msgstr "Connexions totales"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:763
msgid "Total Entries"
msgstr "Total des entrées"

#: src/composables/usePerformanceMetrics.ts:89
#: src/views/dashboard/components/PerformanceTablesCard.vue:49
msgid "Total handshakes"
msgstr "Poignées de main totales"

#: src/views/dashboard/components/ProcessDistributionCard.vue:53
msgid "Total Nginx processes"
msgstr "Total des processus Nginx"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
msgid "Total Nginx Processes"
msgstr "Total des processus Nginx"

#: src/views/nginx_log/dashboard/components/SummaryStats.vue:24
msgid "Total PV"
msgstr "PV total"

#: src/views/dashboard/ServerAnalytic.vue:284
msgid "Total Receive"
msgstr "Réception totale"

#: src/composables/usePerformanceMetrics.ts:99
#: src/views/dashboard/components/PerformanceTablesCard.vue:59
msgid "Total requests"
msgstr "Requêtes totales"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
msgid "Total Requests / Total Connections"
msgstr "Requêtes totales / Connexions totales"

#: src/views/dashboard/ServerAnalytic.vue:290
msgid "Total Send"
msgstr "Total envoyé"

#: src/views/nginx_log/dashboard/components/SummaryStats.vue:15
msgid "Total UV"
msgstr "UV total"

#: src/views/preference/components/AuthSettings/TOTP.vue:68
msgid "TOTP"
msgstr "TOTP"

#: src/views/preference/components/AuthSettings/TOTP.vue:69
msgid ""
"TOTP is a two-factor authentication method that uses a time-based one-time "
"password algorithm."
msgstr ""
"TOTP est une méthode d'authentification à deux facteurs qui utilise un "
"algorithme de mot de passe à usage unique basé sur le temps."

#: src/views/nginx_log/structured/StructuredLogViewer.vue:781
msgid "Traffic"
msgstr "Trafic"

#: src/components/Notification/detailRender.tsx:71
msgid "Translating error..."
msgstr "Traduction de l'erreur..."

#: src/language/curd.ts:20
msgid "Trash"
msgstr "Corbeille"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:829
msgid "Try adjusting your search criteria or navigate to different pages."
msgstr ""
"Essayez d'ajuster vos critères de recherche ou de naviguer vers différentes "
"pages."

#: src/views/nginx_log/structured/StructuredLogViewer.vue:839
msgid "Try adjusting your search criteria or time range."
msgstr "Essayez d'ajuster vos critères de recherche ou la plage horaire."

#: src/views/dns/components/DNSRecordTable.vue:30
msgid "TTL"
msgstr "TTL"

#: src/views/dns/components/DNSRecordForm.vue:79
#: src/views/site/site_add/components/DNSRecordIntegration.vue:342
#: src/views/site/site_edit/components/RightPanel/DNS.vue:511
#: src/views/site/site_edit/components/RightPanel/DNS.vue:636
msgid "TTL (seconds)"
msgstr "TTL (secondes)"

#: src/views/backup/AutoBackup/components/CronEditor.vue:28
msgid "Tuesday"
msgstr "Mardi"

#: src/components/TwoFA/use2FAModal.ts:46
msgid "Two-factor authentication required"
msgstr "Authentification à deux facteurs requise"

#: src/composables/useUpstreamStatus.ts:122
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:62
#: src/views/dns/components/DNSRecordFilter.vue:49
#: src/views/dns/components/DNSRecordForm.vue:58
#: src/views/dns/components/DNSRecordTable.vue:22
#: src/views/nginx_log/NginxLogList.vue:146
#: src/views/notification/notificationColumns.tsx:8
#: src/views/preference/components/ExternalNotify/columns.tsx:19
msgid "Type"
msgstr "Type"

#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "Tapez %{delete} pour confirmer"

#: src/views/dns/DDNSManager.vue:318
msgid "Type or select A/AAAA records"
msgstr "Saisissez ou sélectionnez des enregistrements A/AAAA"

#: src/views/nginx_log/structured/components/SearchFilters.vue:142
msgid "Type or select browser"
msgstr "Saisissez ou sélectionnez un navigateur"

#: src/views/nginx_log/structured/components/SearchFilters.vue:174
msgid "Type or select device"
msgstr "Saisir ou sélectionner un appareil"

#: src/views/nginx_log/structured/components/SearchFilters.vue:158
msgid "Type or select OS"
msgstr "Saisir ou sélectionner un OS"

#: src/views/nginx_log/structured/components/SearchFilters.vue:111
msgid "Type or select status codes"
msgstr "Saisissez ou sélectionnez des codes d'état"

#: src/components/LLM/ChatMessageInput.vue:81
msgid "Type your message here..."
msgstr "Tapez votre message ici..."

#: src/views/nginx_log/structured/StructuredLogViewer.vue:787
msgid "Unique Pages"
msgstr "Pages uniques"

#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:19
msgid "Unknown"
msgstr "Inconnu"

#: src/constants/errors/backup.ts:67
msgid "Unsupported backup type: {0}"
msgstr "Type de sauvegarde non pris en charge : {0}"

#: src/constants/errors/nginx_log.parser.ts:4
msgid "Unsupported log format"
msgstr "Format de journal non pris en charge"

#: src/constants/errors/upgrader.ts:6
msgid "Update already in progress"
msgstr "Mise à jour déjà en cours"

#: src/views/user/UserProfile.vue:218
msgid "Update Password"
msgstr "Mettre à jour le mot de passe"

#: src/views/user/UserProfile.vue:142
msgid "Update Profile"
msgstr "Mettre à jour le profil"

#: src/views/preference/components/AuthSettings/Passkey.vue:40
msgid "Update successfully"
msgstr "Mise à jour réussie"

#: src/views/backup/AutoBackup/AutoBackup.vue:236
#: src/views/certificate/ACMEUser.vue:124
#: src/views/config/components/ConfigRightPanel/Basic.vue:54
#: src/views/config/configColumns.tsx:44 src/views/dns/DNSCredential.vue:65
#: src/views/dns/DNSDomainList.vue:211 src/views/namespace/columns.ts:91
#: src/views/node/nodeColumns.tsx:89
#: src/views/site/site_edit/components/RightPanel/Basic.vue:39
#: src/views/site/site_list/columns.tsx:113 src/views/stream/columns.tsx:80
#: src/views/stream/components/RightPanel/Basic.vue:35
#: src/views/user/userColumns.tsx:52
msgid "Updated at"
msgstr "Mis à jour le"

#: src/routes/modules/system.ts:26 src/views/node/Node.vue:187
#: src/views/node/Node.vue:195 src/views/system/Upgrade.vue:154
#: src/views/system/Upgrade.vue:159
msgid "Upgrade"
msgstr "Mettre à niveau"

#: src/views/node/BatchUpgrader.vue:138
msgid "Upgraded Nginx UI on %{node} successfully 🎉"
msgstr "Nginx UI sur %{node} mis à jour avec succès 🎉"

#: src/language/constants.ts:30
msgid "Upgraded successfully"
msgstr "Mise à niveau réussie"

#: src/constants/errors/upgrader.ts:3
msgid "Upgrader core digest is empty"
msgstr "Le résumé du cœur de mise à jour est vide"

#: src/constants/errors/upgrader.ts:2
msgid "Upgrader core downloadUrl is empty"
msgstr "L'URL de téléchargement du noyau de mise à jour est vide"

#: src/views/node/BatchUpgrader.vue:88 src/views/system/Upgrade.vue:80
msgid "Upgrading Nginx UI, please wait..."
msgstr "Mise à jour de Nginx UI, veuillez patienter..."

#: src/views/certificate/components/CertificateFileUpload.vue:122
msgid "Upload %{type} File"
msgstr "Téléverser le fichier %{type}"

#: src/language/curd.ts:49
msgid "Upload Files"
msgstr "Téléverser des fichiers"

#: src/language/curd.ts:50
msgid "Upload Folders"
msgstr "Télécharger des dossiers"

#: src/composables/useUpstreamStatus.ts:122 src/routes/modules/upstream.ts:10
#: src/views/upstream/SocketList.vue:24
msgid "Upstream"
msgstr "Amont"

#: src/components/NgxConfigEditor/NgxUpstream.vue:125
msgid "Upstream Name"
msgstr "Nom de l'amont"

#: src/views/upstream/SocketList.vue:133
msgid "Upstream Sockets"
msgstr "Sockets Upstream"

#: src/views/namespace/columns.ts:59
msgid "Upstream Test Type"
msgstr "Type de test en amont"

#: src/views/dashboard/ServerAnalytic.vue:184
msgid "Uptime:"
msgstr "Disponibilité :"

#: src/views/nginx_log/dashboard/components/TopUrlsTable.vue:13
#: src/views/node/nodeColumns.tsx:18 src/views/system/Licenses.vue:34
msgid "URL"
msgstr "URL"

#: src/views/dns/components/DNSRecordForm.vue:65
msgid "Use @ for root"
msgstr "Utilisez @ pour la racine"

#: src/components/TwoFA/Authorization.vue:121
msgid "Use OTP"
msgstr "Utiliser OTP"

#: src/components/TwoFA/Authorization.vue:117
msgid "Use recovery code"
msgstr "Utiliser un code de récupération"

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:157
msgid "Use Temporary Path"
msgstr "Utiliser un chemin temporaire"

#: src/components/LLM/ChatMessage.vue:216
msgid "User"
msgstr "Utilisateur"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:636
#: src/views/nginx_log/structured/components/SearchFilters.vue:200
msgid "User Agent"
msgstr "Agent utilisateur"

#: src/constants/errors/user.ts:3
msgid "User banned"
msgstr "Utilisateur banni"

#: src/views/user/UserProfile.vue:62
msgid "User info updated successfully"
msgstr "Informations utilisateur mises à jour avec succès"

#: src/constants/errors/user.ts:8
msgid "User not enabled otp as 2fa"
msgstr "L'utilisateur n'a pas activé l'OTP comme 2FA"

#: src/routes/modules/user.ts:19
msgid "User Profile"
msgstr "Profil utilisateur"

#: src/views/other/Login.vue:298 src/views/user/userColumns.tsx:7
#: src/views/user/UserProfile.vue:127 src/views/user/UserProfile.vue:131
msgid "Username"
msgstr "Nom d'utilisateur"

#: src/views/install/components/InstallForm.vue:95
msgid "Username (*)"
msgstr "Nom d'utilisateur (*)"

#: src/views/install/components/InstallForm.vue:39
msgid "Username length cannot exceed 255 characters"
msgstr "La longueur du nom d'utilisateur ne peut pas dépasser 255 caractères"

#: src/views/nginx_log/structured/StructuredLogViewer.vue:775
msgid "UV"
msgstr "UV"

#: src/components/CertInfo/CertInfo.vue:24
#: src/views/certificate/ACMEUser.vue:161
#: src/views/certificate/CertificateList/certColumns.tsx:76
msgid "Valid"
msgstr "Valide"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:658
msgid "Validate SSL Certificate"
msgstr "Valider le certificat SSL"

#: src/views/dashboard/components/PerformanceTablesCard.vue:22
#: src/views/dns/components/DNSRecordForm.vue:67
#: src/views/dns/components/DNSRecordTable.vue:26
msgid "Value"
msgstr "Valeur"

#: src/components/SystemRestore/SystemRestoreContent.vue:242
#: src/components/SystemRestore/SystemRestoreContent.vue:325
msgid "Verify Backup File Integrity (required)"
msgstr "Vérifier l'intégrité du fichier de sauvegarde (requis)"

#: src/views/dashboard/components/SiteHealthCheckModal.vue:664
msgid "Verify Hostname"
msgstr "Vérifier le nom d'hôte"

#: src/views/install/components/InstallView.vue:184
msgid "Verify Secret"
msgstr "Vérifier le secret"

#: src/views/install/components/InstallView.vue:143
msgid "Verify system requirements"
msgstr "Vérifiez les exigences du système"

#: src/views/node/nodeColumns.tsx:30 src/views/system/Licenses.vue:28
msgid "Version"
msgstr "Version"

#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:490
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:108
#: src/views/system/Licenses.vue:180 src/views/system/Licenses.vue:215
#: src/views/system/Licenses.vue:250
msgid "View"
msgstr "Voir"

#: src/components/Notification/Notification.vue:185
msgid "View all notifications"
msgstr "Voir toutes les notifications"

#: src/views/node/BatchUpgrader.vue:236 src/views/system/Upgrade.vue:279
msgid "View on GitHub"
msgstr "Voir sur GitHub"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:135
msgid "View Recovery Codes"
msgstr "Afficher les codes de récupération"

#: src/views/system/About.vue:83
msgid "View Third-party Components"
msgstr "Voir les composants tiers"

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:71
msgid "Viewed"
msgstr "Vu"

#: src/composables/useGeoTranslation.ts:167
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:151
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:176
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:64
#: src/views/nginx_log/dashboard/components/TopUrlsTable.vue:19
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:116
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:144
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:212
msgid "Visits"
msgstr "Visites"

#: src/composables/usePerformanceMetrics.ts:114
#: src/views/dashboard/components/PerformanceTablesCard.vue:74
msgid "Waiting processes"
msgstr "Processus d'attente"

#: src/components/InspectConfig/InspectConfig.vue:156 src/constants/index.ts:24
#: src/views/backup/components/BackupCreator.vue:138
#: src/views/notification/notificationColumns.tsx:21
#: src/views/preference/components/AuthSettings/AddPasskey.vue:88
msgid "Warning"
msgstr "Avertissement"

#: src/components/SystemRestore/SystemRestoreContent.vue:198
#: src/components/SystemRestore/SystemRestoreContent.vue:281
msgid ""
"Warning: Restore operation will overwrite current configurations. Make sure "
"you have a valid backup file and security token, and carefully select what "
"to restore."
msgstr ""
"Avertissement : L'opération de restauration écrasera les configurations "
"actuelles. Assurez-vous d'avoir un fichier de sauvegarde valide et un jeton "
"de sécurité, et sélectionnez soigneusement ce qu'il faut restaurer."

#: src/components/AutoCertForm/AutoCertForm.vue:103
msgid ""
"Warning: This appears to be a private IP address. Public CAs like Let's "
"Encrypt cannot issue certificates for private IPs. Use a public IP address "
"or consider using a private CA."
msgstr ""
"Avertissement : Il s'agit apparemment d'une adresse IP privée. Les "
"autorités de certification publiques comme Let's Encrypt ne peuvent pas "
"émettre de certificats pour les IP privées. Utilisez une adresse IP "
"publique ou envisagez d'utiliser une autorité de certification privée."

#: src/views/nginx_log/components/IndexingSettingsModal.vue:298
msgid "We do not accept any feature requests"
msgstr "Nous n'acceptons aucune demande de fonctionnalité"

#: src/views/site/site_edit/components/Cert/ObtainCert.vue:181
msgid ""
"We will remove the HTTPChallenge configuration from this file and reload "
"the Nginx. Are you sure you want to continue?"
msgstr ""
"Nous allons supprimer la configuration HTTPChallenge de ce fichier et "
"recharger le Nginx. Êtes-vous sûr de vouloir continuer?"

#: src/views/preference/tabs/AuthSettings.vue:62
msgid "Webauthn"
msgstr "Webauthn"

#: src/constants/errors/user.ts:7
msgid "WebAuthn settings are not configured"
msgstr "Les paramètres WebAuthn ne sont pas configurés"

#: src/views/certificate/components/RemoveCert.vue:65
msgid "WebSocket connection error"
msgstr "Erreur de connexion WebSocket"

#: src/views/preference/components/ExternalNotify/wecom.ts:5
msgid "WeCom"
msgstr "WeCom"

#: src/views/backup/AutoBackup/components/CronEditor.vue:29
msgid "Wednesday"
msgstr "mercredi"

#: src/views/backup/AutoBackup/components/CronEditor.vue:20
msgid "Weekly"
msgstr "Hebdomadaire"

#: src/views/backup/AutoBackup/AutoBackup.vue:134
msgid "Weekly on %{day} at %{time}"
msgstr "Hebdomadairement le %{day} à %{time}"

#: src/views/dns/components/DNSRecordForm.vue:85
#: src/views/dns/components/DNSRecordTable.vue:38
msgid "Weight"
msgstr "Poids"

#: src/views/certificate/ACMEUser.vue:119
msgid ""
"When Enabled, Nginx UI will automatically re-register users upon startup. "
"Generally, do not enable this unless you are in a dev environment and using "
"Pebble as CA."
msgstr ""
"Lorsqu'elle est activée, l'interface Nginx réenregistrera automatiquement "
"les utilisateurs au démarrage. En général, ne l'activez pas sauf si vous "
"êtes dans un environnement de développement et que vous utilisez Pebble "
"comme CA."

#: src/views/site/site_edit/components/RightPanel/Basic.vue:62
#: src/views/stream/components/RightPanel/Basic.vue:57
msgid ""
"When you enable/disable, delete, or save this site, the nodes set in the "
"namespace and the nodes selected below will be synchronized."
msgstr ""
"Lorsque vous activez/désactivez, supprimez ou enregistrez ce site, les "
"nœuds définis dans l'espace de noms et les nœuds sélectionnés ci-dessous "
"seront synchronisés."

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:141
msgid ""
"When you generate new recovery codes, you must download or print the new "
"codes."
msgstr ""
"Lorsque vous générez de nouveaux codes de récupération, vous devez "
"télécharger ou imprimer les nouveaux codes."

#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:159
msgid "Whether to use a temporary path when writing temporary files"
msgstr ""
"S'il faut utiliser un chemin temporaire lors de l'écriture de fichiers "
"temporaires"

#: src/views/certificate/components/DNSIssueCertificate.vue:110
msgid "Wildcard Certificate"
msgstr "Certificat générique"

#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48
msgid "Worker Connections"
msgstr "Connexions des travailleurs"

#: src/composables/usePerformanceMetrics.ts:55
#: src/views/dashboard/components/ConnectionMetricsCard.vue:48
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25
#: src/views/dashboard/components/ProcessDistributionCard.vue:12
msgid "Worker Processes"
msgstr "Processus de travail"

#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
msgid "Workers"
msgstr "Workers"

#: src/layouts/HeaderLayout.vue:61 src/routes/index.ts:63
#: src/views/workspace/WorkSpace.vue:51
msgid "Workspace"
msgstr "Espace de travail"

#: src/constants/errors/cert.ts:21
msgid "Write fullchain.cer error: {0}"
msgstr "Erreur d'écriture de fullchain.cer : {0}"

#: src/constants/errors/cert.ts:22
msgid "Write private.key error: {0}"
msgstr "Erreur d'écriture de private.key : {0}"

#: src/views/dashboard/ServerAnalytic.vue:37
#: src/views/dashboard/ServerAnalytic.vue:381
msgid "Writes"
msgstr "Écritures"

#: src/language/constants.ts:17
msgid "Writing certificate private key to disk"
msgstr "Écriture de la clé privée du certificat sur le disque"

#: src/language/constants.ts:16
msgid "Writing certificate to disk"
msgstr "Écriture du certificat sur le disque"

#: src/components/NamespaceTabs/NamespaceTabs.vue:135
#: src/components/NamespaceTabs/NamespaceTabs.vue:147
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:123
#: src/components/NgxConfigEditor/LocationEditor.vue:100
#: src/views/nginx_log/indexing/IndexManagement.vue:31
#: src/views/nginx_log/indexing/IndexManagement.vue:57
#: src/views/preference/tabs/AuthSettings.vue:127
#: src/views/preference/tabs/CertSettings.vue:72
msgid "Yes"
msgstr "Oui"

#: src/views/terminal/Terminal.vue:219
msgid ""
"You are accessing this terminal over an insecure HTTP connection on a "
"non-localhost domain. This may expose sensitive information."
msgstr ""
"Vous accédez à ce terminal via une connexion HTTP non sécurisée sur un "
"domaine non localhost. Cela peut exposer des informations sensibles."

#: src/constants/errors/config.ts:12
msgid "You are not allowed to delete a file outside of the nginx config path"
msgstr ""
"Vous n'êtes pas autorisé à supprimer un fichier en dehors du chemin de "
"configuration de nginx"

#: src/views/system/Upgrade.vue:224
msgid "You are using the latest version"
msgstr "Vous utilisez la dernière version"

#: src/views/system/Upgrade.vue:180
msgid "You can check Nginx UI upgrade at this page."
msgstr "Vous pouvez vérifier la mise à niveau de Nginx UI sur cette page."

#: src/components/SystemRestore/SystemRestoreContent.vue:371
msgid "You can close this dialog in %{countdown} seconds"
msgstr "Vous pouvez fermer cette boîte de dialogue dans %{countdown} secondes"

#: src/components/SystemRestore/SystemRestoreContent.vue:374
msgid "You can close this dialog now"
msgstr "Vous pouvez maintenant fermer cette boîte de dialogue"

#: src/views/preference/components/AuthSettings/AddPasskey.vue:93
msgid ""
"You have not configured the settings of Webauthn, so you cannot add a "
"passkey."
msgstr ""
"Vous n'avez pas configuré les paramètres de WebAuthn, vous ne pouvez donc "
"pas ajouter de clé d'accès."

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:82
msgid "You have not enabled 2FA yet. Please enable 2FA to generate recovery codes."
msgstr ""
"Vous n'avez pas encore activé la 2FA. Veuillez activer la 2FA pour générer "
"des codes de récupération."

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:95
msgid "You have not generated recovery codes yet."
msgstr "Vous n'avez pas encore généré de codes de récupération."

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:92
msgid ""
"Your current recovery code might be outdated and insecure. Please generate "
"new recovery codes at your earliest convenience to ensure security."
msgstr ""
"Votre code de récupération actuel pourrait être obsolète et non sécurisé. "
"Veuillez générer de nouveaux codes de récupération dès que possible pour "
"assurer la sécurité."

#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:143
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:156
msgid "Your old codes won't work anymore."
msgstr "Vos anciens codes ne fonctionneront plus."

#: src/views/preference/components/AuthSettings/Passkey.vue:76
msgid "Your passkeys"
msgstr "Vos clés d'accès"

#: src/views/nginx_log/components/IndexingSettingsModal.vue:232
msgid "Zero-allocation pipeline"
msgstr "Pipeline sans allocation"

#~ msgid "Backup file integrity check failed, it may have been tampered with"
#~ msgstr ""
#~ "La vérification de l'intégrité du fichier de sauvegarde a échoué, il a "
#~ "peut-être été falsifié"

#~ msgid "Once the verification is complete, the records will be removed."
#~ msgstr "Une fois la vérification terminée, les enregistrements seront supprimés."

#~ msgid ""
#~ "We will add one or more TXT records to the DNS records of your domain for "
#~ "ownership verification."
#~ msgstr ""
#~ "Nous ajouterons un ou plusieurs enregistrements TXT aux enregistrements DNS "
#~ "de votre domaine pour vérifier la propriété."

#~ msgid "Settings"
#~ msgstr "Paramètres"

#~ msgid "Site Navigation"
#~ msgstr "Navigation du site"

#~ msgid "Total %{total} items"
#~ msgstr "Total de %{total} éléments"

#~ msgid "WebSocket not connected, please wait for connection"
#~ msgstr "WebSocket non connecté, veuillez attendre la connexion"

#~ msgid "in the same directory as"
#~ msgstr "dans le même répertoire que"

#~ msgid "Sandbox test successful"
#~ msgstr "Test du bac à sable réussi"

#~ msgid "Tested in isolated sandbox mode"
#~ msgstr "Testé en mode sandbox isolé"

#~ msgid "Based on M2 Pro (12 cores) testing"
#~ msgstr "Basé sur des tests avec M2 Pro (12 cœurs)"

#~ msgid "CPU Utilization"
#~ msgstr "Utilisation du CPU"

#~ msgid "Indexing Throughput"
#~ msgstr "Débit d'indexation"

#~ msgid "Memory Efficiency"
#~ msgstr "Efficacité mémoire"

#~ msgid "Performance Impact Notice"
#~ msgstr "Avis d'impact sur les performances"

#~ msgid "Zero-allocation pipeline optimization"
#~ msgstr "Optimisation de pipeline sans allocation"

#~ msgid "Ask ChatGPT for Help"
#~ msgstr "Demander de l'aide à ChatGPT"

#~ msgid "Geographic mapping & insights"
#~ msgstr "Cartographie géographique et insights"

#~ msgid "No feature requests accepted."
#~ msgstr "Aucune demande de fonctionnalité acceptée"

#~ msgid "Time-series trend analysis"
#~ msgstr "Analyse des tendances chronologiques"

#~ msgid "User-Agent & browser analytics"
#~ msgstr "Analyse de l'User-Agent et du navigateur"

#~ msgid "12+ cores (Apple M2 Pro or Intel equivalent)"
#~ msgstr "12+ cœurs (Apple M2 Pro ou équivalent Intel)"

#~ msgid "4GB+ RAM for optimal performance"
#~ msgstr "4 Go+ de RAM pour des performances optimales"

#~ msgid "Adaptive batch sizing"
#~ msgstr "Taille de lot adaptative"

#~ msgid "CPU Architecture"
#~ msgstr "Architecture du processeur"

#~ msgid "GeoIP and User-Agent parsing"
#~ msgstr "Analyse GeoIP et User-Agent"

#~ msgid "Minimum 1GB RAM"
#~ msgstr "Minimum 1 Go de RAM"

#~ msgid "Modern CPU (x86_64, ARM64)"
#~ msgstr "CPU moderne (x86_64, ARM64)"

#~ msgid "Real-time performance monitoring"
#~ msgstr "Surveillance des performances en temps réel"

#~ msgid "Sustained performance on modern hardware"
#~ msgstr "Performances soutenues sur du matériel moderne"

#~ msgid "Backup path not in granted access paths: {0}"
#~ msgstr "Le chemin de sauvegarde n'est pas dans les chemins d'accès accordés : {0}"

#~ msgid "Build with"
#~ msgstr "Build avec"

#~ msgid "Failed to copy database directory: {0}"
#~ msgstr "Échec de la copie du répertoire de la base de données : {0}"

#~ msgid "Failed to create backup directory: {0}"
#~ msgstr "Échec de la création du répertoire de sauvegarde : {0}"

#~ msgid "Failed to evaluate symbolic links: {0}"
#~ msgstr "Échec de l'évaluation des liens symboliques : {0}"

#~ msgid "Failed to restore Nginx UI files: {0}"
#~ msgstr ""
#~ "Échec de la restauration des fichiers de l'interface utilisateur de Nginx : "
#~ "{0}"

#~ msgid "Failed to write to zip buffer: {0}"
#~ msgstr "Échec de l'écriture dans le tampon ZIP : {0}"

#~ msgid "Hash verification failed: file integrity compromised"
#~ msgstr "Échec de la vérification du hachage : intégrité du fichier compromise"

#~ msgid "S3 bucket access denied: {0}"
#~ msgstr "Accès au compartiment S3 refusé : {0}"

#~ msgid "S3 connection test failed: {0}"
#~ msgstr "Échec du test de connexion S3 : {0}"

#~ msgid "S3 credentials are invalid: {0}"
#~ msgstr "Les identifiants S3 sont invalides : {0}"

#~ msgid "S3 endpoint is invalid: {0}"
#~ msgstr "Le point de terminaison S3 est invalide : {0}"

#~ msgid "Storage path not in granted access paths: {0}"
#~ msgstr "Le chemin de stockage n'est pas dans les chemins d'accès accordés: {0}"

#~ msgid "files"
#~ msgstr "fichiers"

#~ msgid "Indexing logs, please wait..."
#~ msgstr "Indexation des journaux en cours, veuillez patienter..."

#~ msgid "Loading dashboard data..."
#~ msgstr "Chargement des données du tableau de bord..."

#~ msgid "Today"
#~ msgstr "Aujourd'hui"

#~ msgid "Data refreshed successfully"
#~ msgstr "Données actualisées avec succès"

#~ msgid "Failed to refresh data"
#~ msgstr "Échec de l'actualisation des données"

#~ msgid "Log File:"
#~ msgstr "Fichier journal :"

#~ msgid "Log path"
#~ msgstr "Chemin du journal"

#~ msgid "Index Size"
#~ msgstr "Taille de l'index"

#, fuzzy
#~ msgid "File Size"
#~ msgstr "Taille de page"

#~ msgid "Environments"
#~ msgstr "Environnements"

#~ msgid "Node Group"
#~ msgstr "Groupe de nœuds"

#~ msgid "Node Groups"
#~ msgstr "Groupes de nœuds"

#~ msgid "Check if the conf.d directory exists"
#~ msgstr "Vérifiez si le répertoire conf.d existe"

#~ msgid ""
#~ "Support communication with the backend through the Server-Sent Events "
#~ "protocol. If your Nginx UI is being used via an Nginx reverse proxy, please "
#~ "refer to this link to write the corresponding configuration file: "
#~ "https://nginxui.com/guide/nginx-proxy-example.html"
#~ msgstr ""
#~ "Prise en charge de la communication avec le backend via le protocole "
#~ "Server-Sent Events. Si votre interface Nginx est utilisée via un proxy "
#~ "inverse Nginx, veuillez consulter ce lien pour écrire le fichier de "
#~ "configuration correspondant : "
#~ "https://nginxui.com/guide/nginx-proxy-example.html"

#~ msgid "If left blank, the default CA Dir will be used."
#~ msgstr "Si vide, le répertoire CA sera utilisé."

#~ msgid "Save error %{msg}"
#~ msgstr "Enregistrer l'erreur %{msg}"

#~ msgid "Main"
#~ msgstr "Principal"

#~ msgid "Select an action after sync"
#~ msgstr "Sélectionner une action après la synchronisation"

#~ msgid "Link Start"
#~ msgstr "Démarrer la liaison"

#~ msgid "Enable failed"
#~ msgstr "Échec de l'activation"

#~ msgid "Create"
#~ msgstr "Créer"

#~ msgid "Do you want to disable this stream?"
#~ msgstr "Voulez-vous désactiver ce flux ?"

#~ msgid "Do you want to enable this stream?"
#~ msgstr "Voulez-vous activer ce flux ?"

#~ msgid "Both Config"
#~ msgstr "Les deux configurations"

#~ msgid "Nginx Config"
#~ msgstr "Configuration Nginx"

#~ msgid "Nginx UI Config"
#~ msgstr "Configuration de l'interface Nginx"

#~ msgid "Disable"
#~ msgstr "Désactiver"

#~ msgid "Enable"
#~ msgstr "Activer"

#~ msgid "Last Backup Error"
#~ msgstr "Dernière erreur de sauvegarde"

#~ msgid "Apply bulk action successfully"
#~ msgstr "Action groupée appliquée avec succès"

#~ msgid "Are you sure you want to apply to all selected?"
#~ msgstr "Êtes-vous sûr de vouloir appliquer à tous les éléments sélectionnés ?"

#~ msgid "Are you sure you want to recover this item?"
#~ msgstr "Êtes-vous sûr de vouloir récupérer cet élément ?"

#~ msgid "Batch Actions"
#~ msgstr "Actions groupées"

#~ msgid "Modify Mode"
#~ msgstr "Mode modification"

#~ msgid "Ok"
#~ msgstr "Ok"

#~ msgid "Recover"
#~ msgstr "Récupérer"

#~ msgid "Recovered Successfully"
#~ msgstr "Récupéré avec succès"

#~ msgid "View Details"
#~ msgstr "Afficher les détails"

#~ msgid "View Mode"
#~ msgstr "Mode Affichage"

#~ msgid ""
#~ "Check if /var/run/docker.sock exists. If you are using Nginx UI Official "
#~ "Docker Image, please make sure the docker socket is mounted like this: `-v "
#~ "/var/run/docker.sock:/var/run/docker.sock`."
#~ msgstr ""
#~ "Vérifiez si /var/run/docker.sock existe. Si vous utilisez l'image Docker "
#~ "officielle de Nginx UI, assurez-vous que le socket Docker est monté comme "
#~ "ceci : `-v /var/run/docker.sock:/var/run/docker.sock`."

#~ msgid "Check if the nginx access log path exists"
#~ msgstr "Vérifiez si le chemin du journal d'accès de nginx existe"

#~ msgid "Check if the nginx error log path exists"
#~ msgstr "Vérifier si le chemin du journal d'erreurs de nginx existe"

#~ msgid "Check if the docker socket exists."
#~ msgstr "Vérifiez si le socket Docker existe."

#~ msgid "Database (Optional, default: database)"
#~ msgstr "Base de données (Facultatif, par défaut : database)"

#~ msgid "The filename cannot contain the following characters: %{c}"
#~ msgstr "Le nom de fichier ne peut pas contenir les caractères suivants : %{c}"

#~ msgid "Unknown issue"
#~ msgstr "Problème inconnu"

#, fuzzy
#~ msgid "AutoCert is running, please wait"
#~ msgstr ""
#~ "Cet élément de certification automatique n'est pas valide, veuillez le "
#~ "supprimer."

#, fuzzy
#~ msgid "Nginx Conf Include Conf.d"
#~ msgstr "Commande de démarrage du terminal"

#~ msgid "Format error %{msg}"
#~ msgstr "Erreur de format %{msg}"

#, fuzzy
#~ msgid "Bot Token"
#~ msgstr "Jeton d'API"

#, fuzzy
#~ msgid "Server URL"
#~ msgstr "Informations sur le serveur"

#~ msgid "Do you want to disable this site?"
#~ msgstr "Voulez-vous désactiver ce site ?"

#, fuzzy
#~ msgid "Created At"
#~ msgstr "Créé le"

#~ msgid "Category"
#~ msgstr "Catégorie"

#, fuzzy
#~ msgid "Deploy %{conf_name} to %{node_name} successfully"
#~ msgstr "Dupliqué avec succès"

#, fuzzy
#~ msgid "Deploy successfully"
#~ msgstr "Sauvegarde réussie"

#, fuzzy
#~ msgid "Disable site %{site} on %{node} error, response: %{resp}"
#~ msgstr "Dupliqué avec succès"

#, fuzzy
#~ msgid "Do you want to deploy this file to remote server?"
#~ msgid_plural "Do you want to deploy this file to remote servers?"
#~ msgstr[0] "Voulez-vous supprimer ce serveur ?"
#~ msgstr[1] "Voulez-vous supprimer ce serveur ?"

#, fuzzy
#~ msgid "Duplicate %{conf_name} to %{node_name} successfully"
#~ msgstr "Dupliqué avec succès"

#, fuzzy
#~ msgid "Duplicate successfully"
#~ msgstr "Dupliqué avec succès"

#, fuzzy
#~ msgid "Enable %{conf_name} in %{node_name} successfully"
#~ msgstr "Dupliqué avec succès"

#, fuzzy
#~ msgid "Enable successfully"
#~ msgstr "Activé avec succès"

#, fuzzy
#~ msgid "Please upgrade the remote Nginx UI to the latest version"
#~ msgstr "Dupliqué avec succès"

#, fuzzy
#~ msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
#~ msgstr "Dupliqué avec succès"

#, fuzzy
#~ msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
#~ msgstr "Dupliqué avec succès"

#, fuzzy
#~ msgid "Save site %{site} to %{node} error, response: %{resp}"
#~ msgstr "Dupliqué avec succès"

#, fuzzy
#~ msgid ""
#~ "Sync Certificate %{cert_name} to %{env_name} failed, please upgrade the "
#~ "remote Nginx UI to the latest version"
#~ msgstr "Dupliqué avec succès"

#, fuzzy
#~ msgid "Sync Certificate %{cert_name} to %{env_name} failed, response: %{resp}"
#~ msgstr "Dupliqué avec succès"

#, fuzzy
#~ msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
#~ msgstr "Dupliqué avec succès"

#, fuzzy
#~ msgid "Incorrect username or password"
#~ msgstr "Le pseudo ou mot de passe est incorect"

#, fuzzy
#~ msgid ""
#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "
#~ "the remote Nginx UI to the latest version"
#~ msgstr "Dupliqué avec succès"

#, fuzzy
#~ msgid "Enable 2FA"
#~ msgstr "Activé"

#, fuzzy
#~ msgid "Rename "
#~ msgstr "Nom d'utilisateur"

#~ msgid "Certificate is valid"
#~ msgstr "Le certificat est valide"

#~ msgid "Intermediate Certification Authorities: %{issuer}"
#~ msgstr "Autorités de certification intermédiaires : %{issuer}"

#, fuzzy
#~ msgid "Subject Name: %{subject}"
#~ msgstr "Nom du sujet : %{name}"

#~ msgid "ChatGPT Model"
#~ msgstr "Modèle ChatGPT"

#~ msgid "GPT-3.5-Turbo"
#~ msgstr "GPT-3.5-Turbo"

#~ msgid "GPT-4"
#~ msgstr "GPT-4"

#~ msgid "GPT-4-32K"
#~ msgstr "GPT-4-32K"

#, fuzzy
#~ msgid "GPT-4-Turbo"
#~ msgstr "GPT-3.5-Turbo"

#~ msgid "Save Successfully"
#~ msgstr "Sauvegarde Réussie"

#~ msgid "Table"
#~ msgstr "Tableau"

#, fuzzy
#~ msgid "Auto Cert Log"
#~ msgstr "Journal Auto-Cert"

#~ msgid "Auto cert is enabled, please do not modify this certification."
#~ msgstr ""
#~ "La certification automatique est activée, veuillez ne pas modifier cette "
#~ "certification."

#, fuzzy
#~ msgid ""
#~ "Please fill in the API authentication credentials provided by your DNS "
#~ "provider.\n"
#~ "We will add one or more TXT records to the DNS records of your domain for "
#~ "ownership verification.\n"
#~ "Once the verification is complete, the records will be removed.\n"
#~ "Please note that the unit of time configurations below are all in seconds."
#~ msgstr ""
#~ "Veuillez remplir les identifiants d'authentification de l'API fournis par "
#~ "votre fournisseur DNS. Nous ajouterons un ou plusieurs enregistrements TXT "
#~ "aux enregistrements DNS de votre domaine pour la vérification de la "
#~ "propriété. Une fois la vérification terminée, les enregistrements seront "
#~ "supprimés. Veuillez noter que les configurations de temps ci-dessous sont "
#~ "toutes en secondes."

#~ msgid "Delete ID: %{id}"
#~ msgstr "Supprimer l'identifiant : %{id}"

#~ msgid "Dir"
#~ msgstr "Répertoire"

#~ msgid "Dark"
#~ msgstr "Sombre"

#~ msgid "Theme"
#~ msgstr "Thème"

#~ msgid "Git"
#~ msgstr "Git"

#~ msgid "Repo url"
#~ msgstr "URL de dépôt"
