Add path trace localizations for all languages

- Translate path trace strings to all 14 supported locales
- Regenerate localization Dart files
- Fix translate.py to also detect empty string values as missing
This commit is contained in:
Zach 2026-01-28 22:05:04 -07:00
parent cdacc54421
commit 935b7b07eb
31 changed files with 981 additions and 67 deletions

View file

@ -1533,5 +1533,24 @@
"community_regenerate": "Регенерация",
"community_updateSecret": "Актуализирай тайна",
"community_scanToUpdateSecret": "Сканьорвайте новия QR код, за да актуализирате секрета за \"{name}\"",
"community_secretUpdated": "Секретно обновено за \"{name}\""
"community_secretUpdated": "Секретно обновено за \"{name}\"",
"@contacts_pathTraceTo": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"pathTrace_you": "Вие",
"pathTrace_notAvailable": "Пътека за проследяване не е достъпна.",
"contacts_pathTrace": "Пътен проследяване",
"pathTrace_refreshTooltip": "Обнови Path Trace.",
"pathTrace_failed": "Пътят за проследяване не успя.",
"contacts_repeaterPing": "Пингване на повторителя",
"contacts_repeaterPathTrace": "Трасировка до повторител",
"contacts_ping": "Пинг",
"contacts_chatTraceRoute": "Трасиране на път",
"contacts_roomPathTrace": "Трасиране на път до съ",
"contacts_roomPing": "Ping на сървъра на стаята",
"contacts_pathTraceTo": "Проследи маршрут към {name}"
}

View file

@ -1533,5 +1533,24 @@
"community_regenerateSecret": "Neu generieren Sie das Geheimnis",
"community_secretUpdated": "Geheime für \"{name}\" aktualisiert",
"community_scanToUpdateSecret": "Scannen Sie den neuen QR-Code, um das Geheimnis für \"{name}\" zu aktualisieren.",
"community_updateSecret": "Aktualisieren Sie das Geheimnis"
"community_updateSecret": "Aktualisieren Sie das Geheimnis",
"@contacts_pathTraceTo": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"pathTrace_refreshTooltip": "Path Trace aktualisieren.",
"pathTrace_you": "Du",
"pathTrace_failed": "Pfadverfolgung fehlgeschlagen.",
"pathTrace_notAvailable": "Pfadverfolgung nicht verfügbar.",
"contacts_pathTrace": "Pfadverfolgung",
"contacts_ping": "Pingen",
"contacts_repeaterPathTrace": "Pfadverfolgung zum Repeater",
"contacts_repeaterPing": "Repeater pingen",
"contacts_roomPathTrace": "Pfadverfolgung zum Raumserver",
"contacts_roomPing": "Raumserver anpingen",
"contacts_pathTraceTo": "Route nach {name} verfolgen",
"contacts_chatTraceRoute": "Pfadverfolgungsroute"
}

View file

@ -1533,5 +1533,24 @@
"community_regenerate": "Regenerar",
"community_secretUpdated": "Confidencialidad actualizada para \"{name}\"",
"community_scanToUpdateSecret": "Escanear el nuevo código QR para actualizar el secreto de \"{name}\"",
"community_updateSecret": "Actualizar Contraseña"
"community_updateSecret": "Actualizar Contraseña",
"@contacts_pathTraceTo": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"pathTrace_you": "Tú",
"pathTrace_failed": "El trazado de ruta falló.",
"pathTrace_refreshTooltip": "Actualizar Path Trace",
"contacts_pathTrace": "Rastreo de caminos",
"contacts_repeaterPathTrace": "Rastrear ruta al repetidor",
"contacts_repeaterPing": "Pingar repetidor",
"contacts_ping": "Ping",
"pathTrace_notAvailable": "El trazado de ruta no está disponible.",
"contacts_roomPing": "Pingar servidor de sala",
"contacts_roomPathTrace": "Rastreo de ruta al servidor de la habitación",
"contacts_pathTraceTo": "Rastrear ruta a {name}",
"contacts_chatTraceRoute": "Ruta de trazado"
}

View file

@ -1533,5 +1533,24 @@
"community_secretRegenerated": "Mot de passe secret régénéré pour \"{name}\"",
"community_scanToUpdateSecret": "Scanner le nouveau code QR pour mettre à jour le mot de passe pour \"{name}\"",
"community_updateSecret": "Mettre à jour le secret",
"community_secretUpdated": "Modification secrète mise à jour pour \"{name}\""
"community_secretUpdated": "Modification secrète mise à jour pour \"{name}\"",
"@contacts_pathTraceTo": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"pathTrace_you": "Vous",
"pathTrace_refreshTooltip": "Actualiser Path Trace",
"pathTrace_failed": "Traçage du chemin échoué.",
"pathTrace_notAvailable": "Tracé de chemin non disponible.",
"contacts_pathTrace": "Traçage de chemin",
"contacts_repeaterPathTrace": "Tracer le chemin vers le répéteur",
"contacts_repeaterPing": "Pinguer le répéteur",
"contacts_roomPathTrace": "Traçage du chemin vers le serveur de la salle",
"contacts_chatTraceRoute": "Tracer le chemin",
"contacts_pathTraceTo": "Tracer l'itinéraire vers {name}",
"contacts_ping": "Ping",
"contacts_roomPing": "Pinguer le serveur de la salle"
}

View file

