mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-04-20 22:13:48 +00:00
commit
24de98d5ee
38 changed files with 1459 additions and 2 deletions
|
|
@ -1569,5 +1569,20 @@
|
|||
"contacts_zeroHopContactAdvertFailed": "Неуспешно изпращане на контакт.",
|
||||
"contacts_zeroHopContactAdvertSent": "Изпратен контакт по обява.",
|
||||
"contacts_contactAdvertCopyFailed": "Копирането на обявата в клипборда не успя.",
|
||||
"settings_gpxExportContactsSubtitle": "Експортира спътници с местоположение в GPX файл.",
|
||||
"settings_gpxExportRepeatersSubtitle": "Изпраща повторители / roomserver с местоположение в GPX файл.",
|
||||
"settings_gpxExportAll": "Експортирай всички контакти в GPX",
|
||||
"settings_gpxExportAllSubtitle": "Експортира всички контакти с местоположение в файл GPX.",
|
||||
"settings_gpxExportRepeaters": "Експортиране на повтарящи се устройства / сървър на стаята до GPX",
|
||||
"settings_gpxExportContacts": "Експортирай спътници към GPX",
|
||||
"settings_gpxExportSuccess": "Успешно изlexport на файл GPX.",
|
||||
"settings_gpxExportNoContacts": "Няма контакти за изlexport.",
|
||||
"settings_gpxExportChat": "Местоположения на спътници",
|
||||
"settings_gpxExportError": "Възникна грешка при изнасяне.",
|
||||
"settings_gpxExportRepeatersRoom": "Местоположения на повторител и сървър на стаята",
|
||||
"settings_gpxExportNotAvailable": "Не е поддържан на вашето устройство/ОС",
|
||||
"settings_gpxExportAllContacts": "Местоположения на всички контакти",
|
||||
"settings_gpxExportShareText": "Картинни данни изнесени от meshcore-open",
|
||||
"settings_gpxExportShareSubject": "meshcore-open износ на данни за карта в формат GPX",
|
||||
"pathTrace_someHopsNoLocation": "Един или повече от хмелите липсва местоположение!"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1569,5 +1569,20 @@
|
|||
"contacts_zeroHopContactAdvertSent": "Kontakt über Anzeige gesendet",
|
||||
"contacts_contactAdvertCopied": "Anzeige in die Zwischenablage kopiert.",
|
||||
"contacts_contactAdvertCopyFailed": "Kopieren des Werbeinhalts in die Zwischenablage fehlgeschlagen.",
|
||||
"settings_gpxExportAll": "Alle Kontakte nach GPX exportieren",
|
||||
"settings_gpxExportAllSubtitle": "Exportiert alle Kontakte mit einem Standort in eine GPX-Datei.",
|
||||
"settings_gpxExportRepeaters": "Repeater und Raumserver nach GPX exportieren",
|
||||
"settings_gpxExportContacts": "Begleiter nach GPX exportieren",
|
||||
"settings_gpxExportRepeatersSubtitle": "Exportiert Repeater und Raumserver mit einem Standort in eine GPX-Datei.",
|
||||
"settings_gpxExportContactsSubtitle": "Exportiert Begleiter mit einem Ort in eine GPX-Datei.",
|
||||
"settings_gpxExportRepeatersRoom": "Repeater- und Raumserver-Standorte",
|
||||
"settings_gpxExportChat": "Begleiterstandorte",
|
||||
"settings_gpxExportNoContacts": "Keine Kontakte zum Exportieren.",
|
||||
"settings_gpxExportError": "Beim Export ist ein Fehler aufgetreten.",
|
||||
"settings_gpxExportNotAvailable": "Nicht auf Ihrem Gerät/Betriebssystem unterstützt",
|
||||
"settings_gpxExportSuccess": "Erfolgreich GPX-Datei exportiert.",
|
||||
"settings_gpxExportAllContacts": "Alle Kontaktstandorte",
|
||||
"settings_gpxExportShareSubject": "meshcore-open GPX-Kartendaten exportieren",
|
||||
"settings_gpxExportShareText": "Kartendaten aus meshcore-open exportiert",
|
||||
"pathTrace_someHopsNoLocation": "Eine oder mehrere der Hopfen fehlen einen Standort!"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1344,5 +1344,21 @@
|
|||
"contacts_zeroHopContactAdvertSent": "Sent contact by advert.",
|
||||
"contacts_zeroHopContactAdvertFailed": "Failed to send contact.",
|
||||
"contacts_contactAdvertCopied": "Advert copied to Clipboard.",
|
||||
"contacts_contactAdvertCopyFailed": "Copying advert to Clipboard failed."
|
||||
"contacts_contactAdvertCopyFailed": "Copying advert to Clipboard failed.",
|
||||
|
||||
"settings_gpxExportRepeaters": "Export repeaters / room server to GPX",
|
||||
"settings_gpxExportRepeatersSubtitle": "Exports repeaters / roomserver with a location to GPX file.",
|
||||
"settings_gpxExportContacts": "Export companions to GPX",
|
||||
"settings_gpxExportContactsSubtitle": "Exports companions with a location to GPX file.",
|
||||
"settings_gpxExportAll": "Export all contacts to GPX",
|
||||
"settings_gpxExportAllSubtitle": "Exports all contacts with a location to GPX file.",
|
||||
"settings_gpxExportSuccess": "Successfully exported GPX file.",
|
||||
"settings_gpxExportNoContacts": "No contacts to export.",
|
||||
"settings_gpxExportNotAvailable": "Not supported on your device/OS",
|
||||
"settings_gpxExportError": "There was an error when exporting.",
|
||||
"settings_gpxExportRepeatersRoom": "Repeater & room server locations",
|
||||
"settings_gpxExportChat": "Companion locations",
|
||||
"settings_gpxExportAllContacts": "All contacts locations",
|
||||
"settings_gpxExportShareText": "Map data exported from meshcore-open",
|
||||
"settings_gpxExportShareSubject": "meshcore-open GPX map data export"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1569,5 +1569,20 @@
|
|||
"contacts_zeroHopContactAdvertSent": "Envió contacto por anuncio.",
|
||||
"contacts_contactAdvertCopied": "Anuncio copiado al Portapapeles.",
|
||||
"contacts_contactAdvertCopyFailed": "Copiar anuncio al Portapapeles ha fallado.",
|
||||
"settings_gpxExportContactsSubtitle": "Exporta compañeros con una ubicación a archivo GPX.",
|
||||
"settings_gpxExportRepeaters": "Exportar repetidores / servidor de sala a GPX",
|
||||
"settings_gpxExportSuccess": "Archivo GPX exportado con éxito.",
|
||||
"settings_gpxExportNoContacts": "No hay contactos para exportar.",
|
||||
"settings_gpxExportNotAvailable": "No compatible con tu dispositivo/SO",
|
||||
"settings_gpxExportError": "Hubo un error al exportar.",
|
||||
"settings_gpxExportRepeatersSubtitle": "Exporta repetidores o roomserver con una ubicación a un archivo GPX.",
|
||||
"settings_gpxExportAllSubtitle": "Exporta todos los contactos con una ubicación a un archivo GPX.",
|
||||
"settings_gpxExportAll": "Exportar todos los contactos a GPX",
|
||||
"settings_gpxExportContacts": "Exportar compañeros a GPX",
|
||||
"settings_gpxExportChat": "Ubicaciones de compañero",
|
||||
"settings_gpxExportRepeatersRoom": "Ubicaciones del servidor de repetidor y sala",
|
||||
"settings_gpxExportAllContacts": "Todas las ubicaciones de contactos",
|
||||
"settings_gpxExportShareText": "Datos del mapa exportados desde meshcore-open",
|
||||
"settings_gpxExportShareSubject": "meshcore-open exportación de datos de mapa GPX",
|
||||
"pathTrace_someHopsNoLocation": "Uno o más de los lúpulos carecen de una ubicación"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1569,5 +1569,20 @@
|
|||
"contacts_contactAdvertCopyFailed": "La copie de l'annonce vers le presse-papiers a échoué.",
|
||||
"contacts_zeroHopContactAdvertSent": "Envoyer un contact par annonce.",
|
||||
"contacts_zeroHopContactAdvertFailed": "Échec de l'envoi du contact.",
|
||||
"settings_gpxExportRepeaters": "Exporter les répéteurs / serveur de salle au format GPX",
|
||||
"settings_gpxExportRepeatersSubtitle": "Exporte les répéteurs / roomserver avec une localisation vers un fichier GPX.",
|
||||
"settings_gpxExportNoContacts": "Aucun contact à exporter.",
|
||||
"settings_gpxExportNotAvailable": "Non pris en charge sur votre appareil/Système d'exploitation",
|
||||
"settings_gpxExportError": "Une erreur s'est produite lors de l'exportation.",
|
||||
"settings_gpxExportRepeatersRoom": "Emplacements des serveurs de répéteur et de salle",
|
||||
"settings_gpxExportContacts": "Exporter les compagnons au format GPX",
|
||||
"settings_gpxExportAll": "Exporter tous les contacts au format GPX",
|
||||
"settings_gpxExportAllSubtitle": "Exporte tous les contacts avec une localisation vers un fichier GPX.",
|
||||
"settings_gpxExportContactsSubtitle": "Exporte les compagnons avec un emplacement vers un fichier GPX.",
|
||||
"settings_gpxExportChat": "Emplacements des compagnons",
|
||||
"settings_gpxExportSuccess": "Fichier GPX exporté avec succès.",
|
||||
"settings_gpxExportAllContacts": "Tous les emplacements des contacts",
|
||||
"settings_gpxExportShareText": "Données de carte exportées à partir de meshcore-open",
|
||||
"settings_gpxExportShareSubject": "meshcore-open exporter les données de carte GPX",
|
||||
"pathTrace_someHopsNoLocation": "Une ou plusieurs des houblons manquent d'une localisation !"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1569,5 +1569,20 @@
|
|||
"contacts_ShareContactZeroHop": "Condividi contatto tramite annuncio",
|
||||
"contacts_zeroHopContactAdvertFailed": "Invio del contatto non riuscito.",
|
||||
"contacts_contactAdvertCopied": "Annuncio copiato negli Appunti.",
|
||||
"settings_gpxExportRepeaters": "Esporta ripetitori / server di stanza in GPX",
|
||||
"settings_gpxExportContacts": "Esporta compagni in GPX",
|
||||
"settings_gpxExportSuccess": "Esportazione del file GPX completata con successo.",
|
||||
"settings_gpxExportNoContacts": "Nessun contatto da esportare.",
|
||||
"settings_gpxExportNotAvailable": "Non supportato sul tuo dispositivo/Sistema Operativo",
|
||||
"settings_gpxExportError": "Si è verificato un errore durante l'esportazione.",
|
||||
"settings_gpxExportRepeatersSubtitle": "Esporta ripetitori / roomserver con una posizione in un file GPX.",
|
||||
"settings_gpxExportContactsSubtitle": "Esporta i compagni con una posizione in un file GPX.",
|
||||
"settings_gpxExportAll": "Esporta tutti i contatti in GPX",
|
||||
"settings_gpxExportAllSubtitle": "Esporta tutti i contatti con una posizione in un file GPX.",
|
||||
"settings_gpxExportChat": "Posizioni dei compagni",
|
||||
"settings_gpxExportRepeatersRoom": "Posizioni del server ripetitore e della stanza",
|
||||
"settings_gpxExportAllContacts": "Tutte le posizioni dei contatti",
|
||||
"settings_gpxExportShareText": "Dati mappa esportati da meshcore-open",
|
||||
"settings_gpxExportShareSubject": "meshcore-open esportazione dati mappa GPX",
|
||||
"pathTrace_someHopsNoLocation": "Uno o più dei luppoli mancano di una posizione!"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4861,6 +4861,96 @@ abstract class AppLocalizations {
|
|||
/// In en, this message translates to:
|
||||
/// **'Copying advert to Clipboard failed.'**
|
||||
String get contacts_contactAdvertCopyFailed;
|
||||
|
||||
/// No description provided for @settings_gpxExportRepeaters.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Export repeaters / room server to GPX'**
|
||||
String get settings_gpxExportRepeaters;
|
||||
|
||||
/// No description provided for @settings_gpxExportRepeatersSubtitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Exports repeaters / roomserver with a location to GPX file.'**
|
||||
String get settings_gpxExportRepeatersSubtitle;
|
||||
|
||||
/// No description provided for @settings_gpxExportContacts.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Export companions to GPX'**
|
||||
String get settings_gpxExportContacts;
|
||||
|
||||
/// No description provided for @settings_gpxExportContactsSubtitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Exports companions with a location to GPX file.'**
|
||||
String get settings_gpxExportContactsSubtitle;
|
||||
|
||||
/// No description provided for @settings_gpxExportAll.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Export all contacts to GPX'**
|
||||
String get settings_gpxExportAll;
|
||||
|
||||
/// No description provided for @settings_gpxExportAllSubtitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Exports all contacts with a location to GPX file.'**
|
||||
String get settings_gpxExportAllSubtitle;
|
||||
|
||||
/// No description provided for @settings_gpxExportSuccess.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Successfully exported GPX file.'**
|
||||
String get settings_gpxExportSuccess;
|
||||
|
||||
/// No description provided for @settings_gpxExportNoContacts.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No contacts to export.'**
|
||||
String get settings_gpxExportNoContacts;
|
||||
|
||||
/// No description provided for @settings_gpxExportNotAvailable.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Not supported on your device/OS'**
|
||||
String get settings_gpxExportNotAvailable;
|
||||
|
||||
/// No description provided for @settings_gpxExportError.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'There was an error when exporting.'**
|
||||
String get settings_gpxExportError;
|
||||
|
||||
/// No description provided for @settings_gpxExportRepeatersRoom.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Repeater & room server locations'**
|
||||
String get settings_gpxExportRepeatersRoom;
|
||||
|
||||
/// No description provided for @settings_gpxExportChat.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Companion locations'**
|
||||
String get settings_gpxExportChat;
|
||||
|
||||
/// No description provided for @settings_gpxExportAllContacts.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'All contacts locations'**
|
||||
String get settings_gpxExportAllContacts;
|
||||
|
||||
/// No description provided for @settings_gpxExportShareText.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Map data exported from meshcore-open'**
|
||||
String get settings_gpxExportShareText;
|
||||
|
||||
/// No description provided for @settings_gpxExportShareSubject.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'meshcore-open GPX map data export'**
|
||||
String get settings_gpxExportShareSubject;
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate
|
||||
|
|
|
|||
|
|
@ -2770,4 +2770,58 @@ class AppLocalizationsBg extends AppLocalizations {
|
|||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Копирането на обявата в клипборда не успя.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeaters =>
|
||||
'Експортиране на повтарящи се устройства / сървър на стаята до GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersSubtitle =>
|
||||
'Изпраща повторители / roomserver с местоположение в GPX файл.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContacts => 'Експортирай спътници към GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContactsSubtitle =>
|
||||
'Експортира спътници с местоположение в GPX файл.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAll => 'Експортирай всички контакти в GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllSubtitle =>
|
||||
'Експортира всички контакти с местоположение в файл GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess => 'Успешно изlexport на файл GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts => 'Няма контакти за изlexport.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNotAvailable =>
|
||||
'Не е поддържан на вашето устройство/ОС';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError => 'Възникна грешка при изнасяне.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom =>
|
||||
'Местоположения на повторител и сървър на стаята';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportChat => 'Местоположения на спътници';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllContacts =>
|
||||
'Местоположения на всички контакти';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText =>
|
||||
'Картинни данни изнесени от meshcore-open';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject =>
|
||||
'meshcore-open износ на данни за карта в формат GPX';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2777,4 +2777,58 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Kopieren des Werbeinhalts in die Zwischenablage fehlgeschlagen.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeaters =>
|
||||
'Repeater und Raumserver nach GPX exportieren';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersSubtitle =>
|
||||
'Exportiert Repeater und Raumserver mit einem Standort in eine GPX-Datei.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContacts => 'Begleiter nach GPX exportieren';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContactsSubtitle =>
|
||||
'Exportiert Begleiter mit einem Ort in eine GPX-Datei.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAll => 'Alle Kontakte nach GPX exportieren';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllSubtitle =>
|
||||
'Exportiert alle Kontakte mit einem Standort in eine GPX-Datei.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess => 'Erfolgreich GPX-Datei exportiert.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts => 'Keine Kontakte zum Exportieren.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNotAvailable =>
|
||||
'Nicht auf Ihrem Gerät/Betriebssystem unterstützt';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError =>
|
||||
'Beim Export ist ein Fehler aufgetreten.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom =>
|
||||
'Repeater- und Raumserver-Standorte';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportChat => 'Begleiterstandorte';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllContacts => 'Alle Kontaktstandorte';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText =>
|
||||
'Kartendaten aus meshcore-open exportiert';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject =>
|
||||
'meshcore-open GPX-Kartendaten exportieren';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2727,4 +2727,57 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Copying advert to Clipboard failed.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeaters =>
|
||||
'Export repeaters / room server to GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersSubtitle =>
|
||||
'Exports repeaters / roomserver with a location to GPX file.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContacts => 'Export companions to GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContactsSubtitle =>
|
||||
'Exports companions with a location to GPX file.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAll => 'Export all contacts to GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllSubtitle =>
|
||||
'Exports all contacts with a location to GPX file.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess => 'Successfully exported GPX file.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts => 'No contacts to export.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNotAvailable =>
|
||||
'Not supported on your device/OS';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError => 'There was an error when exporting.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom =>
|
||||
'Repeater & room server locations';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportChat => 'Companion locations';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllContacts => 'All contacts locations';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText =>
|
||||
'Map data exported from meshcore-open';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject =>
|
||||
'meshcore-open GPX map data export';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2770,4 +2770,58 @@ class AppLocalizationsEs extends AppLocalizations {
|
|||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Copiar anuncio al Portapapeles ha fallado.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeaters =>
|
||||
'Exportar repetidores / servidor de sala a GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersSubtitle =>
|
||||
'Exporta repetidores o roomserver con una ubicación a un archivo GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContacts => 'Exportar compañeros a GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContactsSubtitle =>
|
||||
'Exporta compañeros con una ubicación a archivo GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAll => 'Exportar todos los contactos a GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllSubtitle =>
|
||||
'Exporta todos los contactos con una ubicación a un archivo GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess => 'Archivo GPX exportado con éxito.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts => 'No hay contactos para exportar.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNotAvailable =>
|
||||
'No compatible con tu dispositivo/SO';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError => 'Hubo un error al exportar.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom =>
|
||||
'Ubicaciones del servidor de repetidor y sala';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportChat => 'Ubicaciones de compañero';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllContacts =>
|
||||
'Todas las ubicaciones de contactos';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText =>
|
||||
'Datos del mapa exportados desde meshcore-open';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject =>
|
||||
'meshcore-open exportación de datos de mapa GPX';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2791,4 +2791,61 @@ class AppLocalizationsFr extends AppLocalizations {
|
|||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'La copie de l\'annonce vers le presse-papiers a échoué.';
|
||||
|
||||
@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';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2773,4 +2773,59 @@ class AppLocalizationsIt extends AppLocalizations {
|
|||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Copia dell\'annuncio nella Clipboard non riuscita.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeaters =>
|
||||
'Esporta ripetitori / server di stanza in GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersSubtitle =>
|
||||
'Esporta ripetitori / roomserver con una posizione in un file GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContacts => 'Esporta compagni in GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContactsSubtitle =>
|
||||
'Esporta i compagni con una posizione in un file GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAll => 'Esporta tutti i contatti in GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllSubtitle =>
|
||||
'Esporta tutti i contatti con una posizione in un file GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess =>
|
||||
'Esportazione del file GPX completata con successo.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts => 'Nessun contatto da esportare.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNotAvailable =>
|
||||
'Non supportato sul tuo dispositivo/Sistema Operativo';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError =>
|
||||
'Si è verificato un errore durante l\'esportazione.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom =>
|
||||
'Posizioni del server ripetitore e della stanza';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportChat => 'Posizioni dei compagni';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllContacts => 'Tutte le posizioni dei contatti';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText =>
|
||||
'Dati mappa esportati da meshcore-open';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject =>
|
||||
'meshcore-open esportazione dati mappa GPX';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2762,4 +2762,57 @@ class AppLocalizationsNl extends AppLocalizations {
|
|||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Kopiëren van advertentie naar Clipboard is mislukt.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeaters =>
|
||||
'Exporteer repeaters / roomserver naar GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersSubtitle =>
|
||||
'Exporteert repeaters / roomserver met een locatie naar GPX-bestand.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContacts => 'Companions exporteren naar GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContactsSubtitle =>
|
||||
'Exporteert metgezellen met een locatie naar een GPX-bestand.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAll => 'Alle contacten exporteren naar GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllSubtitle =>
|
||||
'Exporteert alle contacten met een locatie naar een GPX-bestand.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess => 'Succesvol GPX-bestand geëxporteerd.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts => 'Geen contacten om te exporteren.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNotAvailable =>
|
||||
'Niet ondersteund op uw apparaat/besturingssysteem';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError => 'Er was een fout bij het exporteren.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom =>
|
||||
'Repeater- en kamer servers locaties';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportChat => 'Locaties van metgezellen';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllContacts => 'Alle contactlocaties';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText =>
|
||||
'Kaartgegevens geëxporteerd uit meshcore-open';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject =>
|
||||
'meshcore-open GPX kaartgegevens exporteren';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2770,4 +2770,58 @@ class AppLocalizationsPl extends AppLocalizations {
|
|||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Kopiowanie ogłoszenia do schowka nie powiodło się.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeaters =>
|
||||
'Eksportuj powtórki / serwer pokojowy do GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersSubtitle =>
|
||||
'Eksportuje powtarzacze / roomserver z lokalizacją do pliku GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContacts => 'Eksportuj towarzyszy do GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContactsSubtitle =>
|
||||
'Eksportuje towarzyszy z lokalizacją do pliku GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAll => 'Eksportuj wszystkie kontakty do GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllSubtitle =>
|
||||
'Eksportuje wszystkie kontakty z lokalizacją do pliku GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess => 'Pomyślnie wyeksportowano plik GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts =>
|
||||
'Brak kontaktów do wyeksportowania.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNotAvailable =>
|
||||
'Nie obsługiwane na Twoim urządzeniu/systemie operacyjnym';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError => 'Wystąpił błąd podczas eksportowania.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom =>
|
||||
'Lokalizacje serwerów powtarzających i pomieszczeń';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportChat => 'Lokalizacje towarzyszy';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllContacts => 'Wszystkie lokalizacje kontaktów';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText =>
|
||||
'Dane mapy wyeksportowane z meshcore-open';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject =>
|
||||
'Eksport danych mapy GPX meshcore-open';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2772,4 +2772,57 @@ class AppLocalizationsPt extends AppLocalizations {
|
|||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Cópia do anúncio para a Área de Transferência falhou.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeaters =>
|
||||
'Exportar repetidores / servidor de sala para GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersSubtitle =>
|
||||
'Exporta repetidores / roomserver com localização para arquivo GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContacts => 'Exportar companheiros para GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContactsSubtitle =>
|
||||
'Exporta companheiros com uma localização para um arquivo GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAll => 'Exportar todos os contatos para GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllSubtitle =>
|
||||
'Exporta todos os contatos com uma localização para um arquivo GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess => 'Arquivo GPX exportado com sucesso.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts => 'Nenhum contato para exportar.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNotAvailable =>
|
||||
'Não suportado no seu dispositivo/SO';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError => 'Ocorreu um erro ao exportar.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom =>
|
||||
'Localizações do servidor de repetidor e sala';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportChat => 'Localizações de companheiros';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllContacts => 'Todos os locais de contatos';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText =>
|
||||
'Dados do mapa exportados do meshcore-open';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject =>
|
||||
'meshcore-open exportação de dados de mapa GPX';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2777,4 +2777,57 @@ class AppLocalizationsRu extends AppLocalizations {
|
|||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Копирование рекламы в буфер обмена не удалось.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeaters =>
|
||||
'Экспортировать рипитеры / сервер комнаты в GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersSubtitle =>
|
||||
'Экспортирует ретрансляторы / сервер комнат с местоположением в файл GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContacts => 'Экспортировать спутников в GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContactsSubtitle =>
|
||||
'Экспортирует спутников с местоположением в файл GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAll => 'Экспортировать все контакты в GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllSubtitle =>
|
||||
'Экспортирует все контакты с местоположением в файл GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess => 'Успешно экспортирован файл GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts => 'Нет контактов для экспорта.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNotAvailable =>
|
||||
'Не поддерживается на вашем устройстве/ОС';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError => 'Произошла ошибка при экспорте.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom =>
|
||||
'Местоположения повторителей и серверов комнат';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportChat => 'Местоположения спутников';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllContacts => 'Все местоположения контактов';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText =>
|
||||
'Данные карты экспортированы из meshcore-open';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject =>
|
||||
'meshcore-open экспорт данных карты GPX';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2756,4 +2756,57 @@ class AppLocalizationsSk extends AppLocalizations {
|
|||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Kopírovanie inzerátu do schránky zlyhalo.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeaters =>
|
||||
'Exportovať repeater / server miestnosti do GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersSubtitle =>
|
||||
'Exportuje repeater / roomserver s lokalitou do súboru GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContacts => 'Export sprievodcov do GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContactsSubtitle =>
|
||||
'Exportuje sprievodcov s umiestnením do súboru GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAll => 'Exportovať všetky kontakty do GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllSubtitle =>
|
||||
'Exportuje všetky kontakty s lokalitou do súboru GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess => 'Úspešne exportovaný súbor GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts => 'Žiadne kontakty na export.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNotAvailable =>
|
||||
'Nie je podporované na vašom zariadení/operáciomnom systéme';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError => 'Vyskytol sa chyba počas exportu.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom =>
|
||||
'Umiestnenia opakovačov a serverov miestností';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportChat => 'Lokácie sprievodcov';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllContacts => 'Všetky kontaktné lokality';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText =>
|
||||
'Mapové údaje exportované z meshcore-open';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject =>
|
||||
'meshcore-open export dát GPX mapových údajov';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2758,4 +2758,57 @@ class AppLocalizationsSl extends AppLocalizations {
|
|||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Kopiranje oglasa v odložišče je spodletelo.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeaters =>
|
||||
'Izvoz ponoviteljev / strežnika sobe v GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersSubtitle =>
|
||||
'Izvozi ponovljene oddajnike / strežnik sobe z lokacijo v datoteko GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContacts => 'Izvoz spremljevalcev v GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContactsSubtitle =>
|
||||
'Izvozi spremljevalce z lokacijo v datoteko GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAll => 'Izvozi vse kontakte v GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllSubtitle =>
|
||||
'Izvozi vse kontakte z lokacijo v datoteko GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess => 'Uspešno izvoz GPX datoteke.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts => 'Ni stikov za izvoz.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNotAvailable =>
|
||||
'Ni podprto na vašem napravi/operacijskem sistemu';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError => 'Pri izvozu je prišlo do napake.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom =>
|
||||
'Lokacije ponovljivca in strežnika sobe';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportChat => 'Lokacije spremljevalcev';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllContacts => 'Lokacije vseh stikov';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText =>
|
||||
'Podatki kart izvoženi iz meshcore-open';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject =>
|
||||
'meshcore-open izvoz podatkov GPX karte';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2743,4 +2743,58 @@ class AppLocalizationsSv extends AppLocalizations {
|
|||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Kopiering av annons till Urklipp misslyckades.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeaters =>
|
||||
'Exportera repeater / rumsservrar till GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersSubtitle =>
|
||||
'Exporterar repeater / roomserver med plats till GPX-fil.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContacts => 'Exportera följeslagare till GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContactsSubtitle =>
|
||||
'Exporterar följeslagare med en plats till GPX-fil.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAll => 'Exportera alla kontakter till GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllSubtitle =>
|
||||
'Exporterar alla kontakter med en plats till GPX-fil.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess => 'Har exporterat GPX-fil med framgång';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts => 'Inga kontakter att exportera.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNotAvailable =>
|
||||
'Stöds inte på din enhet/operativsystem';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError =>
|
||||
'Det uppstod ett fel när data exporterades.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom =>
|
||||
'Repeater- och rumsserverplatser';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportChat => 'Medhjälparplatser';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllContacts => 'Alla kontakters platser';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText =>
|
||||
'Kartdata exporterad från meshcore-open';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject =>
|
||||
'meshcore-open export av GPX-kartdata';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2783,4 +2783,57 @@ class AppLocalizationsUk extends AppLocalizations {
|
|||
@override
|
||||
String get contacts_contactAdvertCopyFailed =>
|
||||
'Копіювання оголошення в буфер обміну завершилося невдало';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeaters =>
|
||||
'Експортувати ретранслятори / сервер кімнати до GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersSubtitle =>
|
||||
'Експортує ретранслятори / сервер кімнати з місцезнаходженням у файл GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContacts => 'Експортувати супутників до GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContactsSubtitle =>
|
||||
'Експортує супутників з місцезнаходженням у файл GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAll => 'Експортувати всі контакти до GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllSubtitle =>
|
||||
'Експортує всі контакти з місцем розташування у файл GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess => 'Успішно експортовано файл GPX.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts => 'Немає контактів для експорту.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNotAvailable =>
|
||||
'Не підтримується на вашому пристрої/операційній системі';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError => 'Сталася помилка під час експорту.';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom =>
|
||||
'Місцезнаходження повторювача та сервера кімнати';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportChat => 'Місця супутників';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllContacts => 'Усі місця контактів';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText =>
|
||||
'Дані карти експортовані з meshcore-open';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject =>
|
||||
'експорт даних карти meshcore-open у форматі GPX';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2624,4 +2624,49 @@ class AppLocalizationsZh extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String get contacts_contactAdvertCopyFailed => '将广告复制到剪贴板操作失败。';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeaters => '导出重复器/房间服务器到GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersSubtitle => '导出带有位置的重复器/房间服务器到GPX文件。';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContacts => '导出伴侣到GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportContactsSubtitle => '导出带有位置的伙伴到GPX文件。';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAll => '导出所有联系人到GPX';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllSubtitle => '导出所有带有位置的联系人到GPX文件。';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportSuccess => '成功导出GPX文件';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNoContacts => '没有联系人可导出';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportNotAvailable => '您的设备/操作系统不支持';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportError => '导出时发生错误';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportRepeatersRoom => '重复器和房间服务器位置';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportChat => '伴侣位置';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportAllContacts => '所有联系人位置';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareText => '来自meshcore-open的导出地图数据';
|
||||
|
||||
@override
|
||||
String get settings_gpxExportShareSubject => 'meshcore-open GPX 地图数据导出';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1569,5 +1569,20 @@
|
|||
"contacts_ShareContact": "Kontakt naar Klembord kopiëren",
|
||||
"contacts_ShareContactZeroHop": "Contact delen via advertentie",
|
||||
"contacts_zeroHopContactAdvertFailed": "Mislukt om contact te verzenden",
|
||||
"settings_gpxExportRepeatersSubtitle": "Exporteert repeaters / roomserver met een locatie naar GPX-bestand.",
|
||||
"settings_gpxExportRepeaters": "Exporteer repeaters / roomserver naar GPX",
|
||||
"settings_gpxExportSuccess": "Succesvol GPX-bestand geëxporteerd.",
|
||||
"settings_gpxExportNoContacts": "Geen contacten om te exporteren.",
|
||||
"settings_gpxExportNotAvailable": "Niet ondersteund op uw apparaat/besturingssysteem",
|
||||
"settings_gpxExportError": "Er was een fout bij het exporteren.",
|
||||
"settings_gpxExportContacts": "Companions exporteren naar GPX",
|
||||
"settings_gpxExportAll": "Alle contacten exporteren naar GPX",
|
||||
"settings_gpxExportAllSubtitle": "Exporteert alle contacten met een locatie naar een GPX-bestand.",
|
||||
"settings_gpxExportContactsSubtitle": "Exporteert metgezellen met een locatie naar een GPX-bestand.",
|
||||
"settings_gpxExportRepeatersRoom": "Repeater- en kamer servers locaties",
|
||||
"settings_gpxExportChat": "Locaties van metgezellen",
|
||||
"settings_gpxExportAllContacts": "Alle contactlocaties",
|
||||
"settings_gpxExportShareText": "Kaartgegevens geëxporteerd uit meshcore-open",
|
||||
"settings_gpxExportShareSubject": "meshcore-open GPX kaartgegevens exporteren",
|
||||
"pathTrace_someHopsNoLocation": "Een of meer van de hops ontbreken een locatie!"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1569,5 +1569,20 @@
|
|||
"contacts_ShareContactZeroHop": "Udostępnij kontakt przez ogłoszenie",
|
||||
"contacts_ShareContact": "Kopiuj kontakt do schowka",
|
||||
"contacts_zeroHopContactAdvertFailed": "Nie udało się wysłać kontaktu.",
|
||||
"settings_gpxExportContacts": "Eksportuj towarzyszy do GPX",
|
||||
"settings_gpxExportRepeaters": "Eksportuj powtórki / serwer pokojowy do GPX",
|
||||
"settings_gpxExportRepeatersSubtitle": "Eksportuje powtarzacze / roomserver z lokalizacją do pliku GPX.",
|
||||
"settings_gpxExportSuccess": "Pomyślnie wyeksportowano plik GPX.",
|
||||
"settings_gpxExportNotAvailable": "Nie obsługiwane na Twoim urządzeniu/systemie operacyjnym",
|
||||
"settings_gpxExportError": "Wystąpił błąd podczas eksportowania.",
|
||||
"settings_gpxExportRepeatersRoom": "Lokalizacje serwerów powtarzających i pomieszczeń",
|
||||
"settings_gpxExportContactsSubtitle": "Eksportuje towarzyszy z lokalizacją do pliku GPX.",
|
||||
"settings_gpxExportAll": "Eksportuj wszystkie kontakty do GPX",
|
||||
"settings_gpxExportAllSubtitle": "Eksportuje wszystkie kontakty z lokalizacją do pliku GPX.",
|
||||
"settings_gpxExportAllContacts": "Wszystkie lokalizacje kontaktów",
|
||||
"settings_gpxExportNoContacts": "Brak kontaktów do wyeksportowania.",
|
||||
"settings_gpxExportChat": "Lokalizacje towarzyszy",
|
||||
"settings_gpxExportShareText": "Dane mapy wyeksportowane z meshcore-open",
|
||||
"settings_gpxExportShareSubject": "Eksport danych mapy GPX meshcore-open",
|
||||
"pathTrace_someHopsNoLocation": "Jeden lub więcej z chmieli nie ma określonej lokalizacji!"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1569,5 +1569,20 @@
|
|||
"contacts_contactAdvertCopyFailed": "Cópia do anúncio para a Área de Transferência falhou.",
|
||||
"contacts_ShareContactZeroHop": "Compartilhar contato por anúncio",
|
||||
"contacts_zeroHopContactAdvertFailed": "Falha ao enviar contato.",
|
||||
"settings_gpxExportRepeaters": "Exportar repetidores / servidor de sala para GPX",
|
||||
"settings_gpxExportRepeatersSubtitle": "Exporta repetidores / roomserver com localização para arquivo GPX.",
|
||||
"settings_gpxExportSuccess": "Arquivo GPX exportado com sucesso.",
|
||||
"settings_gpxExportAllSubtitle": "Exporta todos os contatos com uma localização para um arquivo GPX.",
|
||||
"settings_gpxExportNotAvailable": "Não suportado no seu dispositivo/SO",
|
||||
"settings_gpxExportError": "Ocorreu um erro ao exportar.",
|
||||
"settings_gpxExportAll": "Exportar todos os contatos para GPX",
|
||||
"settings_gpxExportContacts": "Exportar companheiros para GPX",
|
||||
"settings_gpxExportContactsSubtitle": "Exporta companheiros com uma localização para um arquivo GPX.",
|
||||
"settings_gpxExportRepeatersRoom": "Localizações do servidor de repetidor e sala",
|
||||
"settings_gpxExportChat": "Localizações de companheiros",
|
||||
"settings_gpxExportNoContacts": "Nenhum contato para exportar.",
|
||||
"settings_gpxExportAllContacts": "Todos os locais de contatos",
|
||||
"settings_gpxExportShareText": "Dados do mapa exportados do meshcore-open",
|
||||
"settings_gpxExportShareSubject": "meshcore-open exportação de dados de mapa GPX",
|
||||
"pathTrace_someHopsNoLocation": "Um ou mais dos lúpulos estão sem localização!"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -809,5 +809,20 @@
|
|||
"contacts_addContactFromClipboard": "Добавить контакт из буфера обмена",
|
||||
"contacts_ShareContactZeroHop": "Поделиться контактом по объявлению",
|
||||
"contacts_zeroHopContactAdvertSent": "Отправлено сообщение по объявлению.",
|
||||
"settings_gpxExportRepeaters": "Экспортировать рипитеры / сервер комнаты в GPX",
|
||||
"settings_gpxExportRepeatersSubtitle": "Экспортирует ретрансляторы / сервер комнат с местоположением в файл GPX.",
|
||||
"settings_gpxExportContacts": "Экспортировать спутников в GPX",
|
||||
"settings_gpxExportNotAvailable": "Не поддерживается на вашем устройстве/ОС",
|
||||
"settings_gpxExportError": "Произошла ошибка при экспорте.",
|
||||
"settings_gpxExportRepeatersRoom": "Местоположения повторителей и серверов комнат",
|
||||
"settings_gpxExportChat": "Местоположения спутников",
|
||||
"settings_gpxExportContactsSubtitle": "Экспортирует спутников с местоположением в файл GPX.",
|
||||
"settings_gpxExportAll": "Экспортировать все контакты в GPX",
|
||||
"settings_gpxExportAllSubtitle": "Экспортирует все контакты с местоположением в файл GPX.",
|
||||
"settings_gpxExportAllContacts": "Все местоположения контактов",
|
||||
"settings_gpxExportSuccess": "Успешно экспортирован файл GPX.",
|
||||
"settings_gpxExportNoContacts": "Нет контактов для экспорта.",
|
||||
"settings_gpxExportShareText": "Данные карты экспортированы из meshcore-open",
|
||||
"settings_gpxExportShareSubject": "meshcore-open экспорт данных карты GPX",
|
||||
"pathTrace_someHopsNoLocation": "Одному или нескольким хмелям не указано местоположение!"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1569,5 +1569,20 @@
|
|||
"contacts_zeroHopContactAdvertFailed": "Zlyhalo odoslanie kontaktu.",
|
||||
"contacts_ShareContactZeroHop": "Zdieľať kontakt cez inzerát",
|
||||
"contacts_ShareContact": "Kopírovať kontakt do schránky",
|
||||
"settings_gpxExportRepeatersSubtitle": "Exportuje repeater / roomserver s lokalitou do súboru GPX.",
|
||||
"settings_gpxExportContacts": "Export sprievodcov do GPX",
|
||||
"settings_gpxExportSuccess": "Úspešne exportovaný súbor GPX.",
|
||||
"settings_gpxExportNoContacts": "Žiadne kontakty na export.",
|
||||
"settings_gpxExportNotAvailable": "Nie je podporované na vašom zariadení/operáciomnom systéme",
|
||||
"settings_gpxExportRepeatersRoom": "Umiestnenia opakovačov a serverov miestností",
|
||||
"settings_gpxExportError": "Vyskytol sa chyba počas exportu.",
|
||||
"settings_gpxExportAllSubtitle": "Exportuje všetky kontakty s lokalitou do súboru GPX.",
|
||||
"settings_gpxExportContactsSubtitle": "Exportuje sprievodcov s umiestnením do súboru GPX.",
|
||||
"settings_gpxExportRepeaters": "Exportovať repeater / server miestnosti do GPX",
|
||||
"settings_gpxExportAll": "Exportovať všetky kontakty do GPX",
|
||||
"settings_gpxExportAllContacts": "Všetky kontaktné lokality",
|
||||
"settings_gpxExportChat": "Lokácie sprievodcov",
|
||||
"settings_gpxExportShareText": "Mapové údaje exportované z meshcore-open",
|
||||
"settings_gpxExportShareSubject": "meshcore-open export dát GPX mapových údajov",
|
||||
"pathTrace_someHopsNoLocation": "Jedna alebo viac chmeľov chýba lokalita!"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1569,5 +1569,20 @@
|
|||
"contacts_contactAdvertCopyFailed": "Kopiranje oglasa v odložišče je spodletelo.",
|
||||
"contacts_ShareContactZeroHop": "Deliti kontakt prek oglasa",
|
||||
"contacts_ShareContact": "Kopiraj stik v Odložišče",
|
||||
"settings_gpxExportAll": "Izvozi vse kontakte v GPX",
|
||||
"settings_gpxExportContacts": "Izvoz spremljevalcev v GPX",
|
||||
"settings_gpxExportRepeatersSubtitle": "Izvozi ponovljene oddajnike / strežnik sobe z lokacijo v datoteko GPX.",
|
||||
"settings_gpxExportRepeaters": "Izvoz ponoviteljev / strežnika sobe v GPX",
|
||||
"settings_gpxExportError": "Pri izvozu je prišlo do napake.",
|
||||
"settings_gpxExportRepeatersRoom": "Lokacije ponovljivca in strežnika sobe",
|
||||
"settings_gpxExportChat": "Lokacije spremljevalcev",
|
||||
"settings_gpxExportAllContacts": "Lokacije vseh stikov",
|
||||
"settings_gpxExportContactsSubtitle": "Izvozi spremljevalce z lokacijo v datoteko GPX.",
|
||||
"settings_gpxExportAllSubtitle": "Izvozi vse kontakte z lokacijo v datoteko GPX.",
|
||||
"settings_gpxExportSuccess": "Uspešno izvoz GPX datoteke.",
|
||||
"settings_gpxExportShareText": "Podatki kart izvoženi iz meshcore-open",
|
||||
"settings_gpxExportNoContacts": "Ni stikov za izvoz.",
|
||||
"settings_gpxExportNotAvailable": "Ni podprto na vašem napravi/operacijskem sistemu",
|
||||
"settings_gpxExportShareSubject": "meshcore-open izvoz podatkov GPX karte",
|
||||
"pathTrace_someHopsNoLocation": "Ena ali več hmelju manjka lokacija!"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1569,5 +1569,20 @@
|
|||
"contacts_ShareContact": "Kopiera kontakt till Urklipp",
|
||||
"contacts_zeroHopContactAdvertFailed": "Misslyckades med att skicka kontakt.",
|
||||
"contacts_ShareContactZeroHop": "Dela kontakt via annons",
|
||||
"settings_gpxExportAll": "Exportera alla kontakter till GPX",
|
||||
"settings_gpxExportRepeatersSubtitle": "Exporterar repeater / roomserver med plats till GPX-fil.",
|
||||
"settings_gpxExportSuccess": "Har exporterat GPX-fil med framgång",
|
||||
"settings_gpxExportNoContacts": "Inga kontakter att exportera.",
|
||||
"settings_gpxExportNotAvailable": "Stöds inte på din enhet/operativsystem",
|
||||
"settings_gpxExportRepeatersRoom": "Repeater- och rumsserverplatser",
|
||||
"settings_gpxExportRepeaters": "Exportera repeater / rumsservrar till GPX",
|
||||
"settings_gpxExportAllSubtitle": "Exporterar alla kontakter med en plats till GPX-fil.",
|
||||
"settings_gpxExportContacts": "Exportera följeslagare till GPX",
|
||||
"settings_gpxExportContactsSubtitle": "Exporterar följeslagare med en plats till GPX-fil.",
|
||||
"settings_gpxExportChat": "Medhjälparplatser",
|
||||
"settings_gpxExportError": "Det uppstod ett fel när data exporterades.",
|
||||
"settings_gpxExportAllContacts": "Alla kontakters platser",
|
||||
"settings_gpxExportShareSubject": "meshcore-open export av GPX-kartdata",
|
||||
"settings_gpxExportShareText": "Kartdata exporterad från meshcore-open",
|
||||
"pathTrace_someHopsNoLocation": "En eller flera av humlen saknar en plats!"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1569,5 +1569,20 @@
|
|||
"contacts_zeroHopContactAdvertSent": "Відправлено контакт за оголошенням",
|
||||
"contacts_addContactFromClipboard": "Додати контакт з буфера обміну",
|
||||
"contacts_ShareContactZeroHop": "Поділитися контактом за оголошенням",
|
||||
"settings_gpxExportRepeaters": "Експортувати ретранслятори / сервер кімнати до GPX",
|
||||
"settings_gpxExportRepeatersSubtitle": "Експортує ретранслятори / сервер кімнати з місцезнаходженням у файл GPX.",
|
||||
"settings_gpxExportSuccess": "Успішно експортовано файл GPX.",
|
||||
"settings_gpxExportNoContacts": "Немає контактів для експорту.",
|
||||
"settings_gpxExportNotAvailable": "Не підтримується на вашому пристрої/операційній системі",
|
||||
"settings_gpxExportError": "Сталася помилка під час експорту.",
|
||||
"settings_gpxExportAllSubtitle": "Експортує всі контакти з місцем розташування у файл GPX.",
|
||||
"settings_gpxExportAll": "Експортувати всі контакти до GPX",
|
||||
"settings_gpxExportContactsSubtitle": "Експортує супутників з місцезнаходженням у файл GPX.",
|
||||
"settings_gpxExportContacts": "Експортувати супутників до GPX",
|
||||
"settings_gpxExportRepeatersRoom": "Місцезнаходження повторювача та сервера кімнати",
|
||||
"settings_gpxExportChat": "Місця супутників",
|
||||
"settings_gpxExportShareText": "Дані карти експортовані з meshcore-open",
|
||||
"settings_gpxExportAllContacts": "Усі місця контактів",
|
||||
"settings_gpxExportShareSubject": "експорт даних карти meshcore-open у форматі GPX",
|
||||
"pathTrace_someHopsNoLocation": "Одне або більше хмелів відсутнє місце розташування!"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1569,5 +1569,20 @@
|
|||
"contacts_zeroHopContactAdvertFailed": "发送联系方式失败。",
|
||||
"contacts_contactAdvertCopied": "广告内容已复制到剪贴板。",
|
||||
"contacts_contactAdvertCopyFailed": "将广告复制到剪贴板操作失败。",
|
||||
"settings_gpxExportRepeaters": "导出重复器/房间服务器到GPX",
|
||||
"settings_gpxExportRepeatersSubtitle": "导出带有位置的重复器/房间服务器到GPX文件。",
|
||||
"settings_gpxExportContactsSubtitle": "导出带有位置的伙伴到GPX文件。",
|
||||
"settings_gpxExportNotAvailable": "您的设备/操作系统不支持",
|
||||
"settings_gpxExportSuccess": "成功导出GPX文件",
|
||||
"settings_gpxExportError": "导出时发生错误",
|
||||
"settings_gpxExportRepeatersRoom": "重复器和房间服务器位置",
|
||||
"settings_gpxExportChat": "伴侣位置",
|
||||
"settings_gpxExportAll": "导出所有联系人到GPX",
|
||||
"settings_gpxExportContacts": "导出伴侣到GPX",
|
||||
"settings_gpxExportAllSubtitle": "导出所有带有位置的联系人到GPX文件。",
|
||||
"settings_gpxExportAllContacts": "所有联系人位置",
|
||||
"settings_gpxExportNoContacts": "没有联系人可导出",
|
||||
"settings_gpxExportShareText": "来自meshcore-open的导出地图数据",
|
||||
"settings_gpxExportShareSubject": "meshcore-open GPX 地图数据导出",
|
||||
"pathTrace_someHopsNoLocation": "其中一个或多个啤酒花缺少位置!"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:meshcore_open/utils/gpx_export.dart';
|
||||
import 'package:meshcore_open/widgets/elements_ui.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:package_info_plus/package_info_plus.dart';
|
||||
|
|
@ -57,6 +58,8 @@ class _SettingsScreenState extends State<SettingsScreen> {
|
|||
const SizedBox(height: 16),
|
||||
_buildDebugCard(context),
|
||||
const SizedBox(height: 16),
|
||||
_buildExportCard(connector),
|
||||
const SizedBox(height: 16),
|
||||
_buildAboutCard(context),
|
||||
],
|
||||
);
|
||||
|
|
@ -684,6 +687,110 @@ class _SettingsScreenState extends State<SettingsScreen> {
|
|||
],
|
||||
);
|
||||
}
|
||||
|
||||
_gpxExport(
|
||||
GpxExport exporter,
|
||||
String name,
|
||||
String description,
|
||||
String filename,
|
||||
String shareText,
|
||||
String subject,
|
||||
) async {
|
||||
final l10n = context.l10n;
|
||||
final result = await exporter.exportGPX(
|
||||
name,
|
||||
description,
|
||||
filename,
|
||||
shareText,
|
||||
subject,
|
||||
);
|
||||
if (!mounted) return;
|
||||
switch (result) {
|
||||
case gpxExportSuccess:
|
||||
ScaffoldMessenger.of(
|
||||
context,
|
||||
).showSnackBar(SnackBar(content: Text(l10n.settings_gpxExportSuccess)));
|
||||
case gpxExportNoContacts:
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(l10n.settings_gpxExportNoContacts)),
|
||||
);
|
||||
break;
|
||||
case gpxExportNotAvailable:
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(l10n.settings_gpxExportNotAvailable)),
|
||||
);
|
||||
break;
|
||||
case gpxExportFailed:
|
||||
ScaffoldMessenger.of(
|
||||
context,
|
||||
).showSnackBar(SnackBar(content: Text(l10n.settings_gpxExportError)));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
_buildExportCard(MeshCoreConnector connector) {
|
||||
final l10n = context.l10n;
|
||||
return Card(
|
||||
child: Column(
|
||||
children: [
|
||||
ListTile(
|
||||
leading: const Icon(Icons.download_outlined),
|
||||
title: Text(l10n.settings_gpxExportRepeaters),
|
||||
subtitle: Text(l10n.settings_gpxExportRepeatersSubtitle),
|
||||
trailing: const Icon(Icons.chevron_right),
|
||||
onTap: () async {
|
||||
final exporter = GpxExport(connector);
|
||||
exporter.addRepeaters();
|
||||
_gpxExport(
|
||||
exporter,
|
||||
l10n.map_repeater,
|
||||
l10n.settings_gpxExportRepeatersRoom,
|
||||
"meshcore_repeaters_",
|
||||
l10n.settings_gpxExportShareText,
|
||||
l10n.settings_gpxExportShareSubject,
|
||||
);
|
||||
},
|
||||
),
|
||||
ListTile(
|
||||
leading: const Icon(Icons.download_outlined),
|
||||
title: Text(l10n.settings_gpxExportContacts),
|
||||
subtitle: Text(l10n.settings_gpxExportContactsSubtitle),
|
||||
trailing: const Icon(Icons.chevron_right),
|
||||
onTap: () async {
|
||||
final exporter = GpxExport(connector);
|
||||
exporter.addContacts();
|
||||
_gpxExport(
|
||||
exporter,
|
||||
l10n.map_repeater,
|
||||
l10n.settings_gpxExportChat,
|
||||
"meshcore_contacts_",
|
||||
l10n.settings_gpxExportShareText,
|
||||
l10n.settings_gpxExportShareSubject,
|
||||
);
|
||||
},
|
||||
),
|
||||
ListTile(
|
||||
leading: const Icon(Icons.download_outlined),
|
||||
title: Text(l10n.settings_gpxExportAll),
|
||||
subtitle: Text(l10n.settings_gpxExportAllSubtitle),
|
||||
trailing: const Icon(Icons.chevron_right),
|
||||
onTap: () async {
|
||||
final exporter = GpxExport(connector);
|
||||
exporter.addAll();
|
||||
_gpxExport(
|
||||
exporter,
|
||||
l10n.map_repeater,
|
||||
l10n.settings_gpxExportAllContacts,
|
||||
"meshcore_all_",
|
||||
l10n.settings_gpxExportShareText,
|
||||
l10n.settings_gpxExportShareSubject,
|
||||
);
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class _RadioSettingsDialog extends StatefulWidget {
|
||||
|
|
|
|||
179
lib/utils/gpx_export.dart
Normal file
179
lib/utils/gpx_export.dart
Normal file
|
|
@ -0,0 +1,179 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:gpx/gpx.dart';
|
||||
import 'package:meshcore_open/connector/meshcore_connector.dart';
|
||||
import 'package:meshcore_open/connector/meshcore_protocol.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:share_plus/share_plus.dart';
|
||||
|
||||
class ContactExport {
|
||||
final String name;
|
||||
final double lat;
|
||||
final double lon;
|
||||
final String desc;
|
||||
final double? ele;
|
||||
|
||||
ContactExport({
|
||||
required this.name,
|
||||
required this.lat,
|
||||
required this.lon,
|
||||
required this.desc,
|
||||
this.ele,
|
||||
});
|
||||
}
|
||||
|
||||
const int gpxExportFailed = -1;
|
||||
const int gpxExportSuccess = 1;
|
||||
const int gpxExportNoContacts = 2;
|
||||
const int gpxExportCancelled = 3;
|
||||
const int gpxExportNotAvailable = 4;
|
||||
|
||||
class GpxExport {
|
||||
final MeshCoreConnector _connector;
|
||||
final List<ContactExport> _contacts = [];
|
||||
|
||||
GpxExport(this._connector);
|
||||
|
||||
void _addContact(
|
||||
String name,
|
||||
double lat,
|
||||
double lon,
|
||||
String desc, [
|
||||
double? ele,
|
||||
]) {
|
||||
_contacts.add(
|
||||
ContactExport(
|
||||
name: name.trim(),
|
||||
lat: lat,
|
||||
lon: lon,
|
||||
desc: desc.trim(),
|
||||
ele: ele,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
void addRepeaters() {
|
||||
final contacts = _connector.contacts
|
||||
.where((c) => c.type == advTypeRepeater || c.type == advTypeRoom)
|
||||
.toList();
|
||||
for (var contact in contacts) {
|
||||
if (contact.latitude == null || contact.longitude == null) {
|
||||
continue;
|
||||
}
|
||||
_addContact(
|
||||
contact.name,
|
||||
contact.latitude!,
|
||||
contact.longitude!,
|
||||
"Type: ${contact.typeLabel}\nPublic Key: ${contact.publicKeyHex}",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void addContacts() {
|
||||
final contacts = _connector.contacts
|
||||
.where((c) => c.type == advTypeChat)
|
||||
.toList();
|
||||
for (var contact in contacts) {
|
||||
if (contact.latitude == null || contact.longitude == null) {
|
||||
continue;
|
||||
}
|
||||
_addContact(
|
||||
contact.name,
|
||||
contact.latitude!,
|
||||
contact.longitude!,
|
||||
"Type: ${contact.typeLabel}\nPublic Key: ${contact.publicKeyHex}",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void addAll() {
|
||||
final contacts = _connector.contacts;
|
||||
for (var contact in contacts.toList()) {
|
||||
if (contact.latitude == null || contact.longitude == null) {
|
||||
continue;
|
||||
}
|
||||
_addContact(
|
||||
contact.name,
|
||||
contact.latitude ?? 0.0,
|
||||
contact.longitude ?? 0.0,
|
||||
"Type: ${contact.typeLabel}\nPublic Key: ${contact.publicKeyHex}",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Future<int> exportGPX(
|
||||
String name,
|
||||
String description,
|
||||
String filename,
|
||||
String shareText,
|
||||
String subject,
|
||||
) async {
|
||||
if (_contacts.isEmpty) {
|
||||
debugPrint("No repeaters to export – nothing to share.");
|
||||
return gpxExportNoContacts;
|
||||
}
|
||||
|
||||
try {
|
||||
// 1. Build GPX content (your existing logic – unchanged here)
|
||||
final gpx = Gpx()
|
||||
..version = '1.1'
|
||||
..creator = 'meshcore-open exporter'
|
||||
..metadata = Metadata(
|
||||
name: name,
|
||||
desc: description,
|
||||
time: DateTime.now().toUtc(),
|
||||
);
|
||||
|
||||
gpx.wpts = _contacts
|
||||
.map(
|
||||
(c) => Wpt(
|
||||
lat: c.lat,
|
||||
lon: c.lon,
|
||||
ele: c.ele,
|
||||
name: c.name,
|
||||
desc: c.desc,
|
||||
),
|
||||
)
|
||||
.toList();
|
||||
|
||||
final xml = GpxWriter().asString(gpx, pretty: true);
|
||||
|
||||
// 2. Save to file
|
||||
final dir = await getApplicationDocumentsDirectory();
|
||||
final timestamp = DateTime.now()
|
||||
.toUtc()
|
||||
.toIso8601String()
|
||||
.replaceAll(':', '-')
|
||||
.replaceAll('.', '-')
|
||||
.split('T')
|
||||
.join('_');
|
||||
|
||||
final path = '${dir.path}/$filename$timestamp.gpx';
|
||||
|
||||
final file = File(path);
|
||||
await file.writeAsString(xml);
|
||||
|
||||
final result = await SharePlus.instance.share(
|
||||
ShareParams(text: shareText, subject: subject, files: [XFile(path)]),
|
||||
);
|
||||
|
||||
await file.delete();
|
||||
|
||||
switch (result.status) {
|
||||
case ShareResultStatus.success:
|
||||
debugPrint('Share successful – user completed the action.');
|
||||
return gpxExportSuccess;
|
||||
case ShareResultStatus.dismissed:
|
||||
debugPrint('Share sheet was dismissed / cancelled by user.');
|
||||
return gpxExportCancelled;
|
||||
case ShareResultStatus.unavailable:
|
||||
debugPrint('Sharing is not available on this platform / context.');
|
||||
return gpxExportNotAvailable;
|
||||
}
|
||||
} catch (e, stack) {
|
||||
debugPrint('Export or share failed: $e\n$stack');
|
||||
}
|
||||
return gpxExportFailed;
|
||||
}
|
||||
}
|
||||
|
|
@ -9,6 +9,7 @@ import flutter_blue_plus_darwin
|
|||
import flutter_local_notifications
|
||||
import mobile_scanner
|
||||
import package_info_plus
|
||||
import share_plus
|
||||
import shared_preferences_foundation
|
||||
import sqflite_darwin
|
||||
import url_launcher_macos
|
||||
|
|
@ -19,6 +20,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
|||
FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
|
||||
MobileScannerPlugin.register(with: registry.registrar(forPlugin: "MobileScannerPlugin"))
|
||||
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
|
||||
SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin"))
|
||||
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
|
||||
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
|
||||
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
|
||||
|
|
|
|||
50
pubspec.lock
50
pubspec.lock
|
|
@ -121,6 +121,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.2"
|
||||
cross_file:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: cross_file
|
||||
sha256: "28bb3ae56f117b5aec029d702a90f57d285cd975c3c5c281eaca38dbc47c5937"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.3.5+2"
|
||||
crypto:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
@ -341,6 +349,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.3"
|
||||
gpx:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: gpx
|
||||
sha256: f5b12b86402c639079243600ee2b3afd85cd08d26117fc8885cf48efce471d8e
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.3.0"
|
||||
hooks:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -501,6 +517,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
mime:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: mime
|
||||
sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
mobile_scanner:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
@ -566,7 +590,7 @@ packages:
|
|||
source: hosted
|
||||
version: "1.9.1"
|
||||
path_provider:
|
||||
dependency: transitive
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: path_provider
|
||||
sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd"
|
||||
|
|
@ -701,6 +725,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.1.0"
|
||||
quiver:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: quiver
|
||||
sha256: ea0b925899e64ecdfbf9c7becb60d5b50e706ade44a85b2363be2a22d88117d2
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.2.2"
|
||||
rxdart:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -709,6 +741,22 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.28.0"
|
||||
share_plus:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: share_plus
|
||||
sha256: "14c8860d4de93d3a7e53af51bff479598c4e999605290756bbbe45cf65b37840"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "12.0.1"
|
||||
share_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: share_plus_platform_interface
|
||||
sha256: "88023e53a13429bd65d8e85e11a9b484f49d4c190abbd96c7932b74d6927cc9a"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.1.0"
|
||||
shared_preferences:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
|
|||
|
|
@ -57,6 +57,9 @@ dependencies:
|
|||
qr_flutter: ^4.1.0 # QR code generation
|
||||
url_launcher: ^6.3.0 # Launch URLs in system browser
|
||||
flutter_linkify: ^6.0.0 # Auto-detect and linkify URLs in text
|
||||
gpx: ^2.3.0
|
||||
path_provider: ^2.1.5
|
||||
share_plus: ^12.0.1
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
|
|
|||
|
|
@ -7,11 +7,14 @@
|
|||
#include "generated_plugin_registrant.h"
|
||||
|
||||
#include <flutter_blue_plus_winrt/flutter_blue_plus_plugin.h>
|
||||
#include <share_plus/share_plus_windows_plugin_c_api.h>
|
||||
#include <url_launcher_windows/url_launcher_windows.h>
|
||||
|
||||
void RegisterPlugins(flutter::PluginRegistry* registry) {
|
||||
FlutterBluePlusPluginRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("FlutterBluePlusPlugin"));
|
||||
SharePlusWindowsPluginCApiRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("SharePlusWindowsPluginCApi"));
|
||||
UrlLauncherWindowsRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("UrlLauncherWindows"));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
list(APPEND FLUTTER_PLUGIN_LIST
|
||||
flutter_blue_plus_winrt
|
||||
share_plus
|
||||
url_launcher_windows
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue