// ignore: unused_import import 'package:intl/intl.dart' as intl; import 'app_localizations.dart'; // ignore_for_file: type=lint /// The translations for French (`fr`). class AppLocalizationsFr extends AppLocalizations { AppLocalizationsFr([String locale = 'fr']) : super(locale); @override String get appTitle => 'MeshCore Open'; @override String get nav_contacts => 'Contacts'; @override String get nav_channels => 'Canaux'; @override String get nav_map => 'Carte'; @override String get common_cancel => 'Annuler'; @override String get common_ok => 'OK'; @override String get common_connect => 'Connecter'; @override String get common_unknownDevice => 'Appareil inconnu'; @override String get common_save => 'Enregistrer'; @override String get common_delete => 'Supprimer'; @override String get common_deleteAll => 'Supprimer tout'; @override String get common_close => 'Fermer'; @override String get common_edit => 'Modifier'; @override String get common_add => 'Ajouter'; @override String get common_settings => 'Paramètres'; @override String get common_disconnect => 'Déconnecter'; @override String get common_connected => 'Connecté'; @override String get common_disconnected => 'Déconnecté'; @override String get common_create => 'Créer'; @override String get common_continue => 'Continuer'; @override String get common_share => 'Partager'; @override String get common_copy => 'Copier'; @override String get common_retry => 'Réessayer'; @override String get common_hide => 'Masquer'; @override String get common_remove => 'Supprimer'; @override String get common_enable => 'Activer'; @override String get common_disable => 'Désactiver'; @override String get common_reboot => 'Redémarrer'; @override String get common_loading => 'Chargement...'; @override String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { return '$volts V'; } @override String common_percentValue(int percent) { return '$percent%'; } @override String get scanner_title => 'MeshCore Open'; @override String get connectionChoiceUsbLabel => 'USB'; @override String get connectionChoiceBluetoothLabel => 'Bluetooth'; @override String get connectionChoiceTcpLabel => 'TCP'; @override String get tcpScreenTitle => 'Établir une connexion via TCP'; @override String get tcpHostLabel => 'Adresse IP'; @override String get tcpHostHint => '192.168.40.10'; @override String get tcpPortLabel => 'Port'; @override String get tcpPortHint => '5000'; @override String get tcpStatus_notConnected => 'Entrez l\'adresse de destination et connectez-vous.'; @override String tcpStatus_connectingTo(String endpoint) { return 'Connexion à $endpoint...'; } @override String get tcpErrorHostRequired => 'Une adresse IP est obligatoire.'; @override String get tcpErrorPortInvalid => 'La taille du port doit être comprise entre 1 et 65535.'; @override String get tcpErrorUnsupported => 'Le protocole TCP n\'est pas pris en charge sur cette plateforme.'; @override String get tcpErrorTimedOut => 'La connexion TCP a expiré.'; @override String tcpConnectionFailed(String error) { return 'Échec de la connexion TCP : $error'; } @override String get usbScreenTitle => 'Connectez via USB'; @override String get usbScreenSubtitle => 'Sélectionnez un périphérique série détecté et connectez-vous directement à votre nœud MeshCore.'; @override String get usbScreenStatus => 'Sélectionnez un périphérique USB'; @override String get usbScreenNote => 'La communication série USB est active sur les appareils Android et les plateformes de bureau compatibles.'; @override String get usbScreenEmptyState => 'Aucun périphérique USB n\'a été trouvé. Veuillez en brancher un et rafraîchir la page.'; @override String get usbErrorPermissionDenied => 'L\'accès via USB a été refusé.'; @override String get usbErrorDeviceMissing => 'Le périphérique USB sélectionné n\'est plus disponible.'; @override String get usbErrorInvalidPort => 'Sélectionnez un périphérique USB valide.'; @override String get usbErrorBusy => 'Une autre demande de connexion USB est déjà en cours.'; @override String get usbErrorNotConnected => 'Aucun appareil USB n\'est connecté.'; @override String get usbErrorOpenFailed => 'Impossible d\'ouvrir l\'appareil USB sélectionné.'; @override String get usbErrorConnectFailed => 'Impossible de se connecter à l\'appareil USB sélectionné.'; @override String get usbErrorUnsupported => 'La communication série USB n\'est pas prise en charge sur cette plateforme.'; @override String get usbErrorAlreadyActive => 'Une connexion USB est déjà établie.'; @override String get usbErrorNoDeviceSelected => 'Aucun appareil USB n\'a été sélectionné.'; @override String get usbErrorPortClosed => 'La connexion USB n\'est pas établie.'; @override String get usbErrorConnectTimedOut => 'La connexion a expiré. Assurez-vous que l\'appareil dispose du firmware USB Companion.'; @override String get usbFallbackDeviceName => 'Dispositif de communication série sur le Web'; @override String get usbStatus_notConnected => 'Sélectionnez un périphérique USB'; @override String get usbStatus_connecting => 'Connexion au périphérique USB...'; @override String get usbStatus_searching => 'Recherche de périphériques USB...'; @override String usbConnectionFailed(String error) { return 'Échec de la connexion USB : $error'; } @override String get scanner_scanning => 'Recherche de périphériques...'; @override String get scanner_connecting => 'Connexion en cours...'; @override String get scanner_disconnecting => 'Déconnexion...'; @override String get scanner_notConnected => 'Non connecté'; @override String scanner_connectedTo(String deviceName) { return 'Connecté à $deviceName'; } @override String get scanner_searchingDevices => 'Recherche des appareils MeshCore...'; @override String get scanner_tapToScan => 'Appuyez sur Scanner pour trouver les appareils MeshCore'; @override String scanner_connectionFailed(String error) { return 'Échec de la connexion : $error'; } @override String get scanner_stop => 'Arrêter'; @override String get scanner_scan => 'Scanner'; @override String get scanner_bluetoothOff => 'Le Bluetooth est désactivé.'; @override String get scanner_bluetoothOffMessage => 'Veuillez activer le Bluetooth pour rechercher des appareils.'; @override String get scanner_chromeRequired => 'Navigateur Chrome requis'; @override String get scanner_chromeRequiredMessage => 'Cette application web nécessite Google Chrome ou un navigateur basé sur Chromium pour le support Bluetooth.'; @override String get scanner_enableBluetooth => 'Activer le Bluetooth'; @override String get device_quickSwitch => 'Basculement rapide'; @override String get device_meshcore => 'MeshCore'; @override String get settings_title => 'Paramètres'; @override String get settings_deviceInfo => 'Informations du périphérique'; @override String get settings_appSettings => 'Paramètres de l\'application'; @override String get settings_appSettingsSubtitle => 'Notifications, messagerie et préférences de carte'; @override String get settings_nodeSettings => 'Paramètres du nœud'; @override String get settings_nodeName => 'Nom du nœud'; @override String get settings_nodeNameNotSet => 'Non défini'; @override String get settings_nodeNameHint => 'Entrer le nom du nœud'; @override String get settings_nodeNameUpdated => 'Nom mis à jour'; @override String get settings_radioSettings => 'Paramètres Radio'; @override String get settings_radioSettingsSubtitle => 'Fréquence, puissance, facteur d\'espacement'; @override String get settings_radioSettingsUpdated => 'Paramètres radio mis à jour'; @override String get settings_location => 'Emplacement'; @override String get settings_locationSubtitle => 'Coordonnées GPS'; @override String get settings_locationUpdated => 'Emplacement mis à jour'; @override String get settings_locationBothRequired => 'Entrez la latitude et la longitude.'; @override String get settings_locationInvalid => 'Latitude ou longitude invalide.'; @override String get settings_locationGPSEnable => 'Activer le GPS'; @override String get settings_locationGPSEnableSubtitle => 'Activer la mise à jour automatique de la position via GPS'; @override String get settings_locationIntervalSec => 'Intervalle de mise-à-jour du GPS (Secondes)'; @override String get settings_locationIntervalInvalid => 'L\'intervalle doit être compris entre 60 et 86400 secondes.'; @override String get settings_latitude => 'Latitude'; @override String get settings_longitude => 'Longitude'; @override String get settings_contactSettings => 'Paramètres de contact'; @override String get settings_contactSettingsSubtitle => 'Paramètres pour l\'ajout de contacts'; @override String get settings_privacyMode => 'Mode de confidentialité'; @override String get settings_privacyModeSubtitle => 'Cacher le nom/l\'emplacement dans les annonces'; @override String get settings_privacyModeToggle => 'Activer le mode confidentialité pour masquer votre nom et votre localisation dans les annonces.'; @override String get settings_privacyModeEnabled => 'Mode de confidentialité activé'; @override String get settings_privacyModeDisabled => 'Mode de confidentialité désactivé'; @override String get settings_privacy => 'Paramètres de confidentialité'; @override String get settings_privacySubtitle => 'Contrôlez les informations partagées'; @override String get settings_privacySettingsDescription => 'Choisissez les informations que votre appareil partage avec les autres.'; @override String get settings_denyAll => 'Refuser tout'; @override String get settings_allowByContact => 'Autoriser par drapeaux de contact'; @override String get settings_allowAll => 'Autoriser tout'; @override String get settings_telemetryBaseMode => 'Mode de base Télémétrie'; @override String get settings_telemetryLocationMode => 'Mode d\'emplacement de télémétrie'; @override String get settings_telemetryEnvironmentMode => 'Mode d\'environnement de télémétrie'; @override String get settings_advertLocation => 'Emplacement de l\'annonce'; @override String get settings_advertLocationSubtitle => 'Inclure l\'emplacement dans l\'annonce'; @override String settings_multiAck(String value) { return 'Multi-ACKs : $value'; } @override String get settings_telemetryModeUpdated => 'Le mode télémétrie a été mis à jour'; @override String get settings_actions => 'Actions'; @override String get settings_sendAdvertisement => 'S\'annoncer'; @override String get settings_sendAdvertisementSubtitle => 'Présence diffusée maintenant'; @override String get settings_advertisementSent => 'Annonce envoyée'; @override String get settings_syncTime => 'Temps de synchronisation'; @override String get settings_syncTimeSubtitle => 'Définir l\'heure de l\'appareil sur l\'heure du téléphone.'; @override String get settings_timeSynchronized => 'Synchronisation temporelle'; @override String get settings_refreshContacts => 'Rafraîchir les Contacts'; @override String get settings_refreshContactsSubtitle => 'Recharger la liste des contacts depuis l\'appareil'; @override String get settings_rebootDevice => 'Redémarrer l\'appareil'; @override String get settings_rebootDeviceSubtitle => 'Redémarrer l\'appareil MeshCore'; @override String get settings_rebootDeviceConfirm => 'Êtes-vous sûr de vouloir redémarrer l\'appareil ? Vous serez déconnecté.'; @override String get settings_debug => 'Déboguer'; @override String get settings_bleDebugLog => 'Journal de débogage BLE'; @override String get settings_bleDebugLogSubtitle => 'Commandes BLE, réponses et données brutes'; @override String get settings_appDebugLog => 'Journal de débogage de l\'application'; @override String get settings_appDebugLogSubtitle => 'Messages de débogage de l\'application'; @override String get settings_about => 'À propos'; @override String settings_aboutVersion(String version) { return 'MeshCore Open v$version'; } @override String get settings_aboutLegalese => 'Projet MeshCore Open Source 2026'; @override String get settings_aboutDescription => 'Un client Flutter open source pour les appareils de réseau mesh MeshCore LoRa.'; @override String get settings_aboutOpenMeteoAttribution => 'Données d\'élévation LOS : Open-Meteo (CC BY 4.0)'; @override String get settings_infoName => 'Nom'; @override String get settings_infoId => 'ID'; @override String get settings_infoStatus => 'État'; @override String get settings_infoBattery => 'Batterie'; @override String get settings_infoPublicKey => 'Clé Publique'; @override String get settings_infoContactsCount => 'Nombre de contacts'; @override String get settings_infoChannelCount => 'Nombre de canaux'; @override String get settings_presets => 'Préréglages'; @override String get settings_frequency => 'Fréquence (MHz)'; @override String get settings_frequencyHelper => '300,0 - 2 500,0'; @override String get settings_frequencyInvalid => 'Fréquence invalide (300-2500 MHz)'; @override String get settings_bandwidth => 'Bande passante'; @override String get settings_spreadingFactor => 'Facteur de répartition'; @override String get settings_codingRate => 'Taux de codage'; @override String get settings_txPower => 'TX Puissance (dBm)'; @override String get settings_txPowerHelper => '0 - 22'; @override String get settings_txPowerInvalid => 'Puissance TX invalide (0-22 dBm)'; @override String get settings_clientRepeat => 'Répétition hors réseau'; @override String get settings_clientRepeatSubtitle => 'Permettez à cet appareil de répéter les paquets de données pour les autres.'; @override String get settings_clientRepeatFreqWarning => 'Pour les transmissions hors réseau, il est nécessaire d\'utiliser les fréquences de 433, 869 ou 918 MHz.'; @override String settings_error(String message) { return 'Erreur : $message'; } @override String get appSettings_title => 'Paramètres de l\'application'; @override String get appSettings_appearance => 'Apparence'; @override String get appSettings_theme => 'Thème'; @override String get appSettings_themeSystem => 'Défaut système'; @override String get appSettings_themeLight => 'Lumière'; @override String get appSettings_themeDark => 'Sombre'; @override String get appSettings_language => 'Langue'; @override String get appSettings_languageSystem => 'Par défaut du système'; @override String get appSettings_languageEn => 'English'; @override String get appSettings_languageFr => 'Français'; @override String get appSettings_languageEs => 'Español'; @override String get appSettings_languageDe => 'Deutsch'; @override String get appSettings_languagePl => 'Polski'; @override String get appSettings_languageSl => 'Slovenščina'; @override String get appSettings_languagePt => 'Português'; @override String get appSettings_languageIt => 'Italiano'; @override String get appSettings_languageZh => '中文'; @override String get appSettings_languageSv => 'Svenska'; @override String get appSettings_languageNl => 'Nederlands'; @override String get appSettings_languageSk => 'Slovenčina'; @override String get appSettings_languageBg => 'Български'; @override String get appSettings_languageRu => 'Russe'; @override String get appSettings_languageUk => 'Ukrainien'; @override String get appSettings_enableMessageTracing => 'Activer le traçage des messages'; @override String get appSettings_enableMessageTracingSubtitle => 'Afficher les métadonnées détaillées de routage et de synchronisation des messages'; @override String get appSettings_notifications => 'Notifications'; @override String get appSettings_enableNotifications => 'Activer les Notifications'; @override String get appSettings_enableNotificationsSubtitle => 'Recevoir des notifications pour les messages et les annonces'; @override String get appSettings_notificationPermissionDenied => 'Permission de notification refusée'; @override String get appSettings_notificationsEnabled => 'Notifications activées'; @override String get appSettings_notificationsDisabled => 'Notifications désactivées'; @override String get appSettings_messageNotifications => 'Notifications de Messages'; @override String get appSettings_messageNotificationsSubtitle => 'Afficher une notification lors de la réception de nouveaux messages'; @override String get appSettings_channelMessageNotifications => 'Notifications des Messages de Canal'; @override String get appSettings_channelMessageNotificationsSubtitle => 'Afficher une notification lors de la réception des messages de canal'; @override String get appSettings_advertisementNotifications => 'Notifications d\'annonces'; @override String get appSettings_advertisementNotificationsSubtitle => 'Afficher une notification lors de la découverte de nouveaux nœuds'; @override String get appSettings_messaging => 'Messagerie'; @override String get appSettings_clearPathOnMaxRetry => 'Effacer le chemin sur Max Retry'; @override String get appSettings_clearPathOnMaxRetrySubtitle => 'Réinitialiser le chemin de contact après 5 tentatives d\'envoi infructueuses'; @override String get appSettings_pathsWillBeCleared => 'Les chemins seront effacés après 5 tentatives infructueuses.'; @override String get appSettings_pathsWillNotBeCleared => 'Les chemins ne seront pas effacés automatiquement.'; @override String get appSettings_autoRouteRotation => 'Rotation de l\'itinéraire automatique'; @override String get appSettings_autoRouteRotationSubtitle => 'Alterner entre les meilleurs chemins et le mode d\'envoi sur tout le réseau (flood)'; @override String get appSettings_autoRouteRotationEnabled => 'Rotation du routage automatique activée'; @override String get appSettings_autoRouteRotationDisabled => 'Rotation de l\'itinéraire automatique désactivée'; @override String get appSettings_maxRouteWeight => 'Poids maximal autorisé pour le trajet'; @override String get appSettings_maxRouteWeightSubtitle => 'Poids maximal qu\'un itinéraire peut accumuler grâce à des livraisons réussies.'; @override String get appSettings_initialRouteWeight => 'Poids initial de l\'itinéraire'; @override String get appSettings_initialRouteWeightSubtitle => 'Poids de départ pour les nouveaux chemins découverts'; @override String get appSettings_routeWeightSuccessIncrement => 'Augmentation du poids de réussite'; @override String get appSettings_routeWeightSuccessIncrementSubtitle => 'Poids ajouté à un itinéraire après une livraison réussie.'; @override String get appSettings_routeWeightFailureDecrement => 'Réduction du poids de pénalité'; @override String get appSettings_routeWeightFailureDecrementSubtitle => 'Poids retiré d\'un itinéraire après une tentative de livraison infructueuse.'; @override String get appSettings_maxMessageRetries => 'Nombre maximal de tentatives de récupération de messages'; @override String get appSettings_maxMessageRetriesSubtitle => 'Nombre de tentatives de relance avant de marquer un message comme ayant échoué.'; @override String path_routeWeight(String weight, String max) { return '$weight/$max'; } @override String get appSettings_battery => 'Batterie'; @override String get appSettings_batteryChemistry => 'Chimie de la batterie'; @override String appSettings_batteryChemistryPerDevice(String deviceName) { return 'Définir par appareil ($deviceName)'; } @override String get appSettings_batteryChemistryConnectFirst => 'Connectez un appareil pour choisir'; @override String get appSettings_batteryNmc => '18650 NMC (3,0-4,2V)'; @override String get appSettings_batteryLifepo4 => 'LiFePO4 (2,6-3,65V)'; @override String get appSettings_batteryLipo => 'LiPo (3,0-4,2V)'; @override String get appSettings_mapDisplay => 'Affichage de la carte'; @override String get appSettings_showRepeaters => 'Afficher les répéteurs'; @override String get appSettings_showRepeatersSubtitle => 'Afficher les nœuds répéteurs sur la carte'; @override String get appSettings_showChatNodes => 'Afficher les nœuds de discussion'; @override String get appSettings_showChatNodesSubtitle => 'Afficher les nœuds de chat sur la carte'; @override String get appSettings_showOtherNodes => 'Afficher d\'autres nœuds'; @override String get appSettings_showOtherNodesSubtitle => 'Afficher d\'autres types de nœuds sur la carte'; @override String get appSettings_timeFilter => 'Filtre du temps'; @override String get appSettings_timeFilterShowAll => 'Afficher tous les nœuds'; @override String appSettings_timeFilterShowLast(int hours) { return 'Afficher les nœuds des $hours dernières heures'; } @override String get appSettings_mapTimeFilter => 'Filtre du Temps de la Carte'; @override String get appSettings_showNodesDiscoveredWithin => 'Afficher les nœuds découverts dans :'; @override String get appSettings_allTime => 'Tout le temps'; @override String get appSettings_lastHour => 'Dernière heure'; @override String get appSettings_last6Hours => 'Dernières 6 heures'; @override String get appSettings_last24Hours => 'Dernières 24 heures'; @override String get appSettings_lastWeek => 'La semaine dernière'; @override String get appSettings_offlineMapCache => 'Cache de Carte Hors Ligne'; @override String get appSettings_unitsTitle => 'Unités'; @override String get appSettings_unitsMetric => 'Métrique (m/km)'; @override String get appSettings_unitsImperial => 'Impérial (ft / mi)'; @override String get appSettings_noAreaSelected => 'Aucune zone sélectionnée'; @override String appSettings_areaSelectedZoom(int minZoom, int maxZoom) { return 'Zone sélectionnée (zoom $minZoom-$maxZoom)'; } @override String get appSettings_debugCard => 'Déboguer'; @override String get appSettings_appDebugLogging => 'Journalisation de débogage de l\'application'; @override String get appSettings_appDebugLoggingSubtitle => 'Enregistrez les messages de débogage de l\'application Log pour le dépannage.'; @override String get appSettings_appDebugLoggingEnabled => 'Journalisation de débogage de l\'application activée'; @override String get appSettings_appDebugLoggingDisabled => 'Le débogage de l\'application est désactivé.'; @override String get contacts_title => 'Contacts'; @override String get contacts_noContacts => 'Aucun contact trouvé.'; @override String get contacts_contactsWillAppear => 'Les contacts apparaîtront lorsque les appareils font leur annonce.'; @override String get contacts_unread => 'Non lu'; @override String get contacts_searchContactsNoNumber => 'Rechercher des contacts...'; @override String contacts_searchContacts(int number, String str) { return 'Rechercher des contacts...'; } @override String contacts_searchFavorites(int number, String str) { return 'Rechercher $number$str Favoris...'; } @override String contacts_searchUsers(int number, String str) { return 'Rechercher $number$str utilisateurs...'; } @override String contacts_searchRepeaters(int number, String str) { return 'Rechercher $number$str Répéteurs...'; } @override String contacts_searchRoomServers(int number, String str) { return 'Rechercher $number$str serveurs de salle...'; } @override String get contacts_noUnreadContacts => 'Aucun contact non lu'; @override String get contacts_noContactsFound => 'Aucun contact ou groupe trouvé.'; @override String get contacts_deleteContact => 'Supprimer le contact'; @override String contacts_removeConfirm(String contactName) { return 'Supprimer $contactName des contacts ?'; } @override String get contacts_manageRepeater => 'Gérer le répéteur'; @override String get contacts_manageRoom => 'Gérer le Room Server'; @override String get contacts_roomLogin => 'Connexion Room Server'; @override String get contacts_openChat => 'Ouverture du Chat'; @override String get contacts_editGroup => 'Modifier le groupe'; @override String get contacts_deleteGroup => 'Supprimer le groupe'; @override String contacts_deleteGroupConfirm(String groupName) { return 'Supprimer $groupName?'; } @override String get contacts_newGroup => 'Nouveau Groupe'; @override String get contacts_groupName => 'Nom du groupe'; @override String get contacts_groupNameRequired => 'Le nom du groupe est obligatoire.'; @override String get contacts_groupNameReserved => 'Ce nom de groupe est réservé'; @override String contacts_groupAlreadyExists(String name) { return 'Le groupe \"$name\" existe déjà.'; } @override String get contacts_filterContacts => 'Filtrer les contacts...'; @override String get contacts_noContactsMatchFilter => 'Aucun contact ne correspond à votre filtre.'; @override String get contacts_noMembers => 'Aucun membre'; @override String get contacts_lastSeenNow => 'Vu maintenant'; @override String contacts_lastSeenMinsAgo(int minutes) { return '~ $minutes min.'; } @override String get contacts_lastSeenHourAgo => '~ 1 heure'; @override String contacts_lastSeenHoursAgo(int hours) { return '~ $hours heures'; } @override String get contacts_lastSeenDayAgo => '~ 1 jour'; @override String contacts_lastSeenDaysAgo(int days) { return '~ $days jours'; } @override String get contact_info => 'Informations de contact'; @override String get contact_settings => 'Paramètres de contact'; @override String get contact_telemetry => 'Télémétrie'; @override String get contact_lastSeen => 'Dernière fois vu'; @override String get contact_clearChat => 'Effacer la conversation'; @override String get contact_teleBase => 'Base de télémétrie'; @override String get contact_teleBaseSubtitle => 'Autoriser le partage du niveau de batterie et de la télémétrie de base'; @override String get contact_teleLoc => 'Emplacement de télémétrie'; @override String get contact_teleLocSubtitle => 'Autoriser le partage des données de localisation'; @override String get contact_teleEnv => 'Environnement Télémétrie'; @override String get contact_teleEnvSubtitle => 'Autoriser le partage des données des capteurs d\'environnement'; @override String get channels_title => 'Canaux'; @override String get channels_noChannelsConfigured => 'Aucun canal configuré'; @override String get channels_addPublicChannel => 'Ajouter un canal public'; @override String get channels_searchChannels => 'Rechercher des canaux...'; @override String get channels_noChannelsFound => 'Aucun canal trouvé'; @override String channels_channelIndex(int index) { return 'Canal $index'; } @override String get channels_hashtagChannel => 'Canal avec hashtag'; @override String get channels_public => 'Public'; @override String get channels_private => 'Privé'; @override String get channels_publicChannel => 'Canal public'; @override String get channels_privateChannel => 'Canal privé'; @override String get channels_editChannel => 'Modifier le canal'; @override String get channels_muteChannel => 'Désactiver les notifications du canal'; @override String get channels_unmuteChannel => 'Réactiver les notifications du canal'; @override String get channels_deleteChannel => 'Supprimer le canal'; @override String channels_deleteChannelConfirm(String name) { return 'Supprimer $name? Cela ne peut pas être annulé.'; } @override String channels_channelDeleteFailed(String name) { return 'Échec de la suppression de la chaîne \"$name\"'; } @override String channels_channelDeleted(String name) { return 'Le canal \"$name\" a été supprimé'; } @override String get channels_addChannel => 'Ajouter un Canal'; @override String get channels_channelIndexLabel => 'Index de canal'; @override String get channels_channelName => 'Nom du canal'; @override String get channels_usePublicChannel => 'Utiliser le canal public'; @override String get channels_standardPublicPsk => 'PSK public standard'; @override String get channels_pskHex => 'PSK (Hex)'; @override String get channels_generateRandomPsk => 'Générer une clé de modulation PSK aléatoire'; @override String get channels_enterChannelName => 'Veuillez entrer un nom de canal'; @override String get channels_pskMustBe32Hex => 'Le PKS doit être composé de 32 caractères hexadécimaux.'; @override String channels_channelAdded(String name) { return 'Le canal \"$name\" a été ajouté'; } @override String channels_editChannelTitle(int index) { return 'Modifier le Canal $index'; } @override String get channels_smazCompression => 'Compression SMAZ'; @override String channels_channelUpdated(String name) { return 'Le canal \"$name\" a été mis à jour'; } @override String get channels_publicChannelAdded => 'Le canal public a été ajouté'; @override String get channels_sortBy => 'Trier par'; @override String get channels_sortManual => 'Manuel'; @override String get channels_sortAZ => 'A à Z'; @override String get channels_sortLatestMessages => 'Derniers messages'; @override String get channels_sortUnread => 'Non lu'; @override String get channels_createPrivateChannel => 'Créer un Canal Privé'; @override String get channels_createPrivateChannelDesc => 'Sécurisé avec une clé secrète.'; @override String get channels_joinPrivateChannel => 'Rejoindre un Canal Privé'; @override String get channels_joinPrivateChannelDesc => 'Entrer manuellement une clé secrète.'; @override String get channels_joinPublicChannel => 'Rejoindre le canal public'; @override String get channels_joinPublicChannelDesc => 'Tout le monde peut rejoindre ce canal.'; @override String get channels_joinHashtagChannel => 'Rejoindre un Canal Hashtag'; @override String get channels_joinHashtagChannelDesc => 'N\'importe qui peut rejoindre les canaux #hashtag.'; @override String get channels_scanQrCode => 'Scanner un code QR'; @override String get channels_scanQrCodeComingSoon => 'Bientôt disponible'; @override String get channels_enterHashtag => 'Entrez le hashtag'; @override String get channels_hashtagHint => 'ex. #equipe'; @override String get chat_noMessages => 'Aucun message pour le moment.'; @override String get chat_sendMessageToStart => 'Envoyer un message pour commencer'; @override String get chat_originalMessageNotFound => 'Message d\'origine non trouvé'; @override String chat_replyingTo(String name) { return 'Répondre à $name'; } @override String chat_replyTo(String name) { return 'Répondre à $name'; } @override String get chat_location => 'Emplacement'; @override String chat_sendMessageTo(String contactName) { return 'Envoyer un message à $contactName'; } @override String get chat_typeMessage => 'Saisir un message...'; @override String chat_messageTooLong(int maxBytes) { return 'Message trop long (max $maxBytes octets).'; } @override String get chat_messageCopied => 'Message copié'; @override String get chat_messageDeleted => 'Message supprimé'; @override String get chat_retryingMessage => 'Tentative de récupération.'; @override String chat_retryCount(int current, int max) { return 'Essai $current/$max'; } @override String get chat_sendGif => 'Envoyer GIF'; @override String get chat_reply => 'Répondre'; @override String get chat_addReaction => 'Ajouter une Réaction'; @override String get chat_me => 'Moi'; @override String get emojiCategorySmileys => 'Émojis'; @override String get emojiCategoryGestures => 'Gestes'; @override String get emojiCategoryHearts => 'Cœurs'; @override String get emojiCategoryObjects => 'Objets'; @override String get gifPicker_title => 'Choisir un GIF'; @override String get gifPicker_searchHint => 'Rechercher des GIF...'; @override String get gifPicker_poweredBy => 'Propulsé par GIPHY'; @override String get gifPicker_noGifsFound => 'Aucun GIF trouvé'; @override String get gifPicker_failedLoad => 'Impossible de charger les GIFs'; @override String get gifPicker_failedSearch => 'Recherche de GIFs échouée'; @override String get gifPicker_noInternet => 'Aucune connexion internet'; @override String get debugLog_appTitle => 'Journal de débogage de l\'application'; @override String get debugLog_bleTitle => 'Journal de débogage BLE'; @override String get debugLog_copyLog => 'Copier le journal'; @override String get debugLog_clearLog => 'Effacer le journal'; @override String get debugLog_copied => 'Journal de débogage copié'; @override String get debugLog_bleCopied => 'Journal BLE copié'; @override String get debugLog_noEntries => 'Aucun journal de débogage pour le moment.'; @override String get debugLog_enableInSettings => 'Activer le débogage de l\'application dans les paramètres'; @override String get debugLog_frames => 'Cadres'; @override String get debugLog_rawLogRx => 'Enregistrement brut - RX'; @override String get debugLog_noBleActivity => 'Pas d\'activité BLE enregistrée pour le moment.'; @override String debugFrame_length(int count) { return 'Longueur du cadre : $count octets'; } @override String debugFrame_command(String value) { return 'Commande : 0x$value'; } @override String get debugFrame_textMessageHeader => 'Message :'; @override String debugFrame_destinationPubKey(String pubKey) { return '- Destination PubKey: $pubKey'; } @override String debugFrame_timestamp(int timestamp) { return '- Timestamp : $timestamp'; } @override String debugFrame_flags(String value) { return '- Indicateurs : 0x$value'; } @override String debugFrame_textType(int type, String label) { return '- Type de texte : $type ($label)'; } @override String get debugFrame_textTypeCli => 'CLI'; @override String get debugFrame_textTypePlain => 'Simple'; @override String debugFrame_text(String text) { return '- Texte : \"$text\"'; } @override String get debugFrame_hexDump => 'Vidéo de Dump Hexadécimal :'; @override String get chat_pathManagement => 'Gestion des chemins'; @override String get chat_ShowAllPaths => 'Afficher tous les chemins'; @override String get chat_routingMode => 'Mode de routage'; @override String get chat_autoUseSavedPath => 'Auto (utiliser le chemin sauvegardé)'; @override String get chat_forceFloodMode => 'Mode tout le réseau forcé'; @override String get chat_recentAckPaths => 'Chemins ACK récents (touchez pour utiliser) :'; @override String get chat_pathHistoryFull => 'L\'historique du chemin est plein. Supprimez les entrées pour en ajouter de nouvelles.'; @override String get chat_hopSingular => 'saut'; @override String get chat_hopPlural => 'sauts'; @override String chat_hopsCount(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, other: 'sauts', one: 'saut', ); return '$count $_temp0'; } @override String get chat_successes => 'Succès'; @override String get chat_removePath => 'Supprimer le chemin'; @override String get chat_noPathHistoryYet => 'Aucune historique de parcours disponible.\nEnvoyez un message pour découvrir les parcours.'; @override String get chat_pathActions => 'Actions du chemin :'; @override String get chat_setCustomPath => 'Définir un chemin personnalisé'; @override String get chat_setCustomPathSubtitle => 'Spécifier manuellement le chemin de routage'; @override String get chat_clearPath => 'Effacer le chemin'; @override String get chat_clearPathSubtitle => 'Forcer la redécouverte lors de la prochaine envoi'; @override String get chat_pathCleared => 'Le chemin est dégagé. Le prochain message redécouvrira le tracé.'; @override String get chat_floodModeSubtitle => 'Utiliser le commutateur de routage dans la barre d\'application'; @override String get chat_floodModeEnabled => 'Le mode envoi à tout le réseau est activé. Changer via l\'icône de routage dans la barre d\'outils.'; @override String get chat_fullPath => 'Chemin complet'; @override String get chat_pathDetailsNotAvailable => 'Les détails du chemin ne sont pas encore disponibles. Essayez d\'envoyer un message pour rafraîchir.'; @override String chat_pathSetHops(int hopCount, String status) { String _temp0 = intl.Intl.pluralLogic( hopCount, locale: localeName, other: 'hops', one: 'hop', ); return 'Chemin défini : $hopCount $_temp0 - $status'; } @override String get chat_pathSavedLocally => 'Sauvegardé localement. Connectez-vous pour synchroniser.'; @override String get chat_pathDeviceConfirmed => 'Appareil confirmé.'; @override String get chat_pathDeviceNotConfirmed => 'L\'appareil n\'a pas encore été confirmé.'; @override String get chat_type => 'Saisir'; @override String get chat_path => 'Chemin'; @override String get chat_publicKey => 'Clé Publique'; @override String get chat_compressOutgoingMessages => 'Compresser les messages sortants'; @override String get chat_floodForced => 'Tout le réseau (forcée)'; @override String get chat_directForced => 'Direct (forcé)'; @override String chat_hopsForced(int count) { return '$count sauts (forcés)'; } @override String get chat_floodAuto => 'Tout le réseau (auto)'; @override String get chat_direct => 'Afficher'; @override String get chat_poiShared => 'Point d\'intérêt Partagé'; @override String chat_unread(int count) { return 'Non lu : $count'; } @override String get chat_openLink => 'Ouvrir le lien ?'; @override String get chat_openLinkConfirmation => 'Voulez-vous ouvrir ce lien dans votre navigateur ?'; @override String get chat_open => 'Ouvrir'; @override String chat_couldNotOpenLink(String url) { return 'Impossible d\'ouvrir le lien : $url'; } @override String get chat_invalidLink => 'Format de lien invalide'; @override String get map_title => 'Carte des nœuds'; @override String get map_lineOfSight => 'Ligne de vue'; @override String get map_losScreenTitle => 'Ligne de vue'; @override String get map_noNodesWithLocation => 'Aucun nœud avec des données de localisation'; @override String get map_nodesNeedGps => 'Les nœuds doivent partager leurs coordonnées GPS\npour apparaître sur la carte.'; @override String map_nodesCount(int count) { return 'Nœuds : $count'; } @override String map_pinsCount(int count) { return 'Epingles: $count'; } @override String get map_chat => 'Chat'; @override String get map_repeater => 'Répéteur'; @override String get map_room => 'Salle'; @override String get map_sensor => 'Capteur'; @override String get map_pinDm => 'Clé (DM)'; @override String get map_pinPrivate => 'Verrouiller (Privé)'; @override String get map_pinPublic => 'Clé (Public)'; @override String get map_lastSeen => 'Dernière fois vu'; @override String get map_disconnectConfirm => 'Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?'; @override String get map_from => 'À partir de'; @override String get map_source => 'Source'; @override String get map_flags => 'Drapeaux'; @override String get map_shareMarkerHere => 'Partager le marqueur ici'; @override String get map_setAsMyLocation => 'Définir comme ma localisation'; @override String get map_pinLabel => 'Étiquete de repin'; @override String get map_label => 'Étiquette'; @override String get map_pointOfInterest => 'Point d\'intérêt'; @override String get map_sendToContact => 'Envoyer au contact'; @override String get map_sendToChannel => 'Envoyer sur le canal'; @override String get map_noChannelsAvailable => 'Aucun canal disponible'; @override String get map_publicLocationShare => 'Partager dans un lieu public'; @override String map_publicLocationShareConfirm(String channelLabel) { return '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.'; } @override String get map_connectToShareMarkers => 'Connectez-vous à un appareil pour partager des marqueurs'; @override String get map_filterNodes => 'Filtrer les nœuds'; @override String get map_nodeTypes => 'Types de nœuds'; @override String get map_chatNodes => 'Nœuds de Chat'; @override String get map_repeaters => 'Répéteurs'; @override String get map_otherNodes => 'Autres nœuds'; @override String get map_showOverlaps => 'Chevauchement de la touche répétitive'; @override String get map_keyPrefix => 'Préfixe clé'; @override String get map_filterByKeyPrefix => 'Filtrer par préfixe de clé'; @override String get map_publicKeyPrefix => 'Préfixe de clé publique'; @override String get map_markers => 'Marqueurs'; @override String get map_showSharedMarkers => 'Afficher les marqueurs partagés'; @override String get map_showGuessedLocations => 'Afficher les emplacements des nœuds estimés'; @override String get map_showDiscoveryContacts => 'Afficher les contacts de découverte'; @override String get map_guessedLocation => 'Lieu deviné'; @override String get map_lastSeenTime => 'Dernière fois vu'; @override String get map_sharedPin => 'Clé partagée'; @override String get map_joinRoom => 'Rejoindre la salle'; @override String get map_manageRepeater => 'Gérer le répéteur'; @override String get map_tapToAdd => 'Appuyez sur les nœuds pour les ajouter au chemin.'; @override String get map_runTrace => 'Exécuter la traçage de chemin'; @override String get map_runTraceWithReturnPath => 'Revenir sur le même chemin.'; @override String get map_removeLast => 'Supprimer le dernier'; @override String get map_pathTraceCancelled => 'Traçage de chemin annulé'; @override String get mapCache_title => 'Cache de Carte Hors Ligne'; @override String get mapCache_selectAreaFirst => 'Sélectionner une zone pour la mise en cache en premier'; @override String get mapCache_noTilesToDownload => 'Aucun tuilage à télécharger pour cette zone.'; @override String get mapCache_downloadTilesTitle => 'Télécharger les tuiles'; @override String mapCache_downloadTilesPrompt(int count) { return 'Télécharger $count tuiles pour un usage hors ligne ?'; } @override String get mapCache_downloadAction => 'Télécharger'; @override String mapCache_cachedTiles(int count) { return 'Cachez $count tuiles'; } @override String mapCache_cachedTilesWithFailed(int downloaded, int failed) { return 'Tuiles mis en cache ($downloaded) ($failed ratés)'; } @override String get mapCache_clearOfflineCacheTitle => 'Vider le cache hors ligne'; @override String get mapCache_clearOfflineCachePrompt => 'Supprimer toutes les tuiles de carte mises en cache ?'; @override String get mapCache_offlineCacheCleared => 'Le cache hors ligne a été effacé.'; @override String get mapCache_noAreaSelected => 'Aucune zone sélectionnée'; @override String get mapCache_cacheArea => 'Zone de cache'; @override String get mapCache_useCurrentView => 'Utiliser la Vue Actuelle'; @override String get mapCache_zoomRange => 'Plage de zoom'; @override String mapCache_estimatedTiles(int count) { return 'Estimation des tuiles : $count'; } @override String mapCache_downloadedTiles(int completed, int total) { return 'Téléchargé $completed / $total'; } @override String get mapCache_downloadTilesButton => 'Télécharger les tuiles'; @override String get mapCache_clearCacheButton => 'Vider le Cache'; @override String mapCache_failedDownloads(int count) { return 'Téléchargements échoués : $count'; } @override String mapCache_boundsLabel( String north, String south, String east, String west, ) { return 'N $north, S $south, E $east, O $west'; } @override String get time_justNow => 'Maintenant'; @override String time_minutesAgo(int minutes) { return '$minutes minutes auparavant'; } @override String time_hoursAgo(int hours) { return '${hours}h auparavant'; } @override String time_daysAgo(int days) { return '$days jours avant'; } @override String get time_hour => 'heure'; @override String get time_hours => 'heures'; @override String get time_day => 'jour'; @override String get time_days => 'jours'; @override String get time_week => 'semaine'; @override String get time_weeks => 'semaines'; @override String get time_month => 'mois'; @override String get time_months => 'mois'; @override String get time_minutes => 'minutes'; @override String get time_allTime => 'Tout le temps'; @override String get dialog_disconnect => 'Déconnecter'; @override String get dialog_disconnectConfirm => 'Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?'; @override String get login_repeaterLogin => 'Connexion au répéteur'; @override String get login_roomLogin => 'Connexion Room Server'; @override String get login_password => 'Mot de passe'; @override String get login_enterPassword => 'Entrez votre mot de passe'; @override String get login_savePassword => 'Sauvegarder le mot de passe'; @override String get login_savePasswordSubtitle => 'Le mot de passe sera stocké en toute sécurité sur cet appareil.'; @override String get login_repeaterDescription => 'Entrez le mot de passe du répéteur pour accéder aux paramètres et à l\'état.'; @override String get login_roomDescription => 'Entrez le mot de passe de la pièce pour accéder aux paramètres et à l\'état.'; @override String get login_routing => 'Redirection'; @override String get login_routingMode => 'Mode de routage'; @override String get login_autoUseSavedPath => 'Auto (utiliser le chemin sauvegardé)'; @override String get login_forceFloodMode => 'Mode tout le réseau forcé'; @override String get login_managePaths => 'Gérer les chemins'; @override String get login_login => 'Connexion'; @override String login_attempt(int current, int max) { return 'Essayer $current/$max'; } @override String login_failed(String error) { return 'Connexion échouée : $error'; } @override String get login_failedMessage => 'Connexion échouée. Soit le mot de passe est incorrect, soit le relais est injoignable.'; @override String get common_reload => 'Recharger'; @override String get common_clear => 'Effacer'; @override String path_currentPath(String path) { return 'Chemin actuel : $path'; } @override String path_usingHopsPath(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, other: 'hops', one: 'hop', ); return 'Utiliser $count $_temp0 chemin'; } @override String get path_enterCustomPath => 'Entrer un chemin personnalisé'; @override String get path_currentPathLabel => 'Chemin actuel'; @override String get path_hexPrefixInstructions => 'Entrez les préfixes hexadécimaux de 2 caractères pour chaque saut, séparés par des virgules.'; @override String get path_hexPrefixExample => 'Exemple : A1,F2,3C (chaque nœud utilise le premier octet de sa clé publique).'; @override String get path_labelHexPrefixes => 'Préfixes hexadécimaux'; @override String get path_helperMaxHops => 'Max 64 sauts. Chaque préfixe fait 2 caractères hexadécimaux (1 octet)'; @override String get path_selectFromContacts => 'Sélectionner à partir des contacts :'; @override String get path_noRepeatersFound => 'Aucun répéteur ou serveur de salle n\'a été trouvé.'; @override String get path_customPathsRequire => 'Les chemins personnalisés nécessitent des sauts intermédiaires qui peuvent transmettre des messages.'; @override String path_invalidHexPrefixes(String prefixes) { return 'Préfixes hexadécimaux invalides : $prefixes'; } @override String get path_tooLong => 'Le chemin est trop long. Maximum 64 sauts autorisés.'; @override String get path_setPath => 'Définir le chemin'; @override String get repeater_management => 'Gestion des répéteurs'; @override String get room_management => 'Administrattion Room Server'; @override String get repeater_managementTools => 'Outils de Gestion'; @override String get repeater_status => 'État'; @override String get repeater_statusSubtitle => 'Afficher l\'état, les statistiques et les voisins du répéteur'; @override String get repeater_telemetry => 'Télémetrie'; @override String get repeater_telemetrySubtitle => 'Afficher la télémétrie des capteurs et les statistiques du système'; @override String get repeater_cli => 'CLI'; @override String get repeater_cliSubtitle => 'Envoyer des commandes au répéteur'; @override String get repeater_neighbors => 'Voisins'; @override String get repeater_neighborsSubtitle => 'Afficher les voisins de saut nuls.'; @override String get repeater_settings => 'Paramètres'; @override String get repeater_settingsSubtitle => 'Configurer les paramètres du répéteur'; @override String get repeater_statusTitle => 'État du répéteur'; @override String get repeater_routingMode => 'Mode de routage'; @override String get repeater_autoUseSavedPath => 'Auto (utiliser le chemin sauvegardé)'; @override String get repeater_forceFloodMode => 'Mode tout le réseau forcé'; @override String get repeater_pathManagement => 'Gestion des chemins'; @override String get repeater_refresh => 'Rafraîchir'; @override String get repeater_statusRequestTimeout => 'Demande de statut délai dépassé.'; @override String repeater_errorLoadingStatus(String error) { return 'Erreur lors du chargement du statut : $error'; } @override String get repeater_systemInformation => 'Informations Système'; @override String get repeater_battery => 'Batterie'; @override String get repeater_clockAtLogin => 'Horloge (au démarrage)'; @override String get repeater_uptime => 'Disponibilité'; @override String get repeater_queueLength => 'Longueur de la file d\'attente'; @override String get repeater_debugFlags => 'Marqueurs de débogage'; @override String get repeater_radioStatistics => 'Statistiques Radio'; @override String get repeater_lastRssi => 'Dernier RSSI'; @override String get repeater_lastSnr => 'Dernier SNR'; @override String get repeater_noiseFloor => 'Niveau de Bruit'; @override String get repeater_txAirtime => 'TX Airtime'; @override String get repeater_rxAirtime => 'RX Airtime'; @override String get repeater_packetStatistics => 'Statistiques des paquets'; @override String get repeater_sent => 'Envoyé'; @override String get repeater_received => 'Reçu'; @override String get repeater_duplicates => 'Doublons'; @override String repeater_daysHoursMinsSecs( int days, int hours, int minutes, int seconds, ) { return '$days jours ${hours}h ${minutes}m ${seconds}s'; } @override String repeater_packetTxTotal(int total, String flood, String direct) { return 'Total : $total, Tout le réseau : $flood, Direct : $direct'; } @override String repeater_packetRxTotal(int total, String flood, String direct) { return 'Total : $total, Tout le réseau : $flood, Direct : $direct'; } @override String repeater_duplicatesFloodDirect(String flood, String direct) { return 'Tout le réseau : $flood, Direct : $direct'; } @override String repeater_duplicatesTotal(int total) { return 'Total : $total'; } @override String get repeater_settingsTitle => 'Paramètres du répéteur'; @override String get repeater_basicSettings => 'Paramètres de base'; @override String get repeater_repeaterName => 'Nom du répéteur'; @override String get repeater_repeaterNameHelper => 'Afficher le nom de ce répéteur'; @override String get repeater_adminPassword => 'Mot de passe Administrateur'; @override String get repeater_adminPasswordHelper => 'Mot de passe d\'accès complet'; @override String get repeater_guestPassword => 'Mot de passe invité'; @override String get repeater_guestPasswordHelper => 'Accès en lecture seule avec mot de passe'; @override String get repeater_radioSettings => 'Paramètres Radio'; @override String get repeater_frequencyMhz => 'Fréquence (MHz)'; @override String get repeater_frequencyHelper => '300-2500 MHz'; @override String get repeater_txPower => 'TX Puissance'; @override String get repeater_txPowerHelper => '1-30 dBm'; @override String get repeater_bandwidth => 'Bande passante'; @override String get repeater_spreadingFactor => 'Facteur de répartition'; @override String get repeater_codingRate => 'Taux de codage'; @override String get repeater_locationSettings => 'Paramètres de localisation'; @override String get repeater_latitude => 'Latitude'; @override String get repeater_latitudeHelper => 'Degrés décimaux (par exemple, 37.7749)'; @override String get repeater_longitude => 'Longitude'; @override String get repeater_longitudeHelper => 'Degrés décimaux (par exemple, -122,4194)'; @override String get repeater_features => 'Fonctionnalités'; @override String get repeater_packetForwarding => 'Transfert de paquets'; @override String get repeater_packetForwardingSubtitle => 'Activer le répéteur pour transmettre des paquets'; @override String get repeater_guestAccess => 'Accès Invité'; @override String get repeater_guestAccessSubtitle => 'Autoriser l\'accès invité en lecture seule'; @override String get repeater_privacyMode => 'Mode de confidentialité'; @override String get repeater_privacyModeSubtitle => 'Cacher le nom/l\'emplacement dans les annonces'; @override String get repeater_advertisementSettings => 'Paramètres d\'annonces'; @override String get repeater_localAdvertInterval => 'Intervalle des annonces Locale (0 saut)'; @override String repeater_localAdvertIntervalMinutes(int minutes) { return '$minutes minutes'; } @override String get repeater_floodAdvertInterval => 'Intervalle des annonces à tout le réseau (flood)'; @override String repeater_floodAdvertIntervalHours(int hours) { return '$hours heures'; } @override String get repeater_encryptedAdvertInterval => 'Intervalle d\'annonces cryptées'; @override String get repeater_dangerZone => 'Zone dangereuse'; @override String get repeater_rebootRepeater => 'Redémarrer Répéteur'; @override String get repeater_rebootRepeaterSubtitle => 'Réinitialiser l\'appareil répéteur'; @override String get repeater_rebootRepeaterConfirm => 'Êtes-vous sûr de vouloir redémarrer ce répéteur ?'; @override String get repeater_regenerateIdentityKey => 'Ré générer la clé d\'identité'; @override String get repeater_regenerateIdentityKeySubtitle => 'Générer une nouvelle paire de clés publique/privée'; @override String get repeater_regenerateIdentityKeyConfirm => 'Cela générera une nouvelle identité pour le répéteur. Continuer ?'; @override String get repeater_eraseFileSystem => 'Supprimer le système de fichiers'; @override String get repeater_eraseFileSystemSubtitle => 'Formater le système de fichiers du répéteur'; @override String get repeater_eraseFileSystemConfirm => 'AVERTISSEMENT : Cela effacera toutes les données du répéteur. Cela ne peut pas être annulé !'; @override String get repeater_eraseSerialOnly => 'Erase n\'est disponible que via la console série.'; @override String repeater_commandSent(String command) { return 'Commande envoyée : $command'; } @override String repeater_errorSendingCommand(String error) { return 'Erreur lors de l\'envoi de la commande : $error'; } @override String get repeater_confirm => 'Confirmer'; @override String get repeater_settingsSaved => 'Les paramètres ont été enregistrés avec succès.'; @override String repeater_errorSavingSettings(String error) { return 'Erreur lors de la sauvegarde des paramètres : $error'; } @override String get repeater_refreshBasicSettings => 'Rafraîchir les paramètres de base'; @override String get repeater_refreshRadioSettings => 'Rafraîchir les paramètres Radio'; @override String get repeater_refreshTxPower => 'Rafraîchir la tension TX'; @override String get repeater_refreshLocationSettings => 'Rafraîchir les paramètres de localisation'; @override String get repeater_refreshPacketForwarding => 'Rafraîchir le routage des paquets'; @override String get repeater_refreshGuestAccess => 'Rafraîchir l\'accès invité'; @override String get repeater_refreshPrivacyMode => 'Rafraîchir le Mode Confidentialité'; @override String get repeater_refreshAdvertisementSettings => 'Rafraîchir les Paramètres des annonces'; @override String repeater_refreshed(String label) { return '$label rafraîchi'; } @override String repeater_errorRefreshing(String label) { return 'Erreur lors du rafraîchissement de $label'; } @override String get repeater_cliTitle => 'Répéteur CLI'; @override String get repeater_debugNextCommand => 'Déboguer Prochaine Commande'; @override String get repeater_commandHelp => 'Aide'; @override String get repeater_clearHistory => 'Effacer l\'historique'; @override String get repeater_noCommandsSent => 'Aucune commande n\'a encore été envoyée.'; @override String get repeater_typeCommandOrUseQuick => 'Saisissez une commande ci-dessous ou utilisez les commandes rapides'; @override String get repeater_enterCommandHint => 'Entrer la commande...'; @override String get repeater_previousCommand => 'Commande précédente'; @override String get repeater_nextCommand => 'Prochaine commande'; @override String get repeater_enterCommandFirst => 'Entrez d\'abord une commande'; @override String get repeater_cliCommandFrameTitle => 'Frame de commande CLI'; @override String repeater_cliCommandError(String error) { return 'Erreur : $error'; } @override String get repeater_cliQuickGetName => 'Obtenir le nom'; @override String get repeater_cliQuickGetRadio => 'Obtenir la Radio'; @override String get repeater_cliQuickGetTx => 'Obtenir TX'; @override String get repeater_cliQuickNeighbors => 'Voisins'; @override String get repeater_cliQuickVersion => 'Version'; @override String get repeater_cliQuickAdvertise => 'Publier'; @override String get repeater_cliQuickClock => 'Horloge'; @override String get repeater_cliHelpAdvert => 'Envoie un paquet d\'annonce'; @override String get repeater_cliHelpReboot => 'Redémarre l\'appareil. (Note, vous risquez d\'obtenir \'Timeout\' ce qui est normal)'; @override String get repeater_cliHelpClock => 'Affiche l\'heure actuelle par l\'horloge de chaque appareil.'; @override String get repeater_cliHelpPassword => 'Définit un nouveau mot de passe administrateur pour l\'appareil.'; @override String get repeater_cliHelpVersion => 'Affiche la version du périphérique et la date de construction du micrologiciel.'; @override String get repeater_cliHelpClearStats => 'Réinitialise divers compteurs de statistiques à zéro.'; @override String get repeater_cliHelpSetAf => 'Définit le facteur de temps d\'air.'; @override String get repeater_cliHelpSetTx => 'Définit la puissance de transmission LoRa en dBm (réinitialisation requise pour appliquer).'; @override String get repeater_cliHelpSetRepeat => 'Active ou désactive le rôle du répéteur pour ce nœud.'; @override String get 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)'; @override String get repeater_cliHelpSetFloodMax => 'Définit le nombre maximal de sauts pour les paquets de balayage entrants (si >= max, le paquet n\'est pas acheminé).'; @override String get 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.'; @override String get repeater_cliHelpSetAgcResetInterval => 'Définit l\'intervalle pour réinitialiser le contrôleur de gain automatique. Mettez à 0 pour désactiver.'; @override String get repeater_cliHelpSetMultiAcks => 'Active ou désactive la fonctionnalité « double ACKs ».'; @override String get repeater_cliHelpSetAdvertInterval => 'Définit l\'intervalle entre chaque émission d\'une annonce locale (sans relais). Définir sur 0 pour désactiver.'; @override String get repeater_cliHelpSetFloodAdvertInterval => 'Définit l\'intervalle du minuteur en heures pour envoyer un paquet d\'annonce massive. Définir sur 0 pour désactiver.'; @override String get 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\")'; @override String get repeater_cliHelpSetName => 'Définit le nom de l\'annonce.'; @override String get repeater_cliHelpSetLat => 'Définit la latitude de la carte des annonces. (degrés décimaux)'; @override String get repeater_cliHelpSetLon => 'Définit la longitude de la carte de l\'annonce. (degrés décimaux)'; @override String get 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.'; @override String get 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.'; @override String get 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).'; @override String get repeater_cliHelpSetDirectTxDelay => 'Identique à txdelay, mais pour appliquer un délai aléatoire au transfert des paquets en mode direct.'; @override String get repeater_cliHelpSetBridgeEnabled => 'Activer/Désactiver le pont.'; @override String get repeater_cliHelpSetBridgeDelay => 'Définir le délai avant de renvoyer les paquets.'; @override String get repeater_cliHelpSetBridgeSource => 'Choisissez si le pont retransmettra les paquets reçus ou les paquets transmis.'; @override String get repeater_cliHelpSetBridgeBaud => 'Définir la vitesse de communication série pour les ponts Rs232.'; @override String get repeater_cliHelpSetBridgeSecret => 'Définir le secret du pont pour les ponts espnow.'; @override String get repeater_cliHelpSetAdcMultiplier => 'Définit un facteur personnalisé pour ajuster la tension de la batterie signalée (uniquement pris en charge sur certains cartes).'; @override String get 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).'; @override String get 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).'; @override String get repeater_cliHelpGetBridgeType => 'Obtenir le type de pont : aucun, rs232, espnow'; @override String get repeater_cliHelpLogStart => 'Démarre l\'enregistrement des paquets dans le système de fichiers.'; @override String get repeater_cliHelpLogStop => 'Arrêter de journaliser les paquets vers le système de fichiers.'; @override String get repeater_cliHelpLogErase => 'Supprime les journaux de paquets du système de fichiers.'; @override String get 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'; @override String get repeater_cliHelpNeighborRemove => 'Supprime la première entrée correspondante (par préfixe de clé publique (hexadécimal)) de la liste des voisins.'; @override String get repeater_cliHelpRegion => '(série uniquement) Liste toutes les régions définies et les autorisations actuelles d\'annonces sur tout le réseau (flood).'; @override String get 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.'; @override String get 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\'\"'; @override String get repeater_cliHelpRegionPut => 'Ajoute ou met à jour une définition de région avec le nom donné.'; @override String get repeater_cliHelpRegionRemove => 'Supprime une définition de région avec le nom donné.'; @override String get repeater_cliHelpRegionAllowf => 'Définit les autorisations de \"Flot\" pour la région donnée. (\'\' pour la portée globale/héritée)'; @override String get 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 !! )'; @override String get repeater_cliHelpRegionHome => 'Répond avec la région \'maison\' actuelle. (Note appliquée nulle part pour l\'instant, réservée à une utilisation future)'; @override String get repeater_cliHelpRegionHomeSet => 'Définit la région \'maison\'.'; @override String get repeater_cliHelpRegionSave => 'Conserve la liste/la carte des régions dans le stockage.'; @override String get 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.'; @override String get repeater_cliHelpGpsOnOff => 'Activer/désactiver le GPS.'; @override String get repeater_cliHelpGpsSync => 'Synchronise l\'heure du nœud avec l\'horloge GPS.'; @override String get repeater_cliHelpGpsSetLoc => 'Définit la position du nœud aux coordonnées GPS et enregistre les préférences.'; @override String get 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'; @override String get repeater_cliHelpGpsAdvertSet => 'Définit la configuration de l\'annonce de localisation.'; @override String get repeater_commandsListTitle => 'Liste des commandes'; @override String get repeater_commandsListNote => 'NOTE : pour les diverses commandes « set »..., il existe également une commande « get »...'; @override String get repeater_general => 'Général'; @override String get repeater_settingsCategory => 'Paramètres'; @override String get repeater_bridge => 'Pont'; @override String get repeater_logging => 'Journalisation'; @override String get repeater_neighborsRepeaterOnly => 'Voisins (Uniquement répéteur)'; @override String get repeater_regionManagementRepeaterOnly => 'Gestion des régions (uniquement pour le répéteur)'; @override String get repeater_regionNote => 'Les commandes de région ont été introduites pour gérer les définitions et les autorisations des régions.'; @override String get repeater_gpsManagement => 'Gestion GPS'; @override String get repeater_gpsNote => 'La commande GPS a été introduite pour gérer les sujets liés à la localisation.'; @override String get telemetry_receivedData => 'Données de télémétrie reçues'; @override String get telemetry_requestTimeout => 'Demande de télémétrie expirée.'; @override String telemetry_errorLoading(String error) { return 'Erreur lors du chargement de la télémétrie : $error'; } @override String get telemetry_noData => 'Aucune donnée de télémétrie disponible.'; @override String telemetry_channelTitle(int channel) { return 'Canal $channel'; } @override String get telemetry_batteryLabel => 'Batterie'; @override String get telemetry_voltageLabel => 'Tension'; @override String get telemetry_mcuTemperatureLabel => 'Température du MCU'; @override String get telemetry_temperatureLabel => 'Température'; @override String get telemetry_currentLabel => 'Actuellement'; @override String telemetry_batteryValue(int percent, String volts) { return '$percent% / ${volts}V'; } @override String telemetry_voltageValue(String volts) { return '${volts}V'; } @override String telemetry_currentValue(String amps) { return '${amps}A'; } @override String telemetry_temperatureValue(String celsius, String fahrenheit) { return '$celsius°C / $fahrenheit°F'; } @override String get neighbors_receivedData => 'Données des voisins reçues'; @override String get neighbors_requestTimedOut => 'Les voisins demandent un délai.'; @override String neighbors_errorLoading(String error) { return 'Erreur lors du chargement des voisins : $error'; } @override String get neighbors_repeatersNeighbors => 'Répéteurs Voisins'; @override String get neighbors_noData => 'Aucune donnée concernant les voisins disponible.'; @override String neighbors_unknownContact(String pubkey) { return 'Clé publique inconnue $pubkey'; } @override String neighbors_heardAgo(String time) { return 'Écouté : $time auparavant'; } @override String get channelPath_title => 'Chemin de paquet'; @override String get channelPath_viewMap => 'Afficher la carte'; @override String get channelPath_otherObservedPaths => 'Autres chemins observés'; @override String get channelPath_repeaterHops => 'Sauts du répéteur'; @override String get channelPath_noHopDetails => 'Les détails de l\'envoi ne sont pas fournis pour ce paquet.'; @override String get channelPath_messageDetails => 'Détails du message'; @override String get channelPath_senderLabel => 'Expéditeur'; @override String get channelPath_timeLabel => 'Temps'; @override String get channelPath_repeatsLabel => 'Répétitions'; @override String channelPath_pathLabel(int index) { return 'Chemin $index'; } @override String get channelPath_observedLabel => 'Observé'; @override String channelPath_observedPathTitle(int index, String hops) { return 'Chemin observé $index • $hops'; } @override String get channelPath_noLocationData => 'Aucune donnée de localisation'; @override String channelPath_timeWithDate(int day, int month, String time) { return '$day/$month $time'; } @override String channelPath_timeOnly(String time) { return '$time'; } @override String get channelPath_unknownPath => 'Inconnu'; @override String get channelPath_floodPath => 'Tout le réseau'; @override String get channelPath_directPath => 'Afficher'; @override String channelPath_observedZeroOf(int total) { return '0 de $total sauts'; } @override String channelPath_observedSomeOf(int observed, int total) { return '$observed sur $total sauts'; } @override String get channelPath_mapTitle => 'Carte du chemin'; @override String get channelPath_noRepeaterLocations => 'Aucune position de répéteur disponible pour ce chemin.'; @override String channelPath_primaryPath(int index) { return 'Chemin $index (Principal)'; } @override String get channelPath_pathLabelTitle => 'Chemin'; @override String get channelPath_observedPathHeader => 'Chemin observé'; @override String channelPath_selectedPathLabel(String label, String prefixes) { return '$label • $prefixes'; } @override String get channelPath_noHopDetailsAvailable => 'Aucun détail de saut disponible pour ce paquet.'; @override String get channelPath_unknownRepeater => 'Répéteur Inconnu'; @override String get community_title => 'Communauté'; @override String get community_create => 'Créer une Communauté'; @override String get community_createDesc => 'Créer une nouvelle communauté et la partager via QR code.'; @override String get community_join => 'Rejoindre'; @override String get community_joinTitle => 'Rejoindre la communauté'; @override String community_joinConfirmation(String name) { return 'Souhaitez-vous rejoindre la communauté \"$name\" ?'; } @override String get community_scanQr => 'Scanner la communauté QR'; @override String get community_scanInstructions => 'Pointez l\'appareil photo vers un code QR communautaire.'; @override String get community_showQr => 'Afficher le QR Code'; @override String get community_publicChannel => 'Communauté Publique'; @override String get community_hashtagChannel => 'Hashtag Communauté'; @override String get community_name => 'Nom de la communauté'; @override String get community_enterName => 'Entrez le nom de la communauté'; @override String community_created(String name) { return 'Communauté \"$name\" créée'; } @override String community_joined(String name) { return 'Rejoint la communauté \"$name\"'; } @override String get community_qrTitle => 'Partager Communauté'; @override String community_qrInstructions(String name) { return 'Scanner ce QR code pour rejoindre $name'; } @override String get community_hashtagPrivacyHint => 'Les canaux hashtag de la communauté ne sont accessibles qu\'aux membres de la communauté'; @override String get community_invalidQrCode => 'Code QR de communauté non valide'; @override String get community_alreadyMember => 'Déjà membre'; @override String community_alreadyMemberMessage(String name) { return 'Vous êtes déjà membre de \"$name\".'; } @override String get community_addPublicChannel => 'Ajouter un Canal Public de la Communauté'; @override String get community_addPublicChannelHint => 'Ajouter automatiquement le canal public pour cette communauté'; @override String get community_noCommunities => 'Aucun groupe n\'a été rejoint pour le moment.'; @override String get community_scanOrCreate => 'Scanner un code QR ou créer une communauté pour commencer'; @override String get community_manageCommunities => 'Gérer les Communautés'; @override String get community_delete => 'Quitter la communauté'; @override String community_deleteConfirm(String name) { return 'Quitter \"$name\" ?'; } @override String community_deleteChannelsWarning(int count) { return 'Cela supprimera également $count canal/canaux et leurs messages.'; } @override String community_deleted(String name) { return 'Communauté \"$name\" quittée'; } @override String get community_regenerateSecret => 'Régénérer le secret'; @override String community_regenerateSecretConfirm(String name) { return 'Régénérer la clé secrète pour \"$name\" ? Tous les membres devront scanner le nouveau code QR pour continuer à communiquer.'; } @override String get community_regenerate => 'Régénérer'; @override String community_secretRegenerated(String name) { return 'Mot de passe secret régénéré pour \"$name\"'; } @override String get community_updateSecret => 'Mettre à jour le secret'; @override String community_secretUpdated(String name) { return 'Modification secrète mise à jour pour \"$name\"'; } @override String community_scanToUpdateSecret(String name) { return 'Scanner le nouveau code QR pour mettre à jour le mot de passe pour \"$name\"'; } @override String get community_addHashtagChannel => 'Ajouter un Hashtag Communauté'; @override String get community_addHashtagChannelDesc => 'Ajouter un canal hashtag pour cette communauté'; @override String get community_selectCommunity => 'Sélectionner Communauté'; @override String get community_regularHashtag => 'Hashtag régulier'; @override String get community_regularHashtagDesc => 'Hashtag public (tout le monde peut rejoindre)'; @override String get community_communityHashtag => 'Hashtag de la communauté'; @override String get community_communityHashtagDesc => 'Exclusif aux membres de la communauté'; @override String community_forCommunity(String name) { return 'Pour $name'; } @override String get listFilter_tooltip => 'Filtrer et trier'; @override String get listFilter_sortBy => 'Trier par'; @override String get listFilter_latestMessages => 'Derniers messages'; @override String get listFilter_heardRecently => 'Écoute récemment'; @override String get listFilter_az => 'A à Z'; @override String get listFilter_filters => 'Filtres'; @override String get listFilter_all => 'Tout'; @override String get listFilter_favorites => 'Préférences'; @override String get listFilter_addToFavorites => 'Ajouter à mes favoris'; @override String get listFilter_removeFromFavorites => 'Supprimer des favoris'; @override String get listFilter_users => 'Utilisateurs'; @override String get listFilter_repeaters => 'Répéteurs'; @override String get listFilter_roomServers => 'Room servers'; @override String get listFilter_unreadOnly => 'Messages non lus seulement'; @override String get listFilter_newGroup => 'Nouveau groupe'; @override String get pathTrace_you => 'Vous'; @override String get pathTrace_failed => 'Traçage du chemin échoué.'; @override String get pathTrace_notAvailable => 'Tracé de chemin non disponible.'; @override String get pathTrace_refreshTooltip => 'Actualiser Path Trace'; @override String get pathTrace_someHopsNoLocation => 'Un ou plusieurs des sauts manquent d\'une localisation !'; @override String get pathTrace_clearTooltip => 'Effacer le chemin'; @override String get losSelectStartEnd => 'Sélectionnez les nœuds de début et de fin pour LOS.'; @override String losRunFailed(String error) { return 'Échec de la vérification de la ligne de vue : $error'; } @override String get losClearAllPoints => 'Effacer tous les points'; @override String get losRunToViewElevationProfile => 'Exécutez LOS pour afficher le profil d\'altitude'; @override String get losMenuTitle => 'Menu LOS'; @override String get losMenuSubtitle => 'Appuyez sur les nœuds ou appuyez longuement sur la carte pour des points personnalisés'; @override String get losShowDisplayNodes => 'Afficher les nœuds d\'affichage'; @override String get losCustomPoints => 'Points personnalisés'; @override String losCustomPointLabel(int index) { return 'Personnalisé $index'; } @override String get losPointA => 'Point A'; @override String get losPointB => 'Point B'; @override String losAntennaA(String value, String unit) { return 'Antenne A : $value $unit'; } @override String losAntennaB(String value, String unit) { return 'Antenne B : $value $unit'; } @override String get losRun => 'Exécuter la LOS'; @override String get losNoElevationData => 'Aucune donnée d\'altitude'; @override String losProfileClear( String distance, String distanceUnit, String clearance, String heightUnit, ) { return '$distance $distanceUnit, LOS clair, clairance minimale $clearance $heightUnit'; } @override String losProfileBlocked( String distance, String distanceUnit, String obstruction, String heightUnit, ) { return '$distance $distanceUnit, bloqué par $obstruction $heightUnit'; } @override String get losStatusChecking => 'LOS : vérification...'; @override String get losStatusNoData => 'LOS : aucune donnée'; @override String losStatusSummary(int clear, int total, int blocked, int unknown) { return 'LOS : $clear/$total clair, $blocked bloqué, $unknown inconnu'; } @override String get losErrorElevationUnavailable => 'Données d\'altitude indisponibles pour un ou plusieurs échantillons.'; @override String get losErrorInvalidInput => 'Données de points/d\'altitude non valides pour le calcul de la LOS.'; @override String get losRenameCustomPoint => 'Renommer le point personnalisé'; @override String get losPointName => 'Nom du point'; @override String get losShowPanelTooltip => 'Afficher le panneau LOS'; @override String get losHidePanelTooltip => 'Masquer le panneau LOS'; @override String get losElevationAttribution => 'Données d’altitude : Open-Meteo (CC BY 4.0)'; @override String get losLegendRadioHorizon => 'Horizon radio'; @override String get losLegendLosBeam => 'Ligne de visée'; @override String get losLegendTerrain => 'Terrain'; @override String get losFrequencyLabel => 'Fréquence'; @override String get losFrequencyInfoTooltip => 'Voir les détails du calcul'; @override String get losFrequencyDialogTitle => 'Calcul de l’horizon radio'; @override String losFrequencyDialogDescription( double baselineK, double baselineFreq, double frequencyMHz, double kFactor, ) { return 'À 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.'; } @override String get contacts_pathTrace => 'Traçage de chemin'; @override String get contacts_ping => 'Ping'; @override String get contacts_repeaterPathTrace => 'Tracer le chemin vers le répéteur'; @override String get contacts_repeaterPing => 'Pinguer le répéteur'; @override String get contacts_roomPathTrace => 'Traçage du chemin vers le serveur de la salle'; @override String get contacts_roomPing => 'Pinguer le serveur de la salle'; @override String get contacts_chatTraceRoute => 'Tracer le chemin'; @override String contacts_pathTraceTo(String name) { return 'Tracer l\'itinéraire vers $name'; } @override String get contacts_clipboardEmpty => 'Le presse-papiers est vide.'; @override String get contacts_invalidAdvertFormat => 'Données de contact non valides'; @override String get contacts_contactImported => 'Le contact a été importé.'; @override String get contacts_contactImportFailed => 'Échec de l\'importation du contact.'; @override String get contacts_zeroHopAdvert => 'Annonce Zero saut'; @override String get contacts_floodAdvert => 'Annonce à tout le réseau'; @override String get contacts_copyAdvertToClipboard => 'Copier l\'annonce dans le presse-papiers'; @override String get contacts_addContactFromClipboard => 'Ajouter un contact depuis le presse-papiers'; @override String get contacts_ShareContact => 'Copier le contact dans le presse-papiers'; @override String get contacts_ShareContactZeroHop => 'Partager un contact par annonce'; @override String get contacts_zeroHopContactAdvertSent => 'Envoyer un contact par annonce.'; @override String get contacts_zeroHopContactAdvertFailed => 'Échec de l\'envoi du contact.'; @override String get contacts_contactAdvertCopied => 'Annonce copiée dans le presse-papiers.'; @override String get contacts_contactAdvertCopyFailed => 'La copie de l\'annonce vers le presse-papiers a échoué.'; @override String get notification_activityTitle => 'Activité MeshCore'; @override String notification_messagesCount(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, other: 'messages', one: 'message', ); return '$count $_temp0'; } @override String notification_channelMessagesCount(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, other: 'messages de canal', one: 'message de canal', ); return '$count $_temp0'; } @override String notification_newNodesCount(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, other: 'nouveaux nœuds', one: 'nouveau nœud', ); return '$count $_temp0'; } @override String notification_newTypeDiscovered(String contactType) { return 'Nouveau $contactType découvert'; } @override String get notification_receivedNewMessage => 'Nouveau message reçu'; @override String get settings_gpxExportRepeaters => 'Exporter les répéteurs / serveur de salle au format GPX'; @override String get settings_gpxExportRepeatersSubtitle => 'Exporte les répéteurs / roomserver avec une localisation vers un fichier GPX.'; @override String get settings_gpxExportContacts => 'Exporter les compagnons au format GPX'; @override String get settings_gpxExportContactsSubtitle => 'Exporte les compagnons avec un emplacement vers un fichier GPX.'; @override String get settings_gpxExportAll => 'Exporter tous les contacts au format GPX'; @override String get settings_gpxExportAllSubtitle => 'Exporte tous les contacts avec une localisation vers un fichier GPX.'; @override String get settings_gpxExportSuccess => 'Fichier GPX exporté avec succès.'; @override String get settings_gpxExportNoContacts => 'Aucun contact à exporter.'; @override String get settings_gpxExportNotAvailable => 'Non pris en charge sur votre appareil/Système d\'exploitation'; @override String get settings_gpxExportError => 'Une erreur s\'est produite lors de l\'exportation.'; @override String get settings_gpxExportRepeatersRoom => 'Emplacements des serveurs de répéteur et de salle'; @override String get settings_gpxExportChat => 'Emplacements des compagnons'; @override String get settings_gpxExportAllContacts => 'Tous les emplacements des contacts'; @override String get settings_gpxExportShareText => 'Données de carte exportées à partir de meshcore-open'; @override String get settings_gpxExportShareSubject => 'meshcore-open exporter les données de carte GPX'; @override String get snrIndicator_nearByRepeaters => 'Répéteurs à proximité'; @override String get snrIndicator_lastSeen => 'Dernière fois vu'; @override String get contactsSettings_title => 'Paramètres des contacts'; @override String get contactsSettings_autoAddTitle => 'Découverte automatique'; @override String get contactsSettings_otherTitle => 'Autres paramètres liés aux contacts'; @override String get contactsSettings_autoAddUsersTitle => 'Ajouter automatiquement les utilisateurs'; @override String get contactsSettings_autoAddUsersSubtitle => 'Autoriser le compagnon à ajouter automatiquement les utilisateurs découverts'; @override String get contactsSettings_autoAddRepeatersTitle => 'Ajouter automatiquement les répéteurs'; @override String get contactsSettings_autoAddRepeatersSubtitle => 'Autoriser le compagnon à ajouter automatiquement les répéteurs découverts'; @override String get contactsSettings_autoAddRoomServersTitle => 'Ajouter automatiquement les serveurs de salle'; @override String get contactsSettings_autoAddRoomServersSubtitle => 'Autoriser le compagnon à ajouter automatiquement les serveurs de salles découverts'; @override String get contactsSettings_autoAddSensorsTitle => 'Ajouter automatiquement les capteurs'; @override String get contactsSettings_autoAddSensorsSubtitle => 'Autoriser le compagnon à ajouter automatiquement les capteurs découverts.'; @override String get contactsSettings_overwriteOldestTitle => 'Écraser le plus ancien'; @override String get contactsSettings_overwriteOldestSubtitle => 'Lorsque la liste de contacts est pleine, le contact le plus ancien non favori sera remplacé.'; @override String get discoveredContacts_Title => 'Contacts découverts'; @override String get discoveredContacts_noMatching => 'Aucun contact correspondant'; @override String get discoveredContacts_searchHint => 'Rechercher des contacts découverts'; @override String get discoveredContacts_contactAdded => 'Contact ajouté'; @override String get discoveredContacts_addContact => 'Ajouter un contact'; @override String get discoveredContacts_copyContact => 'Copier le contact dans le presse-papiers'; @override String get discoveredContacts_deleteContact => 'Supprimer le contact'; @override String get discoveredContacts_deleteContactAll => 'Supprimer tous les contacts découverts'; @override String get discoveredContacts_deleteContactAllContent => 'Êtes-vous sûr de vouloir supprimer tous les contacts découverts ?'; }