@ -1533,5 +1533,24 @@
"community_secretRegenerated": "Codice segreto rigenerato per \"{name}\"",
"community_updateSecret": "Aggiorna Segreto",
"community_secretUpdated": "Segreto aggiornato per \"{name}\"",
"community_scanToUpdateSecret": "Scansiona il nuovo codice QR per aggiornare il segreto di \"{name}\""
"community_scanToUpdateSecret": "Scansiona il nuovo codice QR per aggiornare il segreto di \"{name}\"",
"@contacts_pathTraceTo": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"pathTrace_failed": "Tracciamento del percorso fallito.",
"pathTrace_you": "Tu",
"pathTrace_notAvailable": "Tracciamento del percorso non disponibile.",
"pathTrace_refreshTooltip": "Aggiorna Path Trace.",
"contacts_ping": "Ping",
"contacts_repeaterPathTrace": "Traccia percorso al ripetitore",
"contacts_roomPathTrace": "Traccia del percorso al server della stanza",
"contacts_pathTrace": "Traccia Percorso",
"contacts_repeaterPing": "Ripetitore ping",
"contacts_pathTraceTo": "Traccia percorso verso {name}",
"contacts_roomPing": "Ping al server della stanza",
"contacts_chatTraceRoute": "Traccia percorso path"
}

View file

@ -4687,6 +4687,78 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'New group'**
String get listFilter_newGroup;
/// No description provided for @pathTrace_you.
///
/// In en, this message translates to:
/// **'You'**
String get pathTrace_you;
/// No description provided for @pathTrace_failed.
///
/// In en, this message translates to:
/// **'Path trace failed.'**
String get pathTrace_failed;
/// No description provided for @pathTrace_notAvailable.
///
/// In en, this message translates to:
/// **'Path trace not available.'**
String get pathTrace_notAvailable;
/// No description provided for @pathTrace_refreshTooltip.
///
/// In en, this message translates to:
/// **'Refresh Path Trace.'**
String get pathTrace_refreshTooltip;
/// No description provided for @contacts_pathTrace.
///
/// In en, this message translates to:
/// **'Path Trace'**
String get contacts_pathTrace;
/// No description provided for @contacts_ping.
///
/// In en, this message translates to:
/// **'Ping'**
String get contacts_ping;
/// No description provided for @contacts_repeaterPathTrace.
///
/// In en, this message translates to:
/// **'Path trace to repeater'**
String get contacts_repeaterPathTrace;
/// No description provided for @contacts_repeaterPing.
///
/// In en, this message translates to:
/// **'Ping repeater'**
String get contacts_repeaterPing;
/// No description provided for @contacts_roomPathTrace.
///
/// In en, this message translates to:
/// **'Path trace to room server'**
String get contacts_roomPathTrace;
/// No description provided for @contacts_roomPing.
///
/// In en, this message translates to:
/// **'Ping room server'**
String get contacts_roomPing;
/// No description provided for @contacts_chatTraceRoute.
///
/// In en, this message translates to:
/// **'Path trace route'**
String get contacts_chatTraceRoute;
/// No description provided for @contacts_pathTraceTo.
///
/// In en, this message translates to:
/// **'Trace route to {name}'**
String contacts_pathTraceTo(String name);
}
class _AppLocalizationsDelegate

View file

@ -2676,4 +2676,42 @@ class AppLocalizationsBg extends AppLocalizations {
@override
String get listFilter_newGroup => 'Нова група';
@override
String get pathTrace_you => 'Вие';
@override
String get pathTrace_failed => 'Пътят за проследяване не успя.';
@override
String get pathTrace_notAvailable => 'Пътека за проследяване не е достъпна.';
@override
String get pathTrace_refreshTooltip => 'Обнови Path Trace.';
@override
String get contacts_pathTrace => 'Пътен проследяване';
@override
String get contacts_ping => 'Пинг';
@override
String get contacts_repeaterPathTrace => 'Трасировка до повторител';
@override
String get contacts_repeaterPing => 'Пингване на повторителя';
@override
String get contacts_roomPathTrace => 'Трасиране на път до съ';
@override
String get contacts_roomPing => 'Ping на сървъра на стаята';
@override
String get contacts_chatTraceRoute => 'Трасиране на път';
@override
String contacts_pathTraceTo(String name) {
return 'Проследи маршрут към $name';
}
}

View file

@ -2681,4 +2681,42 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get listFilter_newGroup => 'Neue Gruppe';
@override
String get pathTrace_you => 'Du';
@override
String get pathTrace_failed => 'Pfadverfolgung fehlgeschlagen.';
@override
String get pathTrace_notAvailable => 'Pfadverfolgung nicht verfügbar.';
@override
String get pathTrace_refreshTooltip => 'Path Trace aktualisieren.';
@override
String get contacts_pathTrace => 'Pfadverfolgung';
@override
String get contacts_ping => 'Pingen';
@override
String get contacts_repeaterPathTrace => 'Pfadverfolgung zum Repeater';
@override
String get contacts_repeaterPing => 'Repeater pingen';
@override
String get contacts_roomPathTrace => 'Pfadverfolgung zum Raumserver';
@override
String get contacts_roomPing => 'Raumserver anpingen';
@override
String get contacts_chatTraceRoute => 'Pfadverfolgungsroute';
@override
String contacts_pathTraceTo(String name) {
return 'Route nach $name verfolgen';
}
}

View file

@ -2636,4 +2636,42 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get listFilter_newGroup => 'New group';
@override
String get pathTrace_you => 'You';
@override
String get pathTrace_failed => 'Path trace failed.';
@override
String get pathTrace_notAvailable => 'Path trace not available.';
@override
String get pathTrace_refreshTooltip => 'Refresh Path Trace.';
@override
String get contacts_pathTrace => 'Path Trace';
@override
String get contacts_ping => 'Ping';
@override
String get contacts_repeaterPathTrace => 'Path trace to repeater';
@override
String get contacts_repeaterPing => 'Ping repeater';
@override
String get contacts_roomPathTrace => 'Path trace to room server';
@override
String get contacts_roomPing => 'Ping room server';
@override
String get contacts_chatTraceRoute => 'Path trace route';
@override
String contacts_pathTraceTo(String name) {
return 'Trace route to $name';
}
}

View file

@ -2675,4 +2675,43 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get listFilter_newGroup => 'Nuevo grupo';
@override
String get pathTrace_you => '';
@override
String get pathTrace_failed => 'El trazado de ruta falló.';
@override
String get pathTrace_notAvailable => 'El trazado de ruta no está disponible.';
@override
String get pathTrace_refreshTooltip => 'Actualizar Path Trace';
@override
String get contacts_pathTrace => 'Rastreo de caminos';
@override
String get contacts_ping => 'Ping';
@override
String get contacts_repeaterPathTrace => 'Rastrear ruta al repetidor';
@override
String get contacts_repeaterPing => 'Pingar repetidor';
@override
String get contacts_roomPathTrace =>
'Rastreo de ruta al servidor de la habitación';
@override
String get contacts_roomPing => 'Pingar servidor de sala';
@override
String get contacts_chatTraceRoute => 'Ruta de trazado';
@override
String contacts_pathTraceTo(String name) {
return 'Rastrear ruta a $name';
}
}

View file

@ -2692,4 +2692,43 @@ class AppLocalizationsFr extends AppLocalizations {
@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 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';
}
}

View file

@ -2675,4 +2675,44 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get listFilter_newGroup => 'Nuovo gruppo';
@override
String get pathTrace_you => 'Tu';
@override
String get pathTrace_failed => 'Tracciamento del percorso fallito.';
@override
String get pathTrace_notAvailable =>
'Tracciamento del percorso non disponibile.';
@override
String get pathTrace_refreshTooltip => 'Aggiorna Path Trace.';
@override
String get contacts_pathTrace => 'Traccia Percorso';
@override
String get contacts_ping => 'Ping';
@override
String get contacts_repeaterPathTrace => 'Traccia percorso al ripetitore';
@override
String get contacts_repeaterPing => 'Ripetitore ping';
@override
String get contacts_roomPathTrace =>
'Traccia del percorso al server della stanza';
@override
String get contacts_roomPing => 'Ping al server della stanza';
@override
String get contacts_chatTraceRoute => 'Traccia percorso path';
@override
String contacts_pathTraceTo(String name) {
return 'Traccia percorso verso $name';
}
}

View file

@ -2666,4 +2666,42 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get listFilter_newGroup => 'Nieuwe groep';
@override
String get pathTrace_you => 'Jij';
@override
String get pathTrace_failed => 'Padtrace mislukt.';
@override
String get pathTrace_notAvailable => 'Padtrace niet beschikbaar.';
@override
String get pathTrace_refreshTooltip => 'Path Trace vernieuwen.';
@override
String get contacts_pathTrace => 'Pad Traceren';
@override
String get contacts_ping => 'Pingen';
@override
String get contacts_repeaterPathTrace => 'Pad traceren naar repeater';
@override
String get contacts_repeaterPing => 'Ping repeater';
@override
String get contacts_roomPathTrace => 'Padtrace naar room server';
@override
String get contacts_roomPing => 'Ping kamer server';
@override
String get contacts_chatTraceRoute => 'Route traceren';
@override
String contacts_pathTraceTo(String name) {
return 'Trace route to $name';
}
}

View file

@ -2674,4 +2674,43 @@ class AppLocalizationsPl extends AppLocalizations {
@override
String get listFilter_newGroup => 'Nowa grupa';
@override
String get pathTrace_you => 'Ty';
@override
String get pathTrace_failed => 'Śledzenie ścieżki nie powiodło się.';
@override
String get pathTrace_notAvailable => 'Ścieżka śledzenia niedostępna.';
@override
String get pathTrace_refreshTooltip => 'Odśwież ścieżkę.';
@override
String get contacts_pathTrace => 'Śledzenie Ścieżek';
@override
String get contacts_ping => 'Pingować';
@override
String get contacts_repeaterPathTrace => 'Śledzenie ścieżki do repeatera';
@override
String get contacts_repeaterPing => 'Repeater pingowy';
@override
String get contacts_roomPathTrace =>
'Śledzenie ścieżki do serwera pokojowego';
@override
String get contacts_roomPing => 'Pinguj serwer pokoju';
@override
String get contacts_chatTraceRoute => 'Śledź trasę promienia';
@override
String contacts_pathTraceTo(String name) {
return 'Śledź trasę do $name';
}
}

View file

@ -2677,4 +2677,42 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get listFilter_newGroup => 'Novo grupo';
@override
String get pathTrace_you => 'Você';
@override
String get pathTrace_failed => 'Falha no rastreamento de caminho.';
@override
String get pathTrace_notAvailable => 'Traçado de caminho não disponível.';
@override
String get pathTrace_refreshTooltip => 'Atualizar Path Trace.';
@override
String get contacts_pathTrace => 'Traçado de Caminho';
@override
String get contacts_ping => 'Pingar';
@override
String get contacts_repeaterPathTrace => 'Traçar caminho para repetidor';
@override
String get contacts_repeaterPing => 'Pingar repetidor';
@override
String get contacts_roomPathTrace => 'Traçar caminho para o servidor da sala';
@override
String get contacts_roomPing => 'Pingar servidor da sala';
@override
String get contacts_chatTraceRoute => 'Rastrear rota do caminho';
@override
String contacts_pathTraceTo(String name) {
return 'Rastrear rota para $name';
}
}

View file

