Files
meshcore-open/lib/l10n/app_localizations_es.dart
T
just-stuff-tm 8ba4bbfbc5 add auto clock synchronization setting after repeater login
Introduced a new setting for automatic clock synchronization after a successful repeater login.
Added localization support for the new feature in multiple languages (Bulgarian, German, English, Spanish, French, Hungarian, Italian, Japanese, Korean, Dutch, Polish, Portuguese, Russian, Slovak, Slovenian, Swedish, Ukrainian, Chinese).
Implemented storage service methods to manage the new setting.
Updated the repeater settings screen to include a toggle for the new feature.
Enhanced the repeater login dialog to trigger clock synchronization automatically if the setting is enabled.
2026-04-10 14:25:53 -04:00

3701 lines
95 KiB
Dart

// 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 Open';
@override
String get nav_contacts => 'Contactos';
@override
String get nav_channels => 'Canales';
@override
String get nav_map => 'Mapa';
@override
String get common_cancel => 'Cancelar';
@override
String get common_ok => 'De acuerdo';
@override
String get common_connect => 'Conectar';
@override
String get common_unknownDevice => 'Dispositivo Desconocido';
@override
String get common_save => 'Guardar';
@override
String get common_delete => 'Eliminar';
@override
String get common_deleteAll => 'Eliminar todo';
@override
String get common_close => 'Cerrar';
@override
String get common_edit => 'Editar';
@override
String get common_add => 'Añadir';
@override
String get common_settings => 'Configuración';
@override
String get common_disconnect => 'Desconectar';
@override
String get common_connected => 'Conectado';
@override
String get common_disconnected => 'Desconectado';
@override
String get common_create => 'Crear';
@override
String get common_continue => 'Continuar';
@override
String get common_share => 'Compartir';
@override
String get common_copy => 'Copiar';
@override
String get common_retry => 'Intentar';
@override
String get common_hide => 'Ocultar';
@override
String get common_remove => 'Eliminar';
@override
String get common_enable => 'Activar';
@override
String get common_disable => 'Desactivar';
@override
String get common_reboot => 'Reiniciar';
@override
String get common_loading => 'Cargando...';
@override
String get common_notAvailable => '';
@override
String common_voltageValue(String volts) {
return '$volts V';
}
@override
String common_percentValue(int percent) {
return '$percent%';
}
@override
String get scanner_title => 'MeshCore Open';
@override
String get connectionChoiceUsbLabel => 'USB';
@override
String get connectionChoiceBluetoothLabel => 'Bluetooth';
@override
String get connectionChoiceTcpLabel => 'TCP';
@override
String get tcpScreenTitle => 'Establecer conexión a través de TCP';
@override
String get tcpHostLabel => 'Dirección IP';
@override
String get tcpHostHint => '192.168.40.10';
@override
String get tcpPortLabel => 'Puerto';
@override
String get tcpPortHint => '5000';
@override
String get tcpStatus_notConnected => 'Ingrese la dirección final y conecte.';
@override
String tcpStatus_connectingTo(String endpoint) {
return 'Conectándose a $endpoint...';
}
@override
String get tcpErrorHostRequired => 'Se requiere la dirección IP.';
@override
String get tcpErrorPortInvalid => 'El puerto debe estar entre 1 y 65535.';
@override
String get tcpErrorUnsupported =>
'El protocolo de transporte TCP no está soportado en esta plataforma.';
@override
String get tcpErrorTimedOut => 'La conexión TCP ha caducado.';
@override
String tcpConnectionFailed(String error) {
return 'Error en la conexión TCP: $error';
}
@override
String get usbScreenTitle => 'Conecte mediante USB';
@override
String get usbScreenSubtitle =>
'Seleccione el dispositivo de serie detectado y conéctelo directamente a su nodo MeshCore.';
@override
String get usbScreenStatus => 'Seleccione un dispositivo USB';
@override
String get usbScreenNote =>
'La comunicación serial a través de USB está activa en dispositivos Android compatibles y en plataformas de escritorio.';
@override
String get usbScreenEmptyState =>
'No se encontraron dispositivos USB. Conecte uno y vuelva a intentar.';
@override
String get usbErrorPermissionDenied =>
'Se denegó el permiso de acceso a través de USB.';
@override
String get usbErrorDeviceMissing =>
'El dispositivo USB seleccionado ya no está disponible.';
@override
String get usbErrorInvalidPort => 'Seleccione un dispositivo USB válido.';
@override
String get usbErrorBusy =>
'Ya se ha iniciado una solicitud de conexión USB adicional.';
@override
String get usbErrorNotConnected => 'No hay ningún dispositivo USB conectado.';
@override
String get usbErrorOpenFailed =>
'No se pudo abrir el dispositivo USB seleccionado.';
@override
String get usbErrorConnectFailed =>
'No se pudo conectar con el dispositivo USB seleccionado.';
@override
String get usbErrorUnsupported =>
'La comunicación serial a través de USB no está soportada en esta plataforma.';
@override
String get usbErrorAlreadyActive => 'La conexión USB ya está activa.';
@override
String get usbErrorNoDeviceSelected =>
'No se ha seleccionado ningún dispositivo USB.';
@override
String get usbErrorPortClosed => 'La conexión USB no está activa.';
@override
String get usbErrorConnectTimedOut =>
'La conexión ha caducado. Asegúrese de que el dispositivo tenga el firmware USB Companion.';
@override
String get usbFallbackDeviceName => 'Dispositivo de serie web';
@override
String get usbStatus_notConnected => 'Seleccione un dispositivo USB';
@override
String get usbStatus_connecting => 'Conectándose al dispositivo USB...';
@override
String get usbStatus_searching => 'Buscando dispositivos USB...';
@override
String usbConnectionFailed(String error) {
return 'Error al conectar mediante USB: $error';
}
@override
String get scanner_scanning => 'Escaneando dispositivos...';
@override
String get scanner_connecting => 'Conectando...';
@override
String get scanner_disconnecting => 'Desconectando...';
@override
String get scanner_notConnected => 'No está conectado';
@override
String scanner_connectedTo(String deviceName) {
return 'Conectado a $deviceName';
}
@override
String get scanner_searchingDevices => 'Buscando dispositivos MeshCore...';
@override
String get scanner_tapToScan =>
'Toca Escanear para encontrar dispositivos MeshCore';
@override
String scanner_connectionFailed(String error) {
return 'Error de conexión: $error';
}
@override
String get scanner_stop => 'Detener';
@override
String get scanner_scan => 'Escanea';
@override
String get scanner_bluetoothOff => 'Bluetooth está desactivado.';
@override
String get scanner_bluetoothOffMessage =>
'Por favor, active el Bluetooth para escanear dispositivos.';
@override
String get scanner_chromeRequired => 'Navegador Chrome requerido';
@override
String get scanner_chromeRequiredMessage =>
'Esta aplicación web requiere Google Chrome o un navegador basado en Chromium para el soporte de Bluetooth.';
@override
String get scanner_enableBluetooth => 'Habilitar Bluetooth';
@override
String get device_quickSwitch => 'Cambiar rápidamente';
@override
String get device_meshcore => 'MeshCore';
@override
String get settings_title => 'Configuración';
@override
String get settings_deviceInfo => 'Información del dispositivo';
@override
String get settings_appSettings => 'Configuración de la App';
@override
String get settings_appSettingsSubtitle =>
'Notificaciones, mensajes y preferencias de mapa';
@override
String get settings_nodeSettings => 'Configuración del Nodo';
@override
String get settings_nodeName => 'Nombre del nodo';
@override
String get settings_nodeNameNotSet => 'No está configurado';
@override
String get settings_nodeNameHint => 'Introducir nombre de nodo';
@override
String get settings_nodeNameUpdated => 'Nombre actualizado';
@override
String get settings_radioSettings => 'Configuración de Radio';
@override
String get settings_radioSettingsSubtitle =>
'Frecuencia, potencia, factor de dispersión';
@override
String get settings_radioSettingsUpdated => 'Ajustes de radio actualizados';
@override
String get settings_location => 'Ubicación';
@override
String get settings_locationSubtitle => 'Coordenadas GPS';
@override
String get settings_locationUpdated => 'Ubicación actualizada';
@override
String get settings_locationBothRequired =>
'Introduzca tanto la latitud como la longitud.';
@override
String get settings_locationInvalid => 'Latitud o longitud inválidos.';
@override
String get settings_locationGPSEnable => 'Habilitar GPS';
@override
String get settings_locationGPSEnableSubtitle =>
'Habilita la actualización automática de la ubicación mediante GPS.';
@override
String get settings_locationIntervalSec => 'Intervalo para GPS (Segundos)';
@override
String get settings_locationIntervalInvalid =>
'El intervalo debe ser de al menos 60 segundos y menor que 86400 segundos.';
@override
String get settings_latitude => 'Latitud';
@override
String get settings_longitude => 'Longitud';
@override
String get settings_contactSettings => 'Configuración de contacto';
@override
String get settings_contactSettingsSubtitle =>
'Configuración de cómo se agregan los contactos.';
@override
String get settings_privacyMode => 'Modo Privacidad';
@override
String get settings_privacyModeSubtitle =>
'Ocultar nombre/ubicación en anuncios';
@override
String get settings_privacyModeToggle =>
'Activar el modo de privacidad para ocultar tu nombre y ubicación en los anuncios.';
@override
String get settings_privacyModeEnabled => 'Modo de privacidad activado';
@override
String get settings_privacyModeDisabled => 'Modo de privacidad desactivado';
@override
String get settings_privacy => 'Configuración de privacidad';
@override
String get settings_privacySubtitle =>
'Controlar qué información se comparte.';
@override
String get settings_privacySettingsDescription =>
'Elige qué información comparte tu dispositivo con otros.';
@override
String get settings_denyAll => 'Denegar todo';
@override
String get settings_allowByContact => 'Permitir por banderas de contacto';
@override
String get settings_allowAll => 'Permitir todo';
@override
String get settings_telemetryBaseMode => 'Modo base de telemetría';
@override
String get settings_telemetryLocationMode =>
'Modo de ubicación de telemetría';
@override
String get settings_telemetryEnvironmentMode =>
'Modo de entorno de telemetría';
@override
String get settings_advertLocation => 'Ubicación de anuncio';
@override
String get settings_advertLocationSubtitle => 'Incluir ubicación en anuncio';
@override
String settings_multiAck(String value) {
return 'Multi-ACKs: $value';
}
@override
String get settings_telemetryModeUpdated => 'Modo de telemetría actualizado';
@override
String get settings_actions => 'Acciones';
@override
String get settings_sendAdvertisement => 'Enviar Anuncio';
@override
String get settings_sendAdvertisementSubtitle =>
'Presencia de transmisión ahora';
@override
String get settings_advertisementSent => 'Anuncio enviado';
@override
String get settings_syncTime => 'Tiempo de Sincronización';
@override
String get settings_syncTimeSubtitle =>
'Establecer la hora del dispositivo al tiempo del teléfono';
@override
String get settings_timeSynchronized => 'Sincronizado en el tiempo';
@override
String get settings_refreshContacts => 'Actualizar Contactos';
@override
String get settings_refreshContactsSubtitle =>
'Recargar lista de contactos del dispositivo';
@override
String get settings_rebootDevice => 'Reiniciar Dispositivo';
@override
String get settings_rebootDeviceSubtitle =>
'Reiniciar el dispositivo MeshCore';
@override
String get settings_rebootDeviceConfirm =>
'¿Está seguro de que desea reiniciar el dispositivo? Se desconectará.';
@override
String get settings_debug => 'Depurar';
@override
String get settings_bleDebugLog => 'Registro de Depuración BLE';
@override
String get settings_bleDebugLogSubtitle =>
'Comandos, respuestas y datos brutos de BLE';
@override
String get settings_appDebugLog => 'Registro de Depuración de la App';
@override
String get settings_appDebugLogSubtitle =>
'Mensajes de depuración de la aplicación';
@override
String get settings_about => 'Acerca de';
@override
String settings_aboutVersion(String version) {
return 'MeshCore Open v$version';
}
@override
String get settings_aboutLegalese => '2026 Proyecto Open Source MeshCore';
@override
String get settings_aboutDescription =>
'Un cliente de código abierto de Flutter para dispositivos de red mesh LoRa de MeshCore.';
@override
String get settings_aboutOpenMeteoAttribution =>
'Datos de elevación LOS: Open-Meteo (CC BY 4.0)';
@override
String get settings_infoName => 'Nombre';
@override
String get settings_infoId => 'ID';
@override
String get settings_infoStatus => 'Estado';
@override
String get settings_infoBattery => 'Batería';
@override
String get settings_infoPublicKey => 'Clave Pública';
@override
String get settings_infoContactsCount => 'Número de contactos';
@override
String get settings_infoChannelCount => 'Número de canales';
@override
String get settings_presets => 'Preajustes';
@override
String get settings_frequency => 'Frecuencia (MHz)';
@override
String get settings_frequencyHelper => '300,0 - 2500,0';
@override
String get settings_frequencyInvalid => 'Frecuencia inválida (300-2500 MHz)';
@override
String get settings_bandwidth => 'Ancho de banda';
@override
String get settings_spreadingFactor => 'Factor de propagación';
@override
String get settings_codingRate => 'Tasa de Programación';
@override
String get settings_txPower => 'TX Potencia (dBm)';
@override
String get settings_txPowerHelper => '0 - 22';
@override
String get settings_txPowerInvalid => 'Potencia de TX inválida (0-22 dBm)';
@override
String get settings_clientRepeat => 'Repetir sin conexión';
@override
String get settings_clientRepeatSubtitle =>
'Permita que este dispositivo repita los paquetes de red para otros usuarios.';
@override
String get settings_clientRepeatFreqWarning =>
'Para la comunicación fuera de la red, se requiere una frecuencia de 433, 869 o 918 MHz.';
@override
String settings_error(String message) {
return 'Error: $message';
}
@override
String get appSettings_title => 'Configuración de la App';
@override
String get appSettings_appearance => 'Apariencia';
@override
String get appSettings_theme => 'Tema';
@override
String get appSettings_themeSystem => 'Valor predeterminado del sistema';
@override
String get appSettings_themeLight => 'Luz';
@override
String get appSettings_themeDark => 'Oscuro';
@override
String get appSettings_language => 'Idioma';
@override
String get appSettings_languageSystem => 'Predeterminado del sistema';
@override
String get appSettings_languageEn => 'English';
@override
String get appSettings_languageFr => 'Français';
@override
String get appSettings_languageEs => 'Español';
@override
String get appSettings_languageDe => 'Deutsch';
@override
String get appSettings_languagePl => 'Polski';
@override
String get appSettings_languageSl => 'Slovenščina';
@override
String get appSettings_languagePt => 'Português';
@override
String get appSettings_languageIt => 'Italiano';
@override
String get appSettings_languageZh => '中文';
@override
String get appSettings_languageSv => 'Svenska';
@override
String get appSettings_languageNl => 'Nederlands';
@override
String get appSettings_languageSk => 'Slovenčina';
@override
String get appSettings_languageBg => 'Български';
@override
String get appSettings_languageRu => 'Ruso';
@override
String get appSettings_languageUk => 'Ucraniano';
@override
String get appSettings_enableMessageTracing =>
'Habilitar seguimiento de mensajes';
@override
String get appSettings_enableMessageTracingSubtitle =>
'Mostrar metadatos detallados de enrutamiento y tiempo para los mensajes';
@override
String get appSettings_notifications => 'Notificaciones';
@override
String get appSettings_enableNotifications => 'Habilitar Notificaciones';
@override
String get appSettings_enableNotificationsSubtitle =>
'Recibir notificaciones para mensajes y anuncios';
@override
String get appSettings_notificationPermissionDenied =>
'Permiso de notificación denegado';
@override
String get appSettings_notificationsEnabled => 'Notificaciones activadas';
@override
String get appSettings_notificationsDisabled => 'Notificaciones desactivadas';
@override
String get appSettings_messageNotifications => 'Notificaciones de Mensaje';
@override
String get appSettings_messageNotificationsSubtitle =>
'Mostrar notificación al recibir nuevos mensajes';
@override
String get appSettings_channelMessageNotifications =>
'Notificaciones de Mensajes del Canal';
@override
String get appSettings_channelMessageNotificationsSubtitle =>
'Mostrar notificación al recibir mensajes del canal';
@override
String get appSettings_advertisementNotifications =>
'Notificaciones de Anuncios';
@override
String get appSettings_advertisementNotificationsSubtitle =>
'Mostrar notificación cuando se descubren nuevos nodos';
@override
String get appSettings_messaging => 'Mensajería';
@override
String get appSettings_clearPathOnMaxRetry =>
'Borrar Camino en Max Reintentos';
@override
String get appSettings_clearPathOnMaxRetrySubtitle =>
'Restablecer la ruta de contacto después de 5 intentos de envío fallidos';
@override
String get appSettings_pathsWillBeCleared =>
'Los caminos se limpiarán después de 5 intentos fallidos.';
@override
String get appSettings_pathsWillNotBeCleared =>
'Las rutas no se eliminarán automáticamente.';
@override
String get appSettings_autoRouteRotation => 'Rotación de Ruta Automática';
@override
String get appSettings_autoRouteRotationSubtitle =>
'Alternar entre las mejores rutas y el modo inundación';
@override
String get appSettings_autoRouteRotationEnabled =>
'Rotación de ruta automática habilitada';
@override
String get appSettings_autoRouteRotationDisabled =>
'Rotación de ruta automática desactivada';
@override
String get appSettings_maxRouteWeight => 'Peso máximo permitido para la ruta';
@override
String get appSettings_maxRouteWeightSubtitle =>
'Peso máximo que una ruta puede acumular gracias a entregas exitosas.';
@override
String get appSettings_initialRouteWeight => 'Peso inicial de la ruta';
@override
String get appSettings_initialRouteWeightSubtitle =>
'Peso inicial para rutas recién descubiertas';
@override
String get appSettings_routeWeightSuccessIncrement =>
'Incremento de peso para el éxito';
@override
String get appSettings_routeWeightSuccessIncrementSubtitle =>
'Peso añadido a una ruta después de una entrega exitosa.';
@override
String get appSettings_routeWeightFailureDecrement =>
'Reducción del peso asociado al fallo';
@override
String get appSettings_routeWeightFailureDecrementSubtitle =>
'Peso retirado de un camino después de un intento de entrega fallido.';
@override
String get appSettings_maxMessageRetries =>
'Número máximo de reintentos de envío de mensajes';
@override
String get appSettings_maxMessageRetriesSubtitle =>
'Número de intentos de reintento antes de marcar un mensaje como fallido.';
@override
String path_routeWeight(String weight, String max) {
return '$weight/$max';
}
@override
String get appSettings_battery => 'Batería';
@override
String get appSettings_batteryChemistry => 'Química de la batería';
@override
String appSettings_batteryChemistryPerDevice(String deviceName) {
return 'Configuración por dispositivo ($deviceName)';
}
@override
String get appSettings_batteryChemistryConnectFirst =>
'Conéctate a un dispositivo para elegir';
@override
String get appSettings_batteryNmc => '18650 NMC (3.0-4.2V)';
@override
String get appSettings_batteryLifepo4 => 'LiFePO4 (2.6-3.65V)';
@override
String get appSettings_batteryLipo => 'LiPo (3.0-4.2V)';
@override
String get appSettings_mapDisplay => 'Visualización del Mapa';
@override
String get appSettings_showRepeaters => 'Mostrar Repetidores';
@override
String get appSettings_showRepeatersSubtitle =>
'Mostrar nodos de repetidor en el mapa';
@override
String get appSettings_showChatNodes => 'Mostrar Nodos de Chat';
@override
String get appSettings_showChatNodesSubtitle =>
'Mostrar nodos de chat en el mapa';
@override
String get appSettings_showOtherNodes => 'Mostrar otros nodos';
@override
String get appSettings_showOtherNodesSubtitle =>
'Mostrar otros tipos de nodo en el mapa';
@override
String get appSettings_timeFilter => 'Filtro de Tiempo';
@override
String get appSettings_timeFilterShowAll => 'Mostrar todos los nodos';
@override
String appSettings_timeFilterShowLast(int hours) {
return 'Mostrar nodos de las últimas $hours horas';
}
@override
String get appSettings_mapTimeFilter => 'Filtro de Tiempo del Mapa';
@override
String get appSettings_showNodesDiscoveredWithin =>
'Mostrar nodos descubiertos dentro de:';
@override
String get appSettings_allTime => 'Todo el tiempo';
@override
String get appSettings_lastHour => 'Última hora';
@override
String get appSettings_last6Hours => 'Últimas 6 horas';
@override
String get appSettings_last24Hours => 'Últimas 24 horas';
@override
String get appSettings_lastWeek => 'La semana pasada';
@override
String get appSettings_offlineMapCache => 'Caché de Mapa Offline';
@override
String get appSettings_unitsTitle => 'Unidades';
@override
String get appSettings_unitsMetric => 'Métrico (m/km)';
@override
String get appSettings_unitsImperial => 'Imperial (pies/millas)';
@override
String get appSettings_noAreaSelected => 'No se ha seleccionado ningún área';
@override
String appSettings_areaSelectedZoom(int minZoom, int maxZoom) {
return 'Área seleccionada (zoom $minZoom-$maxZoom)';
}
@override
String get appSettings_debugCard => 'Depurar';
@override
String get appSettings_appDebugLogging => 'Registro de Depuración de la App';
@override
String get appSettings_appDebugLoggingSubtitle =>
'Registrar mensajes de depuración de la app de registro para solucionar problemas';
@override
String get appSettings_appDebugLoggingEnabled =>
'Registro de depuración de la aplicación habilitado';
@override
String get appSettings_appDebugLoggingDisabled =>
'El registro de depuración de la aplicación está desactivado';
@override
String get contacts_title => 'Contactos';
@override
String get contacts_noContacts => 'Aún no hay contactos.';
@override
String get contacts_contactsWillAppear =>
'Los contactos aparecerán cuando los dispositivos anuncien.';
@override
String get contacts_unread => 'No leído';
@override
String get contacts_searchContactsNoNumber => 'Buscar contactos...';
@override
String contacts_searchContacts(int number, String str) {
return 'Buscar contactos...';
}
@override
String contacts_searchFavorites(int number, String str) {
return 'Buscar $number$str Favoritos...';
}
@override
String contacts_searchUsers(int number, String str) {
return 'Buscar $number$str Usuarios...';
}
@override
String contacts_searchRepeaters(int number, String str) {
return 'Buscar $number$str Repetidores...';
}
@override
String contacts_searchRoomServers(int number, String str) {
return 'Buscar $number$str servidores de sala...';
}
@override
String get contacts_noUnreadContacts => 'No contactos sin leer';
@override
String get contacts_noContactsFound =>
'No se encontraron contactos ni grupos.';
@override
String get contacts_deleteContact => 'Eliminar Contacto';
@override
String contacts_removeConfirm(String contactName) {
return 'Eliminar $contactName de los contactos?';
}
@override
String get contacts_manageRepeater => 'Gestionar Repetidor';
@override
String get contacts_manageRoom => 'Gestionar Servidor de Habitación';
@override
String get contacts_roomLogin => 'Inicio de Sala';
@override
String get contacts_openChat => 'Abrir Chat';
@override
String get contacts_editGroup => 'Editar Grupo';
@override
String get contacts_deleteGroup => 'Eliminar Grupo';
@override
String contacts_deleteGroupConfirm(String groupName) {
return 'Eliminar $groupName?';
}
@override
String get contacts_newGroup => 'Nuevo Grupo';
@override
String get contacts_groupName => 'Nombre del grupo';
@override
String get contacts_groupNameRequired => 'El nombre del grupo es obligatorio';
@override
String get contacts_groupNameReserved =>
'Este nombre de grupo está reservado';
@override
String contacts_groupAlreadyExists(String name) {
return 'El grupo \"$name\" ya existe';
}
@override
String get contacts_filterContacts => 'Filtrar contactos...';
@override
String get contacts_noContactsMatchFilter =>
'No hay contactos que coincidan con tu filtro';
@override
String get contacts_noMembers => 'No miembros';
@override
String get contacts_lastSeenNow => 'Última vez que se vio ahora';
@override
String contacts_lastSeenMinsAgo(int minutes) {
return '~ $minutes min.';
}
@override
String get contacts_lastSeenHourAgo => '~ 1 hora';
@override
String contacts_lastSeenHoursAgo(int hours) {
return '~ $hours horas';
}
@override
String get contacts_lastSeenDayAgo => '~ 1 día';
@override
String contacts_lastSeenDaysAgo(int days) {
return '~ $days días';
}
@override
String get contact_info => 'Información de contacto';
@override
String get contact_settings => 'Configuración de contacto';
@override
String get contact_telemetry => 'Telemetría';
@override
String get contact_lastSeen => 'Visto por última vez';
@override
String get contact_clearChat => 'Borrar chat';
@override
String get contact_teleBase => 'Base de Telemetría';
@override
String get contact_teleBaseSubtitle =>
'Permitir el intercambio de nivel de batería y telemetría básica';
@override
String get contact_teleLoc => 'Ubicación de telemetría';
@override
String get contact_teleLocSubtitle =>
'Permitir el intercambio de datos de ubicación';
@override
String get contact_teleEnv => 'Entorno de Telemetría';
@override
String get contact_teleEnvSubtitle =>
'Permitir el intercambio de datos de sensores de entorno';
@override
String get channels_title => 'Canales';
@override
String get channels_noChannelsConfigured => 'No se han configurado canales';
@override
String get channels_addPublicChannel => 'Añadir Canal Público';
@override
String get channels_searchChannels => 'Buscar canales...';
@override
String get channels_noChannelsFound => 'No se encontraron canales';
@override
String channels_channelIndex(int index) {
return 'Canal $index';
}
@override
String get channels_hashtagChannel => 'Canal con hashtag';
@override
String get channels_public => 'Público';
@override
String get channels_private => 'Privado';
@override
String get channels_publicChannel => 'Canal público';
@override
String get channels_privateChannel => 'Canal privado';
@override
String get channels_editChannel => 'Editar canal';
@override
String get channels_muteChannel => 'Silenciar canal';
@override
String get channels_unmuteChannel => 'Activar canal';
@override
String get channels_deleteChannel => 'Eliminar canal';
@override
String channels_deleteChannelConfirm(String name) {
return 'Eliminar \"$name\"? Esto no se puede deshacer.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'No se pudo eliminar el canal \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Canal \"$name\" eliminado';
}
@override
String get channels_addChannel => 'Añadir Canal';
@override
String get channels_channelIndexLabel => 'Índice de Canal';
@override
String get channels_channelName => 'Nombre del canal';
@override
String get channels_usePublicChannel => 'Usar Canal Público';
@override
String get channels_standardPublicPsk => 'PSK estándar público';
@override
String get channels_pskHex => 'PSK (Hex)';
@override
String get channels_generateRandomPsk => 'Generar PSK aleatorio';
@override
String get channels_enterChannelName =>
'Por favor, introduce un nombre de canal';
@override
String get channels_pskMustBe32Hex =>
'PSK debe ser de 32 caracteres hexadecimales.';
@override
String channels_channelAdded(String name) {
return 'Canal \"$name\" añadido';
}
@override
String channels_editChannelTitle(int index) {
return 'Editar Canal $index';
}
@override
String get channels_smazCompression => 'Compresión SMAZ';
@override
String channels_channelUpdated(String name) {
return 'Canal \"$name\" actualizado';
}
@override
String get channels_publicChannelAdded => 'Canal público añadido';
@override
String get channels_sortBy => 'Ordenar por';
@override
String get channels_sortManual => 'Manual';
@override
String get channels_sortAZ => 'A-Z';
@override
String get channels_sortLatestMessages => 'Últimos mensajes';
@override
String get channels_sortUnread => 'Sin leer';
@override
String get channels_createPrivateChannel => 'Crear un Canal Privado';
@override
String get channels_createPrivateChannelDesc =>
'Cifrado con una clave secreta.';
@override
String get channels_joinPrivateChannel => 'Únete a un Canal Privado';
@override
String get channels_joinPrivateChannelDesc =>
'Introducir manualmente una clave secreta.';
@override
String get channels_joinPublicChannel => 'Únete al Canal Público';
@override
String get channels_joinPublicChannelDesc =>
'Cualquiera puede unirse a este canal.';
@override
String get channels_joinHashtagChannel => 'Únete a un Canal con Hashtag';
@override
String get channels_joinHashtagChannelDesc =>
'Cualquiera puede unirse a los canales de hashtag.';
@override
String get channels_scanQrCode => 'Escanear un Código QR';
@override
String get channels_scanQrCodeComingSoon => 'Próximamente';
@override
String get channels_enterHashtag => 'Introducir hashtag';
@override
String get channels_hashtagHint => 'ej. #equipo';
@override
String get chat_noMessages => 'Aún no hay mensajes';
@override
String get chat_sendMessage => 'Send message';
@override
String chat_sendMessageTo(String contactName) {
return 'Enviar un mensaje a $contactName';
}
@override
String get chat_sendMessageToStart => 'Enviar un mensaje para comenzar';
@override
String get chat_originalMessageNotFound => 'Mensaje original no encontrado';
@override
String chat_replyingTo(String name) {
return 'Responder a $name';
}
@override
String chat_replyTo(String name) {
return 'Responder a $name';
}
@override
String get chat_location => 'Ubicación';
@override
String get chat_typeMessage => 'Escribe un mensaje...';
@override
String chat_messageTooLong(int maxBytes) {
return 'Mensaje demasiado largo (máximo $maxBytes bytes).';
}
@override
String get chat_messageCopied => 'Mensaje copiado';
@override
String get chat_messageDeleted => 'Mensaje borrado';
@override
String get chat_retryingMessage => 'Reintentando…';
@override
String chat_retryCount(int current, int max) {
return 'Reintentar $current/$max';
}
@override
String get chat_sendGif => 'Enviar GIF';
@override
String get chat_reply => 'Responder';
@override
String get chat_addReaction => 'Añadir Reacción';
@override
String get chat_me => 'Yo';
@override
String get emojiCategorySmileys => 'Emoticones';
@override
String get emojiCategoryGestures => 'Gestos';
@override
String get emojiCategoryHearts => 'Corazones';
@override
String get emojiCategoryObjects => 'Objetos';
@override
String get gifPicker_title => 'Elegir un GIF';
@override
String get gifPicker_searchHint => 'Buscar GIFs...';
@override
String get gifPicker_poweredBy => 'Powered by GIPHY';
@override
String get gifPicker_noGifsFound => 'No se encontraron GIFs';
@override
String get gifPicker_failedLoad => 'No se pudo cargar los GIFs';
@override
String get gifPicker_failedSearch => 'No se encontraron GIFs';
@override
String get gifPicker_noInternet => 'No hay conexión a internet';
@override
String get debugLog_appTitle => 'Registro de Depuración de la App';
@override
String get debugLog_bleTitle => 'Registro de Depuración BLE';
@override
String get debugLog_copyLog => 'Copiar registro';
@override
String get debugLog_clearLog => 'Borrar registro';
@override
String get debugLog_copied => 'Registro de depuración copiado';
@override
String get debugLog_bleCopied => 'Registro BLE copiado';
@override
String get debugLog_noEntries => 'Aún no hay registros de depuración.';
@override
String get debugLog_enableInSettings =>
'Habilitar el registro de depuración de la aplicación en la configuración';
@override
String get debugLog_frames => 'Marcos';
@override
String get debugLog_rawLogRx => 'Registro Crudo-RX';
@override
String get debugLog_noBleActivity => 'Aún no hay actividad BLE';
@override
String debugFrame_length(int count) {
return 'Longitud del Marco: $count bytes';
}
@override
String debugFrame_command(String value) {
return 'Comando: 0x$value';
}
@override
String get debugFrame_textMessageHeader => 'Mensaje de Texto:';
@override
String debugFrame_destinationPubKey(String pubKey) {
return '- Destino PubKey: $pubKey';
}
@override
String debugFrame_timestamp(int timestamp) {
return '- Marca de tiempo: $timestamp';
}
@override
String debugFrame_flags(String value) {
return '- Banderas: 0x$value';
}
@override
String debugFrame_textType(int type, String label) {
return '- Tipo de texto: $type ($label)';
}
@override
String get debugFrame_textTypeCli => 'CLI';
@override
String get debugFrame_textTypePlain => 'Sencillo';
@override
String debugFrame_text(String text) {
return '- Texto: \"$text\"';
}
@override
String get debugFrame_hexDump => 'Mapeo Hexadecimal:';
@override
String get chat_pathManagement => 'Gestión de Rutas';
@override
String get chat_ShowAllPaths => 'Mostrar todos los caminos';
@override
String get chat_routingMode => 'Modo de enrutamiento';
@override
String get chat_autoUseSavedPath => 'Auto (usar la ruta guardada)';
@override
String get chat_forceFloodMode => 'Modo Inundación Forzado';
@override
String get chat_recentAckPaths => 'Rutas de ACK Recientes (tocar para usar):';
@override
String get chat_pathHistoryFull =>
'El historial de rutas está completo. Eliminar entradas para añadir nuevas.';
@override
String get chat_hopSingular => 'salta';
@override
String get chat_hopPlural => 'salta';
@override
String chat_hopsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'hops',
one: 'hop',
);
return '$count $_temp0';
}
@override
String get chat_successes => 'Éxitos';
@override
String get chat_removePath => 'Eliminar ruta';
@override
String get chat_noPathHistoryYet =>
'Aún no hay historial de rutas.\nEnvía un mensaje para descubrir rutas.';
@override
String get chat_pathActions => 'Acciones de Ruta:';
@override
String get chat_setCustomPath => 'Establecer Ruta Personalizada';
@override
String get chat_setCustomPathSubtitle =>
'Especificar manualmente la ruta de enrutamiento';
@override
String get chat_clearPath => 'Limpiar Ruta';
@override
String get chat_clearPathSubtitle =>
'Forzar redescubrimiento en el próximo envío';
@override
String get chat_pathCleared =>
'Ruta eliminada. El siguiente mensaje redescubrirá la ruta.';
@override
String get chat_floodModeSubtitle =>
'Utilizar el interruptor de enrutamiento en la barra de herramientas';
@override
String get chat_floodModeEnabled =>
'El modo de inundación está habilitado. Desactívalo mediante el icono de enrutamiento en la barra de herramientas de la aplicación.';
@override
String get chat_fullPath => 'Ruta completa';
@override
String get chat_pathDetailsNotAvailable =>
'Los detalles de la ruta aún no están disponibles. Intenta enviar un mensaje para refrescar.';
@override
String chat_pathSetHops(int hopCount, String status) {
String _temp0 = intl.Intl.pluralLogic(
hopCount,
locale: localeName,
other: 'hops',
one: 'hop',
);
return 'Ruta establecida: $hopCount $_temp0 - $status';
}
@override
String get chat_pathSavedLocally =>
'Guardado localmente. Conéctate para sincronizar.';
@override
String get chat_pathDeviceConfirmed => 'Dispositivo confirmado.';
@override
String get chat_pathDeviceNotConfirmed => 'Dispositivo aún no confirmado.';
@override
String get chat_type => 'Escribe';
@override
String get chat_path => 'Ruta';
@override
String get chat_publicKey => 'Clave Pública';
@override
String get chat_compressOutgoingMessages => 'Comprimir mensajes salientes';
@override
String get chat_floodForced => 'Inundación (forzada)';
@override
String get chat_directForced => 'Directo (forzado)';
@override
String chat_hopsForced(int count) {
return '$count saltos (forzados)';
}
@override
String get chat_floodAuto => 'Inundación (automática)';
@override
String get chat_direct => 'Guardar';
@override
String get chat_poiShared => 'Punto de Interés Compartido';
@override
String chat_unread(int count) {
return 'Sin leer: $count';
}
@override
String get chat_openLink => '¿Abrir enlace?';
@override
String get chat_openLinkConfirmation =>
'¿Quiere abrir este enlace en su navegador?';
@override
String get chat_open => 'Abrir';
@override
String chat_couldNotOpenLink(String url) {
return 'No se pudo abrir el enlace: $url';
}
@override
String get chat_invalidLink => 'Formato de enlace no válido';
@override
String get map_title => 'Mapa de Nodos';
@override
String get map_lineOfSight => 'Línea de visión';
@override
String get map_losScreenTitle => 'Línea de visión';
@override
String get map_noNodesWithLocation => 'No hay nodos con datos de ubicación';
@override
String get map_nodesNeedGps =>
'Los nodos necesitan compartir sus coordenadas GPS\npara aparecer en el mapa';
@override
String map_nodesCount(int count) {
return 'Nodos: $count';
}
@override
String map_pinsCount(int count) {
return 'Ganchos: $count';
}
@override
String get map_chat => 'Chat';
@override
String get map_repeater => 'Repetidor';
@override
String get map_room => 'Habitación';
@override
String get map_sensor => 'Sensor';
@override
String get map_pinDm => 'Pin (DM)';
@override
String get map_pinPrivate => 'Bloqueo (Privado)';
@override
String get map_pinPublic => 'Clave (Pública)';
@override
String get map_lastSeen => 'Última vez que se vio';
@override
String get map_disconnectConfirm =>
'¿Está seguro de que desea desconectarse de este dispositivo?';
@override
String get map_from => 'De';
@override
String get map_source => 'Fuente';
@override
String get map_flags => 'Banderas';
@override
String get map_shareMarkerHere => 'Compartir marcador aquí';
@override
String get map_setAsMyLocation => 'Establecer mi ubicación';
@override
String get map_pinLabel => 'Etiqueta de marcador';
@override
String get map_label => 'Etiqueta';
@override
String get map_pointOfInterest => 'Punto de interés';
@override
String get map_sendToContact => 'Enviar a contacto';
@override
String get map_sendToChannel => 'Enviar a canal';
@override
String get map_noChannelsAvailable => 'No hay canales disponibles';
@override
String get map_publicLocationShare => 'Compartir ubicación pública';
@override
String map_publicLocationShareConfirm(String channelLabel) {
return 'Estás a punto de compartir una ubicación en $channelLabel. Este canal es público y cualquiera con la PSK puede verlo.';
}
@override
String get map_connectToShareMarkers =>
'Conéctate a un dispositivo para compartir marcadores';
@override
String get map_filterNodes => 'Filtrar Nodos';
@override
String get map_nodeTypes => 'Tipos de nodo';
@override
String get map_chatNodes => 'Nodos de Chat';
@override
String get map_repeaters => 'Repetidores';
@override
String get map_otherNodes => 'Otros Nodos';
@override
String get map_showOverlaps => 'Superposiciones de tecla repetidora';
@override
String get map_keyPrefix => 'Prefijo de clave';
@override
String get map_filterByKeyPrefix => 'Filtrar por prefijo clave';
@override
String get map_publicKeyPrefix => 'Prefijo de clave pública';
@override
String get map_markers => 'Marcadores';
@override
String get map_showSharedMarkers => 'Mostrar marcadores compartidos';
@override
String get map_showGuessedLocations =>
'Mostrar las ubicaciones estimadas de los nodos.';
@override
String get map_showDiscoveryContacts => 'Mostrar Contactos de Descubrimiento';
@override
String get map_guessedLocation => 'Ubicación estimada';
@override
String get map_lastSeenTime => 'Última vez que se vio';
@override
String get map_sharedPin => 'Pin compartido';
@override
String get map_joinRoom => 'Únete a la sala';
@override
String get map_manageRepeater => 'Gestionar Repetidor';
@override
String get map_tapToAdd => 'Pulse en los nodos para agregarlos al camino.';
@override
String get map_runTrace => 'Ejecutar Rastreo de Ruta';
@override
String get map_runTraceWithReturnPath => 'Volver atrás por el mismo camino.';
@override
String get map_removeLast => 'Eliminar último';
@override
String get map_pathTraceCancelled => 'Rastreo de ruta cancelado.';
@override
String get mapCache_title => 'Caché de Mapa Offline';
@override
String get mapCache_selectAreaFirst =>
'Seleccionar un área para cachear primero';
@override
String get mapCache_noTilesToDownload =>
'No hay azulejos para descargar para este área.';
@override
String get mapCache_downloadTilesTitle => 'Descargar ficheros';
@override
String mapCache_downloadTilesPrompt(int count) {
return 'Descargar $count ficheros para usar sin conexión?';
}
@override
String get mapCache_downloadAction => 'Descargar';
@override
String mapCache_cachedTiles(int count) {
return 'Almacenados $count azulejos';
}
@override
String mapCache_cachedTilesWithFailed(int downloaded, int failed) {
return 'Archivados $downloaded azulejos ($failed fallidos)';
}
@override
String get mapCache_clearOfflineCacheTitle => 'Borrar caché offline';
@override
String get mapCache_clearOfflineCachePrompt =>
'Eliminar todas las baldosas en caché del mapa?';
@override
String get mapCache_offlineCacheCleared =>
'Almacén en caché sin conexión eliminado';
@override
String get mapCache_noAreaSelected => 'No se ha seleccionado ningún área';
@override
String get mapCache_cacheArea => 'Área de Caché';
@override
String get mapCache_useCurrentView => 'Usar Vista Actual';
@override
String get mapCache_zoomRange => 'Rango de Zoom';
@override
String mapCache_estimatedTiles(int count) {
return 'Tiles estimados: $count';
}
@override
String mapCache_downloadedTiles(int completed, int total) {
return 'Descargados $completed / $total';
}
@override
String get mapCache_downloadTilesButton => 'Descargar Mosaicos';
@override
String get mapCache_clearCacheButton => 'Borrar Caché';
@override
String mapCache_failedDownloads(int count) {
return 'Descargas fallidas: $count';
}
@override
String mapCache_boundsLabel(
String north,
String south,
String east,
String west,
) {
return 'N $north, S $south, E $east, W $west';
}
@override
String get time_justNow => 'Hace un momento';
@override
String time_minutesAgo(int minutes) {
return '$minutes minutos hace.';
}
@override
String time_hoursAgo(int hours) {
return '${hours}h hace';
}
@override
String time_daysAgo(int days) {
return '$days días hace';
}
@override
String get time_hour => 'hora';
@override
String get time_hours => 'horas';
@override
String get time_day => 'día';
@override
String get time_days => 'días';
@override
String get time_week => 'semana';
@override
String get time_weeks => 'semanas';
@override
String get time_month => 'mes';
@override
String get time_months => 'meses';
@override
String get time_minutes => 'minutos';
@override
String get time_allTime => 'Todas las veces';
@override
String get dialog_disconnect => 'Desconectar';
@override
String get dialog_disconnectConfirm =>
'¿Está seguro de que desea desconectarse de este dispositivo?';
@override
String get login_repeaterLogin => 'Iniciar sesión en el Repetidor';
@override
String get login_roomLogin => 'Inicio de Sala';
@override
String get login_password => 'Contraseña';
@override
String get login_enterPassword => 'Introducir contraseña';
@override
String get login_savePassword => 'Guardar contraseña';
@override
String get login_savePasswordSubtitle =>
'La contraseña se almacenará de forma segura en este dispositivo.';
@override
String get login_repeaterDescription =>
'Ingrese la contraseña del repetidor para acceder a la configuración y el estado.';
@override
String get login_roomDescription =>
'Ingrese la contraseña de la sala para acceder a la configuración y el estado.';
@override
String get login_routing => 'Enrutamiento';
@override
String get login_routingMode => 'Modo de enrutamiento';
@override
String get login_autoUseSavedPath => 'Auto (usar la ruta guardada)';
@override
String get login_forceFloodMode => 'Activar Modo Inundación Forzada';
@override
String get login_managePaths => 'Gestionar Rutas';
@override
String get login_login => 'Iniciar sesión';
@override
String login_attempt(int current, int max) {
return 'Intentar $current/$max';
}
@override
String login_failed(String error) {
return 'Inicio fallido: $error';
}
@override
String get login_failedMessage =>
'Inicio fallido. La contraseña es incorrecta o el repetidor no está disponible.';
@override
String get common_reload => 'Recargar';
@override
String get common_clear => 'Borrar';
@override
String path_currentPath(String path) {
return 'Ruta actual: $path';
}
@override
String path_usingHopsPath(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'hops',
one: 'hop',
);
return 'Usando $count $_temp0 ruta';
}
@override
String get path_enterCustomPath => 'Introducir Ruta Personalizada';
@override
String get path_currentPathLabel => 'Ruta actual';
@override
String get path_hexPrefixInstructions =>
'Introduzca los prefijos hexadecimales de 2 caracteres para cada salto, separados por comas.';
@override
String get path_hexPrefixExample =>
'Ejemplo: A1,F2,3C (cada nodo utiliza el primer byte de su clave pública).';
@override
String get path_labelHexPrefixes => 'Prefijos hexadecimales';
@override
String get path_helperMaxHops =>
'Máximo 64 saltos. Cada prefijo tiene 2 caracteres hexadecimales (1 byte).';
@override
String get path_selectFromContacts => 'O seleccionar de contactos:';
@override
String get path_noRepeatersFound =>
'No se encontraron repetidores ni servidores de sala.';
@override
String get path_customPathsRequire =>
'Las rutas personalizadas requieren saltos intermedios que pueden transmitir mensajes.';
@override
String path_invalidHexPrefixes(String prefixes) {
return 'Prefijos hexadecimales inválidos: $prefixes';
}
@override
String get path_tooLong =>
'La ruta es demasiado larga. Se permiten un máximo de 64 saltos.';
@override
String get path_setPath => 'Establecer Ruta';
@override
String get repeater_management => 'Gestión de Repetidores';
@override
String get room_management => 'Administración del Servidor de Habitación';
@override
String get repeater_managementTools => 'Herramientas de Gestión';
@override
String get repeater_status => 'Estado';
@override
String get repeater_statusSubtitle =>
'Ver el estado, las estadísticas y los vecinos del repetidor';
@override
String get repeater_telemetry => 'Telemetry';
@override
String get repeater_telemetrySubtitle =>
'Ver la telemetría de los sensores y las estadísticas del sistema';
@override
String get repeater_cli => 'CLI';
@override
String get repeater_cliSubtitle => 'Enviar comandos al repetidor';
@override
String get repeater_neighbors => 'Vecinos';
@override
String get repeater_neighborsSubtitle => 'Ver vecinos de salto cero.';
@override
String get repeater_settings => 'Configuración';
@override
String get repeater_settingsSubtitle => 'Configurar parámetros del repetidor';
@override
String get repeater_clockSyncAfterLogin =>
'Sincronización del reloj después de iniciar sesión';
@override
String get repeater_clockSyncAfterLoginSubtitle =>
'Enviar automáticamente la función de \"sincronización de reloj\" después de un inicio de sesión exitoso.';
@override
String get repeater_statusTitle => 'Estado del Repetidor';
@override
String get repeater_routingMode => 'Modo de enrutamiento';
@override
String get repeater_autoUseSavedPath => 'Auto (usar la ruta guardada)';
@override
String get repeater_forceFloodMode => 'Modo Inundación Forzado';
@override
String get repeater_pathManagement => 'Gestión de rutas';
@override
String get repeater_refresh => 'Actualizar';
@override
String get repeater_statusRequestTimeout => 'Solicitud de estado caducó.';
@override
String repeater_errorLoadingStatus(String error) {
return 'Error al cargar el estado: $error';
}
@override
String get repeater_systemInformation => 'Información del sistema';
@override
String get repeater_battery => 'Batería';
@override
String get repeater_clockAtLogin => 'Reloj (al inicio de sesión)';
@override
String get repeater_uptime => 'Tiempo de actividad';
@override
String get repeater_queueLength => 'Longitud de la cola';
@override
String get repeater_debugFlags => 'Marcadores de Depuración';
@override
String get repeater_radioStatistics => 'Estadísticas de Radio';
@override
String get repeater_lastRssi => 'Último RSSI';
@override
String get repeater_lastSnr => 'Último SNR';
@override
String get repeater_noiseFloor => 'Nivel de Ruido';
@override
String get repeater_txAirtime => 'TX Airtime';
@override
String get repeater_rxAirtime => 'RX Airtime';
@override
String get repeater_packetStatistics => 'Estadísticas del Paquete';
@override
String get repeater_sent => 'Enviado';
@override
String get repeater_received => 'Recibido';
@override
String get repeater_duplicates => 'Duplicados';
@override
String repeater_daysHoursMinsSecs(
int days,
int hours,
int minutes,
int seconds,
) {
return '$days días ${hours}h ${minutes}m ${seconds}s';
}
@override
String repeater_packetTxTotal(int total, String flood, String direct) {
return 'Total: $total, Inundación: $flood, Directo: $direct';
}
@override
String repeater_packetRxTotal(int total, String flood, String direct) {
return 'Total: $total, Inundación: $flood, Directo: $direct';
}
@override
String repeater_duplicatesFloodDirect(String flood, String direct) {
return 'Inundación: $flood, Directo: $direct';
}
@override
String repeater_duplicatesTotal(int total) {
return 'Total: $total';
}
@override
String get repeater_settingsTitle => 'Configuración del Repetidor';
@override
String get repeater_basicSettings => 'Configuración Básica';
@override
String get repeater_repeaterName => 'Nombre del Repetidor';
@override
String get repeater_repeaterNameHelper =>
'Mostrar nombre para este repetidor';
@override
String get repeater_adminPassword => 'Contraseña de Administrador';
@override
String get repeater_adminPasswordHelper => 'Contraseña de acceso completo';
@override
String get repeater_guestPassword => 'Contraseña de invitado';
@override
String get repeater_guestPasswordHelper =>
'Acceso de solo lectura con contraseña';
@override
String get repeater_radioSettings => 'Configuración de Radio';
@override
String get repeater_frequencyMhz => 'Frecuencia (MHz)';
@override
String get repeater_frequencyHelper => '300-2500 MHz';
@override
String get repeater_txPower => 'TX Potencia';
@override
String get repeater_txPowerHelper => '1-30 dBm';
@override
String get repeater_bandwidth => 'Ancho de banda';
@override
String get repeater_spreadingFactor => 'Factor de propagación';
@override
String get repeater_codingRate => 'Tasa de Programación';
@override
String get repeater_locationSettings => 'Configuración de Ubicación';
@override
String get repeater_latitude => 'Latitud';
@override
String get repeater_latitudeHelper =>
'Grados decimales (por ejemplo, 37.7749)';
@override
String get repeater_longitude => 'Longitud';
@override
String get repeater_longitudeHelper =>
'Grados decimales (por ejemplo, -122.4194)';
@override
String get repeater_features => 'Características';
@override
String get repeater_packetForwarding => 'Enrutamiento de Paquetes';
@override
String get repeater_packetForwardingSubtitle =>
'Habilitar el repetidor para reenviar paquetes';
@override
String get repeater_guestAccess => 'Acceso de Invitados';
@override
String get repeater_guestAccessSubtitle =>
'Permitir acceso de invitado en solo lectura';
@override
String get repeater_privacyMode => 'Modo Privacidad';
@override
String get repeater_privacyModeSubtitle =>
'Ocultar nombre/ubicación en anuncios';
@override
String get repeater_advertisementSettings => 'Configuración de Anuncios';
@override
String get repeater_localAdvertInterval => 'Intervalo de Anuncio Local';
@override
String repeater_localAdvertIntervalMinutes(int minutes) {
return '$minutes minutos';
}
@override
String get repeater_floodAdvertInterval =>
'Intervalo de Anuncio de Inundación';
@override
String repeater_floodAdvertIntervalHours(int hours) {
return '$hours horas';
}
@override
String get repeater_encryptedAdvertInterval => 'Intervalo de Anuncio Cifrado';
@override
String get repeater_dangerZone => 'Zona de Peligro';
@override
String get repeater_rebootRepeater => 'Reiniciar Repetidor';
@override
String get repeater_rebootRepeaterSubtitle =>
'Reiniciar el dispositivo repetidor';
@override
String get repeater_rebootRepeaterConfirm =>
'¿Está seguro de que desea reiniciar este repetidor?';
@override
String get repeater_regenerateIdentityKey => 'Regenerar Clave de Identidad';
@override
String get repeater_regenerateIdentityKeySubtitle =>
'Generar nueva pareja de clave pública/privada';
@override
String get repeater_regenerateIdentityKeyConfirm =>
'Esto generará una nueva identidad para el repetidor. Continuar?';
@override
String get repeater_eraseFileSystem => 'Borrar Sistema de Archivos';
@override
String get repeater_eraseFileSystemSubtitle =>
'Formatear el sistema de archivos del repetidor';
@override
String get repeater_eraseFileSystemConfirm =>
'ADVERTENCIA: Esto borrará todos los datos del repetidor. ¡Esto no se puede deshacer!';
@override
String get repeater_eraseSerialOnly =>
'Borrar solo está disponible a través de la consola serial.';
@override
String repeater_commandSent(String command) {
return 'Comando enviado: $command';
}
@override
String repeater_errorSendingCommand(String error) {
return 'Error al enviar el comando: $error';
}
@override
String get repeater_confirm => 'Confirmar';
@override
String get repeater_settingsSaved => 'Guardado de ajustes exitoso';
@override
String repeater_errorSavingSettings(String error) {
return 'Error al guardar la configuración: $error';
}
@override
String get repeater_refreshBasicSettings => 'Actualizar Configuración Básica';
@override
String get repeater_refreshRadioSettings => 'Actualizar Ajustes de Radio';
@override
String get repeater_refreshTxPower => 'Actualizar TX de energía';
@override
String get repeater_refreshLocationSettings =>
'Actualizar Configuración de Ubicación';
@override
String get repeater_refreshPacketForwarding =>
'Actualizar Enrutamiento de Paquetes';
@override
String get repeater_refreshGuestAccess => 'Actualizar Acceso Invitados';
@override
String get repeater_refreshPrivacyMode => 'Actualizar Modo Privacidad';
@override
String get repeater_refreshAdvertisementSettings =>
'Actualizar Configuración de Anuncios';
@override
String repeater_refreshed(String label) {
return '$label actualizado';
}
@override
String repeater_errorRefreshing(String label) {
return 'Error al refrescar $label';
}
@override
String get repeater_cliTitle => 'Repetidor CLI';
@override
String get repeater_debugNextCommand => 'Siguiente Comando de Depuración';
@override
String get repeater_commandHelp => 'Ayuda';
@override
String get repeater_clearHistory => 'Borrar historial';
@override
String get repeater_noCommandsSent => 'Aún no se han enviado comandos.';
@override
String get repeater_typeCommandOrUseQuick =>
'Escriba un comando a continuación o use comandos rápidos';
@override
String get repeater_enterCommandHint => 'Escribir comando...';
@override
String get repeater_previousCommand => 'Comando anterior';
@override
String get repeater_nextCommand => 'Siguiente comando';
@override
String get repeater_enterCommandFirst => 'Escriba un comando primero';
@override
String get repeater_cliCommandFrameTitle => 'Marco de Comando CLI';
@override
String repeater_cliCommandError(String error) {
return 'Error: $error';
}
@override
String get repeater_cliQuickGetName => 'Obtener Nombre';
@override
String get repeater_cliQuickGetRadio => 'Obtener Radio';
@override
String get repeater_cliQuickGetTx => 'Obtener TX';
@override
String get repeater_cliQuickNeighbors => 'Vecinos';
@override
String get repeater_cliQuickVersion => 'Versión';
@override
String get repeater_cliQuickAdvertise => 'Anunciar';
@override
String get repeater_cliQuickClock => 'Reloj';
@override
String get repeater_cliQuickClockSync => 'Sincronización del reloj';
@override
String get repeater_cliQuickDiscovery => 'Descubrir Vecinos';
@override
String get repeater_cliHelpAdvert => 'Envía un paquete de publicidad';
@override
String get repeater_cliHelpReboot =>
'Reinicia el dispositivo. (ten en cuenta, es normal que aparezca \'Timeout\')';
@override
String get repeater_cliHelpClock =>
'Muestra la hora actual según el reloj del dispositivo.';
@override
String get repeater_cliHelpPassword =>
'Establece una nueva contraseña de administrador para el dispositivo.';
@override
String get repeater_cliHelpVersion =>
'Muestra la versión del dispositivo y la fecha de compilación del firmware.';
@override
String get repeater_cliHelpClearStats =>
'Reinicia varios contadores de estadísticas a cero.';
@override
String get repeater_cliHelpSetAf => 'Establece el factor de tiempo de aire.';
@override
String get repeater_cliHelpSetTx =>
'Establece la potencia de transmisión LoRa en dBm (reboot para aplicar).';
@override
String get repeater_cliHelpSetRepeat =>
'Habilita o deshabilita el rol del repetidor para este nodo.';
@override
String get repeater_cliHelpSetAllowReadOnly =>
'(Servidor de la sala) Si está \"activado\", entonces el inicio de sesión con una contraseña en blanco estará permitido, pero no se podrá publicar en la sala. (solo lectura).';
@override
String get repeater_cliHelpSetFloodMax =>
'Establece el número máximo de saltos de paquetes de inundación entrantes (si es >= máximo, el paquete no se enruta).';
@override
String get repeater_cliHelpSetIntThresh =>
'Establece el Umbral de Interferencia (en dB). El valor predeterminado es 14. Establecerlo en 0 desactiva la detección de interferencias del canal.';
@override
String get repeater_cliHelpSetAgcResetInterval =>
'Establece el intervalo para restablecer el Control Automático de Ganancia. Establecer en 0 para desactivarlo.';
@override
String get repeater_cliHelpSetMultiAcks =>
'Habilita o deshabilita la función de \'ACKs dobles\'.';
@override
String get repeater_cliHelpSetAdvertInterval =>
'Establece el intervalo del temporizador en minutos para enviar un paquete de anuncio local (sin salto). Establecer en 0 para desactivarlo.';
@override
String get repeater_cliHelpSetFloodAdvertInterval =>
'Establece el intervalo del temporizador en horas para enviar un paquete de anuncio masivo. Establecer en 0 para desactivarlo.';
@override
String get repeater_cliHelpSetGuestPassword =>
'Establece/actualiza la contraseña del invitado. (para repetidores, los inicios de sesión de invitado pueden enviar la solicitud \"Obtener Estadísticas\")';
@override
String get repeater_cliHelpSetName => 'Establece el nombre del anuncio.';
@override
String get repeater_cliHelpSetLat =>
'Establece la latitud del mapa de publicidad. (grados decimales)';
@override
String get repeater_cliHelpSetLon =>
'Establece la longitud del mapa de la publicidad. (grados decimales)';
@override
String get repeater_cliHelpSetRadio =>
'Establece parámetros de radio completamente nuevos y los guarda en las preferencias. Requiere un comando \"reboot\" para aplicarlos.';
@override
String get repeater_cliHelpSetRxDelay =>
'Configura (experimental) la base para aplicar un ligero retraso a los paquetes recibidos, según la fuerza de la señal/puntuación. Establece en 0 para desactivar.';
@override
String get repeater_cliHelpSetTxDelay =>
'Establece un factor multiplicado con el tiempo de aire para un paquete de modo de inundación y con un sistema de ranura aleatorio, para retrasar su reenvío (para disminuir la probabilidad de colisiones).';
@override
String get repeater_cliHelpSetDirectTxDelay =>
'Igual que txdelay, pero para aplicar un retraso aleatorio a la transferencia de paquetes en modo directo.';
@override
String get repeater_cliHelpSetBridgeEnabled =>
'Habilitar/Deshabilitar puente.';
@override
String get repeater_cliHelpSetBridgeDelay =>
'Establecer retraso antes de retransmitir paquetes.';
@override
String get repeater_cliHelpSetBridgeSource =>
'Elige si el puente retransmitirá paquetes recibidos o paquetes transmitidos.';
@override
String get repeater_cliHelpSetBridgeBaud =>
'Establecer la velocidad de baudios del enlace serial para los puentes rs232.';
@override
String get repeater_cliHelpSetBridgeSecret =>
'Establecer secreto de puente para puentes espnow.';
@override
String get repeater_cliHelpSetAdcMultiplier =>
'Establece un factor personalizado para ajustar el voltaje de la batería reportado (solo soportado en selectas placas).';
@override
String get repeater_cliHelpTempRadio =>
'Establece parámetros de radio temporales para el número dado de minutos, volviendo a los parámetros de radio originales posteriormente. (no guarda en preferencias).';
@override
String get repeater_cliHelpSetPerm =>
'Modifica el ACL. Elimina la entrada coincidente (por prefijo de pubkey) si \"permissions\" es cero. Añade una nueva entrada si el pubkey-hex tiene longitud completa y no está actualmente en el ACL. Actualiza la entrada mediante el prefijo de pubkey coincidente. Los bits de permiso varían según el rol del firmware, pero los dos bits inferiores son: 0 (Invitado), 1 (Solo lectura), 2 (Lectura/escritura), 3 (Administrador).';
@override
String get repeater_cliHelpGetBridgeType =>
'Obtiene tipo de puente ninguno, rs232, espnow';
@override
String get repeater_cliHelpLogStart =>
'Inicia el registro de paquetes en el sistema de archivos.';
@override
String get repeater_cliHelpLogStop =>
'Detener el registro de paquetes al sistema de archivos.';
@override
String get repeater_cliHelpLogErase =>
'Elimina los registros del paquete del sistema de archivos.';
@override
String get repeater_cliHelpNeighbors =>
'Muestra una lista de otros nodos repetidores escuchados a través de anuncios de un solo salto. Cada línea es id-prefijo-hex:marca de tiempo:times-snr-4';
@override
String get repeater_cliHelpNeighborRemove =>
'Elimina la primera entrada coincidente (por prefijo de pubkey (hex)) de la lista de vecinos.';
@override
String get repeater_cliHelpRegion =>
'(solo serie) Lista todas las regiones definidas y los permisos de inundación actuales.';
@override
String get repeater_cliHelpRegionLoad =>
'NOTA: este es un invocación multi-comando especial. Cada comando subsiguiente es un nombre de región (indentado con espacios para indicar la jerarquía padre, con un espacio mínimo). Terminado enviando una línea en blanco/comando.';
@override
String get repeater_cliHelpRegionGet =>
'Busca la región con el prefijo de nombre dado (o \"\" para el ámbito global). Responde con \"-> nombre-región (nombre-padre) \'F\'\"';
@override
String get repeater_cliHelpRegionPut =>
'Agrega o actualiza una definición de región con el nombre dado.';
@override
String get repeater_cliHelpRegionRemove =>
'Elimina una definición de región con el nombre dado. (debe coincidir exactamente y no tener regiones hijas)';
@override
String get repeater_cliHelpRegionAllowf =>
'Establece el permiso de \'F\'lujo para la región dada. (\'\' para el ámbito global/legado)';
@override
String get repeater_cliHelpRegionDenyf =>
'Elimina el permiso de \'F\'lood para la región especificada. (NOTA: en esta etapa NO se recomienda utilizarlo en el ámbito global/legado!!)';
@override
String get repeater_cliHelpRegionHome =>
'Responde con la región \'home\' actual. (Aún no se ha aplicado en ninguna parte, reservado para el futuro).';
@override
String get repeater_cliHelpRegionHomeSet => 'Establece la región \'hogar\'.';
@override
String get repeater_cliHelpRegionSave =>
'Persiste la lista/mapa de regiones al almacenamiento.';
@override
String get repeater_cliHelpGps =>
'Muestra el estado del GPS. Cuando el GPS está apagado, responde solo con \"apagado\", si está encendido, responde con \"encendido\", estado, fijación, número de satélites.';
@override
String get repeater_cliHelpGpsOnOff => 'Activa o desactiva el modo GPS.';
@override
String get repeater_cliHelpGpsSync =>
'Sincroniza la hora del nodo con el reloj GPS.';
@override
String get repeater_cliHelpGpsSetLoc =>
'Establece la posición del nodo a las coordenadas GPS y guarda las preferencias.';
@override
String get repeater_cliHelpGpsAdvert =>
'Da la configuración de la publicidad del nodo de ubicación:\n- ninguno: no incluir la ubicación en las publicidad\n- compartir: compartir la ubicación GPS (del SensorManager)\n- preferencias: publicidad la ubicación almacenada en preferencias';
@override
String get repeater_cliHelpGpsAdvertSet =>
'Configura la configuración de la publicidad de la ubicación.';
@override
String get repeater_commandsListTitle => 'Lista de comandos';
@override
String get repeater_commandsListNote =>
'NOTA: para los diversos comandos \"set...\", también existe un comando \"get...\".';
@override
String get repeater_general => 'General';
@override
String get repeater_settingsCategory => 'Configuración';
@override
String get repeater_bridge => 'Puente';
@override
String get repeater_logging => 'Registrando';
@override
String get repeater_neighborsRepeaterOnly => 'Vecinos (solo repetidor)';
@override
String get repeater_regionManagementRepeaterOnly =>
'Gestión de Regiones (solo Repetidor)';
@override
String get repeater_regionNote =>
'Se han introducido los comandos de región para gestionar las definiciones y permisos de la región.';
@override
String get repeater_gpsManagement => 'Gestión de GPS';
@override
String get repeater_gpsNote =>
'Se ha introducido un comando GPS para gestionar temas relacionados con la ubicación.';
@override
String get telemetry_receivedData => 'Datos de Telemetría Recibidos';
@override
String get telemetry_requestTimeout => 'Solicitud de telemetría ha expirado.';
@override
String telemetry_errorLoading(String error) {
return 'Error al cargar la telemetría: $error';
}
@override
String get telemetry_noData => 'No hay datos de telemetría disponibles.';
@override
String telemetry_channelTitle(int channel) {
return 'Canal $channel';
}
@override
String get telemetry_batteryLabel => 'Batería';
@override
String get telemetry_voltageLabel => 'Voltaje';
@override
String get telemetry_mcuTemperatureLabel => 'Temperatura del MCU';
@override
String get telemetry_temperatureLabel => 'Temperatura';
@override
String get telemetry_currentLabel => 'Actual';
@override
String telemetry_batteryValue(int percent, String volts) {
return '$percent% / ${volts}V';
}
@override
String telemetry_voltageValue(String volts) {
return '${volts}V';
}
@override
String telemetry_currentValue(String amps) {
return '${amps}A';
}
@override
String telemetry_temperatureValue(String celsius, String fahrenheit) {
return '$celsius°C / $fahrenheit°F';
}
@override
String get neighbors_receivedData => 'Recibidas Datos de Vecinos';
@override
String get neighbors_requestTimedOut =>
'Los vecinos solicitan que se desconecte.';
@override
String neighbors_errorLoading(String error) {
return 'Error al cargar vecinos: $error';
}
@override
String get neighbors_repeatersNeighbors => 'Repetidores Vecinos';
@override
String get neighbors_noData => 'No hay datos de vecinos disponibles.';
@override
String neighbors_unknownContact(String pubkey) {
return 'Clave pública desconocida $pubkey';
}
@override
String neighbors_heardAgo(String time) {
return 'Escuchado: $time hace atrás';
}
@override
String get channelPath_title => 'Ruta del Paquete';
@override
String get channelPath_viewMap => 'Ver mapa';
@override
String get channelPath_otherObservedPaths => 'Otros caminos observados';
@override
String get channelPath_repeaterHops => 'Saltos del Repetidor';
@override
String get channelPath_noHopDetails =>
'Los detalles del paquete no están disponibles.';
@override
String get channelPath_messageDetails => 'Detalles del mensaje';
@override
String get channelPath_senderLabel => 'Remitente';
@override
String get channelPath_timeLabel => 'Tiempo';
@override
String get channelPath_repeatsLabel => 'Repetir';
@override
String channelPath_pathLabel(int index) {
return 'Ruta $index';
}
@override
String get channelPath_observedLabel => 'Observado';
@override
String channelPath_observedPathTitle(int index, String hops) {
return 'Ruta observada $index$hops';
}
@override
String get channelPath_noLocationData => 'No datos de ubicación';
@override
String channelPath_timeWithDate(int day, int month, String time) {
return '$day/$month a las $time';
}
@override
String channelPath_timeOnly(String time) {
return '$time';
}
@override
String get channelPath_unknownPath => 'Desconocido';
@override
String get channelPath_floodPath => 'Inundación';
@override
String get channelPath_directPath => 'Guardar';
@override
String channelPath_observedZeroOf(int total) {
return '0 de $total saltos';
}
@override
String channelPath_observedSomeOf(int observed, int total) {
return '$observed de $total saltos';
}
@override
String get channelPath_mapTitle => 'Mapa de Rutas';
@override
String get channelPath_noRepeaterLocations =>
'No hay ubicaciones disponibles para el repetidor en esta ruta.';
@override
String channelPath_primaryPath(int index) {
return 'Ruta $index (Principal)';
}
@override
String get channelPath_pathLabelTitle => 'Ruta';
@override
String get channelPath_observedPathHeader => 'Ruta Observada';
@override
String channelPath_selectedPathLabel(String label, String prefixes) {
return '$label$prefixes';
}
@override
String get channelPath_noHopDetailsAvailable =>
'No hay detalles de salto disponibles para este paquete.';
@override
String get channelPath_unknownRepeater => 'Repetidor Desconocido';
@override
String get community_title => 'Comunidad';
@override
String get community_create => 'Crear Comunidad';
@override
String get community_createDesc =>
'Crear una nueva comunidad y compartir a través de código QR.';
@override
String get community_join => 'Únete';
@override
String get community_joinTitle => 'Únete a la comunidad';
@override
String community_joinConfirmation(String name) {
return '¿Quieres unirte a la comunidad \"$name\"?';
}
@override
String get community_scanQr => 'Escanear Código QR de la Comunidad';
@override
String get community_scanInstructions =>
'Apunte la cámara a un código QR de la comunidad';
@override
String get community_showQr => 'Mostrar Código QR';
@override
String get community_publicChannel => 'Comunidad Pública';
@override
String get community_hashtagChannel => 'Hashtag de la Comunidad';
@override
String get community_name => 'Nombre de la comunidad';
@override
String get community_enterName => 'Introducir nombre de comunidad';
@override
String community_created(String name) {
return 'Comunidad \"$name\" creada';
}
@override
String community_joined(String name) {
return 'Se unió a la comunidad \"$name\"';
}
@override
String get community_qrTitle => 'Compartir Comunidad';
@override
String community_qrInstructions(String name) {
return 'Escanear este código QR para unirte a $name';
}
@override
String get community_hashtagPrivacyHint =>
'Los canales de hashtag de la comunidad solo son accesibles para los miembros de la comunidad';
@override
String get community_invalidQrCode => 'Código QR de comunidad no válido';
@override
String get community_alreadyMember => 'Ya eres Miembro';
@override
String community_alreadyMemberMessage(String name) {
return 'Ya eres miembro de \"$name\".';
}
@override
String get community_addPublicChannel =>
'Añadir Canal Público de la Comunidad';
@override
String get community_addPublicChannelHint =>
'Añade automáticamente el canal público para esta comunidad.';
@override
String get community_noCommunities => 'Aún no se han unido comunidades.';
@override
String get community_scanOrCreate =>
'Escanear un código QR o crear una comunidad para comenzar';
@override
String get community_manageCommunities => 'Gestionar Comunidades';
@override
String get community_delete => 'Salir de la Comunidad';
@override
String community_deleteConfirm(String name) {
return '¿Salir de \"$name\"?';
}
@override
String community_deleteChannelsWarning(int count) {
return 'Esto también eliminará $count canal(es) y sus mensajes.';
}
@override
String community_deleted(String name) {
return 'Has salido de la comunidad \"$name\"';
}
@override
String get community_regenerateSecret => 'Regenerar Contraseña Secreta';
@override
String community_regenerateSecretConfirm(String name) {
return 'Regenerar la clave secreta para \"$name\"? Todos los miembros deberán escanear el nuevo código QR para seguir comunicándose.';
}
@override
String get community_regenerate => 'Regenerar';
@override
String community_secretRegenerated(String name) {
return 'Código secreto regenerado para \"$name\"';
}
@override
String get community_updateSecret => 'Actualizar Contraseña';
@override
String community_secretUpdated(String name) {
return 'Confidencialidad actualizada para \"$name\"';
}
@override
String community_scanToUpdateSecret(String name) {
return 'Escanear el nuevo código QR para actualizar el secreto de \"$name\"';
}
@override
String get community_addHashtagChannel => 'Añadir Hashtag de la Comunidad';
@override
String get community_addHashtagChannelDesc =>
'Añadir un canal con hashtag para esta comunidad';
@override
String get community_selectCommunity => 'Seleccionar Comunidad';
@override
String get community_regularHashtag => 'Etiqueta de Hashtag Regular';
@override
String get community_regularHashtagDesc =>
'Hashtag público (cualquiera puede unirse)';
@override
String get community_communityHashtag => 'Hashtag de la Comunidad';
@override
String get community_communityHashtagDesc =>
'Exclusivo para miembros de la comunidad';
@override
String community_forCommunity(String name) {
return 'Para $name';
}
@override
String get listFilter_tooltip => 'Filtrar y ordenar';
@override
String get listFilter_sortBy => 'Ordenar por';
@override
String get listFilter_latestMessages => 'Últimos mensajes';
@override
String get listFilter_heardRecently => 'Escuchado recientemente';
@override
String get listFilter_az => 'A-Z';
@override
String get listFilter_filters => 'Filtros';
@override
String get listFilter_all => 'Todas';
@override
String get listFilter_favorites => 'Favoritos';
@override
String get listFilter_addToFavorites => 'Añadir a favoritos';
@override
String get listFilter_removeFromFavorites => 'Eliminar de las favoritas';
@override
String get listFilter_users => 'Usuarios';
@override
String get listFilter_repeaters => 'Repetidores';
@override
String get listFilter_roomServers => 'Servidores de la sala';
@override
String get listFilter_unreadOnly => 'Solo sin leer';
@override
String get listFilter_newGroup => 'Nuevo grupo';
@override
String get pathTrace_you => '';
@override
String get pathTrace_failed => 'El trazado de ruta falló.';
@override
String get pathTrace_notAvailable => 'El trazado de ruta no está disponible.';
@override
String get pathTrace_refreshTooltip => 'Actualizar Path Trace';
@override
String get pathTrace_someHopsNoLocation =>
'Uno o más de los lúpulos carecen de una ubicación';
@override
String get pathTrace_clearTooltip => 'Borrar ruta';
@override
String get losSelectStartEnd =>
'Seleccione los nodos de inicio y fin para LOS.';
@override
String losRunFailed(String error) {
return 'Error en la comprobación de la línea de visión: $error';
}
@override
String get losClearAllPoints => 'Borrar todos los puntos';
@override
String get losRunToViewElevationProfile =>
'Ejecute LOS para ver el perfil de elevación';
@override
String get losMenuTitle => 'Menú LOS';
@override
String get losMenuSubtitle =>
'Toque nodos o mantenga presionado el mapa para puntos personalizados';
@override
String get losShowDisplayNodes => 'Mostrar nodos de visualización';
@override
String get losCustomPoints => 'Puntos personalizados';
@override
String losCustomPointLabel(int index) {
return 'Personalizado $index';
}
@override
String get losPointA => 'Punto A';
@override
String get losPointB => 'Punto B';
@override
String losAntennaA(String value, String unit) {
return 'Antena A: $value $unit';
}
@override
String losAntennaB(String value, String unit) {
return 'Antena B: $value $unit';
}
@override
String get losRun => 'Ejecutar LOS';
@override
String get losNoElevationData => 'Sin datos de elevación';
@override
String losProfileClear(
String distance,
String distanceUnit,
String clearance,
String heightUnit,
) {
return '$distance $distanceUnit, despejar LOS, autorización mínima $clearance $heightUnit';
}
@override
String losProfileBlocked(
String distance,
String distanceUnit,
String obstruction,
String heightUnit,
) {
return '$distance $distanceUnit, bloqueado por $obstruction $heightUnit';
}
@override
String get losStatusChecking => 'LOS: comprobando...';
@override
String get losStatusNoData => 'LOS: sin datos';
@override
String losStatusSummary(int clear, int total, int blocked, int unknown) {
return 'LOS: $clear/$total claro, $blocked bloqueado, $unknown desconocido';
}
@override
String get losErrorElevationUnavailable =>
'Datos de elevación no disponibles para una o más muestras.';
@override
String get losErrorInvalidInput =>
'Datos de puntos/elevación no válidos para el cálculo de LOS.';
@override
String get losRenameCustomPoint =>
'Cambiar el nombre del punto personalizado';
@override
String get losPointName => 'Nombre del punto';
@override
String get losShowPanelTooltip => 'Mostrar panel LOS';
@override
String get losHidePanelTooltip => 'Ocultar panel LOS';
@override
String get losElevationAttribution =>
'Datos de elevación: Open-Meteo (CC BY 4.0)';
@override
String get losLegendRadioHorizon => 'Horizonte radioeléctrico';
@override
String get losLegendLosBeam => 'Línea de visión';
@override
String get losLegendTerrain => 'Terreno';
@override
String get losFrequencyLabel => 'Frecuencia';
@override
String get losFrequencyInfoTooltip => 'Ver detalles del cálculo';
@override
String get losFrequencyDialogTitle => 'Cálculo del horizonte radioeléctrico';
@override
String losFrequencyDialogDescription(
double baselineK,
double baselineFreq,
double frequencyMHz,
double kFactor,
) {
return 'A partir de k=$baselineK en $baselineFreq MHz, el cálculo ajusta el factor k para la banda actual de $frequencyMHz MHz, que define el límite curvo del horizonte de radio.';
}
@override
String get contacts_pathTrace => 'Rastreo de caminos';
@override
String get contacts_ping => 'Ping';
@override
String get contacts_repeaterPathTrace => 'Rastrear ruta al repetidor';
@override
String get contacts_repeaterPing => 'Pingar repetidor';
@override
String get contacts_roomPathTrace =>
'Rastreo de ruta al servidor de la habitación';
@override
String get contacts_roomPing => 'Pingar servidor de sala';
@override
String get contacts_chatTraceRoute => 'Ruta de trazado';
@override
String contacts_pathTraceTo(String name) {
return 'Rastrear ruta a $name';
}
@override
String get contacts_clipboardEmpty => 'El portapapeles está vacío.';
@override
String get contacts_invalidAdvertFormat => 'Datos de contacto no válidos';
@override
String get contacts_contactImported => 'El contacto ha sido importado.';
@override
String get contacts_contactImportFailed =>
'Contacto no se importó correctamente.';
@override
String get contacts_zeroHopAdvert => 'Anuncio de Zero Hop';
@override
String get contacts_floodAdvert => 'Anuncio de inundación';
@override
String get contacts_copyAdvertToClipboard => 'Copiar anuncio al portapapeles';
@override
String get contacts_addContactFromClipboard =>
'Agregar contacto desde el portapapeles';
@override
String get contacts_ShareContact => 'Copiar contacto al Portapapeles';
@override
String get contacts_ShareContactZeroHop => 'Compartir contacto por anuncio';
@override
String get contacts_zeroHopContactAdvertSent => 'Envió contacto por anuncio.';
@override
String get contacts_zeroHopContactAdvertFailed =>
'No se pudo enviar el contacto.';
@override
String get contacts_contactAdvertCopied => 'Anuncio copiado al Portapapeles.';
@override
String get contacts_contactAdvertCopyFailed =>
'Copiar anuncio al Portapapeles ha fallado.';
@override
String get notification_activityTitle => 'Actividad de MeshCore';
@override
String notification_messagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'mensajes',
one: 'mensaje',
);
return '$count $_temp0';
}
@override
String notification_channelMessagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'mensajes de canal',
one: 'mensaje de canal',
);
return '$count $_temp0';
}
@override
String notification_newNodesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'nuevos nodos',
one: 'nuevo nodo',
);
return '$count $_temp0';
}
@override
String notification_newTypeDiscovered(String contactType) {
return 'Nuevo $contactType descubierto';
}
@override
String get notification_receivedNewMessage => 'Nuevo mensaje recibido';
@override
String get settings_gpxExportRepeaters =>
'Exportar repetidores / servidor de sala a GPX';
@override
String get settings_gpxExportRepeatersSubtitle =>
'Exporta repetidores o roomserver con una ubicación a un archivo GPX.';
@override
String get settings_gpxExportContacts => 'Exportar compañeros a GPX';
@override
String get settings_gpxExportContactsSubtitle =>
'Exporta compañeros con una ubicación a archivo GPX.';
@override
String get settings_gpxExportAll => 'Exportar todos los contactos a GPX';
@override
String get settings_gpxExportAllSubtitle =>
'Exporta todos los contactos con una ubicación a un archivo GPX.';
@override
String get settings_gpxExportSuccess => 'Archivo GPX exportado con éxito.';
@override
String get settings_gpxExportNoContacts => 'No hay contactos para exportar.';
@override
String get settings_gpxExportNotAvailable =>
'No compatible con tu dispositivo/SO';
@override
String get settings_gpxExportError => 'Hubo un error al exportar.';
@override
String get settings_gpxExportRepeatersRoom =>
'Ubicaciones del servidor de repetidor y sala';
@override
String get settings_gpxExportChat => 'Ubicaciones de compañero';
@override
String get settings_gpxExportAllContacts =>
'Todas las ubicaciones de contactos';
@override
String get settings_gpxExportShareText =>
'Datos del mapa exportados desde meshcore-open';
@override
String get settings_gpxExportShareSubject =>
'meshcore-open exportación de datos de mapa GPX';
@override
String get snrIndicator_nearByRepeaters => 'Repetidores cercanos';
@override
String get snrIndicator_lastSeen => 'Visto por última vez';
@override
String get contactsSettings_title => 'Configuración de contactos';
@override
String get contactsSettings_autoAddTitle => 'Detección automática';
@override
String get contactsSettings_otherTitle =>
'Otras configuraciones relacionadas con el contacto';
@override
String get contactsSettings_autoAddUsersTitle =>
'Agregar usuarios automáticamente';
@override
String get contactsSettings_autoAddUsersSubtitle =>
'Permitir que el compañero agregue automáticamente a los usuarios descubiertos.';
@override
String get contactsSettings_autoAddRepeatersTitle =>
'Agregar repetidores automáticamente';
@override
String get contactsSettings_autoAddRepeatersSubtitle =>
'Permitir que el compañero agregue automáticamente los repetidores descubiertos.';
@override
String get contactsSettings_autoAddRoomServersTitle =>
'Agregar automáticamente servidores de sala';
@override
String get contactsSettings_autoAddRoomServersSubtitle =>
'Permitir que el compañero agregue automáticamente los servidores de salas descubiertos.';
@override
String get contactsSettings_autoAddSensorsTitle =>
'Agregar sensores automáticamente';
@override
String get contactsSettings_autoAddSensorsSubtitle =>
'Permitir que el compañero agregue automáticamente los sensores descubiertos.';
@override
String get contactsSettings_overwriteOldestTitle =>
'Sobreescribir el más antiguo';
@override
String get contactsSettings_overwriteOldestSubtitle =>
'Cuando la lista de contactos esté llena, se reemplazará el contacto no favorito más antiguo.';
@override
String get discoveredContacts_Title => 'Contactos descubiertos';
@override
String get discoveredContacts_noMatching =>
'No se encontraron contactos coincidentes';
@override
String get discoveredContacts_searchHint => 'Buscar contactos descubiertos';
@override
String get discoveredContacts_contactAdded => 'Contacto agregado';
@override
String get discoveredContacts_addContact => 'Agregar contacto';
@override
String get discoveredContacts_copyContact =>
'Copiar contacto al portapapeles';
@override
String get discoveredContacts_deleteContact => 'Eliminar contacto';
@override
String get discoveredContacts_deleteContactAll =>
'Eliminar Todos los Contactos Descubiertos';
@override
String get discoveredContacts_deleteContactAllContent =>
'¿Está seguro de que desea eliminar todos los contactos descubiertos!';
@override
String get chat_sendCooldown =>
'Por favor, espere un momento antes de reenviar.';
@override
String get appSettings_jumpToOldestUnread =>
'Salta a los mensajes más antiguos sin leer';
@override
String get appSettings_jumpToOldestUnreadSubtitle =>
'Cuando abras una conversación con mensajes sin leer, desplázate hacia el primer mensaje sin leer en lugar del más reciente.';
@override
String get appSettings_languageHu => 'Húngaro';
@override
String get appSettings_languageJa => 'Japonés';
@override
String get appSettings_languageKo => 'Coreano';
@override
String get radioStats_tooltip => 'Estadísticas de radio y malla';
@override
String get radioStats_screenTitle => 'Estadísticas de radio';
@override
String get radioStats_notConnected =>
'Conéctese a un dispositivo para visualizar estadísticas de radio.';
@override
String get radioStats_firmwareTooOld =>
'Las estadísticas de radio requieren un firmware compatible v8 o posterior.';
@override
String get radioStats_waiting => 'Esperando datos…';
@override
String radioStats_noiseFloor(int noiseDbm) {
return 'Nivel de ruido: $noiseDbm dBm';
}
@override
String radioStats_lastRssi(int rssiDbm) {
return 'Último RSSI: $rssiDbm dBm';
}
@override
String radioStats_lastSnr(String snr) {
return 'Último SNR: $snr dB';
}
@override
String radioStats_txAir(int seconds) {
return 'Tiempo de emisión en Texas (total): $seconds s';
}
@override
String radioStats_rxAir(int seconds) {
return 'Tiempo de transmisión de RX (total): $seconds s';
}
@override
String get radioStats_chartCaption =>
'Nivel de ruido (dBm) en muestras recientes.';
@override
String radioStats_stripNoise(int noiseDbm) {
return 'Nivel de ruido: $noiseDbm dBm';
}
@override
String get radioStats_stripWaiting => 'Obteniendo estadísticas de la radio…';
@override
String get radioStats_settingsTile => 'Estadísticas de radio';
@override
String get radioStats_settingsSubtitle =>
'Nivel de ruido, RSSI, SNR y tiempo de transmisión';
@override
String get translation_title => 'Traducción';
@override
String get translation_enableTitle => 'Habilitar la traducción';
@override
String get translation_enableSubtitle =>
'Traducir los mensajes entrantes y permitir la traducción previa al envío.';
@override
String get translation_composerTitle => 'Traducir antes de enviar';
@override
String get translation_composerSubtitle =>
'Controla el estado predeterminado del icono de traducción del compositor.';
@override
String get translation_targetLanguage => 'Idioma de destino';
@override
String get translation_useAppLanguage =>
'Utilizar el idioma de la aplicación';
@override
String get translation_downloadedModelLabel => 'Modelo descargado';
@override
String get translation_presetModelLabel =>
'Modelo predefinido de Hugging Face';
@override
String get translation_manualUrlLabel => 'URL del modelo manual';
@override
String get translation_downloadModel => 'Descargar el modelo';
@override
String get translation_downloading => 'Descargando...';
@override
String get translation_working => 'Trabajando...';
@override
String get translation_stop => '¡Detente!';
@override
String get translation_mergingChunks =>
'Combinando los fragmentos descargados en el archivo final...';
@override
String get translation_downloadedModels => 'Modelos descargados';
@override
String get translation_deleteModel => 'Eliminar modelo';
@override
String get translation_modelDownloaded => 'Modelo de traducción descargado.';
@override
String get translation_downloadStopped => 'La descarga se ha detenido.';
@override
String translation_downloadFailed(String error) {
return 'No se pudo descargar: $error';
}
@override
String get translation_enterUrlFirst =>
'Primero, introduzca la URL del modelo.';
@override
String get scanner_linuxPairingShowPin => 'Mostrar código PIN';
@override
String get scanner_linuxPairingHidePin => 'Ocultar PIN';
@override
String get scanner_linuxPairingPinTitle =>
'PIN para emparejar dispositivos Bluetooth';
@override
String scanner_linuxPairingPinPrompt(String deviceName) {
return 'Introduzca el código PIN para $deviceName (deje en blanco si no hay ninguno).';
}
@override
String get translation_messageTranslation => 'Traducción del mensaje';
@override
String get translation_translateBeforeSending => 'Traducir antes de enviar';
@override
String get translation_composerEnabledHint =>
'Los mensajes serán traducidos antes de ser enviados.';
@override
String get translation_composerDisabledHint =>
'Envía mensajes utilizando el lenguaje escrito original.';
@override
String translation_translateTo(String language) {
return 'Traducir a $language';
}
@override
String get translation_translationOptions => 'Opciones de traducción';
@override
String get translation_systemLanguage => 'Idioma del sistema';
}