# French translations for BorderAge Core plugin.
# Copyright (C) 2024 BorderAge
# This file is distributed under the same license as the BorderAge Core plugin.
msgid ""
msgstr ""
"Project-Id-Version: BorderAge Core 0.1.0\n"
"Report-Msgid-Bugs-To: https://borderage.com\n"
"POT-Creation-Date: 2024-01-01 00:00+0000\n"
"PO-Revision-Date: 2024-01-01 00:00+0000\n"
"Last-Translator: BorderAge Team\n"
"Language-Team: French\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"

msgid "BorderAge"
msgstr "BorderAge"

msgid "Age verification with zero personal data"
msgstr "Vérification d'âge sans données personnelles"

msgid "Get API Credentials"
msgstr "Obtenir les identifiants API"

msgid "Configuration"
msgstr "Configuration"

msgid "Protection"
msgstr "Protection"

msgid "Appearance"
msgstr "Apparence"

msgid "Statistics"
msgstr "Statistiques"

msgid "Guide"
msgstr "Guide"

msgid "Show"
msgstr "Afficher"

msgid "Hide"
msgstr "Masquer"

msgid "Copied!"
msgstr "Copié !"

msgid "Sending..."
msgstr "Envoi..."

msgid "Email sent!"
msgstr "Email envoyé !"

msgid "Error sending email"
msgstr "Erreur lors de l'envoi de l'email"

msgid "Coming soon"
msgstr "Bientôt disponible"

msgid "Permission denied"
msgstr "Permission refusée"

msgid "Test email sent successfully"
msgstr "Email de test envoyé avec succès"

msgid "Failed to send email: %s"
msgstr "Échec de l'envoi de l'email : %s"

msgid "Settings saved."
msgstr "Paramètres enregistrés."

msgid "You do not have the required permissions."
msgstr "Vous n'avez pas les permissions requises."

msgid "BorderAge:"
msgstr "BorderAge :"

msgid "Plugin Status"
msgstr "Statut du plugin"

msgid "Enable Protection"
msgstr "Activer la protection"

msgid "Enable or disable age verification on your site."
msgstr "Activer ou désactiver la vérification d'âge sur votre site."

msgid "API Credentials"
msgstr "Identifiants API"

msgid "Enter your BorderAge API credentials. You can obtain them from"
msgstr "Entrez vos identifiants API BorderAge. Vous pouvez les obtenir sur"

msgid "API ID"
msgstr "ID API"

msgid "API Secret"
msgstr "Clé secrète API"

msgid "Grain"
msgstr "Grain"

msgid "Temporal grain for verification. Updates monthly."
msgstr "Grain temporel pour la vérification. Mis à jour mensuellement."

msgid "Save Settings"
msgstr "Enregistrer les paramètres"

msgid "Debug Mode"
msgstr "Mode débogage"

msgid "Developer Options"
msgstr "Options développeur"

msgid "Enable to test without real API calls. Mock data will be used."
msgstr ""
"Activer pour tester sans appels API réels. Des données fictives seront "
"utilisées."

msgid "Debug PIN codes:"
msgstr "Codes PIN de test :"

msgid "Adult (access granted)"
msgstr "Adulte (accès autorisé)"

msgid "Minor (access denied)"
msgstr "Mineur (accès refusé)"

msgid "Invalid PIN"
msgstr "Code PIN invalide"

msgid "Any other 6 digits"
msgstr "Tout autre code à 6 chiffres"

msgid "Testing tools:"
msgstr "Outils de test :"

msgid "Reset verification cookie"
msgstr "Réinitialiser le cookie de vérification"

msgid "Opens homepage and clears the age verification to test again."
msgstr ""
"Ouvre la page d'accueil et efface la vérification d'âge pour tester à "
"nouveau."

msgid "Protection Mode"
msgstr "Mode de protection"

msgid "Apply Protection To"
msgstr "Appliquer la protection à"

msgid "Entire site"
msgstr "Tout le site"

msgid "All pages will require age verification."
msgstr "Toutes les pages nécessiteront une vérification d'âge."

msgid "Specific pages only"
msgstr "Pages spécifiques uniquement"

msgid "Only selected pages will require verification."
msgstr "Seules les pages sélectionnées nécessiteront une vérification."

msgid "Homepage"
msgstr "Page d'accueil"

msgid "Protect homepage"
msgstr "Protéger la page d'accueil"

msgid "Enable age verification on the homepage."
msgstr "Activer la vérification d'âge sur la page d'accueil."

msgid "Protected Pages"
msgstr "Pages protégées"

msgid "Select which pages and posts require age verification."
msgstr "Sélectionnez les pages et articles nécessitant une vérification d'âge."

msgid "Pages"
msgstr "Pages"

msgid "Posts"
msgstr "Articles"

msgid "Form Shape"
msgstr "Forme du formulaire"

msgid "Rectangle"
msgstr "Rectangle"

msgid "Square"
msgstr "Carré"

msgid "Colors"
msgstr "Couleurs"

msgid "Primary Color"
msgstr "Couleur principale"

msgid "Background Color"
msgstr "Couleur de fond"

msgid "Text Color"
msgstr "Couleur du texte"

msgid "Preview"
msgstr "Aperçu"

msgid "Age Verification"
msgstr "Vérification d'âge"

msgid "Verify"
msgstr "Vérifier"

msgid "Credits Remaining"
msgstr "Crédits restants"

msgid "Low credits"
msgstr "Crédits faibles"

msgid "Total Verifications"
msgstr "Vérifications totales"

msgid "Adults"
msgstr "Adultes"

msgid "Minors"
msgstr "Mineurs"

msgid "Credit Alerts"
msgstr "Alertes de crédits"

msgid "Alert Threshold"
msgstr "Seuil d'alerte"

msgid "Show warning when credits fall below this number."
msgstr ""
"Afficher un avertissement lorsque les crédits passent en dessous de ce "
"nombre."

msgid "Email Notifications"
msgstr "Notifications par email"

