{
  "channels_channelDeleteFailed": "Échec de la suppression de la chaîne \"{name}\"",
  "@channels_channelDeleteFailed": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "@@locale": "fr",
  "appTitle": "MeshCore Open",
  "nav_contacts": "Coordonnées",
  "nav_channels": "Canaux",
  "nav_map": "Carte",
  "common_cancel": "Annuler",
  "common_connect": "Connecter",
  "common_unknownDevice": "Appareil inconnu",
  "common_save": "Enregistrer",
  "common_delete": "Supprimer",
  "common_close": "Fermer",
  "common_edit": "Modifier",
  "common_add": "Ajouter",
  "common_settings": "Paramètres",
  "common_disconnect": "Déconnecter",
  "common_connected": "Connecté",
  "common_disconnected": "Déconnecté",
  "common_create": "Créer",
  "common_continue": "Continuer",
  "common_share": "Partager",
  "common_copy": "Copier",
  "common_retry": "Réessayer",
  "common_hide": "Masquer",
  "common_remove": "Supprimer",
  "common_enable": "Activer",
  "common_disable": "Désactiver",
  "common_reboot": "Redémarrer",
  "common_loading": "Chargement...",
  "common_notAvailable": "—",
  "common_voltageValue": "{volts} V",
  "@common_voltageValue": {
    "placeholders": {
      "volts": {
        "type": "String"
      }
    }
  },
  "common_percentValue": "{percent}%",
  "@common_percentValue": {
    "placeholders": {
      "percent": {
        "type": "int"
      }
    }
  },
  "scanner_title": "MeshCore Open",
  "scanner_scanning": "Recherche de périphériques...",
  "scanner_connecting": "Connexion en cours...",
  "scanner_disconnecting": "Déconnexion...",
  "scanner_notConnected": "Non connecté",
  "scanner_connectedTo": "Connecté à {deviceName}",
  "@scanner_connectedTo": {
    "placeholders": {
      "deviceName": {
        "type": "String"
      }
    }
  },
  "scanner_searchingDevices": "Recherche des appareils MeshCore...",
  "scanner_tapToScan": "Appuyez sur Scanner pour trouver les appareils MeshCore",
  "scanner_connectionFailed": "Échec de la connexion : {error}",
  "@scanner_connectionFailed": {
    "placeholders": {
      "error": {
        "type": "String"
      }
    }
  },
  "scanner_stop": "Arrêter",
  "scanner_scan": "Scanner",
  "device_quickSwitch": "Basculement rapide",
  "device_meshcore": "MeshCore",
  "settings_title": "Paramètres",
  "settings_deviceInfo": "Informations du périphérique",
  "settings_appSettings": "Paramètres de l'application",
  "settings_appSettingsSubtitle": "Notifications, messagerie et préférences de carte",
  "settings_nodeSettings": "Paramètres du nœud",
  "settings_nodeName": "Nom du nœud",
  "settings_nodeNameNotSet": "Non défini",
  "settings_nodeNameHint": "Entrer le nom du nœud",
  "settings_nodeNameUpdated": "Nom mis à jour",
  "settings_radioSettings": "Paramètres Radio",
  "settings_radioSettingsSubtitle": "Fréquence, puissance, facteur d'espacement",
  "settings_radioSettingsUpdated": "Paramètres radio mis à jour",
  "settings_location": "Emplacement",
  "settings_locationSubtitle": "Coordonnées GPS",
  "settings_locationUpdated": "Emplacement mis à jour",
  "settings_locationBothRequired": "Entrez la latitude et la longitude.",
  "settings_locationInvalid": "Latitude ou longitude invalide.",
  "settings_latitude": "Latitude",
  "settings_longitude": "Longitude",
  "settings_privacyMode": "Mode de confidentialité",
  "settings_privacyModeSubtitle": "Cacher le nom/l'emplacement dans les annonces",
  "settings_privacyModeToggle": "Activer le mode confidentialité pour masquer votre nom et votre localisation dans les annonces.",
  "settings_privacyModeEnabled": "Mode de confidentialité activé",
  "settings_privacyModeDisabled": "Mode de confidentialité désactivé",
  "settings_actions": "Actions",
  "settings_deleteAllPaths": "Delete All Paths",
  "settings_deleteAllPathsSubtitle": "Clear all path data from contacts.",
  "settings_sendAdvertisement": "S'annoncer",
  "settings_sendAdvertisementSubtitle": "Présence diffusée maintenant",
  "settings_advertisementSent": "Annonce envoyée",
  "settings_syncTime": "Temps de synchronisation",
  "settings_syncTimeSubtitle": "Définir l'heure de l'appareil sur l'heure du téléphone.",
  "settings_timeSynchronized": "Synchronisation temporelle",
  "settings_refreshContacts": "Rafraîchir les Contacts",
  "settings_refreshContactsSubtitle": "Recharger la liste des contacts depuis l'appareil",
  "settings_rebootDevice": "Redémarrer l'appareil",
  "settings_rebootDeviceSubtitle": "Redémarrer l'appareil MeshCore",
  "settings_rebootDeviceConfirm": "Êtes-vous sûr de vouloir redémarrer l'appareil ? Vous serez déconnecté.",
  "settings_debug": "Déboguer",
  "settings_bleDebugLog": "Journal de débogage BLE",
  "settings_bleDebugLogSubtitle": "Commandes BLE, réponses et données brutes",
  "settings_appDebugLog": "Journal de débogage de l'application",
  "settings_appDebugLogSubtitle": "Messages de débogage de l'application",
  "settings_about": "À propos",
  "settings_aboutVersion": "MeshCore Open {version}",
  "@settings_aboutVersion": {
    "placeholders": {
      "version": {
        "type": "String"
      }
    }
  },
  "settings_aboutLegalese": "Projet MeshCore Open Source 2026",
  "settings_aboutDescription": "Un client Flutter open source pour les appareils de réseau mesh MeshCore LoRa.",
  "settings_infoName": "Nom",
  "settings_infoId": "Numéro d'identification",
  "settings_infoStatus": "État",
  "settings_infoBattery": "Batterie",
  "settings_infoPublicKey": "Clé Publique",
  "settings_infoContactsCount": "Nombre de contacts",
  "settings_infoChannelCount": "Nombre de canaux",
  "settings_presets": "Préréglages",
  "settings_frequency": "Fréquence (MHz)",
  "settings_frequencyHelper": "300,0 - 2 500,0",
  "settings_frequencyInvalid": "Fréquence invalide (300-2500 MHz)",
  "settings_bandwidth": "Bande passante",
  "settings_spreadingFactor": "Facteur de répartition (SF)",
  "settings_codingRate": "Taux de codage (CR)",
  "settings_txPower": "TX Puissance (dBm)",
  "settings_txPowerHelper": "0 - 22",
  "settings_txPowerInvalid": "Puissance TX invalide (0-22 dBm)",
  "settings_error": "Erreur : {message}",
  "@settings_error": {
    "placeholders": {
      "message": {
        "type": "String"
      }
    }
  },
  "appSettings_title": "Paramètres de l'application",
  "appSettings_appearance": "Apparence",
  "appSettings_theme": "Thème",
  "appSettings_themeSystem": "Défaut système",
  "appSettings_themeLight": "Lumière",
  "appSettings_themeDark": "Sombre",
  "appSettings_language": "Langue",
  "appSettings_languageSystem": "Par défaut du système",
  "appSettings_languageEn": "Anglais",
  "appSettings_languageFr": "Français",
  "appSettings_languageEs": "Espagnol",
  "appSettings_languageDe": "Allemand",
  "appSettings_languagePl": "Polonais",
  "appSettings_languageSl": "Sloveno",
  "appSettings_languagePt": "Portugais",
  "appSettings_languageIt": "Italien",
  "appSettings_languageZh": "Chinois",
  "appSettings_languageSv": "Suédois",
  "appSettings_languageNl": "Néerlandais",
  "appSettings_languageSk": "Slovène",
  "appSettings_languageBg": "Bulgare",
  "appSettings_notifications": "Notifications",
  "appSettings_enableNotifications": "Activer les Notifications",
  "appSettings_enableNotificationsSubtitle": "Recevoir des notifications pour les messages et les annonces",
  "appSettings_notificationPermissionDenied": "Permission de notification refusée",
  "appSettings_notificationsEnabled": "Notifications activées",
  "appSettings_notificationsDisabled": "Notifications désactivées",
  "appSettings_messageNotifications": "Notifications de Messages",
  "appSettings_messageNotificationsSubtitle": "Afficher une notification lors de la réception de nouveaux messages",
  "appSettings_channelMessageNotifications": "Notifications des Messages de Canal",
  "appSettings_channelMessageNotificationsSubtitle": "Afficher une notification lors de la réception des messages de canal",
  "appSettings_advertisementNotifications": "Notifications d'annonces",
  "appSettings_advertisementNotificationsSubtitle": "Afficher une notification lors de la découverte de nouveaux nœuds",
  "appSettings_messaging": "Messagerie",
  "appSettings_clearPathOnMaxRetry": "Effacer le chemin sur Max Retry",
  "appSettings_clearPathOnMaxRetrySubtitle": "Réinitialiser le chemin de contact après 5 tentatives d'envoi infructueuses",
  "appSettings_pathsWillBeCleared": "Les chemins seront effacés après 5 tentatives infructueuses.",
  "appSettings_pathsWillNotBeCleared": "Les chemins ne seront pas effacés automatiquement.",
  "appSettings_autoRouteRotation": "Rotation de l'itinéraire automatique",
  "appSettings_autoRouteRotationSubtitle": "Alterner entre les meilleurs chemins et le mode d'envoi sur tout le réseau (flood)",
  "appSettings_autoRouteRotationEnabled": "Rotation du routage automatique activée",
  "appSettings_autoRouteRotationDisabled": "Rotation de l'itinéraire automatique désactivée",
  "appSettings_battery": "Batterie",
  "appSettings_batteryChemistry": "Chimie de la batterie",
  "appSettings_batteryChemistryPerDevice": "Définir par appareil ({deviceName})",
  "@appSettings_batteryChemistryPerDevice": {
    "placeholders": {
      "deviceName": {
        "type": "String"
      }
    }
  },
  "appSettings_batteryChemistryConnectFirst": "Connectez un appareil pour choisir",
  "appSettings_batteryNmc": "18650 NMC (3,0-4,2V)",
  "appSettings_batteryLifepo4": "LiFePO4 (2,6-3,65V)",
  "appSettings_batteryLipo": "LiPo (3,0-4,2V)",
  "appSettings_mapDisplay": "Affichage de la carte",
  "appSettings_showRepeaters": "Afficher les répéteurs",
  "appSettings_showRepeatersSubtitle": "Afficher les nœuds répéteurs sur la carte",
  "appSettings_showChatNodes": "Afficher les nœuds de discussion",
  "appSettings_showChatNodesSubtitle": "Afficher les nœuds de chat sur la carte",
  "appSettings_showOtherNodes": "Afficher d'autres nœuds",
  "appSettings_showOtherNodesSubtitle": "Afficher d'autres types de nœuds sur la carte",
  "appSettings_timeFilter": "Filtre du temps",
  "appSettings_timeFilterShowAll": "Afficher tous les nœuds",
  "appSettings_timeFilterShowLast": "Afficher les nœuds des {hours} dernières heures",
  "@appSettings_timeFilterShowLast": {
    "placeholders": {
      "hours": {
        "type": "int"
      }
    }
  },
  "appSettings_mapTimeFilter": "Filtre du Temps de la Carte",
  "appSettings_showNodesDiscoveredWithin": "Afficher les nœuds découverts dans :",
  "appSettings_allTime": "Tout le temps",
  "appSettings_lastHour": "Dernière heure",
  "appSettings_last6Hours": "Dernières 6 heures",
  "appSettings_last24Hours": "Dernières 24 heures",
  "appSettings_lastWeek": "La semaine dernière",
  "appSettings_offlineMapCache": "Cache de Carte Hors Ligne",
  "appSettings_noAreaSelected": "Aucune zone sélectionnée",
  "appSettings_areaSelectedZoom": "Zone sélectionnée (zoom {minZoom}-{maxZoom})",
  "@appSettings_areaSelectedZoom": {
    "placeholders": {
      "minZoom": {
        "type": "int"
      },
      "maxZoom": {
        "type": "int"
      }
    }
  },
  "appSettings_debugCard": "Déboguer",
  "appSettings_appDebugLogging": "Journalisation de débogage de l'application",
  "appSettings_appDebugLoggingSubtitle": "Enregistrez les messages de débogage de l'application Log pour le dépannage.",
  "appSettings_appDebugLoggingEnabled": "Journalisation de débogage de l'application activée",
  "appSettings_appDebugLoggingDisabled": "Le débogage de l'application est désactivé.",
  "contacts_title": "Coordonnées",
  "contacts_noContacts": "Aucun contact trouvé.",
  "contacts_contactsWillAppear": "Les contacts apparaîtront lorsque les appareils font leur annonce.",
  "contacts_searchContacts": "Rechercher des contacts...",
  "contacts_noUnreadContacts": "Aucun contact non lu",
  "contacts_noContactsFound": "Aucun contact ou groupe trouvé.",
  "contacts_deleteContact": "Supprimer le contact",
  "contacts_removeConfirm": "Supprimer {contactName} des contacts ?",
  "@contacts_removeConfirm": {
    "placeholders": {
      "contactName": {
        "type": "String"
      }
    }
  },
  "contacts_manageRepeater": "Gérer le répéteur",
  "contacts_roomLogin": "Connexion Room Server",
  "contacts_openChat": "Ouverture du Chat",
  "contacts_editGroup": "Modifier le groupe",
  "contacts_deleteGroup": "Supprimer le groupe",
  "contacts_deleteGroupConfirm": "Supprimer {groupName}?",
  "@contacts_deleteGroupConfirm": {
    "placeholders": {
      "groupName": {
        "type": "String"
      }
    }
  },
  "contacts_newGroup": "Nouveau Groupe",
  "contacts_groupName": "Nom du groupe",
  "contacts_groupNameRequired": "Le nom du groupe est obligatoire.",
  "contacts_groupNameReserved": "Ce nom de groupe est réservé",
  "contacts_groupAlreadyExists": "Le groupe \"{name}\" existe déjà.",
  "@contacts_groupAlreadyExists": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "contacts_filterContacts": "Filtrer les contacts...",
  "contacts_noContactsMatchFilter": "Aucun contact ne correspond à votre filtre.",
  "contacts_noMembers": "Aucun membre",
  "contacts_lastSeenNow": "Vu maintenant",
  "contacts_lastSeenMinsAgo": "~ {minutes} minutes.",
  "@contacts_lastSeenMinsAgo": {
    "placeholders": {
      "minutes": {
        "type": "int"
      }
    }
  },
  "contacts_lastSeenHourAgo": "~ 1 heure",
  "contacts_lastSeenHoursAgo": "~ {hours} heures",
  "@contacts_lastSeenHoursAgo": {
    "placeholders": {
      "hours": {
        "type": "int"
      }
    }
  },
  "contacts_lastSeenDayAgo": "~ 1 jour",
  "contacts_lastSeenDaysAgo": "~ {days} jours",
  "@contacts_lastSeenDaysAgo": {
    "placeholders": {
      "days": {
        "type": "int"
      }
    }
  },
  "channels_title": "Canaux",
  "channels_noChannelsConfigured": "Aucun canal configuré",
  "channels_addPublicChannel": "Ajouter un canal public",
  "channels_searchChannels": "Rechercher des canaux...",
  "channels_noChannelsFound": "Aucun canal trouvé",
  "channels_channelIndex": "Canal {index}",
  "@channels_channelIndex": {
    "placeholders": {
      "index": {
        "type": "int"
      }
    }
  },
  "channels_public": "Public",
  "channels_private": "Privé",
  "channels_editChannel": "Modifier le canal",
  "channels_muteChannel": "Désactiver les notifications du canal",
  "channels_unmuteChannel": "Réactiver les notifications du canal",
  "channels_deleteChannel": "Supprimer le canal",
  "channels_deleteChannelConfirm": "Supprimer {name}? Cela ne peut pas être annulé.",
  "@channels_deleteChannelConfirm": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "channels_channelDeleted": "Le canal \"{name}\" a été supprimé",
  "@channels_channelDeleted": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "channels_addChannel": "Ajouter un Canal",
  "channels_channelIndexLabel": "Index de canal",
  "channels_channelName": "Nom du canal",
  "channels_usePublicChannel": "Utiliser le canal public",
  "channels_standardPublicPsk": "PSK public standard",
  "channels_pskHex": "PSK (Hexadécimal)",
  "channels_generateRandomPsk": "Générer une clé de modulation PSK aléatoire",
  "channels_enterChannelName": "Veuillez entrer un nom de canal",
  "channels_pskMustBe32Hex": "Le PKS doit être composé de 32 caractères hexadécimaux.",
  "channels_channelAdded": "Le canal \"{name}\" a été ajouté",
  "@channels_channelAdded": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "channels_editChannelTitle": "Modifier le Canal {index}",
  "@channels_editChannelTitle": {
    "placeholders": {
      "index": {
        "type": "int"
      }
    }
  },
  "channels_smazCompression": "Compression SMAZ",
  "channels_cyr2latCompression": "Compression Cyr2Lat",
  "channels_cyr2latCompressionDscr": "Remplace certains caractères cyrilliques par des caractères latins lors de l'envoi.",
  "channels_cyr2latSettingsHeading": "Paramètres Cyr2Lat",
  "channels_cyr2latSettingsSubheading": "Liste des remplacements",
  "channels_cyr2latSettingsDscr": "Modifier la configuration JSON des remplacements de caractères",
  "channels_cyr2latSettingsDialogHint": "Tableau de remplacement JSON",
  "channels_cyr2latSettingsDialogWrongJSON": "JSON incorrect : {error}",
  "settings_cyr2latProfileAdd": "Ajouter un profil Cyr2Lat",
  "settings_cyr2latProfileName": "Nom du profil",
  "settings_cyr2latProfileNameEmpty": "Le nom du profil ne peut pas être vide",
  "settings_cyr2latProfileAdded": "Profil ajouté avec succès",
  "settings_cyr2latProfileUpdated": "Profil mis à jour avec succès",
  "settings_cyr2latProfileEdit": "Modifier le profil Cyr2Lat",
  "settings_cyr2latProfileDelete": "Supprimer le profil Cyr2Lat",
  "settings_cyr2latProfileDeleted": "Profil supprimé avec succès",
  "settings_cyr2latProfileDeleteDscr": "Êtes-vous sûr de vouloir supprimer le profil \"{name}\"?",
  "channels_channelUpdated": "Le canal \"{name}\" a été mis à jour",
  "@channels_channelUpdated": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "channels_publicChannelAdded": "Le canal public a été ajouté",
  "channels_sortBy": "Trier par",
  "channels_sortManual": "Manuel",
  "channels_sortAZ": "A à Z",
  "channels_sortLatestMessages": "Derniers messages",
  "channels_sortUnread": "Non lu",
  "chat_noMessages": "Aucun message pour le moment.",
  "chat_sendMessageToStart": "Envoyer un message pour commencer",
  "chat_originalMessageNotFound": "Message d'origine non trouvé",
  "chat_replyingTo": "Répondre à {name}",
  "@chat_replyingTo": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "chat_replyTo": "Répondre à {name}",
  "@chat_replyTo": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "chat_location": "Emplacement",
  "chat_sendMessageTo": "Envoyer un message à {contactName}",
  "@chat_sendMessageTo": {
    "placeholders": {
      "contactName": {
        "type": "String"
      }
    }
  },
  "chat_typeMessage": "Saisir un message...",
  "chat_messageTooLong": "Message trop long (max {maxBytes} octets).",
  "@chat_messageTooLong": {
    "placeholders": {
      "maxBytes": {
        "type": "int"
      }
    }
  },
  "chat_messageCopied": "Message copié",
  "chat_messageDeleted": "Message supprimé",
  "chat_retryingMessage": "Tentative de récupération.",
  "chat_retryCount": "Essai {current}/{max}",
  "@chat_retryCount": {
    "placeholders": {
      "current": {
        "type": "int"
      },
      "max": {
        "type": "int"
      }
    }
  },
  "chat_sendGif": "Envoyer GIF",
  "chat_reply": "Répondre",
  "chat_addReaction": "Ajouter une Réaction",
  "chat_me": "Moi",
  "emojiCategorySmileys": "Émojis",
  "emojiCategoryGestures": "Gestes",
  "emojiCategoryHearts": "Cœurs",
  "emojiCategoryObjects": "Objets",
  "gifPicker_title": "Choisir un GIF",
  "gifPicker_searchHint": "Rechercher des GIF...",
  "gifPicker_poweredBy": "Propulsé par GIPHY",
  "gifPicker_noGifsFound": "Aucun GIF trouvé",
  "gifPicker_failedLoad": "Impossible de charger les GIFs",
  "gifPicker_failedSearch": "Recherche de GIFs échouée",
  "gifPicker_noInternet": "Aucune connexion internet",
  "debugLog_appTitle": "Journal de débogage de l'application",
  "debugLog_bleTitle": "Journal de débogage BLE",
  "debugLog_copyLog": "Copier le journal",
  "debugLog_clearLog": "Effacer le journal",
  "debugLog_copied": "Journal de débogage copié",
  "debugLog_bleCopied": "Journal BLE copié",
  "debugLog_noEntries": "Aucun journal de débogage pour le moment.",
  "debugLog_enableInSettings": "Activer le débogage de l'application dans les paramètres",
  "debugLog_frames": "Cadres",
  "debugLog_rawLogRx": "Enregistrement brut - RX",
  "debugLog_noBleActivity": "Pas d'activité BLE enregistrée pour le moment.",
  "debugFrame_length": "Longueur du cadre : {count} octets",
  "@debugFrame_length": {
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "debugFrame_command": "Commande : 0x{value}",
  "@debugFrame_command": {
    "placeholders": {
      "value": {
        "type": "String"
      }
    }
  },
  "debugFrame_textMessageHeader": "Message :",
  "debugFrame_destinationPubKey": "- Clé publique de destination : {pubKey}",
  "@debugFrame_destinationPubKey": {
    "placeholders": {
      "pubKey": {
        "type": "String"
      }
    }
  },
  "debugFrame_timestamp": "- Timestamp : {timestamp}",
  "@debugFrame_timestamp": {
    "placeholders": {
      "timestamp": {
        "type": "int"
      }
    }
  },
  "debugFrame_flags": "- Indicateurs : 0x{value}",
  "@debugFrame_flags": {
    "placeholders": {
      "value": {
        "type": "String"
      }
    }
  },
  "debugFrame_textType": "- Type de texte : {type} ({label})",
  "@debugFrame_textType": {
    "placeholders": {
      "type": {
        "type": "int"
      },
      "label": {
        "type": "String"
      }
    }
  },
  "debugFrame_textTypeCli": "CLI",
  "debugFrame_textTypePlain": "Simple",
  "debugFrame_text": "- Texte : \"{text}\"",
  "@debugFrame_text": {
    "placeholders": {
      "text": {
        "type": "String"
      }
    }
  },
  "debugFrame_hexDump": "Vidéo de Dump Hexadécimal :",
  "chat_pathManagement": "Gestion des chemins",
  "chat_routingMode": "Mode de routage",
  "chat_autoUseSavedPath": "Auto (utiliser le chemin sauvegardé)",
  "chat_forceFloodMode": "Mode tout le réseau forcé",
  "chat_recentAckPaths": "Chemins ACK récents (touchez pour utiliser) :",
  "chat_pathHistoryFull": "L'historique du chemin est plein. Supprimez les entrées pour en ajouter de nouvelles.",
  "chat_hopSingular": "saut",
  "chat_hopPlural": "sauts",
  "chat_hopsCount": "{count} {count, plural, =1{saut} other{sauts}}",
  "@chat_hopsCount": {
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "chat_successes": "Succès",
  "chat_removePath": "Supprimer le chemin",
  "chat_noPathHistoryYet": "Aucune historique de parcours disponible.\nEnvoyez un message pour découvrir les parcours.",
  "chat_pathActions": "Actions du chemin :",
  "chat_setCustomPath": "Définir un chemin personnalisé",
  "chat_setCustomPathSubtitle": "Spécifier manuellement le chemin de routage",
  "chat_clearPath": "Effacer le chemin",
  "chat_clearPathSubtitle": "Forcer la redécouverte lors de la prochaine envoi",
  "chat_pathCleared": "Le chemin est dégagé. Le prochain message redécouvrira le tracé.",
  "chat_floodModeSubtitle": "Désactive l'apprentissage du chemin (à éviter). Utiliser le commutateur de routage dans la barre d'application pour rebasculer en mode auto par la suite.",
  "chat_floodModeEnabled": "Le mode envoi à tout le réseau est activé. Changer via l'icône de routage dans la barre d'outils.",
  "chat_fullPath": "Chemin complet",
  "chat_pathDetailsNotAvailable": "Les détails du chemin ne sont pas encore disponibles. Essayez d'envoyer un message pour rafraîchir.",
  "chat_pathSetHops": "Chemin défini : {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}",
  "@chat_pathSetHops": {
    "placeholders": {
      "hopCount": {
        "type": "int"
      },
      "status": {
        "type": "String"
      }
    }
  },
  "chat_pathSavedLocally": "Sauvegardé localement. Connectez-vous pour synchroniser.",
  "chat_pathDeviceConfirmed": "Appareil confirmé.",
  "chat_pathDeviceNotConfirmed": "L'appareil n'a pas encore été confirmé.",
  "chat_type": "Saisir",
  "chat_path": "Chemin",
  "chat_publicKey": "Clé Publique",
  "chat_compressOutgoingMessages": "Compresser les messages sortants",
  "chat_floodForced": "Tout le réseau  (forcée)",
  "chat_directForced": "Direct (forcé)",
  "chat_hopsForced": "{count} sauts (forcés)",
  "@chat_hopsForced": {
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "chat_floodAuto": "Tout le réseau (auto)",
  "chat_direct": "Afficher",
  "chat_poiShared": "Point d'intérêt Partagé",
  "chat_unread": "Non lu : {count}",
  "@chat_unread": {
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "chat_openLink": "Ouvrir le lien ?",
  "chat_openLinkConfirmation": "Voulez-vous ouvrir ce lien dans votre navigateur ?",
  "chat_open": "Ouvrir",
  "chat_couldNotOpenLink": "Impossible d'ouvrir le lien : {url}",
  "@chat_couldNotOpenLink": {
    "placeholders": {
      "url": {
        "type": "String"
      }
    }
  },
  "chat_invalidLink": "Format de lien invalide",
  "map_title": "Carte des nœuds",
  "map_noNodesWithLocation": "Aucun nœud avec des données de localisation",
  "map_nodesNeedGps": "Les nœuds doivent partager leurs coordonnées GPS\npour apparaître sur la carte.",
  "map_nodesCount": "Nœuds : {count}",
  "@map_nodesCount": {
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "map_pinsCount": "Epingles: {count}",
  "@map_pinsCount": {
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "map_chat": "Conversation",
  "map_repeater": "Répéteur",
  "map_room": "Room Server",
  "map_sensor": "Capteur",
  "map_pinDm": "Clé (DM)",
  "map_pinPrivate": "Verrouiller (Privé)",
  "map_pinPublic": "Clé (Public)",
  "map_lastSeen": "Dernière fois vu",
  "map_disconnectConfirm": "Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?",
  "map_from": "À partir de",
  "map_source": "Source",
  "map_flags": "Drapeaux",
  "map_shareMarkerHere": "Partager le marqueur ici",
  "map_pinLabel": "Étiquete de repin",
  "map_label": "Étiquette",
  "map_pointOfInterest": "Point d'intérêt",
  "map_sendToContact": "Envoyer au contact",
  "map_sendToChannel": "Envoyer sur le canal",
  "map_noChannelsAvailable": "Aucun canal disponible",
  "map_publicLocationShare": "Partager dans un lieu public",
  "map_publicLocationShareConfirm": "Vous êtes sur le point de partager un emplacement dans {channelLabel}. Ce canal est public et toute personne disposant de la clé PSK peut le voir.",
  "@map_publicLocationShareConfirm": {
    "placeholders": {
      "channelLabel": {
        "type": "String"
      }
    }
  },
  "map_connectToShareMarkers": "Connectez-vous à un appareil pour partager des marqueurs",
  "map_filterNodes": "Filtrer les nœuds",
  "map_nodeTypes": "Types de nœuds",
  "map_chatNodes": "Nœuds de Chat",
  "map_repeaters": "Répéteurs",
  "map_otherNodes": "Autres nœuds",
  "map_keyPrefix": "Préfixe clé",
  "map_filterByKeyPrefix": "Filtrer par préfixe de clé",
  "map_publicKeyPrefix": "Préfixe de clé publique",
  "map_markers": "Marqueurs",
  "map_showSharedMarkers": "Afficher les marqueurs partagés",
  "map_lastSeenTime": "Dernière fois vu",
  "map_sharedPin": "Clé partagée",
  "map_joinRoom": "Rejoindre le room server",
  "map_manageRepeater": "Gérer le répéteur",
  "mapCache_title": "Cache de Carte Hors Ligne",
  "mapCache_selectAreaFirst": "Sélectionner une zone pour la mise en cache en premier",
  "mapCache_noTilesToDownload": "Aucun tuilage à télécharger pour cette zone.",
  "mapCache_downloadTilesTitle": "Télécharger les tuiles",
  "mapCache_downloadTilesPrompt": "Télécharger {count} tuiles pour un usage hors ligne ?",
  "@mapCache_downloadTilesPrompt": {
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "mapCache_downloadAction": "Télécharger",
  "mapCache_cachedTiles": "Cachez {count} tuiles",
  "@mapCache_cachedTiles": {
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "mapCache_cachedTilesWithFailed": "Tuiles mis en cache ({downloaded}) ({failed} ratés)",
  "@mapCache_cachedTilesWithFailed": {
    "placeholders": {
      "downloaded": {
        "type": "int"
      },
      "failed": {
        "type": "int"
      }
    }
  },
  "mapCache_clearOfflineCacheTitle": "Vider le cache hors ligne",
  "mapCache_clearOfflineCachePrompt": "Supprimer toutes les tuiles de carte mises en cache ?",
  "mapCache_offlineCacheCleared": "Le cache hors ligne a été effacé.",
  "mapCache_noAreaSelected": "Aucune zone sélectionnée",
  "mapCache_cacheArea": "Zone de cache",
  "mapCache_useCurrentView": "Utiliser la Vue Actuelle",
  "mapCache_zoomRange": "Plage de zoom",
  "mapCache_estimatedTiles": "Estimation des tuiles : {count}",
  "@mapCache_estimatedTiles": {
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "mapCache_downloadedTiles": "Téléchargé {completed} / {total}",
  "@mapCache_downloadedTiles": {
    "placeholders": {
      "completed": {
        "type": "int"
      },
      "total": {
        "type": "int"
      }
    }
  },
  "mapCache_downloadTilesButton": "Télécharger les tuiles",
  "mapCache_clearCacheButton": "Vider le Cache",
  "mapCache_failedDownloads": "Téléchargements échoués : {count}",
  "@mapCache_failedDownloads": {
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "mapCache_boundsLabel": "N {north}, S {south}, E {east}, O {west}",
  "@mapCache_boundsLabel": {
    "placeholders": {
      "north": {
        "type": "String"
      },
      "south": {
        "type": "String"
      },
      "east": {
        "type": "String"
      },
      "west": {
        "type": "String"
      }
    }
  },
  "time_justNow": "Maintenant",
  "time_minutesAgo": "{minutes} minutes auparavant",
  "@time_minutesAgo": {
    "placeholders": {
      "minutes": {
        "type": "int"
      }
    }
  },
  "time_hoursAgo": "{hours}h auparavant",
  "@time_hoursAgo": {
    "placeholders": {
      "hours": {
        "type": "int"
      }
    }
  },
  "time_daysAgo": "{days} jours avant",
  "@time_daysAgo": {
    "placeholders": {
      "days": {
        "type": "int"
      }
    }
  },
  "time_hour": "heure",
  "time_hours": "heures",
  "time_day": "jour",
  "time_days": "jours",
  "time_week": "semaine",
  "time_weeks": "semaines",
  "time_month": "mois",
  "time_months": "mois",
  "time_minutes": "minutes",
  "time_allTime": "Tout le temps",
  "dialog_disconnect": "Déconnecter",
  "dialog_disconnectConfirm": "Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?",
  "login_repeaterLogin": "Connexion au répéteur",
  "login_roomLogin": "Connexion Room Server",
  "login_password": "Mot de passe",
  "login_enterPassword": "Entrez votre mot de passe",
  "login_savePassword": "Sauvegarder le mot de passe",
  "login_savePasswordSubtitle": "Le mot de passe sera stocké en toute sécurité sur cet appareil.",
  "login_repeaterDescription": "Entrez le mot de passe du répéteur pour accéder aux paramètres et à l'état.",
  "login_roomDescription": "Entrez le mot de passe de la pièce pour accéder aux paramètres et à l'état.",
  "login_routing": "Redirection",
  "login_routingMode": "Mode de routage",
  "login_autoUseSavedPath": "Auto (utiliser le chemin sauvegardé)",
  "login_forceFloodMode": "Mode tout le réseau forcé",
  "login_managePaths": "Gérer les chemins",
  "login_login": "Connexion",
  "login_attempt": "Essayer {current}/{max}",
  "@login_attempt": {
    "placeholders": {
      "current": {
        "type": "int"
      },
      "max": {
        "type": "int"
      }
    }
  },
  "login_failed": "Connexion échouée : {error}",
  "@login_failed": {
    "placeholders": {
      "error": {
        "type": "String"
      }
    }
  },
  "login_failedMessage": "Connexion échouée. Soit le mot de passe est incorrect, soit le relais est injoignable.",
  "common_reload": "Recharger",
  "common_clear": "Effacer",
  "path_currentPath": "Chemin actuel : {path}",
  "@path_currentPath": {
    "placeholders": {
      "path": {
        "type": "String"
      }
    }
  },
  "path_usingHopsPath": "Utiliser {count} {count, plural, =1{hop} other{hops}} chemin",
  "@path_usingHopsPath": {
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "path_enterCustomPath": "Entrer un chemin personnalisé",
  "path_currentPathLabel": "Chemin actuel",
  "path_hexPrefixInstructions": "Entrez les préfixes hexadécimaux de 2 caractères pour chaque saut, séparés par des virgules.",
  "path_hexPrefixExample": "Exemple : A1,F2,3C (chaque nœud utilise le premier octet de sa clé publique).",
  "path_labelHexPrefixes": "Préfixes hexadécimaux",
  "path_helperMaxHops": "Max 64 sauts. Chaque préfixe fait 2 caractères hexadécimaux (1 octet)",
  "path_selectFromContacts": "Sélectionner à partir des contacts :",
  "path_noRepeatersFound": "Aucun répéteur ou room server n'a été trouvé.",
  "path_customPathsRequire": "Les chemins personnalisés nécessitent des sauts intermédiaires qui peuvent transmettre des messages.",
  "path_invalidHexPrefixes": "Préfixes hexadécimaux invalides : {prefixes}",
  "@path_invalidHexPrefixes": {
    "placeholders": {
      "prefixes": {
        "type": "String"
      }
    }
  },
  "path_tooLong": "Le chemin est trop long. Maximum 64 sauts autorisés.",
  "path_setPath": "Définir le chemin",
  "repeater_management": "Gestion des répéteurs",
  "repeater_managementTools": "Outils de Gestion",
  "repeater_status": "État",
  "repeater_statusSubtitle": "Afficher l'état, les statistiques et les voisins du répéteur",
  "repeater_telemetry": "Télémetrie",
  "repeater_telemetrySubtitle": "Afficher la télémétrie des capteurs et les statistiques du système",
  "repeater_cli": "CLI",
  "repeater_cliSubtitle": "Envoyer des commandes au répéteur",
  "repeater_settings": "Paramètres",
  "repeater_settingsSubtitle": "Configurer les paramètres du répéteur",
  "repeater_statusTitle": "État du répéteur",
  "repeater_routingMode": "Mode de routage",
  "repeater_autoUseSavedPath": "Auto (utiliser le chemin sauvegardé)",
  "repeater_forceFloodMode": "Mode tout le réseau forcé",
  "repeater_pathManagement": "Gestion des chemins",
  "repeater_refresh": "Rafraîchir",
  "repeater_statusRequestTimeout": "Demande de statut délai dépassé.",
  "repeater_errorLoadingStatus": "Erreur lors du chargement du statut : {error}",
  "@repeater_errorLoadingStatus": {
    "placeholders": {
      "error": {
        "type": "String"
      }
    }
  },
  "repeater_systemInformation": "Informations Système",
  "repeater_battery": "Batterie",
  "repeater_clockAtLogin": "Horloge (au démarrage)",
  "repeater_uptime": "Disponibilité",
  "repeater_queueLength": "Longueur de la file d'attente",
  "repeater_debugFlags": "Marqueurs de débogage",
  "repeater_radioStatistics": "Statistiques Radio",
  "repeater_lastRssi": "Dernier RSSI",
  "repeater_lastSnr": "Dernier SNR",
  "repeater_noiseFloor": "Niveau de Bruit",
  "repeater_txAirtime": "TX Airtime",
  "repeater_rxAirtime": "RX Airtime",
  "repeater_packetStatistics": "Statistiques des paquets",
  "repeater_sent": "Envoyé",
  "repeater_received": "Reçu",
  "repeater_duplicates": "Doublons",
  "repeater_daysHoursMinsSecs": "{days} jours {hours}h {minutes}m {seconds}s",
  "@repeater_daysHoursMinsSecs": {
    "placeholders": {
      "days": {
        "type": "int"
      },
      "hours": {
        "type": "int"
      },
      "minutes": {
        "type": "int"
      },
      "seconds": {
        "type": "int"
      }
    }
  },
  "repeater_packetTxTotal": "Total : {total}, Tout le réseau : {flood}, Direct : {direct}",
  "@repeater_packetTxTotal": {
    "placeholders": {
      "total": {
        "type": "int"
      },
      "flood": {
        "type": "String"
      },
      "direct": {
        "type": "String"
      }
    }
  },
  "repeater_packetRxTotal": "Total : {total}, Tout le réseau : {flood}, Direct : {direct}",
  "@repeater_packetRxTotal": {
    "placeholders": {
      "total": {
        "type": "int"
      },
      "flood": {
        "type": "String"
      },
      "direct": {
        "type": "String"
      }
    }
  },
  "repeater_duplicatesFloodDirect": "Tout le réseau : {flood}, Direct : {direct}",
  "@repeater_duplicatesFloodDirect": {
    "placeholders": {
      "flood": {
        "type": "String"
      },
      "direct": {
        "type": "String"
      }
    }
  },
  "repeater_duplicatesTotal": "Total : {total}",
  "@repeater_duplicatesTotal": {
    "placeholders": {
      "total": {
        "type": "int"
      }
    }
  },
  "repeater_settingsTitle": "Paramètres du répéteur",
  "repeater_basicSettings": "Paramètres de base",
  "repeater_repeaterName": "Nom du répéteur",
  "repeater_repeaterNameHelper": "Afficher le nom de ce répéteur",
  "repeater_adminPassword": "Mot de passe Administrateur",
  "repeater_adminPasswordHelper": "Mot de passe d'accès complet",
  "repeater_guestPassword": "Mot de passe invité",
  "repeater_guestPasswordHelper": "Accès en lecture seule avec mot de passe",
  "repeater_radioSettings": "Paramètres Radio",
  "repeater_frequencyMhz": "Fréquence (MHz)",
  "repeater_frequencyHelper": "300-2500 MHz",
  "repeater_txPower": "TX Puissance",
  "repeater_txPowerHelper": "1 à 30 dBm",
  "repeater_bandwidth": "Bande passante",
  "repeater_spreadingFactor": "Facteur de répartition (SF)",
  "repeater_codingRate": "Taux de codage (CR)",
  "repeater_locationSettings": "Paramètres de localisation",
  "repeater_latitude": "Latitude",
  "repeater_latitudeHelper": "Degrés décimaux (par exemple, 37.7749)",
  "repeater_longitude": "Longitude",
  "repeater_longitudeHelper": "Degrés décimaux (par exemple, -122,4194)",
  "repeater_features": "Fonctionnalités",
  "repeater_packetForwarding": "Mode répéteur",
  "repeater_packetForwardingSubtitle": "Activer le répéteur pour transmettre des paquets",
  "repeater_guestAccess": "Accès Invité",
  "repeater_guestAccessSubtitle": "Autoriser l'accès invité en lecture seule",
  "repeater_privacyMode": "Mode de confidentialité",
  "repeater_privacyModeSubtitle": "Cacher le nom/l'emplacement dans les annonces",
  "repeater_advertisementSettings": "Paramètres d'annonces",
  "repeater_localAdvertInterval": "Intervalle des annonces Locale (0 saut)",
  "repeater_localAdvertIntervalMinutes": "{minutes} minutes",
  "@repeater_localAdvertIntervalMinutes": {
    "placeholders": {
      "minutes": {
        "type": "int"
      }
    }
  },
  "repeater_floodAdvertInterval": "Intervalle des annonces à tout le réseau (flood)",
  "repeater_floodAdvertIntervalHours": "{hours} heures",
  "@repeater_floodAdvertIntervalHours": {
    "placeholders": {
      "hours": {
        "type": "int"
      }
    }
  },
  "repeater_encryptedAdvertInterval": "Intervalle d'annonces cryptées",
  "repeater_dangerZone": "Zone dangereuse",
  "repeater_rebootRepeater": "Redémarrer Répéteur",
  "repeater_rebootRepeaterSubtitle": "Réinitialiser l'appareil répéteur",
  "repeater_rebootRepeaterConfirm": "Êtes-vous sûr de vouloir redémarrer ce répéteur ?",
  "repeater_regenerateIdentityKey": "Ré générer la clé d'identité",
  "repeater_regenerateIdentityKeySubtitle": "Générer une nouvelle paire de clés publique/privée",
  "repeater_regenerateIdentityKeyConfirm": "Cela générera une nouvelle identité pour le répéteur. Continuer ?",
  "repeater_eraseFileSystem": "Supprimer le système de fichiers",
  "repeater_eraseFileSystemSubtitle": "Formater le système de fichiers du répéteur",
  "repeater_eraseFileSystemConfirm": "AVERTISSEMENT : Cela effacera toutes les données du répéteur. Cela ne peut pas être annulé !",
  "repeater_eraseSerialOnly": "Erase n'est disponible que via la console série.",
  "repeater_commandSent": "Commande envoyée : {command}",
  "@repeater_commandSent": {
    "placeholders": {
      "command": {
        "type": "String"
      }
    }
  },
  "repeater_errorSendingCommand": "Erreur lors de l'envoi de la commande : {error}",
  "@repeater_errorSendingCommand": {
    "placeholders": {
      "error": {
        "type": "String"
      }
    }
  },
  "repeater_confirm": "Confirmer",
  "repeater_settingsSaved": "Les paramètres ont été enregistrés avec succès.",
  "repeater_rxGain": "Augmentation du rendement de RX",
  "repeater_rxGainHelper": "Meilleure sensibilité, consommation de courant plus élevée (uniquement pour les modèles SX1262/SX1268)",
  "repeater_refreshRxGain": "Renforcer les gains de RX grâce à la mise à jour",
  "repeater_multiAcks": "Plusieurs accusés de réception",
  "repeater_multiAcksSubtitle": "Valider les messages via plusieurs chemins pour une meilleure livraison.",
  "repeater_refreshMultiAcks": "Renvoyer plusieurs accusés de réception",
  "repeater_networkHealth": "Santé du réseau",
  "repeater_loopDetect": "Détection de boucles",
  "repeater_loopDetectHelper": "Envoyer des paquets de données qui semblent former des boucles de routage.",
  "repeater_loopDetectOff": "Prix",
  "repeater_loopDetectMinimal": "Minimal",
  "repeater_loopDetectModerate": "Modéré",
  "repeater_loopDetectStrict": "Strict",
  "repeater_dutyCycle": "Cycle de fonctionnement",
  "repeater_dutyCycleHelper": "Pourcentage maximal de temps d'antenne",
  "repeater_dutyCyclePercent": "{percent}%",
  "@repeater_dutyCyclePercent": {
    "placeholders": {
      "percent": {
        "type": "int"
      }
    }
  },
  "repeater_ownerInfo": "Informations sur l'opérateur",
  "repeater_ownerInfoHelper": "Métadonnées publiques pour cet émetteur",
  "repeater_refreshOwnerInfo": "Rafraîchir les informations sur l'opérateur",
  "repeater_floodMax": "Nombre maximal de sauts lors des inondations",
  "repeater_floodMaxHelper": "Nombre maximal de paquets de données qu'un flux peut transmettre (0-64)",
  "repeater_advancedSettings": "Avancé",
  "repeater_advancedSettingsSubtitle": "Molettes de réglage pour les opérateurs expérimentés",
  "repeater_pathHashMode": "Mode de hachage de chemin",
  "repeater_pathHashModeHelper": "Octets utilisés pour encoder l'ID de ce routeur dans les balises de détection de flux/boucles. 0 = 1 octet (256 ID, jusqu'à 64 sauts), 1 = 2 octets (65 000 ID, jusqu'à 32 sauts), 2 = 3 octets (16 millions d'ID, jusqu'à 21 sauts). Les versions 1.13 et antérieures utilisent des chemins multi-octets ; à partir de la version 1.14, cela n'est plus nécessaire.",
  "repeater_txDelay": "Retard dû aux inondations à Texas",
  "repeater_txDelayHelper": "Rétransmettre l'espacement pour le trafic de secours en cas de inondation, en multipliant le temps d'émission du paquet (0-2, valeur par défaut : 0,5). Une valeur plus élevée signifie moins de collisions, mais une vitesse de transmission plus lente.",
  "repeater_directTxDelay": "Retard de transmission direct",
  "repeater_directTxDelayHelper": "Rétransmettre l'espacement pour le trafic direct (non-inondation), en multipliant le temps de transmission des paquets (0-2, valeur par défaut : 0,3).",
  "repeater_intThresh": "Seuil de perturbation",
  "repeater_intThreshHelper": "Seuil dépassé pour la calibration du niveau de bruit de la radio, afin de rejeter les interférences supérieures à ce niveau. 0 désactive – ne mettez cette valeur que si vous constatez des erreurs RX dans une bande de fréquences bruyante.",
  "repeater_agcResetInterval": "Interval de réinitialisation de l'AGC",
  "repeater_agcResetIntervalHelper": "À quelle fréquence réinitialiser le contrôle automatique du gain de la radio pour revenir à un état normal ? Chaque seconde, ou à chaque multiple de 4. Désactiver la réinitialisation périodique avec 0.",
  "repeater_actionsTitle": "Actions",
  "repeater_sendAdvert": "Envoyer une publicité sur les inondations",
  "repeater_sendAdvertSubtitle": "Diffuser une publicité sur les inondations via le réseau.",
  "repeater_sendAdvertZeroHop": "Envoyer une publicité sans intermédiaire",
  "repeater_sendAdvertZeroHopSubtitle": "Diffuser une publicité d'un seul saut (sans relais)",
  "repeater_clockSync": "Synchroniser l'heure maintenant",
  "repeater_clockSyncSubtitle": "Envoyez l'heure de votre téléphone au répéteur.",
  "repeater_actionSucceeded": "{action} a réussi",
  "@repeater_actionSucceeded": {
    "placeholders": {
      "action": {
        "type": "String"
      }
    }
  },
  "repeater_actionFailed": "{action} a échoué : {error}",
  "@repeater_actionFailed": {
    "placeholders": {
      "action": {
        "type": "String"
      },
      "error": {
        "type": "String"
      }
    }
  },
  "repeater_settingsSavedRebootNeeded": "Paramètres sauvegardés — redémarrer le répéteur pour appliquer les modifications.",
  "repeater_settingsPartialFailure": "Certaines configurations ont échoué : {failures}",
  "@repeater_settingsPartialFailure": {
    "placeholders": {
      "failures": {
        "type": "String"
      }
    }
  },
  "repeater_errorSavingSettings": "Erreur lors de la sauvegarde des paramètres : {error}",
  "@repeater_errorSavingSettings": {
    "placeholders": {
      "error": {
        "type": "String"
      }
    }
  },
  "repeater_refreshBasicSettings": "Rafraîchir les paramètres de base",
  "repeater_refreshRadioSettings": "Rafraîchir les paramètres Radio",
  "repeater_refreshTxPower": "Rafraîchir la tension TX",
  "repeater_refreshPacketForwarding": "Rafraîchir le routage des paquets",
  "repeater_refreshGuestAccess": "Rafraîchir l'accès invité",
  "repeater_refreshPrivacyMode": "Rafraîchir le Mode Confidentialité",
  "repeater_refreshed": "{label} rafraîchi",
  "@repeater_refreshed": {
    "placeholders": {
      "label": {
        "type": "String"
      }
    }
  },
  "repeater_errorRefreshing": "Erreur lors du rafraîchissement de {label}",
  "@repeater_errorRefreshing": {
    "placeholders": {
      "label": {
        "type": "String"
      }
    }
  },
  "repeater_cliTitle": "Répéteur CLI",
  "repeater_debugNextCommand": "Déboguer Prochaine Commande",
  "repeater_commandHelp": "Aide",
  "repeater_clearHistory": "Effacer l'historique",
  "repeater_noCommandsSent": "Aucune commande n'a encore été envoyée.",
  "repeater_typeCommandOrUseQuick": "Saisissez une commande ci-dessous ou utilisez les commandes rapides",
  "repeater_enterCommandHint": "Entrer la commande...",
  "repeater_previousCommand": "Commande précédente",
  "repeater_nextCommand": "Prochaine commande",
  "repeater_enterCommandFirst": "Entrez d'abord une commande",
  "repeater_cliCommandFrameTitle": "Frame de commande CLI",
  "repeater_cliCommandError": "Erreur : {error}",
  "@repeater_cliCommandError": {
    "placeholders": {
      "error": {
        "type": "String"
      }
    }
  },
  "repeater_cliQuickGetName": "Obtenir le nom",
  "repeater_cliQuickGetRadio": "Obtenir la Radio",
  "repeater_cliQuickGetTx": "Obtenir TX",
  "repeater_cliQuickNeighbors": "Voisins",
  "repeater_cliQuickVersion": "Version",
  "repeater_cliQuickAdvertise": "Publier",
  "repeater_cliQuickClock": "Horloge",
  "repeater_cliHelpAdvert": "Envoie un paquet d'annonce",
  "repeater_cliHelpReboot": "Redémarre l'appareil. (Note, vous risquez d'obtenir 'Timeout' ce qui est normal)",
  "repeater_cliHelpClock": "Affiche l'heure actuelle par l'horloge de chaque appareil.",
  "repeater_cliHelpPassword": "Définit un nouveau mot de passe administrateur pour l'appareil.",
  "repeater_cliHelpVersion": "Affiche la version du périphérique et la date de construction du micrologiciel.",
  "repeater_cliHelpClearStats": "Réinitialise divers compteurs de statistiques à zéro.",
  "repeater_cliHelpSetAf": "Définit le facteur de temps d'air.",
  "repeater_cliHelpSetTx": "Définit la puissance de transmission LoRa en dBm (réinitialisation requise pour appliquer).",
  "repeater_cliHelpSetRepeat": "Active ou désactive le rôle du répéteur pour ce nœud.",
  "repeater_cliHelpSetAllowReadOnly": "(Room server) Si \"activé\", alors un mot de passe vide permettra la connexion, mais ne permettra pas de publier dans la pièce. (lecture seule uniquement)",
  "repeater_cliHelpSetFloodMax": "Définit le nombre maximal de sauts pour les paquets de balayage entrants (si >= max, le paquet n'est pas acheminé).",
  "repeater_cliHelpSetIntThresh": "Définit le seuil d'interférence (en dB). La valeur par défaut est de 14. Définir sur 0 désactive la détection des interférences de canal.",
  "repeater_cliHelpSetAgcResetInterval": "Définit l'intervalle pour réinitialiser le contrôleur de gain automatique. Mettez à 0 pour désactiver.",
  "repeater_cliHelpSetMultiAcks": "Active ou désactive la fonctionnalité « double ACKs ».",
  "repeater_cliHelpSetAdvertInterval": "Définit l'intervalle entre chaque émission d'une annonce locale (sans relais). Définir sur 0 pour désactiver.",
  "repeater_cliHelpSetFloodAdvertInterval": "Définit l'intervalle du minuteur en heures pour envoyer un paquet d'annonce massive. Définir sur 0 pour désactiver.",
  "repeater_cliHelpSetGuestPassword": "Définit/met à jour le mot de passe de l'invité. (pour les répéteurs, les connexions d'invités peuvent envoyer la requête \"Get Stats\")",
  "repeater_cliHelpSetName": "Définit le nom de l'annonce.",
  "repeater_cliHelpSetLat": "Définit la latitude de la carte des annonces. (degrés décimaux)",
  "repeater_cliHelpSetLon": "Définit la longitude de la carte de l'annonce. (degrés décimaux)",
  "repeater_cliHelpSetRadio": "Définit complètement de nouveaux paramètres de radio et les enregistre dans les préférences. Nécessite une commande \"redémarrage\" pour les appliquer.",
  "repeater_cliHelpSetRxDelay": "Paramètres (expérimental) de base pour appliquer un léger délai aux paquets reçus, en fonction de la force du signal/score. Définir sur 0 pour désactiver.",
  "repeater_cliHelpSetTxDelay": "Définit un facteur multiplié par le temps de fonctionnement en mode vers tout le réseau (flood) pour un paquet et avec un système de slot aléatoire, afin de retarder son envoi (pour diminuer la probabilité de collisions).",
  "repeater_cliHelpSetDirectTxDelay": "Identique à txdelay, mais pour appliquer un délai aléatoire au transfert des paquets en mode direct.",
  "repeater_cliHelpSetBridgeEnabled": "Activer/Désactiver le pont.",
  "repeater_cliHelpSetBridgeDelay": "Définir le délai avant de renvoyer les paquets.",
  "repeater_cliHelpSetBridgeSource": "Choisissez si le pont retransmettra les paquets reçus ou les paquets transmis.",
  "repeater_cliHelpSetBridgeBaud": "Définir la vitesse de communication série pour les ponts Rs232.",
  "repeater_cliHelpSetBridgeSecret": "Définir le secret du pont pour les ponts espnow.",
  "repeater_cliHelpSetAdcMultiplier": "Définit un facteur personnalisé pour ajuster la tension de la batterie signalée (uniquement pris en charge sur certains cartes).",
  "repeater_cliHelpTempRadio": "Définit des paramètres radio temporaires pour le nombre de minutes donné, puis revient aux paramètres radio d'origine. (ne sauvegarde pas dans les préférences).",
  "repeater_cliHelpSetPerm": "Modifie l’ACL. Supprime l’entrée correspondante (par préfixe de clé publique) si \"permissions\" est égal à zéro. Ajoute une nouvelle entrée si la clé publique hexadécimale a une longueur complète et n’est pas actuellement dans l’ACL. Met à jour l’entrée en fonction du préfixe de clé publique. Les bits de permission varient en fonction du rôle du firmware, mais les 2 bits inférieurs sont : 0 (Invité), 1 (Lecture seule), 2 (Lecture/écriture), 3 (Administrateur).",
  "repeater_cliHelpGetBridgeType": "Obtenir le type de pont : aucun, rs232, espnow",
  "repeater_cliHelpLogStart": "Démarre l'enregistrement des paquets dans le système de fichiers.",
  "repeater_cliHelpLogStop": "Arrêter de journaliser les paquets vers le système de fichiers.",
  "repeater_cliHelpLogErase": "Supprime les journaux de paquets du système de fichiers.",
  "repeater_cliHelpNeighbors": "Affiche une liste d'autres nœuds répéteurs entendus via des annonces sans relais. Chaque ligne est id-préfixe-hexadécimal:timestamp:snr-fois-4",
  "repeater_cliHelpNeighborRemove": "Supprime la première entrée correspondante (par préfixe de clé publique (hexadécimal)) de la liste des voisins.",
  "repeater_cliHelpRegion": "(série uniquement) Liste toutes les régions définies et les autorisations actuelles d'annonces sur tout le réseau (flood).",
  "repeater_cliHelpRegionLoad": "REMARQUE : il s'agit d'une invocation multi-commande spéciale. Chaque commande subséquente est un nom de région (indenté avec des espaces pour indiquer la hiérarchie parent, avec un minimum d'un espace). Terminé par l'envoi d'une ligne vide/commande.",
  "repeater_cliHelpRegionGet": "Recherche la région avec le préfixe de nom donné (ou \"\" pour l'étendue globale). Répond avec \"-> nom-de-région (nom-parent) 'F'\"",
  "repeater_cliHelpRegionPut": "Ajoute ou met à jour une définition de région avec le nom donné.",
  "repeater_cliHelpRegionRemove": "Supprime une définition de région avec le nom donné.",
  "repeater_cliHelpRegionAllowf": "Définit les autorisations de \"Flot\" pour la région donnée. ('' pour la portée globale/héritée)",
  "repeater_cliHelpRegionDenyf": "Supprime l'autorisation 'F'lood' pour la région donnée. (NOTE : à ce stade, il n'est pas conseillé de l'utiliser sur l'étendue globale/héritée !! )",
  "repeater_cliHelpRegionHome": "Répond avec la région 'maison' actuelle. (Note appliquée nulle part pour l'instant, réservée à une utilisation future)",
  "repeater_cliHelpRegionHomeSet": "Définit la région 'maison'.",
  "repeater_cliHelpRegionSave": "Conserve la liste/la carte des régions dans le stockage.",
  "repeater_cliHelpGps": "Affiche l’état du GPS. Lorsque le GPS est éteint, il répond uniquement « éteint », si allumé, il répond avec « allumé », l’état, la correction, le nombre de satellites.",
  "repeater_cliHelpGpsOnOff": "Activer/désactiver le GPS.",
  "repeater_cliHelpGpsSync": "Synchronise l'heure du nœud avec l'horloge GPS.",
  "repeater_cliHelpGpsSetLoc": "Définit la position du nœud aux coordonnées GPS et enregistre les préférences.",
  "repeater_cliHelpGpsAdvert": "Donne la configuration de l'annonce de la localisation du nœud :\n- none : ne pas inclure la localisation dans les annonces\n- share : partager la localisation GPS (du SensorManager)\n- prefs : annoncer la localisation stockée dans les préférences",
  "repeater_cliHelpGpsAdvertSet": "Définit la configuration de l'annonce de localisation.",
  "repeater_commandsListTitle": "Liste des commandes",
  "repeater_commandsListNote": "NOTE : pour les diverses commandes « set »..., il existe également une commande « get »...",
  "repeater_general": "Général",
  "repeater_settingsCategory": "Paramètres",
  "repeater_bridge": "Pont",
  "repeater_logging": "Journalisation",
  "repeater_neighborsRepeaterOnly": "Voisins (Uniquement répéteur)",
  "repeater_regionManagementRepeaterOnly": "Gestion des régions (uniquement pour le répéteur)",
  "repeater_regionNote": "Les commandes de région ont été introduites pour gérer les définitions et les autorisations des régions.",
  "repeater_gpsManagement": "Gestion GPS",
  "repeater_gpsNote": "La commande GPS a été introduite pour gérer les sujets liés à la localisation.",
  "telemetry_receivedData": "Données de télémétrie reçues",
  "telemetry_requestTimeout": "Demande de télémétrie expirée.",
  "telemetry_errorLoading": "Erreur lors du chargement de la télémétrie : {error}",
  "@telemetry_errorLoading": {
    "placeholders": {
      "error": {
        "type": "String"
      }
    }
  },
  "telemetry_noData": "Aucune donnée de télémétrie disponible.",
  "telemetry_channelTitle": "Canal {channel}",
  "@telemetry_channelTitle": {
    "placeholders": {
      "channel": {
        "type": "int"
      }
    }
  },
  "telemetry_batteryLabel": "Batterie",
  "telemetry_voltageLabel": "Tension",
  "telemetry_mcuTemperatureLabel": "Température du MCU",
  "telemetry_temperatureLabel": "Température",
  "telemetry_currentLabel": "Actuellement",
  "telemetry_batteryValue": "{percent}% / {volts}V",
  "@telemetry_batteryValue": {
    "placeholders": {
      "percent": {
        "type": "int"
      },
      "volts": {
        "type": "String"
      }
    }
  },
  "telemetry_voltageValue": "{volts}V",
  "@telemetry_voltageValue": {
    "placeholders": {
      "volts": {
        "type": "String"
      }
    }
  },
  "telemetry_currentValue": "{amps}A",
  "@telemetry_currentValue": {
    "placeholders": {
      "amps": {
        "type": "String"
      }
    }
  },
  "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F",
  "@telemetry_temperatureValue": {
    "placeholders": {
      "celsius": {
        "type": "String"
      },
      "fahrenheit": {
        "type": "String"
      }
    }
  },
  "channelPath_title": "Chemin de paquet",
  "channelPath_viewMap": "Afficher la carte",
  "channelPath_otherObservedPaths": "Autres chemins observés",
  "channelPath_repeaterHops": "Sauts du répéteur",
  "channelPath_noHopDetails": "Les détails de l'envoi ne sont pas fournis pour ce paquet.",
  "channelPath_messageDetails": "Détails du message",
  "channelPath_senderLabel": "Expéditeur",
  "channelPath_timeLabel": "Temps",
  "channelPath_repeatsLabel": "Répétitions",
  "channelPath_pathLabel": "Chemin {index}",
  "channelPath_observedLabel": "Observé",
  "channelPath_observedPathTitle": "Chemin observé {index} • {hops}",
  "@channelPath_observedPathTitle": {
    "placeholders": {
      "index": {
        "type": "int"
      },
      "hops": {
        "type": "String"
      }
    }
  },
  "channelPath_noLocationData": "Aucune donnée de localisation",
  "channelPath_timeWithDate": "{day}/{month} {time}",
  "@channelPath_timeWithDate": {
    "placeholders": {
      "day": {
        "type": "int"
      },
      "month": {
        "type": "int"
      },
      "time": {
        "type": "String"
      }
    }
  },
  "channelPath_timeOnly": "{time}",
  "@channelPath_timeOnly": {
    "placeholders": {
      "time": {
        "type": "String"
      }
    }
  },
  "channelPath_unknownPath": "Inconnu",
  "channelPath_floodPath": "Tout le réseau",
  "channelPath_directPath": "Afficher",
  "channelPath_observedZeroOf": "0 de {total} sauts",
  "@channelPath_observedZeroOf": {
    "placeholders": {
      "total": {
        "type": "int"
      }
    }
  },
  "channelPath_observedSomeOf": "{observed} sur {total} sauts",
  "@channelPath_observedSomeOf": {
    "placeholders": {
      "observed": {
        "type": "int"
      },
      "total": {
        "type": "int"
      }
    }
  },
  "channelPath_mapTitle": "Carte du chemin",
  "channelPath_noRepeaterLocations": "Aucune position de répéteur disponible pour ce chemin.",
  "channelPath_primaryPath": "Chemin {index} (Principal)",
  "@channelPath_primaryPath": {
    "placeholders": {
      "index": {
        "type": "int"
      }
    }
  },
  "@channelPath_pathLabel": {
    "placeholders": {
      "index": {
        "type": "int"
      }
    }
  },
  "channelPath_pathLabelTitle": "Chemin",
  "channelPath_observedPathHeader": "Chemin observé",
  "channelPath_selectedPathLabel": "{label} • {prefixes}",
  "@channelPath_selectedPathLabel": {
    "placeholders": {
      "label": {
        "type": "String"
      },
      "prefixes": {
        "type": "String"
      }
    }
  },
  "channelPath_noHopDetailsAvailable": "Aucun détail de saut disponible pour ce paquet.",
  "channelPath_unknownRepeater": "Répéteur Inconnu",
  "listFilter_tooltip": "Filtrer et trier",
  "listFilter_sortBy": "Trier par",
  "listFilter_latestMessages": "Derniers messages",
  "listFilter_heardRecently": "Écoute récemment",
  "listFilter_az": "A à Z",
  "listFilter_filters": "Filtres",
  "listFilter_all": "Tout",
  "listFilter_users": "Utilisateurs",
  "listFilter_repeaters": "Répéteurs",
  "listFilter_roomServers": "Serveurs de salle",
  "listFilter_unreadOnly": "Messages non lus seulement",
  "listFilter_newGroup": "Nouveau groupe",
  "@neighbors_errorLoading": {
    "placeholders": {
      "error": {
        "type": "String"
      }
    }
  },
  "repeater_neighbors": "Voisins",
  "repeater_neighborsSubtitle": "Afficher les voisins de saut nuls.",
  "neighbors_receivedData": "Données des voisins reçues",
  "neighbors_requestTimedOut": "Les voisins demandent un délai.",
  "neighbors_errorLoading": "Erreur lors du chargement des voisins : {error}",
  "neighbors_repeatersNeighbors": "Répéteurs Voisins",
  "neighbors_noData": "Aucune donnée concernant les voisins disponible.",
  "channels_createPrivateChannelDesc": "Sécurisé avec une clé secrète.",
  "channels_joinPrivateChannel": "Rejoindre un Canal Privé",
  "channels_createPrivateChannel": "Créer un Canal Privé",
  "channels_joinPrivateChannelDesc": "Entrer manuellement une clé secrète.",
  "channels_joinPublicChannel": "Rejoindre le canal public",
  "channels_joinPublicChannelDesc": "Tout le monde peut rejoindre ce canal.",
  "channels_joinHashtagChannel": "Rejoindre un Canal Hashtag",
  "channels_joinHashtagChannelDesc": "N'importe qui peut rejoindre les canaux #hashtag.",
  "channels_scanQrCode": "Scanner un QR code",
  "channels_scanQrCodeComingSoon": "Bientôt disponible",
  "channels_enterHashtag": "Entrez le hashtag",
  "channels_hashtagHint": "ex. #equipe",
  "@neighbors_unknownContact": {
    "placeholders": {
      "pubkey": {
        "type": "String"
      }
    }
  },
  "@neighbors_heardAgo": {
    "placeholders": {
      "time": {
        "type": "String"
      }
    }
  },
  "neighbors_unknownContact": "Clé publique inconnue {pubkey}",
  "neighbors_heardAgo": "Écouté : {time} auparavant",
  "settings_locationGPSEnable": "Activer le GPS",
  "settings_locationGPSEnableSubtitle": "Activer la mise à jour automatique de la position via GPS",
  "settings_locationIntervalSec": "Intervalle de mise-à-jour du GPS (Secondes)",
  "settings_locationIntervalInvalid": "L'intervalle doit être compris entre 60 et 86400 secondes.",
  "contacts_manageRoom": "Gérer le Room Server",
  "room_management": "Administrattion Room Server",
  "@community_joinConfirmation": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "@community_created": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "@community_joined": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "@community_qrInstructions": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "@community_alreadyMemberMessage": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "@community_deleteConfirm": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "@community_deleted": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "@community_forCommunity": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "common_ok": "D'accord",
  "community_title": "Communauté",
  "community_create": "Créer une Communauté",
  "community_createDesc": "Créer une nouvelle communauté et la partager via QR code.",
  "community_join": "Rejoindre",
  "community_joinTitle": "Rejoindre la communauté",
  "community_joinConfirmation": "Souhaitez-vous rejoindre la communauté \"{name}\" ?",
  "community_scanQr": "Scanner un QR code de communauté",
  "community_scanInstructions": "Pointez l'appareil photo vers un QR code de communauté.",
  "community_showQr": "Afficher le QR Code",
  "community_publicChannel": "Communauté Publique",
  "community_hashtagChannel": "Hashtag Communauté",
  "community_name": "Nom de la communauté",
  "community_enterName": "Entrez le nom de la communauté",
  "community_created": "Communauté \"{name}\" créée",
  "community_joined": "Rejoint la communauté \"{name}\"",
  "community_qrTitle": "Partager Communauté",
  "community_qrInstructions": "Scanner ce QR code pour rejoindre {name}",
  "community_hashtagPrivacyHint": "Les canaux hashtag de la communauté ne sont accessibles qu'aux membres de la communauté",
  "community_invalidQrCode": "QR code de communauté non valide",
  "community_alreadyMember": "Déjà membre",
  "community_alreadyMemberMessage": "Vous êtes déjà membre de \"{name}\".",
  "community_addPublicChannel": "Ajouter un Canal Public de la Communauté",
  "community_addPublicChannelHint": "Ajouter automatiquement le canal public pour cette communauté",
  "community_noCommunities": "Aucun groupe n'a été rejoint pour le moment.",
  "community_scanOrCreate": "Scanner un QR code ou créer une communauté pour commencer",
  "community_manageCommunities": "Gérer les Communautés",
  "community_delete": "Quitter la communauté",
  "community_deleteConfirm": "Quitter \"{name}\" ?",
  "community_deleteChannelsWarning": "Cela supprimera également {count} canal/canaux et leurs messages.",
  "@community_deleteChannelsWarning": {
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "community_deleted": "Communauté \"{name}\" quittée",
  "community_addHashtagChannel": "Ajouter un Hashtag Communauté",
  "community_addHashtagChannelDesc": "Ajouter un canal hashtag pour cette communauté",
  "community_selectCommunity": "Sélectionner Communauté",
  "community_regularHashtag": "Hashtag régulier",
  "community_regularHashtagDesc": "Hashtag public (tout le monde peut rejoindre)",
  "community_communityHashtag": "Hashtag de la communauté",
  "community_communityHashtagDesc": "Exclusif aux membres de la communauté",
  "community_forCommunity": "Pour {name}",
  "@community_regenerateSecretConfirm": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "@community_secretRegenerated": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "@community_secretUpdated": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "@community_scanToUpdateSecret": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "community_regenerateSecret": "Régénérer le secret",
  "community_regenerateSecretConfirm": "Régénérer la clé secrète pour \"{name}\" ? Tous les membres devront scanner le nouveau QR code pour continuer à communiquer.",
  "community_regenerate": "Régénérer",
  "community_secretRegenerated": "Mot de passe secret régénéré pour \"{name}\"",
  "community_scanToUpdateSecret": "Scanner le nouveau QR code pour mettre à jour le mot de passe pour \"{name}\"",
  "community_updateSecret": "Mettre à jour le secret",
  "community_secretUpdated": "Modification secrète mise à jour pour \"{name}\"",
  "@contacts_pathTraceTo": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "pathTrace_you": "Vous",
  "pathTrace_refreshTooltip": "Actualiser Path Trace",
  "pathTrace_failed": "Traçage du chemin échoué.",
  "pathTrace_notAvailable": "Tracé de chemin non disponible.",
  "contacts_pathTrace": "Traçage de chemin",
  "contacts_repeaterPathTrace": "Tracer le chemin vers le répéteur",
  "contacts_repeaterPing": "Pinguer le répéteur",
  "contacts_roomPathTrace": "Traçage du chemin vers le room server",
  "contacts_chatTraceRoute": "Tracer le chemin",
  "contacts_pathTraceTo": "Tracer l'itinéraire vers {name}",
  "contacts_ping": "Ping",
  "contacts_roomPing": "Pinguer le room server",
  "contacts_invalidAdvertFormat": "Données de contact non valides",
  "appSettings_languageUk": "Ukrainien",
  "appSettings_languageRu": "Russe",
  "appSettings_enableMessageTracing": "Activer le traçage des messages",
  "appSettings_enableMessageTracingSubtitle": "Afficher les métadonnées détaillées de routage et de synchronisation des messages",
  "contacts_clipboardEmpty": "Le presse-papiers est vide.",
  "contacts_contactImported": "Le contact a été importé.",
  "contacts_floodAdvert": "Annonce à tout le réseau",
  "contacts_contactImportFailed": "Échec de l'importation du contact.",
  "contacts_zeroHopAdvert": "Annonce Zero saut",
  "contacts_copyAdvertToClipboard": "Copier l'annonce dans le presse-papiers",
  "contacts_addContactFromClipboard": "Ajouter un contact depuis le presse-papiers",
  "contacts_ShareContact": "Copier le contact dans le presse-papiers",
  "contacts_ShareContactZeroHop": "Partager un contact par annonce",
  "contacts_contactAdvertCopied": "Annonce copiée dans le presse-papiers.",
  "contacts_contactAdvertCopyFailed": "La copie de l'annonce vers le presse-papiers a échoué.",
  "contacts_zeroHopContactAdvertSent": "Envoyer un contact par annonce.",
  "contacts_zeroHopContactAdvertFailed": "Échec de l'envoi du contact.",
  "notification_activityTitle": "Activité MeshCore",
  "notification_messagesCount": "{count} {count, plural, =1{message} other{messages}}",
  "notification_channelMessagesCount": "{count} {count, plural, =1{message de canal} other{messages de canal}}",
  "notification_newNodesCount": "{count} {count, plural, =1{nouveau nœud} other{nouveaux nœuds}}",
  "notification_newTypeDiscovered": "Nouveau {contactType} découvert",
  "notification_receivedNewMessage": "Nouveau message reçu",
  "settings_gpxExportRepeaters": "Exporter les répéteurs / room servers au format GPX",
  "settings_gpxExportRepeatersSubtitle": "Exporte les répéteurs / roomserver avec une localisation vers un fichier GPX.",
  "settings_gpxExportNoContacts": "Aucun contact à exporter.",
  "settings_gpxExportNotAvailable": "Non pris en charge sur votre appareil/Système d'exploitation",
  "settings_gpxExportError": "Une erreur s'est produite lors de l'exportation.",
  "settings_gpxExportRepeatersRoom": "Emplacements des répéteurs et room servers",
  "settings_gpxExportContacts": "Exporter les compagnons au format GPX",
  "settings_gpxExportAll": "Exporter tous les contacts au format GPX",
  "settings_gpxExportAllSubtitle": "Exporte tous les contacts avec une localisation vers un fichier GPX.",
  "settings_gpxExportContactsSubtitle": "Exporte les compagnons avec un emplacement vers un fichier GPX.",
  "settings_gpxExportChat": "Emplacements des compagnons",
  "settings_gpxExportSuccess": "Fichier GPX exporté avec succès.",
  "settings_gpxExportAllContacts": "Tous les emplacements des contacts",
  "settings_gpxExportShareText": "Données de carte exportées à partir de meshcore-open",
  "settings_gpxExportShareSubject": "meshcore-open exporter les données de carte GPX",
  "pathTrace_someHopsNoLocation": "Un ou plusieurs des sauts manquent d'une localisation !",
  "map_tapToAdd": "Appuyez sur les nœuds pour les ajouter au chemin.",
  "pathTrace_clearTooltip": "Effacer le chemin",
  "map_pathTraceCancelled": "Traçage de chemin annulé",
  "map_removeLast": "Supprimer le dernier",
  "map_runTrace": "Exécuter la traçage de chemin",
  "scanner_bluetoothOffMessage": "Veuillez activer le Bluetooth pour rechercher des appareils.",
  "scanner_chromeRequired": "Navigateur Chrome requis",
  "scanner_chromeRequiredMessage": "Cette application web nécessite Google Chrome ou un navigateur basé sur Chromium pour le support Bluetooth.",
  "scanner_bluetoothOff": "Le Bluetooth est désactivé.",
  "scanner_enableBluetooth": "Activer le Bluetooth",
  "snrIndicator_lastSeen": "Dernière fois vu",
  "snrIndicator_nearByRepeaters": "Répéteurs à proximité",
  "chat_ShowAllPaths": "Afficher tous les chemins",
  "settings_clientRepeatFreqWarning": "Pour les transmissions hors réseau, il est nécessaire d'utiliser les fréquences de 433, 869 ou 918 MHz.",
  "settings_clientRepeatSubtitle": "Permettez à cet appareil de répéter les paquets de données pour les autres.",
  "settings_clientRepeat": "Répétition hors réseau",
  "settings_aboutOpenMeteoAttribution": "Données d'élévation LOS : Open-Meteo (CC BY 4.0)",
  "appSettings_unitsTitle": "Unités",
  "appSettings_unitsMetric": "Métrique (m/km)",
  "appSettings_unitsImperial": "Impérial (ft / mi)",
  "map_lineOfSight": "Ligne de vue",
  "map_losScreenTitle": "Ligne de vue",
  "losSelectStartEnd": "Sélectionnez les nœuds de début et de fin pour LOS.",
  "losRunFailed": "Échec de la vérification de la ligne de vue : {error}",
  "@losRunFailed": {
    "placeholders": {
      "error": {
        "type": "String"
      }
    }
  },
  "losClearAllPoints": "Effacer tous les points",
  "losRunToViewElevationProfile": "Exécutez LOS pour afficher le profil d'altitude",
  "losMenuTitle": "Menu LOS",
  "losMenuSubtitle": "Appuyez sur les nœuds ou appuyez longuement sur la carte pour des points personnalisés",
  "losShowDisplayNodes": "Afficher les nœuds d'affichage",
  "losCustomPoints": "Points personnalisés",
  "losCustomPointLabel": "Personnalisé {index}",
  "@losCustomPointLabel": {
    "placeholders": {
      "index": {
        "type": "int"
      }
    }
  },
  "losPointA": "Point A",
  "losPointB": "Point B",
  "losAntennaA": "Antenne A : {value} {unit}",
  "@losAntennaA": {
    "placeholders": {
      "value": {
        "type": "String"
      },
      "unit": {
        "type": "String"
      }
    }
  },
  "losAntennaB": "Antenne B : {value} {unit}",
  "@losAntennaB": {
    "placeholders": {
      "value": {
        "type": "String"
      },
      "unit": {
        "type": "String"
      }
    }
  },
  "losRun": "Exécuter la LOS",
  "losNoElevationData": "Aucune donnée d'altitude",
  "losProfileClear": "{distance} {distanceUnit}, LOS clair, clairance minimale {clearance} {heightUnit}",
  "@losProfileClear": {
    "placeholders": {
      "distance": {
        "type": "String"
      },
      "distanceUnit": {
        "type": "String"
      },
      "clearance": {
        "type": "String"
      },
      "heightUnit": {
        "type": "String"
      }
    }
  },
  "losProfileBlocked": "{distance} {distanceUnit}, bloqué par {obstruction} {heightUnit}",
  "@losProfileBlocked": {
    "placeholders": {
      "distance": {
        "type": "String"
      },
      "distanceUnit": {
        "type": "String"
      },
      "obstruction": {
        "type": "String"
      },
      "heightUnit": {
        "type": "String"
      }
    }
  },
  "losStatusChecking": "LOS : vérification...",
  "losStatusNoData": "LOS : aucune donnée",
  "losStatusSummary": "LOS : {clear}/{total} clair, {blocked} bloqué, {unknown} inconnu",
  "@losStatusSummary": {
    "placeholders": {
      "clear": {
        "type": "int"
      },
      "total": {
        "type": "int"
      },
      "blocked": {
        "type": "int"
      },
      "unknown": {
        "type": "int"
      }
    }
  },
  "losErrorElevationUnavailable": "Données d'altitude indisponibles pour un ou plusieurs échantillons.",
  "losErrorInvalidInput": "Données de points/d'altitude non valides pour le calcul de la LOS.",
  "losRenameCustomPoint": "Renommer le point personnalisé",
  "losPointName": "Nom du point",
  "losShowPanelTooltip": "Afficher le panneau LOS",
  "losHidePanelTooltip": "Masquer le panneau LOS",
  "losElevationAttribution": "Données d’altitude : Open-Meteo (CC BY 4.0)",
  "losLegendRadioHorizon": "Horizon radio",
  "losLegendLosBeam": "Ligne de visée",
  "losLegendTerrain": "Terrain",
  "losFrequencyLabel": "Fréquence",
  "losFrequencyInfoTooltip": "Voir les détails du calcul",
  "losFrequencyDialogTitle": "Calcul de l’horizon radio",
  "losFrequencyDialogDescription": "À partir de k={baselineK} à {baselineFreq} MHz, le calcul ajuste le facteur k pour la bande actuelle de {frequencyMHz} MHz, ce qui définit la limite incurvée de l'horizon radio.",
  "@losFrequencyDialogDescription": {
    "description": "Explain how the calculation uses the baseline frequency and derived k-factor.",
    "placeholders": {
      "baselineK": {
        "type": "double"
      },
      "baselineFreq": {
        "type": "double"
      },
      "frequencyMHz": {
        "type": "double"
      },
      "kFactor": {
        "type": "double"
      }
    }
  },
  "listFilter_addToFavorites": "Ajouter à mes favoris",
  "listFilter_removeFromFavorites": "Supprimer des favoris",
  "listFilter_favorites": "Préférences",
  "@contacts_searchFavorites": {
    "placeholders": {
      "number": {
        "type": "int"
      },
      "str": {
        "type": "String"
      }
    }
  },
  "@contacts_searchUsers": {
    "placeholders": {
      "number": {
        "type": "int"
      },
      "str": {
        "type": "String"
      }
    }
  },
  "@contacts_searchRepeaters": {
    "placeholders": {
      "number": {
        "type": "int"
      },
      "str": {
        "type": "String"
      }
    }
  },
  "@contacts_searchRoomServers": {
    "placeholders": {
      "number": {
        "type": "int"
      },
      "str": {
        "type": "String"
      }
    }
  },
  "contacts_unread": "Non lu",
  "contacts_searchFavorites": "Rechercher {number}{str} Favoris...",
  "contacts_searchUsers": "Rechercher {number}{str} utilisateurs...",
  "contacts_searchRoomServers": "Rechercher {number}{str} room server...",
  "contacts_searchRepeaters": "Rechercher {number}{str} Répéteurs...",
  "contacts_searchContactsNoNumber": "Rechercher des contacts...",
  "settings_contactSettings": "Paramètres de contact",
  "settings_contactSettingsSubtitle": "Paramètres pour l'ajout de contacts",
  "contactsSettings_autoAddRepeatersTitle": "Ajouter automatiquement les répéteurs",
  "contactsSettings_autoAddRepeatersSubtitle": "Autoriser le compagnon à ajouter automatiquement les répéteurs découverts",
  "contactsSettings_autoAddRoomServersTitle": "Ajouter automatiquement les room servers",
  "contactsSettings_autoAddRoomServersSubtitle": "Autoriser le compagnon à ajouter automatiquement les room servers découverts",
  "contactsSettings_otherTitle": "Autres paramètres liés aux contacts",
  "contactsSettings_title": "Paramètres des contacts",
  "contactsSettings_autoAddUsersTitle": "Ajouter automatiquement les utilisateurs",
  "contactsSettings_autoAddTitle": "Découverte automatique",
  "contactsSettings_autoAddSensorsTitle": "Ajouter automatiquement les capteurs",
  "contactsSettings_autoAddUsersSubtitle": "Autoriser le compagnon à ajouter automatiquement les utilisateurs découverts",
  "discoveredContacts_noMatching": "Aucun contact correspondant",
  "discoveredContacts_contactAdded": "Contact ajouté",
  "discoveredContacts_addContact": "Ajouter un contact",
  "discoveredContacts_copyContact": "Copier le contact dans le presse-papiers",
  "discoveredContacts_deleteContact": "Supprimer le contact",
  "contactsSettings_overwriteOldestTitle": "Écraser le plus ancien",
  "contactsSettings_autoAddSensorsSubtitle": "Autoriser le compagnon à ajouter automatiquement les capteurs découverts.",
  "discoveredContacts_Title": "Contacts découverts",
  "discoveredContacts_searchHint": "Rechercher des contacts découverts",
  "contactsSettings_overwriteOldestSubtitle": "Lorsque la liste de contacts est pleine, le contact le plus ancien non favori sera remplacé.",
  "common_deleteAll": "Supprimer tout",
  "discoveredContacts_deleteContactAll": "Supprimer tous les contacts découverts",
  "discoveredContacts_deleteContactAllContent": "Êtes-vous sûr de vouloir supprimer tous les contacts découverts ?",
  "map_showGuessedLocations": "Afficher les emplacements des nœuds estimés",
  "map_guessedLocation": "Lieu deviné",
  "connectionChoiceUsbLabel": "USB",
  "usbScreenTitle": "Connectez via USB",
  "connectionChoiceBluetoothLabel": "Bluetooth",
  "usbScreenSubtitle": "Sélectionnez un périphérique série détecté et connectez-vous directement à votre nœud MeshCore.",
  "usbScreenStatus": "Sélectionnez un périphérique USB",
  "usbScreenNote": "La communication série USB est active sur les appareils Android et les plateformes de bureau compatibles.",
  "usbScreenEmptyState": "Aucun périphérique USB n'a été trouvé. Veuillez en brancher un et rafraîchir la page.",
  "usbErrorPermissionDenied": "L'accès via USB a été refusé.",
  "usbErrorDeviceMissing": "Le périphérique USB sélectionné n'est plus disponible.",
  "usbErrorInvalidPort": "Sélectionnez un périphérique USB valide.",
  "usbErrorBusy": "Une autre demande de connexion USB est déjà en cours.",
  "usbErrorNotConnected": "Aucun appareil USB n'est connecté.",
  "usbErrorOpenFailed": "Impossible d'ouvrir l'appareil USB sélectionné.",
  "usbErrorConnectFailed": "Impossible de se connecter à l'appareil USB sélectionné.",
  "usbErrorUnsupported": "La communication série USB n'est pas prise en charge sur cette plateforme.",
  "usbErrorAlreadyActive": "Une connexion USB est déjà établie.",
  "usbErrorNoDeviceSelected": "Aucun appareil USB n'a été sélectionné.",
  "usbErrorPortClosed": "La connexion USB n'est pas établie.",
  "usbFallbackDeviceName": "Dispositif de communication série sur le Web",
  "@usbConnectionFailed": {
    "placeholders": {
      "error": {
        "type": "String"
      }
    }
  },
  "usbStatus_notConnected": "Sélectionnez un périphérique USB",
  "usbConnectionFailed": "Échec de la connexion USB : {error}",
  "usbStatus_connecting": "Connexion au périphérique USB...",
  "usbStatus_searching": "Recherche de périphériques USB...",
  "usbErrorConnectTimedOut": "La connexion a expiré. Assurez-vous que l'appareil dispose du firmware USB Companion.",
  "@tcpStatus_connectingTo": {
    "placeholders": {
      "endpoint": {
        "type": "String"
      }
    }
  },
  "@tcpConnectionFailed": {
    "placeholders": {
      "error": {
        "type": "String"
      }
    }
  },
  "tcpHostLabel": "Adresse IP",
  "connectionChoiceTcpLabel": "TCP",
  "tcpScreenTitle": "Établir une connexion via TCP",
  "tcpHostHint": "192.168.40.10",
  "tcpPortLabel": "Port",
  "tcpPortHint": "5000",
  "tcpStatus_notConnected": "Entrez l'adresse de destination et connectez-vous.",
  "tcpStatus_connectingTo": "Connexion à {endpoint}...",
  "tcpErrorHostRequired": "Une adresse IP est obligatoire.",
  "tcpErrorPortInvalid": "La taille du port doit être comprise entre 1 et 65535.",
  "tcpErrorUnsupported": "Le protocole TCP n'est pas pris en charge sur cette plateforme.",
  "tcpErrorTimedOut": "La connexion TCP a expiré.",
  "tcpConnectionFailed": "Échec de la connexion TCP : {error}",
  "map_showDiscoveryContacts": "Afficher les contacts de découverte",
  "map_setAsMyLocation": "Définir comme ma localisation",
  "@path_routeWeight": {
    "placeholders": {
      "weight": {
        "type": "String"
      },
      "max": {
        "type": "String"
      }
    }
  },
  "settings_privacy": "Paramètres de confidentialité",
  "settings_privacySubtitle": "Contrôlez les informations partagées",
  "settings_telemetryLocationMode": "Mode d'emplacement de télémétrie",
  "settings_telemetryEnvironmentMode": "Mode d'environnement de télémétrie",
  "settings_advertLocation": "Emplacement de l'annonce",
  "settings_advertLocationSubtitle": "Inclure l'emplacement dans l'annonce",
  "settings_denyAll": "Refuser tout",
  "settings_allowByContact": "Autoriser par drapeaux de contact",
  "settings_privacySettingsDescription": "Choisissez les informations que votre appareil partage avec les autres.",
  "settings_allowAll": "Autoriser tout",
  "contact_info": "Informations de contact",
  "settings_telemetryBaseMode": "Mode de base Télémétrie",
  "contact_teleBase": "Base de télémétrie",
  "contact_teleLoc": "Emplacement de télémétrie",
  "contact_teleLocSubtitle": "Autoriser le partage des données de localisation",
  "contact_teleEnv": "Environnement Télémétrie",
  "contact_teleEnvSubtitle": "Autoriser le partage des données des capteurs d'environnement",
  "contact_telemetry": "Télémétrie",
  "contact_settings": "Paramètres de contact",
  "contact_lastSeen": "Dernière fois vu",
  "contact_clearChat": "Effacer la conversation",
  "contact_teleBaseSubtitle": "Autoriser le partage du niveau de batterie et de la télémétrie de base",
  "appSettings_maxRouteWeightSubtitle": "Poids maximal qu'un itinéraire peut accumuler grâce à des livraisons réussies.",
  "appSettings_initialRouteWeight": "Poids initial de l'itinéraire",
  "appSettings_maxRouteWeight": "Poids maximal autorisé pour le trajet",
  "appSettings_initialRouteWeightSubtitle": "Poids de départ pour les nouveaux chemins découverts",
  "appSettings_routeWeightSuccessIncrement": "Augmentation du poids de réussite",
  "appSettings_routeWeightSuccessIncrementSubtitle": "Poids ajouté à un itinéraire après une livraison réussie.",
  "appSettings_routeWeightFailureDecrement": "Réduction du poids de pénalité",
  "appSettings_routeWeightFailureDecrementSubtitle": "Poids retiré d'un itinéraire après une tentative de livraison infructueuse.",
  "appSettings_maxMessageRetries": "Nombre maximal de tentatives de récupération de messages",
  "appSettings_maxMessageRetriesSubtitle": "Nombre de tentatives de relance avant de marquer un message comme ayant échoué.",
  "path_routeWeight": "{weight}/{max}",
  "settings_telemetryModeUpdated": "Le mode télémétrie a été mis à jour",
  "map_showOverlaps": "Chevauchement de la touche répétitive",
  "map_runTraceWithReturnPath": "Revenir sur le même chemin.",
  "@radioStats_noiseFloor": {
    "placeholders": {
      "noiseDbm": {
        "type": "int"
      }
    }
  },
  "@radioStats_lastRssi": {
    "placeholders": {
      "rssiDbm": {
        "type": "int"
      }
    }
  },
  "@radioStats_lastSnr": {
    "placeholders": {
      "snr": {
        "type": "String"
      }
    }
  },
  "@radioStats_txAir": {
    "placeholders": {
      "seconds": {
        "type": "int"
      }
    }
  },
  "@radioStats_rxAir": {
    "placeholders": {
      "seconds": {
        "type": "int"
      }
    }
  },
  "@radioStats_stripNoise": {
    "placeholders": {
      "noiseDbm": {
        "type": "int"
      }
    }
  },
  "chat_sendCooldown": "Veuillez patienter un instant avant de réessayer.",
  "appSettings_jumpToOldestUnread": "Accéder au message le plus ancien non lu",
  "appSettings_languageHu": "Hongrois",
  "appSettings_jumpToOldestUnreadSubtitle": "Lorsque vous ouvrez une conversation contenant des messages non lus, faites défiler la page jusqu'au premier message non lu, plutôt que jusqu'au dernier.",
  "appSettings_languageJa": "Japonais",
  "appSettings_languageKo": "Coréen",
  "radioStats_tooltip": "Statistiques des radios et des réseaux sans fil",
  "radioStats_screenTitle": "Statistiques de radio",
  "radioStats_notConnected": "Connectez-vous à un appareil pour visualiser les statistiques de la radio.",
  "radioStats_firmwareTooOld": "Les statistiques radio nécessitent un firmware compatible v8 ou une version ultérieure.",
  "radioStats_waiting": "En attente des données…",
  "radioStats_noiseFloor": "Niveau de bruit : {noiseDbm} dBm",
  "radioStats_lastRssi": "Dernier RSSI : {rssiDbm} dBm",
  "radioStats_lastSnr": "Dernier SNR : {snr} dB",
  "radioStats_txAir": "Temps d'antenne à la télévision du Texas (total) : {seconds} s",
  "radioStats_rxAir": "Temps d'utilisation de l'appareil RX (total) : {seconds} s",
  "radioStats_chartCaption": "Niveau de bruit (dBm) sur les échantillons récents.",
  "radioStats_stripNoise": "Niveau de bruit : {noiseDbm} dBm",
  "radioStats_stripWaiting": "Récupération des statistiques de la radio…",
  "radioStats_settingsTile": "Statistiques de radio",
  "radioStats_settingsSubtitle": "Niveau de bruit, RSSI, rapport signal/bruit (SNR) et temps d'antenne",
  "@translation_downloadFailed": {
    "placeholders": {
      "error": {
        "type": "String"
      }
    }
  },
  "translation_composerTitle": "Traduire avant d'envoyer",
  "translation_enableTitle": "Activer la traduction",
  "translation_title": "Traduction",
  "translation_enableSubtitle": "Traduire les messages entrants et permettre la traduction avant l'envoi.",
  "translation_composerSubtitle": "Contrôle l'état par défaut de l'icône de traduction du composant.",
  "translation_targetLanguage": "Langue cible",
  "translation_useAppLanguage": "Utiliser la langue de l'application",
  "translation_downloadedModelLabel": "Modèle téléchargé",
  "translation_presetModelLabel": "Modèle Hugging Face préconfiguré",
  "translation_manualUrlLabel": "URL du modèle manuel",
  "translation_downloadModel": "Télécharger le modèle",
  "translation_downloading": "Téléchargement...",
  "translation_working": "Au travail...",
  "translation_stop": "Arrêtez",
  "translation_mergingChunks": "Fusion des fragments téléchargés dans le fichier final...",
  "translation_downloadedModels": "Modèles téléchargés",
  "translation_deleteModel": "Supprimer le modèle",
  "translation_modelDownloaded": "Modèle de traduction téléchargé.",
  "translation_downloadStopped": "Le téléchargement a été interrompu.",
  "translation_downloadFailed": "Échec du téléchargement : {error}",
  "translation_enterUrlFirst": "Entrez d'abord l'URL du modèle.",
  "@scanner_linuxPairingPinPrompt": {
    "placeholders": {
      "deviceName": {
        "type": "String"
      }
    }
  },
  "@translation_translateTo": {
    "placeholders": {
      "language": {
        "type": "String"
      }
    }
  },
  "translation_composerEnabledHint": "Les messages seront traduits avant d'être envoyés.",
  "translation_translateBeforeSending": "Traduire avant d'envoyer",
  "translation_composerDisabledHint": "Envoyez des messages dans la langue originale, telle que vous l'avez tapée.",
  "translation_messageTranslation": "Traduction du message",
  "translation_translateTo": "Traduire en {language}",
  "translation_translationOptions": "Options de traduction",
  "translation_systemLanguage": "Langue du système",
  "scanner_linuxPairingPinTitle": "Code PIN pour la connexion Bluetooth",
  "scanner_linuxPairingHidePin": "Masquer le code PIN",
  "scanner_linuxPairingPinPrompt": "Entrez le code PIN pour {deviceName} (laissez vide si nécessaire).",
  "scanner_linuxPairingShowPin": "Afficher le code PIN",
  "repeater_cliQuickClockSync": "Synchronisation de l'horloge",
  "repeater_cliQuickDiscovery": "Découvrir les voisins",
  "@repeater_clockSyncAfterLogin": {
    "description": "Repeater setting: auto sync device clock after successful login"
  },
  "@repeater_clockSyncAfterLoginSubtitle": {
    "description": "Repeater setting subtitle: describes the clock sync after login behavior"
  },
  "repeater_clockSyncAfterLoginSubtitle": "Envoyer automatiquement une notification \"synchronisation de l'heure\" après une connexion réussie.",
  "repeater_clockSyncAfterLogin": "Synchronisation de l'horloge après la connexion",
  "repeater_guestTools": "Outils pour les invités",
  "chat_sendMessage": "Envoyer un message",
  "room_guest": "Informations sur le serveur",
  "repeater_guest": "Informations sur les répéteurs",
  "@notification_messagesCount": {
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "repeater_getCategory": "Obtenir des valeurs",
  "repeater_powerMgmt": "Gestion de l'énergie",
  "repeater_sensors": "Capteurs",
  "repeater_cliHelpPowerOff": "Éteint l'appareil. (aucune réponse n'est attendue)",
  "repeater_cliHelpClkReboot": "Réinitialise l'horloge à une époque connue et redémarre l'appareil.",
  "repeater_cliHelpAdvertZeroHop": "Envoie une publicité sans intermédiaire (uniquement aux voisins immédiats).",
  "repeater_cliHelpStartOta": "Démarre une mise à jour du firmware par voie radio sur les cartes prises en charge.",
  "repeater_cliHelpTime": "Définit l'heure de l'appareil sur les secondes de l'époque Unix spécifiée. L'heure ne peut pas reculer.",
  "repeater_cliHelpBoard": "Indique le fabricant du panneau / l'identifiant du matériel.",
  "repeater_cliHelpDiscoverNeighbors": "Envoie une requête de découverte de nœuds aux voisins proches. (Uniquement pour les répéteurs)",
  "repeater_cliHelpPowersaving": "Indique si le mode d'économie d'énergie est activé ou désactivé.",
  "repeater_cliHelpPowersavingOnOff": "Active ou désactive le mode d'économie d'énergie (si pris en charge).",
  "repeater_cliHelpErase": "(Uniquement pour les appareils) Formate le système de fichiers de l'appareil. Efface tous les paramètres et les contacts.",
  "repeater_cliHelpSetDutyCycle": "Définit le cycle de transmission maximal autorisé en pourcentage (de 1 à 100). Ajuste automatiquement le facteur de temps d'émission.",
  "repeater_cliHelpSetPrvKey": "(Uniquement pour les séries) Remplace la clé privée d'identification de l'appareil. Un redémarrage est nécessaire pour appliquer. Génère une nouvelle clé publique.",
  "repeater_cliHelpSetRadioRxGain": "(Uniquement pour les SX126x) Active le gain RX amplifié pour une meilleure sensibilité à des courants plus élevés.",
  "repeater_cliHelpSetOwnerInfo": "Définit la chaîne d'informations de contact du propriétaire, qui figure dans les annonces. Utilisez '|' pour les sauts de ligne.",
  "repeater_cliHelpSetPathHashMode": "Définit le mode de hachage de chemin. 0 = mode ancien, 1 = mode standard, 2 = mode strict. Influence la façon dont les chemins de routage sont correspondus.",
  "repeater_cliHelpSetLoopDetect": "Définit la sensibilité de la détection des boucles de routage : désactivée, minimale, modérée ou stricte.",
  "repeater_cliHelpSetFreq": "(Uniquement pour les modèles série) Permet de régler rapidement la fréquence. Redémarrage nécessaire. Il est préférable d'utiliser l'option \"réglage radio\" pour configurer tous les paramètres radio.",
  "repeater_cliHelpSetBridgeChannel": "(Uniquement pour le pont ESPNow) Définit le canal WiFi (de 1 à 14) utilisé par le pont.",
  "repeater_cliHelpGetName": "Affiche le nom du nœud configuré.",
  "repeater_cliHelpGetRole": "Indique le rôle du firmware (répéteur, serveur de pièce, etc.).",
  "repeater_cliHelpGetPublicKey": "Affiche la clé publique du dispositif.",
  "repeater_cliHelpGetPrvKey": "(Uniquement pour les séries) Affiche la clé privée de l'appareil. Traitez-la comme une information confidentielle.",
  "repeater_cliHelpGetRepeat": "Indique si le transfert de paquets (en tant que routeur) est activé ou désactivé.",
  "repeater_cliHelpGetTx": "Indique la puissance actuelle en dBm.",
  "repeater_cliHelpGetFreq": "Affiche la fréquence radio configurée en MHz.",
  "repeater_cliHelpGetRadio": "Affiche tous les paramètres radio : fréquence, largeur de bande, facteur de dispersion, taux de codage.",
  "repeater_cliHelpGetRadioRxGain": "(Uniquement pour les SX126x) Affiche l'état du gain amplifié de la réception.",
  "repeater_cliHelpGetAf": "Indique le facteur de temps d'antenne actuel.",
  "repeater_cliHelpGetDutyCycle": "Affiche le cycle de fonctionnement actuel autorisé en pourcentage.",
  "repeater_cliHelpGetIntThresh": "Indique le seuil d'interférence du canal en dB.",
  "repeater_cliHelpGetAgcResetInterval": "Indique l'intervalle de réinitialisation de l'AGC en secondes.",
  "repeater_cliHelpGetMultiAcks": "Indique si le mode \"double ACK\" est activé (1) ou désactivé (0).",
  "repeater_cliHelpGetAllowReadOnly": "Indique si l'accès en lecture seule pour les invités est autorisé.",
  "repeater_cliHelpGetAdvertInterval": "Indique l'intervalle publicitaire local en minutes.",
  "repeater_cliHelpGetFloodAdvertInterval": "Indique l'intervalle publicitaire pour la diffusion de l'annonce en heures.",
  "repeater_cliHelpGetGuestPassword": "Affiche le mot de passe invité configuré.",
  "repeater_cliHelpGetLat": "Affiche la latitude configurée.",
  "repeater_cliHelpGetLon": "Affiche la longitude configurée.",
  "repeater_cliHelpGetRxDelay": "Affiche la valeur de base de rxdelay.",
  "repeater_cliHelpGetTxDelay": "Indique le facteur de délai de transmission en mode inondation.",
  "repeater_cliHelpGetDirectTxDelay": "Indique le facteur de délai direct.",
  "repeater_cliHelpGetFloodMax": "Indique le nombre maximal de fois où le niveau de l'eau a atteint son point culminant.",
  "repeater_cliHelpGetOwnerInfo": "Affiche la chaîne d'informations de contact du propriétaire.",
  "repeater_cliHelpGetPathHashMode": "Affiche le mode \"hash de chemin\" (0/1/2).",
  "repeater_cliHelpGetLoopDetect": "Illustre la sensibilité à la détection des boucles.",
  "repeater_cliHelpGetAcl": "(Uniquement pour les séries) Liste les entrées de contrôle d'accès sur un répéteur.",
  "repeater_cliHelpGetBridgeEnabled": "Indique si le pont est activé.",
  "repeater_cliHelpGetBridgeDelay": "Indique le délai du pont en millisecondes.",
  "repeater_cliHelpGetBridgeSource": "Indique si le pont transmet des paquets RX ou TX.",
  "repeater_cliHelpGetBridgeBaud": "(Uniquement pour le pont RS232) Affiche la vitesse de communication du pont.",
  "repeater_cliHelpGetBridgeChannel": "(Uniquement pour le pont ESPNow) Affiche le canal WiFi du pont.",
  "repeater_cliHelpGetBridgeSecret": "(Uniquement pour le pont ESPNow) Affiche la clé partagée du pont.",
  "repeater_cliHelpGetBootloaderVer": "(Uniquement pour le NRF52) Affiche la version du chargeur initial.",
  "repeater_cliHelpGetAdcMultiplier": "Affiche le multiplicateur de l'ADC (mise à l'échelle de la tension de la batterie).",
  "repeater_cliHelpGetPwrMgtSupport": "Indique si le système dispose de fonctionnalités de gestion de l'alimentation.",
  "repeater_cliHelpGetPwrMgtSource": "Indique la source d'alimentation actuelle : externe ou batterie.",
  "repeater_cliHelpGetPwrMgtBootReason": "Indique les raisons les plus récentes de réinitialisation et d'arrêt.",
  "repeater_cliHelpGetPwrMgtBootMv": "Affiche la tension de la batterie au démarrage, en millivolts (mV).",
  "repeater_cliHelpSensorGet": "Lit une valeur de configuration personnalisée pour un capteur en utilisant une touche.",
  "repeater_cliHelpSensorSet": "Crée une configuration personnalisée pour un capteur.",
  "repeater_cliHelpSensorList": "Affiche toutes les configurations de capteurs personnalisées, avec une pagination à partir d'un index de départ optionnel.",
  "repeater_cliHelpRegionDefault": "Affiche la portée régionale par défaut actuelle.",
  "repeater_cliHelpRegionDefaultSet": "Définit la portée régionale par défaut. Utilisez \"<null>\" pour la réinitialiser.",
  "repeater_cliHelpRegionListAllowed": "Énumère les régions autorisant la circulation des véhicules en cas de inondation.",
  "repeater_cliHelpRegionListDenied": "Liste des régions qui interdisent la circulation en cas de inondation.",
  "repeater_cliHelpStatsPackets": "(Uniquement pour les séries) Affiche des statistiques au niveau des paquets.",
  "repeater_cliHelpStatsRadio": "(Uniquement pour les séries) Affiche les statistiques de la radio.",
  "repeater_cliHelpStatsCore": "(Uniquement pour les séries) Affiche les statistiques du micrologicem intégré.",
  "common_done": "Done",
  "background_serviceTitle": "MeshCore running",
  "background_serviceText": "Keeping BLE connected",
  "appSettings_translationModelDeleted": "Deleted {name}",
  "@appSettings_translationModelDeleted": {
    "placeholders": {
      "name": {
        "type": "String"
      }
    }
  },
  "appSettings_translationModelDeleteFailed": "Failed to delete: {error}",
  "@appSettings_translationModelDeleteFailed": {
    "placeholders": {
      "error": {
        "type": "String"
      }
    }
  },
  "channels_channelUpdateFailed": "Failed to update channel: {error}",
  "@channels_channelUpdateFailed": {
    "placeholders": {
      "error": {
        "type": "String"
      }
    }
  },
  "map_type": "Type",
  "map_path": "Path",
  "map_location": "Location",
  "map_estLocation": "Est. Location",
  "map_publicKey": "Public Key",
  "map_publicKeyPrefixHint": "e.g. ab12",
  "contact_typeChat": "Chat",
  "contact_typeRepeater": "Repeater",
  "contact_typeRoom": "Room",
  "contact_typeSensor": "Sensor",
  "contact_typeUnknown": "Unknown",
  "channels_via": "via {path}",
  "chat_score": "Score",
  "settings_multiAck": "Plusieurs accusés de réception",
  "map_sharedAt": "Partagé",
  "@losBlockedSpotChip": {
    "placeholders": {
      "distance": {
        "type": "String"
      },
      "distanceUnit": {
        "type": "String"
      },
      "obstruction": {
        "type": "String"
      },
      "heightUnit": {
        "type": "String"
      }
    }
  },
  "@losSelectedObstructionDetails": {
    "placeholders": {
      "obstruction": {
        "type": "String"
      },
      "heightUnit": {
        "type": "String"
      },
      "distanceFromA": {
        "type": "String"
      },
      "distanceUnit": {
        "type": "String"
      },
      "distanceFromB": {
        "type": "String"
      }
    }
  },
  "losSelectedObstructionTitle": "Obstruction sélectionnée",
  "losBlockedSpotsTitle": "Places occupés",
  "losBlockedSpotsHint": "Sélectionnez un emplacement bloqué pour le mettre en évidence sur la carte.",
  "losSelectedObstructionDetails": "Bloqué par {obstruction}, à une hauteur de {heightUnit}, à une distance de {distanceFromA} par rapport à A et à une distance de {distanceFromB} par rapport à B ({distanceUnit}).",
  "losBlockedSpotChip": "{distance} {distanceUnit} • {obstruction} {heightUnit}",
  "settings_companionDebugLog": "Journal de débogage associé",
  "chat_markAsUnread": "Signaler comme non lu",
  "chat_newMessages": "Nouveaux messages",
  "settings_companionDebugLogSubtitle": "Commandes, réponses et données brutes pour les protocoles BLE/TCP/USB",
  "repeater_chanUtil": "Utilisation du canal"
}