@ -2679,4 +2679,42 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get listFilter_newGroup => 'Новая группа';
@override
String get pathTrace_you => 'Вы';
@override
String get pathTrace_failed => 'Путь трассировки не выполнен.';
@override
String get pathTrace_notAvailable => 'Трассировка пути недоступна.';
@override
String get pathTrace_refreshTooltip => 'Обновить Path Trace';
@override
String get contacts_pathTrace => 'Трассировка пути';
@override
String get contacts_ping => 'Пинговать';
@override
String get contacts_repeaterPathTrace => 'Отследить путь к ретранслятору';
@override
String get contacts_repeaterPing => 'Пинговать повторитель';
@override
String get contacts_roomPathTrace => 'Трассировка пути к серверу комнаты';
@override
String get contacts_roomPing => 'Пинговать сервер комнаты';
@override
String get contacts_chatTraceRoute => 'Трассировка маршрута';
@override
String contacts_pathTraceTo(String name) {
return 'Показать маршрут к $name';
}
}

View file

@ -2662,4 +2662,42 @@ class AppLocalizationsSk extends AppLocalizations {
@override
String get listFilter_newGroup => 'Nová skupina';
@override
String get pathTrace_you => 'Vy';
@override
String get pathTrace_failed => 'Sledovanie cesty zlyhalo.';
@override
String get pathTrace_notAvailable => 'Path trace nie je k dispozícii.';
@override
String get pathTrace_refreshTooltip => 'Obnoviť Path Trace.';
@override
String get contacts_pathTrace => 'Sledovanie lúčov';
@override
String get contacts_ping => 'Pingovať';
@override
String get contacts_repeaterPathTrace => 'Sledovanie cesty k opakovaču';
@override
String get contacts_repeaterPing => 'Pingovať opakovač';
@override
String get contacts_roomPathTrace => 'Sledovanie cesty k serveru miestnosti';
@override
String get contacts_roomPing => 'Ping server miestnosti';
@override
String get contacts_chatTraceRoute => 'Sledovať trasu lúča';
@override
String contacts_pathTraceTo(String name) {
return 'Sledovať trasu k $name';
}
}

View file

