{
  "meta": {
    "name": "French",
    "native_name": "Français",
    "complete": true,
    "review_status": "ai-reviewed"
  },
  "strings": {
    "language.auto": "Langue du système",
    "diagnostics.localization_heading": "== Localisation ==",
    "diagnostics.language_setting": "language_setting: {setting}",
    "diagnostics.active_locale": "active_locale: {locale}",
    "diagnostics.catalog_complete": "catalog_complete: {complete}",
    "diagnostics.available_locales": "available_locales: {count}",
    "ui.language.label": "Langue :",
    "ui.language.tooltip": "Choisissez la langue de l'interface. Les textes non traduits reviennent à l'anglais.",
    "ui.table.file": "Fichier",
    "ui.table.format": "Format",
    "ui.table.size": "Taille",
    "ui.table.status": "État",
    "ui.tabs.metadata_before": "Métadonnées AVANT",
    "ui.tabs.metadata_after": "Métadonnées APRÈS",
    "ui.tabs.removed_diff": "Éléments supprimés / différences",
    "ui.tabs.preview": "Aperçu",
    "ui.export.selected_report": "Exporter le rapport sélectionné...",
    "ui.export.batch_report": "Exporter le rapport du lot...",
    "ui.export.images_pdf": "Exporter les images en PDF...",
    "ui.privacy.mask_paths_reports": "Masquer les chemins dans les rapports",
    "ui.privacy.redact_reports": "Masquer les valeurs de métadonnées dans les rapports",
    "ui.privacy.mask_paths_ui": "Masquer les chemins dans l'interface",
    "ui.status.drop_or_add": "Déposez des images ici ou cliquez sur \"Ajouter des images...\"",
    "ui.toolbar.actions": "Actions",
    "ui.toolbar.options": "Options",
    "ui.toolbar.watermark": "Filigrane",
    "ui.action.add_images": "Ajouter des images...",
    "ui.action.add_images.tooltip": "Ajouter un ou plusieurs fichiers image",
    "ui.action.add_images.status": "Ajouter un ou plusieurs fichiers image (hors ligne, localement)",
    "ui.action.add_folder": "Ajouter un dossier...",
    "ui.action.add_folder.tooltip": "Ajouter toutes les images prises en charge d'un dossier",
    "ui.action.add_folder.status": "Ajouter toutes les images prises en charge d'un dossier (hors ligne, localement)",
    "ui.action.clear": "Vider",
    "ui.action.clear.tooltip": "Vider toute la file d'attente",
    "ui.action.remove_selected": "Retirer la sélection",
    "ui.action.remove_selected.tooltip": "Retirer les fichiers sélectionnés de la file d'attente",
    "ui.action.strip": "Supprimer les métadonnées",
    "ui.action.strip.tooltip": "Démarrer le traitement et créer une sortie nettoyée",
    "ui.action.strip.status": "Démarrer le traitement (hors ligne, localement)",
    "ui.action.cancel": "Annuler",
    "ui.action.cancel.tooltip": "Annuler le traitement après avoir terminé le fichier en cours en toute sécurité",
    "ui.strip_mode.label": "Mode de nettoyage :",
    "ui.strip_mode.safe": "Sûr (recommandé) – conserver ICC",
    "ui.strip_mode.full": "Complet – supprimer ICC et le texte PNG",
    "ui.strip_mode.tooltip": "Le mode Sûr conserve le profil colorimétrique ICC afin d'éviter les changements de couleur. Le mode Complet supprime des données supplémentaires, notamment le profil ICC et les blocs de texte PNG.",
    "ui.strip_png_text": "Supprimer les blocs de texte PNG",
    "ui.strip_png_text.tooltip": "Supprimer les blocs de texte PNG (tEXt/iTXt/zTXt), qui peuvent contenir des commentaires ou des chemins masqués.",
    "ui.watermark.text": "Filigrane",
    "ui.watermark.text.placeholder": "Texte du filigrane...",
    "ui.watermark.logo": "Logo",
    "ui.watermark.logo.placeholder": "Chemin du logo...",
    "ui.watermark.opacity": "Opacité :",
    "ui.watermark.opacity.short": "Op. :",
    "ui.watermark.scale": "Échelle :",
    "ui.watermark.scale.short": "Éch. :",
    "ui.watermark.position": "Position :",
    "ui.watermark.position.short": "Pos. :",
    "ui.watermark.text_position.tooltip": "Position du filigrane texte",
    "ui.mode.copy": "Enregistrer dans le dossier de sortie",
    "ui.mode.overwrite": "Écraser les originaux",
    "ui.output.folder": "Dossier de sortie :",
    "ui.output.backup_folder": "Dossier de sauvegarde :",
    "ui.output.browse": "Parcourir...",
    "ui.output.browse.compact": "...",
    "ui.output.reset": "Réinitialiser",
    "ui.output.reset.tooltip": "Rétablir le dossier par défaut",
    "ui.output.reset_output.tooltip": "Rétablir le dossier de sortie par défaut",
    "ui.output.reset_backup.tooltip": "Rétablir le dossier de sauvegarde par défaut",
    "ui.output.open": "Ouvrir",
    "ui.output.auto_open": "Ouvrir automatiquement à la fin",
    "ui.processing.small_first": "Traiter d'abord les petits fichiers",
    "ui.processing.small_first.tooltip": "Trier la file d'attente par taille avant le traitement afin d'afficher plus vite les premiers résultats.",
    "ui.processing.error.multiframe_unsupported": "Les images animées et multipages ne sont pas encore prises en charge. Le fichier d’origine n’a pas été modifié et aucune sortie nettoyée n’a été créée.",
    "ui.eta.empty": "Temps estimé : -",
    "ui.eta.files": "Temps estimé : ~{eta}  –  {total} fichier(s)",
    "ui.eta.progress": "Temps estimé : ~{eta}  –  {done}/{total}",
    "ui.preview.before": "AVANT",
    "ui.preview.after": "APRÈS",
    "ui.preview.no_file_selected": "Aucun fichier sélectionné",
    "ui.preview.no_output_yet": "Aucune sortie pour le moment",
    "ui.preview.before.tooltip": "Cliquer pour ouvrir l'image AVANT dans la visionneuse du système",
    "ui.preview.after.tooltip": "Cliquer pour ouvrir l'image APRÈS dans la visionneuse du système",
    "ui.hash.label": "SHA-256 (empreinte du fichier) :",
    "ui.hash.tooltip": "Pourquoi c'est important :\nUne empreinte SHA-256 permet de vérifier que les octets du fichier n'ont pas changé de manière inattendue.\nElle est calculée localement, hors ligne.",
    "ui.hash.before.tooltip": "Empreinte SHA-256 du fichier AVANT (64 caractères hexadécimaux).",
    "ui.hash.after.tooltip": "Empreinte SHA-256 du fichier APRÈS (64 caractères hexadécimaux).",
    "ui.hash.copy": "Copier SHA-256",
    "ui.hash.copy.tooltip": "Copier l'empreinte SHA-256 (clic : avec libellé ; Maj+clic : valeur brute)",
    "ui.recovery.open_backup": "Ouvrir le dossier de sauvegarde...",
    "ui.recovery.open_backup.tooltip": "Ouvrir le dossier contenant la sauvegarde créée en mode Écraser les originaux.",
    "ui.recovery.copy_restore": "Copier les étapes de restauration",
    "ui.recovery.copy_restore.tooltip": "Copier les étapes de restauration manuelle (original, sauvegarde et fichier temporaire).",
    "ui.export.images_pdf.tooltip": "Regrouper les images sélectionnées dans un PDF multipage, hors ligne.",
    "ui.privacy.mask_paths_reports.tooltip": "Masquer les répertoires et ne conserver que les noms de fichiers dans les rapports exportés",
    "ui.privacy.redact_reports.tooltip": "Conserver les clés de métadonnées dans les rapports, mais remplacer la plupart des valeurs par <redacted>.\nLes champs techniques (format, pixels, empreinte, etc.) sont conservés.",
    "ui.privacy.mask_paths_ui.tooltip": "Afficher uniquement les noms de fichiers dans le tableau, notamment pour les captures d'écran",
    "ui.risk.summary": "Risque élevé : {high} sur {total}{suffix}",
    "ui.risk.filtered_suffix": " (filtré)",
    "ui.risk.summary.tooltip": "Cliquer pour afficher uniquement les fichiers contenant des balises sensibles.",
    "ui.risk.why.title": "Pourquoi est-ce important ?",
    "ui.risk.why.body": "Les métadonnées sensibles peuvent révéler des informations privées.\n\nExemples :\n- Le GPS peut révéler où une photo a été prise.\n- Les numéros de série peuvent identifier votre appareil photo ou votre téléphone.\n- Les balises de propriétaire ou de logiciel peuvent révéler des noms ou des méthodes de travail.\n\nMetaStripper signale ces balises afin que vous puissiez évaluer le risque avant le partage.",
    "ui.risk.detected": "! Métadonnées à haut risque détectées",
    "ui.risk.detected.tooltip": "Détectées : {tags}",
    "ui.risk.none": "OK : aucune métadonnée à haut risque",
    "ui.status.on": "ACTIVÉ",
    "ui.status.off": "DÉSACTIVÉ",
    "ui.status.portable": "Mode portable : {state}",
    "ui.status.offline": "Fonctionne hors ligne. Les fichiers ne sont pas envoyés sur Internet.",
    "ui.status.no_logs": "Aucun journal n'est enregistré. Les chemins et noms de fichiers ne sont pas transmis à l'extérieur.",
    "ui.license.pro": "Licence : Pro",
    "ui.license.pro.tooltip": "Les traitements par lots sont déverrouillés.",
    "ui.license.trial": "Essai : jusqu'à {limit} fichiers",
    "ui.license.trial.tooltip": "L'essai de 3 jours autorise jusqu'à {limit} fichiers par file d'attente.",
    "ui.license.trial_limit.tooltip": "L'essai autorise jusqu'à {limit} fichiers dans la file d'attente.",
    "ui.license.activation_required": "Activation requise",
    "ui.license.activation_required.tooltip": "Démarrez un essai ou activez une licence achetée avant de traiter des images.",
    "ui.license.expired": "Activation expirée",
    "ui.license.expired.tooltip": "L'essai ou l'autorisation d'activation a expiré. Ouvrez Licence du produit pour continuer.",
    "ui.license.invalid": "Activation non valide",
    "ui.license.invalid.tooltip": "L'autorisation d'activation enregistrée n'est pas valide. Ouvrez Licence du produit pour plus de détails.",
    "ui.common.yes": "Oui",
    "ui.common.no": "Non",
    "ui.common.none": "<aucun>",
    "ui.common.allowed": "autorisé",
    "ui.common.blocked": "bloqué",
    "ui.common.close": "Fermer",
    "ui.license_dialog.window_title": "{app} - Licence du produit",
    "ui.license_dialog.title": "Licence du produit",
    "ui.license_dialog.purchase_token_label": "Jeton de licence achetée",
    "ui.license_dialog.purchase_token_placeholder": "Collez ici un jeton de licence MS1.",
    "ui.license_dialog.validate": "Valider",
    "ui.license_dialog.save_securely": "Enregistrer en toute sécurité",
    "ui.license_dialog.activate_online": "Activer en ligne",
    "ui.license_dialog.remove": "Supprimer",
    "ui.license_dialog.trial_heading": "Essai de trois jours",
    "ui.license_dialog.trial_token_placeholder": "Collez le jeton d'accès d'essai MSS1 de votre compte.",
    "ui.license_dialog.start_trial": "Démarrer l'essai de 3 jours",
    "ui.license_dialog.device_activation": "Activation de l'appareil",
    "ui.license_dialog.refresh": "Actualiser",
    "ui.license_dialog.deactivate_online": "Désactiver en ligne",
    "ui.license_dialog.remove_local": "Supprimer l'activation locale",
    "ui.license_dialog.contacting": "Connexion au service d'activation...",
    "ui.license_dialog.another_request": "Une autre demande d'activation est déjà en cours.",
    "ui.license_dialog.purchase_saved": "Le jeton de licence a été enregistré en toute sécurité. Activez cet appareil pour permettre le traitement.",
    "ui.license_dialog.license_not_saved": "Licence non enregistrée : {status} ({reason}).",
    "ui.license_dialog.enter_purchase": "Saisissez le jeton de la licence achetée.",
    "ui.license_dialog.remove_product_title": "Supprimer la licence du produit ?",
    "ui.license_dialog.remove_product_body": "Cette action supprime le jeton de licence et l'activation locale de cet appareil.",
    "ui.license_dialog.product_removed": "Le jeton de licence et l'activation locale ont été supprimés.",
    "ui.license_dialog.enter_trial": "Saisissez le jeton d'accès d'essai de votre compte.",
    "ui.license_dialog.deactivate_title": "Désactiver cet appareil ?",
    "ui.license_dialog.deactivate_body": "Cette action libère une place dans la limite d'appareils et bloque le traitement sur cet appareil.",
    "ui.license_dialog.deactivated": "L'appareil a été désactivé et l'activation locale supprimée.",
    "ui.license_dialog.remove_local_title": "Supprimer l'activation locale ?",
    "ui.license_dialog.remove_local_body": "Cette action uniquement locale ne libère aucune place dans la limite d'appareils sur le serveur.",
    "ui.license_dialog.local_removed": "L'activation locale a été supprimée. La place correspondante dans la limite d'appareils reste allouée sur le serveur.",
    "ui.license_dialog.auto_refreshed": "L'activation de l'appareil a été actualisée.",
    "ui.license_dialog.auto_refresh_pending": "L'actualisation de l'activation est en attente ; l'autorisation hors ligne signée reste utilisée.",
    "ui.license_dialog.product_status": "État : {status}\nNiveau : {tier}\nMotif : {reason}\nJeton de licence Pro : {is_pro}\nTraitement : nécessite une autorisation d'activation valide pour cet appareil\nID de licence : {license_id}\nID de clé : {key_id}\nValide jusqu'au : {expires}\nFonctionnalités : {features}\nClés de confiance : {trusted}",
    "ui.license_dialog.entitlement_status": "Droit d'utilisation : {status}\nMotif : {reason}\nNiveau : {tier}\nOffre : {plan}\nTraitement : {processing}\nActualisation requise : {refresh_required}\nValide jusqu'au : {expires}\nUtilisation hors ligne autorisée jusqu'au : {grace_until}\nFonctionnalités : {features}\nClés d'activation de confiance : {trusted}",
    "ui.activation.close_in_progress": "L'activation est toujours en cours. Attendez sa fin avant de fermer l'application.",
    "ui.activation.error.activation_trust_not_configured": "Les clés de confiance d'activation ne sont pas configurées dans cette version.",
    "ui.activation.error.device_identity_unavailable": "L'identité sécurisée de l'appareil n'est pas disponible.",
    "ui.activation.error.secure_storage_unavailable": "Le coffre sécurisé des licences n'est pas disponible.",
    "ui.activation.error.invalid_purchase_token": "Le jeton de licence achetée n'est pas valide.",
    "ui.activation.error.invalid_subject_token": "Le jeton d'accès d'essai n'est pas valide ou a expiré.",
    "ui.activation.error.network_unavailable": "Le service d'activation n'a pas pu être joint.",
    "ui.activation.error.request_timeout": "Le délai de la demande d'activation a été dépassé.",
    "ui.activation.error.rate_limit_exceeded": "Trop de demandes d'activation. Réessayez plus tard.",
    "ui.activation.error.https_required": "Le service d'activation exige HTTPS.",
    "ui.activation.error.response_too_large": "Le service d'activation a renvoyé une réponse trop volumineuse.",
    "ui.activation.error.request_too_large": "La demande d'activation est trop volumineuse.",
    "ui.activation.error.response_invalid": "Le service d'activation a renvoyé une réponse non valide.",
    "ui.activation.error.redirect_not_allowed": "Le service d'activation a tenté une redirection non sécurisée.",
    "ui.activation.error.challenge_invalid": "La demande d'activation n'a pas pu être vérifiée.",
    "ui.activation.error.lease_invalid": "L'autorisation d'activation signée n'a pas pu être vérifiée.",
    "ui.activation.error.lease_response_mismatch": "La réponse d'activation ne correspond pas à l'autorisation signée.",
    "ui.activation.error.trial_unavailable": "Aucun essai n'est disponible pour ce compte ou cet appareil.",
    "ui.activation.error.activation_limit_reached": "La limite d'appareils de cette licence a été atteinte.",
    "ui.activation.error.license_revoked": "La licence a été révoquée.",
    "ui.activation.error.activation_revoked": "L'activation de cet appareil a été révoquée.",
    "ui.activation.error.activation_inactive": "L'activation de cet appareil est inactive.",
    "ui.activation.error.purchase_expired": "Le jeton de licence achetée a expiré.",
    "ui.activation.error.challenge_expired": "La demande d'activation a expiré. Réessayez.",
    "ui.activation.error.challenge_consumed": "La demande d'activation a déjà été utilisée. Réessayez.",
    "ui.activation.error.service_unavailable": "Le service d'activation est temporairement indisponible.",
    "ui.activation.error.clock_rollback": "L'horloge locale a été reculée. Connectez-vous pour actualiser l'heure de confiance.",
    "ui.activation.error.server_time_rollback": "L'heure d'activation signée est antérieure à la valeur enregistrée. Contactez l'assistance avant de réessayer.",
    "ui.activation.error.vault_unavailable": "Le coffre sécurisé des licences n'est pas disponible.",
    "ui.activation.error.generic": "La demande d'activation n'a pas pu être terminée.",
    "ui.activation.error.retry_after": "{message} Réessayez dans {seconds} secondes.",
    "ui.license_policy.requested_items": "Fichiers demandés : {count}",
    "ui.license_policy.trial_expired": "Votre essai MetaStripper de 3 jours a expiré.",
    "ui.license_policy.pro_expired": "L'autorisation d'activation Pro de cet appareil a expiré et doit être actualisée.",
    "ui.license_policy.activation_required": "MetaStripper doit être activé avant de pouvoir traiter les images.",
    "ui.license_policy.invalid_lease": "L'autorisation d'activation enregistrée n'est pas valide ({reason}).",
    "ui.license_policy.feature_trial": "Cette fonction n'est pas disponible pendant l'essai de 3 jours.",
    "ui.license_policy.feature_license": "Cette fonction n'est pas incluse dans la licence active.",
    "ui.license_policy.requested_action": "Action demandée : {action}",
    "ui.license_policy.open_product_license": "Ouvrez « Aide » → « Licence du produit » pour activer cet appareil ou actualiser son autorisation.",
    "ui.upgrade.window_title": "{app} - Activation",
    "ui.upgrade.title": "Activation de MetaStripper",
    "ui.upgrade.current_status": "État actuel : {status}. Motif : {reason}.",
    "ui.upgrade.action_unavailable": "{action} n'est pas disponible avec le droit d'utilisation actuel.",
    "ui.upgrade.requested_items": "Fichiers demandés : {count}",
    "ui.upgrade.trial_heading": "Essai de 3 jours",
    "ui.upgrade.trial_queue": "Nettoyage de {limit} images maximum par file",
    "ui.upgrade.trial_reports": "Rapports TXT/JSON locaux lorsqu'ils sont inclus dans l'autorisation d'essai",
    "ui.upgrade.trial_modes": "Suppression sûre et complète des métadonnées",
    "ui.upgrade.trial_restrictions": "Pas de CLI, d'export PDF, de filigrane ni d'écrasement des originaux",
    "ui.upgrade.pro_heading": "Pro",
    "ui.upgrade.pro_batch": "Nettoyage par lots illimité",
    "ui.upgrade.pro_features": "CLI, rapports, export PDF, filigrane et écrasement des originaux",
    "ui.upgrade.pro_devices": "Utilisation dans la limite d'appareils prévue par l'offre achetée",
    "ui.upgrade.enter_license": "Saisir une licence...",
    "ui.upgrade.open_website": "Ouvrir le site web",
    "ui.license_action.processing_queue": "Traiter cette file d'attente",
    "ui.license_action.adding_more_files": "Ajouter d'autres fichiers",
    "ui.license_action.adding_batch": "Ajouter ce lot",
    "ui.license_action.text_watermark": "Ajouter un filigrane texte",
    "ui.license_action.logo_watermark": "Ajouter un filigrane logo",
    "ui.license_action.overwrite_originals": "Écraser les fichiers originaux",
    "ui.license_action.export_report": "Exporter un rapport",
    "ui.license_action.export_batch_report": "Exporter un rapport du lot",
    "ui.license_action.export_images_pdf": "Exporter des images en PDF",
    "ui.license_action.export_multiple_pdf": "Exporter plusieurs images en PDF",
    "ui.license_menu.plans": "Offres de licence...",
    "ui.license_menu.product": "Licence du produit...",
    "ui.license_policy.processing_unavailable": "Traitement indisponible : {status}.",
    "diagnostics.help_content_locale": "help_content_locale: {locale}",
    "diagnostics.help_content_complete": "help_content_complete: {complete}",
    "diagnostics.help_content_translated_keys": "help_content_translated_keys: {count}",
    "ui.dialog.window_title": "{app} - {title}",
    "ui.menu.file": "Fichier",
    "ui.menu.help": "Aide",
    "ui.menu.quit": "Quitter",
    "ui.menu.help.privacy": "Confidentialité",
    "ui.menu.help.faq": "Questions fréquentes",
    "ui.menu.help.terms": "Conditions d'utilisation (résumé)",
    "ui.menu.help.licenses": "Licences",
    "ui.menu.help.open_licenses_folder": "Ouvrir le dossier des licences...",
    "ui.menu.help.exif_gps": "Que sont EXIF et GPS ?",
    "ui.menu.help.orientation": "Pourquoi les photos peuvent sembler pivotées",
    "ui.menu.help.what_removed": "Ce qui est supprimé ou conservé",
    "ui.menu.help.formats": "Formats pris en charge et limites",
    "ui.menu.help.smartscreen": "Windows SmartScreen et signature du code",
    "ui.menu.help.user_guide": "Guide de l'utilisateur",
    "ui.menu.help.keyboard_tips": "Clavier et astuces",
    "ui.menu.help.diagnostics": "Diagnostic...",
    "ui.menu.help.about": "À propos",
    "ui.menu.help.updates": "Rechercher des mises à jour...",
    "ui.help.copy": "Copier",
    "ui.help.copied": "Copié.",
    "ui.help.empty": "(vide)",
    "ui.help.privacy.title": "Confidentialité",
    "ui.help.faq.title": "Questions fréquentes",
    "ui.help.terms.title": "Conditions d'utilisation",
    "ui.help.licenses.title": "Licences",
    "ui.help.licenses.copy": "Copier le texte des licences",
    "ui.help.licenses.copied": "Texte des licences copié.",
    "ui.help.licenses.folder_missing": "Le dossier des licences est introuvable.\n\nChemin attendu :\n{path}\n\nPour une exécution depuis les sources, créez-le avec :\n  python tools/generate_licenses_bundle.py\n\nDans une version empaquetée, le dossier 'licenses' doit se trouver près de l'exécutable.",
    "ui.help.exif_gps.title": "Que sont EXIF et GPS ?",
    "ui.help.orientation.title": "Pourquoi les photos peuvent sembler pivotées",
    "ui.help.what_removed.title": "Ce qui est supprimé ou conservé",
    "ui.help.formats.title": "Formats pris en charge et limites",
    "ui.help.smartscreen.title": "Windows SmartScreen et signature du code",
    "ui.help.user_guide.title": "Guide de l'utilisateur",
    "ui.help.keyboard_tips.title": "Clavier et astuces",
    "ui.diagnostics.title": "Diagnostic",
    "ui.diagnostics.copy": "Copier le diagnostic",
    "ui.diagnostics.copied": "Diagnostic copié.",
    "ui.about.title": "À propos",
    "ui.about.heading": "À propos de {app}",
    "ui.about.copy_build_info": "Copier les informations de build",
    "ui.about.build_info_copied": "Informations de build copiées.",
    "ui.about.text": "{app}\n\nVersion : {version}\nBuild : {build}\n\nEnvironnement d'exécution\n- Python : {py}\n- PySide6 : {pyside}\n- Pillow : {pillow}\n\nCodecs d'image\n{codec_lines}\n\nFonctionnalités\n- Afficher les métadonnées avant et après\n- Supprimer les métadonnées des images\n- Exporter des rapports TXT/JSON locaux\n\nFonctionnement\n- Traitement local par défaut, sans envoi de fichiers\n\n© {year} {author}",
    "ui.about.license_summary": "Licence du produit\n- État : {license_status}\n- Niveau : {license_tier}\n- ID de licence : {license_id}\n- Valide jusqu'au : {license_expires}\n\nDroit d'utilisation\n- État : {entitlement_status}\n- Niveau : {entitlement_tier}\n- Traitement : {processing}\n- Valide jusqu'au : {entitlement_expires}",
    "ui.about.codec.available": "disponible",
    "ui.about.codec.unavailable": "indisponible",
    "ui.about.codec.registered_extensions": "extensions enregistrées : {extensions}",
    "ui.about.codec.support_flags": "indicateurs de prise en charge Pillow : {flags}",
    "ui.about.codec.not_registered": "non enregistré dans l'environnement Pillow",
    "ui.updates.window_title": "{app} - Mises à jour",
    "ui.updates.title": "Rechercher des mises à jour",
    "ui.updates.info": "Version installée : {version}\nBuild : {build}\n\nMetaStripper ne se met pas à jour automatiquement et ne se connecte pas à Internet en arrière-plan.\nUtilisez les boutons pour ouvrir la page officielle de téléchargement ou copier le lien.",
    "ui.updates.copy_link": "Copier le lien de téléchargement",
    "ui.updates.open_page": "Ouvrir la page de téléchargement",
    "ui.updates.copy_build_info": "Copier les informations de build",
    "ui.updates.link_copied": "Lien de téléchargement copié.",
    "ui.updates.build_info_copied": "Informations de build copiées.",
    "ui.processing.close_running": "Le traitement est toujours en cours.\n\nQue voulez-vous faire ?",
    "ui.processing.cancel_and_exit": "Annuler le traitement et quitter",
    "ui.processing.wait_keep_open": "Attendre et garder l'application ouverte",
    "ui.export.selected_report.compact": "Rapport...",
    "ui.export.batch_report.compact": "Rapport du lot...",
    "ui.export.images_pdf.compact": "Images en PDF...",
    "ui.privacy.mask_paths_reports.compact": "Masquer les chemins",
    "ui.privacy.redact_reports.compact": "Masquer les valeurs",
    "ui.privacy.mask_paths_ui.compact": "Masquer les chemins UI",
    "ui.action.add_archive": "Ajouter une archive...",
    "ui.action.add_archive.status": "Importer des images compatibles depuis une archive ZIP ou RAR locale (sans envoi)",
    "ui.action.add_archive.tooltip": "Importer des images depuis une archive ZIP ou RAR",
    "ui.action.secure_files": "Chiffrer / déchiffrer...",
    "ui.action.secure_files.status": "Protéger ou restaurer un fichier local avec AES-256-GCM (sans envoi)",
    "ui.action.secure_files.tooltip": "Chiffrer ou déchiffrer n'importe quel fichier avec un mot de passe",
    "ui.archive.create_error": "Impossible de créer l'archive de résultats :\n{error}",
    "ui.archive.create_failed": "Échec de la création de l'archive de résultats.",
    "ui.archive.create_failed_status": "Le traitement est terminé, mais l'archive de résultats n'a pas pu être créée.",
    "ui.archive.created_status": "{file} créé : {count} fichier(s), {omitted} omis.",
    "ui.archive.creating": "Création de l'archive de résultats...",
    "ui.archive.filter": "Archives (*.zip *.rar);;Archives ZIP (*.zip);;Archives RAR (*.rar);;Tous les fichiers (*.*)",
    "ui.archive.import_error": "Impossible d'importer l'archive :\n{error}",
    "ui.archive.import_failed": "Échec de l'importation de l'archive.",
    "ui.archive.imported": "Images importées : {count} ; autres éléments ignorés : {ignored}.",
    "ui.archive.importing": "Importation des images depuis l'archive...",
    "ui.archive.one_at_a_time": "Une seule archive peut être importée à la fois.",
    "ui.archive.password_title": "Mot de passe de l'archive",
    "ui.archive.rar_backend_missing": "L'importation RAR est indisponible car le composant 7-Zip intégré est introuvable.",
    "ui.archive.result_password_title": "Mot de passe de l'archive de résultats",
    "ui.archive.select": "Sélectionner une archive d'images",
    "ui.common.cancel": "Annuler",
    "ui.file_operation.busy": "Une autre opération sur les fichiers est déjà en cours.",
    "ui.file_operation.canceled": "Opération annulée.",
    "ui.file_operation.close_in_progress": "Annulez l'opération sur les fichiers en cours avant de fermer MetaStripper.",
    "ui.license_action.file_security": "Chiffrer ou déchiffrer des fichiers",
    "ui.license_action.import_archive": "Importer une archive d'images",
    "ui.license_action.result_archive": "Créer une archive de résultats",
    "ui.output.result_archive": "Regrouper les fichiers nettoyés dans une archive",
    "ui.output.result_archive.tooltip": "Après le traitement, créer une archive contenant uniquement les fichiers enregistrés avec succès.",
    "ui.output.result_archive_password": "Protéger l'archive de résultats par un mot de passe",
    "ui.output.result_archive_password.tooltip": "Créer un fichier .msarchive chiffré au lieu d'une archive ZIP.",
    "ui.password.confirm": "Confirmer le mot de passe :",
    "ui.password.label": "Mot de passe :",
    "ui.password.mismatch": "Les mots de passe ne correspondent pas.",
    "ui.password.show": "Afficher le mot de passe",
    "ui.password.too_short": "Le mot de passe doit contenir au moins {count} caractères.",
    "ui.secure.authentication_failed": "Le mot de passe est incorrect ou le fichier protégé a été modifié.",
    "ui.secure.container_filter": "Fichiers protégés MetaStripper (*.msenc *.msarchive);;Tous les fichiers (*.*)",
    "ui.secure.decrypt": "Déchiffrer",
    "ui.secure.encrypt": "Chiffrer",
    "ui.secure.failed": "L'opération sur le fichier protégé a échoué :\n{error}",
    "ui.secure.file_filter": "Tous les fichiers (*.*)",
    "ui.secure.input": "Fichier d'entrée :",
    "ui.secure.input_missing": "Sélectionnez un fichier d'entrée existant.",
    "ui.secure.invalid_container": "Le fichier sélectionné n'est pas un fichier protégé MetaStripper valide.",
    "ui.secure.output": "Fichier de sortie :",
    "ui.secure.output_exists": "Le fichier de sortie existe déjà. Activez le remplacement ou choisissez un autre chemin.",
    "ui.secure.overwrite": "Remplacer le fichier de sortie existant",
    "ui.secure.same_path": "Les chemins d'entrée et de sortie doivent être différents.",
    "ui.secure.select_input": "Sélectionner le fichier d'entrée",
    "ui.secure.select_output": "Sélectionner le fichier de sortie",
    "ui.secure.success": "Opération réussie :\n{output}",
    "ui.secure.success_status": "Opération sur le fichier protégé terminée.",
    "ui.secure.title": "Chiffrement de fichiers",
    "ui.secure.working": "Traitement du fichier protégé...",
    "ui.splash.headline": "Confidentialité des métadonnées et sécurité des fichiers",
    "ui.splash.features": "Suppression des métadonnées • Archives protégées • Chiffrement de fichiers",
    "ui.splash.local_promise": "Toutes les opérations restent sur cet appareil",
    "ui.splash.starting": "Démarrage"
  }
}
