mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-06-14 22:55:12 +10:00
760d8e1db3
- Added new localization strings for Swedish, Ukrainian, and Chinese languages in app_sv.arb, app_uk.arb, and app_zh.arb respectively. - Enhanced the path map UI in channel_message_path_screen.dart for better readability and interaction. - Improved message retry logic in message_retry_service.dart to prevent double-pumping of queues. - Bumped version number in pubspec.yaml to 9.5.0+13. - Cleared untranslated strings in untranslated.json to reflect current localization status.
2679 lines
107 KiB
Plaintext
2679 lines
107 KiB
Plaintext
{
|
|
"channels_channelDeleteFailed": "No se pudo eliminar el canal \"{name}\"",
|
|
"@channels_channelDeleteFailed": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@@locale": "es",
|
|
"appTitle": "MeshCore Open",
|
|
"nav_contacts": "Contactos",
|
|
"nav_channels": "Canales",
|
|
"nav_map": "Mapa",
|
|
"common_cancel": "Cancelar",
|
|
"common_connect": "Conectar",
|
|
"common_unknownDevice": "Dispositivo Desconocido",
|
|
"common_save": "Guardar",
|
|
"common_delete": "Eliminar",
|
|
"common_close": "Cerrar",
|
|
"common_edit": "Editar",
|
|
"common_add": "Añadir",
|
|
"common_settings": "Configuración",
|
|
"common_disconnect": "Desconectar",
|
|
"common_connected": "Conectado",
|
|
"common_disconnected": "Desconectado",
|
|
"common_create": "Crear",
|
|
"common_continue": "Continuar",
|
|
"common_share": "Compartir",
|
|
"common_copy": "Copiar",
|
|
"common_retry": "Reintentar",
|
|
"common_hide": "Ocultar",
|
|
"common_remove": "Eliminar",
|
|
"common_enable": "Activar",
|
|
"common_disable": "Desactivar",
|
|
"common_autoRefresh": "Actualización automática",
|
|
"common_interval": "Intervalo",
|
|
"common_reboot": "Reiniciar",
|
|
"common_loading": "Cargando...",
|
|
"common_notAvailable": "—",
|
|
"common_voltageValue": "{volts} V",
|
|
"@common_voltageValue": {
|
|
"placeholders": {
|
|
"volts": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"common_percentValue": "{percent}%",
|
|
"@common_percentValue": {
|
|
"placeholders": {
|
|
"percent": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"scanner_title": "MeshCore Open",
|
|
"scanner_scanning": "Escaneando dispositivos...",
|
|
"scanner_connecting": "Conectando...",
|
|
"scanner_disconnecting": "Desconectando...",
|
|
"scanner_notConnected": "No conectado",
|
|
"scanner_connectedTo": "Conectado a {deviceName}",
|
|
"@scanner_connectedTo": {
|
|
"placeholders": {
|
|
"deviceName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"scanner_searchingDevices": "Buscando dispositivos MeshCore...",
|
|
"scanner_tapToScan": "Pulsa Escanear para encontrar dispositivos MeshCore",
|
|
"scanner_connectionFailed": "Error de conexión: {error}",
|
|
"@scanner_connectionFailed": {
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"scanner_stop": "Detener",
|
|
"scanner_scan": "Escanear",
|
|
"device_quickSwitch": "Cambiar rápidamente",
|
|
"device_meshcore": "MeshCore",
|
|
"settings_title": "Configuración",
|
|
"settings_deviceInfo": "Información del dispositivo",
|
|
"settings_appSettings": "Configuración de la App",
|
|
"settings_appSettingsSubtitle": "Notificaciones, mensajes y preferencias de mapa",
|
|
"settings_nodeSettings": "Configuración del Nodo",
|
|
"settings_nodeName": "Nombre del nodo",
|
|
"settings_nodeNameNotSet": "No está configurado",
|
|
"settings_nodeNameHint": "Introducir nombre de nodo",
|
|
"settings_nodeNameUpdated": "Nombre actualizado",
|
|
"settings_radioSettings": "Configuración de Radio",
|
|
"settings_radioSettingsSubtitle": "Frecuencia, potencia, factor de dispersión",
|
|
"settings_radioSettingsUpdated": "Ajustes de radio actualizados",
|
|
"settings_location": "Ubicación",
|
|
"settings_locationSubtitle": "Coordenadas GPS",
|
|
"settings_locationUpdated": "Ubicación actualizada",
|
|
"settings_locationBothRequired": "Introduzca tanto la latitud como la longitud.",
|
|
"settings_locationInvalid": "Latitud o longitud inválidos.",
|
|
"settings_latitude": "Latitud",
|
|
"settings_longitude": "Longitud",
|
|
"settings_privacyMode": "Modo de privacidad",
|
|
"settings_privacyModeSubtitle": "Ocultar nombre/ubicación en anuncios",
|
|
"settings_privacyModeToggle": "Activar el modo de privacidad para ocultar tu nombre y ubicación en los anuncios.",
|
|
"settings_privacyModeEnabled": "Modo de privacidad activado",
|
|
"settings_privacyModeDisabled": "Modo de privacidad desactivado",
|
|
"settings_actions": "Acciones",
|
|
"settings_deleteAllPaths": "Eliminar todas las rutas",
|
|
"settings_deleteAllPathsSubtitle": "Borrar todos los datos de ruta de los contactos.",
|
|
"settings_sendAdvertisement": "Enviar anuncio",
|
|
"settings_sendAdvertisementSubtitle": "Difundir la presencia ahora",
|
|
"settings_advertisementSent": "Anuncio enviado",
|
|
"settings_syncTime": "Sincronizar hora",
|
|
"settings_syncTimeSubtitle": "Establecer la hora del dispositivo con la del teléfono",
|
|
"settings_timeSynchronized": "Hora sincronizada",
|
|
"settings_refreshContacts": "Actualizar contactos",
|
|
"settings_refreshContactsSubtitle": "Recargar lista de contactos del dispositivo",
|
|
"settings_rebootDevice": "Reiniciar dispositivo",
|
|
"settings_rebootDeviceSubtitle": "Reiniciar el dispositivo MeshCore",
|
|
"settings_rebootDeviceConfirm": "¿Está seguro de que desea reiniciar el dispositivo? Se desconectará.",
|
|
"settings_debug": "Depurar",
|
|
"settings_bleDebugLog": "Registro de Depuración BLE",
|
|
"settings_bleDebugLogSubtitle": "Comandos, respuestas y datos brutos de BLE",
|
|
"settings_appDebugLog": "Registro de Depuración de la App",
|
|
"settings_appDebugLogSubtitle": "Mensajes de depuración de la aplicación",
|
|
"settings_about": "Acerca de",
|
|
"settings_aboutVersion": "MeshCore Open v{version}",
|
|
"@settings_aboutVersion": {
|
|
"placeholders": {
|
|
"version": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"settings_aboutLegalese": "Proyecto MeshCore Open Source 2026",
|
|
"settings_aboutDescription": "Un cliente Flutter de código abierto para dispositivos MeshCore de malla LoRa.",
|
|
"settings_infoName": "Nombre",
|
|
"settings_infoId": "ID",
|
|
"settings_infoStatus": "Estado",
|
|
"settings_infoBattery": "Batería",
|
|
"settings_infoPublicKey": "Clave pública",
|
|
"settings_infoContactsCount": "Número de contactos",
|
|
"settings_infoChannelCount": "Número de canales",
|
|
"settings_presets": "Preajustes",
|
|
"settings_frequency": "Frecuencia (MHz)",
|
|
"settings_frequencyHelper": "300,0 - 2500,0",
|
|
"settings_frequencyInvalid": "Frecuencia inválida (300-2500 MHz)",
|
|
"settings_bandwidth": "Ancho de banda",
|
|
"settings_spreadingFactor": "Factor de propagación",
|
|
"settings_codingRate": "Tasa de codificación",
|
|
"settings_txPower": "Potencia TX (dBm)",
|
|
"settings_txPowerHelper": "0 - 22",
|
|
"settings_txPowerInvalid": "Potencia de TX inválida (0-22 dBm)",
|
|
"settings_error": "Error: {message}",
|
|
"@settings_error": {
|
|
"placeholders": {
|
|
"message": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"appSettings_title": "Configuración de la App",
|
|
"appSettings_appearance": "Apariencia",
|
|
"appSettings_theme": "Tema",
|
|
"appSettings_themeSystem": "Valor predeterminado del sistema",
|
|
"appSettings_themeLight": "Claro",
|
|
"appSettings_themeDark": "Oscuro",
|
|
"appSettings_language": "Idioma",
|
|
"appSettings_languageSystem": "Predeterminado del sistema",
|
|
"appSettings_languageEn": "Inglés",
|
|
"appSettings_languageFr": "Francés",
|
|
"appSettings_languageEs": "Español",
|
|
"appSettings_languageDe": "Alemán",
|
|
"appSettings_languagePl": "Polaco",
|
|
"appSettings_languageSl": "Esloveno",
|
|
"appSettings_languagePt": "Portugués",
|
|
"appSettings_languageIt": "Italiano",
|
|
"appSettings_languageZh": "Chino",
|
|
"appSettings_languageSv": "Sueco",
|
|
"appSettings_languageNl": "Neerlandés",
|
|
"appSettings_languageSk": "Eslovaco",
|
|
"appSettings_languageBg": "Búlgaro",
|
|
"appSettings_notifications": "Notificaciones",
|
|
"appSettings_enableNotifications": "Habilitar notificaciones",
|
|
"appSettings_enableNotificationsSubtitle": "Recibir notificaciones para mensajes y anuncios",
|
|
"appSettings_notificationPermissionDenied": "Permiso de notificación denegado",
|
|
"appSettings_notificationsEnabled": "Notificaciones activadas",
|
|
"appSettings_notificationsDisabled": "Notificaciones desactivadas",
|
|
"appSettings_messageNotifications": "Notificaciones de mensajes",
|
|
"appSettings_messageNotificationsSubtitle": "Mostrar notificación al recibir nuevos mensajes",
|
|
"appSettings_channelMessageNotifications": "Notificaciones de mensajes del canal",
|
|
"appSettings_channelMessageNotificationsSubtitle": "Mostrar notificación al recibir mensajes del canal",
|
|
"appSettings_advertisementNotifications": "Notificaciones de anuncios",
|
|
"appSettings_advertisementNotificationsSubtitle": "Mostrar notificación cuando se descubren nuevos nodos",
|
|
"appSettings_messaging": "Mensajería",
|
|
"appSettings_clearPathOnMaxRetry": "Borrar ruta al máximo de reintentos",
|
|
"appSettings_clearPathOnMaxRetrySubtitle": "Restablecer la ruta de contacto después de 5 intentos de envío fallidos",
|
|
"appSettings_pathsWillBeCleared": "Las rutas se borrarán después de 5 intentos fallidos.",
|
|
"appSettings_pathsWillNotBeCleared": "Las rutas no se eliminarán automáticamente.",
|
|
"appSettings_autoRouteRotation": "Rotación automática de rutas",
|
|
"appSettings_autoRouteRotationSubtitle": "Alternar entre las mejores rutas y el modo inundación",
|
|
"appSettings_autoRouteRotationEnabled": "Rotación de ruta automática habilitada",
|
|
"appSettings_autoRouteRotationDisabled": "Rotación de ruta automática desactivada",
|
|
"appSettings_battery": "Batería",
|
|
"appSettings_batteryChemistry": "Química de la batería",
|
|
"appSettings_batteryChemistryPerDevice": "Configurar por dispositivo ({deviceName})",
|
|
"@appSettings_batteryChemistryPerDevice": {
|
|
"placeholders": {
|
|
"deviceName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"appSettings_batteryChemistryConnectFirst": "Conéctate a un dispositivo para elegirlo",
|
|
"appSettings_batteryNmc": "18650 NMC (3,0-4,2 V)",
|
|
"appSettings_batteryLifepo4": "LiFePO4 (2,6-3,65 V)",
|
|
"appSettings_batteryLipo": "LiPo (3,0-4,2 V)",
|
|
"appSettings_mapDisplay": "Visualización del mapa",
|
|
"appSettings_showRepeaters": "Mostrar repetidores",
|
|
"appSettings_showRepeatersSubtitle": "Mostrar nodos de repetidor en el mapa",
|
|
"appSettings_showChatNodes": "Mostrar nodos de chat",
|
|
"appSettings_showChatNodesSubtitle": "Mostrar nodos de chat en el mapa",
|
|
"appSettings_showOtherNodes": "Mostrar otros nodos",
|
|
"appSettings_showOtherNodesSubtitle": "Mostrar otros tipos de nodo en el mapa",
|
|
"appSettings_timeFilter": "Filtro de tiempo",
|
|
"appSettings_timeFilterShowAll": "Mostrar todos los nodos",
|
|
"appSettings_timeFilterShowLast": "Mostrar nodos de las últimas {hours} horas",
|
|
"@appSettings_timeFilterShowLast": {
|
|
"placeholders": {
|
|
"hours": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"appSettings_mapTimeFilter": "Filtro de tiempo del mapa",
|
|
"appSettings_showNodesDiscoveredWithin": "Mostrar nodos descubiertos dentro de:",
|
|
"appSettings_allTime": "Todo el tiempo",
|
|
"appSettings_lastHour": "Última hora",
|
|
"appSettings_last6Hours": "Últimas 6 horas",
|
|
"appSettings_last24Hours": "Últimas 24 horas",
|
|
"appSettings_lastWeek": "La semana pasada",
|
|
"appSettings_offlineMapCache": "Caché de mapa sin conexión",
|
|
"appSettings_noAreaSelected": "No se ha seleccionado ningún área",
|
|
"appSettings_areaSelectedZoom": "Área seleccionada (zoom {minZoom}-{maxZoom})",
|
|
"@appSettings_areaSelectedZoom": {
|
|
"placeholders": {
|
|
"minZoom": {
|
|
"type": "int"
|
|
},
|
|
"maxZoom": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"appSettings_debugCard": "Depurar",
|
|
"appSettings_appDebugLogging": "Registro de Depuración de la App",
|
|
"appSettings_appDebugLoggingSubtitle": "Registrar mensajes de depuración de la app para solucionar problemas",
|
|
"appSettings_appDebugLoggingEnabled": "Registro de depuración de la aplicación habilitado",
|
|
"appSettings_appDebugLoggingDisabled": "El registro de depuración de la aplicación está desactivado",
|
|
"contacts_title": "Contactos",
|
|
"contacts_noContacts": "Aún no hay contactos.",
|
|
"contacts_contactsWillAppear": "Los contactos aparecerán cuando los dispositivos anuncien.",
|
|
"contacts_searchContacts": "Buscar {number}{str} contactos...",
|
|
"@contacts_searchContacts": {
|
|
"placeholders": {
|
|
"number": {
|
|
"type": "int"
|
|
},
|
|
"str": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"contacts_noUnreadContacts": "No hay contactos sin leer",
|
|
"contacts_noContactsFound": "No se encontraron contactos ni grupos.",
|
|
"contacts_deleteContact": "Eliminar contacto",
|
|
"contacts_removeConfirm": "¿Eliminar {contactName} de los contactos?",
|
|
"@contacts_removeConfirm": {
|
|
"placeholders": {
|
|
"contactName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"contacts_manageRepeater": "Gestionar repetidor",
|
|
"contacts_roomLogin": "Inicio de sesión en sala",
|
|
"contacts_openChat": "Abrir chat",
|
|
"contacts_editGroup": "Editar grupo",
|
|
"contacts_deleteGroup": "Eliminar grupo",
|
|
"contacts_deleteGroupConfirm": "Eliminar {groupName}?",
|
|
"@contacts_deleteGroupConfirm": {
|
|
"placeholders": {
|
|
"groupName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"contacts_newGroup": "Nuevo Grupo",
|
|
"contacts_groupName": "Nombre del grupo",
|
|
"contacts_groupNameRequired": "El nombre del grupo es obligatorio",
|
|
"contacts_groupNameReserved": "Este nombre de grupo está reservado",
|
|
"contacts_groupAlreadyExists": "El grupo \"{name}\" ya existe",
|
|
"@contacts_groupAlreadyExists": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"contacts_filterContacts": "Filtrar contactos...",
|
|
"contacts_noContactsMatchFilter": "No hay contactos que coincidan con tu filtro",
|
|
"contacts_noMembers": "No miembros",
|
|
"contacts_lastSeenNow": "Última vez que se vio ahora",
|
|
"contacts_lastSeenMinsAgo": "~ {minutes} minutos",
|
|
"@contacts_lastSeenMinsAgo": {
|
|
"placeholders": {
|
|
"minutes": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"contacts_lastSeenHourAgo": "~ 1 hora",
|
|
"contacts_lastSeenHoursAgo": "~ {hours} horas",
|
|
"@contacts_lastSeenHoursAgo": {
|
|
"placeholders": {
|
|
"hours": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"contacts_lastSeenDayAgo": "~ 1 día",
|
|
"contacts_lastSeenDaysAgo": "~ {days} días",
|
|
"@contacts_lastSeenDaysAgo": {
|
|
"placeholders": {
|
|
"days": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"channels_title": "Canales",
|
|
"channels_noChannelsConfigured": "No se han configurado canales",
|
|
"channels_addPublicChannel": "Añadir Canal Público",
|
|
"channels_searchChannels": "Buscar canales...",
|
|
"channels_noChannelsFound": "No se encontraron canales",
|
|
"channels_channelIndex": "Canal {index}",
|
|
"@channels_channelIndex": {
|
|
"placeholders": {
|
|
"index": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"channels_public": "Público",
|
|
"channels_private": "Privado",
|
|
"channels_editChannel": "Editar canal",
|
|
"channels_muteChannel": "Silenciar canal",
|
|
"channels_unmuteChannel": "Activar canal",
|
|
"channels_deleteChannel": "Eliminar canal",
|
|
"channels_deleteChannelConfirm": "Eliminar \"{name}\"? Esto no se puede deshacer.",
|
|
"@channels_deleteChannelConfirm": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"channels_channelDeleted": "Canal \"{name}\" eliminado",
|
|
"@channels_channelDeleted": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"channels_addChannel": "Añadir Canal",
|
|
"channels_channelIndexLabel": "Índice de Canal",
|
|
"channels_channelName": "Nombre del canal",
|
|
"channels_usePublicChannel": "Usar Canal Público",
|
|
"channels_standardPublicPsk": "PSK estándar público",
|
|
"channels_pskHex": "PSK (Hex)",
|
|
"channels_generateRandomPsk": "Generar PSK aleatorio",
|
|
"channels_enterChannelName": "Por favor, introduce un nombre de canal",
|
|
"channels_pskMustBe32Hex": "PSK debe ser de 32 caracteres hexadecimales.",
|
|
"channels_channelAdded": "Canal \"{name}\" añadido",
|
|
"@channels_channelAdded": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"channels_editChannelTitle": "Editar Canal {index}",
|
|
"@channels_editChannelTitle": {
|
|
"placeholders": {
|
|
"index": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"channels_smazCompression": "Compresión SMAZ",
|
|
"channels_cyr2latCompression": "Compresión Cyr2Lat",
|
|
"channels_cyr2latCompressionDscr": "Reemplaza algunos caracteres cirílicos con caracteres latinos al enviar.",
|
|
"channels_cyr2latSettingsHeading": "Configuración de Cyr2Lat",
|
|
"channels_cyr2latSettingsSubheading": "Lista de sustituciones",
|
|
"channels_cyr2latSettingsDscr": "Editar la configuración JSON de sustitución de caracteres",
|
|
"channels_cyr2latSettingsDialogHint": "Mapa JSON de sustituciones",
|
|
"channels_cyr2latSettingsDialogWrongJSON": "JSON incorrecto: {error}",
|
|
"@channels_cyr2latSettingsDialogWrongJSON": {
|
|
"placeholders": {
|
|
"error": {}
|
|
}
|
|
},
|
|
"settings_cyr2latProfileAdd": "Añadir perfil Cyr2Lat",
|
|
"settings_cyr2latProfileName": "Nombre del perfil",
|
|
"settings_cyr2latProfileNameEmpty": "El nombre del perfil no puede estar vacío",
|
|
"settings_cyr2latProfileAdded": "Perfil añadido correctamente",
|
|
"settings_cyr2latProfileUpdated": "Perfil actualizado correctamente",
|
|
"settings_cyr2latProfileEdit": "Editar perfil Cyr2Lat",
|
|
"settings_cyr2latProfileDelete": "Eliminar perfil Cyr2Lat",
|
|
"settings_cyr2latProfileDeleted": "Perfil eliminado correctamente",
|
|
"settings_cyr2latProfileDeleteDscr": "¿Está seguro de que desea eliminar el perfil \"{name}\"?",
|
|
"@settings_cyr2latProfileDeleteDscr": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"channels_channelUpdated": "Canal \"{name}\" actualizado",
|
|
"@channels_channelUpdated": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"channels_publicChannelAdded": "Canal público añadido",
|
|
"channels_sortBy": "Ordenar por",
|
|
"channels_sortManual": "Manual",
|
|
"channels_sortAZ": "De la A a la Z",
|
|
"channels_sortLatestMessages": "Últimos mensajes",
|
|
"channels_sortUnread": "Sin leer",
|
|
"chat_noMessages": "Aún no hay mensajes",
|
|
"chat_sendMessageToStart": "Enviar un mensaje para comenzar",
|
|
"chat_originalMessageNotFound": "Mensaje original no encontrado",
|
|
"chat_replyingTo": "Responder a {name}",
|
|
"@chat_replyingTo": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"chat_replyTo": "Responder a {name}",
|
|
"@chat_replyTo": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"chat_location": "Ubicación",
|
|
"chat_sendMessageTo": "Enviar un mensaje a {contactName}",
|
|
"@chat_sendMessageTo": {
|
|
"placeholders": {
|
|
"contactName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"chat_typeMessage": "Escribe un mensaje...",
|
|
"chat_messageTooLong": "Mensaje demasiado largo (máximo {maxBytes} bytes).",
|
|
"@chat_messageTooLong": {
|
|
"placeholders": {
|
|
"maxBytes": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"chat_messageCopied": "Mensaje copiado",
|
|
"chat_messageDeleted": "Mensaje borrado",
|
|
"chat_retryingMessage": "Reintentando…",
|
|
"chat_retryCount": "Reintentar {current}/{max}",
|
|
"@chat_retryCount": {
|
|
"placeholders": {
|
|
"current": {
|
|
"type": "int"
|
|
},
|
|
"max": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"chat_sendGif": "Enviar GIF",
|
|
"chat_reply": "Responder",
|
|
"chat_addReaction": "Añadir Reacción",
|
|
"chat_me": "Yo",
|
|
"emojiCategorySmileys": "Emoticones",
|
|
"emojiCategoryGestures": "Gestos",
|
|
"emojiCategoryHearts": "Corazones",
|
|
"emojiCategoryObjects": "Objetos",
|
|
"gifPicker_title": "Elegir un GIF",
|
|
"gifPicker_searchHint": "Buscar GIFs...",
|
|
"gifPicker_poweredBy": "Con tecnología de GIPHY",
|
|
"gifPicker_noGifsFound": "No se encontraron GIFs",
|
|
"gifPicker_failedLoad": "No se pudo cargar los GIFs",
|
|
"gifPicker_failedSearch": "No se encontraron GIFs",
|
|
"gifPicker_noInternet": "No hay conexión a internet",
|
|
"debugLog_appTitle": "Registro de Depuración de la App",
|
|
"debugLog_bleTitle": "Registro de Depuración BLE",
|
|
"debugLog_copyLog": "Copiar registro",
|
|
"debugLog_clearLog": "Borrar registro",
|
|
"debugLog_copied": "Registro de depuración copiado",
|
|
"debugLog_bleCopied": "Registro BLE copiado",
|
|
"debugLog_noEntries": "Aún no hay registros de depuración.",
|
|
"debugLog_enableInSettings": "Habilitar el registro de depuración de la aplicación en la configuración",
|
|
"debugLog_frames": "Marcos",
|
|
"debugLog_rawLogRx": "Registro bruto RX",
|
|
"debugLog_noBleActivity": "Aún no hay actividad BLE",
|
|
"debugFrame_length": "Longitud del Marco: {count} bytes",
|
|
"@debugFrame_length": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"debugFrame_command": "Comando: 0x{value}",
|
|
"@debugFrame_command": {
|
|
"placeholders": {
|
|
"value": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"debugFrame_textMessageHeader": "Mensaje de Texto:",
|
|
"debugFrame_destinationPubKey": "- Destino PubKey: {pubKey}",
|
|
"@debugFrame_destinationPubKey": {
|
|
"placeholders": {
|
|
"pubKey": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"debugFrame_timestamp": "- Marca de tiempo: {timestamp}",
|
|
"@debugFrame_timestamp": {
|
|
"placeholders": {
|
|
"timestamp": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"debugFrame_flags": "- Banderas: 0x{value}",
|
|
"@debugFrame_flags": {
|
|
"placeholders": {
|
|
"value": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"debugFrame_textType": "- Tipo de texto: {type} ({label})",
|
|
"@debugFrame_textType": {
|
|
"placeholders": {
|
|
"type": {
|
|
"type": "int"
|
|
},
|
|
"label": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"debugFrame_textTypeCli": "CLI",
|
|
"debugFrame_textTypePlain": "Plano",
|
|
"debugFrame_text": "- Texto: \"{text}\"",
|
|
"@debugFrame_text": {
|
|
"placeholders": {
|
|
"text": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"debugFrame_hexDump": "Volcado hexadecimal:",
|
|
"chat_pathManagement": "Gestión de rutas",
|
|
"chat_routingMode": "Modo de enrutamiento",
|
|
"chat_autoUseSavedPath": "Auto (usar la ruta guardada)",
|
|
"chat_forceFloodMode": "Modo inundación forzado",
|
|
"chat_recentAckPaths": "Rutas recientes de ACK (toca para usar):",
|
|
"chat_pathHistoryFull": "El historial de rutas está completo. Elimina entradas para añadir nuevas.",
|
|
"chat_hopSingular": "salto",
|
|
"chat_hopPlural": "saltos",
|
|
"chat_hopsCount": "{count} {count, plural, =1{salto} other{saltos}}",
|
|
"@chat_hopsCount": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"chat_successes": "Éxitos",
|
|
"chat_removePath": "Eliminar ruta",
|
|
"chat_noPathHistoryYet": "Aún no hay historial de rutas.\nEnvía un mensaje para descubrir rutas.",
|
|
"chat_pathActions": "Acciones de ruta:",
|
|
"chat_setCustomPath": "Establecer ruta personalizada",
|
|
"chat_setCustomPathSubtitle": "Especificar manualmente la ruta de enrutamiento",
|
|
"chat_clearPath": "Borrar ruta",
|
|
"chat_clearPathSubtitle": "Forzar redescubrimiento en el próximo envío",
|
|
"chat_pathCleared": "Ruta borrada. El siguiente mensaje redescubrirá la ruta.",
|
|
"chat_floodModeSubtitle": "Usar el selector de enrutamiento en la barra de herramientas",
|
|
"chat_floodModeEnabled": "El modo de inundación está activado. Desactívalo con el icono de enrutamiento de la barra de herramientas de la app.",
|
|
"chat_fullPath": "Ruta completa",
|
|
"chat_pathDetailsNotAvailable": "Los detalles de la ruta aún no están disponibles. Intenta enviar un mensaje para refrescar.",
|
|
"chat_pathSetHops": "Ruta establecida: {hopCount} {hopCount, plural, =1{salto} other{saltos}} - {status}",
|
|
"@chat_pathSetHops": {
|
|
"placeholders": {
|
|
"hopCount": {
|
|
"type": "int"
|
|
},
|
|
"status": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"chat_pathSavedLocally": "Guardado localmente. Conéctate para sincronizar.",
|
|
"chat_pathDeviceConfirmed": "Dispositivo confirmado.",
|
|
"chat_pathDeviceNotConfirmed": "Dispositivo aún no confirmado.",
|
|
"chat_type": "Tipo",
|
|
"chat_path": "Ruta",
|
|
"chat_publicKey": "Clave pública",
|
|
"chat_compressOutgoingMessages": "Comprimir mensajes salientes",
|
|
"chat_floodForced": "Inundación (forzada)",
|
|
"chat_directForced": "Directo (forzado)",
|
|
"chat_hopsForced": "{count} saltos (forzados)",
|
|
"@chat_hopsForced": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"chat_floodAuto": "Inundación (automática)",
|
|
"chat_direct": "Directo",
|
|
"chat_poiShared": "Punto de interés compartido",
|
|
"chat_unread": "Sin leer: {count}",
|
|
"@chat_unread": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"chat_openLink": "¿Abrir enlace?",
|
|
"chat_openLinkConfirmation": "¿Quieres abrir este enlace en tu navegador?",
|
|
"chat_open": "Abrir",
|
|
"chat_couldNotOpenLink": "No se pudo abrir el enlace: {url}",
|
|
"@chat_couldNotOpenLink": {
|
|
"placeholders": {
|
|
"url": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"chat_invalidLink": "Formato de enlace no válido",
|
|
"map_title": "Mapa de nodos",
|
|
"map_noNodesWithLocation": "No hay nodos con datos de ubicación",
|
|
"map_nodesNeedGps": "Los nodos necesitan compartir sus coordenadas GPS\npara aparecer en el mapa",
|
|
"map_nodesCount": "Nodos: {count}",
|
|
"@map_nodesCount": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"map_pinsCount": "Pines: {count}",
|
|
"@map_pinsCount": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"map_chat": "Chat",
|
|
"map_repeater": "Repetidor",
|
|
"map_room": "Sala",
|
|
"map_sensor": "Sensor",
|
|
"map_pinDm": "Pin (DM)",
|
|
"map_pinPrivate": "Pin (privado)",
|
|
"map_pinPublic": "Pin (público)",
|
|
"map_lastSeen": "Última vez visto",
|
|
"map_disconnectConfirm": "¿Está seguro de que desea desconectarse de este dispositivo?",
|
|
"map_from": "De",
|
|
"map_source": "Fuente",
|
|
"map_flags": "Banderas",
|
|
"map_shareMarkerHere": "Compartir marcador aquí",
|
|
"map_pinLabel": "Etiqueta del pin",
|
|
"map_label": "Etiqueta",
|
|
"map_pointOfInterest": "Punto de interés",
|
|
"map_sendToContact": "Enviar a contacto",
|
|
"map_sendToChannel": "Enviar a canal",
|
|
"map_noChannelsAvailable": "No hay canales disponibles",
|
|
"map_publicLocationShare": "Compartir ubicación pública",
|
|
"map_publicLocationShareConfirm": "Estás a punto de compartir una ubicación en {channelLabel}. Este canal es público y cualquiera con la PSK puede verla.",
|
|
"@map_publicLocationShareConfirm": {
|
|
"placeholders": {
|
|
"channelLabel": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"map_connectToShareMarkers": "Conéctate a un dispositivo para compartir marcadores",
|
|
"map_filterNodes": "Filtrar nodos",
|
|
"map_nodeTypes": "Tipos de nodo",
|
|
"map_chatNodes": "Nodos de chat",
|
|
"map_repeaters": "Repetidores",
|
|
"map_otherNodes": "Otros nodos",
|
|
"map_keyPrefix": "Prefijo de clave",
|
|
"map_filterByKeyPrefix": "Filtrar por prefijo clave",
|
|
"map_publicKeyPrefix": "Prefijo de clave pública",
|
|
"map_markers": "Marcadores",
|
|
"map_showSharedMarkers": "Mostrar marcadores compartidos",
|
|
"map_lastSeenTime": "Hora de última vez visto",
|
|
"map_sharedPin": "Pin compartido",
|
|
"map_joinRoom": "Unirse a la sala",
|
|
"map_manageRepeater": "Gestionar repetidor",
|
|
"mapCache_title": "Caché de mapa sin conexión",
|
|
"mapCache_selectAreaFirst": "Selecciona primero un área para almacenar en caché",
|
|
"mapCache_noTilesToDownload": "No hay teselas para descargar para esta área.",
|
|
"mapCache_downloadTilesTitle": "Descargar teselas",
|
|
"mapCache_downloadTilesPrompt": "¿Descargar {count} teselas para uso sin conexión?",
|
|
"@mapCache_downloadTilesPrompt": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"mapCache_downloadAction": "Descargar",
|
|
"mapCache_cachedTiles": "Teselas almacenadas: {count}",
|
|
"@mapCache_cachedTiles": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"mapCache_cachedTilesWithFailed": "Teselas almacenadas: {downloaded} ({failed} fallidas)",
|
|
"@mapCache_cachedTilesWithFailed": {
|
|
"placeholders": {
|
|
"downloaded": {
|
|
"type": "int"
|
|
},
|
|
"failed": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"mapCache_clearOfflineCacheTitle": "Borrar caché sin conexión",
|
|
"mapCache_clearOfflineCachePrompt": "¿Eliminar todas las teselas del mapa almacenadas en caché?",
|
|
"mapCache_offlineCacheCleared": "Caché sin conexión borrada",
|
|
"mapCache_noAreaSelected": "No se ha seleccionado ningún área",
|
|
"mapCache_cacheArea": "Área de caché",
|
|
"mapCache_useCurrentView": "Usar vista actual",
|
|
"mapCache_zoomRange": "Rango de zoom",
|
|
"mapCache_estimatedTiles": "Teselas estimadas: {count}",
|
|
"@mapCache_estimatedTiles": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"mapCache_downloadedTiles": "Descargados {completed} / {total}",
|
|
"@mapCache_downloadedTiles": {
|
|
"placeholders": {
|
|
"completed": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"mapCache_downloadTilesButton": "Descargar teselas",
|
|
"mapCache_clearCacheButton": "Borrar caché",
|
|
"mapCache_failedDownloads": "Descargas fallidas: {count}",
|
|
"@mapCache_failedDownloads": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"mapCache_boundsLabel": "N {north}, S {south}, E {east}, W {west}",
|
|
"@mapCache_boundsLabel": {
|
|
"placeholders": {
|
|
"north": {
|
|
"type": "String"
|
|
},
|
|
"south": {
|
|
"type": "String"
|
|
},
|
|
"east": {
|
|
"type": "String"
|
|
},
|
|
"west": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"time_justNow": "Justo ahora",
|
|
"time_minutesAgo": "hace {minutes} min.",
|
|
"@time_minutesAgo": {
|
|
"placeholders": {
|
|
"minutes": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"time_hoursAgo": "hace {hours} h",
|
|
"@time_hoursAgo": {
|
|
"placeholders": {
|
|
"hours": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"time_daysAgo": "hace {days} días",
|
|
"@time_daysAgo": {
|
|
"placeholders": {
|
|
"days": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"time_hour": "hora",
|
|
"time_hours": "horas",
|
|
"time_day": "día",
|
|
"time_days": "días",
|
|
"time_week": "semana",
|
|
"time_weeks": "semanas",
|
|
"time_month": "mes",
|
|
"time_months": "meses",
|
|
"time_minutes": "minutos",
|
|
"time_allTime": "Todo el tiempo",
|
|
"dialog_disconnect": "Desconectar",
|
|
"dialog_disconnectConfirm": "¿Está seguro de que desea desconectarse de este dispositivo?",
|
|
"login_repeaterLogin": "Inicio de sesión del repetidor",
|
|
"login_roomLogin": "Inicio de sesión en la sala",
|
|
"login_password": "Contraseña",
|
|
"login_enterPassword": "Introduce la contraseña",
|
|
"login_savePassword": "Guardar contraseña",
|
|
"login_savePasswordSubtitle": "La contraseña se almacenará de forma segura en este dispositivo.",
|
|
"login_repeaterDescription": "Introduce la contraseña del repetidor para acceder como invitado o administrador.",
|
|
"login_roomDescription": "Introduce la contraseña de la sala para acceder como invitado o administrador.",
|
|
"login_routing": "Enrutamiento",
|
|
"login_routingMode": "Modo de enrutamiento",
|
|
"login_autoUseSavedPath": "Auto (usar la ruta guardada)",
|
|
"login_forceFloodMode": "Forzar modo inundación",
|
|
"login_managePaths": "Gestionar rutas",
|
|
"login_login": "Iniciar sesión",
|
|
"login_attempt": "Intento {current}/{max}",
|
|
"@login_attempt": {
|
|
"placeholders": {
|
|
"current": {
|
|
"type": "int"
|
|
},
|
|
"max": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"login_failed": "Error de inicio de sesión: {error}",
|
|
"@login_failed": {
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"login_failedMessage": "El inicio de sesión ha fallado. La contraseña es incorrecta o el repetidor no está disponible.",
|
|
"common_reload": "Recargar",
|
|
"common_clear": "Borrar",
|
|
"path_currentPath": "Ruta actual: {path}",
|
|
"@path_currentPath": {
|
|
"placeholders": {
|
|
"path": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"path_usingHopsPath": "Usando {count} {count, plural, =1{salto} other{saltos}} de ruta",
|
|
"@path_usingHopsPath": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"path_enterCustomPath": "Introducir ruta personalizada",
|
|
"path_currentPathLabel": "Ruta actual",
|
|
"path_hexPrefixInstructions": "Introduzca los prefijos hexadecimales de 2 caracteres para cada salto, separados por comas.",
|
|
"path_hexPrefixExample": "Ejemplo: A1,F2,3C (cada nodo usa el primer byte de su clave pública).",
|
|
"path_labelHexPrefixes": "Prefijos hexadecimales",
|
|
"path_helperMaxHops": "Máximo 64 saltos. Cada prefijo tiene 2 caracteres hexadecimales (1 byte).",
|
|
"path_selectFromContacts": "O seleccionar de los contactos:",
|
|
"path_noRepeatersFound": "No se encontraron repetidores ni servidores de sala.",
|
|
"path_customPathsRequire": "Las rutas personalizadas requieren saltos intermedios que puedan transmitir mensajes.",
|
|
"path_invalidHexPrefixes": "Prefijos hexadecimales inválidos: {prefixes}",
|
|
"@path_invalidHexPrefixes": {
|
|
"placeholders": {
|
|
"prefixes": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"path_tooLong": "La ruta es demasiado larga. Se permiten un máximo de 64 saltos.",
|
|
"path_setPath": "Establecer ruta",
|
|
"repeater_management": "Gestión de repetidores",
|
|
"repeater_managementTools": "Herramientas de gestión",
|
|
"repeater_status": "Estado",
|
|
"repeater_statusSubtitle": "Ver el estado, las estadísticas y los vecinos del repetidor",
|
|
"repeater_telemetry": "Telemetría",
|
|
"repeater_telemetrySubtitle": "Ver la telemetría de los sensores y las estadísticas del sistema",
|
|
"repeater_cli": "CLI",
|
|
"repeater_cliSubtitle": "Enviar comandos al repetidor",
|
|
"repeater_settings": "Configuración",
|
|
"repeater_settingsSubtitle": "Configurar parámetros del repetidor",
|
|
"repeater_statusTitle": "Estado del Repetidor",
|
|
"repeater_routingMode": "Modo de enrutamiento",
|
|
"repeater_autoUseSavedPath": "Auto (usar la ruta guardada)",
|
|
"repeater_forceFloodMode": "Modo inundación forzado",
|
|
"repeater_pathManagement": "Gestión de rutas",
|
|
"repeater_refresh": "Actualizar",
|
|
"repeater_statusRequestTimeout": "Se agotó el tiempo de espera de la solicitud de estado.",
|
|
"repeater_errorLoadingStatus": "Error al cargar el estado: {error}",
|
|
"@repeater_errorLoadingStatus": {
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"repeater_systemInformation": "Información del sistema",
|
|
"repeater_battery": "Batería",
|
|
"repeater_clockAtLogin": "Reloj (al inicio de sesión)",
|
|
"repeater_uptime": "Tiempo de actividad",
|
|
"repeater_queueLength": "Longitud de la cola",
|
|
"repeater_debugFlags": "Banderas de depuración",
|
|
"repeater_radioStatistics": "Estadísticas de radio",
|
|
"repeater_lastRssi": "Último RSSI",
|
|
"repeater_lastSnr": "Último SNR",
|
|
"repeater_noiseFloor": "Nivel de ruido",
|
|
"repeater_txAirtime": "Tiempo de aire TX",
|
|
"repeater_rxAirtime": "Tiempo de aire RX",
|
|
"repeater_packetStatistics": "Estadísticas de paquetes",
|
|
"repeater_sent": "Enviados",
|
|
"repeater_received": "Recibidos",
|
|
"repeater_duplicates": "Duplicados",
|
|
"repeater_daysHoursMinsSecs": "{days} días {hours}h {minutes} min {seconds} s",
|
|
"@repeater_daysHoursMinsSecs": {
|
|
"placeholders": {
|
|
"days": {
|
|
"type": "int"
|
|
},
|
|
"hours": {
|
|
"type": "int"
|
|
},
|
|
"minutes": {
|
|
"type": "int"
|
|
},
|
|
"seconds": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"repeater_packetTxTotal": "Total: {total}, Inundación: {flood}, Directo: {direct}",
|
|
"@repeater_packetTxTotal": {
|
|
"placeholders": {
|
|
"total": {
|
|
"type": "int"
|
|
},
|
|
"flood": {
|
|
"type": "String"
|
|
},
|
|
"direct": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"repeater_packetRxTotal": "Total: {total}, Inundación: {flood}, Directo: {direct}",
|
|
"@repeater_packetRxTotal": {
|
|
"placeholders": {
|
|
"total": {
|
|
"type": "int"
|
|
},
|
|
"flood": {
|
|
"type": "String"
|
|
},
|
|
"direct": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"repeater_duplicatesFloodDirect": "Inundación: {flood}, Directo: {direct}",
|
|
"@repeater_duplicatesFloodDirect": {
|
|
"placeholders": {
|
|
"flood": {
|
|
"type": "String"
|
|
},
|
|
"direct": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"repeater_duplicatesTotal": "Total: {total}",
|
|
"@repeater_duplicatesTotal": {
|
|
"placeholders": {
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"repeater_settingsTitle": "Ajustes del repetidor",
|
|
"repeater_basicSettings": "Ajustes básicos",
|
|
"repeater_repeaterName": "Nombre del repetidor",
|
|
"repeater_repeaterNameHelper": "Nombre visible para este repetidor",
|
|
"repeater_adminPassword": "Contraseña de administrador",
|
|
"repeater_adminPasswordHelper": "Contraseña de acceso completo",
|
|
"repeater_guestPassword": "Contraseña de invitado",
|
|
"repeater_guestPasswordHelper": "Contraseña de acceso de solo lectura",
|
|
"repeater_radioSettings": "Ajustes de radio",
|
|
"repeater_frequencyMhz": "Frecuencia (MHz)",
|
|
"repeater_frequencyHelper": "300-2500 MHz",
|
|
"repeater_txPower": "Potencia TX",
|
|
"repeater_txPowerHelper": "1-30 dBm",
|
|
"repeater_bandwidth": "Ancho de banda",
|
|
"repeater_spreadingFactor": "Factor de propagación",
|
|
"repeater_codingRate": "Tasa de codificación",
|
|
"repeater_locationSettings": "Ajustes de ubicación",
|
|
"repeater_latitude": "Latitud",
|
|
"repeater_latitudeHelper": "Grados decimales (por ejemplo, 37.7749)",
|
|
"repeater_longitude": "Longitud",
|
|
"repeater_longitudeHelper": "Grados decimales (por ejemplo, -122.4194)",
|
|
"repeater_features": "Funciones",
|
|
"repeater_packetForwarding": "Reenvío de paquetes",
|
|
"repeater_packetForwardingSubtitle": "Permitir que el repetidor reenvíe paquetes",
|
|
"repeater_guestAccess": "Acceso de invitado",
|
|
"repeater_guestAccessSubtitle": "Permitir acceso de invitado de solo lectura",
|
|
"repeater_privacyMode": "Modo de privacidad",
|
|
"repeater_privacyModeSubtitle": "Ocultar nombre/ubicación en anuncios",
|
|
"repeater_advertisementSettings": "Ajustes de anuncios",
|
|
"repeater_localAdvertInterval": "Intervalo de anuncio local",
|
|
"repeater_localAdvertIntervalMinutes": "{minutes} minutos",
|
|
"@repeater_localAdvertIntervalMinutes": {
|
|
"placeholders": {
|
|
"minutes": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"repeater_floodAdvertInterval": "Intervalo de anuncio por inundación",
|
|
"repeater_floodAdvertIntervalHours": "{hours} horas",
|
|
"@repeater_floodAdvertIntervalHours": {
|
|
"placeholders": {
|
|
"hours": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"repeater_encryptedAdvertInterval": "Intervalo de anuncio cifrado",
|
|
"repeater_dangerZone": "Zona de peligro",
|
|
"repeater_rebootRepeater": "Reiniciar repetidor",
|
|
"repeater_rebootRepeaterSubtitle": "Reiniciar el dispositivo repetidor",
|
|
"repeater_rebootRepeaterConfirm": "¿Está seguro de que desea reiniciar este repetidor?",
|
|
"repeater_regenerateIdentityKey": "Regenerar clave de identidad",
|
|
"repeater_regenerateIdentityKeySubtitle": "Generar una nueva pareja de claves pública/privada",
|
|
"repeater_regenerateIdentityKeyConfirm": "Esto generará una nueva identidad para el repetidor. ¿Continuar?",
|
|
"repeater_eraseFileSystem": "Borrar sistema de archivos",
|
|
"repeater_eraseFileSystemSubtitle": "Formatear el sistema de archivos del repetidor",
|
|
"repeater_eraseFileSystemConfirm": "ADVERTENCIA: Esto borrará todos los datos del repetidor. ¡Esto no se puede deshacer!",
|
|
"repeater_eraseSerialOnly": "Borrar solo está disponible a través de la consola serie.",
|
|
"repeater_commandSent": "Comando enviado: {command}",
|
|
"@repeater_commandSent": {
|
|
"placeholders": {
|
|
"command": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"repeater_errorSendingCommand": "Error al enviar el comando: {error}",
|
|
"@repeater_errorSendingCommand": {
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"repeater_confirm": "Confirmar",
|
|
"repeater_settingsSaved": "Ajustes guardados correctamente",
|
|
"repeater_rxGain": "Ganancia RX",
|
|
"repeater_rxGainHelper": "Mayor sensibilidad, mayor consumo de corriente (solo para SX1262/SX1268)",
|
|
"repeater_refreshRxGain": "Mejora el rendimiento de RX con la nueva versión.",
|
|
"repeater_multiAcks": "ACK múltiples",
|
|
"repeater_multiAcksSubtitle": "Reconocer mensajes a través de múltiples rutas para una mejor entrega.",
|
|
"repeater_refreshMultiAcks": "Actualizar ACK múltiples",
|
|
"repeater_networkHealth": "Salud de la red",
|
|
"repeater_loopDetect": "Detección de bucles",
|
|
"repeater_loopDetectHelper": "Crea paquetes de \"flujo\" que parezcan bucles de enrutamiento.",
|
|
"repeater_loopDetectOff": "Desactivado",
|
|
"repeater_loopDetectMinimal": "Mínimo",
|
|
"repeater_loopDetectModerate": "Moderado",
|
|
"repeater_loopDetectStrict": "Estricto",
|
|
"repeater_dutyCycle": "Ciclo de trabajo",
|
|
"repeater_dutyCycleHelper": "Porcentaje máximo de tiempo de aire",
|
|
"repeater_dutyCyclePercent": "{percent}%",
|
|
"@repeater_dutyCyclePercent": {
|
|
"placeholders": {
|
|
"percent": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"repeater_ownerInfo": "Información del propietario",
|
|
"repeater_ownerInfoHelper": "Metadatos públicos para este repetidor",
|
|
"repeater_refreshOwnerInfo": "Actualizar información del propietario",
|
|
"repeater_floodMax": "Máximo de saltos por inundación",
|
|
"repeater_floodMaxHelper": "Número máximo de paquetes de inundación que un nodo puede enviar (0-64)",
|
|
"repeater_advancedSettings": "Ajustes avanzados",
|
|
"repeater_advancedSettingsSubtitle": "Controles de ajuste para operadores experimentados",
|
|
"repeater_pathHashMode": "Modo de hash de ruta",
|
|
"repeater_pathHashModeHelper": "Bytes utilizados para codificar el ID de este repetidor en las etiquetas de ruta/detección de bucles. 0=1 byte (256 IDs, hasta 64 saltos), 1=2 bytes (65.000 IDs, hasta 32 saltos), 2=3 bytes (16 millones de IDs, hasta 21 saltos). Las versiones 1.13 y anteriores de firmware eliminan rutas de múltiples bytes; solo se detectan una vez que la red está activa en la versión 1.14 o posterior.",
|
|
"repeater_txDelay": "Retraso TX por inundación",
|
|
"repeater_txDelayHelper": "Ajuste de retransmisión para el tráfico de inundación, como un multiplicador del tiempo de transmisión del paquete (0-2, valor predeterminado 0.5). Un valor más alto significa menos colisiones, pero una entrega más lenta.",
|
|
"repeater_directTxDelay": "Retraso TX directo",
|
|
"repeater_directTxDelayHelper": "Reenvío de espacios para el tráfico directo (no masivo), como un multiplicador del tiempo de transmisión del paquete (0-2, valor predeterminado 0.3).",
|
|
"repeater_intThresh": "Límite de interferencia",
|
|
"repeater_intThreshHelper": "Se establece un umbral para la calibración del nivel de ruido de la radio, de modo que rechaza las interferencias que superen este nivel. 0 deshabilita: solo aumente este valor si observa errores en una banda de frecuencia con mucho ruido.",
|
|
"repeater_agcResetInterval": "Intervalo de reinicio de AGC",
|
|
"repeater_agcResetIntervalHelper": "¿Con qué frecuencia se debe restablecer el control automático de ganancia del radio para recuperarse de un estado de ganancia bloqueada? Se puede restablecer cada pocos segundos o cada 4 segundos. Desactiva la función de restablecimiento periódico.",
|
|
"repeater_actionsTitle": "Acciones",
|
|
"repeater_sendAdvert": "Enviar anuncio por inundación",
|
|
"repeater_sendAdvertSubtitle": "Transmitir un anuncio por inundación a través de la red.",
|
|
"repeater_sendAdvertZeroHop": "Enviar anuncio sin saltos",
|
|
"repeater_sendAdvertZeroHopSubtitle": "Transmite un anuncio de un solo salto (sin retransmisiones).",
|
|
"repeater_clockSync": "Sincronizar reloj ahora",
|
|
"repeater_clockSyncSubtitle": "Envía la hora de tu teléfono al repetidor.",
|
|
"repeater_actionSucceeded": "{action} completado correctamente",
|
|
"@repeater_actionSucceeded": {
|
|
"placeholders": {
|
|
"action": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"repeater_actionFailed": "Error en {action}: {error}",
|
|
"@repeater_actionFailed": {
|
|
"placeholders": {
|
|
"action": {
|
|
"type": "String"
|
|
},
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"repeater_settingsSavedRebootNeeded": "Configuración guardada — reinicie el repetidor para aplicar los cambios.",
|
|
"repeater_settingsPartialFailure": "Algunas configuraciones no se pudieron aplicar: {failures}",
|
|
"@repeater_settingsPartialFailure": {
|
|
"placeholders": {
|
|
"failures": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"repeater_errorSavingSettings": "Error al guardar la configuración: {error}",
|
|
"@repeater_errorSavingSettings": {
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"repeater_refreshBasicSettings": "Actualizar Configuración Básica",
|
|
"repeater_refreshRadioSettings": "Actualizar Ajustes de Radio",
|
|
"repeater_refreshTxPower": "Actualizar TX de energía",
|
|
"repeater_refreshPacketForwarding": "Actualizar Enrutamiento de Paquetes",
|
|
"repeater_refreshGuestAccess": "Actualizar Acceso Invitados",
|
|
"repeater_refreshPrivacyMode": "Actualizar Modo Privacidad",
|
|
"repeater_refreshed": "{label} actualizado",
|
|
"@repeater_refreshed": {
|
|
"placeholders": {
|
|
"label": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"repeater_errorRefreshing": "Error al refrescar {label}",
|
|
"@repeater_errorRefreshing": {
|
|
"placeholders": {
|
|
"label": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"repeater_cliTitle": "Repetidor CLI",
|
|
"repeater_debugNextCommand": "Siguiente Comando de Depuración",
|
|
"repeater_commandHelp": "Ayuda",
|
|
"repeater_clearHistory": "Borrar historial",
|
|
"repeater_noCommandsSent": "Aún no se han enviado comandos.",
|
|
"repeater_typeCommandOrUseQuick": "Escriba un comando a continuación o use comandos rápidos",
|
|
"repeater_enterCommandHint": "Escribir comando...",
|
|
"repeater_previousCommand": "Comando anterior",
|
|
"repeater_nextCommand": "Siguiente comando",
|
|
"repeater_enterCommandFirst": "Escriba un comando primero",
|
|
"repeater_cliCommandFrameTitle": "Marco de Comando CLI",
|
|
"repeater_cliCommandError": "Error: {error}",
|
|
"@repeater_cliCommandError": {
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"repeater_cliQuickGetName": "Obtener Nombre",
|
|
"repeater_cliQuickGetRadio": "Obtener Radio",
|
|
"repeater_cliQuickGetTx": "Obtener TX",
|
|
"repeater_cliQuickNeighbors": "Vecinos",
|
|
"repeater_cliQuickVersion": "Versión",
|
|
"repeater_cliQuickAdvertise": "Anunciar",
|
|
"repeater_cliQuickClock": "Reloj",
|
|
"repeater_cliHelpAdvert": "Envía un paquete de publicidad",
|
|
"repeater_cliHelpReboot": "Reinicia el dispositivo. (ten en cuenta, es normal que aparezca 'Timeout')",
|
|
"repeater_cliHelpClock": "Muestra la hora actual según el reloj del dispositivo.",
|
|
"repeater_cliHelpPassword": "Establece una nueva contraseña de administrador para el dispositivo.",
|
|
"repeater_cliHelpVersion": "Muestra la versión del dispositivo y la fecha de compilación del firmware.",
|
|
"repeater_cliHelpClearStats": "Reinicia varios contadores de estadísticas a cero.",
|
|
"repeater_cliHelpSetAf": "Establece el factor de tiempo de aire.",
|
|
"repeater_cliHelpSetTx": "Establece la potencia de transmisión LoRa en dBm (reboot para aplicar).",
|
|
"repeater_cliHelpSetRepeat": "Habilita o deshabilita el rol del repetidor para este nodo.",
|
|
"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).",
|
|
"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).",
|
|
"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.",
|
|
"repeater_cliHelpSetAgcResetInterval": "Establece el intervalo para restablecer el Control Automático de Ganancia. Establecer en 0 para desactivarlo.",
|
|
"repeater_cliHelpSetMultiAcks": "Habilita o deshabilita la función de 'ACKs dobles'.",
|
|
"repeater_cliHelpSetAdvertInterval": "Establece el intervalo del temporizador en minutos para enviar un paquete de anuncio local (sin salto). Establecer en 0 para desactivarlo.",
|
|
"repeater_cliHelpSetFloodAdvertInterval": "Establece el intervalo del temporizador en horas para enviar un paquete de anuncio masivo. Establecer en 0 para desactivarlo.",
|
|
"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\")",
|
|
"repeater_cliHelpSetName": "Establece el nombre del anuncio.",
|
|
"repeater_cliHelpSetLat": "Establece la latitud del mapa de publicidad. (grados decimales)",
|
|
"repeater_cliHelpSetLon": "Establece la longitud del mapa de la publicidad. (grados decimales)",
|
|
"repeater_cliHelpSetRadio": "Establece parámetros de radio completamente nuevos y los guarda en las preferencias. Requiere un comando \"reboot\" para aplicarlos.",
|
|
"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.",
|
|
"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).",
|
|
"repeater_cliHelpSetDirectTxDelay": "Igual que txdelay, pero para aplicar un retraso aleatorio a la transferencia de paquetes en modo directo.",
|
|
"repeater_cliHelpSetBridgeEnabled": "Habilitar/Deshabilitar puente.",
|
|
"repeater_cliHelpSetBridgeDelay": "Establecer retraso antes de retransmitir paquetes.",
|
|
"repeater_cliHelpSetBridgeSource": "Elige si el puente retransmitirá paquetes recibidos o paquetes transmitidos.",
|
|
"repeater_cliHelpSetBridgeBaud": "Establecer la velocidad de baudios del enlace serial para los puentes rs232.",
|
|
"repeater_cliHelpSetBridgeSecret": "Establecer secreto de puente para puentes espnow.",
|
|
"repeater_cliHelpSetAdcMultiplier": "Establece un factor personalizado para ajustar el voltaje de la batería reportado (solo soportado en selectas placas).",
|
|
"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).",
|
|
"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).",
|
|
"repeater_cliHelpGetBridgeType": "Obtiene tipo de puente ninguno, rs232, espnow",
|
|
"repeater_cliHelpLogStart": "Inicia el registro de paquetes en el sistema de archivos.",
|
|
"repeater_cliHelpLogStop": "Detener el registro de paquetes al sistema de archivos.",
|
|
"repeater_cliHelpLogErase": "Elimina los registros del paquete del sistema de archivos.",
|
|
"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",
|
|
"repeater_cliHelpNeighborRemove": "Elimina la primera entrada coincidente (por prefijo de pubkey (hex)) de la lista de vecinos.",
|
|
"repeater_cliHelpRegion": "(solo serie) Lista todas las regiones definidas y los permisos de inundación actuales.",
|
|
"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.",
|
|
"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'\"",
|
|
"repeater_cliHelpRegionPut": "Agrega o actualiza una definición de región con el nombre dado.",
|
|
"repeater_cliHelpRegionRemove": "Elimina una definición de región con el nombre dado. (debe coincidir exactamente y no tener regiones hijas)",
|
|
"repeater_cliHelpRegionAllowf": "Establece el permiso de 'F'lujo para la región dada. ('' para el ámbito global/legado)",
|
|
"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!!)",
|
|
"repeater_cliHelpRegionHome": "Responde con la región 'home' actual. (Aún no se ha aplicado en ninguna parte, reservado para el futuro).",
|
|
"repeater_cliHelpRegionHomeSet": "Establece la región 'hogar'.",
|
|
"repeater_cliHelpRegionSave": "Persiste la lista/mapa de regiones al almacenamiento.",
|
|
"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.",
|
|
"repeater_cliHelpGpsOnOff": "Activa o desactiva el modo GPS.",
|
|
"repeater_cliHelpGpsSync": "Sincroniza la hora del nodo con el reloj GPS.",
|
|
"repeater_cliHelpGpsSetLoc": "Establece la posición del nodo a las coordenadas GPS y guarda las preferencias.",
|
|
"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",
|
|
"repeater_cliHelpGpsAdvertSet": "Configura la configuración de la publicidad de la ubicación.",
|
|
"repeater_commandsListTitle": "Lista de comandos",
|
|
"repeater_commandsListNote": "NOTA: para los diversos comandos \"set...\", también existe un comando \"get...\".",
|
|
"repeater_general": "General",
|
|
"repeater_settingsCategory": "Configuración",
|
|
"repeater_bridge": "Puente",
|
|
"repeater_logging": "Registrando",
|
|
"repeater_neighborsRepeaterOnly": "Vecinos (solo repetidor)",
|
|
"repeater_regionManagementRepeaterOnly": "Gestión de Regiones (solo Repetidor)",
|
|
"repeater_regionNote": "Se han introducido los comandos de región para gestionar las definiciones y permisos de la región.",
|
|
"repeater_gpsManagement": "Gestión de GPS",
|
|
"repeater_gpsNote": "Se ha introducido un comando GPS para gestionar temas relacionados con la ubicación.",
|
|
"telemetry_receivedData": "Datos de Telemetría Recibidos",
|
|
"telemetry_requestTimeout": "Solicitud de telemetría ha expirado.",
|
|
"telemetry_errorLoading": "Error al cargar la telemetría: {error}",
|
|
"@telemetry_errorLoading": {
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_digitalInputLabel": "Entrada digital",
|
|
"telemetry_digitalOutputLabel": "Salida digital",
|
|
"telemetry_analogInputLabel": "Entrada analógica",
|
|
"telemetry_analogOutputLabel": "Salida analógica",
|
|
"telemetry_genericLabel": "Sensor genérico",
|
|
"telemetry_luminosityLabel": "Luminosidad",
|
|
"telemetry_presenceLabel": "Presencia",
|
|
"telemetry_humidityLabel": "Humedad",
|
|
"telemetry_accelerometerLabel": "Acelerómetro",
|
|
"telemetry_pressureLabel": "Presión",
|
|
"telemetry_altitudeLabel": "Altitud",
|
|
"telemetry_frequencyLabel": "Frecuencia",
|
|
"telemetry_percentageLabel": "Porcentaje",
|
|
"telemetry_concentrationLabel": "Concentración",
|
|
"telemetry_powerLabel": "Potencia",
|
|
"telemetry_distanceLabel": "Distancia",
|
|
"telemetry_energyLabel": "Energía",
|
|
"telemetry_directionLabel": "Dirección",
|
|
"telemetry_timeLabel": "Hora",
|
|
"telemetry_gyrometerLabel": "Giroscopio",
|
|
"telemetry_colourLabel": "Color",
|
|
"telemetry_gpsLabel": "GPS",
|
|
"telemetry_switchLabel": "Interruptor",
|
|
"telemetry_polylineLabel": "Polilínea",
|
|
"telemetry_altitudeValue": "{meters} m",
|
|
"@telemetry_altitudeValue": {
|
|
"placeholders": {
|
|
"meters": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_frequencyValue": "{hertz} Hz",
|
|
"@telemetry_frequencyValue": {
|
|
"placeholders": {
|
|
"hertz": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_pressureValue": "{hpa} hPa",
|
|
"@telemetry_pressureValue": {
|
|
"placeholders": {
|
|
"hpa": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_luminosityValue": "{lux} lx",
|
|
"@telemetry_luminosityValue": {
|
|
"placeholders": {
|
|
"lux": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_powerValue": "{watts} W",
|
|
"@telemetry_powerValue": {
|
|
"placeholders": {
|
|
"watts": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_distanceValue": "{meters} m",
|
|
"@telemetry_distanceValue": {
|
|
"placeholders": {
|
|
"meters": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_energyValue": "{kilowattHours} kWh",
|
|
"@telemetry_energyValue": {
|
|
"placeholders": {
|
|
"kilowattHours": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_directionValue": "{degrees}°",
|
|
"@telemetry_directionValue": {
|
|
"placeholders": {
|
|
"degrees": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_concentrationValue": "{ppm} ppm",
|
|
"@telemetry_concentrationValue": {
|
|
"placeholders": {
|
|
"ppm": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_percentageValue": "{percent}%",
|
|
"@telemetry_percentageValue": {
|
|
"placeholders": {
|
|
"percent": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_analogValue": "{value}",
|
|
"@telemetry_analogValue": {
|
|
"placeholders": {
|
|
"value": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_autoFetchQuantity": "Número de solicitudes",
|
|
"telemetry_error": "No se pudieron obtener los datos",
|
|
"telemetry_noData": "No hay datos de telemetría disponibles.",
|
|
"telemetry_channelTitle": "Canal {channel}",
|
|
"@telemetry_channelTitle": {
|
|
"placeholders": {
|
|
"channel": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_batteryLabel": "Batería",
|
|
"telemetry_voltageLabel": "Voltaje",
|
|
"telemetry_mcuTemperatureLabel": "Temperatura del MCU",
|
|
"telemetry_temperatureLabel": "Temperatura",
|
|
"telemetry_currentLabel": "Corriente",
|
|
"telemetry_batteryValue": "{percent}% / {volts}V",
|
|
"@telemetry_batteryValue": {
|
|
"placeholders": {
|
|
"percent": {
|
|
"type": "int"
|
|
},
|
|
"volts": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_voltageValue": "{volts}V",
|
|
"@telemetry_voltageValue": {
|
|
"placeholders": {
|
|
"volts": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_currentValue": "{amps}A",
|
|
"@telemetry_currentValue": {
|
|
"placeholders": {
|
|
"amps": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F",
|
|
"@telemetry_temperatureValue": {
|
|
"placeholders": {
|
|
"celsius": {
|
|
"type": "String"
|
|
},
|
|
"fahrenheit": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"channelPath_title": "Ruta del paquete",
|
|
"channelPath_viewMap": "Ver mapa",
|
|
"channelPath_otherObservedPaths": "Otras rutas observadas",
|
|
"channelPath_repeaterHops": "Saltos del repetidor",
|
|
"channelPath_noHopDetails": "Los detalles del paquete no están disponibles.",
|
|
"channelPath_messageDetails": "Detalles del mensaje",
|
|
"channelPath_senderLabel": "Remitente",
|
|
"channelPath_timeLabel": "Hora",
|
|
"channelPath_repeatsLabel": "Repetir",
|
|
"channelPath_pathLabel": "Ruta {index}",
|
|
"channelPath_observedLabel": "Observado",
|
|
"channelPath_observedPathTitle": "Ruta observada {index} • {hops}",
|
|
"@channelPath_observedPathTitle": {
|
|
"placeholders": {
|
|
"index": {
|
|
"type": "int"
|
|
},
|
|
"hops": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"channelPath_noLocationData": "No datos de ubicación",
|
|
"channelPath_timeWithDate": "{day}/{month} a las {time}",
|
|
"@channelPath_timeWithDate": {
|
|
"placeholders": {
|
|
"day": {
|
|
"type": "int"
|
|
},
|
|
"month": {
|
|
"type": "int"
|
|
},
|
|
"time": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"channelPath_timeOnly": "{time}",
|
|
"@channelPath_timeOnly": {
|
|
"placeholders": {
|
|
"time": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"channelPath_unknownPath": "Desconocido",
|
|
"channelPath_floodPath": "Inundación",
|
|
"channelPath_directPath": "Guardar",
|
|
"channelPath_observedZeroOf": "0 de {total} saltos",
|
|
"@channelPath_observedZeroOf": {
|
|
"placeholders": {
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"channelPath_observedSomeOf": "{observed} de {total} saltos",
|
|
"@channelPath_observedSomeOf": {
|
|
"placeholders": {
|
|
"observed": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"channelPath_mapTitle": "Mapa de Rutas",
|
|
"channelPath_noRepeaterLocations": "No hay ubicaciones disponibles para el repetidor en esta ruta.",
|
|
"channelPath_primaryPath": "Ruta {index} (Principal)",
|
|
"@channelPath_primaryPath": {
|
|
"placeholders": {
|
|
"index": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"@channelPath_pathLabel": {
|
|
"placeholders": {
|
|
"index": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"channelPath_pathLabelTitle": "Ruta",
|
|
"channelPath_observedPathHeader": "Ruta Observada",
|
|
"channelPath_selectedPathLabel": "{label} • {prefixes}",
|
|
"@channelPath_selectedPathLabel": {
|
|
"placeholders": {
|
|
"label": {
|
|
"type": "String"
|
|
},
|
|
"prefixes": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"channelPath_noHopDetailsAvailable": "No hay detalles de salto disponibles para este paquete.",
|
|
"channelPath_unknownRepeater": "Repetidor Desconocido",
|
|
"listFilter_tooltip": "Filtrar y ordenar",
|
|
"listFilter_sortBy": "Ordenar por",
|
|
"listFilter_latestMessages": "Últimos mensajes",
|
|
"listFilter_heardRecently": "Escuchado recientemente",
|
|
"listFilter_az": "De la A a la Z",
|
|
"listFilter_filters": "Filtros",
|
|
"listFilter_all": "Todas",
|
|
"listFilter_users": "Usuarios",
|
|
"listFilter_repeaters": "Repetidores",
|
|
"listFilter_roomServers": "Servidores de la sala",
|
|
"listFilter_unreadOnly": "Solo sin leer",
|
|
"listFilter_newGroup": "Nuevo grupo",
|
|
"@neighbors_errorLoading": {
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"repeater_neighbors": "Vecinos",
|
|
"repeater_neighborsSubtitle": "Ver vecinos de salto cero.",
|
|
"neighbors_receivedData": "Recibidas Datos de Vecinos",
|
|
"neighbors_requestTimedOut": "Los vecinos solicitan que se desconecte.",
|
|
"neighbors_errorLoading": "Error al cargar vecinos: {error}",
|
|
"neighbors_repeatersNeighbors": "Repetidores Vecinos",
|
|
"neighbors_noData": "No hay datos de vecinos disponibles.",
|
|
"channels_joinPrivateChannel": "Únete a un Canal Privado",
|
|
"channels_createPrivateChannel": "Crear un Canal Privado",
|
|
"channels_createPrivateChannelDesc": "Cifrado con una clave secreta.",
|
|
"channels_joinPrivateChannelDesc": "Introducir manualmente una clave secreta.",
|
|
"channels_joinPublicChannel": "Únete al Canal Público",
|
|
"channels_joinPublicChannelDesc": "Cualquiera puede unirse a este canal.",
|
|
"channels_joinHashtagChannel": "Únete a un Canal con Hashtag",
|
|
"channels_joinHashtagChannelDesc": "Cualquiera puede unirse a los canales de hashtag.",
|
|
"channels_scanQrCode": "Escanear un Código QR",
|
|
"channels_scanQrCodeComingSoon": "Próximamente",
|
|
"channels_enterHashtag": "Introducir hashtag",
|
|
"channels_hashtagHint": "ej. #equipo",
|
|
"@neighbors_unknownContact": {
|
|
"placeholders": {
|
|
"pubkey": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@neighbors_heardAgo": {
|
|
"placeholders": {
|
|
"time": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"neighbors_unknownContact": "Clave pública desconocida {pubkey}",
|
|
"neighbors_heardAgo": "Escuchado hace {time}",
|
|
"settings_locationGPSEnable": "Habilitar GPS",
|
|
"settings_locationGPSEnableSubtitle": "Habilita la actualización automática de la ubicación mediante GPS.",
|
|
"settings_locationIntervalSec": "Intervalo para GPS (Segundos)",
|
|
"settings_locationIntervalInvalid": "El intervalo debe ser de al menos 60 segundos y menor que 86400 segundos.",
|
|
"contacts_manageRoom": "Gestionar servidor de sala",
|
|
"room_management": "Administración del servidor de sala",
|
|
"@community_joinConfirmation": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@community_created": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@community_joined": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@community_qrInstructions": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@community_alreadyMemberMessage": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@community_deleteConfirm": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@community_deleted": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@community_forCommunity": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"community_create": "Crear Comunidad",
|
|
"community_createDesc": "Crear una nueva comunidad y compartir a través de código QR.",
|
|
"community_title": "Comunidad",
|
|
"community_join": "Únete",
|
|
"community_joinTitle": "Únete a la comunidad",
|
|
"community_joinConfirmation": "¿Quieres unirte a la comunidad \"{name}\"?",
|
|
"community_scanQr": "Escanear Código QR de la Comunidad",
|
|
"community_scanInstructions": "Apunte la cámara a un código QR de la comunidad",
|
|
"community_showQr": "Mostrar Código QR",
|
|
"community_publicChannel": "Comunidad Pública",
|
|
"community_hashtagChannel": "Hashtag de la Comunidad",
|
|
"community_name": "Nombre de la comunidad",
|
|
"common_ok": "Aceptar",
|
|
"community_enterName": "Introducir nombre de comunidad",
|
|
"community_created": "Comunidad \"{name}\" creada",
|
|
"community_joined": "Se unió a la comunidad \"{name}\"",
|
|
"community_qrTitle": "Compartir Comunidad",
|
|
"community_qrInstructions": "Escanear este código QR para unirte a {name}",
|
|
"community_hashtagPrivacyHint": "Los canales de hashtag de la comunidad solo son accesibles para los miembros de la comunidad",
|
|
"community_invalidQrCode": "Código QR de comunidad no válido",
|
|
"community_alreadyMember": "Ya eres Miembro",
|
|
"community_alreadyMemberMessage": "Ya eres miembro de \"{name}\".",
|
|
"community_addPublicChannel": "Añadir Canal Público de la Comunidad",
|
|
"community_addPublicChannelHint": "Añade automáticamente el canal público para esta comunidad.",
|
|
"community_noCommunities": "Aún no se han unido comunidades.",
|
|
"community_scanOrCreate": "Escanear un código QR o crear una comunidad para comenzar",
|
|
"community_manageCommunities": "Gestionar Comunidades",
|
|
"community_delete": "Salir de la Comunidad",
|
|
"community_deleteConfirm": "¿Salir de \"{name}\"?",
|
|
"community_deleteChannelsWarning": "Esto también eliminará {count} canal(es) y sus mensajes.",
|
|
"@community_deleteChannelsWarning": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"community_deleted": "Has salido de la comunidad \"{name}\"",
|
|
"community_addHashtagChannel": "Añadir Hashtag de la Comunidad",
|
|
"community_addHashtagChannelDesc": "Añadir un canal con hashtag para esta comunidad",
|
|
"community_selectCommunity": "Seleccionar Comunidad",
|
|
"community_regularHashtag": "Etiqueta de Hashtag Regular",
|
|
"community_regularHashtagDesc": "Hashtag público (cualquiera puede unirse)",
|
|
"community_communityHashtag": "Hashtag de la Comunidad",
|
|
"community_communityHashtagDesc": "Exclusivo para miembros de la comunidad",
|
|
"community_forCommunity": "Para {name}",
|
|
"@community_regenerateSecretConfirm": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@community_secretRegenerated": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@community_secretUpdated": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@community_scanToUpdateSecret": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"community_regenerateSecret": "Regenerar Contraseña Secreta",
|
|
"community_regenerateSecretConfirm": "Regenerar la clave secreta para \"{name}\"? Todos los miembros deberán escanear el nuevo código QR para seguir comunicándose.",
|
|
"community_secretRegenerated": "Código secreto regenerado para \"{name}\"",
|
|
"community_regenerate": "Regenerar",
|
|
"community_secretUpdated": "Confidencialidad actualizada para \"{name}\"",
|
|
"community_scanToUpdateSecret": "Escanear el nuevo código QR para actualizar el secreto de \"{name}\"",
|
|
"community_updateSecret": "Actualizar Contraseña",
|
|
"@contacts_pathTraceTo": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"pathTrace_you": "Tú",
|
|
"pathTrace_failed": "El trazado de ruta falló.",
|
|
"pathTrace_refreshTooltip": "Actualizar trazado de ruta",
|
|
"contacts_pathTrace": "Traza de ruta",
|
|
"contacts_repeaterPathTrace": "Traza de ruta al repetidor",
|
|
"contacts_repeaterPing": "Hacer ping al repetidor",
|
|
"contacts_ping": "Ping",
|
|
"pathTrace_notAvailable": "El trazado de ruta no está disponible.",
|
|
"contacts_roomPing": "Hacer ping al servidor de sala",
|
|
"contacts_roomPathTrace": "Traza de ruta al servidor de sala",
|
|
"contacts_pathTraceTo": "Traza de ruta a {name}",
|
|
"contacts_chatTraceRoute": "Ruta de trazado",
|
|
"appSettings_languageUk": "Ucraniano",
|
|
"contacts_clipboardEmpty": "El portapapeles está vacío.",
|
|
"appSettings_languageRu": "Ruso",
|
|
"appSettings_enableMessageTracing": "Habilitar seguimiento de mensajes",
|
|
"appSettings_enableMessageTracingSubtitle": "Mostrar metadatos detallados de enrutamiento y tiempo para los mensajes",
|
|
"contacts_invalidAdvertFormat": "Formato de anuncio no válido",
|
|
"contacts_floodAdvert": "Anuncio de inundación",
|
|
"contacts_contactImported": "El contacto ha sido importado.",
|
|
"contacts_contactImportFailed": "Contacto no se importó correctamente.",
|
|
"contacts_zeroHopAdvert": "Anuncio de un solo salto",
|
|
"contacts_ShareContactZeroHop": "Compartir contacto por anuncio de un solo salto",
|
|
"contacts_ShareContact": "Copiar contacto al portapapeles",
|
|
"contacts_copyAdvertToClipboard": "Copiar anuncio al portapapeles",
|
|
"contacts_addContactFromClipboard": "Agregar contacto desde el portapapeles",
|
|
"contacts_zeroHopContactAdvertFailed": "No se pudo enviar el contacto.",
|
|
"contacts_zeroHopContactAdvertSent": "Contacto enviado por anuncio.",
|
|
"contacts_contactAdvertCopied": "Anuncio copiado al portapapeles.",
|
|
"contacts_contactAdvertCopyFailed": "No se pudo copiar el anuncio al portapapeles.",
|
|
"notification_activityTitle": "Actividad de MeshCore",
|
|
"notification_messagesCount": "{count} {count, plural, =1{mensaje} other{mensajes}}",
|
|
"@notification_messagesCount": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notification_channelMessagesCount": "{count} {count, plural, =1{mensaje de canal} other{mensajes de canal}}",
|
|
"@notification_channelMessagesCount": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notification_newNodesCount": "{count} {count, plural, =1{nuevo nodo} other{nuevos nodos}}",
|
|
"@notification_newNodesCount": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"notification_newTypeDiscovered": "Nuevo {contactType} descubierto",
|
|
"@notification_newTypeDiscovered": {
|
|
"placeholders": {
|
|
"contactType": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"notification_receivedNewMessage": "Nuevo mensaje recibido",
|
|
"settings_gpxExportContactsSubtitle": "Exporta compañeros con una ubicación a un archivo GPX.",
|
|
"settings_gpxExportRepeaters": "Exportar repetidores / servidores de sala a GPX",
|
|
"settings_gpxExportSuccess": "Archivo GPX exportado con éxito.",
|
|
"settings_gpxExportNoContacts": "No hay contactos para exportar.",
|
|
"settings_gpxExportNotAvailable": "No compatible con tu dispositivo o sistema operativo",
|
|
"settings_gpxExportError": "Hubo un error al exportar.",
|
|
"settings_gpxExportRepeatersSubtitle": "Exporta repetidores o servidores de sala con una ubicación a un archivo GPX.",
|
|
"settings_gpxExportAllSubtitle": "Exporta todos los contactos con una ubicación a un archivo GPX.",
|
|
"settings_gpxExportAll": "Exportar todos los contactos a GPX",
|
|
"settings_gpxExportContacts": "Exportar compañeros a GPX",
|
|
"settings_gpxExportChat": "Ubicaciones de compañeros",
|
|
"settings_gpxExportRepeatersRoom": "Ubicaciones de repetidores y servidores de sala",
|
|
"settings_gpxExportAllContacts": "Todas las ubicaciones de contactos",
|
|
"settings_gpxExportShareText": "Datos del mapa exportados desde meshcore-open",
|
|
"settings_gpxExportShareSubject": "Exportación GPX de datos de mapa de meshcore-open",
|
|
"pathTrace_someHopsNoLocation": "Uno o más de los saltos carecen de una ubicación",
|
|
"pathTrace_clearTooltip": "Borrar ruta",
|
|
"map_runTrace": "Ejecutar traza de ruta",
|
|
"map_tapToAdd": "Toque los nodos para añadirlos a la ruta.",
|
|
"map_removeLast": "Eliminar último",
|
|
"map_pathTraceCancelled": "Traza de ruta cancelada.",
|
|
"scanner_bluetoothOffMessage": "Por favor, active el Bluetooth para escanear dispositivos.",
|
|
"scanner_chromeRequired": "Navegador Chrome requerido",
|
|
"scanner_chromeRequiredMessage": "Esta aplicación web requiere Google Chrome o un navegador basado en Chromium para el soporte de Bluetooth.",
|
|
"scanner_bluetoothOff": "Bluetooth está desactivado.",
|
|
"scanner_enableBluetooth": "Habilitar Bluetooth",
|
|
"snrIndicator_nearByRepeaters": "Repetidores cercanos",
|
|
"snrIndicator_lastSeen": "Visto por última vez",
|
|
"chat_ShowAllPaths": "Mostrar todas las rutas",
|
|
"settings_clientRepeatFreqWarning": "Para la comunicación fuera de la red, se requiere una frecuencia de 433, 869 o 918 MHz.",
|
|
"settings_clientRepeat": "Repetir sin conexión",
|
|
"settings_clientRepeatSubtitle": "Permita que este dispositivo repita los paquetes de red para otros usuarios.",
|
|
"settings_aboutOpenMeteoAttribution": "Datos de elevación LOS: Open-Meteo (CC BY 4.0)",
|
|
"appSettings_unitsTitle": "Unidades",
|
|
"appSettings_unitsMetric": "Métrico (m/km)",
|
|
"appSettings_unitsImperial": "Imperial (pies/millas)",
|
|
"map_lineOfSight": "Línea de visión",
|
|
"map_losScreenTitle": "Línea de visión",
|
|
"losSelectStartEnd": "Seleccione los nodos de inicio y fin para LOS.",
|
|
"losRunFailed": "Error en la comprobación de la línea de visión: {error}",
|
|
"@losRunFailed": {
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"losClearAllPoints": "Borrar todos los puntos",
|
|
"losRunToViewElevationProfile": "Ejecute LOS para ver el perfil de elevación",
|
|
"losMenuTitle": "Menú LOS",
|
|
"losMenuSubtitle": "Toque nodos o mantenga presionado el mapa para puntos personalizados",
|
|
"losShowDisplayNodes": "Mostrar nodos de visualización",
|
|
"losCustomPoints": "Puntos personalizados",
|
|
"losCustomPointLabel": "Personalizado {index}",
|
|
"@losCustomPointLabel": {
|
|
"placeholders": {
|
|
"index": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"losPointA": "Punto A",
|
|
"losPointB": "Punto B",
|
|
"losAntennaA": "Antena A: {value} {unit}",
|
|
"@losAntennaA": {
|
|
"placeholders": {
|
|
"value": {
|
|
"type": "String"
|
|
},
|
|
"unit": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"losAntennaB": "Antena B: {value} {unit}",
|
|
"@losAntennaB": {
|
|
"placeholders": {
|
|
"value": {
|
|
"type": "String"
|
|
},
|
|
"unit": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"losRun": "Ejecutar LOS",
|
|
"losNoElevationData": "Sin datos de elevación",
|
|
"losProfileClear": "{distance} {distanceUnit}, despejar LOS, autorización mínima {clearance} {heightUnit}",
|
|
"@losProfileClear": {
|
|
"placeholders": {
|
|
"distance": {
|
|
"type": "String"
|
|
},
|
|
"distanceUnit": {
|
|
"type": "String"
|
|
},
|
|
"clearance": {
|
|
"type": "String"
|
|
},
|
|
"heightUnit": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"losProfileBlocked": "{distance} {distanceUnit}, bloqueado por {obstruction} {heightUnit}",
|
|
"@losProfileBlocked": {
|
|
"placeholders": {
|
|
"distance": {
|
|
"type": "String"
|
|
},
|
|
"distanceUnit": {
|
|
"type": "String"
|
|
},
|
|
"obstruction": {
|
|
"type": "String"
|
|
},
|
|
"heightUnit": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"losStatusChecking": "LOS: comprobando...",
|
|
"losStatusNoData": "LOS: sin datos",
|
|
"losStatusSummary": "LOS: {clear}/{total} claro, {blocked} bloqueado, {unknown} desconocido",
|
|
"@losStatusSummary": {
|
|
"placeholders": {
|
|
"clear": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
},
|
|
"blocked": {
|
|
"type": "int"
|
|
},
|
|
"unknown": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"losErrorElevationUnavailable": "Datos de elevación no disponibles para una o más muestras.",
|
|
"losErrorInvalidInput": "Datos de puntos/elevación no válidos para el cálculo de LOS.",
|
|
"losRenameCustomPoint": "Cambiar el nombre del punto personalizado",
|
|
"losPointName": "Nombre del punto",
|
|
"losShowPanelTooltip": "Mostrar panel LOS",
|
|
"losHidePanelTooltip": "Ocultar panel LOS",
|
|
"losElevationAttribution": "Datos de elevación: Open-Meteo (CC BY 4.0)",
|
|
"losLegendRadioHorizon": "Horizonte radioeléctrico",
|
|
"losLegendLosBeam": "Línea de visión",
|
|
"losLegendTerrain": "Terreno",
|
|
"losFrequencyLabel": "Frecuencia",
|
|
"losFrequencyInfoTooltip": "Ver detalles del cálculo",
|
|
"losFrequencyDialogTitle": "Cálculo del horizonte radioeléctrico",
|
|
"losFrequencyDialogDescription": "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.",
|
|
"@losFrequencyDialogDescription": {
|
|
"description": "Explain how the calculation uses the baseline frequency and derived k-factor.",
|
|
"placeholders": {
|
|
"baselineK": {
|
|
"type": "double"
|
|
},
|
|
"baselineFreq": {
|
|
"type": "double"
|
|
},
|
|
"frequencyMHz": {
|
|
"type": "double"
|
|
},
|
|
"kFactor": {
|
|
"type": "double"
|
|
}
|
|
}
|
|
},
|
|
"listFilter_favorites": "Favoritos",
|
|
"listFilter_removeFromFavorites": "Eliminar de las favoritas",
|
|
"listFilter_addToFavorites": "Añadir a favoritos",
|
|
"@contacts_searchFavorites": {
|
|
"placeholders": {
|
|
"number": {
|
|
"type": "int"
|
|
},
|
|
"str": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@contacts_searchUsers": {
|
|
"placeholders": {
|
|
"number": {
|
|
"type": "int"
|
|
},
|
|
"str": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@contacts_searchRepeaters": {
|
|
"placeholders": {
|
|
"number": {
|
|
"type": "int"
|
|
},
|
|
"str": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@contacts_searchRoomServers": {
|
|
"placeholders": {
|
|
"number": {
|
|
"type": "int"
|
|
},
|
|
"str": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"contacts_searchContactsNoNumber": "Buscar contactos...",
|
|
"contacts_unread": "No leído",
|
|
"contacts_searchFavorites": "Buscar {number}{str} favoritos...",
|
|
"contacts_searchUsers": "Buscar {number}{str} usuarios...",
|
|
"contacts_searchRepeaters": "Buscar {number}{str} repetidores...",
|
|
"contacts_searchRoomServers": "Buscar {number}{str} servidores de sala...",
|
|
"contactsSettings_autoAddTitle": "Detección automática",
|
|
"settings_contactSettings": "Configuración de contacto",
|
|
"contactsSettings_autoAddUsersTitle": "Agregar usuarios automáticamente",
|
|
"contactsSettings_otherTitle": "Otras configuraciones relacionadas con el contacto",
|
|
"contactsSettings_autoAddUsersSubtitle": "Permitir que el compañero agregue automáticamente a los usuarios descubiertos.",
|
|
"contactsSettings_autoAddRepeatersSubtitle": "Permitir que el compañero agregue automáticamente los repetidores descubiertos.",
|
|
"contactsSettings_autoAddRoomServersSubtitle": "Permitir que el compañero agregue automáticamente los servidores de salas descubiertos.",
|
|
"contactsSettings_autoAddSensorsTitle": "Agregar sensores automáticamente",
|
|
"contactsSettings_title": "Configuración de contactos",
|
|
"settings_contactSettingsSubtitle": "Configuración de cómo se agregan los contactos.",
|
|
"contactsSettings_autoAddSensorsSubtitle": "Permitir que el compañero agregue automáticamente los sensores descubiertos.",
|
|
"contactsSettings_autoAddRepeatersTitle": "Agregar repetidores automáticamente",
|
|
"contactsSettings_overwriteOldestTitle": "Sobreescribir el más antiguo",
|
|
"contactsSettings_autoAddRoomServersTitle": "Agregar automáticamente servidores de sala",
|
|
"discoveredContacts_noMatching": "No se encontraron contactos coincidentes",
|
|
"discoveredContacts_contactAdded": "Contacto agregado",
|
|
"discoveredContacts_copyContact": "Copiar contacto al portapapeles",
|
|
"discoveredContacts_deleteContact": "Eliminar contacto",
|
|
"discoveredContacts_Title": "Contactos descubiertos",
|
|
"discoveredContacts_searchHint": "Buscar contactos descubiertos",
|
|
"discoveredContacts_addContact": "Agregar contacto",
|
|
"contactsSettings_overwriteOldestSubtitle": "Cuando la lista de contactos esté llena, se reemplazará el contacto no favorito más antiguo.",
|
|
"common_deleteAll": "Eliminar todo",
|
|
"discoveredContacts_deleteContactAll": "Eliminar Todos los Contactos Descubiertos",
|
|
"discoveredContacts_deleteContactAllContent": "¿Está seguro de que desea eliminar todos los contactos descubiertos!",
|
|
"map_guessedLocation": "Ubicación estimada",
|
|
"map_showGuessedLocations": "Mostrar las ubicaciones estimadas de los nodos.",
|
|
"usbScreenTitle": "Conecte mediante USB",
|
|
"connectionChoiceUsbLabel": "USB",
|
|
"connectionChoiceBluetoothLabel": "Bluetooth",
|
|
"usbScreenSubtitle": "Seleccione el dispositivo de serie detectado y conéctelo directamente a su nodo MeshCore.",
|
|
"usbScreenStatus": "Seleccione un dispositivo USB",
|
|
"usbScreenNote": "La comunicación serial a través de USB está activa en dispositivos Android compatibles y en plataformas de escritorio.",
|
|
"usbScreenEmptyState": "No se encontraron dispositivos USB. Conecte uno y vuelva a intentar.",
|
|
"usbErrorPermissionDenied": "Se denegó el permiso de acceso a través de USB.",
|
|
"usbErrorDeviceMissing": "El dispositivo USB seleccionado ya no está disponible.",
|
|
"usbErrorInvalidPort": "Seleccione un dispositivo USB válido.",
|
|
"usbErrorBusy": "Ya se ha iniciado una solicitud de conexión USB adicional.",
|
|
"usbErrorNotConnected": "No hay ningún dispositivo USB conectado.",
|
|
"usbErrorOpenFailed": "No se pudo abrir el dispositivo USB seleccionado.",
|
|
"usbErrorConnectFailed": "No se pudo conectar con el dispositivo USB seleccionado.",
|
|
"usbErrorUnsupported": "La comunicación serial a través de USB no está soportada en esta plataforma.",
|
|
"usbErrorAlreadyActive": "La conexión USB ya está activa.",
|
|
"usbErrorNoDeviceSelected": "No se ha seleccionado ningún dispositivo USB.",
|
|
"usbErrorPortClosed": "La conexión USB no está activa.",
|
|
"usbFallbackDeviceName": "Dispositivo de serie web",
|
|
"@usbConnectionFailed": {
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"usbStatus_connecting": "Conectándose al dispositivo USB...",
|
|
"usbStatus_searching": "Buscando dispositivos USB...",
|
|
"usbStatus_notConnected": "Seleccione un dispositivo USB",
|
|
"usbConnectionFailed": "Error al conectar mediante USB: {error}",
|
|
"usbErrorConnectTimedOut": "La conexión ha caducado. Asegúrese de que el dispositivo tenga el firmware USB Companion.",
|
|
"@tcpStatus_connectingTo": {
|
|
"placeholders": {
|
|
"endpoint": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@tcpConnectionFailed": {
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"tcpScreenTitle": "Establecer conexión a través de TCP",
|
|
"connectionChoiceTcpLabel": "TCP",
|
|
"tcpHostHint": "192.168.40.10",
|
|
"tcpHostLabel": "Dirección IP",
|
|
"tcpPortLabel": "Puerto",
|
|
"tcpPortHint": "5000",
|
|
"tcpStatus_notConnected": "Ingrese la dirección final y conecte.",
|
|
"tcpStatus_connectingTo": "Conectándose a {endpoint}...",
|
|
"tcpErrorHostRequired": "Se requiere la dirección IP.",
|
|
"tcpErrorPortInvalid": "El puerto debe estar entre 1 y 65535.",
|
|
"tcpErrorUnsupported": "El protocolo de transporte TCP no está soportado en esta plataforma.",
|
|
"tcpErrorTimedOut": "La conexión TCP ha caducado.",
|
|
"tcpConnectionFailed": "Error en la conexión TCP: {error}",
|
|
"map_showDiscoveryContacts": "Mostrar contactos de descubrimiento",
|
|
"map_setAsMyLocation": "Establecer mi ubicación",
|
|
"@path_routeWeight": {
|
|
"placeholders": {
|
|
"weight": {
|
|
"type": "String"
|
|
},
|
|
"max": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"settings_privacySubtitle": "Controlar qué información se comparte.",
|
|
"settings_allowByContact": "Permitir por banderas de contacto",
|
|
"settings_denyAll": "Denegar todo",
|
|
"settings_telemetryBaseMode": "Modo base de telemetría",
|
|
"settings_telemetryEnvironmentMode": "Modo de entorno de telemetría",
|
|
"settings_advertLocationSubtitle": "Incluir ubicación en anuncio",
|
|
"contact_info": "Información de contacto",
|
|
"settings_privacySettingsDescription": "Elige qué información comparte tu dispositivo con otros.",
|
|
"settings_allowAll": "Permitir todo",
|
|
"settings_privacy": "Configuración de privacidad",
|
|
"contact_settings": "Configuración de contacto",
|
|
"settings_telemetryLocationMode": "Modo de ubicación de telemetría",
|
|
"contact_teleBase": "Base de Telemetría",
|
|
"contact_teleLoc": "Ubicación de telemetría",
|
|
"settings_advertLocation": "Ubicación de anuncio",
|
|
"contact_teleLocSubtitle": "Permitir el intercambio de datos de ubicación",
|
|
"contact_clearChat": "Borrar chat",
|
|
"contact_telemetry": "Telemetría",
|
|
"contact_lastSeen": "Visto por última vez",
|
|
"contact_teleBaseSubtitle": "Permitir el intercambio de nivel de batería y telemetría básica",
|
|
"contact_teleEnv": "Entorno de Telemetría",
|
|
"contact_teleEnvSubtitle": "Permitir el intercambio de datos de sensores de entorno",
|
|
"appSettings_initialRouteWeight": "Peso inicial de la ruta",
|
|
"appSettings_maxRouteWeight": "Peso máximo permitido para la ruta",
|
|
"appSettings_initialRouteWeightSubtitle": "Peso inicial para rutas recién descubiertas",
|
|
"appSettings_maxRouteWeightSubtitle": "Peso máximo que una ruta puede acumular gracias a entregas exitosas.",
|
|
"appSettings_routeWeightSuccessIncrement": "Incremento de peso para el éxito",
|
|
"appSettings_routeWeightSuccessIncrementSubtitle": "Peso añadido a una ruta después de una entrega exitosa.",
|
|
"appSettings_routeWeightFailureDecrement": "Reducción del peso asociado al fallo",
|
|
"appSettings_routeWeightFailureDecrementSubtitle": "Peso retirado de una ruta después de un intento de entrega fallido.",
|
|
"appSettings_maxMessageRetries": "Número máximo de reintentos de envío de mensajes",
|
|
"appSettings_maxMessageRetriesSubtitle": "Número de intentos de reintento antes de marcar un mensaje como fallido.",
|
|
"path_routeWeight": "{weight}/{max}",
|
|
"settings_telemetryModeUpdated": "Modo de telemetría actualizado",
|
|
"settings_multiAck": "Múltiples respuestas de confirmación",
|
|
"map_showOverlaps": "Superposiciones de tecla repetidora",
|
|
"map_runTraceWithReturnPath": "Volver por la misma ruta.",
|
|
"@radioStats_noiseFloor": {
|
|
"placeholders": {
|
|
"noiseDbm": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"@radioStats_lastRssi": {
|
|
"placeholders": {
|
|
"rssiDbm": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"@radioStats_lastSnr": {
|
|
"placeholders": {
|
|
"snr": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@radioStats_txAir": {
|
|
"placeholders": {
|
|
"seconds": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"@radioStats_rxAir": {
|
|
"placeholders": {
|
|
"seconds": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"@radioStats_stripNoise": {
|
|
"placeholders": {
|
|
"noiseDbm": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"appSettings_jumpToOldestUnread": "Salta a los mensajes más antiguos sin leer",
|
|
"chat_sendCooldown": "Por favor, espere un momento antes de reenviar.",
|
|
"appSettings_languageHu": "Húngaro",
|
|
"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.",
|
|
"appSettings_languageJa": "Japonés",
|
|
"appSettings_languageKo": "Coreano",
|
|
"radioStats_tooltip": "Estadísticas de radio y malla",
|
|
"radioStats_screenTitle": "Estadísticas de radio",
|
|
"radioStats_notConnected": "Conéctese a un dispositivo para visualizar estadísticas de radio.",
|
|
"radioStats_firmwareTooOld": "Las estadísticas de radio requieren un firmware compatible v8 o posterior.",
|
|
"radioStats_waiting": "Esperando datos…",
|
|
"radioStats_noiseFloor": "Nivel de ruido: {noiseDbm} dBm",
|
|
"radioStats_lastRssi": "Último RSSI: {rssiDbm} dBm",
|
|
"radioStats_lastSnr": "Último SNR: {snr} dB",
|
|
"radioStats_txAir": "Tiempo de emisión en Texas (total): {seconds} s",
|
|
"radioStats_rxAir": "Tiempo de transmisión de RX (total): {seconds} s",
|
|
"radioStats_chartCaption": "Nivel de ruido (dBm) en muestras recientes.",
|
|
"radioStats_stripNoise": "Nivel de ruido: {noiseDbm} dBm",
|
|
"radioStats_stripWaiting": "Obteniendo estadísticas de la radio…",
|
|
"radioStats_settingsTile": "Estadísticas de radio",
|
|
"radioStats_settingsSubtitle": "Nivel de ruido, RSSI, SNR y tiempo de transmisión",
|
|
"@translation_downloadFailed": {
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"translation_title": "Traducción",
|
|
"translation_enableSubtitle": "Traducir los mensajes entrantes y permitir la traducción previa al envío.",
|
|
"translation_enableTitle": "Habilitar la traducción",
|
|
"translation_composerTitle": "Traducir antes de enviar",
|
|
"translation_composerSubtitle": "Controla el estado predeterminado del icono de traducción del compositor.",
|
|
"translation_autoIncomingTitle": "Traducir mensajes automáticamente",
|
|
"translation_autoIncomingSubtitle": "Traduce mensajes para notificaciones y para chats o canales automáticamente.",
|
|
"translation_translateMessage": "Traducir mensaje",
|
|
"translation_targetLanguage": "Idioma de destino",
|
|
"translation_useAppLanguage": "Utilizar el idioma de la aplicación",
|
|
"translation_downloadedModelLabel": "Modelo descargado",
|
|
"translation_presetModelLabel": "Modelo predefinido de Hugging Face",
|
|
"translation_manualUrlLabel": "URL del modelo manual",
|
|
"translation_downloadModel": "Descargar el modelo",
|
|
"translation_downloading": "Descargando...",
|
|
"translation_working": "Trabajando...",
|
|
"translation_stop": "¡Detente!",
|
|
"translation_mergingChunks": "Combinando los fragmentos descargados en el archivo final...",
|
|
"translation_downloadedModels": "Modelos descargados",
|
|
"translation_deleteModel": "Eliminar modelo",
|
|
"translation_modelDownloaded": "Modelo de traducción descargado.",
|
|
"translation_downloadStopped": "La descarga se ha detenido.",
|
|
"translation_downloadFailed": "No se pudo descargar: {error}",
|
|
"translation_enterUrlFirst": "Primero, introduzca la URL del modelo.",
|
|
"@scanner_linuxPairingPinPrompt": {
|
|
"placeholders": {
|
|
"deviceName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"scanner_linuxPairingPinPrompt": "Introduzca el código PIN para {deviceName} (deje en blanco si no hay ninguno).",
|
|
"scanner_linuxPairingShowPin": "Mostrar código PIN",
|
|
"scanner_linuxPairingPinTitle": "PIN para emparejar dispositivos Bluetooth",
|
|
"scanner_linuxPairingHidePin": "Ocultar PIN",
|
|
"@translation_translateTo": {
|
|
"placeholders": {
|
|
"language": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"translation_composerDisabledHint": "Envía mensajes utilizando el lenguaje escrito original.",
|
|
"translation_composerEnabledHint": "Los mensajes serán traducidos antes de ser enviados.",
|
|
"translation_messageTranslation": "Traducción del mensaje",
|
|
"translation_translateBeforeSending": "Traducir antes de enviar",
|
|
"translation_translateTo": "Traducir a {language}",
|
|
"translation_translationOptions": "Opciones de traducción",
|
|
"translation_systemLanguage": "Idioma del sistema",
|
|
"repeater_cliQuickDiscovery": "Descubrir Vecinos",
|
|
"repeater_cliQuickClockSync": "Sincronización del reloj",
|
|
"@repeater_clockSyncAfterLogin": {
|
|
"description": "Repeater setting: auto sync device clock after successful login"
|
|
},
|
|
"@repeater_clockSyncAfterLoginSubtitle": {
|
|
"description": "Repeater setting subtitle: describes the clock sync after login behavior"
|
|
},
|
|
"repeater_clockSyncAfterLoginSubtitle": "Enviar automáticamente la función de \"sincronización de reloj\" después de un inicio de sesión exitoso.",
|
|
"repeater_clockSyncAfterLogin": "Sincronización del reloj después de iniciar sesión",
|
|
"repeater_guest": "Información sobre repetidores",
|
|
"chat_sendMessage": "Enviar mensaje",
|
|
"repeater_guestTools": "Herramientas para invitados",
|
|
"room_guest": "Información del servidor",
|
|
"repeater_getCategory": "Obtener valores",
|
|
"repeater_powerMgmt": "Gestión de la energía",
|
|
"repeater_sensors": "Sensores",
|
|
"repeater_cliHelpPowerOff": "Apaga el dispositivo. (no se espera respuesta)",
|
|
"repeater_cliHelpClkReboot": "Restablece el reloj a una fecha conocida y reinicia el dispositivo.",
|
|
"repeater_cliHelpAdvertZeroHop": "Envía un anuncio que no requiere saltos (solo para los vecinos inmediatos).",
|
|
"repeater_cliHelpStartOta": "Inicia una actualización de firmware por aire en las placas compatibles.",
|
|
"repeater_cliHelpTime": "Establece la hora del dispositivo en los segundos correspondientes a la época Unix. La hora no puede retroceder.",
|
|
"repeater_cliHelpBoard": "Muestra el fabricante de la placa base / identificador de hardware.",
|
|
"repeater_cliHelpDiscoverNeighbors": "Envía una solicitud de descubrimiento de nodos a los vecinos cercanos. (Solo para repetidores)",
|
|
"repeater_cliHelpPowersaving": "Indica si el modo de ahorro de energía está activado o desactivado.",
|
|
"repeater_cliHelpPowersavingOnOff": "Activa o desactiva el modo de ahorro de energía (si está disponible).",
|
|
"repeater_cliHelpErase": "(Solo para dispositivos) Formatea el sistema de archivos del dispositivo. Elimina todas las configuraciones y contactos.",
|
|
"repeater_cliHelpSetDutyCycle": "Establece el ciclo de transmisión máximo permitido como un porcentaje (1-100). Ajusta internamente el factor de tiempo de aire.",
|
|
"repeater_cliHelpSetPrvKey": "(Solo para series) Reemplaza la clave privada de identificación del dispositivo. Se requiere reiniciar para aplicar. Genera una nueva clave pública.",
|
|
"repeater_cliHelpSetRadioRxGain": "(Solo para SX126x) Activa/desactiva el amplificador de la RX para mejorar la sensibilidad a corrientes más altas.",
|
|
"repeater_cliHelpSetOwnerInfo": "Define la cadena de información de contacto del propietario que se incluye en los anuncios. Utilice '|' para indicar nuevas líneas.",
|
|
"repeater_cliHelpSetPathHashMode": "Establece el modo de hash de la ruta. 0 = antiguo, 1 = estándar, 2 = estricto. Afecta la forma en que se comparan las rutas.",
|
|
"repeater_cliHelpSetLoopDetect": "Establece la sensibilidad para la detección de bucles de enrutamiento: apagado, mínimo, moderado o estricto.",
|
|
"repeater_cliHelpSetFreq": "(Solo para la configuración de frecuencia) Establece rápidamente la frecuencia deseada. Se requiere reiniciar. Se recomienda utilizar la opción \"configurar radio\" para obtener todos los parámetros de la radio.",
|
|
"repeater_cliHelpSetBridgeChannel": "(Solo para el puente ESPNow) Establece el canal de WiFi (1-14) que utiliza el puente.",
|
|
"repeater_cliHelpGetName": "Muestra el nombre del nodo configurado.",
|
|
"repeater_cliHelpGetRole": "Muestra el rol del firmware (Repetidor, Servidor de habitación, etc.).",
|
|
"repeater_cliHelpGetPublicKey": "Muestra la clave pública del dispositivo.",
|
|
"repeater_cliHelpGetPrvKey": "(Solo para uso en serie) Muestra la clave privada del dispositivo. Trátala como una información confidencial.",
|
|
"repeater_cliHelpGetRepeat": "Indica si el enrutamiento de paquetes (función de repetidor) está activado o desactivado.",
|
|
"repeater_cliHelpGetTx": "Muestra la potencia actual en dBm.",
|
|
"repeater_cliHelpGetFreq": "Muestra la frecuencia de radio configurada en MHz.",
|
|
"repeater_cliHelpGetRadio": "Muestra todos los parámetros de radio: frecuencia, ancho de banda, factor de dispersión, tasa de codificación.",
|
|
"repeater_cliHelpGetRadioRxGain": "(Solo para SX126x) Muestra el estado de ganancia amplificada del receptor.",
|
|
"repeater_cliHelpGetAf": "Muestra el factor de tiempo actual.",
|
|
"repeater_cliHelpGetDutyCycle": "Muestra el ciclo de trabajo actual permitido como un porcentaje.",
|
|
"repeater_cliHelpGetIntThresh": "Muestra el umbral de interferencia del canal en dB.",
|
|
"repeater_cliHelpGetAgcResetInterval": "Muestra el intervalo de reinicio del AGC en segundos.",
|
|
"repeater_cliHelpGetMultiAcks": "Indica si el modo de confirmación doble está activado (1) o desactivado (0).",
|
|
"repeater_cliHelpGetAllowReadOnly": "Indica si se permite el acceso de solo lectura para los usuarios invitados.",
|
|
"repeater_cliHelpGetAdvertInterval": "Muestra el intervalo de publicidad local en minutos.",
|
|
"repeater_cliHelpGetFloodAdvertInterval": "Muestra el intervalo de publicidad para la emisión de la señal de inundación, expresado en horas.",
|
|
"repeater_cliHelpGetGuestPassword": "Muestra la contraseña de invitado configurada.",
|
|
"repeater_cliHelpGetLat": "Muestra la latitud configurada.",
|
|
"repeater_cliHelpGetLon": "Muestra la longitud configurada.",
|
|
"repeater_cliHelpGetRxDelay": "Muestra el valor base de rxdelay.",
|
|
"repeater_cliHelpGetTxDelay": "Muestra el factor de retardo en modo de inundación.",
|
|
"repeater_cliHelpGetDirectTxDelay": "Muestra el factor de retardo en modo directo.",
|
|
"repeater_cliHelpGetFloodMax": "Muestra el número máximo de saltos por inundación.",
|
|
"repeater_cliHelpGetOwnerInfo": "Muestra la cadena de información de contacto del propietario.",
|
|
"repeater_cliHelpGetPathHashMode": "Muestra el modo de hash de ruta (0/1/2).",
|
|
"repeater_cliHelpGetLoopDetect": "Muestra la sensibilidad en la detección de bucles.",
|
|
"repeater_cliHelpGetAcl": "(Solo para series) Enumera las entradas de control de acceso en un repetidor.",
|
|
"repeater_cliHelpGetBridgeEnabled": "Indica si el puente está habilitado.",
|
|
"repeater_cliHelpGetBridgeDelay": "Muestra el retardo del puente en milisegundos.",
|
|
"repeater_cliHelpGetBridgeSource": "Indica si el puente está enviando o recibiendo paquetes RX o TX.",
|
|
"repeater_cliHelpGetBridgeBaud": "(Solo puente RS232) Muestra la velocidad de transmisión del puente.",
|
|
"repeater_cliHelpGetBridgeChannel": "(Solo para el puente ESPNow) Muestra el canal WiFi del puente.",
|
|
"repeater_cliHelpGetBridgeSecret": "(Solo para el puente ESPNow) Muestra el secreto compartido por el puente.",
|
|
"repeater_cliHelpGetBootloaderVer": "(Solo NRF52) Muestra la versión del cargador.",
|
|
"repeater_cliHelpGetAdcMultiplier": "Muestra el multiplicador del ADC (escalado de voltaje de la batería).",
|
|
"repeater_cliHelpGetPwrMgtSupport": "Indica si el sistema cuenta con funciones de gestión de energía.",
|
|
"repeater_cliHelpGetPwrMgtSource": "Indica la fuente de energía actual: externa o batería.",
|
|
"repeater_cliHelpGetPwrMgtBootReason": "Muestra las razones más recientes de reinicio y apagado.",
|
|
"repeater_cliHelpGetPwrMgtBootMv": "Muestra el voltaje de la batería al encender el sistema en milivoltios (mV).",
|
|
"repeater_cliHelpSensorGet": "Lee una configuración de sensor personalizada mediante una tecla.",
|
|
"repeater_cliHelpSensorSet": "Crea una configuración personalizada para un sensor.",
|
|
"repeater_cliHelpSensorList": "Muestra todas las configuraciones de sensores personalizadas, paginadas a partir de un índice de inicio opcional.",
|
|
"repeater_cliHelpRegionDefault": "Muestra el ámbito predeterminado actual.",
|
|
"repeater_cliHelpRegionDefaultSet": "Establece el ámbito regional predeterminado. Utilice \"<null>\" para restablecer a la configuración predeterminada.",
|
|
"repeater_cliHelpRegionListAllowed": "Enumera las regiones que permiten el paso de vehículos debido a inundaciones.",
|
|
"repeater_cliHelpRegionListDenied": "Enumera las regiones que prohíben el tráfico debido a las inundaciones.",
|
|
"repeater_cliHelpStatsPackets": "(Solo para series) Muestra estadísticas a nivel de paquetes.",
|
|
"repeater_cliHelpStatsRadio": "(Solo para transmisiones en serie) Muestra estadísticas de radio.",
|
|
"repeater_cliHelpStatsCore": "(Solo para series) Muestra estadísticas clave del firmware.",
|
|
"common_done": "Hecho",
|
|
"background_serviceTitle": "MeshCore en ejecución",
|
|
"background_serviceText": "Manteniendo BLE conectado",
|
|
"appSettings_translationModelDeleted": "Eliminado {name}",
|
|
"@appSettings_translationModelDeleted": {
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"appSettings_translationModelDeleteFailed": "No se pudo eliminar: {error}",
|
|
"@appSettings_translationModelDeleteFailed": {
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"channels_channelUpdateFailed": "No se pudo actualizar el canal: {error}",
|
|
"@channels_channelUpdateFailed": {
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"map_type": "Type",
|
|
"map_path": "Path",
|
|
"map_location": "Location",
|
|
"map_estLocation": "Est. Location",
|
|
"map_publicKey": "Public Key",
|
|
"map_publicKeyPrefixHint": "e.g. ab12",
|
|
"contact_typeChat": "Chat",
|
|
"contact_typeRepeater": "Repetidor",
|
|
"contact_typeRoom": "Sala",
|
|
"contact_typeSensor": "Sensor",
|
|
"contact_typeUnknown": "Desconocido",
|
|
"channels_via": "vía {path}",
|
|
"@channels_via": {
|
|
"placeholders": {
|
|
"path": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"chat_score": "Puntuación",
|
|
"map_sharedAt": "Compartido",
|
|
"@losBlockedSpotChip": {
|
|
"placeholders": {
|
|
"distance": {
|
|
"type": "String"
|
|
},
|
|
"distanceUnit": {
|
|
"type": "String"
|
|
},
|
|
"obstruction": {
|
|
"type": "String"
|
|
},
|
|
"heightUnit": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@losSelectedObstructionDetails": {
|
|
"placeholders": {
|
|
"obstruction": {
|
|
"type": "String"
|
|
},
|
|
"heightUnit": {
|
|
"type": "String"
|
|
},
|
|
"distanceFromA": {
|
|
"type": "String"
|
|
},
|
|
"distanceUnit": {
|
|
"type": "String"
|
|
},
|
|
"distanceFromB": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"losBlockedSpotsTitle": "Espacios ocupados",
|
|
"losBlockedSpotsHint": "Seleccione un punto bloqueado para resaltarlo en el mapa.",
|
|
"losSelectedObstructionTitle": "Obstrucción seleccionada",
|
|
"losSelectedObstructionDetails": "Bloqueado por {obstruction} a una altura de {heightUnit}, a {distanceFromA} metros de A y a {distanceFromB} metros de B ({distanceUnit}).",
|
|
"losBlockedSpotChip": "{distance} {distanceUnit} • {obstruction} {heightUnit}",
|
|
"settings_companionDebugLog": "Registro de depuración asociado",
|
|
"chat_newMessages": "Nuevos mensajes",
|
|
"settings_companionDebugLogSubtitle": "Comandos, respuestas y datos brutos para protocolos BLE/TCP/USB",
|
|
"chat_markAsUnread": "Marcar como no leído",
|
|
"repeater_chanUtil": "Utilización del canal",
|
|
"@routing_lastWorked": {
|
|
"placeholders": {
|
|
"when": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@routing_deliveryCounts": {
|
|
"placeholders": {
|
|
"successes": {
|
|
"type": "int"
|
|
},
|
|
"failures": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"@pathEditor_hopCounter": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"@pathEditor_invalidTokens": {
|
|
"placeholders": {
|
|
"tokens": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"@channels_communityShortId": {
|
|
"placeholders": {
|
|
"id": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"messageStatus_pending": "Enviando",
|
|
"common_undo": "Deshacer",
|
|
"messageStatus_sent": "Enviado",
|
|
"messageStatus_delivered": "Entregado",
|
|
"messageStatus_failed": "No se pudo enviar",
|
|
"messageStatus_repeated": "Escuchado repetidamente",
|
|
"contacts_moreOptions": "Más opciones",
|
|
"contacts_searchOpen": "Buscar contactos",
|
|
"contacts_searchClose": "Cerrar búsqueda",
|
|
"routing_title": "Enrutamiento",
|
|
"routing_modeAuto": "Automático",
|
|
"routing_modeFlood": "Inundación",
|
|
"routing_modeManual": "Manual",
|
|
"routing_modeAutoHint": "Selecciona automáticamente la mejor ruta conocida y, si no hay ninguna, usa el modo de inundación.",
|
|
"routing_modeFloodHint": "Transmite por todos los repetidores. Es la opción más fiable, pero usa más tiempo de aire.",
|
|
"routing_modeManualHint": "Siempre sigue exactamente la ruta que has definido.",
|
|
"routing_currentRoute": "Ruta actual",
|
|
"routing_directNoHops": "Directo — sin saltos de repetidor",
|
|
"routing_noPathYet": "Aún no hay una ruta. El siguiente mensaje se enviará por inundación hasta que se descubra una ruta.",
|
|
"routing_floodBroadcast": "Transmisión por todos los repetidores",
|
|
"routing_editPath": "Editar ruta",
|
|
"routing_forgetPath": "Olvidar ruta",
|
|
"routing_knownPaths": "Rutas conocidas",
|
|
"routing_knownPathsHint": "Toca una ruta para cambiar a ella.",
|
|
"routing_inUse": "En uso",
|
|
"routing_qualityStrong": "Primer salto fuerte",
|
|
"routing_qualityGood": "Primer salto bueno",
|
|
"routing_qualityWorked": "Ha entregado",
|
|
"routing_qualityFair": "Primer salto aceptable",
|
|
"routing_qualityFlood": "Escuchado por inundación",
|
|
"routing_qualityUntested": "Sin probar",
|
|
"routing_lastWorked": "funcionó {when}",
|
|
"routing_neverWorked": "nunca confirmado",
|
|
"routing_floodDelivery": "Entrega por inundación",
|
|
"pathEditor_title": "Crear ruta",
|
|
"pathEditor_hopCounter": "{count} de 64 saltos",
|
|
"pathEditor_noHops": "Aún no se han añadido saltos. Toca los repetidores de abajo para añadirlos en orden, o guarda la ruta sin saltos para enviarla directamente.",
|
|
"pathEditor_addHops": "Añadir los saltos en orden",
|
|
"pathEditor_searchRepeaters": "Buscar repetidores",
|
|
"pathEditor_advancedHex": "Avanzado: ruta hexadecimal sin procesar",
|
|
"pathEditor_hexLabel": "Prefijos hexadecimales",
|
|
"pathEditor_hexHelper": "Dos caracteres hexadecimales por salto, separados por comas.",
|
|
"pathEditor_invalidTokens": "Inválido: {tokens}",
|
|
"pathEditor_tooManyHops": "Máximo 64 saltos",
|
|
"pathEditor_usePath": "Usar esta ruta",
|
|
"pathEditor_removeHop": "Eliminar salto",
|
|
"pathEditor_unknownHop": "Repetidor desconocido",
|
|
"map_zoomIn": "Acercar",
|
|
"routing_deliveryCounts": "{successes} entregados, {failures} fallidos",
|
|
"map_zoomOut": "Alejar",
|
|
"map_centerMap": "Centrar mapa",
|
|
"chrome_bluetoothRequiresChromium": "Web Bluetooth requiere un navegador Chromium.",
|
|
"channels_communityShortId": "ID: {id}...",
|
|
"pathTrace_legendGpsConfirmed": "Confirmado mediante GPS",
|
|
"pathTrace_legendInferred": "Posición estimada",
|
|
"@pathMap_hopOf": {
|
|
"placeholders": {
|
|
"current": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"@pathMap_observedPaths": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"@pathMap_alternate": {
|
|
"placeholders": {
|
|
"index": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"@pathMap_hopCount": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"@pathMap_gpsCount": {
|
|
"placeholders": {
|
|
"confirmed": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"@pathMap_sharedNodeCount": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"@pathMap_partialAnimation": {
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"map_searchHint": "Buscar por nombre o ID del nodo",
|
|
"map_activity": "Actividad",
|
|
"map_online": "En línea",
|
|
"scanner_bluetoothWebUnsupported": "La funcionalidad Bluetooth no está disponible en el navegador. Conéctese mediante USB en su lugar.",
|
|
"map_recent": "Reciente",
|
|
"map_visible": "Visible",
|
|
"map_stale": "Antiguo; pasado de fecha",
|
|
"map_hidden": "Oculto",
|
|
"map_centerOnNode": "Enfocar en el nodo",
|
|
"map_details": "Detalles",
|
|
"map_noGps": "Sin GPS",
|
|
"map_noResults": "No se encontraron nodos coincidentes.",
|
|
"pathMap_viewSingle": "Individual",
|
|
"pathMap_viewCombined": "Combinado",
|
|
"pathMap_play": "Reproducir",
|
|
"pathMap_pause": "Pausa",
|
|
"pathMap_replay": "Repetir",
|
|
"pathMap_stepBack": "Salto anterior",
|
|
"pathMap_stepForward": "Siguiente salto",
|
|
"pathMap_animationOn": "Mostrar animación del paquete",
|
|
"pathMap_animationOff": "Ocultar la animación del paquete",
|
|
"pathMap_hopOf": "Saltar {current} de {total}",
|
|
"pathMap_observedPaths": "Rutas observadas: {count}",
|
|
"pathMap_primary": "Principal",
|
|
"pathMap_alternate": "Alternativo {index}",
|
|
"pathMap_hopCount": "{count, plural, =1{1 salto} other{{count} saltos}}",
|
|
"pathMap_legendShared": "Segmento compartido",
|
|
"pathMap_legendEstimated": "Segmento estimado",
|
|
"pathMap_sharedNodeCount": "Utilizado en {count} rutas.",
|
|
"pathMap_partialAnimation": "{count, plural, =1{1 salto no tiene ubicación — la ruta mostrada es parcial} other{{count} saltos no tienen ubicación — la ruta mostrada es parcial}}",
|
|
"pathMap_showAllPaths": "Mostrar todas",
|
|
"pathMap_hidePath": "Ocultar ruta",
|
|
"pathMap_showPath": "Mostrar ruta",
|
|
"pathMap_collapsePanel": "Cerrar panel",
|
|
"pathMap_expandPanel": "Ampliar panel",
|
|
"pathMap_noLocation": "Sin ubicación",
|
|
"pathMap_followPacket": "Seguir paquete",
|
|
"pathMap_unfollowPacket": "Dejar de seguir el paquete",
|
|
"pathMap_gpsCount": "{confirmed}/{total} GPS"
|
|
}
|