msgid "Send email when credits are low"
msgstr "Envoyer un email lorsque les crédits sont faibles"

msgid "Alert Email"
msgstr "Email d'alerte"

msgid "Leave empty to use the site admin email."
msgstr "Laisser vide pour utiliser l'email administrateur du site."

msgid "Need More Credits?"
msgstr "Besoin de plus de crédits ?"

msgid "Purchase additional credits from your BorderAge dashboard."
msgstr ""
"Achetez des crédits supplémentaires depuis votre tableau de bord BorderAge."

msgid "Go to Dashboard"
msgstr "Accéder au tableau de bord"

msgid "API Not Configured"
msgstr "API non configurée"

msgid ""
"Please configure your API credentials in the Configuration tab to view "
"statistics."
msgstr ""
"Veuillez configurer vos identifiants API dans l'onglet Configuration pour "
"voir les statistiques."

msgid ""
"Please configure your API credentials in the Configuration tab to protect "
"pages."
msgstr ""
"Veuillez configurer vos identifiants API dans l'onglet Configuration pour "
"protéger les pages."

msgid "Go to Configuration"
msgstr "Aller à la configuration"

msgid "How BorderAge Works"
msgstr "Comment fonctionne BorderAge"

msgid ""
"BorderAge is an age verification service that uses hand gesture recognition "
"to verify user age without requiring ID documents or selfies. Users simply "
"wave their hand in front of their camera, and the system analyzes the hand "
"characteristics to estimate age."
msgstr ""
"BorderAge est un service de vérification d'âge qui utilise la reconnaissance "
"de gestes de la main pour vérifier l'âge des utilisateurs sans nécessiter de "
"pièce d'identité ou de selfie. Les utilisateurs font simplement un geste de "
"la main devant leur caméra, et le système analyse les caractéristiques de la "
"main pour estimer l'âge."

msgid "User visits protected page"
msgstr "L'utilisateur visite une page protégée"

msgid "Hand gesture verification"
msgstr "Vérification par geste de la main"

msgid "Access granted"
msgstr "Accès autorisé"

msgid "Visitor Account System"
msgstr "Système de compte visiteur"

msgid "Important for sites without WordPress authentication"
msgstr "Important pour les sites sans authentification WordPress"

msgid ""
"If your site does not use WordPress user accounts for visitors (e.g., a "
"public content site), BorderAge automatically enables a lightweight visitor "
"account system."
msgstr ""
"Si votre site n'utilise pas de comptes utilisateurs WordPress pour les "
"visiteurs (par exemple, un site de contenu public), BorderAge active "
"automatiquement un système léger de comptes visiteurs."

msgid "Here's how the visitor account system works:"
msgstr "Voici comment fonctionne le système de compte visiteur :"

msgid "First visit:"
msgstr "Première visite :"

msgid ""
"When a visitor accesses a protected page for the first time, they are "
"redirected to the verification page."
msgstr ""
"Lorsqu'un visiteur accède à une page protégée pour la première fois, il est "
"redirigé vers la page de vérification."

msgid "Age verification:"
msgstr "Vérification d'âge :"

msgid "The visitor completes the hand gesture verification on BorderAge."
msgstr ""
"Le visiteur effectue la vérification par geste de la main sur BorderAge."

msgid "Account creation:"
msgstr "Création de compte :"

msgid ""
"After successful verification, the visitor can create a simple account "
"(username + password) to save their verification status."
msgstr ""
"Après une vérification réussie, le visiteur peut créer un compte simple "
"(identifiant + mot de passe) pour sauvegarder son statut de vérification."

msgid "Returning visits:"
msgstr "Visites ultérieures :"

msgid ""
"On subsequent visits, the visitor can log in with their account to skip re-"
"verification."
msgstr ""
"Lors des visites suivantes, le visiteur peut se connecter avec son compte "
"pour éviter une nouvelle vérification."

msgid "New visitor"
msgstr "Nouveau visiteur"

msgid "Verify age"
msgstr "Vérifier l'âge"

msgid "Create account"
msgstr "Créer un compte"

msgid "Login next time"
msgstr "Connexion la prochaine fois"

msgid "Note:"
msgstr "Note :"

msgid ""
"If your site already uses WordPress authentication (members, subscribers, "
"etc.), the visitor account system is not used. Instead, verification "
"status is linked to their WordPress user account."
msgstr ""
"Si votre site utilise déjà l'authentification WordPress (membres, abonnés, "
"etc.), le système de compte visiteur n'est pas utilisé. Le statut de "
"vérification est lié à leur compte utilisateur WordPress."

msgid "Verification Logs"
msgstr "Journaux de vérification"

msgid ""
"All verification attempts are logged locally in your database. You can view "
"these logs in the Statistics tab. The logs include:"
msgstr ""
"Toutes les tentatives de vérification sont enregistrées localement dans "
"votre base de données. Vous pouvez consulter ces journaux dans l'onglet "
"Statistiques. Les journaux incluent :"

msgid "Date and time of the verification attempt"
msgstr "Date et heure de la tentative de vérification"

msgid "User type (visitor or WordPress user)"
msgstr "Type d'utilisateur (visiteur ou utilisateur WordPress)"

msgid "Anonymized user identifier"
msgstr "Identifiant utilisateur anonymisé"

msgid "Result code (success, minor, or error code)"
msgstr "Code de résultat (succès, mineur ou code d'erreur)"

msgid ""
"When a verification error occurs, users see a simplified error message and "
"are informed that the details have been logged. You can then review the "
"detailed error information in the admin panel."
msgstr ""
"Lorsqu'une erreur de vérification se produit, les utilisateurs voient un "
"message d'erreur simplifié et sont informés que les détails ont été "
"enregistrés. Vous pouvez ensuite consulter les informations d'erreur "
"détaillées dans le panneau d'administration."

msgid "Error Codes Reference"
msgstr "Référence des codes d'erreur"

msgid "Code"
msgstr "Code"

msgid "Description"
msgstr "Description"

msgid "Verification successful - User is an adult"
msgstr "Vérification réussie - L'utilisateur est un adulte"