@ -30,13 +30,13 @@ class AppLocalizationsSl extends AppLocalizations {
String get common_connect => 'Poveži se';
@override
String get common_unknownDevice => 'Nepoznane naprave';
String get common_unknownDevice => 'Nepoznano naprave';
@override
String get common_save => 'Shrani';
@override
String get common_delete => 'Izbriši';
String get common_delete => 'Izbrisati';
@override
String get common_close => 'Zapri';
@ -51,7 +51,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get common_settings => 'Nastavitve';
@override
String get common_disconnect => 'Odklopi';
String get common_disconnect => 'Odklopiti';
@override
String get common_connected => 'Povezano';
@ -66,31 +66,31 @@ class AppLocalizationsSl extends AppLocalizations {
String get common_continue => 'Poudarki';
@override
String get common_share => 'Deli';
String get common_share => 'Deliti';
@override
String get common_copy => 'Kopiraj';
@override
String get common_retry => 'Ponovi';
String get common_retry => 'Ponoviti';
@override
String get common_hide => 'Skrita';
@override
String get common_remove => 'Izbriši';
String get common_remove => 'Izbrisati';
@override
String get common_enable => 'Omogoči';
@override
String get common_disable => 'Izklopi';
String get common_disable => 'Izklopiti';
@override
String get common_reboot => 'Ponovno zaženi';
String get common_reboot => 'Ponoviti';
@override
String get common_loading => 'Nalaganje...';
String get common_loading => 'Nalanje...';
@override
String get common_notAvailable => '';
@ -109,7 +109,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get scanner_title => 'MeshCore Open';
@override
String get scanner_scanning => 'Iščem naprave...';
String get scanner_scanning => 'Skeniram za naprave...';
@override
String get scanner_connecting => 'Povezujem se...';
@ -118,7 +118,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get scanner_disconnecting => 'Odklapljam se...';
@override
String get scanner_notConnected => 'Ni povezave';
String get scanner_notConnected => 'Nezavezan';
@override
String scanner_connectedTo(String deviceName) {
@ -134,7 +134,7 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String scanner_connectionFailed(String error) {
return 'Napaka pri povezavi: $error';
return 'Pošlo je z povezavo: $error';
}
@override
@ -144,7 +144,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get scanner_scan => 'Skeniraj';
@override
String get device_quickSwitch => 'Hitri preklop';
String get device_quickSwitch => 'Hitro preklop';
@override
String get device_meshcore => 'MeshCore';
@ -153,7 +153,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get settings_title => 'Nastavitve';
@override
String get settings_deviceInfo => 'Informacije o napravi';
String get settings_deviceInfo => 'Informacije o napravei';
@override
String get settings_appSettings => 'Nastavitve aplikacije';
@ -208,14 +208,14 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String get settings_locationGPSEnableSubtitle =>
'Omogoči samodejno posodabljanje lokacije z GPS-om.';
'Omogoči samodejno posodabljanje lokacije z GPS-jem.';
@override
String get settings_locationIntervalSec => 'Interval za GPS (sekunde)';
String get settings_locationIntervalSec => 'Interval za GPS (Sekunde)';
@override
String get settings_locationIntervalInvalid =>
'Interval mora biti med 60 in 86400 sekund.';
'Intervallo mora biti vsaj 60 sekund in manj kot 86400 sekund.';
@override
String get settings_latitude => 'Širina';
@ -243,7 +243,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get settings_actions => 'Akcije';
@override
String get settings_sendAdvertisement => 'Pošlji oglas';
String get settings_sendAdvertisement => 'Pošlji Oglas';
@override
String get settings_sendAdvertisementSubtitle =>
@ -262,7 +262,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get settings_timeSynchronized => 'Ura sinhronizirana';
@override
String get settings_refreshContacts => 'Osveži stike';
String get settings_refreshContacts => 'Ponovno obišči kontakte';
@override
String get settings_refreshContactsSubtitle =>
@ -272,8 +272,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get settings_rebootDevice => 'Ponovni zagon naprave';
@override
String get settings_rebootDeviceSubtitle =>
'Ponovno zaženi MeshCore napravo';
String get settings_rebootDeviceSubtitle => 'Ponovno zaženi MeshCore napravo';
@override
String get settings_rebootDeviceConfirm =>
@ -296,7 +295,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get settings_appDebugLogSubtitle => 'Debug sporočila aplikacije';
@override
String get settings_about => 'O aplikaciji';
String get settings_about => 'Oglejte si';
@override
String settings_aboutVersion(String version) {
@ -359,7 +358,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get settings_spreadingFactor => 'Razširitveni faktor';
@override
String get settings_codingRate => 'Programska hitrost (CR)';
String get settings_codingRate => 'Programska hitrost';
@override
String get settings_txPower => 'TX Moč (dBm)';
@ -371,7 +370,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get settings_txPowerInvalid => 'Neveljavna TX moč (0-22 dBm)';
@override
String get settings_longRange => 'Dolg doseg';
String get settings_longRange => 'DDolg doseg';
@override
String get settings_fastSpeed => 'Visoka hitrost';
@ -506,7 +505,8 @@ class AppLocalizationsSl extends AppLocalizations {
'Poti ne bodo samodejno čiščene.';
@override
String get appSettings_autoRouteRotation => 'Avtomatsko rotacija prenosne poti';
String get appSettings_autoRouteRotation =>
'Avtomatsko rotacija prenosne poti';
@override
String get appSettings_autoRouteRotationSubtitle =>
@ -551,8 +551,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get appSettings_showRepeaters => 'Prikaži repetitorje';
@override
String get appSettings_showRepeatersSubtitle =>
'Prikaži repetitorje na mapi';
String get appSettings_showRepeatersSubtitle => 'Prikaži repetitorje na mapi';
@override
String get appSettings_showChatNodes => 'Prikaži naprave za klepet';
@ -638,7 +637,7 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String get contacts_contactsWillAppear =>
'Stiki se bodo prikazali takoj, ko se naprave oglasijo.';
'Stiki se bodo prikazali, ko se naprave oglasijo.';
@override
String get contacts_searchContacts => 'Iskanje stikov...';
@ -647,8 +646,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get contacts_noUnreadContacts => 'Ne prebrani stiki.';
@override
String get contacts_noContactsFound =>
'Stiki niso najdeni.';
String get contacts_noContactsFound => 'Stiki niso najdeni.';
@override
String get contacts_deleteContact => 'Izbriši stik';
@ -659,10 +657,10 @@ class AppLocalizationsSl extends AppLocalizations {
}
@override
String get contacts_manageRepeater => 'Upravljanje repetitorjev';
String get contacts_manageRepeater => 'Upravljaj Ponovitve';
@override
String get contacts_manageRoom => 'Upravljanje strežniške sobe';
String get contacts_manageRoom => 'Upravljajte strežnik sobe';
@override
String get contacts_roomLogin => 'Prijava v sobo';
@ -862,20 +860,20 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String get channels_joinPublicChannelDesc =>
'Kdorkoli se lahko pridruži tej skupini.';
'Kdor karkoli je, lahko se pridruži tej skupini.';
@override
String get channels_joinHashtagChannel => 'Pridružite se kanalu s hashtagom';
String get channels_joinHashtagChannel => 'Pridružite se Kanalu z Hashtagom';
@override
String get channels_joinHashtagChannelDesc =>
'Kdorkoli se lahko pridruži hashtag kanalom.';
'Kdor karkoli, lahko se pridruži hashtag kanalom.';
@override
String get channels_scanQrCode => 'Skeniraj QR kodo';
@override
String get channels_scanQrCodeComingSoon => 'Prihaja kmalu';
String get channels_scanQrCodeComingSoon => 'Prihajajoča';
@override
String get channels_enterHashtag => 'Vnesite hashtag';
@ -895,7 +893,7 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String chat_replyingTo(String name) {
return 'Odgovori $name';
return 'Odgovarjanje $name';
}
@override
@ -930,7 +928,7 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String chat_retryCount(int current, int max) {
return 'Ponovitev $current/$max';
return 'Ponovit $current/$max';
}
@override
@ -997,7 +995,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get debugLog_bleCopied => 'Kopirana beležka iz BLE';
@override
String get debugLog_noEntries => 'Ni debug zapisov.';
String get debugLog_noEntries => 'Ni ustvarjenih debug zapisov.';
@override
String get debugLog_enableInSettings =>
@ -1019,7 +1017,7 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String debugFrame_command(String value) {
return 'Ukaz: 0x$value';
return 'Navodilo: 0x$value';
}
@override
@ -1152,7 +1150,7 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String get chat_pathSavedLocally =>
'Shranjeno lokalno. Povežite se za sinhronizacijo.';
'Shrano lokalno. Povežite se za sinhronizacijo.';
@override
String get chat_pathDeviceConfirmed => 'Naprave potrjeno.';
@ -2561,7 +2559,7 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String community_deleteConfirm(String name) {
return 'Zapustiti \"$name\"?';
return 'Zapusti \"$name\"?';
}
@override
@ -2575,7 +2573,7 @@ class AppLocalizationsSl extends AppLocalizations {
}
@override
String get community_regenerateSecret => 'Preberi nov tajni kôd';
String get community_regenerateSecret => 'Ponovno ustvari geslo';
@override
String community_regenerateSecretConfirm(String name) {
@ -2587,11 +2585,11 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String community_secretRegenerated(String name) {
return 'Tajna za \"$name\" ponovno ustvarjena';
return 'Geslo za \"$name\" ponovno ustvarjeno';
}
@override
String get community_updateSecret => 'Ažurniraj tajno';
String get community_updateSecret => 'Ažuriraj ključ';
@override
String community_secretUpdated(String name) {
@ -2600,7 +2598,7 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String community_scanToUpdateSecret(String name) {
return 'Skeniraj nov kôd QR za posodabljanje tajne za $name';
return 'Skeniraj novo QR kodo za posodabljanje ključa za $name';
}
@override
@ -2618,7 +2616,7 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String get community_regularHashtagDesc =>
'javna oznaka (kdorkoli lahko sodelujeje)';
'javna oznaka (kdorkoli lahko sodeluje)';
@override
String get community_communityHashtag => 'Skupnostni hashtag';
@ -2633,7 +2631,7 @@ class AppLocalizationsSl extends AppLocalizations {
}
@override
String get listFilter_tooltip => 'Filtri in sortiranje';
String get listFilter_tooltip => 'Filtri in vrstiči';
@override
String get listFilter_sortBy => 'Sortiraj po';
@ -2657,14 +2655,52 @@ class AppLocalizationsSl extends AppLocalizations {
String get listFilter_users => 'Uporabniki';
@override
String get listFilter_repeaters => 'Samo repetirorji';
String get listFilter_repeaters => 'Ponovitve';
@override
String get listFilter_roomServers => 'Samo room serverji';
String get listFilter_roomServers => 'Smeti za prostore';
@override
String get listFilter_unreadOnly => 'Samo neprebrani';
String get listFilter_unreadOnly => 'Nezbrani samo';
@override
String get listFilter_newGroup => 'Nova skupina';
@override
String get pathTrace_you => 'Ti';
@override
String get pathTrace_failed => 'Sledenje poti ni uspelo.';
@override
String get pathTrace_notAvailable => 'Potni sled ni na voljo.';
@override
String get pathTrace_refreshTooltip => 'Osveži Path Trace.';
@override
String get contacts_pathTrace => 'Sledenje poti';
@override
String get contacts_ping => 'Pingati';
@override
String get contacts_repeaterPathTrace => 'Sledi poti do ponavljalnika';
@override
String get contacts_repeaterPing => 'Pinguj ponavljalnik';
@override
String get contacts_roomPathTrace => 'Sledenje poti do strežnika sobe';
@override
String get contacts_roomPing => 'Ping strežnik sobe';
@override
String get contacts_chatTraceRoute => 'Slediti poti žarkov';
@override
String contacts_pathTraceTo(String name) {
return 'Trace route to $name';
}
}

View file

@ -2650,4 +2650,42 @@ class AppLocalizationsSv extends AppLocalizations {
@override
String get listFilter_newGroup => 'Ny grupp';
@override
String get pathTrace_you => 'Du';
@override
String get pathTrace_failed => 'Sökvägsföljning misslyckades.';
@override
String get pathTrace_notAvailable => 'Path trace ej tillgänglig.';
@override
String get pathTrace_refreshTooltip => 'Uppdatera Path Trace';
@override
String get contacts_pathTrace => 'Path Trace';
@override
String get contacts_ping => 'Ping';
@override
String get contacts_repeaterPathTrace => 'Vägspårning till repeater';
@override
String get contacts_repeaterPing => 'Ping-repeater';
@override
String get contacts_roomPathTrace => 'Vägspårning till rumserver';
@override
String get contacts_roomPing => 'Ping rumsserver';
@override
String get contacts_chatTraceRoute => 'Spåra rutt';
@override
String contacts_pathTraceTo(String name) {
return 'Spåra rutt till $name';
}
}

View file

@ -2686,4 +2686,42 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get listFilter_newGroup => 'Нова група';
@override
String get pathTrace_you => 'Ви';
@override
String get pathTrace_failed => 'Відстеження шляху не вдалося.';
@override
String get pathTrace_notAvailable => 'Трасування шляху недоступне.';
@override
String get pathTrace_refreshTooltip => 'Оновити Path Trace';
@override
String get contacts_pathTrace => 'Трасування шляхів';
@override
String get contacts_ping => 'Пінгувати';
@override
String get contacts_repeaterPathTrace => 'Трасування шляху до повторювача';
@override
String get contacts_repeaterPing => 'Пінгувати повторювач';
@override
String get contacts_roomPathTrace => 'Трасування шляху до серверу кімнати';
@override
String get contacts_roomPing => 'Пінг сервера кімнати';
@override
String get contacts_chatTraceRoute => 'Трасування шляху';
@override
String contacts_pathTraceTo(String name) {
return 'Відстежити маршрут до $name';
}
}

View file

@ -2531,4 +2531,42 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get listFilter_newGroup => '新组';
@override
String get pathTrace_you => '';
@override
String get pathTrace_failed => '路径追踪失败。';
@override
String get pathTrace_notAvailable => '路径追踪不可用';
@override
String get pathTrace_refreshTooltip => '刷新路径追踪';
@override
String get contacts_pathTrace => '路径追踪';
@override
String get contacts_ping => 'ping';
@override
String get contacts_repeaterPathTrace => '路径追踪到中继器';
@override
String get contacts_repeaterPing => 'Ping 中继器';
@override
String get contacts_roomPathTrace => '路径追踪至房间服务器';
@override
String get contacts_roomPing => 'Ping 房间服务器';
@override
String get contacts_chatTraceRoute => '路径追踪';
@override
String contacts_pathTraceTo(String name) {
return '追踪路由到 $name';
}
}

View file

@ -1533,5 +1533,24 @@
"community_regenerate": "Regeneer",
"community_updateSecret": "Bijwerken Geheime",
"community_secretUpdated": "Geheim gewijzigd voor \"{name}\"",
"community_scanToUpdateSecret": "Scan de nieuwe QR-code om het geheim voor \"{name}\" bij te werken"
"community_scanToUpdateSecret": "Scan de nieuwe QR-code om het geheim voor \"{name}\" bij te werken",
"@contacts_pathTraceTo": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"pathTrace_you": "Jij",
"pathTrace_failed": "Padtrace mislukt.",
"pathTrace_notAvailable": "Padtrace niet beschikbaar.",
"pathTrace_refreshTooltip": "Path Trace vernieuwen.",
"contacts_pathTrace": "Pad Traceren",
"contacts_ping": "Pingen",
"contacts_repeaterPathTrace": "Pad traceren naar repeater",
"contacts_repeaterPing": "Ping repeater",
"contacts_roomPathTrace": "Padtrace naar room server",
"contacts_roomPing": "Ping kamer server",
"contacts_chatTraceRoute": "Route traceren",
"contacts_pathTraceTo": "Trace route to {name}"
}

View file

@ -1533,5 +1533,24 @@
"community_regenerateSecretConfirm": "Regeneruj tajny klucz dla \"{name}\"? Wszyscy członkowie będą musieli zeskanować nowy kod QR, aby kontynuować komunikację.",
"community_scanToUpdateSecret": "Skanuj nowy kod QR, aby zaktualizować sekret dla \"{name}\"",
"community_secretUpdated": "Hasło zaktualizowane dla \"{name}\"",
"community_updateSecret": "Zaktualizuj tajny klucz"
"community_updateSecret": "Zaktualizuj tajny klucz",
"@contacts_pathTraceTo": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"pathTrace_you": "Ty",
"pathTrace_failed": "Śledzenie ścieżki nie powiodło się.",
"pathTrace_notAvailable": "Ścieżka śledzenia niedostępna.",
"contacts_pathTrace": "Śledzenie Ścieżek",
"contacts_ping": "Pingować",
"contacts_repeaterPathTrace": "Śledzenie ścieżki do repeatera",
"contacts_roomPathTrace": "Śledzenie ścieżki do serwera pokojowego",
"contacts_roomPing": "Pinguj serwer pokoju",
"pathTrace_refreshTooltip": "Odśwież ścieżkę.",
"contacts_repeaterPing": "Repeater pingowy",
"contacts_pathTraceTo": "Śledź trasę do {name}",
"contacts_chatTraceRoute": "Śledź trasę promienia"
}

View file

@ -1533,5 +1533,24 @@
"community_regenerate": "Regenerar",
"community_secretUpdated": "Segredo atualizado para \"{name}\"",
"community_scanToUpdateSecret": "Scanar o novo código QR para atualizar o segredo para \"{name}\"\n\n\n+++++",
"community_updateSecret": "Atualizar Segredo"
"community_updateSecret": "Atualizar Segredo",
"@contacts_pathTraceTo": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"pathTrace_you": "Você",
"pathTrace_failed": "Falha no rastreamento de caminho.",
"pathTrace_notAvailable": "Traçado de caminho não disponível.",
"pathTrace_refreshTooltip": "Atualizar Path Trace.",
"contacts_pathTrace": "Traçado de Caminho",
"contacts_ping": "Pingar",
"contacts_repeaterPathTrace": "Traçar caminho para repetidor",
"contacts_repeaterPing": "Pingar repetidor",
"contacts_roomPathTrace": "Traçar caminho para o servidor da sala",
"contacts_roomPing": "Pingar servidor da sala",
"contacts_chatTraceRoute": "Rastrear rota do caminho",
"contacts_pathTraceTo": "Rastrear rota para {name}"
}

View file

@ -774,5 +774,24 @@
"chat_openLink": "Открыть ссылку?",
"chat_openLinkConfirmation": "Хотите открыть эту ссылку в вашем браузере?",
"neighbors_heardAgo": "Слушал(а): {time} назад",
"chat_invalidLink": "Неправильный формат ссылки"
"chat_invalidLink": "Неправильный формат ссылки",
"@contacts_pathTraceTo": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"pathTrace_you": "Вы",
"pathTrace_failed": "Путь трассировки не выполнен.",
"pathTrace_notAvailable": "Трассировка пути недоступна.",
"pathTrace_refreshTooltip": "Обновить Path Trace",
"contacts_pathTrace": "Трассировка пути",
"contacts_ping": "Пинговать",
"contacts_repeaterPathTrace": "Отследить путь к ретранслятору",
"contacts_repeaterPing": "Пинговать повторитель",
"contacts_roomPathTrace": "Трассировка пути к серверу комнаты",
"contacts_roomPing": "Пинговать сервер комнаты",
"contacts_chatTraceRoute": "Трассировка маршрута",
"contacts_pathTraceTo": "Показать маршрут к {name}"
}

View file

@ -1533,5 +1533,24 @@
"community_regenerateSecret": "Zobraziť nový tajný kód",
"community_scanToUpdateSecret": "Skáňte nový QR kód na aktualizáciu tajného hesla pre \"{name}\"",
"community_updateSecret": "Aktualizovať tajné heslo",
"community_secretUpdated": "Zmena tajnej slova pre \"{name}\""
"community_secretUpdated": "Zmena tajnej slova pre \"{name}\"",
"@contacts_pathTraceTo": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"pathTrace_you": "Vy",
"pathTrace_failed": "Sledovanie cesty zlyhalo.",
"pathTrace_notAvailable": "Path trace nie je k dispozícii.",
"pathTrace_refreshTooltip": "Obnoviť Path Trace.",
"contacts_pathTrace": "Sledovanie lúčov",
"contacts_ping": "Pingovať",
"contacts_repeaterPathTrace": "Sledovanie cesty k opakovaču",
"contacts_repeaterPing": "Pingovať opakovač",
"contacts_roomPathTrace": "Sledovanie cesty k serveru miestnosti",
"contacts_roomPing": "Ping server miestnosti",
"contacts_chatTraceRoute": "Sledovať trasu lúča",
"contacts_pathTraceTo": "Sledovať trasu k {name}"
}

View file

@ -1533,5 +1533,24 @@
"community_regenerate": "Preberi znova",
"community_scanToUpdateSecret": "Skeniraj novo QR kodo za posodabljanje ključa za {name}",
"community_updateSecret": "Ažuriraj ključ",
"community_secretUpdated": "Skrivnostno spremembo za \"{name}\""
"community_secretUpdated": "Skrivnostno spremembo za \"{name}\"",
"@contacts_pathTraceTo": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"pathTrace_you": "Ti",
"pathTrace_failed": "Sledenje poti ni uspelo.",
"pathTrace_notAvailable": "Potni sled ni na voljo.",
"pathTrace_refreshTooltip": "Osveži Path Trace.",
"contacts_pathTrace": "Sledenje poti",
"contacts_ping": "Pingati",
"contacts_repeaterPathTrace": "Sledi poti do ponavljalnika",
"contacts_repeaterPing": "Pinguj ponavljalnik",
"contacts_roomPathTrace": "Sledenje poti do strežnika sobe",
"contacts_roomPing": "Ping strežnik sobe",
"contacts_chatTraceRoute": "Slediti poti žarkov",
"contacts_pathTraceTo": "Trace route to {name}"
}

View file

@ -1533,5 +1533,24 @@
"community_regenerateSecret": "Regenerera hemlig kod",
"community_scanToUpdateSecret": "Skanna den nya QR-koden för att uppdatera hemligheten för \"{name}\"",
"community_secretUpdated": "Hemlighet uppdaterad för \"{name}\"",
"community_updateSecret": "Uppdatera hemlighet"
"community_updateSecret": "Uppdatera hemlighet",
"@contacts_pathTraceTo": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"pathTrace_you": "Du",
"pathTrace_failed": "Sökvägsföljning misslyckades.",
"pathTrace_notAvailable": "Path trace ej tillgänglig.",
"pathTrace_refreshTooltip": "Uppdatera Path Trace",
"contacts_pathTrace": "Path Trace",
"contacts_ping": "Ping",
"contacts_repeaterPathTrace": "Vägspårning till repeater",
"contacts_repeaterPing": "Ping-repeater",
"contacts_roomPathTrace": "Vägspårning till rumserver",
"contacts_roomPing": "Ping rumsserver",
"contacts_chatTraceRoute": "Spåra rutt",
"contacts_pathTraceTo": "Spåra rutt till {name}"
}

