From 935b7b07ebe956cfe1a93ff92572dc2daf597156 Mon Sep 17 00:00:00 2001 From: Zach Date: Wed, 28 Jan 2026 22:05:04 -0700 Subject: [PATCH] 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 --- lib/l10n/app_bg.arb | 21 ++++- lib/l10n/app_de.arb | 21 ++++- lib/l10n/app_es.arb | 21 ++++- lib/l10n/app_fr.arb | 21 ++++- lib/l10n/app_it.arb | 21 ++++- lib/l10n/app_localizations.dart | 72 +++++++++++++++ lib/l10n/app_localizations_bg.dart | 38 ++++++++ lib/l10n/app_localizations_de.dart | 38 ++++++++ lib/l10n/app_localizations_en.dart | 38 ++++++++ lib/l10n/app_localizations_es.dart | 39 ++++++++ lib/l10n/app_localizations_fr.dart | 39 ++++++++ lib/l10n/app_localizations_it.dart | 40 +++++++++ lib/l10n/app_localizations_nl.dart | 38 ++++++++ lib/l10n/app_localizations_pl.dart | 39 ++++++++ lib/l10n/app_localizations_pt.dart | 38 ++++++++ lib/l10n/app_localizations_ru.dart | 38 ++++++++ lib/l10n/app_localizations_sk.dart | 38 ++++++++ lib/l10n/app_localizations_sl.dart | 138 ++++++++++++++++++----------- lib/l10n/app_localizations_sv.dart | 38 ++++++++ lib/l10n/app_localizations_uk.dart | 38 ++++++++ lib/l10n/app_localizations_zh.dart | 38 ++++++++ lib/l10n/app_nl.arb | 21 ++++- lib/l10n/app_pl.arb | 21 ++++- lib/l10n/app_pt.arb | 21 ++++- lib/l10n/app_ru.arb | 21 ++++- lib/l10n/app_sk.arb | 21 ++++- lib/l10n/app_sl.arb | 21 ++++- lib/l10n/app_sv.arb | 21 ++++- lib/l10n/app_uk.arb | 23 ++++- lib/l10n/app_zh.arb | 21 ++++- tools/translate.py | 5 +- 31 files changed, 981 insertions(+), 67 deletions(-) diff --git a/lib/l10n/app_bg.arb b/lib/l10n/app_bg.arb index e5f40f3..958d963 100644 --- a/lib/l10n/app_bg.arb +++ b/lib/l10n/app_bg.arb @@ -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}" } diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 0bb17c8..8e45b7c 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -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" } diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index 4b6b526..1cdfb7b 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -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" } diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index 1b69540..88c65d6 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -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" } diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index cd031fb..acd440b 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -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" } diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index d40c791..ec047bd 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -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 diff --git a/lib/l10n/app_localizations_bg.dart b/lib/l10n/app_localizations_bg.dart index 9b70d9c..520b00d 100644 --- a/lib/l10n/app_localizations_bg.dart +++ b/lib/l10n/app_localizations_bg.dart @@ -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'; + } } diff --git a/lib/l10n/app_localizations_de.dart b/lib/l10n/app_localizations_de.dart index 9bab237..e0ccd3d 100644 --- a/lib/l10n/app_localizations_de.dart +++ b/lib/l10n/app_localizations_de.dart @@ -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'; + } } diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index 86f18ba..9a1634f 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -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'; + } } diff --git a/lib/l10n/app_localizations_es.dart b/lib/l10n/app_localizations_es.dart index 908c88c..7f2f489 100644 --- a/lib/l10n/app_localizations_es.dart +++ b/lib/l10n/app_localizations_es.dart @@ -2675,4 +2675,43 @@ class AppLocalizationsEs extends AppLocalizations { @override String get listFilter_newGroup => 'Nuevo grupo'; + + @override + String get pathTrace_you => 'Tú'; + + @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'; + } } diff --git a/lib/l10n/app_localizations_fr.dart b/lib/l10n/app_localizations_fr.dart index 07ec4c8..fbc797f 100644 --- a/lib/l10n/app_localizations_fr.dart +++ b/lib/l10n/app_localizations_fr.dart @@ -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'; + } } diff --git a/lib/l10n/app_localizations_it.dart b/lib/l10n/app_localizations_it.dart index 83010d8..b5b100a 100644 --- a/lib/l10n/app_localizations_it.dart +++ b/lib/l10n/app_localizations_it.dart @@ -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'; + } } diff --git a/lib/l10n/app_localizations_nl.dart b/lib/l10n/app_localizations_nl.dart index ce60a8f..3ca198c 100644 --- a/lib/l10n/app_localizations_nl.dart +++ b/lib/l10n/app_localizations_nl.dart @@ -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'; + } } diff --git a/lib/l10n/app_localizations_pl.dart b/lib/l10n/app_localizations_pl.dart index 13fbeb0..491f76d 100644 --- a/lib/l10n/app_localizations_pl.dart +++ b/lib/l10n/app_localizations_pl.dart @@ -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'; + } } diff --git a/lib/l10n/app_localizations_pt.dart b/lib/l10n/app_localizations_pt.dart index 3f54001..f88a497 100644 --- a/lib/l10n/app_localizations_pt.dart +++ b/lib/l10n/app_localizations_pt.dart @@ -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'; + } } diff --git a/lib/l10n/app_localizations_ru.dart b/lib/l10n/app_localizations_ru.dart index ae784e4..72da35c 100644 --- a/lib/l10n/app_localizations_ru.dart +++ b/lib/l10n/app_localizations_ru.dart @@ -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'; + } } diff --git a/lib/l10n/app_localizations_sk.dart b/lib/l10n/app_localizations_sk.dart index 75d4654..23e3f1a 100644 --- a/lib/l10n/app_localizations_sk.dart +++ b/lib/l10n/app_localizations_sk.dart @@ -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'; + } } diff --git a/lib/l10n/app_localizations_sl.dart b/lib/l10n/app_localizations_sl.dart index 38bfe3d..4ad59e8 100644 --- a/lib/l10n/app_localizations_sl.dart +++ b/lib/l10n/app_localizations_sl.dart @@ -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 => 'Naložanje...'; @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'; + } } diff --git a/lib/l10n/app_localizations_sv.dart b/lib/l10n/app_localizations_sv.dart index 34b54b4..885d7d6 100644 --- a/lib/l10n/app_localizations_sv.dart +++ b/lib/l10n/app_localizations_sv.dart @@ -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'; + } } diff --git a/lib/l10n/app_localizations_uk.dart b/lib/l10n/app_localizations_uk.dart index bc431ea..9f223da 100644 --- a/lib/l10n/app_localizations_uk.dart +++ b/lib/l10n/app_localizations_uk.dart @@ -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'; + } } diff --git a/lib/l10n/app_localizations_zh.dart b/lib/l10n/app_localizations_zh.dart index cd9c3be..fc8d78b 100644 --- a/lib/l10n/app_localizations_zh.dart +++ b/lib/l10n/app_localizations_zh.dart @@ -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'; + } } diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index 48ef3dd..b28d668 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -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}" } diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 823bba1..8070ac3 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -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" } diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index b48db37..6994bea 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -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}" } diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb index e0c2cbe..f007aa7 100644 --- a/lib/l10n/app_ru.arb +++ b/lib/l10n/app_ru.arb @@ -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}" } diff --git a/lib/l10n/app_sk.arb b/lib/l10n/app_sk.arb index 71871d1..4e66af0 100644 --- a/lib/l10n/app_sk.arb +++ b/lib/l10n/app_sk.arb @@ -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}" } diff --git a/lib/l10n/app_sl.arb b/lib/l10n/app_sl.arb index 346cdaa..805621b 100644 --- a/lib/l10n/app_sl.arb +++ b/lib/l10n/app_sl.arb @@ -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}" } diff --git a/lib/l10n/app_sv.arb b/lib/l10n/app_sv.arb index f1da7c8..da017be 100644 --- a/lib/l10n/app_sv.arb +++ b/lib/l10n/app_sv.arb @@ -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}" } diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index 492805e..85ce4a2 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -1534,5 +1534,24 @@ "community_secretRegenerated": "Секретний пароль для «{name}» перегенеровано", "community_scanToUpdateSecret": "Відскануйте новий QR-код, щоб оновити пароль для «{name}»", "community_updateSecret": "Оновити секрет", - "community_secretUpdated": "Зміну секрету для «{name}» оновлено" -} \ No newline at end of file + "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}" +} diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index ae10f60..5f0c797 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -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}" } diff --git a/tools/translate.py b/tools/translate.py index 06a95f2..84d172a 100644 --- a/tools/translate.py +++ b/tools/translate.py @@ -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