#!/usr/bin/env python3
"""Generate French (fr) translations for ObsidianDragon wallet."""
import json, os

translations = {
    "24h_change": "Variation 24h",
    "24h_volume": "Volume 24h",
    "about": "À propos",
    "about_block_explorer": "Explorateur de blocs",
    "about_block_height": "Hauteur de bloc :",
    "about_build_date": "Date de compilation :",
    "about_build_type": "Type de build :",
    "about_chain": "Chaîne :",
    "about_connections": "Connexions :",
    "about_credits": "Crédits",
    "about_daemon": "Daemon :",
    "about_debug": "Débogage",
    "about_dragonx": "À propos d'ObsidianDragon",
    "about_edition": "Édition ImGui",
    "about_github": "GitHub",
    "about_imgui": "ImGui :",
    "about_license": "Licence",
    "about_license_text": "Ce logiciel est publié sous la licence publique générale GNU v3 (GPLv3). Vous êtes libre d'utiliser, de modifier et de distribuer ce logiciel selon les termes de la licence.",
    "about_peers_count": "%zu pairs",
    "about_release": "Version",
    "about_title": "À propos d'ObsidianDragon",
    "about_version": "Version :",
    "about_website": "Site web",
    "acrylic": "Acrylique",
    "add": "Ajouter",
    "address": "Adresse",
    "address_book_add": "Ajouter une adresse",
    "address_book_add_new": "Ajouter",
    "address_book_added": "Adresse ajoutée au carnet",
    "address_book_count": "%zu adresses enregistrées",
    "address_book_deleted": "Entrée supprimée",
    "address_book_edit": "Modifier l'adresse",
    "address_book_empty": "Aucune adresse enregistrée. Cliquez sur 'Ajouter' pour en créer une.",
    "address_book_exists": "L'adresse existe déjà dans le carnet",
    "address_book_title": "Carnet d'adresses",
    "address_book_update_failed": "Échec de la mise à jour - l'adresse est peut-être en double",
    "address_book_updated": "Adresse mise à jour",
    "address_copied": "Adresse copiée dans le presse-papiers",
    "address_details": "Détails de l'adresse",
    "address_label": "Adresse :",
    "address_upper": "ADRESSE",
    "address_url": "URL de l'adresse",
    "addresses_appear_here": "Vos adresses de réception apparaîtront ici une fois connecté.",
    "advanced": "AVANCÉ",
    "all_filter": "Tout",
    "allow_custom_fees": "Autoriser les frais personnalisés",
    "amount": "Montant",
    "amount_details": "DÉTAILS DU MONTANT",
    "amount_exceeds_balance": "Le montant dépasse le solde",
    "amount_label": "Montant :",
    "appearance": "APPARENCE",
    "auto_shield": "Auto-blindage du minage",
    "available": "Disponible",
    "backup_backing_up": "Sauvegarde en cours...",
    "backup_create": "Créer une sauvegarde",
    "backup_created": "Sauvegarde du portefeuille créée",
    "backup_data": "SAUVEGARDE & DONNÉES",
    "backup_description": "Créez une sauvegarde de votre fichier wallet.dat. Ce fichier contient toutes vos clés privées et l'historique des transactions. Conservez la sauvegarde dans un endroit sûr.",
    "backup_destination": "Destination de sauvegarde :",
    "backup_tip_external": "Stockez les sauvegardes sur des disques externes ou un stockage cloud",
    "backup_tip_multiple": "Créez plusieurs sauvegardes à différents endroits",
    "backup_tip_test": "Testez périodiquement la restauration à partir de la sauvegarde",
    "backup_tips": "Conseils :",
    "backup_title": "Sauvegarder le portefeuille",
    "backup_wallet": "Sauvegarder le portefeuille...",
    "backup_wallet_not_found": "Attention : wallet.dat introuvable à l'emplacement prévu",
    "balance": "Solde",
    "balance_layout": "Disposition du solde",
    "ban": "Bannir",
    "banned_peers": "Pairs bannis",
    "block": "Bloc",
    "block_bits": "Bits :",
    "block_click_next": "Cliquez pour voir le bloc suivant",
    "block_click_prev": "Cliquez pour voir le bloc précédent",
    "block_explorer": "Explorateur de blocs",
    "block_get_info": "Obtenir les infos du bloc",
    "block_hash": "Hash du bloc :",
    "block_height": "Hauteur du bloc :",
    "block_info_title": "Informations sur le bloc",
    "block_merkle_root": "Racine de Merkle :",
    "block_nav_next": "Suivant >>",
    "block_nav_prev": "<< Précédent",
    "block_next": "Bloc suivant :",
    "block_previous": "Bloc précédent :",
    "block_size": "Taille :",
    "block_timestamp": "Horodatage :",
    "block_transactions": "Transactions :",
    "blockchain_syncing": "Synchronisation de la blockchain (%.1f%%)... Les soldes peuvent être inexacts.",
    "cancel": "Annuler",
    "characters": "caractères",
    "clear": "Effacer",
    "clear_all_bans": "Lever tous les bannissements",
    "clear_form_confirm": "Effacer tous les champs du formulaire ?",
    "clear_request": "Effacer la demande",
    "click_copy_address": "Cliquez pour copier l'adresse",
    "click_copy_uri": "Cliquez pour copier l'URI",
    "close": "Fermer",
    "conf_count": "%d conf.",
    "confirm_and_send": "Confirmer & Envoyer",
    "confirm_send": "Confirmer l'envoi",
    "confirm_transaction": "Confirmer la transaction",
    "confirmations": "Confirmations",
    "confirmations_display": "%d confirmations  |  %s",
    "confirmed": "Confirmé",
    "connected": "Connecté",
    "connected_peers": "Pairs connectés",
    "connecting": "Connexion...",
    "console": "Console",
    "console_auto_scroll": "Défilement auto",
    "console_available_commands": "Commandes disponibles :",
    "console_capturing_output": "Capture de la sortie du daemon...",
    "console_clear": "Effacer",
    "console_clear_console": "Effacer la console",
    "console_cleared": "Console effacée",
    "console_click_commands": "Cliquez sur les commandes ci-dessus pour les insérer",
    "console_click_insert": "Cliquez pour insérer",
    "console_click_insert_params": "Cliquez pour insérer avec paramètres",
    "console_close": "Fermer",
    "console_commands": "Commandes",
    "console_common_rpc": "Commandes RPC courantes :",
    "console_completions": "Complétions :",
    "console_connected": "Connecté au daemon",
    "console_copy_all": "Tout copier",
    "console_copy_selected": "Copier",
    "console_daemon": "Daemon",
    "console_daemon_error": "Erreur du daemon !",
    "console_daemon_started": "Daemon démarré",
    "console_daemon_stopped": "Daemon arrêté",
    "console_disconnected": "Déconnecté du daemon",
    "console_errors": "Erreurs",
    "console_filter_hint": "Filtrer la sortie...",
    "console_help_clear": "  clear         - Effacer la console",
    "console_help_getbalance": "  getbalance    - Afficher le solde transparent",
    "console_help_getblockcount": "  getblockcount - Afficher la hauteur de bloc actuelle",
    "console_help_getinfo": "  getinfo       - Afficher les infos du nœud",
    "console_help_getmininginfo": "  getmininginfo - Afficher le statut du minage",
    "console_help_getpeerinfo": "  getpeerinfo   - Afficher les pairs connectés",
    "console_help_gettotalbalance": "  gettotalbalance - Afficher le solde total",
    "console_help_help": "  help          - Afficher ce message d'aide",
    "console_help_setgenerate": "  setgenerate   - Contrôler le minage",
    "console_help_stop": "  stop          - Arrêter le daemon",
    "console_line_count": "%zu lignes",
    "console_new_lines": "%d nouvelles lignes",
    "console_no_daemon": "Pas de daemon",
    "console_not_connected": "Erreur : Non connecté au daemon",
    "console_rpc_reference": "Référence des commandes RPC",
    "console_scanline": "Scanline de la console",
    "console_search_commands": "Rechercher des commandes...",
    "console_select_all": "Tout sélectionner",
    "console_show_daemon_output": "Afficher la sortie du daemon",
    "console_show_errors_only": "Afficher uniquement les erreurs",
    "console_show_rpc_ref": "Afficher la référence des commandes RPC",
    "console_showing_lines": "Affichage de %zu sur %zu lignes",
    "console_starting_node": "Démarrage du nœud...",
    "console_status_error": "Erreur",
    "console_status_running": "En cours",
    "console_status_starting": "Démarrage",
    "console_status_stopped": "Arrêté",
    "console_status_stopping": "Arrêt",
    "console_status_unknown": "Inconnu",
    "console_tab_completion": "Tab pour compléter",
    "console_type_help": "Tapez 'help' pour les commandes disponibles",
    "console_welcome": "Bienvenue dans la console ObsidianDragon",
    "console_zoom_in": "Agrandir",
    "console_zoom_out": "Réduire",
    "copy": "Copier",
    "copy_address": "Copier l'adresse complète",
    "copy_error": "Copier l'erreur",
    "copy_to_clipboard": "Copier dans le presse-papiers",
    "copy_txid": "Copier le TxID",
    "copy_uri": "Copier l'URI",
    "current_price": "Prix actuel",
    "custom_fees": "Frais personnalisés",
    "dark": "Sombre",
    "date": "Date",
    "date_label": "Date :",
    "delete": "Supprimer",
    "difficulty": "Difficulté",
    "disconnected": "Déconnecté",
    "dismiss": "Ignorer",
    "display": "Affichage",
    "dragonx_green": "DragonX (Vert)",
    "edit": "Modifier",
    "error": "Erreur",
    "est_time_to_block": "Temps est. par bloc",
    "exit": "Quitter",
    "explorer": "EXPLORATEUR",
    "export": "Exporter",
    "export_csv": "Exporter en CSV",
    "export_keys_btn": "Exporter les clés",
    "export_keys_danger": "DANGER : Ceci exportera TOUTES les clés privées de votre portefeuille ! Toute personne ayant accès à ce fichier peut voler vos fonds. Conservez-le en sécurité et supprimez-le après utilisation.",
    "export_keys_include_t": "Inclure les adresses T (transparentes)",
    "export_keys_include_z": "Inclure les adresses Z (blindées)",
    "export_keys_options": "Options d'exportation :",
    "export_keys_success": "Clés exportées avec succès",
    "export_keys_title": "Exporter toutes les clés privées",
    "export_private_key": "Exporter la clé privée",
    "export_tx_count": "Exporter %zu transactions en fichier CSV.",
    "export_tx_file_fail": "Impossible de créer le fichier CSV",
    "export_tx_none": "Aucune transaction à exporter",
    "export_tx_success": "Transactions exportées avec succès",
    "export_tx_title": "Exporter les transactions en CSV",
    "export_viewing_key": "Exporter la clé de visualisation",
    "failed_create_shielded": "Échec de la création de l'adresse blindée",
    "failed_create_transparent": "Échec de la création de l'adresse transparente",
    "fee": "Frais",
    "fee_high": "Élevés",
    "fee_label": "Frais :",
    "fee_low": "Faibles",
    "fee_normal": "Normal",
    "fetch_prices": "Récupérer les prix",
    "file": "Fichier",
    "file_save_location": "Le fichier sera enregistré dans : ~/.config/ObsidianDragon/",
    "font_scale": "Taille de police",
    "from": "De",
    "from_upper": "DE",
    "full_details": "Tous les détails",
    "general": "Général",
    "go_to_receive": "Aller à Recevoir",
    "height": "Hauteur",
    "help": "Aide",
    "hide": "Masquer",
    "history": "Historique",
    "immature_type": "Immature",
    "import": "Importer",
    "import_key_btn": "Importer clé(s)",
    "import_key_formats": "Formats de clés pris en charge :",
    "import_key_full_rescan": "(0 = rescan complet)",
    "import_key_label": "Clé(s) privée(s) :",
    "import_key_no_valid": "Aucune clé valide trouvée dans l'entrée",
    "import_key_rescan": "Re-scanner la blockchain après l'importation",
    "import_key_start_height": "Hauteur de départ :",
    "import_key_success": "Clés importées avec succès",
    "import_key_t_format": "Clés privées WIF d'adresses T",
    "import_key_title": "Importer une clé privée",
    "import_key_tooltip": "Entrez une ou plusieurs clés privées, une par ligne.\nPrend en charge les clés z-adresse et t-adresse.\nLes lignes commençant par # sont traitées comme des commentaires.",
    "import_key_warning": "Attention : Ne partagez jamais vos clés privées ! L'importation de clés provenant de sources non fiables peut compromettre votre portefeuille.",
    "import_key_z_format": "Clés de dépenses z-adresse (secret-extended-key-...)",
    "import_private_key": "Importer une clé privée...",
    "invalid_address": "Format d'adresse invalide",
    "ip_address": "Adresse IP",
    "keep": "Conserver",
    "keep_daemon": "Garder le daemon en marche",
    "key_export_fetching": "Récupération de la clé depuis le portefeuille...",
    "key_export_private_key": "Clé privée :",
    "key_export_private_warning": "Gardez cette clé SECRÈTE ! Toute personne possédant cette clé peut dépenser vos fonds. Ne la partagez jamais en ligne ou avec des tiers non fiables.",
    "key_export_reveal": "Révéler la clé",
    "key_export_viewing_key": "Clé de visualisation :",
    "key_export_viewing_warning": "Cette clé de visualisation permet à d'autres de voir vos transactions entrantes et votre solde, mais PAS de dépenser vos fonds. Ne la partagez qu'avec des personnes de confiance.",
    "label": "Libellé :",
    "language": "Langue",
    "light": "Clair",
    "loading": "Chargement...",
    "loading_addresses": "Chargement des adresses...",
    "local_hashrate": "Hashrate local",
    "low_spec_mode": "Mode économie",
    "market": "Marché",
    "market_12h": "12h",
    "market_18h": "18h",
    "market_24h": "24h",
    "market_24h_volume": "VOLUME 24H",
    "market_6h": "6h",
    "market_attribution": "Données de prix de NonKYC",
    "market_btc_price": "PRIX BTC",
    "market_cap": "Capitalisation",
    "market_no_history": "Aucun historique de prix disponible",
    "market_no_price": "Pas de données de prix",
    "market_now": "Maintenant",
    "market_pct_shielded": "%.0f%% Blindé",
    "market_portfolio": "PORTEFEUILLE",
    "market_price_unavailable": "Données de prix indisponibles",
    "market_refresh_price": "Actualiser les données de prix",
    "market_trade_on": "Échanger sur %s",
    "mature": "Mature",
    "max": "Max",
    "memo": "Mémo (optionnel, chiffré)",
    "memo_label": "Mémo :",
    "memo_optional": "MÉMO (OPTIONNEL)",
    "memo_upper": "MÉMO",
    "memo_z_only": "Note : Les mémos ne sont disponibles que lors de l'envoi vers des adresses blindées (z)",
    "merge_description": "Fusionnez plusieurs UTXOs en une seule adresse blindée. Cela peut réduire la taille du portefeuille et améliorer la confidentialité.",
    "merge_funds": "Fusionner les fonds",
    "merge_started": "Opération de fusion démarrée",
    "merge_title": "Fusionner vers une adresse",
    "mine_when_idle": "Miner au repos",
    "mined": "miné",
    "mined_filter": "Miné",
    "mined_type": "Miné",
    "mined_upper": "MINÉ",
    "miner_fee": "Frais de mineur",
    "mining": "Minage",
    "mining_active": "Actif",
    "mining_address_copied": "Adresse de minage copiée",
    "mining_all_time": "Tout le temps",
    "mining_already_saved": "URL du pool déjà enregistrée",
    "mining_block_copied": "Hash du bloc copié",
    "mining_chart_1m_ago": "il y a 1m",
    "mining_chart_5m_ago": "il y a 5m",
    "mining_chart_now": "Maintenant",
    "mining_chart_start": "Début",
    "mining_click": "Cliquer",
    "mining_click_copy_address": "Cliquez pour copier l'adresse",
    "mining_click_copy_block": "Cliquez pour copier le hash du bloc",
    "mining_click_copy_difficulty": "Cliquez pour copier la difficulté",
    "mining_connected": "Connecté",
    "mining_connecting": "Connexion...",
    "mining_control": "Contrôle du minage",
    "mining_difficulty_copied": "Difficulté copiée",
    "mining_est_block": "Bloc est.",
    "mining_est_daily": "Est. quotidien",
    "mining_filter_all": "Tout",
    "mining_filter_tip_all": "Afficher tous les gains",
    "mining_filter_tip_pool": "Afficher uniquement les gains du pool",
    "mining_filter_tip_solo": "Afficher uniquement les gains solo",
    "mining_idle_off_tooltip": "Activer le minage au repos",
    "mining_idle_on_tooltip": "Désactiver le minage au repos",
    "mining_local_hashrate": "Hashrate local",
    "mining_mine": "Miner",
    "mining_mining_addr": "Adr. minage",
    "mining_network": "Réseau",
    "mining_no_blocks_yet": "Aucun bloc trouvé pour l'instant",
    "mining_no_payouts_yet": "Aucun paiement de pool pour l'instant",
    "mining_no_saved_addresses": "Aucune adresse enregistrée",
    "mining_no_saved_pools": "Aucun pool enregistré",
    "mining_off": "Le minage est DÉSACTIVÉ",
    "mining_on": "Le minage est ACTIVÉ",
    "mining_open_in_explorer": "Ouvrir dans l'explorateur",
    "mining_payout_address": "Adresse de paiement",
    "mining_payout_tooltip": "Adresse pour recevoir les récompenses de minage",
    "mining_pool": "Pool",
    "mining_pool_hashrate": "Hashrate du pool",
    "mining_pool_url": "URL du pool",
    "mining_recent_blocks": "BLOCS RÉCENTS",
    "mining_recent_payouts": "PAIEMENTS DE POOL RÉCENTS",
    "mining_remove": "Supprimer",
    "mining_reset_defaults": "Réinitialiser les paramètres",
    "mining_save_payout_address": "Enregistrer l'adresse de paiement",
    "mining_save_pool_url": "Enregistrer l'URL du pool",
    "mining_saved_addresses": "Adresses enregistrées :",
    "mining_saved_pools": "Pools enregistrés :",
    "mining_shares": "Parts",
    "mining_show_chart": "Graphique",
    "mining_show_log": "Journal",
    "mining_solo": "Solo",
    "mining_starting": "Démarrage...",
    "mining_starting_tooltip": "Le mineur démarre...",
    "mining_statistics": "Statistiques de minage",
    "mining_stop": "Arrêter",
    "mining_stop_solo_for_pool": "Arrêtez le minage solo avant de démarrer le minage en pool",
    "mining_stop_solo_for_pool_settings": "Arrêtez le minage solo pour modifier les paramètres du pool",
    "mining_stopping": "Arrêt...",
    "mining_stopping_tooltip": "Le mineur s'arrête...",
    "mining_syncing_tooltip": "La blockchain se synchronise...",
    "mining_threads": "Threads de minage",
    "mining_to_save": "pour enregistrer",
    "mining_today": "Aujourd'hui",
    "mining_uptime": "Temps de fonctionnement",
    "mining_yesterday": "Hier",
    "network": "Réseau",
    "network_fee": "FRAIS RÉSEAU",
    "network_hashrate": "Hashrate du réseau",
    "new": "+ Nouveau",
    "new_shielded_created": "Nouvelle adresse blindée créée",
    "new_t_address": "Nouvelle adresse T",
    "new_t_transparent": "Nouvelle adresse t (Transparente)",
    "new_transparent_created": "Nouvelle adresse transparente créée",
    "new_z_address": "Nouvelle adresse Z",
    "new_z_shielded": "Nouvelle adresse z (Blindée)",
    "no_addresses": "Aucune adresse trouvée. Créez-en une avec les boutons ci-dessus.",
    "no_addresses_available": "Aucune adresse disponible",
    "no_addresses_match": "Aucune adresse ne correspond au filtre",
    "no_addresses_with_balance": "Aucune adresse avec solde",
    "no_matching": "Aucune transaction correspondante",
    "no_recent_receives": "Aucune réception récente",
    "no_recent_sends": "Aucun envoi récent",
    "no_transactions": "Aucune transaction trouvée",
    "node": "NŒUD",
    "node_security": "NŒUD & SÉCURITÉ",
    "noise": "Bruit",
    "not_connected": "Non connecté au daemon...",
    "not_connected_to_daemon": "Non connecté au daemon",
    "notes": "Notes",
    "notes_optional": "Notes (optionnel) :",
    "output_filename": "Nom du fichier de sortie :",
    "overview": "Aperçu",
    "paste": "Coller",
    "paste_from_clipboard": "Coller depuis le presse-papiers",
    "pay_from": "Payer depuis",
    "payment_request": "DEMANDE DE PAIEMENT",
    "payment_request_copied": "Demande de paiement copiée",
    "payment_uri_copied": "URI de paiement copiée",
    "peers": "Pairs",
    "peers_avg_ping": "Ping moyen",
    "peers_ban_24h": "Bannir le pair 24h",
    "peers_ban_score": "Score de ban : %d",
    "peers_banned": "Bannis",
    "peers_banned_count": "Bannis : %d",
    "peers_best_block": "Meilleur bloc",
    "peers_blockchain": "BLOCKCHAIN",
    "peers_blocks": "Blocs",
    "peers_blocks_left": "%d blocs restants",
    "peers_clear_all_bans": "Lever tous les bannissements",
    "peers_click_copy": "Cliquez pour copier",
    "peers_connected": "Connectés",
    "peers_connected_count": "Connectés : %d",
    "peers_copy_ip": "Copier l'IP",
    "peers_dir_in": "Ent.",
    "peers_dir_out": "Sort.",
    "peers_hash_copied": "Hash copié",
    "peers_hashrate": "Hashrate",
    "peers_in_out": "Ent./Sort.",
    "peers_longest": "Plus longue",
    "peers_longest_chain": "Plus longue chaîne",
    "peers_memory": "Mémoire",
    "peers_no_banned": "Aucun pair banni",
    "peers_no_connected": "Aucun pair connecté",
    "peers_no_tls": "Pas de TLS",
    "peers_notarized": "Notarisé",
    "peers_p2p_port": "Port P2P",
    "peers_protocol": "Protocole",
    "peers_received": "Reçu",
    "peers_refresh": "Actualiser",
    "peers_refresh_tooltip": "Actualiser la liste des pairs",
    "peers_refreshing": "Actualisation...",
    "peers_sent": "Envoyé",
    "peers_tt_id": "ID : %d",
    "peers_tt_received": "Reçu : %s",
    "peers_tt_sent": "Envoyé : %s",
    "peers_tt_services": "Services : %s",
    "peers_tt_start_height": "Hauteur de départ : %d",
    "peers_tt_synced": "Synchronisé H/B : %d/%d",
    "peers_tt_tls_cipher": "TLS : %s",
    "peers_unban": "Débannir",
    "peers_upper": "PAIRS",
    "peers_version": "Version",
    "pending": "En attente",
    "ping": "Ping",
    "price_chart": "Graphique des prix",
    "qr_code": "Code QR",
    "qr_failed": "Échec de la génération du code QR",
    "qr_title": "Code QR",
    "qr_unavailable": "QR indisponible",
    "receive": "Recevoir",
    "received": "reçu",
    "received_filter": "Reçu",
    "received_label": "Reçu",
    "received_upper": "REÇU",
    "receiving_addresses": "Vos adresses de réception",
    "recent_received": "REÇUS RÉCENTS",
    "recent_sends": "ENVOIS RÉCENTS",
    "recipient": "DESTINATAIRE",
    "recv_type": "Reçu",
    "refresh": "Actualiser",
    "refresh_now": "Actualiser maintenant",
    "report_bug": "Signaler un bug",
    "request_amount": "Montant (optionnel) :",
    "request_copy_uri": "Copier l'URI",
    "request_description": "Générez une demande de paiement que d'autres peuvent scanner ou copier. Le code QR contient votre adresse et un montant/mémo optionnel.",
    "request_label": "Libellé (optionnel) :",
    "request_memo": "Mémo (optionnel) :",
    "request_payment": "Demander un paiement",
    "request_payment_uri": "URI de paiement :",
    "request_receive_address": "Adresse de réception :",
    "request_select_address": "Sélectionner une adresse...",
    "request_shielded_addrs": "-- Adresses blindées --",
    "request_title": "Demander un paiement",
    "request_transparent_addrs": "-- Adresses transparentes --",
    "request_uri_copied": "URI de paiement copiée dans le presse-papiers",
    "rescan": "Re-scanner",
    "reset_to_defaults": "Réinitialiser les paramètres",
    "review_send": "Vérifier l'envoi",
    "rpc_host": "Hôte RPC",
    "rpc_pass": "Mot de passe",
    "rpc_port": "Port",
    "rpc_user": "Nom d'utilisateur",
    "save": "Enregistrer",
    "save_settings": "Enregistrer les paramètres",
    "save_z_transactions": "Enregistrer les Z-tx dans la liste",
    "search_placeholder": "Rechercher...",
    "security": "SÉCURITÉ",
    "select_address": "Sélectionner une adresse...",
    "select_receiving_address": "Sélectionner une adresse de réception...",
    "select_source_address": "Sélectionner une adresse source...",
    "send": "Envoyer",
    "send_amount": "Montant",
    "send_amount_details": "DÉTAILS DU MONTANT",
    "send_amount_upper": "MONTANT",
    "send_clear_fields": "Effacer tous les champs du formulaire ?",
    "send_copy_error": "Copier l'erreur",
    "send_dismiss": "Ignorer",
    "send_error_copied": "Erreur copiée dans le presse-papiers",
    "send_error_prefix": "Erreur : %s",
    "send_exceeds_available": "Dépasse le disponible (%.8f)",
    "send_fee": "Frais",
    "send_fee_high": "Élevés",
    "send_fee_low": "Faibles",
    "send_fee_normal": "Normal",
    "send_form_restored": "Formulaire restauré",
    "send_from_this_address": "Envoyer depuis cette adresse",
    "send_go_to_receive": "Aller à Recevoir",
    "send_keep": "Conserver",
    "send_network_fee": "FRAIS RÉSEAU",
    "send_no_balance": "Pas de solde",
    "send_no_recent": "Aucun envoi récent",
    "send_recent_sends": "ENVOIS RÉCENTS",
    "send_recipient": "DESTINATAIRE",
    "send_select_source": "Sélectionner une adresse source...",
    "send_sending_from": "ENVOI DEPUIS",
    "send_submitting": "Soumission de la transaction...",
    "send_switch_to_receive": "Passez à Recevoir pour obtenir votre adresse et commencer à recevoir des fonds.",
    "send_to": "Envoyer à",
    "send_tooltip_enter_amount": "Entrez un montant à envoyer",
    "send_tooltip_exceeds_balance": "Le montant dépasse le solde disponible",
    "send_tooltip_in_progress": "Transaction déjà en cours",
    "send_tooltip_invalid_address": "Entrez une adresse de destinataire valide",
    "send_tooltip_not_connected": "Non connecté au daemon",
    "send_tooltip_select_source": "Sélectionnez d'abord une adresse source",
    "send_tooltip_syncing": "Attendez la synchronisation de la blockchain",
    "send_total": "Total",
    "send_transaction": "Envoyer la transaction",
    "send_tx_failed": "Transaction échouée",
    "send_tx_sent": "Transaction envoyée !",
    "send_tx_success": "Transaction envoyée avec succès !",
    "send_txid_copied": "TxID copié dans le presse-papiers",
    "send_txid_label": "TxID : %s",
    "send_valid_shielded": "Adresse blindée valide",
    "send_valid_transparent": "Adresse transparente valide",
    "send_wallet_empty": "Votre portefeuille est vide",
    "send_yes_clear": "Oui, effacer",
    "sending": "Envoi de la transaction",
    "sending_from": "ENVOI DEPUIS",
    "sent": "envoyé",
    "sent_filter": "Envoyé",
    "sent_type": "Envoyé",
    "sent_upper": "ENVOYÉ",
    "settings": "Paramètres",
    "setup_wizard": "Assistant de configuration",
    "share": "Partager",
    "shield_check_status": "Vérifier le statut",
    "shield_completed": "Opération terminée avec succès !",
    "shield_description": "Blindez vos récompenses de minage en envoyant les sorties coinbase des adresses transparentes vers une adresse blindée. Cela améliore la confidentialité en masquant vos revenus de minage.",
    "shield_from_address": "Depuis l'adresse :",
    "shield_funds": "Blinder les fonds",
    "shield_in_progress": "Opération en cours...",
    "shield_max_utxos": "UTXOs max par opération",
    "shield_merge_done": "Blindage/fusion terminé !",
    "shield_select_z": "Sélectionner une z-adresse...",
    "shield_started": "Opération de blindage démarrée",
    "shield_title": "Blinder les récompenses coinbase",
    "shield_to_address": "Vers l'adresse (blindée) :",
    "shield_utxo_limit": "Limite UTXO :",
    "shield_wildcard_hint": "Utilisez '*' pour blinder depuis toutes les adresses transparentes",
    "shielded": "Blindé",
    "shielded_to": "BLINDÉ VERS",
    "shielded_type": "Blindé",
    "show": "Afficher",
    "show_qr_code": "Afficher le code QR",
    "showing_transactions": "Affichage %d\xe2\x80\x93%d sur %d transactions (total : %zu)",
    "simple_background": "Arrière-plan simple",
    "start_mining": "Démarrer le minage",
    "status": "Statut",
    "stop_external": "Arrêter le daemon externe",
    "stop_mining": "Arrêter le minage",
    "submitting_transaction": "Soumission de la transaction...",
    "success": "Succès",
    "summary": "Résumé",
    "syncing": "Synchronisation...",
    "t_addresses": "Adresses T",
    "test_connection": "Tester",
    "theme": "Thème",
    "theme_effects": "Effets de thème",
    "time_days_ago": "il y a %d jours",
    "time_hours_ago": "il y a %d heures",
    "time_minutes_ago": "il y a %d minutes",
    "time_seconds_ago": "il y a %d secondes",
    "to": "À",
    "to_upper": "À",
    "tools": "OUTILS",
    "total": "Total",
    "transaction_id": "ID DE TRANSACTION",
    "transaction_sent": "Transaction envoyée avec succès",
    "transaction_sent_msg": "Transaction envoyée !",
    "transaction_url": "URL de transaction",
    "transactions": "Transactions",
    "transactions_upper": "TRANSACTIONS",
    "transparent": "Transparent",
    "tx_confirmations": "%d confirmations",
    "tx_details_title": "Détails de la transaction",
    "tx_from_address": "Adresse d'origine :",
    "tx_id_label": "ID de transaction :",
    "tx_immature": "IMMATURE",
    "tx_mined": "MINÉ",
    "tx_received": "REÇU",
    "tx_sent": "ENVOYÉ",
    "tx_to_address": "Adresse de destination :",
    "tx_view_explorer": "Voir dans l'explorateur",
    "txs_count": "%d txs",
    "type": "Type",
    "ui_opacity": "Opacité de l'interface",
    "unban": "Débannir",
    "unconfirmed": "Non confirmé",
    "undo_clear": "Annuler l'effacement",
    "unknown": "Inconnu",
    "use_embedded_daemon": "Utiliser le dragonxd intégré",
    "use_tor": "Utiliser Tor",
    "validate_btn": "Valider",
    "validate_description": "Entrez une adresse DragonX pour vérifier si elle est valide et si elle appartient à ce portefeuille.",
    "validate_invalid": "INVALIDE",
    "validate_is_mine": "Ce portefeuille possède cette adresse",
    "validate_not_mine": "N'appartient pas à ce portefeuille",
    "validate_ownership": "Propriété :",
    "validate_results": "Résultats :",
    "validate_shielded_type": "Blindée (z-adresse)",
    "validate_status": "Statut :",
    "validate_title": "Valider l'adresse",
    "validate_transparent_type": "Transparente (t-adresse)",
    "validate_type": "Type :",
    "validate_valid": "VALIDE",
    "validating": "Validation...",
    "verbose_logging": "Journalisation détaillée",
    "version": "Version",
    "view": "Afficher",
    "view_details": "Voir les détails",
    "view_on_explorer": "Voir dans l'explorateur",
    "waiting_for_daemon": "En attente de la connexion au daemon...",
    "wallet": "PORTEFEUILLE",
    "wallet_empty": "Votre portefeuille est vide",
    "wallet_empty_hint": "Passez à Recevoir pour obtenir votre adresse et commencer à recevoir des fonds.",
    "warning": "Attention",
    "warning_upper": "ATTENTION !",
    "website": "Site web",
    "window_opacity": "Opacité de la fenêtre",
    "yes_clear": "Oui, effacer",
    "your_addresses": "Vos adresses",
    "z_addresses": "Adresses Z",
}

out = os.path.join(os.path.dirname(__file__), "..", "res", "lang", "fr.json")
with open(out, "w", encoding="utf-8") as f:
    json.dump(translations, f, indent=4, ensure_ascii=False, sort_keys=True)
print(f"Wrote {len(translations)} French translations to {os.path.abspath(out)}")