msgid "Verification successful - User is a minor"
msgstr "Vérification réussie - L'utilisateur est un mineur"

msgid "Hand movements not performed correctly after multiple attempts"
msgstr ""
"Mouvements de la main non effectués correctement après plusieurs tentatives"

msgid "Fraud suspicion detected (e.g., photo instead of live camera)"
msgstr ""
"Suspicion de fraude détectée (par exemple, photo au lieu de caméra en direct)"

msgid "Hardware/software not supported (no webcam or outdated system)"
msgstr ""
"Matériel/logiciel non pris en charge (pas de webcam ou système obsolète)"

msgid "Verification process was restarted"
msgstr "Le processus de vérification a été redémarré"

msgid "Configuration error: Unsupported age threshold"
msgstr "Erreur de configuration : Seuil d'âge non pris en charge"

msgid "Configuration error: Unsupported age bracket"
msgstr "Erreur de configuration : Tranche d'âge non prise en charge"

msgid "Configuration error: Invalid hash"
msgstr "Erreur de configuration : Hash invalide"

msgid "Configuration error: Invalid user ID"
msgstr "Erreur de configuration : ID utilisateur invalide"

msgid "Site is blocked or not properly configured with BorderAge"
msgstr "Le site est bloqué ou n'est pas correctement configuré avec BorderAge"

msgid "BorderAge service temporarily unavailable"
msgstr "Service BorderAge temporairement indisponible"

msgid "Frequently Asked Questions"
msgstr "Questions fréquentes"

msgid "Do I need visitor accounts if I use WordPress login?"
msgstr ""
"Ai-je besoin de comptes visiteurs si j'utilise la connexion WordPress ?"

msgid ""
"No. If your users log in with WordPress accounts (members, subscribers, "
"WooCommerce customers, etc.), their verification status is automatically "
"linked to their WordPress user. The visitor account system only activates "
"for anonymous visitors."
msgstr ""
"Non. Si vos utilisateurs se connectent avec des comptes WordPress (membres, "
"abonnés, clients WooCommerce, etc.), leur statut de vérification est "
"automatiquement lié à leur utilisateur WordPress. Le système de compte "
"visiteur ne s'active que pour les visiteurs anonymes."

msgid "How long does verification last?"
msgstr "Combien de temps dure la vérification ?"

msgid ""
"For anonymous visitors with session cookies, verification lasts 24 hours. "
"Visitors who create an account remain verified indefinitely until they log "
"out. WordPress users retain their verification status as long as they are "
"logged in."
msgstr ""
"Pour les visiteurs anonymes avec des cookies de session, la vérification "
"dure 24 heures. Les visiteurs qui créent un compte restent vérifiés "
"indéfiniment jusqu'à leur déconnexion. Les utilisateurs WordPress conservent "
"leur statut de vérification tant qu'ils sont connectés."

msgid "What data is stored locally?"
msgstr "Quelles données sont stockées localement ?"

msgid ""
"The plugin stores: verification logs (anonymized user ID, result code, "
"timestamp), and visitor accounts (username, hashed password, visitor ID). No "
"personal identification data is stored."
msgstr ""
"Le plugin stocke : les journaux de vérification (ID utilisateur anonymisé, "
"code de résultat, horodatage) et les comptes visiteurs (identifiant, mot de "
"passe haché, ID visiteur). Aucune donnée d'identification personnelle n'est "
"stockée."

msgid "Why do I see errors in my logs?"
msgstr "Pourquoi vois-je des erreurs dans mes journaux ?"

msgid ""
"Errors can occur for various reasons: users may have camera issues, attempt "
"fraud, or experience technical problems. The logs help you monitor "
"verification health and identify potential issues."
msgstr ""
"Des erreurs peuvent se produire pour diverses raisons : les utilisateurs "
"peuvent avoir des problèmes de caméra, tenter une fraude ou rencontrer des "
"problèmes techniques. Les journaux vous aident à surveiller la santé des "
"vérifications et à identifier les problèmes potentiels."

msgid "Can I export the verification logs?"
msgstr "Puis-je exporter les journaux de vérification ?"

msgid ""
"Yes, you can export logs to CSV format from the Statistics tab. Use the "
"filters to narrow down the data before exporting."
msgstr ""
"Oui, vous pouvez exporter les journaux au format CSV depuis l'onglet "
"Statistiques. Utilisez les filtres pour affiner les données avant "
"l'exportation."

msgid "Need Help?"
msgstr "Besoin d'aide ?"

msgid ""
"If you have questions or need assistance, please visit our documentation or "
"contact support."
msgstr ""
"Si vous avez des questions ou besoin d'assistance, veuillez consulter notre "
"documentation ou contacter le support."

msgid "Documentation"
msgstr "Documentation"

msgid "Contact Support"
msgstr "Contacter le support"

msgid "In the meantime, please contact us at"
msgstr "En attendant, veuillez nous contacter à"

msgid "Verification required to continue using %s"
msgstr "Vérification requise pour continuer sur %s"

msgid ""
"To keep our community safe, we need to verify you are %s or older. Members "
"must complete a quick hand-gesture check."
msgstr ""
"Pour assurer la sécurité de notre communauté, nous devons vérifier que vous "
"avez %s ans ou plus. Les membres doivent effectuer une rapide vérification "
"par geste de la main."

msgid "This does not require an ID or a selfie."
msgstr "Aucune pièce d'identité ni selfie requis."

msgid "Only a hand gesture"
msgstr "Seulement un geste de la main"

msgid ""
"No ID, no selfie, and don't show your face—just wave your hand to verify "
"you're %s+"
msgstr ""
"Pas de pièce d'identité, pas de selfie, ne montrez pas votre visage—faites "
"simplement un geste de la main pour vérifier que vous avez %s ans ou plus"

msgid "Fast and easy"
msgstr "Rapide et facile"

msgid "Typically takes less than 30 seconds"
msgstr "Prend généralement moins de 30 secondes"

