mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-08-11 08:20:36 +00:00
1712 lines
39 KiB
Dart
1712 lines
39 KiB
Dart
// ignore: unused_import
|
||
import 'package:intl/intl.dart' as intl;
|
||
import 'app_localizations.dart';
|
||
|
||
// ignore_for_file: type=lint
|
||
|
||
/// The translations for Modern Greek (`el`).
|
||
class AppLocalizationsEl extends AppLocalizations {
|
||
AppLocalizationsEl([String locale = 'el']) : super(locale);
|
||
|
||
@override
|
||
String get appTitle => 'MeshCore SAR';
|
||
|
||
@override
|
||
String get messages => 'Messages';
|
||
|
||
@override
|
||
String get contacts => 'Contacts';
|
||
|
||
@override
|
||
String get map => 'Map';
|
||
|
||
@override
|
||
String get settings => 'Settings';
|
||
|
||
@override
|
||
String get connect => 'Connect';
|
||
|
||
@override
|
||
String get disconnect => 'Disconnect';
|
||
|
||
@override
|
||
String get noDevicesFound => 'No devices found';
|
||
|
||
@override
|
||
String get scanAgain => 'Scan Again';
|
||
|
||
@override
|
||
String get tapToConnect => 'Tap to connect';
|
||
|
||
@override
|
||
String get deviceNotConnected => 'Device not connected';
|
||
|
||
@override
|
||
String get locationPermissionDenied => 'Location permission denied';
|
||
|
||
@override
|
||
String get locationPermissionPermanentlyDenied =>
|
||
'Location permission permanently denied. Please enable in Settings.';
|
||
|
||
@override
|
||
String get locationPermissionRequired =>
|
||
'Location permission is required for GPS tracking and team coordination. You can enable it later in Settings.';
|
||
|
||
@override
|
||
String get locationServicesDisabled =>
|
||
'Location services are disabled. Please enable them in Settings.';
|
||
|
||
@override
|
||
String get failedToGetGpsLocation => 'Failed to get GPS location';
|
||
|
||
@override
|
||
String failedToAdvertise(String error) {
|
||
return 'Failed to advertise: $error';
|
||
}
|
||
|
||
@override
|
||
String get cancelReconnection => 'Cancel reconnection';
|
||
|
||
@override
|
||
String get general => 'General';
|
||
|
||
@override
|
||
String get theme => 'Theme';
|
||
|
||
@override
|
||
String get chooseTheme => 'Choose Theme';
|
||
|
||
@override
|
||
String get light => 'Light';
|
||
|
||
@override
|
||
String get dark => 'Dark';
|
||
|
||
@override
|
||
String get blueLightTheme => 'Blue light theme';
|
||
|
||
@override
|
||
String get blueDarkTheme => 'Blue dark theme';
|
||
|
||
@override
|
||
String get sarRed => 'SAR Red';
|
||
|
||
@override
|
||
String get alertEmergencyMode => 'Alert/Emergency mode';
|
||
|
||
@override
|
||
String get sarGreen => 'SAR Green';
|
||
|
||
@override
|
||
String get safeAllClearMode => 'Safe/All Clear mode';
|
||
|
||
@override
|
||
String get autoSystem => 'Auto (System)';
|
||
|
||
@override
|
||
String get followSystemTheme => 'Follow system theme';
|
||
|
||
@override
|
||
String get showRxTxIndicators => 'Show RX/TX Indicators';
|
||
|
||
@override
|
||
String get displayPacketActivity =>
|
||
'Display packet activity indicators in top bar';
|
||
|
||
@override
|
||
String get disableMap => 'Disable Map';
|
||
|
||
@override
|
||
String get disableMapDescription =>
|
||
'Hide the map tab to reduce battery usage';
|
||
|
||
@override
|
||
String get language => 'Language';
|
||
|
||
@override
|
||
String get chooseLanguage => 'Choose Language';
|
||
|
||
@override
|
||
String get save => 'Save';
|
||
|
||
@override
|
||
String get cancel => 'Cancel';
|
||
|
||
@override
|
||
String get close => 'Close';
|
||
|
||
@override
|
||
String get about => 'About';
|
||
|
||
@override
|
||
String get appVersion => 'App Version';
|
||
|
||
@override
|
||
String get appName => 'App Name';
|
||
|
||
@override
|
||
String get aboutMeshCoreSar => 'About MeshCore SAR';
|
||
|
||
@override
|
||
String get aboutDescription =>
|
||
'A Search & Rescue application designed for emergency response teams. Features include:\n\n• BLE mesh networking for device-to-device communication\n• Offline maps with multiple layer options\n• Real-time team member tracking\n• SAR tactical markers (found person, fire, staging)\n• Contact management and messaging\n• GPS tracking with compass heading\n• Map tile caching for offline use';
|
||
|
||
@override
|
||
String get technologiesUsed => 'Technologies Used:';
|
||
|
||
@override
|
||
String get technologiesList =>
|
||
'• Flutter for cross-platform development\n• BLE (Bluetooth Low Energy) for mesh networking\n• OpenStreetMap for mapping\n• Provider for state management\n• SharedPreferences for local storage';
|
||
|
||
@override
|
||
String get moreInfo => 'More Info';
|
||
|
||
@override
|
||
String get packageName => 'Package Name';
|
||
|
||
@override
|
||
String get sampleData => 'Sample Data';
|
||
|
||
@override
|
||
String get sampleDataDescription =>
|
||
'Load or clear sample contacts, channel messages, and SAR markers for testing';
|
||
|
||
@override
|
||
String get loadSampleData => 'Load Sample Data';
|
||
|
||
@override
|
||
String get clearAllData => 'Clear All Data';
|
||
|
||
@override
|
||
String get clearAllDataConfirmTitle => 'Clear All Data';
|
||
|
||
@override
|
||
String get clearAllDataConfirmMessage =>
|
||
'This will clear all contacts and SAR markers. Are you sure?';
|
||
|
||
@override
|
||
String get clear => 'Clear';
|
||
|
||
@override
|
||
String loadedSampleData(
|
||
int teamCount,
|
||
int channelCount,
|
||
int sarCount,
|
||
int messageCount,
|
||
) {
|
||
return 'Loaded $teamCount team members, $channelCount channels, $sarCount SAR markers, $messageCount messages';
|
||
}
|
||
|
||
@override
|
||
String failedToLoadSampleData(String error) {
|
||
return 'Failed to load sample data: $error';
|
||
}
|
||
|
||
@override
|
||
String get allDataCleared => 'All data cleared';
|
||
|
||
@override
|
||
String get failedToStartBackgroundTracking =>
|
||
'Failed to start background tracking. Check permissions and BLE connection.';
|
||
|
||
@override
|
||
String locationBroadcast(String latitude, String longitude) {
|
||
return 'Location broadcast: $latitude, $longitude';
|
||
}
|
||
|
||
@override
|
||
String get defaultPinInfo =>
|
||
'The default pin for devices without a screen is 123456. Trouble pairing? Forget the bluetooth device in system settings.';
|
||
|
||
@override
|
||
String get noMessagesYet => 'No messages yet';
|
||
|
||
@override
|
||
String get pullDownToSync => 'Pull down to sync messages';
|
||
|
||
@override
|
||
String get deleteContact => 'Delete Contact';
|
||
|
||
@override
|
||
String get delete => 'Delete';
|
||
|
||
@override
|
||
String get viewOnMap => 'View on Map';
|
||
|
||
@override
|
||
String get refresh => 'Refresh';
|
||
|
||
@override
|
||
String get resetPath => 'Reset Path (Re-route)';
|
||
|
||
@override
|
||
String get publicKeyCopied => 'Public key copied to clipboard';
|
||
|
||
@override
|
||
String copiedToClipboard(String label) {
|
||
return '$label copied to clipboard';
|
||
}
|
||
|
||
@override
|
||
String get pleaseEnterPassword => 'Please enter a password';
|
||
|
||
@override
|
||
String failedToSyncContacts(String error) {
|
||
return 'Failed to sync contacts: $error';
|
||
}
|
||
|
||
@override
|
||
String get loggedInSuccessfully =>
|
||
'Logged in successfully! Waiting for room messages...';
|
||
|
||
@override
|
||
String get loginFailed => 'Login failed - incorrect password';
|
||
|
||
@override
|
||
String loggingIn(String roomName) {
|
||
return 'Logging in to $roomName...';
|
||
}
|
||
|
||
@override
|
||
String failedToSendLogin(String error) {
|
||
return 'Failed to send login: $error';
|
||
}
|
||
|
||
@override
|
||
String get lowLocationAccuracy => 'Low Location Accuracy';
|
||
|
||
@override
|
||
String get continue_ => 'Continue';
|
||
|
||
@override
|
||
String get sendSarMarker => 'Send SAR marker';
|
||
|
||
@override
|
||
String get deleteDrawing => 'Delete Drawing';
|
||
|
||
@override
|
||
String get drawingTools => 'Drawing Tools';
|
||
|
||
@override
|
||
String get drawLine => 'Draw Line';
|
||
|
||
@override
|
||
String get drawLineDesc => 'Draw a freehand line on the map';
|
||
|
||
@override
|
||
String get drawRectangle => 'Draw Rectangle';
|
||
|
||
@override
|
||
String get drawRectangleDesc => 'Draw a rectangular area on the map';
|
||
|
||
@override
|
||
String get measureDistance => 'Measure Distance';
|
||
|
||
@override
|
||
String get measureDistanceDesc => 'Long press two points to measure';
|
||
|
||
@override
|
||
String get clearMeasurement => 'Clear Measurement';
|
||
|
||
@override
|
||
String distanceLabel(String distance) {
|
||
return 'Distance: $distance';
|
||
}
|
||
|
||
@override
|
||
String get longPressForSecondPoint => 'Long press for second point';
|
||
|
||
@override
|
||
String get longPressToStartMeasurement => 'Long press to set first point';
|
||
|
||
@override
|
||
String get longPressToStartNewMeasurement =>
|
||
'Long press to start new measurement';
|
||
|
||
@override
|
||
String get shareDrawings => 'Share Drawings';
|
||
|
||
@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 get showReceivedDrawings => 'Show Received Drawings';
|
||
|
||
@override
|
||
String get showingAllDrawings => 'Showing all drawings';
|
||
|
||
@override
|
||
String get showingOnlyYourDrawings => 'Showing only your drawings';
|
||
|
||
@override
|
||
String get showSarMarkers => 'Show SAR Markers';
|
||
|
||
@override
|
||
String get showingSarMarkers => 'Showing SAR markers';
|
||
|
||
@override
|
||
String get hidingSarMarkers => 'Hiding SAR markers';
|
||
|
||
@override
|
||
String get clearAll => 'Clear All';
|
||
|
||
@override
|
||
String get publicChannel => 'Public Channel';
|
||
|
||
@override
|
||
String get broadcastToAll => 'Broadcast to all nearby nodes (ephemeral)';
|
||
|
||
@override
|
||
String get storedPermanently => 'Stored permanently in room';
|
||
|
||
@override
|
||
String get notConnectedToDevice => 'Not connected to device';
|
||
|
||
@override
|
||
String get typeYourMessage => 'Type your message...';
|
||
|
||
@override
|
||
String get quickLocationMarker => 'Quick location marker';
|
||
|
||
@override
|
||
String get markerType => 'Marker Type';
|
||
|
||
@override
|
||
String get sendTo => 'Send To';
|
||
|
||
@override
|
||
String get noDestinationsAvailable => 'No destinations available.';
|
||
|
||
@override
|
||
String get selectDestination => 'Select destination...';
|
||
|
||
@override
|
||
String get ephemeralBroadcastInfo =>
|
||
'Ephemeral: Broadcast over-the-air only. Not stored - nodes must be online.';
|
||
|
||
@override
|
||
String get persistentRoomInfo =>
|
||
'Persistent: Stored immutably in room. Synced automatically and preserved offline.';
|
||
|
||
@override
|
||
String get location => 'Location';
|
||
|
||
@override
|
||
String get fromMap => 'From Map';
|
||
|
||
@override
|
||
String get gettingLocation => 'Getting location...';
|
||
|
||
@override
|
||
String get locationError => 'Location Error';
|
||
|
||
@override
|
||
String get retry => 'Retry';
|
||
|
||
@override
|
||
String get refreshLocation => 'Refresh location';
|
||
|
||
@override
|
||
String accuracyMeters(int accuracy) {
|
||
return 'Accuracy: ±${accuracy}m';
|
||
}
|
||
|
||
@override
|
||
String get notesOptional => 'Notes (optional)';
|
||
|
||
@override
|
||
String get addAdditionalInformation => 'Add additional information...';
|
||
|
||
@override
|
||
String lowAccuracyWarning(int accuracy) {
|
||
return 'Location accuracy is ±${accuracy}m. This may not be accurate enough for SAR operations.\n\nContinue anyway?';
|
||
}
|
||
|
||
@override
|
||
String get loginToRoom => 'Login to Room';
|
||
|
||
@override
|
||
String get enterPasswordInfo =>
|
||
'Enter the password to access this room. The password will be saved for future use.';
|
||
|
||
@override
|
||
String get password => 'Password';
|
||
|
||
@override
|
||
String get enterRoomPassword => 'Enter room password';
|
||
|
||
@override
|
||
String get loggingInDots => 'Logging in...';
|
||
|
||
@override
|
||
String get login => 'Login';
|
||
|
||
@override
|
||
String failedToAddRoom(String error) {
|
||
return 'Failed to add room to device: $error\n\nThe room may not have advertised yet.\nTry waiting for the room to broadcast.';
|
||
}
|
||
|
||
@override
|
||
String get direct => 'Direct';
|
||
|
||
@override
|
||
String get flood => 'Flood';
|
||
|
||
@override
|
||
String get loggedIn => 'Logged In';
|
||
|
||
@override
|
||
String get noGpsData => 'No GPS data';
|
||
|
||
@override
|
||
String get distance => 'Distance';
|
||
|
||
@override
|
||
String directPingTimeout(String name) {
|
||
return 'Direct ping timeout - retrying $name with flooding...';
|
||
}
|
||
|
||
@override
|
||
String pingFailed(String name) {
|
||
return 'Ping failed to $name - no response received';
|
||
}
|
||
|
||
@override
|
||
String deleteContactConfirmation(String name) {
|
||
return 'Are you sure you want to delete \"$name\"?\n\nThis will remove the contact from both the app and the companion radio device.';
|
||
}
|
||
|
||
@override
|
||
String failedToRemoveContact(String error) {
|
||
return 'Failed to remove contact: $error';
|
||
}
|
||
|
||
@override
|
||
String get type => 'Type';
|
||
|
||
@override
|
||
String get publicKey => 'Public Key';
|
||
|
||
@override
|
||
String get lastSeen => 'Last Seen';
|
||
|
||
@override
|
||
String get roomStatus => 'Room Status';
|
||
|
||
@override
|
||
String get loginStatus => 'Login Status';
|
||
|
||
@override
|
||
String get notLoggedIn => 'Not Logged In';
|
||
|
||
@override
|
||
String get adminAccess => 'Admin Access';
|
||
|
||
@override
|
||
String get yes => 'Yes';
|
||
|
||
@override
|
||
String get no => 'No';
|
||
|
||
@override
|
||
String get permissions => 'Permissions';
|
||
|
||
@override
|
||
String get passwordSaved => 'Password Saved';
|
||
|
||
@override
|
||
String get locationColon => 'Location:';
|
||
|
||
@override
|
||
String get telemetry => 'Telemetry';
|
||
|
||
@override
|
||
String get voltage => 'Voltage';
|
||
|
||
@override
|
||
String get battery => 'Battery';
|
||
|
||
@override
|
||
String get temperature => 'Temperature';
|
||
|
||
@override
|
||
String get humidity => 'Humidity';
|
||
|
||
@override
|
||
String get pressure => 'Pressure';
|
||
|
||
@override
|
||
String get gpsTelemetry => 'GPS (Telemetry)';
|
||
|
||
@override
|
||
String get updated => 'Updated';
|
||
|
||
@override
|
||
String pathResetInfo(String name) {
|
||
return 'Path reset for $name. Next message will find a new route.';
|
||
}
|
||
|
||
@override
|
||
String get reLoginToRoom => 'Re-Login to Room';
|
||
|
||
@override
|
||
String get heading => 'Heading';
|
||
|
||
@override
|
||
String get elevation => 'Elevation';
|
||
|
||
@override
|
||
String get accuracy => 'Accuracy';
|
||
|
||
@override
|
||
String get bearing => 'Bearing';
|
||
|
||
@override
|
||
String get direction => 'Direction';
|
||
|
||
@override
|
||
String get filterMarkers => 'Filter Markers';
|
||
|
||
@override
|
||
String get filterMarkersTooltip => 'Filter markers';
|
||
|
||
@override
|
||
String get contactsFilter => 'Contacts';
|
||
|
||
@override
|
||
String get repeatersFilter => 'Repeaters';
|
||
|
||
@override
|
||
String get sarMarkers => 'SAR Markers';
|
||
|
||
@override
|
||
String get foundPerson => 'Found Person';
|
||
|
||
@override
|
||
String get fire => 'Fire';
|
||
|
||
@override
|
||
String get stagingArea => 'Staging Area';
|
||
|
||
@override
|
||
String get showAll => 'Show All';
|
||
|
||
@override
|
||
String get locationUnavailable => 'Location unavailable';
|
||
|
||
@override
|
||
String get ahead => 'ahead';
|
||
|
||
@override
|
||
String degreesRight(int degrees) {
|
||
return '$degrees° right';
|
||
}
|
||
|
||
@override
|
||
String degreesLeft(int degrees) {
|
||
return '$degrees° left';
|
||
}
|
||
|
||
@override
|
||
String latLonFormat(String latitude, String longitude) {
|
||
return 'Lat: $latitude Lon: $longitude';
|
||
}
|
||
|
||
@override
|
||
String get noContactsYet => 'No contacts yet';
|
||
|
||
@override
|
||
String get connectToDeviceToLoadContacts =>
|
||
'Connect to a device to load contacts';
|
||
|
||
@override
|
||
String get teamMembers => 'Team Members';
|
||
|
||
@override
|
||
String get repeaters => 'Repeaters';
|
||
|
||
@override
|
||
String get rooms => 'Rooms';
|
||
|
||
@override
|
||
String get channels => 'Channels';
|
||
|
||
@override
|
||
String get selectMapLayer => 'Select Map Layer';
|
||
|
||
@override
|
||
String get openStreetMap => 'OpenStreetMap';
|
||
|
||
@override
|
||
String get openTopoMap => 'OpenTopoMap';
|
||
|
||
@override
|
||
String get esriSatellite => 'ESRI Satellite';
|
||
|
||
@override
|
||
String get googleHybrid => 'Google Hybrid';
|
||
|
||
@override
|
||
String get googleRoadmap => 'Google Roadmap';
|
||
|
||
@override
|
||
String get googleTerrain => 'Google Terrain';
|
||
|
||
@override
|
||
String get dragToPosition => 'Drag to Position';
|
||
|
||
@override
|
||
String get createSarMarker => 'Create SAR Marker';
|
||
|
||
@override
|
||
String get compass => 'Compass';
|
||
|
||
@override
|
||
String get navigationAndContacts => 'Navigation & Contacts';
|
||
|
||
@override
|
||
String get sarAlert => 'SAR ALERT';
|
||
|
||
@override
|
||
String get textCopiedToClipboard => 'Text copied to clipboard';
|
||
|
||
@override
|
||
String get cannotReplySenderMissing =>
|
||
'Cannot reply: sender information missing';
|
||
|
||
@override
|
||
String get cannotReplyContactNotFound => 'Cannot reply: contact not found';
|
||
|
||
@override
|
||
String get copyText => 'Copy text';
|
||
|
||
@override
|
||
String get saveAsTemplate => 'Save as Template';
|
||
|
||
@override
|
||
String get templateSaved => 'Template saved successfully';
|
||
|
||
@override
|
||
String get templateAlreadyExists => 'Template with this emoji already exists';
|
||
|
||
@override
|
||
String get deleteMessage => 'Delete message';
|
||
|
||
@override
|
||
String get deleteMessageConfirmation =>
|
||
'Are you sure you want to delete this message?';
|
||
|
||
@override
|
||
String get shareLocation => 'Share location';
|
||
|
||
@override
|
||
String shareLocationText(
|
||
String markerInfo,
|
||
String lat,
|
||
String lon,
|
||
String url,
|
||
) {
|
||
return '$markerInfo\n\nCoordinates: $lat, $lon\n\nGoogle Maps: $url';
|
||
}
|
||
|
||
@override
|
||
String get sarLocationShare => 'SAR Location';
|
||
|
||
@override
|
||
String get justNow => 'Just now';
|
||
|
||
@override
|
||
String minutesAgo(int minutes) {
|
||
return '${minutes}m ago';
|
||
}
|
||
|
||
@override
|
||
String hoursAgo(int hours) {
|
||
return '${hours}h ago';
|
||
}
|
||
|
||
@override
|
||
String daysAgo(int days) {
|
||
return '${days}d ago';
|
||
}
|
||
|
||
@override
|
||
String secondsAgo(int seconds) {
|
||
return '${seconds}s ago';
|
||
}
|
||
|
||
@override
|
||
String get sending => 'Sending...';
|
||
|
||
@override
|
||
String get sent => 'Sent';
|
||
|
||
@override
|
||
String get delivered => 'Delivered';
|
||
|
||
@override
|
||
String deliveredWithTime(int time) {
|
||
return 'Delivered (${time}ms)';
|
||
}
|
||
|
||
@override
|
||
String get failed => 'Failed';
|
||
|
||
@override
|
||
String get broadcast => 'Broadcast';
|
||
|
||
@override
|
||
String deliveredToContacts(int delivered, int total) {
|
||
return 'Delivered to $delivered/$total contacts';
|
||
}
|
||
|
||
@override
|
||
String get allDelivered => 'All delivered';
|
||
|
||
@override
|
||
String get recipientDetails => 'Recipient Details';
|
||
|
||
@override
|
||
String get pending => 'Pending';
|
||
|
||
@override
|
||
String get sarMarkerFoundPerson => 'Found Person';
|
||
|
||
@override
|
||
String get sarMarkerFire => 'Fire Location';
|
||
|
||
@override
|
||
String get sarMarkerStagingArea => 'Staging Area';
|
||
|
||
@override
|
||
String get sarMarkerObject => 'Object Found';
|
||
|
||
@override
|
||
String get from => 'From';
|
||
|
||
@override
|
||
String get coordinates => 'Coordinates';
|
||
|
||
@override
|
||
String get tapToViewOnMap => 'Tap to view on map';
|
||
|
||
@override
|
||
String get radioSettings => 'Radio Settings';
|
||
|
||
@override
|
||
String get frequencyMHz => 'Frequency (MHz)';
|
||
|
||
@override
|
||
String get frequencyExample => 'e.g., 869.618';
|
||
|
||
@override
|
||
String get bandwidth => 'Bandwidth';
|
||
|
||
@override
|
||
String get spreadingFactor => 'Spreading Factor';
|
||
|
||
@override
|
||
String get codingRate => 'Coding Rate';
|
||
|
||
@override
|
||
String get txPowerDbm => 'TX Power (dBm)';
|
||
|
||
@override
|
||
String maxPowerDbm(int power) {
|
||
return 'Max: $power dBm';
|
||
}
|
||
|
||
@override
|
||
String get you => 'You';
|
||
|
||
@override
|
||
String exportFailed(String error) {
|
||
return 'Export failed: $error';
|
||
}
|
||
|
||
@override
|
||
String importFailed(String error) {
|
||
return 'Import failed: $error';
|
||
}
|
||
|
||
@override
|
||
String get unknown => 'Unknown';
|
||
|
||
@override
|
||
String get onlineLayers => 'Online Layers';
|
||
|
||
@override
|
||
String get locationTrail => 'Location Trail';
|
||
|
||
@override
|
||
String get showTrailOnMap => 'Show Trail on Map';
|
||
|
||
@override
|
||
String get trailVisible => 'Trail is visible on the map';
|
||
|
||
@override
|
||
String get trailHiddenRecording => 'Trail is hidden (still recording)';
|
||
|
||
@override
|
||
String get duration => 'Duration';
|
||
|
||
@override
|
||
String get points => 'Points';
|
||
|
||
@override
|
||
String get clearTrail => 'Clear Trail';
|
||
|
||
@override
|
||
String get clearTrailQuestion => 'Clear Trail?';
|
||
|
||
@override
|
||
String get clearTrailConfirmation =>
|
||
'Are you sure you want to clear the current location trail? This action cannot be undone.';
|
||
|
||
@override
|
||
String get noTrailRecorded => 'No trail recorded yet';
|
||
|
||
@override
|
||
String get startTrackingToRecord =>
|
||
'Start location tracking to record your trail';
|
||
|
||
@override
|
||
String get trailControls => 'Trail Controls';
|
||
|
||
@override
|
||
String get contactTrails => 'Contact Trails';
|
||
|
||
@override
|
||
String get showAllContactTrails => 'Show All Contact Trails';
|
||
|
||
@override
|
||
String get noContactsWithLocationHistory =>
|
||
'No contacts with location history';
|
||
|
||
@override
|
||
String showingTrailsForContacts(int count) {
|
||
return 'Showing trails for $count contacts';
|
||
}
|
||
|
||
@override
|
||
String get individualContactTrails => 'Individual Contact Trails';
|
||
|
||
@override
|
||
String get deviceInformation => 'Device Information';
|
||
|
||
@override
|
||
String get bleName => 'BLE Name';
|
||
|
||
@override
|
||
String get meshName => 'Mesh Name';
|
||
|
||
@override
|
||
String get notSet => 'Not set';
|
||
|
||
@override
|
||
String get model => 'Model';
|
||
|
||
@override
|
||
String get version => 'Version';
|
||
|
||
@override
|
||
String get buildDate => 'Build Date';
|
||
|
||
@override
|
||
String get firmware => 'Firmware';
|
||
|
||
@override
|
||
String get maxContacts => 'Max Contacts';
|
||
|
||
@override
|
||
String get maxChannels => 'Max Channels';
|
||
|
||
@override
|
||
String get publicInfo => 'Public Info';
|
||
|
||
@override
|
||
String get meshNetworkName => 'Mesh Network Name';
|
||
|
||
@override
|
||
String get nameBroadcastInMesh => 'Name broadcast in mesh advertisements';
|
||
|
||
@override
|
||
String get telemetryAndLocationSharing => 'Telemetry & Location Sharing';
|
||
|
||
@override
|
||
String get lat => 'Lat';
|
||
|
||
@override
|
||
String get lon => 'Lon';
|
||
|
||
@override
|
||
String get useCurrentLocation => 'Use current location';
|
||
|
||
@override
|
||
String get noneUnknown => 'None/Unknown';
|
||
|
||
@override
|
||
String get chatNode => 'Chat Node';
|
||
|
||
@override
|
||
String get repeater => 'Repeater';
|
||
|
||
@override
|
||
String get roomChannel => 'Room/Channel';
|
||
|
||
@override
|
||
String typeNumber(int number) {
|
||
return 'Type $number';
|
||
}
|
||
|
||
@override
|
||
String copiedToClipboardShort(String label) {
|
||
return 'Copied $label to clipboard';
|
||
}
|
||
|
||
@override
|
||
String failedToSave(String error) {
|
||
return 'Failed to save: $error';
|
||
}
|
||
|
||
@override
|
||
String failedToGetLocation(String error) {
|
||
return 'Failed to get location: $error';
|
||
}
|
||
|
||
@override
|
||
String get sarTemplates => 'SAR Templates';
|
||
|
||
@override
|
||
String get manageSarTemplates => 'Manage cursor on target templates';
|
||
|
||
@override
|
||
String get addTemplate => 'Add Template';
|
||
|
||
@override
|
||
String get editTemplate => 'Edit Template';
|
||
|
||
@override
|
||
String get deleteTemplate => 'Delete Template';
|
||
|
||
@override
|
||
String get templateName => 'Template Name';
|
||
|
||
@override
|
||
String get templateNameHint => 'e.g. Found Person';
|
||
|
||
@override
|
||
String get templateEmoji => 'Emoji';
|
||
|
||
@override
|
||
String get emojiRequired => 'Emoji is required';
|
||
|
||
@override
|
||
String get nameRequired => 'Name is required';
|
||
|
||
@override
|
||
String get templateDescription => 'Description (Optional)';
|
||
|
||
@override
|
||
String get templateDescriptionHint => 'Add additional context...';
|
||
|
||
@override
|
||
String get templateColor => 'Color';
|
||
|
||
@override
|
||
String get previewFormat => 'Preview (SAR Message Format)';
|
||
|
||
@override
|
||
String get importFromClipboard => 'Import';
|
||
|
||
@override
|
||
String get exportToClipboard => 'Export';
|
||
|
||
@override
|
||
String deleteTemplateConfirmation(String name) {
|
||
return 'Delete template \'$name\'?';
|
||
}
|
||
|
||
@override
|
||
String get templateAdded => 'Template added';
|
||
|
||
@override
|
||
String get templateUpdated => 'Template updated';
|
||
|
||
@override
|
||
String get templateDeleted => 'Template deleted';
|
||
|
||
@override
|
||
String templatesImported(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: 'Imported $count templates',
|
||
one: 'Imported 1 template',
|
||
zero: 'No templates imported',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String templatesExported(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: 'Exported $count templates to clipboard',
|
||
one: 'Exported 1 template to clipboard',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get resetToDefaults => 'Reset to Defaults';
|
||
|
||
@override
|
||
String get resetToDefaultsConfirmation =>
|
||
'This will delete all custom templates and restore the 4 default templates. Continue?';
|
||
|
||
@override
|
||
String get reset => 'Reset';
|
||
|
||
@override
|
||
String get resetComplete => 'Templates reset to defaults';
|
||
|
||
@override
|
||
String get noTemplates => 'No templates available';
|
||
|
||
@override
|
||
String get tapAddToCreate => 'Tap + to create your first template';
|
||
|
||
@override
|
||
String get ok => 'OK';
|
||
|
||
@override
|
||
String get permissionsSection => 'Permissions';
|
||
|
||
@override
|
||
String get locationPermission => 'Location Permission';
|
||
|
||
@override
|
||
String get checking => 'Checking...';
|
||
|
||
@override
|
||
String get locationPermissionGrantedAlways => 'Granted (Always)';
|
||
|
||
@override
|
||
String get locationPermissionGrantedWhileInUse => 'Granted (While In Use)';
|
||
|
||
@override
|
||
String get locationPermissionDeniedTapToRequest => 'Denied - Tap to request';
|
||
|
||
@override
|
||
String get locationPermissionPermanentlyDeniedOpenSettings =>
|
||
'Permanently Denied - Open Settings';
|
||
|
||
@override
|
||
String get locationPermissionDialogContent =>
|
||
'Location permission is permanently denied. Please enable it in your device settings to use GPS tracking and location sharing features.';
|
||
|
||
@override
|
||
String get openSettings => 'Open Settings';
|
||
|
||
@override
|
||
String get locationPermissionGranted => 'Location permission granted!';
|
||
|
||
@override
|
||
String get locationPermissionRequiredForGps =>
|
||
'Location permission is required for GPS tracking and location sharing.';
|
||
|
||
@override
|
||
String get locationPermissionAlreadyGranted =>
|
||
'Location permission is already granted.';
|
||
|
||
@override
|
||
String get sarNavyBlue => 'SAR Navy Blue';
|
||
|
||
@override
|
||
String get sarNavyBlueDescription => 'Professional/Operations Mode';
|
||
|
||
@override
|
||
String get selectRecipient => 'Select Recipient';
|
||
|
||
@override
|
||
String get broadcastToAllNearby => 'Broadcast to all nearby';
|
||
|
||
@override
|
||
String get searchRecipients => 'Search recipients...';
|
||
|
||
@override
|
||
String get noContactsFound => 'No contacts found';
|
||
|
||
@override
|
||
String get noRoomsFound => 'No rooms found';
|
||
|
||
@override
|
||
String get noRecipientsAvailable => 'No recipients available';
|
||
|
||
@override
|
||
String get noChannelsFound => 'No channels found';
|
||
|
||
@override
|
||
String get newMessage => 'New message';
|
||
|
||
@override
|
||
String get channel => 'Channel';
|
||
|
||
@override
|
||
String get samplePoliceLead => 'Police Lead';
|
||
|
||
@override
|
||
String get sampleDroneOperator => 'Drone Operator';
|
||
|
||
@override
|
||
String get sampleFirefighterAlpha => 'Firefighter';
|
||
|
||
@override
|
||
String get sampleMedicCharlie => 'Medic';
|
||
|
||
@override
|
||
String get sampleCommandDelta => 'Command';
|
||
|
||
@override
|
||
String get sampleFireEngine => 'Fire Engine';
|
||
|
||
@override
|
||
String get sampleAirSupport => 'Air Support';
|
||
|
||
@override
|
||
String get sampleBaseCoordinator => 'Base Coordinator';
|
||
|
||
@override
|
||
String get channelEmergency => 'Emergency';
|
||
|
||
@override
|
||
String get channelCoordination => 'Coordination';
|
||
|
||
@override
|
||
String get channelUpdates => 'Updates';
|
||
|
||
@override
|
||
String get sampleTeamMember => 'Sample Team Member';
|
||
|
||
@override
|
||
String get sampleScout => 'Sample Scout';
|
||
|
||
@override
|
||
String get sampleBase => 'Sample Base';
|
||
|
||
@override
|
||
String get sampleSearcher => 'Sample Searcher';
|
||
|
||
@override
|
||
String get sampleObjectBackpack => ' Backpack found - blue color';
|
||
|
||
@override
|
||
String get sampleObjectVehicle => ' Vehicle abandoned - check for owner';
|
||
|
||
@override
|
||
String get sampleObjectCamping => ' Camping equipment discovered';
|
||
|
||
@override
|
||
String get sampleObjectTrailMarker => ' Trail marker found off-path';
|
||
|
||
@override
|
||
String get sampleMsgAllTeamsCheckIn => 'All teams check in';
|
||
|
||
@override
|
||
String get sampleMsgWeatherUpdate => 'Weather update: Clear skies, temp 18°C';
|
||
|
||
@override
|
||
String get sampleMsgBaseCamp => 'Base camp established at staging area';
|
||
|
||
@override
|
||
String get sampleMsgTeamAlpha => 'Team moving to sector 2';
|
||
|
||
@override
|
||
String get sampleMsgRadioCheck => 'Radio check - all stations respond';
|
||
|
||
@override
|
||
String get sampleMsgWaterSupply => 'Water supply available at checkpoint 3';
|
||
|
||
@override
|
||
String get sampleMsgTeamBravo => 'Team reporting: sector 1 clear';
|
||
|
||
@override
|
||
String get sampleMsgEtaRallyPoint => 'ETA to rally point: 15 minutes';
|
||
|
||
@override
|
||
String get sampleMsgSupplyDrop => 'Supply drop confirmed for 14:00';
|
||
|
||
@override
|
||
String get sampleMsgDroneSurvey => 'Drone survey completed - no findings';
|
||
|
||
@override
|
||
String get sampleMsgTeamCharlie => 'Team requesting backup';
|
||
|
||
@override
|
||
String get sampleMsgRadioDiscipline => 'All units: maintain radio discipline';
|
||
|
||
@override
|
||
String get sampleMsgUrgentMedical =>
|
||
'URGENT: Medical assistance needed at sector 4';
|
||
|
||
@override
|
||
String get sampleMsgAdultMale => ' Adult male, conscious';
|
||
|
||
@override
|
||
String get sampleMsgFireSpotted => 'Fire spotted - coordinates incoming';
|
||
|
||
@override
|
||
String get sampleMsgSpreadingRapidly => ' Spreading rapidly!';
|
||
|
||
@override
|
||
String get sampleMsgPriorityHelicopter => 'PRIORITY: Need helicopter support';
|
||
|
||
@override
|
||
String get sampleMsgMedicalTeamEnRoute =>
|
||
'Medical team en route to your location';
|
||
|
||
@override
|
||
String get sampleMsgEvacHelicopter => 'Evac helicopter ETA 10 minutes';
|
||
|
||
@override
|
||
String get sampleMsgEmergencyResolved => 'Emergency resolved - all clear';
|
||
|
||
@override
|
||
String get sampleMsgEmergencyStagingArea => ' Emergency staging area';
|
||
|
||
@override
|
||
String get sampleMsgEmergencyServices =>
|
||
'Emergency services notified and responding';
|
||
|
||
@override
|
||
String get sampleAlphaTeamLead => 'Team Lead';
|
||
|
||
@override
|
||
String get sampleBravoScout => 'Scout';
|
||
|
||
@override
|
||
String get sampleCharlieMedic => 'Medic';
|
||
|
||
@override
|
||
String get sampleDeltaNavigator => 'Navigator';
|
||
|
||
@override
|
||
String get sampleEchoSupport => 'Support';
|
||
|
||
@override
|
||
String get sampleBaseCommand => 'Base Command';
|
||
|
||
@override
|
||
String get sampleFieldCoordinator => 'Field Coordinator';
|
||
|
||
@override
|
||
String get sampleMedicalTeam => 'Medical Team';
|
||
|
||
@override
|
||
String get mapDrawing => 'Map Drawing';
|
||
|
||
@override
|
||
String get navigateToDrawing => 'Navigate to Drawing';
|
||
|
||
@override
|
||
String get copyCoordinates => 'Copy Coordinates';
|
||
|
||
@override
|
||
String get hideFromMap => 'Hide from Map';
|
||
|
||
@override
|
||
String get lineDrawing => 'Line Drawing';
|
||
|
||
@override
|
||
String get rectangleDrawing => 'Rectangle Drawing';
|
||
|
||
@override
|
||
String get manualCoordinates => 'Manual Coordinates';
|
||
|
||
@override
|
||
String get enterCoordinatesManually => 'Enter coordinates manually';
|
||
|
||
@override
|
||
String get latitudeLabel => 'Latitude';
|
||
|
||
@override
|
||
String get longitudeLabel => 'Longitude';
|
||
|
||
@override
|
||
String get exampleCoordinates => 'Example: 46.0569, 14.5058';
|
||
|
||
@override
|
||
String get shareDrawing => 'Share Drawing';
|
||
|
||
@override
|
||
String get shareWithAllNearbyDevices => 'Share with all nearby devices';
|
||
|
||
@override
|
||
String get shareToRoom => 'Share to Room';
|
||
|
||
@override
|
||
String get sendToPersistentStorage => 'Send to persistent room storage';
|
||
|
||
@override
|
||
String get deleteDrawingConfirm =>
|
||
'Are you sure you want to delete this drawing?';
|
||
|
||
@override
|
||
String get drawingDeleted => 'Drawing deleted';
|
||
|
||
@override
|
||
String yourDrawingsCount(int count) {
|
||
return 'Your Drawings ($count)';
|
||
}
|
||
|
||
@override
|
||
String get shared => 'Shared';
|
||
|
||
@override
|
||
String get line => 'Line';
|
||
|
||
@override
|
||
String get rectangle => 'Rectangle';
|
||
|
||
@override
|
||
String get updateAvailable => 'Update Available';
|
||
|
||
@override
|
||
String get currentVersion => 'Current';
|
||
|
||
@override
|
||
String get latestVersion => 'Latest';
|
||
|
||
@override
|
||
String get downloadUpdate => 'Download';
|
||
|
||
@override
|
||
String get updateLater => 'Later';
|
||
|
||
@override
|
||
String get cadastralParcels => 'Cadastral Parcels';
|
||
|
||
@override
|
||
String get forestRoads => 'Forest Roads';
|
||
|
||
@override
|
||
String get wmsOverlays => 'WMS Overlays';
|
||
|
||
@override
|
||
String get hikingTrails => 'Hiking Trails';
|
||
|
||
@override
|
||
String get mainRoads => 'Main Roads';
|
||
|
||
@override
|
||
String get houseNumbers => 'House Numbers';
|
||
|
||
@override
|
||
String get fireHazardZones => 'Fire Hazard Zones';
|
||
|
||
@override
|
||
String get historicalFires => 'Historical Fires';
|
||
|
||
@override
|
||
String get firebreaks => 'Firebreaks';
|
||
|
||
@override
|
||
String get krasFireZones => 'Kras Fire Zones';
|
||
|
||
@override
|
||
String get placeNames => 'Place Names';
|
||
|
||
@override
|
||
String get municipalityBorders => 'Municipality Borders';
|
||
|
||
@override
|
||
String get topographicMap => 'Topographic Map 1:25000';
|
||
|
||
@override
|
||
String get recentMessages => 'Recent Messages';
|
||
|
||
@override
|
||
String get addChannel => 'Add Channel';
|
||
|
||
@override
|
||
String get channelName => 'Channel Name';
|
||
|
||
@override
|
||
String get channelNameHint => 'e.g., Rescue Team Alpha';
|
||
|
||
@override
|
||
String get channelSecret => 'Channel Secret';
|
||
|
||
@override
|
||
String get channelSecretHint => 'Shared password for this channel';
|
||
|
||
@override
|
||
String get channelSecretHelp =>
|
||
'This secret must be shared with all team members who need access to this channel';
|
||
|
||
@override
|
||
String get channelTypesInfo =>
|
||
'Hash channels (#team): Secret auto-generated from name. Same name = same channel across devices.\n\nPrivate channels: Use explicit secret. Only those with the secret can join.';
|
||
|
||
@override
|
||
String get hashChannelInfo =>
|
||
'Hash channel: Secret will be auto-generated from the channel name. Anyone using the same name will join the same channel.';
|
||
|
||
@override
|
||
String get channelNameRequired => 'Channel name is required';
|
||
|
||
@override
|
||
String get channelNameTooLong => 'Channel name must be 31 characters or less';
|
||
|
||
@override
|
||
String get channelSecretRequired => 'Channel secret is required';
|
||
|
||
@override
|
||
String get channelSecretTooLong =>
|
||
'Channel secret must be 32 characters or less';
|
||
|
||
@override
|
||
String get invalidAsciiCharacters => 'Only ASCII characters are allowed';
|
||
|
||
@override
|
||
String get channelCreatedSuccessfully => 'Channel created successfully';
|
||
|
||
@override
|
||
String channelCreationFailed(String error) {
|
||
return 'Failed to create channel: $error';
|
||
}
|
||
|
||
@override
|
||
String get deleteChannel => 'Delete Channel';
|
||
|
||
@override
|
||
String deleteChannelConfirmation(String channelName) {
|
||
return 'Are you sure you want to delete channel \"$channelName\"? This action cannot be undone.';
|
||
}
|
||
|
||
@override
|
||
String get channelDeletedSuccessfully => 'Channel deleted successfully';
|
||
|
||
@override
|
||
String channelDeletionFailed(String error) {
|
||
return 'Failed to delete channel: $error';
|
||
}
|
||
|
||
@override
|
||
String get createChannel => 'Create Channel';
|
||
|
||
@override
|
||
String get wizardBack => 'Back';
|
||
|
||
@override
|
||
String get wizardSkip => 'Skip';
|
||
|
||
@override
|
||
String get wizardNext => 'Next';
|
||
|
||
@override
|
||
String get wizardGetStarted => 'Get Started';
|
||
|
||
@override
|
||
String get wizardWelcomeTitle => 'Welcome to MeshCore SAR';
|
||
|
||
@override
|
||
String get wizardWelcomeDescription =>
|
||
'A powerful off-grid communication tool for search and rescue operations. Connect with your team using mesh radio technology when traditional networks are unavailable.';
|
||
|
||
@override
|
||
String get wizardConnectingTitle => 'Connecting to Your Radio';
|
||
|
||
@override
|
||
String get wizardConnectingDescription =>
|
||
'Connect your smartphone to a MeshCore radio device via Bluetooth to start communicating off-grid.';
|
||
|
||
@override
|
||
String get wizardConnectingFeature1 => 'Scan for nearby MeshCore devices';
|
||
|
||
@override
|
||
String get wizardConnectingFeature2 => 'Pair with your radio via Bluetooth';
|
||
|
||
@override
|
||
String get wizardConnectingFeature3 =>
|
||
'Works completely offline - no internet required';
|
||
|
||
@override
|
||
String get wizardChannelTitle => 'Channels';
|
||
|
||
@override
|
||
String get wizardChannelDescription =>
|
||
'Broadcast messages to everyone on a channel, perfect for team-wide announcements and coordination.';
|
||
|
||
@override
|
||
String get wizardChannelFeature1 =>
|
||
'Public Channel for general team communication';
|
||
|
||
@override
|
||
String get wizardChannelFeature2 =>
|
||
'Create custom channels for specific groups';
|
||
|
||
@override
|
||
String get wizardChannelFeature3 =>
|
||
'Messages are automatically relayed by the mesh';
|
||
|
||
@override
|
||
String get wizardContactsTitle => 'Contacts';
|
||
|
||
@override
|
||
String get wizardContactsDescription =>
|
||
'Your team members appear automatically as they join the mesh network. Send them direct messages or view their location.';
|
||
|
||
@override
|
||
String get wizardContactsFeature1 => 'Contacts discovered automatically';
|
||
|
||
@override
|
||
String get wizardContactsFeature2 => 'Send private direct messages';
|
||
|
||
@override
|
||
String get wizardContactsFeature3 => 'View battery level and last seen time';
|
||
|
||
@override
|
||
String get wizardMapTitle => 'Map & Location';
|
||
|
||
@override
|
||
String get wizardMapDescription =>
|
||
'Track your team in real-time and mark important locations for search and rescue operations.';
|
||
|
||
@override
|
||
String get wizardMapFeature1 =>
|
||
'SAR markers for found persons, fires, and staging areas';
|
||
|
||
@override
|
||
String get wizardMapFeature2 => 'Real-time GPS tracking of team members';
|
||
|
||
@override
|
||
String get wizardMapFeature3 => 'Download offline maps for remote areas';
|
||
|
||
@override
|
||
String get wizardMapFeature4 => 'Draw shapes and share tactical information';
|
||
|
||
@override
|
||
String get viewWelcomeTutorial => 'View Welcome Tutorial';
|
||
|
||
@override
|
||
String get allTeamContacts => 'All Team Contacts';
|
||
|
||
@override
|
||
String directMessagesInfo(int count) {
|
||
return 'Direct messages with ACKs. Sent to $count team members.';
|
||
}
|
||
|
||
@override
|
||
String sarMarkerSentToContacts(int count) {
|
||
return 'SAR marker sent to $count contacts';
|
||
}
|
||
|
||
@override
|
||
String get noContactsAvailable => 'No team contacts available';
|
||
|
||
@override
|
||
String get reply => 'Απάντηση';
|
||
|
||
@override
|
||
String get technicalDetails => 'Τεχνικές λεπτομέρειες';
|
||
|
||
@override
|
||
String get messageTechnicalDetails => 'Τεχνικές λεπτομέρειες μηνύματος';
|
||
|
||
@override
|
||
String get linkQuality => 'Ποιότητα σύνδεσης';
|
||
|
||
@override
|
||
String get delivery => 'Παράδοση';
|
||
|
||
@override
|
||
String get status => 'Κατάσταση';
|
||
|
||
@override
|
||
String get expectedAckTag => 'Αναμενόμενη ετικέτα ACK';
|
||
|
||
@override
|
||
String get roundTrip => 'Χρόνος μετ\' επιστροφής';
|
||
|
||
@override
|
||
String get retryAttempt => 'Απόπειρα επανάληψης';
|
||
|
||
@override
|
||
String get floodFallback => 'Εφεδρική πλημμύρα';
|
||
|
||
@override
|
||
String get identity => 'Ταυτότητα';
|
||
|
||
@override
|
||
String get messageId => 'Αναγνωριστικό μηνύματος';
|
||
|
||
@override
|
||
String get sender => 'Αποστολέας';
|
||
|
||
@override
|
||
String get senderKey => 'Κλειδί αποστολέα';
|
||
|
||
@override
|
||
String get recipient => 'Παραλήπτης';
|
||
|
||
@override
|
||
String get recipientKey => 'Κλειδί παραλήπτη';
|
||
|
||
@override
|
||
String get voice => 'Φωνή';
|
||
|
||
@override
|
||
String get voiceId => 'Αναγνωριστικό φωνής';
|
||
|
||
@override
|
||
String get envelope => 'Φάκελος';
|
||
|
||
@override
|
||
String get sessionProgress => 'Πρόοδος συνεδρίας';
|
||
|
||
@override
|
||
String get complete => 'Ολοκληρώθηκε';
|
||
|
||
@override
|
||
String get rawDump => 'Ακατέργαστα δεδομένα';
|
||
|
||
@override
|
||
String get cannotRetryMissingRecipient =>
|
||
'Δεν είναι δυνατή η επανάληψη: λείπουν πληροφορίες παραλήπτη';
|
||
|
||
@override
|
||
String get voiceUnavailable => 'Η φωνή δεν είναι διαθέσιμη αυτή τη στιγμή';
|
||
|
||
@override
|
||
String get requestingVoice => 'Αίτηση φωνής';
|
||
}
|