mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-08-11 16:30:28 +00:00
Refactor SAR marker handling and add template management
- Updated CompassSarList and DetailedCompassDialog to use marker.displayName instead of marker.type.displayName. - Enhanced DrawingLayer and DrawingMarkersLayer to support simple mode for drawing visibility and interaction. - Added toggle switches in DrawingToolbar for showing/hiding received drawings and SAR markers. - Modified MapMarkers to utilize custom emojis and display names for markers. - Introduced RecipientSelectorSheet for selecting message recipients with search functionality. - Refactored SarUpdateSheet to use SAR templates instead of marker types, allowing for emoji and name customization. - Created SarTemplateEditDialog for adding and editing SAR templates with color selection and preview.
This commit is contained in:
@@ -207,6 +207,16 @@
|
||||
"description": "Description du paramètre des indicateurs RX/TX"
|
||||
},
|
||||
|
||||
"simpleMode": "Mode Simple",
|
||||
"@simpleMode": {
|
||||
"description": "Paramètre pour activer le mode simple"
|
||||
},
|
||||
|
||||
"simpleModeDescription": "Masquer les informations non essentielles dans les messages et les contacts",
|
||||
"@simpleModeDescription": {
|
||||
"description": "Description du paramètre du mode simple"
|
||||
},
|
||||
|
||||
"language": "Langue",
|
||||
"@language": {
|
||||
"description": "Libellé du paramètre de langue"
|
||||
@@ -514,7 +524,7 @@
|
||||
"description": "Libellé du bouton Actualiser"
|
||||
},
|
||||
|
||||
"sendDirectMessage": "Envoyer un message direct",
|
||||
"sendDirectMessage": "Envoyer",
|
||||
"@sendDirectMessage": {
|
||||
"description": "Action pour envoyer un message direct au contact"
|
||||
},
|
||||
@@ -634,6 +644,36 @@
|
||||
"description": "Action pour effacer tous les dessins locaux"
|
||||
},
|
||||
|
||||
"showReceivedDrawings": "Afficher les dessins reçus",
|
||||
"@showReceivedDrawings": {
|
||||
"description": "Basculer pour afficher/masquer les dessins reçus des autres membres de l'équipe"
|
||||
},
|
||||
|
||||
"showingAllDrawings": "Affichage de tous les dessins",
|
||||
"@showingAllDrawings": {
|
||||
"description": "Sous-titre lorsque les dessins reçus sont visibles"
|
||||
},
|
||||
|
||||
"showingOnlyYourDrawings": "Affichage uniquement de vos dessins",
|
||||
"@showingOnlyYourDrawings": {
|
||||
"description": "Sous-titre lorsque les dessins reçus sont masqués"
|
||||
},
|
||||
|
||||
"showSarMarkers": "Afficher les marqueurs SAR",
|
||||
"@showSarMarkers": {
|
||||
"description": "Basculer pour afficher/masquer les marqueurs SAR sur la carte"
|
||||
},
|
||||
|
||||
"showingSarMarkers": "Affichage des marqueurs SAR",
|
||||
"@showingSarMarkers": {
|
||||
"description": "Sous-titre lorsque les marqueurs SAR sont visibles"
|
||||
},
|
||||
|
||||
"hidingSarMarkers": "Masquage des marqueurs SAR",
|
||||
"@hidingSarMarkers": {
|
||||
"description": "Sous-titre lorsque les marqueurs SAR sont masqués"
|
||||
},
|
||||
|
||||
"clearAll": "Tout effacer",
|
||||
"@clearAll": {
|
||||
"description": "Libellé du bouton Tout effacer"
|
||||
@@ -762,6 +802,11 @@
|
||||
"description": "Libellé de la section de position"
|
||||
},
|
||||
|
||||
"myLocation": "Ma position",
|
||||
"@myLocation": {
|
||||
"description": "Libellé du bouton pour insérer la position GPS actuelle"
|
||||
},
|
||||
|
||||
"fromMap": "Depuis la carte",
|
||||
"@fromMap": {
|
||||
"description": "Badge indiquant que la position provient d'un clic sur la carte"
|
||||
@@ -1125,6 +1170,21 @@
|
||||
"description": "Libellé de la précision GPS"
|
||||
},
|
||||
|
||||
"distance": "Distance",
|
||||
"@distance": {
|
||||
"description": "Libellé de la distance dans la boussole"
|
||||
},
|
||||
|
||||
"bearing": "Relèvement",
|
||||
"@bearing": {
|
||||
"description": "Libellé du relèvement dans la boussole"
|
||||
},
|
||||
|
||||
"direction": "Direction",
|
||||
"@direction": {
|
||||
"description": "Libellé de la direction dans la boussole"
|
||||
},
|
||||
|
||||
"filterMarkers": "Filtrer les marqueurs",
|
||||
"@filterMarkers": {
|
||||
"description": "Titre de la boîte de dialogue de filtrage des marqueurs"
|
||||
@@ -1538,6 +1598,21 @@
|
||||
"description": "Nom de la couche d'imagerie satellite ESRI"
|
||||
},
|
||||
|
||||
"googleHybrid": "Google Hybride",
|
||||
"@googleHybrid": {
|
||||
"description": "Nom de la couche Google Hybride (satellite + étiquettes)"
|
||||
},
|
||||
|
||||
"googleRoadmap": "Google Carte Routière",
|
||||
"@googleRoadmap": {
|
||||
"description": "Nom de la couche Google Carte Routière"
|
||||
},
|
||||
|
||||
"googleTerrain": "Google Terrain",
|
||||
"@googleTerrain": {
|
||||
"description": "Nom de la couche Google Terrain (topographique)"
|
||||
},
|
||||
|
||||
"downloadVisibleArea": "Télécharger la zone visible",
|
||||
"@downloadVisibleArea": {
|
||||
"description": "Info-bulle du bouton de téléchargement de la zone visible"
|
||||
@@ -1673,6 +1748,11 @@
|
||||
"description": "Message d'information lorsque le message est supprimé"
|
||||
},
|
||||
|
||||
"copyText": "Copier le texte",
|
||||
"textCopiedToClipboard": "Texte copié dans le presse-papiers",
|
||||
"deleteMessage": "Supprimer le message",
|
||||
"deleteMessageConfirmation": "Êtes-vous sûr de vouloir supprimer ce message?",
|
||||
|
||||
"refreshedContacts": "Contacts actualisés",
|
||||
"@refreshedContacts": {
|
||||
"description": "Message de succès lorsque les contacts sont actualisés"
|
||||
@@ -1901,6 +1981,111 @@
|
||||
"description": "Message d'erreur lorsque la suppression de MBTiles échoue"
|
||||
},
|
||||
|
||||
"importExportCachedTiles": "Importer/Exporter les tuiles en cache",
|
||||
"@importExportCachedTiles": {
|
||||
"description": "Titre pour section d'importation/exportation"
|
||||
},
|
||||
|
||||
"importExportDescription": "Sauvegarder, partager et restaurer les tuiles de carte téléchargées entre appareils",
|
||||
"@importExportDescription": {
|
||||
"description": "Description de la fonctionnalité d'importation/exportation"
|
||||
},
|
||||
|
||||
"exportTilesToFile": "Exporter les tuiles vers fichier",
|
||||
"@exportTilesToFile": {
|
||||
"description": "Bouton pour exporter les tuiles"
|
||||
},
|
||||
|
||||
"importTilesFromFile": "Importer les tuiles depuis fichier",
|
||||
"@importTilesFromFile": {
|
||||
"description": "Bouton pour importer les tuiles"
|
||||
},
|
||||
|
||||
"selectExportLocation": "Sélectionner l'emplacement d'exportation",
|
||||
"@selectExportLocation": {
|
||||
"description": "Titre pour sélecteur de fichier d'exportation"
|
||||
},
|
||||
|
||||
"selectImportFile": "Sélectionner l'archive de tuiles",
|
||||
"@selectImportFile": {
|
||||
"description": "Titre pour sélecteur de fichier d'importation"
|
||||
},
|
||||
|
||||
"exportingTiles": "Exportation des tuiles...",
|
||||
"@exportingTiles": {
|
||||
"description": "Message de statut pendant l'exportation"
|
||||
},
|
||||
|
||||
"importingTiles": "Importation des tuiles...",
|
||||
"@importingTiles": {
|
||||
"description": "Message de statut pendant l'importation"
|
||||
},
|
||||
|
||||
"exportSuccess": "{count} tuiles exportées avec succès",
|
||||
"@exportSuccess": {
|
||||
"description": "Message de succès après exportation",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"importSuccess": "{count} magasins importés avec succès",
|
||||
"@importSuccess": {
|
||||
"description": "Message de succès après importation",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"exportFailed": "Échec de l'exportation: {error}",
|
||||
"@exportFailed": {
|
||||
"description": "Message d'erreur lors de l'échec de l'exportation",
|
||||
"placeholders": {
|
||||
"error": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"importFailed": "Échec de l'importation: {error}",
|
||||
"@importFailed": {
|
||||
"description": "Message d'erreur lors de l'échec de l'importation",
|
||||
"placeholders": {
|
||||
"error": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"exportNote": "Crée un fichier d'archive compressé (.fmtc) qui peut être partagé et importé sur d'autres appareils.",
|
||||
"@exportNote": {
|
||||
"description": "Note sur la fonctionnalité d'exportation"
|
||||
},
|
||||
|
||||
"importNote": "Importe les tuiles de carte depuis un fichier d'archive précédemment exporté. Les tuiles seront fusionnées avec le cache existant.",
|
||||
"@importNote": {
|
||||
"description": "Note sur la fonctionnalité d'importation"
|
||||
},
|
||||
|
||||
"noTilesToExport": "Aucune tuile à exporter",
|
||||
"@noTilesToExport": {
|
||||
"description": "Message quand le cache est vide"
|
||||
},
|
||||
|
||||
"archiveContainsStores": "L'archive contient {count} magasins",
|
||||
"@archiveContainsStores": {
|
||||
"description": "Information sur le contenu de l'archive",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"vectorTiles": "Tuiles vectorielles",
|
||||
"@vectorTiles": {
|
||||
"description": "Libellé du type de tuile vectorielle"
|
||||
@@ -2139,5 +2324,63 @@
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"sarTemplates": "SAR Templates",
|
||||
"manageSarTemplates": "Manage cursor on target templates",
|
||||
"addTemplate": "Add Template",
|
||||
"editTemplate": "Edit Template",
|
||||
"deleteTemplate": "Delete Template",
|
||||
"templateName": "Template Name",
|
||||
"templateNameHint": "e.g. Found Person",
|
||||
"templateEmoji": "Emoji",
|
||||
"emojiRequired": "Emoji est requis",
|
||||
"nameRequired": "Nom est requis",
|
||||
"templateDescription": "Description (Optional)",
|
||||
"templateDescriptionHint": "Add additional context...",
|
||||
"templateColor": "Color",
|
||||
"previewFormat": "Preview (SAR Message Format)",
|
||||
"importFromClipboard": "Import",
|
||||
"exportToClipboard": "Export",
|
||||
"deleteTemplateConfirmation": "Delete template '{name}'?",
|
||||
"templateAdded": "Template added",
|
||||
"templateUpdated": "Template updated",
|
||||
"templateDeleted": "Template deleted",
|
||||
"templatesImported": "{count, plural, =0{No templates imported} =1{Imported 1 template} other{Imported {count} templates}}",
|
||||
"templatesExported": "{count, plural, =1{Exported 1 template to clipboard} other{Exported {count} templates to clipboard}}",
|
||||
"importFailed": "Import failed: {error}",
|
||||
"exportFailed": "Export failed: {error}",
|
||||
"resetToDefaults": "Reset to Defaults",
|
||||
"resetToDefaultsConfirmation": "This will delete all custom templates and restore the 4 default templates. Continue?",
|
||||
"reset": "Reset",
|
||||
"resetComplete": "Templates reset to defaults",
|
||||
"noTemplates": "No templates available",
|
||||
"tapAddToCreate": "Tap + to create your first template",
|
||||
"ok": "OK",
|
||||
"delete": "Supprimer",
|
||||
|
||||
"permissionsSection": "Autorisations",
|
||||
"locationPermission": "Autorisation de localisation",
|
||||
"checking": "Vérification...",
|
||||
"locationPermissionGrantedAlways": "Accordée (Toujours)",
|
||||
"locationPermissionGrantedWhileInUse": "Accordée (En cours d'utilisation)",
|
||||
"locationPermissionDeniedTapToRequest": "Refusée - Appuyez pour demander",
|
||||
"locationPermissionPermanentlyDeniedOpenSettings": "Refusée définitivement - Ouvrir les paramètres",
|
||||
"locationPermissionDialogContent": "L'autorisation de localisation est définitivement refusée. Veuillez l'activer dans les paramètres de votre appareil pour utiliser le suivi GPS et le partage de localisation.",
|
||||
"openSettings": "Ouvrir les paramètres",
|
||||
"locationPermissionGranted": "Autorisation de localisation accordée !",
|
||||
"locationPermissionRequiredForGps": "L'autorisation de localisation est nécessaire pour le suivi GPS et le partage de localisation.",
|
||||
"locationPermissionAlreadyGranted": "L'autorisation de localisation est déjà accordée.",
|
||||
"sarNavyBlue": "SAR Bleu Marine",
|
||||
"sarNavyBlueDescription": "Mode Professionnel/Opérations",
|
||||
|
||||
"selectRecipient": "Sélectionner le destinataire",
|
||||
"broadcastToAllNearby": "Diffuser à tous à proximité",
|
||||
"searchRecipients": "Rechercher des destinataires...",
|
||||
"noContactsFound": "Aucun contact trouvé",
|
||||
"noRoomsFound": "Aucune salle trouvée",
|
||||
"noContactsOrRoomsAvailable": "Aucun contact ou salle disponible",
|
||||
"messagesWillBeSentToPublicChannel": "Les messages seront envoyés au canal public",
|
||||
"newMessage": "Nouveau message",
|
||||
"channel": "Canal"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user