msgid "I have a PIN"
msgstr "J'ai un code PIN"

msgid "Verify now"
msgstr "Vérifier maintenant"

msgid "Back"
msgstr "Retour"

msgid "Enter your PIN"
msgstr "Entrez votre code PIN"

msgid "Enter the 6-digit PIN you received from BorderAge."
msgstr "Entrez le code PIN à 6 chiffres que vous avez reçu de BorderAge."

msgid "Don't have a PIN? Get one now"
msgstr "Vous n'avez pas de code PIN ? Obtenez-en un maintenant"

msgid "Verification required"
msgstr "Vérification requise"

msgid "Quick hand-gesture check. No ID required."
msgstr "Vérification rapide par geste. Aucune pièce d'identité requise."

msgid "Already have an account?"
msgstr "Vous avez déjà un compte ?"

msgid "Log in with my account"
msgstr "Se connecter avec mon compte"

msgid ""
"In debug mode, clicking a button will simulate the BorderAge callback "
"locally."
msgstr ""
"En mode débogage, cliquer sur un bouton simulera le callback BorderAge "
"localement."

msgid "Adult ✓"
msgstr "Adulte ✓"

msgid "Minor ✗"
msgstr "Mineur ✗"

msgid "Error"
msgstr "Erreur"

msgid "Verification Successful"
msgstr "Vérification réussie"

msgid "Access Denied"
msgstr "Accès refusé"

msgid ""
"Access denied. This content is restricted to users %d years or older. Our "
"verification results indicate you are under the required age."
msgstr ""
"Accès refusé. Ce contenu est réservé aux utilisateurs de %d ans ou plus. Nos "
"résultats de vérification indiquent que vous êtes en dessous de l'âge requis."

msgid "Verification Error"
msgstr "Erreur de vérification"

msgid "Error code:"
msgstr "Code d'erreur :"

msgid "Continue to site"
msgstr "Continuer vers le site"

msgid "Return to homepage"
msgstr "Retour à l'accueil"

msgid "Try again"
msgstr "Réessayer"

msgid "Save your verification"
msgstr "Sauvegarder votre vérification"

msgid "Verification Successful!"
msgstr "Vérification réussie !"

msgid ""
"You have been verified. Save your access to skip verification next time."
msgstr ""
"Vous avez été vérifié. Sauvegardez votre accès pour éviter la vérification "
"la prochaine fois."

msgid "Optional:"
msgstr "Optionnel :"

msgid ""
"Create a login to remember your verification. Next time, just log in to "
"access the site instantly."
msgstr ""
"Créez un identifiant pour mémoriser votre vérification. La prochaine fois, "
"connectez-vous simplement pour accéder au site instantanément."

msgid "This username is already taken. Please choose another one."
msgstr "Ce nom d'utilisateur est déjà utilisé. Veuillez en choisir un autre."

msgid "Passwords do not match."
msgstr "Les mots de passe ne correspondent pas."

msgid "Please fill in all fields."
msgstr "Veuillez remplir tous les champs."

msgid "Username"
msgstr "Nom d'utilisateur"

msgid "Password"
msgstr "Mot de passe"

msgid "Confirm Password"
msgstr "Confirmer le mot de passe"

msgid "Create my account"
msgstr "Créer mon compte"

msgid "Skip, continue without saving"
msgstr "Ignorer, continuer sans sauvegarder"

msgid "Login to access"
msgstr "Se connecter pour accéder"

msgid "Welcome back!"
msgstr "Bon retour !"

msgid "Log in with your saved account to access the content instantly."
msgstr ""
"Connectez-vous avec votre compte sauvegardé pour accéder au contenu "
"instantanément."

msgid "Invalid username or password."
msgstr "Nom d'utilisateur ou mot de passe invalide."

msgid "Too many login attempts. Please try again later."
msgstr "Trop de tentatives de connexion. Veuillez réessayer plus tard."

msgid "Log in"
msgstr "Se connecter"

msgid "or"
msgstr "ou"

msgid "Verify my age again"
msgstr "Vérifier mon âge à nouveau"

msgid ""
"Please enter your BorderAge PIN to verify your age and access this content."
msgstr ""
"Veuillez entrer votre code PIN BorderAge pour vérifier votre âge et accéder "
"à ce contenu."

msgid "Verify Age"
msgstr "Vérifier l'âge"

msgid "Don't have a PIN?"
msgstr "Vous n'avez pas de code PIN ?"

msgid "Get one at BorderAge.com"
msgstr "Obtenez-en un sur BorderAge.com"

msgid "Zero personal data required."
msgstr "Aucune donnée personnelle requise."

msgid "Please enter a 6-digit PIN."
msgstr "Veuillez entrer un code PIN à 6 chiffres."

msgid "Verification failed. Please try again."
msgstr "La vérification a échoué. Veuillez réessayer."

msgid "An error occurred. Please try again."
msgstr "Une erreur s'est produite. Veuillez réessayer."

msgid "Security check failed."
msgstr "La vérification de sécurité a échoué."

msgid "Please enter a valid 6-digit PIN."
msgstr "Veuillez entrer un code PIN valide à 6 chiffres."

msgid "Verification failed."
msgstr "La vérification a échoué."

msgid "Access restricted to adults only."
msgstr "Accès réservé aux adultes."

msgid "Invalid API response"
msgstr "Réponse API invalide"

msgid "API credentials not configured"
msgstr "Identifiants API non configurés"

msgid "Verification page template not found."
msgstr "Modèle de page de vérification introuvable."

msgid "[%s] BorderAge: Low Credits Alert"
msgstr "[%s] BorderAge : Alerte crédits faibles"

msgid ""
"Hello,\n"
"\n"
"Your BorderAge credits are running low.\n"
"\n"
"Current credits: %d\n"
"Alert threshold: %d\n"
"\n"
"Please visit your BorderAge dashboard to purchase more credits:\n"
"https://app.borderage.com\n"
"\n"
"Best regards,\n"
"%s"
msgstr ""
"Bonjour,\n"
"\n"
"Vos crédits BorderAge sont bientôt épuisés.\n"
"\n"
"Crédits actuels : %d\n"
"Seuil d'alerte : %d\n"
"\n"
"Veuillez visiter votre tableau de bord BorderAge pour acheter plus de "
"crédits :\n"
"https://app.borderage.com\n"
"\n"
"Cordialement,\n"
"%s"

