// ignore: unused_import import 'package:intl/intl.dart' as intl; import 'app_localizations.dart'; // ignore_for_file: type=lint /// The translations for Spanish Castilian (`es`). class AppLocalizationsEs extends AppLocalizations { AppLocalizationsEs([String locale = 'es']) : super(locale); @override String get appTitle => 'MeshCore SAR'; @override String get messages => 'Mensajes'; @override String get contacts => 'Contactos'; @override String get map => 'Mapa'; @override String get settings => 'Configuración'; @override String get connect => 'Conectar'; @override String get disconnect => 'Desconectar'; @override String get scanningForDevices => 'Buscando dispositivos...'; @override String get noDevicesFound => 'No se encontraron dispositivos'; @override String get scanAgain => 'Buscar de nuevo'; @override String get tapToConnect => 'Toca para conectar'; @override String get deviceNotConnected => 'Dispositivo no conectado'; @override String get locationPermissionDenied => 'Permiso de ubicación denegado'; @override String get locationPermissionPermanentlyDenied => 'Permiso de ubicación denegado permanentemente. Por favor, actívalo en Configuración.'; @override String get locationPermissionRequired => 'El permiso de ubicación es necesario para el seguimiento GPS y la coordinación del equipo. Puedes activarlo más tarde en Configuración.'; @override String get locationServicesDisabled => 'Los servicios de ubicación están desactivados. Por favor, actívalos en Configuración.'; @override String get failedToGetGpsLocation => 'Error al obtener la ubicación GPS'; @override String advertisedAtLocation(String latitude, String longitude) { return 'Anunciado en $latitude, $longitude'; } @override String failedToAdvertise(String error) { return 'Error al anunciar: $error'; } @override String reconnecting(int attempt, int max) { return 'Reconectando... ($attempt/$max)'; } @override String get cancelReconnection => 'Cancelar reconexión'; @override String get mapManagement => 'Gestión de mapas'; @override String get general => 'General'; @override String get theme => 'Tema'; @override String get chooseTheme => 'Elegir tema'; @override String get light => 'Claro'; @override String get dark => 'Oscuro'; @override String get blueLightTheme => 'Tema azul claro'; @override String get blueDarkTheme => 'Tema azul oscuro'; @override String get sarRed => 'SAR Rojo'; @override String get alertEmergencyMode => 'Modo de alerta/emergencia'; @override String get sarGreen => 'SAR Verde'; @override String get safeAllClearMode => 'Modo seguro/todo despejado'; @override String get autoSystem => 'Auto (Sistema)'; @override String get followSystemTheme => 'Seguir el tema del sistema'; @override String get showRxTxIndicators => 'Mostrar indicadores RX/TX'; @override String get displayPacketActivity => 'Mostrar indicadores de actividad de paquetes en la barra superior'; @override String get simpleMode => 'Modo Simple'; @override String get simpleModeDescription => 'Ocultar información no esencial en mensajes y contactos'; @override String get language => 'Idioma'; @override String get chooseLanguage => 'Elegir idioma'; @override String get english => 'Inglés'; @override String get slovenian => 'Esloveno'; @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'; @override String get autoLocationTracking => 'Seguimiento automático de ubicación'; @override String get automaticallyBroadcastPosition => 'Difundir automáticamente actualizaciones de posición'; @override String get configureTracking => 'Configurar seguimiento'; @override String get distanceAndTimeThresholds => 'Umbrales de distancia y tiempo'; @override String get locationTrackingConfiguration => 'Configuración de seguimiento de ubicación'; @override String get configureWhenLocationBroadcasts => 'Configurar cuándo se envían difusiones de ubicación a la red mesh'; @override String get minimumDistance => 'Distancia mínima'; @override String broadcastAfterMoving(String distance) { return 'Difundir solo después de moverse $distance metros'; } @override String get maximumDistance => 'Distancia máxima'; @override String alwaysBroadcastAfterMoving(String distance) { return 'Siempre difundir después de moverse $distance metros'; } @override String get minimumTimeInterval => 'Intervalo de tiempo mínimo'; @override String alwaysBroadcastEvery(String duration) { return 'Siempre difundir cada $duration'; } @override String get save => 'Guardar'; @override String get cancel => 'Cancelar'; @override String get close => 'Cerrar'; @override String get about => 'Acerca de'; @override String get appVersion => 'Versión de la aplicación'; @override String get appName => 'Nombre de la aplicación'; @override String get aboutMeshCoreSar => 'Acerca de MeshCore SAR'; @override String get aboutDescription => 'Una aplicación de Búsqueda y Rescate diseñada para equipos de respuesta a emergencias. Las características incluyen:\n\n• Red mesh BLE para comunicación entre dispositivos\n• Mapas sin conexión con múltiples opciones de capas\n• Seguimiento en tiempo real de miembros del equipo\n• Marcadores tácticos SAR (persona encontrada, fuego, zona de preparación)\n• Gestión de contactos y mensajería\n• Seguimiento GPS con rumbo de brújula\n• Caché de teselas de mapa para uso sin conexión'; @override String get technologiesUsed => 'Tecnologías utilizadas:'; @override String get technologiesList => '• Flutter para desarrollo multiplataforma\n• BLE (Bluetooth Low Energy) para redes mesh\n• OpenStreetMap para mapas\n• Provider para gestión de estado\n• SharedPreferences para almacenamiento local'; @override String get developer => 'Desarrollador'; @override String get packageName => 'Nombre del paquete'; @override String get sampleData => 'Datos de muestra'; @override String get sampleDataDescription => 'Cargar o borrar contactos de muestra, mensajes de canal y marcadores SAR para pruebas'; @override String get loadSampleData => 'Cargar datos de muestra'; @override String get clearAllData => 'Borrar todos los datos'; @override String get clearAllDataConfirmTitle => 'Borrar todos los datos'; @override String get clearAllDataConfirmMessage => 'Esto borrará todos los contactos y marcadores SAR. ¿Estás seguro?'; @override String get clear => 'Borrar'; @override String loadedSampleData( int teamCount, int channelCount, int sarCount, int messageCount, ) { return 'Cargados $teamCount miembros del equipo, $channelCount canales, $sarCount marcadores SAR, $messageCount mensajes'; } @override String failedToLoadSampleData(String error) { return 'Error al cargar datos de muestra: $error'; } @override String get allDataCleared => 'Todos los datos borrados'; @override String get failedToStartBackgroundTracking => 'Error al iniciar el seguimiento en segundo plano. Verifica los permisos y la conexión BLE.'; @override String locationBroadcast(String latitude, String longitude) { return 'Difusión de ubicación: $latitude, $longitude'; } @override String get defaultPinInfo => 'El PIN predeterminado para dispositivos sin pantalla es 123456. ¿Problemas para emparejar? Olvida el dispositivo bluetooth en la configuración del sistema.'; @override String get noMessagesYet => 'Aún no hay mensajes'; @override String get pullDownToSync => 'Desliza hacia abajo para sincronizar mensajes'; @override String get deleteContact => 'Eliminar contacto'; @override String get delete => 'Eliminar'; @override String get viewOnMap => 'Ver en el mapa'; @override String get refresh => 'Actualizar'; @override String get sendDirectMessage => 'Enviar'; @override String get resetPath => 'Restablecer ruta (Re-enrutar)'; @override String get publicKeyCopied => 'Clave pública copiada al portapapeles'; @override String copiedToClipboard(String label) { return '$label copiado al portapapeles'; } @override String get pleaseEnterPassword => 'Por favor, introduce una contraseña'; @override String failedToSyncContacts(String error) { return 'Error al sincronizar contactos: $error'; } @override String get loggedInSuccessfully => '¡Inicio de sesión exitoso! Esperando mensajes de la sala...'; @override String get loginFailed => 'Error de inicio de sesión - contraseña incorrecta'; @override String loggingIn(String roomName) { return 'Iniciando sesión en $roomName...'; } @override String failedToSendLogin(String error) { return 'Error al enviar inicio de sesión: $error'; } @override String get lowLocationAccuracy => 'Baja precisión de ubicación'; @override String get continue_ => 'Continuar'; @override String get sendSarMarker => 'Enviar marcador SAR'; @override String get deleteDrawing => 'Eliminar dibujo'; @override String get drawingTools => 'Herramientas de dibujo'; @override String get drawLine => 'Dibujar línea'; @override String get drawLineDesc => 'Dibujar una línea a mano alzada en el mapa'; @override String get drawRectangle => 'Dibujar rectángulo'; @override String get drawRectangleDesc => 'Dibujar un área rectangular en el mapa'; @override String get shareDrawings => 'Compartir dibujos'; @override String get clearAllDrawings => 'Borrar todos los dibujos'; @override String get showReceivedDrawings => 'Mostrar dibujos recibidos'; @override String get showingAllDrawings => 'Mostrando todos los dibujos'; @override String get showingOnlyYourDrawings => 'Mostrando solo tus dibujos'; @override String get showSarMarkers => 'Mostrar marcadores SAR'; @override String get showingSarMarkers => 'Mostrando marcadores SAR'; @override String get hidingSarMarkers => 'Ocultando marcadores SAR'; @override String get clearAll => 'Borrar todo'; @override String get noLocalDrawings => 'No hay dibujos locales para compartir'; @override String get publicChannel => 'Canal público'; @override String get broadcastToAll => 'Difundir a todos los nodos cercanos (efímero)'; @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'; @override String get directMessage => 'Mensaje directo'; @override String directMessageSentTo(String contactName) { return 'Mensaje directo enviado a $contactName'; } @override String failedToSend(String error) { return 'Error al enviar: $error'; } @override String directMessageInfo(String contactName) { return 'Este mensaje se enviará directamente a $contactName. También aparecerá en el feed de mensajes principal.'; } @override String get typeYourMessage => 'Escribe tu mensaje...'; @override String get quickLocationMarker => 'Marcador de ubicación rápida'; @override String get markerType => 'Tipo de marcador'; @override String get sendTo => 'Enviar a'; @override String get noDestinationsAvailable => 'No hay destinos disponibles.'; @override String get selectDestination => 'Seleccionar destino...'; @override String get ephemeralBroadcastInfo => 'Efímero: Solo difusión por el aire. No se almacena - los nodos deben estar en línea.'; @override String get persistentRoomInfo => 'Persistente: Almacenado de manera inmutable en la sala. Se sincroniza automáticamente y se conserva sin conexión.'; @override String get location => 'Ubicación'; @override String get myLocation => 'Mi ubicación'; @override String get fromMap => 'Desde el mapa'; @override String get gettingLocation => 'Obteniendo ubicación...'; @override String get locationError => 'Error de ubicación'; @override String get retry => 'Reintentar'; @override String get refreshLocation => 'Actualizar ubicación'; @override String accuracyMeters(int accuracy) { return 'Precisión: ±${accuracy}m'; } @override String get notesOptional => 'Notas (opcional)'; @override String get addAdditionalInformation => 'Agregar información adicional...'; @override String lowAccuracyWarning(int accuracy) { return 'La precisión de la ubicación es ±${accuracy}m. Esto puede no ser lo suficientemente preciso para operaciones SAR.\n\n¿Continuar de todos modos?'; } @override String get loginToRoom => 'Iniciar sesión en la sala'; @override String get enterPasswordInfo => 'Introduce la contraseña para acceder a esta sala. La contraseña se guardará para uso futuro.'; @override String get password => 'Contraseña'; @override String get enterRoomPassword => 'Introduce la contraseña de la sala'; @override String get loggingInDots => 'Iniciando sesión...'; @override String get login => 'Iniciar sesión'; @override String failedToAddRoom(String error) { return 'Error al agregar la sala al dispositivo: $error\n\nLa sala puede no haber anunciado aún.\nIntenta esperar a que la sala transmita.'; } @override String get direct => 'Directo'; @override String get flood => 'Inundación'; @override String get admin => 'Admin'; @override String get loggedIn => 'Sesión iniciada'; @override String get noGpsData => 'Sin datos GPS'; @override String get distance => 'Distancia'; @override String pingingDirect(String name) { return 'Haciendo ping a $name (directo vía ruta)...'; } @override String pingingFlood(String name) { return 'Haciendo ping a $name (inundación - sin ruta)...'; } @override String directPingTimeout(String name) { return 'Tiempo de espera de ping directo agotado - reintentando $name con inundación...'; } @override String pingSuccessful(String name, String fallback) { return 'Ping exitoso a $name$fallback'; } @override String get viaFloodingFallback => ' (vía respaldo de inundación)'; @override String pingFailed(String name) { return 'Ping fallido a $name - no se recibió respuesta'; } @override String deleteContactConfirmation(String name) { return '¿Estás seguro de que quieres eliminar \"$name\"?\n\nEsto eliminará el contacto tanto de la aplicación como del dispositivo de radio compañero.'; } @override String removingContact(String name) { return 'Eliminando $name...'; } @override String contactRemoved(String name) { return 'Contacto \"$name\" eliminado'; } @override String failedToRemoveContact(String error) { return 'Error al eliminar contacto: $error'; } @override String get type => 'Tipo'; @override String get publicKey => 'Clave pública'; @override String get lastSeen => 'Visto por última vez'; @override String get roomStatus => 'Estado de la sala'; @override String get loginStatus => 'Estado de inicio de sesión'; @override String get notLoggedIn => 'No ha iniciado sesión'; @override String get adminAccess => 'Acceso de administrador'; @override String get yes => 'Sí'; @override String get no => 'No'; @override String get permissions => 'Permisos'; @override String get passwordSaved => 'Contraseña guardada'; @override String get locationColon => 'Ubicación:'; @override String get telemetry => 'Telemetría'; @override String requestingTelemetry(String name) { return 'Solicitando telemetría de $name...'; } @override String get voltage => 'Voltaje'; @override String get battery => 'Batería'; @override String get temperature => 'Temperatura'; @override String get humidity => 'Humedad'; @override String get pressure => 'Presión'; @override String get gpsTelemetry => 'GPS (Telemetría)'; @override String get updated => 'Actualizado'; @override String pathResetInfo(String name) { return 'Ruta restablecida para $name. El próximo mensaje encontrará una nueva ruta.'; } @override String get reLoginToRoom => 'Re-iniciar sesión en la sala'; @override String get heading => 'Rumbo'; @override String get elevation => 'Elevación'; @override String get accuracy => 'Precisión'; @override String get bearing => 'Rumbo'; @override String get direction => 'Dirección'; @override String get filterMarkers => 'Filtrar marcadores'; @override String get filterMarkersTooltip => 'Filtrar marcadores'; @override String get contactsFilter => 'Contactos'; @override String get repeatersFilter => 'Repetidores'; @override String get sarMarkers => 'Marcadores SAR'; @override String get foundPerson => 'Persona encontrada'; @override String get fire => 'Fuego'; @override String get stagingArea => 'Área de preparación'; @override String get showAll => 'Mostrar todo'; @override String get nearbyContacts => 'Contactos cercanos'; @override String get locationUnavailable => 'Ubicación no disponible'; @override String get ahead => 'adelante'; @override String degreesRight(int degrees) { return '$degrees° derecha'; } @override String degreesLeft(int degrees) { return '$degrees° izquierda'; } @override String latLonFormat(String latitude, String longitude) { return 'Lat: $latitude Lon: $longitude'; } @override String get noContactsYet => 'Aún no hay contactos'; @override String get connectToDeviceToLoadContacts => 'Conéctate a un dispositivo para cargar contactos'; @override String get teamMembers => 'Miembros del equipo'; @override String get repeaters => 'Repetidores'; @override String get rooms => 'Salas'; @override String get channels => 'Canales'; @override String get cacheStatistics => 'Estadísticas de caché'; @override String get totalTiles => 'Total de teselas'; @override String get cacheSize => 'Tamaño de caché'; @override String get storeName => 'Nombre del almacén'; @override String get noCacheStatistics => 'No hay estadísticas de caché disponibles'; @override String get downloadRegion => 'Descargar región'; @override String get mapLayer => 'Capa de mapa'; @override String get regionBounds => 'Límites de región'; @override String get north => 'Norte'; @override String get south => 'Sur'; @override String get east => 'Este'; @override String get west => 'Oeste'; @override String get zoomLevels => 'Niveles de zoom'; @override String minZoom(int zoom) { return 'Mín: $zoom'; } @override String maxZoom(int zoom) { return 'Máx: $zoom'; } @override String get downloadingDots => 'Descargando...'; @override String get cancelDownload => 'Cancelar descarga'; @override String get downloadRegionButton => 'Descargar región'; @override String get downloadNote => 'Nota: Las regiones grandes o niveles de zoom altos pueden tomar un tiempo y espacio de almacenamiento significativos.'; @override String get cacheManagement => 'Gestión de caché'; @override String get clearAllMaps => 'Borrar todos los mapas'; @override String get clearMapsConfirmTitle => 'Borrar todos los mapas'; @override String get clearMapsConfirmMessage => '¿Estás seguro de que quieres eliminar todos los mapas descargados? Esta acción no se puede deshacer.'; @override String get mapDownloadCompleted => '¡Descarga de mapa completada!'; @override String get cacheClearedSuccessfully => '¡Caché borrada exitosamente!'; @override String get downloadCancelled => 'Descarga cancelada'; @override String get startingDownload => 'Iniciando descarga...'; @override String get downloadingMapTiles => 'Descargando teselas de mapa...'; @override String get downloadCompletedSuccessfully => '¡Descarga completada exitosamente!'; @override String get cancellingDownload => 'Cancelando descarga...'; @override String errorLoadingStats(String error) { return 'Error al cargar estadísticas: $error'; } @override String downloadFailed(String error) { return 'Error en la descarga: $error'; } @override String cancelFailed(String error) { return 'Error al cancelar: $error'; } @override String clearCacheFailed(String error) { return 'Error al borrar caché: $error'; } @override String minZoomError(String error) { return 'Zoom mín: $error'; } @override String maxZoomError(String error) { return 'Zoom máx: $error'; } @override String get minZoomGreaterThanMax => 'El zoom mínimo debe ser menor o igual al zoom máximo'; @override String get selectMapLayer => 'Seleccionar capa de mapa'; @override String get mapOptions => 'Opciones de mapa'; @override String get showLegend => 'Mostrar leyenda'; @override String get displayMarkerTypeCounts => 'Mostrar recuentos de tipos de marcadores'; @override String get rotateMapWithHeading => 'Rotar mapa con rumbo'; @override String get mapFollowsDirection => 'El mapa sigue tu dirección cuando te mueves'; @override String get showMapDebugInfo => 'Mostrar información de depuración del mapa'; @override String get displayZoomLevelBounds => 'Mostrar nivel de zoom y límites'; @override String get fullscreenMode => 'Modo de pantalla completa'; @override String get hideUiFullMapView => 'Ocultar todos los controles de IU para vista de mapa completo'; @override String get openStreetMap => 'OpenStreetMap'; @override String get openTopoMap => 'OpenTopoMap'; @override String get esriSatellite => 'ESRI Satélite'; @override String get googleHybrid => 'Google Híbrido'; @override String get googleRoadmap => 'Google Mapa de Carreteras'; @override String get googleTerrain => 'Google Terreno'; @override String get downloadVisibleArea => 'Descargar área visible'; @override String get initializingMap => 'Inicializando mapa...'; @override String get dragToPosition => 'Arrastrar a posición'; @override String get createSarMarker => 'Crear marcador SAR'; @override String get compass => 'Brújula'; @override String get navigationAndContacts => 'Navegación y contactos'; @override String get sarAlert => 'ALERTA SAR'; @override String get messageSentToPublicChannel => 'Mensaje enviado al canal público'; @override String get pleaseSelectRoomToSendSar => 'Por favor, selecciona una sala para enviar marcador SAR'; @override String failedToSendSarMarker(String error) { return 'Error al enviar marcador SAR: $error'; } @override String sarMarkerSentTo(String roomName) { return 'Marcador SAR enviado a $roomName'; } @override String get notConnectedCannotSync => 'No conectado - no se pueden sincronizar mensajes'; @override String syncedMessageCount(int count) { return 'Sincronizados $count mensaje(s)'; } @override String get noNewMessages => 'No hay mensajes nuevos'; @override String syncFailed(String error) { return 'Error de sincronización: $error'; } @override String get failedToResendMessage => 'Error al reenviar mensaje'; @override String get retryingMessage => 'Reintentando mensaje...'; @override String retryFailed(String error) { return 'Error de reintento: $error'; } @override String get textCopiedToClipboard => 'Texto copiado al portapapeles'; @override String get cannotReplySenderMissing => 'No se puede responder: falta información del remitente'; @override String get cannotReplyContactNotFound => 'No se puede responder: contacto no encontrado'; @override String get messageDeleted => 'Mensaje eliminado'; @override String get copyText => 'Copiar texto'; @override String get deleteMessage => 'Eliminar mensaje'; @override String get deleteMessageConfirmation => '¿Está seguro de que desea eliminar este mensaje?'; @override String get shareLocation => 'Compartir ubicación'; @override String shareLocationText( String markerInfo, String lat, String lon, String url, ) { return '$markerInfo\n\nCoordenadas: $lat, $lon\n\nGoogle Maps: $url'; } @override String get sarLocationShare => 'Ubicación SAR'; @override String get locationShared => 'Ubicación compartida'; @override String get refreshedContacts => 'Contactos actualizados'; @override String get justNow => 'Justo ahora'; @override String minutesAgo(int minutes) { return 'Hace ${minutes}m'; } @override String hoursAgo(int hours) { return 'Hace ${hours}h'; } @override String daysAgo(int days) { return 'Hace ${days}d'; } @override String secondsAgo(int seconds) { return 'Hace ${seconds}s'; } @override String get sending => 'Enviando...'; @override String get sent => 'Enviado'; @override String get delivered => 'Entregado'; @override String deliveredWithTime(int time) { return 'Entregado (${time}ms)'; } @override String get failed => 'Fallido'; @override String get broadcast => 'Difusión'; @override String get sarMarkerFoundPerson => 'Persona encontrada'; @override String get sarMarkerFire => 'Ubicación de fuego'; @override String get sarMarkerStagingArea => 'Área de preparación'; @override String get sarMarkerObject => 'Objeto encontrado'; @override String get from => 'De'; @override String get coordinates => 'Coordenadas'; @override String get tapToViewOnMap => 'Toca para ver en el mapa'; @override String get radioSettings => 'Configuración de radio'; @override String get frequencyMHz => 'Frecuencia (MHz)'; @override String get frequencyExample => 'ej., 869.618'; @override String get bandwidth => 'Ancho de banda'; @override String get spreadingFactor => 'Factor de dispersión'; @override String get codingRate => 'Tasa de codificación'; @override String get txPowerDbm => 'Potencia TX (dBm)'; @override String maxPowerDbm(int power) { return 'Máx: $power dBm'; } @override String get you => 'Tú'; @override String get offlineVectorMaps => 'Mapas vectoriales sin conexión'; @override String get offlineVectorMapsDescription => 'Importar y gestionar teselas de mapas vectoriales sin conexión (formato MBTiles) para usar sin conexión a internet'; @override String get importMbtiles => 'Importar archivo MBTiles'; @override String get importMbtilesNote => 'Compatible con archivos MBTiles con teselas vectoriales (formato PBF/MVT). ¡Los extractos de Geofabrik funcionan muy bien!'; @override String get noMbtilesFiles => 'No se encontraron mapas vectoriales sin conexión'; @override String get mbtilesImportedSuccessfully => 'Archivo MBTiles importado exitosamente'; @override String get failedToImportMbtiles => 'Error al importar archivo MBTiles'; @override String get deleteMbtilesConfirmTitle => 'Eliminar mapa sin conexión'; @override String deleteMbtilesConfirmMessage(String name) { return '¿Estás seguro de que quieres eliminar \"$name\"? Esto eliminará permanentemente el mapa sin conexión.'; } @override String get mbtilesDeletedSuccessfully => 'Mapa sin conexión eliminado exitosamente'; @override String get failedToDeleteMbtiles => 'Error al eliminar mapa sin conexión'; @override String get importExportCachedTiles => 'Importar/Exportar teselas en caché'; @override String get importExportDescription => 'Realice copias de seguridad, comparta y restaure teselas de mapas descargadas entre dispositivos'; @override String get exportTilesToFile => 'Exportar teselas a archivo'; @override String get importTilesFromFile => 'Importar teselas desde archivo'; @override String get selectExportLocation => 'Seleccionar ubicación de exportación'; @override String get selectImportFile => 'Seleccionar archivo de teselas'; @override String get exportingTiles => 'Exportando teselas...'; @override String get importingTiles => 'Importando teselas...'; @override String exportSuccess(int count) { return '$count teselas exportadas exitosamente'; } @override String importSuccess(int count) { return '$count almacenes importados exitosamente'; } @override String exportFailed(String error) { return 'Export failed: $error'; } @override String importFailed(String error) { return 'Import failed: $error'; } @override String get exportNote => 'Crea un archivo comprimido (.fmtc) que se puede compartir e importar en otros dispositivos.'; @override String get importNote => 'Importa teselas de mapa desde un archivo previamente exportado. Las teselas se fusionarán con la caché existente.'; @override String get noTilesToExport => 'No hay teselas para exportar'; @override String archiveContainsStores(int count) { return 'El archivo contiene $count almacenes'; } @override String get vectorTiles => 'Teselas vectoriales'; @override String get schema => 'Esquema'; @override String get unknown => 'Desconocido'; @override String get bounds => 'Límites'; @override String get onlineLayers => 'Capas en línea'; @override String get offlineLayers => 'Capas sin conexión'; @override String get locationTrail => 'Rastro de ubicación'; @override String get showTrailOnMap => 'Mostrar rastro en el mapa'; @override String get trailVisible => 'El rastro es visible en el mapa'; @override String get trailHiddenRecording => 'El rastro está oculto (aún grabando)'; @override String get duration => 'Duración'; @override String get points => 'Puntos'; @override String get clearTrail => 'Borrar rastro'; @override String get clearTrailQuestion => '¿Borrar rastro?'; @override String get clearTrailConfirmation => '¿Estás seguro de que quieres borrar el rastro de ubicación actual? Esta acción no se puede deshacer.'; @override String get noTrailRecorded => 'Aún no se ha grabado rastro'; @override String get startTrackingToRecord => 'Inicia el seguimiento de ubicación para grabar tu rastro'; @override String get trailControls => 'Controles del rastro'; @override String get deviceInformation => 'Información del dispositivo'; @override String get bleName => 'Nombre BLE'; @override String get meshName => 'Nombre Mesh'; @override String get notSet => 'No establecido'; @override String get model => 'Modelo'; @override String get version => 'Versión'; @override String get buildDate => 'Fecha de compilación'; @override String get firmware => 'Firmware'; @override String get maxContacts => 'Contactos máximos'; @override String get maxChannels => 'Canales máximos'; @override String get publicInfo => 'Información pública'; @override String get meshNetworkName => 'Nombre de red Mesh'; @override String get nameBroadcastInMesh => 'Nombre difundido en anuncios mesh'; @override String get telemetryAndLocationSharing => 'Telemetría y compartir ubicación'; @override String get lat => 'Lat'; @override String get lon => 'Lon'; @override String get useCurrentLocation => 'Usar ubicación actual'; @override String get noneUnknown => 'Ninguno/Desconocido'; @override String get chatNode => 'Nodo de chat'; @override String get repeater => 'Repetidor'; @override String get roomChannel => 'Sala/Canal'; @override String typeNumber(int number) { return 'Tipo $number'; } @override String copiedToClipboardShort(String label) { return 'Copiado $label al portapapeles'; } @override String failedToSave(String error) { return 'Error al guardar: $error'; } @override String failedToGetLocation(String error) { return 'Error al obtener ubicación: $error'; } @override String get sarTemplates => 'Plantillas SAR'; @override String get manageSarTemplates => 'Gestionar plantillas SAR'; @override String get addTemplate => 'Agregar plantilla'; @override String get editTemplate => 'Editar plantilla'; @override String get deleteTemplate => 'Eliminar plantilla'; @override String get templateName => 'Nombre de plantilla'; @override String get templateNameHint => 'e.g. Found Person'; @override String get templateEmoji => 'Emoji'; @override String get emojiRequired => 'Se requiere emoji'; @override String get nameRequired => 'Se requiere nombre'; @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 => 'Importar'; @override String get exportToClipboard => 'Exportar'; @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 => 'Restablecer valores predeterminados'; @override String get resetToDefaultsConfirmation => 'Esto eliminará todas las plantillas personalizadas y restaurará las 4 plantillas predeterminadas. ¿Continuar?'; @override String get reset => 'Restablecer'; @override String get resetComplete => 'Plantillas restablecidas a valores predeterminados'; @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 => 'Permisos'; @override String get locationPermission => 'Permiso de ubicación'; @override String get checking => 'Comprobando...'; @override String get locationPermissionGrantedAlways => 'Concedido (Siempre)'; @override String get locationPermissionGrantedWhileInUse => 'Concedido (Durante el uso)'; @override String get locationPermissionDeniedTapToRequest => 'Denegado - Toca para solicitar'; @override String get locationPermissionPermanentlyDeniedOpenSettings => 'Denegado permanentemente - Abrir ajustes'; @override String get locationPermissionDialogContent => 'El permiso de ubicación está permanentemente denegado. Por favor, actívalo en la configuración de tu dispositivo para usar el rastreo GPS y compartir ubicación.'; @override String get openSettings => 'Abrir ajustes'; @override String get locationPermissionGranted => '¡Permiso de ubicación concedido!'; @override String get locationPermissionRequiredForGps => 'El permiso de ubicación es necesario para el rastreo GPS y compartir ubicación.'; @override String get locationPermissionAlreadyGranted => 'El permiso de ubicación ya está concedido.'; @override String get sarNavyBlue => 'SAR Azul Marino'; @override String get sarNavyBlueDescription => 'Modo Profesional/Operaciones'; @override String get selectRecipient => 'Seleccionar destinatario'; @override String get broadcastToAllNearby => 'Transmitir a todos cercanos'; @override String get searchRecipients => 'Buscar destinatarios...'; @override String get noContactsFound => 'No se encontraron contactos'; @override String get noRoomsFound => 'No se encontraron salas'; @override String get noContactsOrRoomsAvailable => 'No hay contactos o salas disponibles'; @override String get messagesWillBeSentToPublicChannel => 'Los mensajes se enviarán al canal público'; @override String get newMessage => 'Nuevo mensaje'; @override String get channel => 'Canal'; @override String get samplePoliceLead => 'Jefe de Policía'; @override String get sampleDroneOperator => 'Operador de Dron'; @override String get sampleFirefighterAlpha => 'Bombero'; @override String get sampleMedicCharlie => 'Médico'; @override String get sampleCommandDelta => 'Comando'; @override String get sampleFireEngine => 'Camión de Bomberos'; @override String get sampleAirSupport => 'Apoyo Aéreo'; @override String get sampleBaseCoordinator => 'Coordinador de Base'; @override String get channelEmergency => 'Emergencia'; @override String get channelCoordination => 'Coordinación'; @override String get channelUpdates => 'Actualizaciones'; @override String get sampleTeamMember => 'Miembro de Equipo de Muestra'; @override String get sampleScout => 'Explorador de Muestra'; @override String get sampleBase => 'Base de Muestra'; @override String get sampleSearcher => 'Buscador de Muestra'; @override String get sampleObjectBackpack => ' Mochila encontrada - color azul'; @override String get sampleObjectVehicle => ' Vehículo abandonado - verificar propietario'; @override String get sampleObjectCamping => ' Equipo de camping descubierto'; @override String get sampleObjectTrailMarker => ' Marcador de sendero encontrado fuera del camino'; @override String get sampleMsgAllTeamsCheckIn => 'Todos los equipos reporten'; @override String get sampleMsgWeatherUpdate => 'Actualización del clima: Cielo despejado, temp 18°C'; @override String get sampleMsgBaseCamp => 'Campamento base establecido en área de preparación'; @override String get sampleMsgTeamAlpha => 'Equipo moviéndose al sector 2'; @override String get sampleMsgRadioCheck => 'Prueba de radio - todas las estaciones respondan'; @override String get sampleMsgWaterSupply => 'Suministro de agua disponible en punto de control 3'; @override String get sampleMsgTeamBravo => 'Equipo reportando: sector 1 despejado'; @override String get sampleMsgEtaRallyPoint => 'ETA al punto de encuentro: 15 minutos'; @override String get sampleMsgSupplyDrop => 'Caída de suministros confirmada para las 14:00'; @override String get sampleMsgDroneSurvey => 'Inspección con dron completada - sin hallazgos'; @override String get sampleMsgTeamCharlie => 'Equipo solicitando apoyo'; @override String get sampleMsgRadioDiscipline => 'Todas las unidades: mantener disciplina de radio'; @override String get sampleMsgUrgentMedical => 'URGENTE: Asistencia médica necesaria en sector 4'; @override String get sampleMsgAdultMale => ' Hombre adulto, consciente'; @override String get sampleMsgFireSpotted => 'Fuego avistado - coordenadas próximas'; @override String get sampleMsgSpreadingRapidly => ' ¡Se propaga rápidamente!'; @override String get sampleMsgPriorityHelicopter => 'PRIORIDAD: Necesitamos apoyo de helicóptero'; @override String get sampleMsgMedicalTeamEnRoute => 'Equipo médico en camino a su ubicación'; @override String get sampleMsgEvacHelicopter => 'Helicóptero de evacuación ETA 10 minutos'; @override String get sampleMsgEmergencyResolved => 'Emergencia resuelta - todo despejado'; @override String get sampleMsgEmergencyStagingArea => ' Área de preparación de emergencia'; @override String get sampleMsgEmergencyServices => 'Servicios de emergencia notificados y respondiendo'; @override String get sampleAlphaTeamLead => 'Líder de Equipo'; @override String get sampleBravoScout => 'Explorador'; @override String get sampleCharlieMedic => 'Médico'; @override String get sampleDeltaNavigator => 'Navegador'; @override String get sampleEchoSupport => 'Apoyo'; @override String get sampleBaseCommand => 'Comando de Base'; @override String get sampleFieldCoordinator => 'Coordinador de Campo'; @override String get sampleMedicalTeam => 'Equipo Médico'; }