Add localization support for various UI elements and messages

- Integrated localization for alert dialogs, snack bars, and button labels in PacketLogScreen and SettingsScreen.
- Updated location tracking service messages to use localized strings.
- Enhanced ContactTile and DirectMessageSheet with localized text for user interactions.
- Implemented localization in DrawingLayer and DrawingToolbar for map-related actions.
- Updated SAR Update Sheet to utilize localized strings for user prompts and actions.
- Ensured consistent use of localization across all relevant widgets and screens.
This commit is contained in:
Janez T
2025-10-16 15:19:05 +02:00
parent 9def8daf0c
commit 1056380f3a
24 changed files with 1246 additions and 236 deletions

View File

@@ -12,6 +12,7 @@ import '../models/sar_marker.dart';
import '../widgets/messages/sar_update_sheet.dart';
import '../widgets/contacts/direct_message_sheet.dart';
import '../utils/toast_logger.dart';
import '../l10n/app_localizations.dart';
class MessagesTab extends StatefulWidget {
final VoidCallback onNavigateToMap;
@@ -304,14 +305,14 @@ class _MessagesTabState extends State<MessagesTab> {
),
const SizedBox(height: 16),
Text(
'No messages yet',
AppLocalizations.of(context)!.noMessagesYet,
style: Theme.of(
context,
).textTheme.titleLarge,
),
const SizedBox(height: 8),
Text(
'Pull down to sync messages',
AppLocalizations.of(context)!.pullDownToSync,
style: Theme.of(
context,
).textTheme.bodyMedium,
@@ -374,7 +375,7 @@ class _MessagesTabState extends State<MessagesTab> {
// SAR quick action button
IconButton(
icon: const Icon(Icons.add_location_alt),
tooltip: 'Send SAR marker',
tooltip: AppLocalizations.of(context)!.sendSarMarker,
onPressed: _showSarDialog,
style: IconButton.styleFrom(
backgroundColor: Theme.of(
@@ -579,9 +580,9 @@ class _MessageBubble extends StatelessWidget {
// Delete message option
ListTile(
leading: const Icon(Icons.delete, color: Colors.red),
title: const Text(
'Delete message',
style: TextStyle(color: Colors.red),
title: Text(
AppLocalizations.of(context)!.delete,
style: const TextStyle(color: Colors.red),
),
onTap: () {
Navigator.pop(context);
@@ -633,6 +634,7 @@ class _MessageBubble extends StatelessWidget {
}
void _showDeleteConfirmation(BuildContext context) {
final l10n = AppLocalizations.of(context)!;
showDialog(
context: context,
builder: (context) => AlertDialog(
@@ -641,7 +643,7 @@ class _MessageBubble extends StatelessWidget {
actions: [
TextButton(
onPressed: () => Navigator.pop(context),
child: const Text('Cancel'),
child: Text(l10n.cancel),
),
TextButton(
onPressed: () {