msgid "Your credits are running low (%d remaining). %s"
msgstr "Vos crédits sont bientôt épuisés (%d restants). %s"

msgid "Purchase more credits"
msgstr "Acheter plus de crédits"

msgid "Permalinks Configuration Required"
msgstr "Configuration des permaliens requise"

msgid ""
"Your site uses \"Simple\" permalinks which are not compatible with "
"BorderAge. Please %schange your permalink settings%s to any other option (e."
"g., \"Post name\")."
msgstr ""
"Votre site utilise les permaliens \"Simples\" qui ne sont pas compatibles "
"avec BorderAge. Veuillez %smodifier vos paramètres de permaliens%s vers une "
"autre option (ex: \"Titre de la publication\")."

msgid ""
"Pretty permalinks are required for age verification to work. Please %supdate "
"your permalink settings%s (select any option except \"Simple\")."
msgstr ""
"Les permaliens personnalisés sont requis pour que la vérification d'âge "
"fonctionne. Veuillez %smettre à jour vos paramètres de permaliens%s "
"(sélectionnez n'importe quelle option sauf \"Simple\")."

msgid "Debug Mode Active"
msgstr "Mode débogage actif"

msgid "API calls are mocked. Disable before production."
msgstr "Les appels API sont simulés. Désactivez avant la mise en production."

msgid ""
"The BorderAge application will be available soon. In the meantime, please "
"contact us at"
msgstr ""
"L'application BorderAge sera bientôt disponible. En attendant, veuillez nous "
"contacter à"

msgid "to receive credits and obtain your API credentials."
msgstr "pour recevoir des crédits et obtenir vos identifiants API."

msgid ""
"When registering your site with BorderAge, you will be asked to provide a "
"return URL. Copy and send them the URL below."
msgstr ""
"Lors de l'enregistrement de votre site avec BorderAge, il vous sera demandé "
"de fournir une URL de retour. Copiez et envoyez-leur l'URL ci-dessous."

msgid "to purchase more credits."
msgstr "pour acheter plus de crédits."

msgid ""
"Your credits are running low (%d remaining). The BorderAge application will "
"be available soon. In the meantime, please contact us at %s to purchase more "
"credits."
msgstr ""
"Vos crédits sont bientôt épuisés (%d restants). L'application BorderAge sera "
"bientôt disponible. En attendant, veuillez nous contacter à %s pour acheter "
"plus de crédits."

msgid "Your verification credits are exhausted. Page protection is inactive."
msgstr ""
"Vos crédits de vérification sont épuisés. La protection des pages est "
"inactive."

msgid ""
"Your verification credits are running low (%d remaining). Page protection "
"may soon become inactive."
msgstr ""
"Vos crédits de vérification sont bientôt épuisés (%d restants). La "
"protection des pages pourrait bientôt devenir inactive."

msgid "Go to dashboard"
msgstr "Accéder au tableau de bord"

msgid "Contact %s"
msgstr "Contacter %s"

msgid "Credits exhausted"
msgstr "Crédits épuisés"

msgid ""
"New users cannot verify their age. Already verified users can still access "
"protected content. Purchase credits to restore verification for new users."
msgstr ""
"Les nouveaux utilisateurs ne peuvent pas vérifier leur âge. Les utilisateurs "
"déjà vérifiés peuvent toujours accéder au contenu protégé. Achetez des "
"crédits pour rétablir la vérification pour les nouveaux utilisateurs."

msgid ""
"%d credits remaining. New user verification may soon become unavailable. "
"Already verified users can still access protected content."
msgstr ""
"%d crédits restants. La vérification des nouveaux utilisateurs pourrait "
"bientôt devenir indisponible. Les utilisateurs déjà vérifiés peuvent "
"toujours accéder au contenu protégé."

msgid "Debug"
msgstr "Debug"

msgid "Debug Logs"
msgstr "Journaux de débogage"

msgid ""
"Diagnostic logs for the last 24 hours. Logs are automatically purged after "
"24h."
msgstr ""
"Journaux de diagnostic des dernières 24 heures. Les logs sont "
"automatiquement purgés après 24h."

msgid ""
"If you encounter any issues, please download the logs and send them to %s "
"for analysis."
msgstr ""
"Si vous rencontrez des anomalies, veuillez télécharger les logs et les "
"envoyer à %s pour analyse."

msgid "Download dump"
msgstr "Télécharger le dump"

msgid "Clear all logs?"
msgstr "Effacer tous les logs ?"

msgid "Clear logs"
msgstr "Effacer les logs"

msgid "%d entries"
msgstr "%d entrées"

msgid "Clear filter"
msgstr "Effacer le filtre"

msgid "No logs yet. Logs will appear here as events occur."
msgstr ""
"Aucun log pour l'instant. Les logs apparaîtront ici au fur et à mesure des "
"événements."

msgid "Time"
msgstr "Heure"

msgid "Level"
msgstr "Niveau"

msgid "Message"
msgstr "Message"

msgid "Context"
msgstr "Contexte"

msgid "View"
msgstr "Voir"

msgid "Showing 100 of %d entries. Download the dump for complete logs."
msgstr ""
"Affichage de 100 sur %d entrées. Téléchargez le dump pour les logs complets."

msgid "Debug logs cleared."
msgstr "Logs de débogage effacés."

msgid "Developers"
msgstr "Développeurs"

msgid "Extensibility"
msgstr "Extensibilité"

msgid ""
"BorderAge Core provides WordPress action hooks that allow developers to "
"extend the plugin functionality and integrate it with custom systems or "
"third-party plugins."
msgstr ""
"BorderAge Core fournit des hooks d'action WordPress qui permettent aux "
"développeurs d'étendre les fonctionnalités du plugin et de l'intégrer avec "
"des systèmes personnalisés ou des plugins tiers."

