feat: Add localization for drawing actions and update related UI tooltips

This commit is contained in:
Janez T
2025-10-23 19:47:21 +02:00
parent 0a8d9a4dca
commit f32667997e
16 changed files with 738 additions and 9 deletions

View File

@@ -649,6 +649,73 @@
"description": "Aktion zum Löschen aller lokalen Zeichnungen"
},
"completeLine": "Linie fertigstellen",
"@completeLine": {
"description": "Tooltip zum Abschließen einer Linie"
},
"broadcastDrawingsToTeam": "{count} Zeichnung{plural} an Team senden",
"@broadcastDrawingsToTeam": {
"description": "Untertitel zeigt, wie viele Zeichnungen gesendet werden",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"removeAllDrawings": "Alle {count} Zeichnung{plural} entfernen",
"@removeAllDrawings": {
"description": "Untertitel für Aktion alle Zeichnungen entfernen",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"deleteAllDrawingsConfirm": "Alle {count} Zeichnung{plural} von der Karte löschen?",
"@deleteAllDrawingsConfirm": {
"description": "Bestätigungsdialog zum Löschen aller Zeichnungen",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"drawing": "Zeichnung",
"@drawing": {
"description": "Allgemeine Zeichnungsbezeichnung"
},
"shareDrawingsCount": "{count} Zeichnung{plural} teilen",
"@shareDrawingsCount": {
"description": "Titel für Dialog Zeichnungen teilen",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"sentDrawingsToRoom": "{count} Kartenzeichnung{plural} an {roomName} gesendet",
"@sentDrawingsToRoom": {
"description": "Systemmeldung wenn Zeichnungen an Raum gesendet wurden",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"},
"roomName": {"type": "String"}
}
},
"sharedDrawingsToRoom": "{success}/{total} Zeichnung{plural} mit {roomName} geteilt",
"@sharedDrawingsToRoom": {
"description": "Snackbar-Meldung für geteilte Zeichnungen an Raum",
"placeholders": {
"success": {"type": "int"},
"total": {"type": "int"},
"plural": {"type": "String"},
"roomName": {"type": "String"}
}
},
"showReceivedDrawings": "Empfangene Zeichnungen anzeigen",
"@showReceivedDrawings": {
"description": "Umschalter zum Ein-/Ausblenden empfangener Zeichnungen von anderen Teammitgliedern"

View File

@@ -649,6 +649,73 @@
"description": "Action to clear all local drawings"
},
"completeLine": "Complete Line",
"@completeLine": {
"description": "Tooltip to complete drawing a line"
},
"broadcastDrawingsToTeam": "Broadcast {count} drawing{plural} to team",
"@broadcastDrawingsToTeam": {
"description": "Subtitle showing how many drawings will be broadcast",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"removeAllDrawings": "Remove all {count} drawing{plural}",
"@removeAllDrawings": {
"description": "Subtitle for remove all drawings action",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"deleteAllDrawingsConfirm": "Delete all {count} drawing{plural} from the map?",
"@deleteAllDrawingsConfirm": {
"description": "Confirmation dialog message for deleting all drawings",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"drawing": "Drawing",
"@drawing": {
"description": "Generic drawing label"
},
"shareDrawingsCount": "Share {count} Drawing{plural}",
"@shareDrawingsCount": {
"description": "Title for share drawings dialog",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"sentDrawingsToRoom": "Sent {count} map drawing{plural} to {roomName}",
"@sentDrawingsToRoom": {
"description": "System message when drawings are sent to room",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"},
"roomName": {"type": "String"}
}
},
"sharedDrawingsToRoom": "Shared {success}/{total} drawing{plural} to {roomName}",
"@sharedDrawingsToRoom": {
"description": "Snackbar message showing drawings shared to room",
"placeholders": {
"success": {"type": "int"},
"total": {"type": "int"},
"plural": {"type": "String"},
"roomName": {"type": "String"}
}
},
"showReceivedDrawings": "Show Received Drawings",
"@showReceivedDrawings": {
"description": "Toggle to show/hide received drawings from other team members"

View File

@@ -649,6 +649,73 @@
"description": "Acción para borrar todos los dibujos locales"
},
"completeLine": "Completar línea",
"@completeLine": {
"description": "Tooltip para completar el dibujo de una línea"
},
"broadcastDrawingsToTeam": "Transmitir {count} dibujo{plural} al equipo",
"@broadcastDrawingsToTeam": {
"description": "Subtítulo que muestra cuántos dibujos se transmitirán",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"removeAllDrawings": "Eliminar todos los {count} dibujo{plural}",
"@removeAllDrawings": {
"description": "Subtítulo para la acción de eliminar todos los dibujos",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"deleteAllDrawingsConfirm": "¿Eliminar todos los {count} dibujo{plural} del mapa?",
"@deleteAllDrawingsConfirm": {
"description": "Mensaje de confirmación para eliminar todos los dibujos",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"drawing": "Dibujo",
"@drawing": {
"description": "Etiqueta genérica de dibujo"
},
"shareDrawingsCount": "Compartir {count} dibujo{plural}",
"@shareDrawingsCount": {
"description": "Título para el diálogo de compartir dibujos",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"sentDrawingsToRoom": "Enviados {count} dibujo{plural} de mapa a {roomName}",
"@sentDrawingsToRoom": {
"description": "Mensaje del sistema cuando se envían dibujos a una sala",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"},
"roomName": {"type": "String"}
}
},
"sharedDrawingsToRoom": "Compartidos {success}/{total} dibujo{plural} con {roomName}",
"@sharedDrawingsToRoom": {
"description": "Mensaje snackbar mostrando dibujos compartidos con sala",
"placeholders": {
"success": {"type": "int"},
"total": {"type": "int"},
"plural": {"type": "String"},
"roomName": {"type": "String"}
}
},
"showReceivedDrawings": "Mostrar dibujos recibidos",
"@showReceivedDrawings": {
"description": "Alternar para mostrar/ocultar dibujos recibidos de otros miembros del equipo"

View File

@@ -649,6 +649,73 @@
"description": "Action pour effacer tous les dessins locaux"
},
"completeLine": "Terminer la ligne",
"@completeLine": {
"description": "Tooltip pour terminer le tracé d'une ligne"
},
"broadcastDrawingsToTeam": "Diffuser {count} dessin{plural} à l'équipe",
"@broadcastDrawingsToTeam": {
"description": "Sous-titre indiquant combien de dessins seront diffusés",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"removeAllDrawings": "Supprimer tous les {count} dessin{plural}",
"@removeAllDrawings": {
"description": "Sous-titre pour l'action de suppression de tous les dessins",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"deleteAllDrawingsConfirm": "Supprimer tous les {count} dessin{plural} de la carte ?",
"@deleteAllDrawingsConfirm": {
"description": "Message de confirmation pour supprimer tous les dessins",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"drawing": "Dessin",
"@drawing": {
"description": "Étiquette de dessin générique"
},
"shareDrawingsCount": "Partager {count} dessin{plural}",
"@shareDrawingsCount": {
"description": "Titre pour le dialogue de partage de dessins",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"sentDrawingsToRoom": "{count} dessin{plural} de carte envoyé{plural} à {roomName}",
"@sentDrawingsToRoom": {
"description": "Message système lorsque des dessins sont envoyés à une salle",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"},
"roomName": {"type": "String"}
}
},
"sharedDrawingsToRoom": "{success}/{total} dessin{plural} partagé{plural} avec {roomName}",
"@sharedDrawingsToRoom": {
"description": "Message snackbar montrant les dessins partagés avec la salle",
"placeholders": {
"success": {"type": "int"},
"total": {"type": "int"},
"plural": {"type": "String"},
"roomName": {"type": "String"}
}
},
"showReceivedDrawings": "Afficher les dessins reçus",
"@showReceivedDrawings": {
"description": "Basculer pour afficher/masquer les dessins reçus des autres membres de l'équipe"

View File

@@ -227,6 +227,22 @@
"clearAllDrawings": "Očisti sve crteže",
"completeLine": "Završi liniju",
"broadcastDrawingsToTeam": "Objavi {count} crtež{plural} timu",
"removeAllDrawings": "Ukloni svih {count} crtež{plural}",
"deleteAllDrawingsConfirm": "Izbrisati sve {count} crtež{plural} s karte?",
"drawing": "Crtanje",
"shareDrawingsCount": "Podijeli {count} crtež{plural}",
"sentDrawingsToRoom": "Poslano {count} crtež{plural} karte u {roomName}",
"sharedDrawingsToRoom": "Podijeljeno {success}/{total} crtež{plural} u {roomName}",
"showReceivedDrawings": "Prikaži primljene crteže",
"showingAllDrawings": "Prikazujem sve crteže",

View File

@@ -649,6 +649,73 @@
"description": "Azione per cancellare tutti i disegni locali"
},
"completeLine": "Completa Linea",
"@completeLine": {
"description": "Tooltip per completare il disegno di una linea"
},
"broadcastDrawingsToTeam": "Trasmetti {count} disegno{plural} alla squadra",
"@broadcastDrawingsToTeam": {
"description": "Sottotitolo che mostra quanti disegni verranno trasmessi",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"removeAllDrawings": "Rimuovi tutti i {count} disegno{plural}",
"@removeAllDrawings": {
"description": "Sottotitolo per l'azione di rimozione di tutti i disegni",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"deleteAllDrawingsConfirm": "Eliminare tutti i {count} disegno{plural} dalla mappa?",
"@deleteAllDrawingsConfirm": {
"description": "Messaggio di conferma per eliminare tutti i disegni",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"drawing": "Disegno",
"@drawing": {
"description": "Etichetta generica per disegno"
},
"shareDrawingsCount": "Condividi {count} disegno{plural}",
"@shareDrawingsCount": {
"description": "Titolo per il dialogo di condivisione disegni",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"}
}
},
"sentDrawingsToRoom": "Inviati {count} disegno{plural} mappa a {roomName}",
"@sentDrawingsToRoom": {
"description": "Messaggio di sistema quando i disegni vengono inviati a una stanza",
"placeholders": {
"count": {"type": "int"},
"plural": {"type": "String"},
"roomName": {"type": "String"}
}
},
"sharedDrawingsToRoom": "Condivisi {success}/{total} disegno{plural} con {roomName}",
"@sharedDrawingsToRoom": {
"description": "Messaggio snackbar che mostra i disegni condivisi con la stanza",
"placeholders": {
"success": {"type": "int"},
"total": {"type": "int"},
"plural": {"type": "String"},
"roomName": {"type": "String"}
}
},
"showReceivedDrawings": "Mostra Disegni Ricevuti",
"@showReceivedDrawings": {
"description": "Interruttore per mostrare/nascondere i disegni ricevuti da altri membri del team"

View File

@@ -791,6 +791,59 @@ abstract class AppLocalizations {
/// **'Clear All Drawings'**
String get clearAllDrawings;
/// Tooltip to complete drawing a line
///
/// In en, this message translates to:
/// **'Complete Line'**
String get completeLine;
/// Subtitle showing how many drawings will be broadcast
///
/// In en, this message translates to:
/// **'Broadcast {count} drawing{plural} to team'**
String broadcastDrawingsToTeam(int count, String plural);
/// Subtitle for remove all drawings action
///
/// In en, this message translates to:
/// **'Remove all {count} drawing{plural}'**
String removeAllDrawings(int count, String plural);
/// Confirmation dialog message for deleting all drawings
///
/// In en, this message translates to:
/// **'Delete all {count} drawing{plural} from the map?'**
String deleteAllDrawingsConfirm(int count, String plural);
/// Generic drawing label
///
/// In en, this message translates to:
/// **'Drawing'**
String get drawing;
/// Title for share drawings dialog
///
/// In en, this message translates to:
/// **'Share {count} Drawing{plural}'**
String shareDrawingsCount(int count, String plural);
/// System message when drawings are sent to room
///
/// In en, this message translates to:
/// **'Sent {count} map drawing{plural} to {roomName}'**
String sentDrawingsToRoom(int count, String plural, String roomName);
/// Snackbar message showing drawings shared to room
///
/// In en, this message translates to:
/// **'Shared {success}/{total} drawing{plural} to {roomName}'**
String sharedDrawingsToRoom(
int success,
int total,
String plural,
String roomName,
);
/// Toggle to show/hide received drawings from other team members
///
/// In en, this message translates to:

View File

@@ -395,6 +395,47 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get clearAllDrawings => 'Alle Zeichnungen löschen';
@override
String get completeLine => 'Linie fertigstellen';
@override
String broadcastDrawingsToTeam(int count, String plural) {
return '$count Zeichnung$plural an Team senden';
}
@override
String removeAllDrawings(int count, String plural) {
return 'Alle $count Zeichnung$plural entfernen';
}
@override
String deleteAllDrawingsConfirm(int count, String plural) {
return 'Alle $count Zeichnung$plural von der Karte löschen?';
}
@override
String get drawing => 'Zeichnung';
@override
String shareDrawingsCount(int count, String plural) {
return '$count Zeichnung$plural teilen';
}
@override
String sentDrawingsToRoom(int count, String plural, String roomName) {
return '$count Kartenzeichnung$plural an $roomName gesendet';
}
@override
String sharedDrawingsToRoom(
int success,
int total,
String plural,
String roomName,
) {
return '$success/$total Zeichnung$plural mit $roomName geteilt';
}
@override
String get showReceivedDrawings => 'Empfangene Zeichnungen anzeigen';

View File

@@ -392,6 +392,47 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get clearAllDrawings => 'Clear All Drawings';
@override
String get completeLine => 'Complete Line';
@override
String broadcastDrawingsToTeam(int count, String plural) {
return 'Broadcast $count drawing$plural to team';
}
@override
String removeAllDrawings(int count, String plural) {
return 'Remove all $count drawing$plural';
}
@override
String deleteAllDrawingsConfirm(int count, String plural) {
return 'Delete all $count drawing$plural from the map?';
}
@override
String get drawing => 'Drawing';
@override
String shareDrawingsCount(int count, String plural) {
return 'Share $count Drawing$plural';
}
@override
String sentDrawingsToRoom(int count, String plural, String roomName) {
return 'Sent $count map drawing$plural to $roomName';
}
@override
String sharedDrawingsToRoom(
int success,
int total,
String plural,
String roomName,
) {
return 'Shared $success/$total drawing$plural to $roomName';
}
@override
String get showReceivedDrawings => 'Show Received Drawings';

View File

@@ -393,6 +393,47 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get clearAllDrawings => 'Borrar todos los dibujos';
@override
String get completeLine => 'Completar línea';
@override
String broadcastDrawingsToTeam(int count, String plural) {
return 'Transmitir $count dibujo$plural al equipo';
}
@override
String removeAllDrawings(int count, String plural) {
return 'Eliminar todos los $count dibujo$plural';
}
@override
String deleteAllDrawingsConfirm(int count, String plural) {
return '¿Eliminar todos los $count dibujo$plural del mapa?';
}
@override
String get drawing => 'Dibujo';
@override
String shareDrawingsCount(int count, String plural) {
return 'Compartir $count dibujo$plural';
}
@override
String sentDrawingsToRoom(int count, String plural, String roomName) {
return 'Enviados $count dibujo$plural de mapa a $roomName';
}
@override
String sharedDrawingsToRoom(
int success,
int total,
String plural,
String roomName,
) {
return 'Compartidos $success/$total dibujo$plural con $roomName';
}
@override
String get showReceivedDrawings => 'Mostrar dibujos recibidos';

View File

@@ -395,6 +395,47 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get clearAllDrawings => 'Effacer tous les dessins';
@override
String get completeLine => 'Terminer la ligne';
@override
String broadcastDrawingsToTeam(int count, String plural) {
return 'Diffuser $count dessin$plural à l\'équipe';
}
@override
String removeAllDrawings(int count, String plural) {
return 'Supprimer tous les $count dessin$plural';
}
@override
String deleteAllDrawingsConfirm(int count, String plural) {
return 'Supprimer tous les $count dessin$plural de la carte ?';
}
@override
String get drawing => 'Dessin';
@override
String shareDrawingsCount(int count, String plural) {
return 'Partager $count dessin$plural';
}
@override
String sentDrawingsToRoom(int count, String plural, String roomName) {
return '$count dessin$plural de carte envoyé$plural à $roomName';
}
@override
String sharedDrawingsToRoom(
int success,
int total,
String plural,
String roomName,
) {
return '$success/$total dessin$plural partagé$plural avec $roomName';
}
@override
String get showReceivedDrawings => 'Afficher les dessins reçus';

View File

@@ -392,6 +392,47 @@ class AppLocalizationsHr extends AppLocalizations {
@override
String get clearAllDrawings => 'Očisti sve crteže';
@override
String get completeLine => 'Završi liniju';
@override
String broadcastDrawingsToTeam(int count, String plural) {
return 'Objavi $count crtež$plural timu';
}
@override
String removeAllDrawings(int count, String plural) {
return 'Ukloni svih $count crtež$plural';
}
@override
String deleteAllDrawingsConfirm(int count, String plural) {
return 'Izbrisati sve $count crtež$plural s karte?';
}
@override
String get drawing => 'Crtanje';
@override
String shareDrawingsCount(int count, String plural) {
return 'Podijeli $count crtež$plural';
}
@override
String sentDrawingsToRoom(int count, String plural, String roomName) {
return 'Poslano $count crtež$plural karte u $roomName';
}
@override
String sharedDrawingsToRoom(
int success,
int total,
String plural,
String roomName,
) {
return 'Podijeljeno $success/$total crtež$plural u $roomName';
}
@override
String get showReceivedDrawings => 'Prikaži primljene crteže';

View File

@@ -394,6 +394,47 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get clearAllDrawings => 'Cancella Tutti i Disegni';
@override
String get completeLine => 'Completa Linea';
@override
String broadcastDrawingsToTeam(int count, String plural) {
return 'Trasmetti $count disegno$plural alla squadra';
}
@override
String removeAllDrawings(int count, String plural) {
return 'Rimuovi tutti i $count disegno$plural';
}
@override
String deleteAllDrawingsConfirm(int count, String plural) {
return 'Eliminare tutti i $count disegno$plural dalla mappa?';
}
@override
String get drawing => 'Disegno';
@override
String shareDrawingsCount(int count, String plural) {
return 'Condividi $count disegno$plural';
}
@override
String sentDrawingsToRoom(int count, String plural, String roomName) {
return 'Inviati $count disegno$plural mappa a $roomName';
}
@override
String sharedDrawingsToRoom(
int success,
int total,
String plural,
String roomName,
) {
return 'Condivisi $success/$total disegno$plural con $roomName';
}
@override
String get showReceivedDrawings => 'Mostra Disegni Ricevuti';

View File

@@ -392,6 +392,47 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String get clearAllDrawings => 'Počisti vse risbe';
@override
String get completeLine => 'Dokonč črto';
@override
String broadcastDrawingsToTeam(int count, String plural) {
return 'Oddaj $count risb$plural ekipi';
}
@override
String removeAllDrawings(int count, String plural) {
return 'Odstrani vseh $count risb$plural';
}
@override
String deleteAllDrawingsConfirm(int count, String plural) {
return 'Izbriši vseh $count risb$plural z zemljevida?';
}
@override
String get drawing => 'Risanje';
@override
String shareDrawingsCount(int count, String plural) {
return 'Deli $count risb$plural';
}
@override
String sentDrawingsToRoom(int count, String plural, String roomName) {
return 'Poslanih $count risb$plural karte v $roomName';
}
@override
String sharedDrawingsToRoom(
int success,
int total,
String plural,
String roomName,
) {
return 'Deljeno $success/$total risb$plural v $roomName';
}
@override
String get showReceivedDrawings => 'Prikaži prejete risbe';

View File

@@ -227,6 +227,22 @@
"clearAllDrawings": "Počisti vse risbe",
"completeLine": "Dokonč črto",
"broadcastDrawingsToTeam": "Oddaj {count} risb{plural} ekipi",
"removeAllDrawings": "Odstrani vseh {count} risb{plural}",
"deleteAllDrawingsConfirm": "Izbriši vseh {count} risb{plural} z zemljevida?",
"drawing": "Risanje",
"shareDrawingsCount": "Deli {count} risb{plural}",
"sentDrawingsToRoom": "Poslanih {count} risb{plural} karte v {roomName}",
"sharedDrawingsToRoom": "Deljeno {success}/{total} risb{plural} v {roomName}",
"showReceivedDrawings": "Prikaži prejete risbe",
"showingAllDrawings": "Prikazujem vse risbe",

View File

@@ -130,7 +130,7 @@ class DrawingToolbar extends StatelessWidget {
IconButton(
icon: const Icon(Icons.check),
onPressed: () => drawingProvider.completeLine(),
tooltip: 'Complete Line',
tooltip: AppLocalizations.of(context)!.completeLine,
color: Colors.green,
iconSize: 20,
padding: const EdgeInsets.all(4),
@@ -142,7 +142,7 @@ class DrawingToolbar extends StatelessWidget {
icon: const Icon(Icons.delete_sweep),
onPressed: () =>
_showClearAllDialog(context, drawingProvider),
tooltip: 'Clear All',
tooltip: AppLocalizations.of(context)!.clearAll,
color: Colors.red,
iconSize: 20,
padding: const EdgeInsets.all(4),
@@ -244,7 +244,10 @@ class DrawingToolbar extends StatelessWidget {
leading: const Icon(Icons.share, color: Colors.blue),
title: Text(AppLocalizations.of(context)!.shareDrawings),
subtitle: Text(
'Broadcast ${drawingProvider.drawings.length} drawings to team',
AppLocalizations.of(context)!.broadcastDrawingsToTeam(
drawingProvider.drawings.length,
drawingProvider.drawings.length > 1 ? 's' : '',
),
),
onTap: () async {
Navigator.pop(context);
@@ -260,7 +263,10 @@ class DrawingToolbar extends StatelessWidget {
leading: const Icon(Icons.delete_sweep, color: Colors.red),
title: Text(AppLocalizations.of(context)!.clearAllDrawings),
subtitle: Text(
'Remove all ${drawingProvider.drawings.length} drawings',
AppLocalizations.of(context)!.removeAllDrawings(
drawingProvider.drawings.length,
drawingProvider.drawings.length > 1 ? 's' : '',
),
),
onTap: () {
Navigator.pop(context);
@@ -285,7 +291,10 @@ class DrawingToolbar extends StatelessWidget {
builder: (context) => AlertDialog(
title: Text(AppLocalizations.of(context)!.clearAllDrawings),
content: Text(
'Delete all ${drawingProvider.drawings.length} drawings from the map?',
AppLocalizations.of(context)!.deleteAllDrawingsConfirm(
drawingProvider.drawings.length,
drawingProvider.drawings.length > 1 ? 's' : '',
),
),
actions: [
TextButton(
@@ -325,7 +334,7 @@ class DrawingToolbar extends StatelessWidget {
case DrawingMode.rectangle:
return AppLocalizations.of(context)!.drawRectangle;
case DrawingMode.none:
return 'Drawing';
return AppLocalizations.of(context)!.drawing;
}
}
@@ -419,7 +428,10 @@ class DrawingToolbar extends StatelessWidget {
const SizedBox(width: 12),
Expanded(
child: Text(
'Share ${localDrawings.length} Drawing${localDrawings.length > 1 ? 's' : ''}',
AppLocalizations.of(context)!.shareDrawingsCount(
localDrawings.length,
localDrawings.length > 1 ? 's' : '',
),
style: Theme.of(context).textTheme.titleMedium?.copyWith(
fontWeight: FontWeight.bold,
),
@@ -624,16 +636,26 @@ class DrawingToolbar extends StatelessWidget {
context,
listen: false,
);
final l10nRoom = AppLocalizations.of(context)!;
messagesProvider.logSystemMessage(
text:
'📤 Sent ${drawings.length} map drawing${drawings.length > 1 ? 's' : ''} to ${room.advName}',
'📤 ${l10nRoom.sentDrawingsToRoom(
drawings.length,
drawings.length > 1 ? 's' : '',
room.advName,
)}',
level: 'info',
);
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(
'Shared $successCount/${drawings.length} drawings to ${room.advName}',
l10nRoom.sharedDrawingsToRoom(
successCount,
drawings.length,
drawings.length > 1 ? 's' : '',
room.advName,
),
),
backgroundColor: successCount == drawings.length
? Colors.green