View file

@ -1534,5 +1534,24 @@
"community_secretRegenerated": "Секретний пароль для «{name}» перегенеровано",
"community_scanToUpdateSecret": "Відскануйте новий QR-код, щоб оновити пароль для «{name}»",
"community_updateSecret": "Оновити секрет",
"community_secretUpdated": "Зміну секрету для «{name}» оновлено"
}
"community_secretUpdated": "Зміну секрету для «{name}» оновлено",
"@contacts_pathTraceTo": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"pathTrace_you": "Ви",
"pathTrace_failed": "Відстеження шляху не вдалося.",
"pathTrace_notAvailable": "Трасування шляху недоступне.",
"pathTrace_refreshTooltip": "Оновити Path Trace",
"contacts_pathTrace": "Трасування шляхів",
"contacts_ping": "Пінгувати",
"contacts_repeaterPathTrace": "Трасування шляху до повторювача",
"contacts_repeaterPing": "Пінгувати повторювач",
"contacts_roomPathTrace": "Трасування шляху до серверу кімнати",
"contacts_roomPing": "Пінг сервера кімнати",
"contacts_chatTraceRoute": "Трасування шляху",
"contacts_pathTraceTo": "Відстежити маршрут до {name}"
}

View file

@ -1533,5 +1533,24 @@
"community_regenerateSecretConfirm": "重新生成“{name}”的秘密密钥?所有成员将需要扫描新的二维码才能继续沟通。",
"community_scanToUpdateSecret": "扫描新的二维码更新\"{name}\"的密码",
"community_updateSecret": "更新密钥",
"community_secretUpdated": "密码已更新为“{name}”"
"community_secretUpdated": "密码已更新为“{name}”",
"@contacts_pathTraceTo": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"pathTrace_you": "你",
"pathTrace_failed": "路径追踪失败。",
"pathTrace_notAvailable": "路径追踪不可用",
"pathTrace_refreshTooltip": "刷新路径追踪",
"contacts_pathTrace": "路径追踪",
"contacts_ping": "ping",
"contacts_repeaterPathTrace": "路径追踪到中继器",
"contacts_repeaterPing": "Ping 中继器",
"contacts_roomPathTrace": "路径追踪至房间服务器",
"contacts_roomPing": "Ping 房间服务器",
"contacts_chatTraceRoute": "路径追踪",
"contacts_pathTraceTo": "追踪路由到 {name}"
}

View file

@ -466,7 +466,7 @@ def fmt_duration(seconds: float) -> str:
def find_missing_keys(source_data: Dict[str, Any], target_data: Dict[str, Any]) -> List[str]:
"""Find keys that are in source but not in target (excluding metadata keys)."""
"""Find keys that are in source but not in target, or have empty values (excluding metadata keys)."""
missing = []
for key in source_data:
if key == "@@locale":
@ -475,6 +475,9 @@ def find_missing_keys(source_data: Dict[str, Any], target_data: Dict[str, Any])
continue
if key not in target_data:
missing.append(key)
elif isinstance(target_data.get(key), str) and target_data[key].strip() == "":
# Also include keys with empty string values
missing.append(key)
return missing