msgid ""
"All hooks are fired at key moments during the age verification and visitor "
"account lifecycle. You can use these hooks to trigger custom actions, send "
"webhooks, sync data with external systems, or integrate with e-commerce "
"platforms."
msgstr ""
"Tous les hooks sont déclenchés à des moments clés du cycle de vie de la "
"vérification d'âge et des comptes visiteurs. Vous pouvez utiliser ces hooks "
"pour déclencher des actions personnalisées, envoyer des webhooks, "
"synchroniser des données avec des systèmes externes ou intégrer avec des "
"plateformes e-commerce."

msgid "Available Hooks"
msgstr "Hooks disponibles"

msgid "Hook Name"
msgstr "Nom du hook"

msgid "When Fired"
msgstr "Quand déclenché"

msgid ""
"Fired after a successful age verification. The user has been verified as an "
"adult and granted access."
msgstr ""
"Déclenché après une vérification d'âge réussie. L'utilisateur a été vérifié "
"comme adulte et a obtenu l'accès."

msgid "Array keys:"
msgstr "Clés du tableau :"

msgid "Unique user identifier"
msgstr "Identifiant utilisateur unique"

msgid "Whether the user is a logged-in WordPress user"
msgstr "Si l'utilisateur est un utilisateur WordPress connecté"

msgid "Verified age"
msgstr "Âge vérifié"

msgid "After successful verification"
msgstr "Après vérification réussie"

msgid "Fired when age verification fails (minor detected or error occurred)."
msgstr ""
"Déclenché lorsque la vérification d'âge échoue (mineur détecté ou erreur "
"survenue)."

msgid "Error code or \"0\" for minor"
msgstr "Code d'erreur ou \"0\" pour mineur"

msgid "Whether the failure is due to minor age"
msgstr "Si l'échec est dû à un âge mineur"

msgid "After failed verification"
msgstr "Après vérification échouée"

msgid ""
"Fired after a visitor successfully creates an account (username + password)."
msgstr ""
"Déclenché après qu'un visiteur ait créé un compte avec succès (identifiant + "
"mot de passe)."

msgid "Unique visitor identifier"
msgstr "Identifiant visiteur unique"

msgid "Chosen username"
msgstr "Nom d'utilisateur choisi"

msgid "After account creation"
msgstr "Après création de compte"

msgid "Fired after a visitor successfully logs in with their saved account."
msgstr ""
"Déclenché après qu'un visiteur se soit connecté avec succès avec son compte "
"sauvegardé."

msgid "Username used for login"
msgstr "Nom d'utilisateur utilisé pour la connexion"

msgid "After successful login"
msgstr "Après connexion réussie"

msgid ""
"Fired before redirecting an unverified user to the verification page. Useful "
"for logging or analytics."
msgstr ""
"Déclenché avant de rediriger un utilisateur non vérifié vers la page de "
"vérification. Utile pour la journalisation ou l'analyse."

msgid "URL the user was trying to access"
msgstr "URL que l'utilisateur essayait d'atteindre"

msgid "Current protection mode (\"all\" or \"specific\")"
msgstr "Mode de protection actuel (\"all\" ou \"specific\")"

msgid "Before redirect to verify"
msgstr "Avant redirection vers la vérification"

msgid "Code Examples"
msgstr "Exemples de code"

msgid "Example 1: Send Webhook After Visitor Registration"
msgstr "Exemple 1 : Envoyer un webhook après l'inscription d'un visiteur"

msgid ""
"Send a webhook to an external service when a visitor creates an account:"
msgstr ""
"Envoyer un webhook à un service externe lorsqu'un visiteur crée un compte :"

msgid "Example 2: Sync with WooCommerce"
msgstr "Exemple 2 : Synchroniser avec WooCommerce"

msgid "Mark WordPress users as age-verified after successful verification:"
msgstr ""
"Marquer les utilisateurs WordPress comme vérifiés en âge après une "
"vérification réussie :"

msgid "Example 3: Log Verification Events"
msgstr "Exemple 3 : Journaliser les événements de vérification"

msgid "Log all verification events to a custom file:"
msgstr ""
"Journaliser tous les événements de vérification dans un fichier "
"personnalisé :"

msgid "Best Practices"
msgstr "Bonnes pratiques"

msgid ""
"Always validate and sanitize data received from hooks before processing."
msgstr ""
"Toujours valider et nettoyer les données reçues des hooks avant traitement."

msgid ""
"Use non-blocking operations (e.g., wp_remote_post with timeout) for external "
"API calls to avoid slowing down the verification process."
msgstr ""
"Utilisez des opérations non bloquantes (par exemple, wp_remote_post avec "
"timeout) pour les appels API externes afin d'éviter de ralentir le processus "
"de vérification."

msgid ""
"Test your hooks thoroughly in a development environment before deploying to "
"production."
msgstr ""
"Testez vos hooks en profondeur dans un environnement de développement avant "
"de déployer en production."

msgid ""
"Consider using WordPress transients or queues for heavy operations triggered "
"by hooks."
msgstr ""
"Envisagez d'utiliser des transients WordPress ou des files d'attente pour "
"les opérations lourdes déclenchées par les hooks."

msgid ""
"Hooks are passive - if no code listens to them, they have zero impact on "
"performance. The plugin's default behavior remains unchanged."
msgstr ""
"Les hooks sont passifs - si aucun code ne les écoute, ils n'ont aucun impact "
"sur les performances. Le comportement par défaut du plugin reste inchangé."

msgid ""
"BorderAge Core provides WordPress action hooks and filters that allow "
"developers to extend the plugin functionality and integrate it with custom "
"systems or third-party plugins."
msgstr ""
"BorderAge Core fournit des hooks d'action et des filtres WordPress qui "
"permettent aux développeurs d'étendre les fonctionnalités du plugin et de "
"l'intégrer avec des systèmes personnalisés ou des plugins tiers."

