Add localization support for German, Spanish, French, and Italian

- Updated localization files for French, Croatian, Italian, Slovenian to include translations for German, Spanish, French, and Italian.
- Added new methods for handling drawing messages sent to the public channel in multiple languages.
- Enhanced the Contact model to identify public channels using a dedicated method.
- Implemented echo detection for public channel messages, including tracking and reporting of echoes.
- Updated BLE response handling to support echo detection and tracking of sent messages.
- Modified UI components to reflect new localization strings and echo statuses.
This commit is contained in:
Janez T
2025-10-18 22:39:26 +02:00
parent da03592980
commit 52b2f4ede1
30 changed files with 1971 additions and 37 deletions

View File

@@ -232,6 +232,26 @@
"description": "Kroatische Sprachoption"
},
"german": "Deutsch",
"@german": {
"description": "Deutsche Sprachoption"
},
"spanish": "Spanisch",
"@spanish": {
"description": "Spanische Sprachoption"
},
"french": "Französisch",
"@french": {
"description": "Französische Sprachoption"
},
"italian": "Italienisch",
"@italian": {
"description": "Italienische Sprachoption"
},
"locationBroadcasting": "Standortübertragung",
"@locationBroadcasting": {
"description": "Überschrift des Standorteinstellungsbereichs"
@@ -639,6 +659,24 @@
"description": "Beschreibung für dauerhafte Raumspeicherung"
},
"drawingsSentToPublicChannel": "{count} Kartenzeichnung{plural} an öffentlichen Kanal gesendet",
"@drawingsSentToPublicChannel": {
"description": "Systemnachricht, wenn Zeichnungen an den öffentlichen Kanal gesendet werden",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"drawingsSharedToPublicChannel": "{success}/{total} Zeichnungen mit öffentlichem Kanal geteilt",
"@drawingsSharedToPublicChannel": {
"description": "Snackbar-Nachricht, die die Erfolgsanzahl für geteilte Zeichnungen im öffentlichen Kanal anzeigt",
"placeholders": {
"success": {"type": "int"},
"total": {"type": "int"}
}
},
"notConnectedToDevice": "Nicht mit Gerät verbunden",
"@notConnectedToDevice": {
"description": "Fehlermeldung, wenn das Gerät nicht für Direktnachrichten verbunden ist"
@@ -1715,6 +1753,11 @@
"description": "Zustellungsstatus: fehlgeschlagen"
},
"broadcast": "Broadcast",
"@broadcast": {
"description": "Zustellstatus für Kanalnachrichten (noch keine Echos)"
},
"sarMarkerFoundPerson": "Person gefunden",
"@sarMarkerFoundPerson": {
"description": "SAR-Markierungstyp: Person gefunden"

View File

@@ -232,6 +232,26 @@
"description": "Croatian language option"
},
"german": "German",
"@german": {
"description": "German language option"
},
"spanish": "Spanish",
"@spanish": {
"description": "Spanish language option"
},
"french": "French",
"@french": {
"description": "French language option"
},
"italian": "Italian",
"@italian": {
"description": "Italian language option"
},
"locationBroadcasting": "Location Broadcasting",
"@locationBroadcasting": {
"description": "Location settings section header"
@@ -639,6 +659,24 @@
"description": "Description for room storage permanence"
},
"drawingsSentToPublicChannel": "Sent {count} map drawing{plural} to Public Channel",
"@drawingsSentToPublicChannel": {
"description": "System message when drawings are sent to public channel",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"drawingsSharedToPublicChannel": "Shared {success}/{total} drawings to Public Channel",
"@drawingsSharedToPublicChannel": {
"description": "Snackbar message showing success count for drawings shared to public channel",
"placeholders": {
"success": {"type": "int"},
"total": {"type": "int"}
}
},
"notConnectedToDevice": "Not connected to device",
"@notConnectedToDevice": {
"description": "Error message when device is not connected for direct messaging"
@@ -1715,6 +1753,11 @@
"description": "Delivery status: failed"
},
"broadcast": "Broadcast",
"@broadcast": {
"description": "Delivery status for channel messages (no echoes yet)"
},
"sarMarkerFoundPerson": "Found Person",
"@sarMarkerFoundPerson": {
"description": "SAR marker type: found person"

View File

@@ -232,6 +232,26 @@
"description": "Opción de idioma croata"
},
"german": "Alemán",
"@german": {
"description": "Opción de idioma alemán"
},
"spanish": "Español",
"@spanish": {
"description": "Opción de idioma español"
},
"french": "Francés",
"@french": {
"description": "Opción de idioma francés"
},
"italian": "Italiano",
"@italian": {
"description": "Opción de idioma italiano"
},
"locationBroadcasting": "Difusión de ubicación",
"@locationBroadcasting": {
"description": "Encabezado de la sección de configuración de ubicación"
@@ -639,6 +659,24 @@
"description": "Descripción de la permanencia del almacenamiento en la sala"
},
"drawingsSentToPublicChannel": "{count} dibujo{plural} de mapa enviado al Canal Público",
"@drawingsSentToPublicChannel": {
"description": "Mensaje del sistema cuando se envían dibujos al canal público",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"drawingsSharedToPublicChannel": "{success}/{total} dibujos compartidos al Canal Público",
"@drawingsSharedToPublicChannel": {
"description": "Mensaje de snackbar mostrando el recuento de éxitos para dibujos compartidos al canal público",
"placeholders": {
"success": {"type": "int"},
"total": {"type": "int"}
}
},
"notConnectedToDevice": "No conectado al dispositivo",
"@notConnectedToDevice": {
"description": "Mensaje de error cuando el dispositivo no está conectado para mensajería directa"
@@ -1715,6 +1753,11 @@
"description": "Estado de entrega: fallido"
},
"broadcast": "Difusión",
"@broadcast": {
"description": "Estado de entrega para mensajes de canal (sin ecos aún)"
},
"sarMarkerFoundPerson": "Persona encontrada",
"@sarMarkerFoundPerson": {
"description": "Tipo de marcador SAR: persona encontrada"

View File

@@ -232,6 +232,26 @@
"description": "Option de langue croate"
},
"german": "Allemand",
"@german": {
"description": "Option de langue allemande"
},
"spanish": "Espagnol",
"@spanish": {
"description": "Option de langue espagnole"
},
"french": "Français",
"@french": {
"description": "Option de langue française"
},
"italian": "Italien",
"@italian": {
"description": "Option de langue italienne"
},
"locationBroadcasting": "Diffusion de position",
"@locationBroadcasting": {
"description": "En-tête de section des paramètres de localisation"
@@ -639,6 +659,24 @@
"description": "Description de la permanence du stockage dans le salon"
},
"drawingsSentToPublicChannel": "{count} dessin{plural} de carte envoyé au Canal Public",
"@drawingsSentToPublicChannel": {
"description": "Message système lors de l'envoi de dessins au canal public",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"drawingsSharedToPublicChannel": "{success}/{total} dessins partagés sur le Canal Public",
"@drawingsSharedToPublicChannel": {
"description": "Message de snackbar montrant le nombre de succès pour les dessins partagés sur le canal public",
"placeholders": {
"success": {"type": "int"},
"total": {"type": "int"}
}
},
"notConnectedToDevice": "Non connecté à l'appareil",
"@notConnectedToDevice": {
"description": "Message d'erreur lorsque l'appareil n'est pas connecté pour la messagerie directe"
@@ -1715,6 +1753,11 @@
"description": "État de livraison : échec"
},
"broadcast": "Diffusion",
"@broadcast": {
"description": "État de livraison pour les messages de canal (pas encore d'échos)"
},
"sarMarkerFoundPerson": "Personne trouvée",
"@sarMarkerFoundPerson": {
"description": "Type de marqueur SAR : personne trouvée"

View File

@@ -85,6 +85,14 @@
"croatian": "Hrvatski",
"german": "Njemački",
"spanish": "Španjolski",
"french": "Francuski",
"italian": "Talijanski",
"locationBroadcasting": "Emitiranje lokacije",
"autoLocationTracking": "Automatsko praćenje lokacije",
@@ -223,6 +231,10 @@
"storedPermanently": "Trajno pohranjeno u sobi",
"drawingsSentToPublicChannel": "Poslano {count} crtež{plural} na javni kanal",
"drawingsSharedToPublicChannel": "Podijeljeno {success}/{total} crteža na javni kanal",
"notConnectedToDevice": "Nije povezano s uređajem",
"directMessage": "Izravna poruka",
@@ -285,7 +297,7 @@
"direct": "Izravno",
"flood": "Poplava",
"flood": "Preplavljanje",
"admin": "Administrator",
@@ -297,13 +309,13 @@
"pingingDirect": "Pingiranje {name} (izravno putem puta)...",
"pingingFlood": "Pingiranje {name} (poplava - nema puta)...",
"pingingFlood": "Pingiranje {name} (preplavljanje - nema puta)...",
"directPingTimeout": "Istek izravnog pinga - ponovni pokušaj {name} s poplavom...",
"directPingTimeout": "Istek izravnog pinga - ponovni pokušaj {name} s preplavljanjem...",
"pingSuccessful": "Ping uspješan prema {name}{fallback}",
"viaFloodingFallback": " (putem rezervnog plavljenja)",
"viaFloodingFallback": " (putem rezervnog preplavljanja)",
"pingFailed": "Ping neuspješan prema {name} - nije primljen odgovor",
@@ -543,6 +555,8 @@
"failed": "Neuspjelo",
"broadcast": "Emitirano",
"messageSentToPublicChannel": "Poruka poslana na javni kanal",
"pleaseSelectRoomToSendSar": "Molimo odaberite sobu za slanje SAR markera",

View File

@@ -232,6 +232,26 @@
"description": "Opzione lingua croata"
},
"german": "Tedesco",
"@german": {
"description": "Opzione lingua tedesca"
},
"spanish": "Spagnolo",
"@spanish": {
"description": "Opzione lingua spagnola"
},
"french": "Francese",
"@french": {
"description": "Opzione lingua francese"
},
"italian": "Italiano",
"@italian": {
"description": "Opzione lingua italiana"
},
"locationBroadcasting": "Trasmissione Posizione",
"@locationBroadcasting": {
"description": "Intestazione sezione impostazioni posizione"
@@ -639,6 +659,24 @@
"description": "Descrizione per la permanenza dell'archiviazione nella stanza"
},
"drawingsSentToPublicChannel": "{count} disegno{plural} mappa inviato al Canale Pubblico",
"@drawingsSentToPublicChannel": {
"description": "Messaggio di sistema quando i disegni vengono inviati al canale pubblico",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"drawingsSharedToPublicChannel": "{success}/{total} disegni condivisi sul Canale Pubblico",
"@drawingsSharedToPublicChannel": {
"description": "Messaggio snackbar che mostra il conteggio dei successi per i disegni condivisi sul canale pubblico",
"placeholders": {
"success": {"type": "int"},
"total": {"type": "int"}
}
},
"notConnectedToDevice": "Non connesso al dispositivo",
"@notConnectedToDevice": {
"description": "Messaggio di errore quando il dispositivo non è connesso per la messaggistica diretta"
@@ -1715,6 +1753,11 @@
"description": "Stato consegna: fallito"
},
"broadcast": "Trasmissione",
"@broadcast": {
"description": "Stato di consegna per messaggi di canale (nessun eco ancora)"
},
"sarMarkerFoundPerson": "Persona Trovata",
"@sarMarkerFoundPerson": {
"description": "Tipo marcatore SAR: persona trovata"

View File

@@ -360,6 +360,30 @@ abstract class AppLocalizations {
/// **'Croatian'**
String get croatian;
/// German language option
///
/// In en, this message translates to:
/// **'German'**
String get german;
/// Spanish language option
///
/// In en, this message translates to:
/// **'Spanish'**
String get spanish;
/// French language option
///
/// In en, this message translates to:
/// **'French'**
String get french;
/// Italian language option
///
/// In en, this message translates to:
/// **'Italian'**
String get italian;
/// Location settings section header
///
/// In en, this message translates to:
@@ -779,6 +803,18 @@ abstract class AppLocalizations {
/// **'Stored permanently in room'**
String get storedPermanently;
/// System message when drawings are sent to public channel
///
/// In en, this message translates to:
/// **'Sent {count} map drawing{plural} to Public Channel'**
String drawingsSentToPublicChannel(int count, String plural);
/// Snackbar message showing success count for drawings shared to public channel
///
/// In en, this message translates to:
/// **'Shared {success}/{total} drawings to Public Channel'**
String drawingsSharedToPublicChannel(int success, int total);
/// Error message when device is not connected for direct messaging
///
/// In en, this message translates to:
@@ -1835,6 +1871,12 @@ abstract class AppLocalizations {
/// **'Failed'**
String get failed;
/// Delivery status for channel messages (no echoes yet)
///
/// In en, this message translates to:
/// **'Broadcast'**
String get broadcast;
/// SAR marker type: found person
///
/// In en, this message translates to:

View File

@@ -145,6 +145,18 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get croatian => 'Kroatisch';
@override
String get german => 'Deutsch';
@override
String get spanish => 'Spanisch';
@override
String get french => 'Französisch';
@override
String get italian => 'Italienisch';
@override
String get locationBroadcasting => 'Standortübertragung';
@@ -388,6 +400,16 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get storedPermanently => 'Dauerhaft im Raum gespeichert';
@override
String drawingsSentToPublicChannel(int count, String plural) {
return '$count Kartenzeichnung$plural an öffentlichen Kanal gesendet';
}
@override
String drawingsSharedToPublicChannel(int success, int total) {
return '$success/$total Zeichnungen mit öffentlichem Kanal geteilt';
}
@override
String get notConnectedToDevice => 'Nicht mit Gerät verbunden';
@@ -1009,6 +1031,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get failed => 'Fehlgeschlagen';
@override
String get broadcast => 'Broadcast';
@override
String get sarMarkerFoundPerson => 'Person gefunden';

View File

@@ -144,6 +144,18 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get croatian => 'Croatian';
@override
String get german => 'German';
@override
String get spanish => 'Spanish';
@override
String get french => 'French';
@override
String get italian => 'Italian';
@override
String get locationBroadcasting => 'Location Broadcasting';
@@ -385,6 +397,16 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get storedPermanently => 'Stored permanently in room';
@override
String drawingsSentToPublicChannel(int count, String plural) {
return 'Sent $count map drawing$plural to Public Channel';
}
@override
String drawingsSharedToPublicChannel(int success, int total) {
return 'Shared $success/$total drawings to Public Channel';
}
@override
String get notConnectedToDevice => 'Not connected to device';
@@ -999,6 +1021,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get failed => 'Failed';
@override
String get broadcast => 'Broadcast';
@override
String get sarMarkerFoundPerson => 'Found Person';

View File

@@ -144,6 +144,18 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get croatian => 'Croata';
@override
String get german => 'Alemán';
@override
String get spanish => 'Español';
@override
String get french => 'Francés';
@override
String get italian => 'Italiano';
@override
String get locationBroadcasting => 'Difusión de ubicación';
@@ -386,6 +398,16 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get storedPermanently => 'Almacenado permanentemente en la sala';
@override
String drawingsSentToPublicChannel(int count, String plural) {
return '$count dibujo$plural de mapa enviado al Canal Público';
}
@override
String drawingsSharedToPublicChannel(int success, int total) {
return '$success/$total dibujos compartidos al Canal Público';
}
@override
String get notConnectedToDevice => 'No conectado al dispositivo';
@@ -1005,6 +1027,9 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get failed => 'Fallido';
@override
String get broadcast => 'Difusión';
@override
String get sarMarkerFoundPerson => 'Persona encontrada';

View File

@@ -145,6 +145,18 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get croatian => 'Croate';
@override
String get german => 'Allemand';
@override
String get spanish => 'Espagnol';
@override
String get french => 'Français';
@override
String get italian => 'Italien';
@override
String get locationBroadcasting => 'Diffusion de position';
@@ -389,6 +401,16 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get storedPermanently => 'Stocké de manière permanente dans le salon';
@override
String drawingsSentToPublicChannel(int count, String plural) {
return '$count dessin$plural de carte envoyé au Canal Public';
}
@override
String drawingsSharedToPublicChannel(int success, int total) {
return '$success/$total dessins partagés sur le Canal Public';
}
@override
String get notConnectedToDevice => 'Non connecté à l\'appareil';
@@ -1010,6 +1032,9 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get failed => 'Échec';
@override
String get broadcast => 'Diffusion';
@override
String get sarMarkerFoundPerson => 'Personne trouvée';

View File

@@ -144,6 +144,18 @@ class AppLocalizationsHr extends AppLocalizations {
@override
String get croatian => 'Hrvatski';
@override
String get german => 'Njemački';
@override
String get spanish => 'Španjolski';
@override
String get french => 'Francuski';
@override
String get italian => 'Talijanski';
@override
String get locationBroadcasting => 'Emitiranje lokacije';
@@ -385,6 +397,16 @@ class AppLocalizationsHr extends AppLocalizations {
@override
String get storedPermanently => 'Trajno pohranjeno u sobi';
@override
String drawingsSentToPublicChannel(int count, String plural) {
return 'Poslano $count crtež$plural na javni kanal';
}
@override
String drawingsSharedToPublicChannel(int success, int total) {
return 'Podijeljeno $success/$total crteža na javni kanal';
}
@override
String get notConnectedToDevice => 'Nije povezano s uređajem';
@@ -494,7 +516,7 @@ class AppLocalizationsHr extends AppLocalizations {
String get direct => 'Izravno';
@override
String get flood => 'Poplava';
String get flood => 'Preplavljanje';
@override
String get admin => 'Administrator';
@@ -515,12 +537,12 @@ class AppLocalizationsHr extends AppLocalizations {
@override
String pingingFlood(String name) {
return 'Pingiranje $name (poplava - nema puta)...';
return 'Pingiranje $name (preplavljanje - nema puta)...';
}
@override
String directPingTimeout(String name) {
return 'Istek izravnog pinga - ponovni pokušaj $name s poplavom...';
return 'Istek izravnog pinga - ponovni pokušaj $name s preplavljanjem...';
}
@override
@@ -529,7 +551,7 @@ class AppLocalizationsHr extends AppLocalizations {
}
@override
String get viaFloodingFallback => ' (putem rezervnog plavljenja)';
String get viaFloodingFallback => ' (putem rezervnog preplavljanja)';
@override
String pingFailed(String name) {
@@ -1001,6 +1023,9 @@ class AppLocalizationsHr extends AppLocalizations {
@override
String get failed => 'Neuspjelo';
@override
String get broadcast => 'Emitirano';
@override
String get sarMarkerFoundPerson => 'Pronađena osoba';

View File

@@ -144,6 +144,18 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get croatian => 'Croato';
@override
String get german => 'Tedesco';
@override
String get spanish => 'Spagnolo';
@override
String get french => 'Francese';
@override
String get italian => 'Italiano';
@override
String get locationBroadcasting => 'Trasmissione Posizione';
@@ -387,6 +399,16 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get storedPermanently => 'Archiviato permanentemente nella stanza';
@override
String drawingsSentToPublicChannel(int count, String plural) {
return '$count disegno$plural mappa inviato al Canale Pubblico';
}
@override
String drawingsSharedToPublicChannel(int success, int total) {
return '$success/$total disegni condivisi sul Canale Pubblico';
}
@override
String get notConnectedToDevice => 'Non connesso al dispositivo';
@@ -1007,6 +1029,9 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get failed => 'Fallito';
@override
String get broadcast => 'Trasmissione';
@override
String get sarMarkerFoundPerson => 'Persona Trovata';

View File

@@ -144,6 +144,18 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String get croatian => 'Hrvaščina';
@override
String get german => 'Nemščina';
@override
String get spanish => 'Španščina';
@override
String get french => 'Francoščina';
@override
String get italian => 'Italijanščina';
@override
String get locationBroadcasting => 'Oddajanje lokacije';
@@ -385,6 +397,16 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String get storedPermanently => 'Trajno shranjeno v sobi';
@override
String drawingsSentToPublicChannel(int count, String plural) {
return 'Poslano $count risb$plural na javni kanal';
}
@override
String drawingsSharedToPublicChannel(int success, int total) {
return 'Deljeno $success/$total risb na javni kanal';
}
@override
String get notConnectedToDevice => 'Ni povezano z napravo';
@@ -494,7 +516,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get direct => 'Neposredno';
@override
String get flood => 'Poplava';
String get flood => 'Razpršitev';
@override
String get admin => 'Administrator';
@@ -515,12 +537,12 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String pingingFlood(String name) {
return 'Pinganje $name (poplava - brez poti)...';
return 'Pinganje $name (razpršitev - brez poti)...';
}
@override
String directPingTimeout(String name) {
return 'Časovna omejitev neposrednega pinga - ponovni poskus $name s poplavo...';
return 'Časovna omejitev neposrednega pinga - ponovni poskus $name z razprševanjem...';
}
@override
@@ -529,7 +551,7 @@ class AppLocalizationsSl extends AppLocalizations {
}
@override
String get viaFloodingFallback => ' (preko rezervnega poplavljanja)';
String get viaFloodingFallback => ' (preko rezervnega razprševanja)';
@override
String pingFailed(String name) {
@@ -1001,6 +1023,9 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String get failed => 'Neuspešno';
@override
String get broadcast => 'Oddajano';
@override
String get sarMarkerFoundPerson => 'Najdena oseba';

View File

@@ -85,6 +85,14 @@
"croatian": "Hrvaščina",
"german": "Nemščina",
"spanish": "Španščina",
"french": "Francoščina",
"italian": "Italijanščina",
"locationBroadcasting": "Oddajanje lokacije",
"autoLocationTracking": "Samodejno sledenje lokaciji",
@@ -223,6 +231,10 @@
"storedPermanently": "Trajno shranjeno v sobi",
"drawingsSentToPublicChannel": "Poslano {count} risb{plural} na javni kanal",
"drawingsSharedToPublicChannel": "Deljeno {success}/{total} risb na javni kanal",
"notConnectedToDevice": "Ni povezano z napravo",
"directMessage": "Neposredno sporočilo",
@@ -285,7 +297,7 @@
"direct": "Neposredno",
"flood": "Poplava",
"flood": "Razpršitev",
"admin": "Administrator",
@@ -297,13 +309,13 @@
"pingingDirect": "Pinganje {name} (neposredno preko poti)...",
"pingingFlood": "Pinganje {name} (poplava - brez poti)...",
"pingingFlood": "Pinganje {name} (razpršitev - brez poti)...",
"directPingTimeout": "Časovna omejitev neposrednega pinga - ponovni poskus {name} s poplavo...",
"directPingTimeout": "Časovna omejitev neposrednega pinga - ponovni poskus {name} z razprševanjem...",
"pingSuccessful": "Ping uspešen do {name}{fallback}",
"viaFloodingFallback": " (preko rezervnega poplavljanja)",
"viaFloodingFallback": " (preko rezervnega razprševanja)",
"pingFailed": "Ping neuspešen do {name} - odgovor ni prejet",
@@ -543,6 +555,8 @@
"failed": "Neuspešno",
"broadcast": "Oddajano",
"messageSentToPublicChannel": "Sporočilo poslano na javni kanal",
"pleaseSelectRoomToSendSar": "Prosimo, izberite sobo za pošiljanje SAR označevalca",