msgid ""
"Action hooks are fired at key moments during the age verification and "
"visitor account lifecycle. Filters allow you to modify plugin behavior, such "
"as bypassing verification for specific cases. You can use these hooks to "
"trigger custom actions, send webhooks, sync data with external systems, or "
"integrate with e-commerce platforms."
msgstr ""
"Les hooks d'action sont déclenchés à des moments clés du cycle de vie de la "
"vérification d'âge et des comptes visiteurs. Les filtres permettent de "
"modifier le comportement du plugin, comme contourner la vérification pour "
"des cas spécifiques. Vous pouvez utiliser ces hooks pour déclencher des "
"actions personnalisées, envoyer des webhooks, synchroniser des données avec "
"des systèmes externes ou intégrer avec des plateformes e-commerce."

msgid "Actions"
msgstr "Actions"

msgid "Filters"
msgstr "Filtres"

msgid "Parameters"
msgstr "Paramètres"

msgid ""
"Filter that allows you to bypass age verification for specific cases. Return "
"true to grant access without verification, or return the original value to "
"keep default behavior."
msgstr ""
"Filtre qui permet de contourner la vérification d'âge pour des cas "
"spécifiques. Retournez true pour accorder l'accès sans vérification, ou "
"retournez la valeur d'origine pour conserver le comportement par défaut."

msgid "Use cases:"
msgstr "Cas d'usage :"

msgid "Bypass for WordPress administrators or specific user roles"
msgstr ""
"Contournement pour les administrateurs WordPress ou des rôles utilisateur "
"spécifiques"

msgid "Bypass for whitelisted IP addresses (development, office networks)"
msgstr ""
"Contournement pour les adresses IP en liste blanche (développement, réseaux "
"de bureau)"

msgid "Integration with membership plugins or custom authentication systems"
msgstr ""
"Intégration avec des plugins de membership ou des systèmes "
"d'authentification personnalisés"

msgid "Return:"
msgstr "Retour :"

msgid "Example 4: Bypass Verification for Specific Cases"
msgstr "Exemple 4 : Contourner la vérification pour des cas spécifiques"

msgid ""
"Use the filter to bypass verification for administrators, whitelisted IPs, "
"or membership plugin users:"
msgstr ""
"Utilisez le filtre pour contourner la vérification pour les administrateurs, "
"les IP en liste blanche ou les utilisateurs de plugins de membership :"

msgid "// Bypass for WordPress administrators"
msgstr "// Contournement pour les administrateurs WordPress"

msgid "// Bypass for whitelisted IP addresses (development/office)"
msgstr ""
"// Contournement pour les adresses IP en liste blanche (développement/bureau)"

msgid "// Integration with membership plugin (example: Paid Memberships Pro)"
msgstr ""
"// Intégration avec un plugin de membership (exemple : Paid Memberships Pro)"

msgid "Security: Callback URL Protection"
msgstr "Sécurité : Protection de l'URL de callback"

msgid "Verification Initiation"
msgstr "Initialisation de la vérification"

msgid ""
"When a visitor starts verification, a timestamp is recorded in database: "
"<code>pending_registration_at</code>"
msgstr ""
"Lorsqu'un visiteur démarre la vérification, un horodatage est enregistré "
"dans la base de données : <code>pending_registration_at</code>"

msgid "BorderAge Callback"
msgstr "Callback BorderAge"

msgid ""
"API returns callback URL with result. Plugin validates that timestamp is < 5 "
"minutes old."
msgstr ""
"L'API renvoie une URL de callback avec le résultat. Le plugin valide que "
"l'horodatage a moins de 5 minutes."

msgid "Account Creation"
msgstr "Création de compte"

msgid ""
"Visitor creates account. <code>pending_registration_at</code> is cleared "
"after success."
msgstr ""
"Le visiteur crée un compte. <code>pending_registration_at</code> est nettoyé "
"après succès."

msgid "Expiration"
msgstr "Expiration"

msgid ""
"If callback takes > 5 minutes, verification fails with \"callback_expired\" "
"error."
msgstr ""
"Si le callback prend plus de 5 minutes, la vérification échoue avec l'erreur "
"\"callback_expired\"."

msgid "Why This Matters"
msgstr "Pourquoi c'est important"

msgid ""
"Without token protection, a verified user could share their callback URL "
"with others, allowing them to bypass verification without any age check. The "
"one-time token ensures each callback can only be used by the session that "
"initiated it, within a strict 5-minute window."
msgstr ""
"Sans protection par token, un utilisateur vérifié pourrait partager son URL "
"de callback avec d'autres, leur permettant de contourner la vérification "
"sans aucune vérification d'âge. Le token à usage unique garantit que chaque "
"callback ne peut être utilisé que par la session qui l'a initié, dans une "
"fenêtre stricte de 5 minutes."

msgid "Security Benefits:"
msgstr "Avantages de sécurité :"

msgid "Prevents callback URL sharing and account fraud"
msgstr "Empêche le partage d'URL de callback et la fraude de compte"

msgid "Short timeout (5 minutes) limits attack window"
msgstr "Délai court (5 minutes) limite la fenêtre d'attaque"

msgid "Automatic cleanup prevents stale data"
msgstr "Le nettoyage automatique empêche les données obsolètes"

msgid "Transparent to users - seamless experience"
msgstr "Transparent pour les utilisateurs - expérience fluide"

msgid "Callback expired"
msgstr "Callback expiré"

msgid ""
"The verification link has expired. Please start the verification process "
"again."
msgstr ""
"Le lien de vérification a expiré. Veuillez recommencer le processus de "
"vérification."

msgid "Callback URL expired - Verification took longer than allowed time (5 minutes)"
msgstr ""
"URL de callback expirée - La vérification a pris plus de temps que le délai "
"autorisé (5 minutes)."

msgid ""
"Security verification failed - Response authenticity could not be verified"
msgstr ""
"Échec de la vérification de sécurité - L'authenticité de la réponse n'a pas "
"pu être vérifiée"

msgid "Password cannot be empty."
msgstr "Le mot de passe ne peut pas être vide."

msgid "Password must be at least 12 characters long."
msgstr "Le mot de passe doit comporter au moins 12 caractères."

msgid "Password must contain at least one uppercase letter (A-Z)."
msgstr "Le mot de passe doit contenir au moins une lettre majuscule (A-Z)."

msgid "Password must contain at least one lowercase letter (a-z)."
msgstr "Le mot de passe doit contenir au moins une lettre minuscule (a-z)."

msgid "Password must contain at least one digit (0-9)."
msgstr "Le mot de passe doit contenir au moins un chiffre (0-9)."

msgid ""
"Password must contain at least one special character (!@#$%^&*()_+-=[]{}|;:,."
"<>?)"
msgstr ""
"Le mot de passe doit contenir au moins un caractère spécial (!@#$%^&*()_+-=[]"
"{}|;:,.<>?)"

msgid "Password requirements:"
msgstr "Exigences du mot de passe :"

msgid "At least 12 characters"
msgstr "Au moins 12 caractères"

msgid "One uppercase letter (A-Z)"
msgstr "Une lettre majuscule (A-Z)"

msgid "One lowercase letter (a-z)"
msgstr "Une lettre minuscule (a-z)"

msgid "One digit (0-9)"
msgstr "Un chiffre (0-9)"

msgid "One special character (!@#$%^&*()_+-=[]{}|;:,.<>?)"
msgstr "Un caractère spécial (!@#$%^&*()_+-=[]{}|; :,.<>?)"

msgid "Security: Universal Token-Based Protection"
msgstr "Sécurité : Protection universelle par token"

msgid "Universal Protection for All Users"
msgstr "Protection universelle pour tous les utilisateurs"

msgid ""
"The token-based security system protects both visitors (anonymous users) AND "
"WordPress users. Every verification attempt creates a unique token that can "
"only be used once within a 5-minute window."
msgstr ""
"Le système de sécurité basé sur des tokens protège à la fois les visiteurs "
"(utilisateurs anonymes) ET les utilisateurs WordPress. Chaque tentative de "
"vérification crée un token unique qui ne peut être utilisé qu'une seule fois "
"dans une fenêtre de 5 minutes."

msgid "Token Creation"
msgstr "Création de token"

msgid ""
"When a user starts verification, a unique token is created in the database: "
"<code>borderage_verification_tokens</code>. Automatic cleanup removes tokens "
"older than 24 hours."
msgstr ""
"Lorsqu'un utilisateur démarre la vérification, un token unique est créé dans "
"la base de données : <code>borderage_verification_tokens</code>. Le "
"nettoyage automatique supprime les tokens de plus de 24 heures."

msgid ""
"API returns callback URL with result. Plugin validates: (1) Hash signature "
"from BorderAge, (2) Token exists and is < 5 minutes old, (3) Token has not "
"been used yet."
msgstr ""
"L'API renvoie une URL de callback avec le résultat. Le plugin valide : (1) "
"Signature de hash de BorderAge, (2) Le token existe et a moins de 5 minutes, "
"(3) Le token n'a pas encore été utilisé."

msgid "Token Marking"
msgstr "Marquage du token"

msgid ""
"If verification succeeds (result=1) or user is a minor (result=0), the token "
"is immediately marked as used (<code>is_used = 1</code>). It cannot be "
"reused."
msgstr ""
"Si la vérification réussit (result=1) ou si l'utilisateur est mineur "
"(result=0), le token est immédiatement marqué comme utilisé (<code>is_used = "
"1</code>). Il ne peut pas être réutilisé."

msgid ""
"If callback takes > 5 minutes OR token is already used, verification fails "
"with \"callback_expired\" error. User must restart verification."
msgstr ""
"Si le callback prend plus de 5 minutes OU si le token est déjà utilisé, la "
"vérification échoue avec l'erreur \"callback_expired\". L'utilisateur doit "
"redémarrer la vérification."

msgid "Universal protection for both visitors AND WordPress users"
msgstr ""
"Protection universelle pour les visiteurs ET les utilisateurs WordPress"

msgid "One-time tokens prevent callback URL sharing and fraud"
msgstr ""
"Les tokens à usage unique empêchent le partage d'URL de callback et la fraude"

msgid "Strict 5-minute timeout limits attack window"
msgstr "Délai strict de 5 minutes limite la fenêtre d'attaque"

msgid "Automatic cleanup (>24h) prevents database bloat"
msgstr "Nettoyage automatique (>24h) empêche l'enflure de la base de données"

msgid "Transparent to users - seamless verification experience"
msgstr "Transparent pour les utilisateurs - expérience de vérification fluide"

msgid "Show password"
msgstr "Afficher le mot de passe"

msgid "Hide password"
msgstr "Masquer le mot de passe"

msgid "Error creating account. Please try again."
msgstr "Erreur lors de la création du compte. Veuillez réessayer."

msgid "Unified login flow (WordPress + visitor fallback)"
msgstr "Flux de connexion unifié (WordPress + repli visiteur)"

msgid "BorderAge uses a single login form. The plugin first checks WordPress credentials, then falls back to the visitor account if needed."
msgstr "BorderAge utilise un formulaire de connexion unique. Le plugin vérifie d'abord les identifiants WordPress, puis bascule vers le compte visiteur si nécessaire."

msgid "One login link from the verification page"
msgstr "Un seul lien de connexion depuis la page de vérification"

msgid "WordPress authentication is attempted first"
msgstr "L'authentification WordPress est tentée en premier"

msgid "Visitor account authentication is used as fallback"
msgstr "L'authentification du compte visiteur est utilisée en repli"

msgid "Login brute-force protection"
msgstr "Protection anti force brute sur la connexion"

msgid "Login attempts are rate-limited and stored as anonymized references. No IP address is stored in the database."
msgstr "Les tentatives de connexion sont limitées et stockées sous forme de références anonymisées. Aucune adresse IP n'est stockée en base de données."
