feat(i18n): translate the whole interface

Mark every UI string the unmarked-text check reported (534) plus text it
cannot see (helpers, joined labels, runtime-built panels), and translate
the result to Spanish and Russian: 1,679 messages each.

- Kept on purpose, with the reason where the text lives: provider and
  product names, place and camera names, codes and units, dB values, the HUD
  terminal readouts, demo shot titles that saved projects look up by title,
  and text for AI tools and the voice model.
- Modules shared with the server or AI tools stay free of the i18n import
  (local msg); the wind reading and voice session stay English and are
  translated where the page shows them.
- npm test now runs the unmarked-text check.
- Fixes on the way: a duplicated radio privacy paragraph, the contact panel
  toggle saying Expand while open, the CSS filter mistaking & for CSS.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
German KhokhlovandClaude Opus 5.5 committed 2026-10-12 19:24:42 +04:00
1 parent ee72133574
commit 3129e531e6
99 files changed
+4670 -1294

No files matched your search

+823 -1
View File
@@ -979,5 +979,827 @@
"ALL": "TODAS",
"FLAT": "PLANAS",
"SINCE": "DESDE",
"Coverage colours": "Colores de cobertura"
"Coverage colours": "Colores de cobertura",
"That shape already has {count} points — finish it or press Backspace.": "Esa forma ya tiene {count} puntos — termínala o pulsa Backspace.",
"Could not place the shape: {error}": "No se pudo colocar la forma: {error}",
"{owner} is using the pointer — close it first.": "{owner} está usando el puntero — ciérralo primero.",
"{label} · Detailed outline unavailable": "{label} · Contorno detallado no disponible",
"Witness source": "Fuente testigo",
"{provider} · EMBEDDED SOURCE": "{provider} · FUENTE INSERTADA",
"OPEN ORIGINAL ↗": "ABRIR ORIGINAL ↗",
"{provider} media: {source}": "Contenido de {provider}: {source}",
"{provider} · PROVIDER CONTROLS": "{provider} · CONTROLES DEL PROVEEDOR",
"YOUTUBE {state} · OPEN ORIGINAL": "YOUTUBE {state} · ABRE EL ORIGINAL",
"Facebook player API did not initialize.": "La API del reproductor de Facebook no se inicializó.",
"Facebook player API could not load.": "No se pudo cargar la API del reproductor de Facebook.",
"Facebook player API timed out.": "La API del reproductor de Facebook agotó el tiempo de espera.",
"X embed API did not initialize.": "La API de inserción de X no se inicializó.",
"X embed could not load.": "No se pudo cargar la inserción de X.",
"X embed timed out.": "La inserción de X agotó el tiempo de espera.",
"TIMEOUT": "TIEMPO AGOTADO",
"BLOCKED": "BLOQUEADO",
"Facebook embed unavailable. The post may be private, removed, region-restricted, or blocked.": "Inserción de Facebook no disponible. La publicación puede ser privada, haber sido eliminada, estar restringida por región o bloqueada.",
"Preloading {provider} media": "Precargando contenido de {provider}",
"LOADING X POST…": "CARGANDO PUBLICACIÓN DE X…",
"The X post is unavailable or cannot be embedded.": "La publicación de X no está disponible o no se puede insertar.",
"X POST · PROVIDER CONTROLS": "PUBLICACIÓN DE X · CONTROLES DEL PROVEEDOR",
"{reason} OPEN ORIGINAL.": "{reason} ABRE EL ORIGINAL.",
"X embed unavailable": "Inserción de X no disponible",
"FACEBOOK · PROVIDER CONTROLS": "FACEBOOK · CONTROLES DEL PROVEEDOR",
"Facebook embed unavailable": "Inserción de Facebook no disponible",
"AUTOPLAY BLOCKED · USE PROVIDER CONTROLS": "REPRODUCCIÓN AUTOMÁTICA BLOQUEADA · USA LOS CONTROLES DEL PROVEEDOR",
"Embedded {provider} media for {source}": "Contenido de {provider} insertado para {source}",
"witness source": "fuente testigo",
"Rasuwagadhi witness": "Testigo de Rasuwagadhi",
"Open original source for {source}; capture time unverified": "Abrir la fuente original de {source}; hora de captura sin verificar",
"Historical reference and post-event image divider": "Divisor entre la imagen de referencia histórica y la posterior al evento",
"A historical reference {before} percent, B post-event {after} percent": "A, referencia histórica, {before} por ciento; B, posterior al evento, {after} por ciento",
"■ RELEASE CAMERA": "■ LIBERAR CÁMARA",
"Seek Nepal scene clock": "Desplazarse por el reloj de la escena de Nepal",
"NEPAL SCENE CLOCK": "RELOJ DE LA ESCENA DE NEPAL",
"… PLAYING SHOT": "… REPRODUCIENDO PLANO",
"▶ PLAY SHOT": "▶ REPRODUCIR PLANO",
"Ⅱ PAUSE": "Ⅱ PAUSA",
"↺ REPLAY CINEMATIC": "↺ REPETIR CINEMÁTICA",
"↺ REPLAY": "↺ REPETIR",
"… PLAYING SCENE": "… REPRODUCIENDO ESCENA",
"Continue {scene} from next shot": "Continuar {scene} desde el siguiente plano",
"current scene": "la escena actual",
"Replay the full reconstruction": "Repetir la reconstrucción completa",
"SCENE SHOT": "PLANO DE ESCENA",
"TIME UNVERIFIED": "HORA SIN VERIFICAR",
"{count} SOURCES": {
"one": "{count} FUENTE",
"many": "{count} DE FUENTES",
"other": "{count} FUENTES"
},
"OUTSIDE IMAGERY SWIPE": "FUERA DE LA COMPARACIÓN DE IMÁGENES",
"{scene} / AUTHORED SHOT": "{scene} / PLANO DISEÑADO",
"NEPAL FLOOD INCIDENT": "INCIDENTE DE INUNDACIÓN EN NEPAL",
"Play {shot}": "Reproducir {shot}",
"current scene shot": "el plano actual de la escena",
"Play reconstruction": "Reproducir la reconstrucción",
"Load previous scene shot": "Cargar el plano anterior de la escena",
"Load next scene shot": "Cargar el siguiente plano de la escena",
"SCHEMATIC CORRIDOR, NOT MODELED ARRIVAL TIME.": "CORREDOR ESQUEMÁTICO, NO TIEMPO DE LLEGADA MODELADO.",
"Rasuwa · 26 Aug 2026": "Rasuwa · 26 ago 2026",
"Event reconstruction": "Reconstrucción del evento",
"INITIATION": "INICIO",
"DAMMING": "REPRESAMIENTO",
"SECONDARY FAILURE": "ROTURA SECUNDARIA",
"BORDER ARRIVAL": "LLEGADA A LA FRONTERA",
"PROPAGATION": "PROPAGACIÓN",
"DOWNSTREAM PASSAGE": "PASO AGUAS ABAJO",
"CONSEQUENCE": "CONSECUENCIA",
"DOWNSTREAM CONSEQUENCE": "CONSECUENCIA AGUAS ABAJO",
"EVIDENCE": "EVIDENCIA",
"{count} GEOLOCATED SOURCE-MAP PLACEMENTS": {
"one": "{count} UBICACIÓN GEOLOCALIZADA EN EL MAPA DE FUENTES",
"many": "{count} DE UBICACIONES GEOLOCALIZADAS EN EL MAPA DE FUENTES",
"other": "{count} UBICACIONES GEOLOCALIZADAS EN EL MAPA DE FUENTES"
},
"NO PREVIEW": "SIN VISTA PREVIA",
"SOURCE LINK": "ENLACE DE LA FUENTE",
"{publisher} / OPEN": "{publisher} / ABRIR",
"Bhote Koshi flood reconstruction controls": "Controles de la reconstrucción de la inundación del Bhote Koshi",
"EVENT RECONSTRUCTION · 26 AUG 2026": "RECONSTRUCCIÓN DEL EVENTO · 26 AGO 2026",
"BHOTE KOSHI OUTBURST FLOOD": "INUNDACIÓN POR DESBORDE DEL BHOTE KOSHI",
"Close event layer": "Cerrar la capa del evento",
"OBSERVED IMAGERY": "IMÁGENES OBSERVADAS",
"SCHEMATIC CORRIDOR": "CORREDOR ESQUEMÁTICO",
"2021 HISTORICAL REFERENCE / 2026 POST-EVENT": "REFERENCIA HISTÓRICA 2021 / POSTERIOR AL EVENTO 2026",
"Historical reference and post-event image split": "División entre la imagen de referencia histórica y la posterior al evento",
"RECONSTRUCTION CLOCK": "RELOJ DE LA RECONSTRUCCIÓN",
"Schematic downstream progression": "Avance esquemático aguas abajo",
"Story beat navigation": "Navegación por momentos del relato",
"Previous story beat": "Momento anterior del relato",
"CAUSE": "CAUSA",
"CAPTURE TIME UNVERIFIED": "HORA DE CAPTURA SIN VERIFICAR",
"Next story beat": "Siguiente momento del relato",
"▶ PLAY": "▶ REPRODUCIR",
"Play the next shot and continue through this scene": "Reproducir el siguiente plano y continuar con esta escena",
"▶ PLAY SCENE": "▶ REPRODUCIR ESCENA",
"◉ CINEMATIC": "◉ CINEMÁTICA",
"↺ FULL STORY": "↺ HISTORIA COMPLETA",
"↗ OPEN ORIGINAL": "↗ ABRIR ORIGINAL",
"⌖ LOWER GORGE": "⌖ GARGANTA INFERIOR",
"FIELD REPORTS · {count}": "INFORMES DE CAMPO · {count}",
"GEOLOCATIONS · {credit}": "GEOLOCALIZACIONES · {credit}",
"↗ OPEN PUBLIC MAP": "↗ ABRIR MAPA PÚBLICO",
"Clouds are preserved from the source imagery.": "Las nubes se conservan de las imágenes de origen.",
"Show the Nepal context callout without a border or country fill": "Muestra la etiqueta de contexto de Nepal sin frontera ni relleno del país",
"Introduce Nepal, draw its border, then reveal the Bhote Koshi incident": "Presenta Nepal, dibuja su frontera y luego revela el incidente del Bhote Koshi",
"CITIES": "CIUDADES",
"Keep the regional incident context and introduce nearby city labels": "Mantiene el contexto regional del incidente y presenta las etiquetas de las ciudades cercanas",
"PLACES": "LUGARES",
"Introduce the reconstruction scene key places from trigger to downstream": "Presenta los lugares clave de la escena de reconstrucción, desde el desencadenante hasta aguas abajo",
"PATH": "RECORRIDO",
"Animate the sourced cyan river-centerline route to Trishuli Bazaar": "Anima la ruta cian documentada por el eje del río hasta Trishuli Bazaar",
"OVERVIEW": "VISTA GENERAL",
"Keep the completed flood path and location labels visible": "Mantiene visibles el recorrido completo de la inundación y las etiquetas de lugares",
"RECORD": "REGISTRO",
"Reveal the trigger record while making a slow camera approach": "Revela el registro del desencadenante con una aproximación lenta de la cámara",
"BHOTE KOSHI FLOOD INCIDENT": "INCIDENTE DE INUNDACIÓN DEL BHOTE KOSHI",
"NEPAL · 26 AUG 2026": "NEPAL · 26 AGO 2026",
"USGS INITIAL REPORT": "INFORME INICIAL DEL USGS",
"26 AUG 2026 · 08:37 NPT": "26 AGO 2026 · 08:37 NPT",
"28.2710° N · 85.5150° E": "28.2710° N · 85.5150° E",
"INITIAL M4.4 · RECLASSIFIED M5.2 LANDSLIDE": "INICIAL M4.4 · RECLASIFICADO COMO DESLIZAMIENTO M5.2",
"USGS EVENT us7000tbwb · OPEN SOURCE": "EVENTO USGS us7000tbwb · ABRIR FUENTE",
"flight": "vuelo",
"military flight": "vuelo militar",
"satellite": "satélite",
"VOICE AUTH · CHATGPT OAUTH": "AUTENTICACIÓN DE VOZ · OAUTH DE CHATGPT",
"VOICE AUTH · API KEY": "AUTENTICACIÓN DE VOZ · CLAVE DE API",
"USE API KEY": "USAR CLAVE DE API",
"USE CHATGPT OAUTH": "USAR OAUTH DE CHATGPT",
"Use OPENAI_API_KEY for the next cloud voice session": "Usar OPENAI_API_KEY en la próxima sesión de voz en la nube",
"Use the signed-in local ChatGPT/Codex OAuth session for the next cloud voice session": "Usar la sesión OAuth local de ChatGPT/Codex ya iniciada en la próxima sesión de voz en la nube",
"Metered — a billing-enabled account": "De pago por uso — una cuenta con facturación activada",
"Free key — register, paste, done": "Clave gratuita — regístrate, pégala y listo",
"browser-side": "en el navegador",
"This key runs in the browser by design — restrict it at the provider (see SECURITY.md)": "Esta clave funciona en el navegador por diseño — restríngela en el proveedor (consulta SECURITY.md)",
"configured externally": "configurada externamente",
"Supplied by your environment, Keychain, or launcher — change it where it was set": "Proporcionada por tu entorno, Keychain o el lanzador — cámbiala donde se definió",
"MANAGE ↗": "GESTIONAR ↗",
"GET KEY ↗": "OBTENER CLAVE ↗",
"{envVar} saved — paste to replace": "{envVar} guardada — pega otra para reemplazarla",
"paste {envVar}": "pega {envVar}",
"Project keys: {status}": "Claves del proyecto: {status}",
"Mapped camera locations": "Ubicaciones de cámaras cartografiadas",
"SHOW NEAREST": "MOSTRAR LA MÁS CERCANA",
"Stop following the current object before navigating to a camera": "Deja de seguir el objeto actual antes de ir a una cámara",
"Move to the nearest loaded camera and show its details": "Ir a la cámara cargada más cercana y mostrar sus detalles",
"Camera badges": "Iconos de cámaras",
"Cyan cameras turn coral when selected. Wedges illustrate mapped direction, not measured coverage. Nearby cameras may be outside the screen.": "Las cámaras cian se vuelven coral al seleccionarlas. Las cuñas ilustran la dirección cartografiada, no la cobertura medida. Las cámaras cercanas pueden estar fuera de la pantalla.",
"{count} nearby · {onScreen} on screen": {
"one": "{count} cercana · {onScreen} en pantalla",
"many": "{count} de cámaras cercanas · {onScreen} en pantalla",
"other": "{count} cercanas · {onScreen} en pantalla"
},
"{count} nearby": {
"one": "{count} cercana",
"many": "{count} de cámaras cercanas",
"other": "{count} cercanas"
},
"retrying mapped ALPR cameras": "reintentando cámaras ALPR cartografiadas",
"loading mapped ALPR cameras": "cargando cámaras ALPR cartografiadas",
"No ALPR data for this area — US and Canada only": "Sin datos ALPR para esta zona — solo EE. UU. y Canadá",
"Zoom in to load mapped cameras": "Haz zoom para cargar las cámaras cartografiadas",
"Showing cached locations": "Mostrando ubicaciones en caché",
"Coverage limited — zoom in": "Cobertura limitada — haz zoom",
"No ALPR data for this area": "Sin datos ALPR para esta zona",
"None on screen — nearby cameras are outside the view": "Ninguna en pantalla — las cámaras cercanas están fuera de la vista",
"ALPR camera": "Cámara ALPR",
"OpenStreetMap · community mapped": "OpenStreetMap · cartografiado por la comunidad",
"Atlantic and eastern/central North Pacific; not worldwide cyclone coverage.": "Atlántico y Pacífico Norte oriental/central; no es una cobertura mundial de ciclones.",
"Potential tropical cyclone": "Posible ciclón tropical",
"Hurricane": "Huracán",
"Tropical storm": "Tormenta tropical",
"Tropical depression": "Depresión tropical",
"Subtropical storm": "Tormenta subtropical",
"Subtropical depression": "Depresión subtropical",
"Track and cone match this advisory": "La trayectoria y el cono coinciden con este aviso",
"Track/cone awaiting advisory {number}": "Trayectoria/cono a la espera del aviso {number}",
"Track/cone unavailable": "Trayectoria/cono no disponible",
"Cached advisory · stale source": "Aviso en caché · fuente desactualizada",
"Loading advisories…": "Cargando avisos…",
"{count} active storms": {
"one": "{count} ciclón activo",
"many": "{count} de ciclones activos",
"other": "{count} ciclones activos"
},
"Position as of {time}": "Posición a fecha de {time}",
"Maximum sustained wind: {wind} · Pressure: {pressure}": "Viento máximo sostenido: {wind} · Presión: {pressure}",
"{name} · {classification} · Advisory {number} · issued {time}": "{name} · {classification} · Aviso {number} · emitido {time}",
"No active NHC/CPHC systems": "Sin sistemas activos del NHC/CPHC",
"Advisories unavailable": "Avisos no disponibles",
"Cyclones · NHC / CPHC": "Ciclones · NHC / CPHC",
"Atlantic · E/C Pacific": "Atlántico · Pacífico E/C",
"{storms} · {name} selected": "{storms} · {name} seleccionado",
"Official advisory ↗": "Aviso oficial ↗",
"Active NHC and CPHC cyclone advisories": "Avisos de ciclones activos del NHC y el CPHC",
"Wind unavailable": "Viento no disponible",
"Advisory center / forecast track": "Centro del aviso / trayectoria pronosticada",
"Center-track uncertainty cone": "Cono de incertidumbre de la trayectoria del centro",
"Select a storm on the map, or choose a storm in the list to select it and move the camera. Click empty map space to clear the selection. NOAA NHC/CPHC advisory context. The cone describes forecast center-track uncertainty, not storm size or the full hazard area. Forecast point labels are source lead hours, not times computed from advisory issuance. Geometry follows the surface; height is not weather altitude. Consult the official advisory.": "Selecciona un ciclón en el mapa, o elige uno en la lista para seleccionarlo y mover la cámara. Haz clic en un espacio vacío del mapa para borrar la selección. Contexto de avisos NOAA NHC/CPHC. El cono describe la incertidumbre de la trayectoria pronosticada del centro, no el tamaño del ciclón ni toda el área de peligro. Las etiquetas de los puntos de pronóstico son horas de anticipación de la fuente, no horas calculadas a partir de la emisión del aviso. La geometría sigue la superficie; la altura no es altitud meteorológica. Consulta el aviso oficial.",
"Directions": "Indicaciones",
"{mode} — reroute for {modeLower}": "{mode} — recalcular la ruta {modeLower}",
"CLICK MAP": "CLIC EN EL MAPA",
"SET A": "FIJAR A",
"Click a spot on the globe to place A (click again to cancel)": "Haz clic en un punto del globo para colocar A (vuelve a hacer clic para cancelar)",
"Then click the globe to place the start": "Luego haz clic en el globo para colocar el inicio",
"SET B": "FIJAR B",
"Click a spot on the globe to place B (click again to cancel)": "Haz clic en un punto del globo para colocar B (vuelve a hacer clic para cancelar)",
"Then click the globe to place the destination": "Luego haz clic en el globo para colocar el destino",
"Swap A and B": "Intercambiar A y B",
"FLY ···": "VOLAR ···",
"FLYING": "VOLANDO",
"FLY": "VOLAR",
"Fly the camera along the route": "Volar con la cámara a lo largo de la ruta",
"Place A and B first": "Coloca primero A y B",
"Remove the route and both markers": "Eliminar la ruta y ambos marcadores",
"press Escape twice to leave Draw": "pulsa Escape dos veces para salir de Dibujo",
"{name} is active — turn {name} off, then set {endpoint}": "{name} está activo — desactiva {name} y luego fija {endpoint}",
"{name} is active — {leave}, then set {endpoint}": "{name} está activo — {leave} y luego fija {endpoint}",
"Only the first {count} turns of this route are shown": "Solo se muestran los primeros {count} giros de esta ruta",
"Turn-by-turn directions": "Indicaciones paso a paso",
"OSM routing": "Rutas de OSM",
"DRIVE": "COCHE",
"Drive": "En coche",
"Another map tool is using clicks — close it, then SET A again": "Otra herramienta del mapa está usando los clics — ciérrala y vuelve a pulsar FIJAR A",
"WALK": "A PIE",
"Walk": "A pie",
"Routing…": "Calculando ruta…",
"BIKE": "BICI",
"Bike": "En bici",
"No route found": "No se encontró ninguna ruta",
"{distance} · {duration} · {mode} · first {count} turns": "{distance} · {duration} · {mode} · primeros {count} giros",
"{distance} · {duration} · {mode}": "{distance} · {duration} · {mode}",
"Click the globe to place {endpoint}": "Haz clic en el globo para colocar {endpoint}",
"SET B, then click the globe": "Pulsa FIJAR B y luego haz clic en el globo",
"SET A, then click the globe": "Pulsa FIJAR A y luego haz clic en el globo",
"Step {step} of {total} · then {leg}": "Paso {step} de {total} · luego {leg}",
"Step {step} of {total}": "Paso {step} de {total}",
"Then: {instruction}": "Luego: {instruction}",
"No route found between A and B": "No se encontró ninguna ruta entre A y B",
"Routing failed: {error}": "Falló el cálculo de la ruta: {error}",
"Routing timed out": "El cálculo de la ruta agotó el tiempo de espera",
"Routing unavailable — no response from the routing service": "Rutas no disponibles — sin respuesta del servicio de rutas",
"Routing unavailable": "Rutas no disponibles",
"Fire · FRP {frp} MW": "Incendio · FRP {frp} MW",
"Not contained or unknown": "Sin contener o desconocido",
"Under 50% contained": "Contenido por debajo del 50%",
"50–99% contained": "Contenido al 50–99%",
"Fully contained": "Totalmente contenido",
"Colour shows reported containment. Perimeters are simplified to about 100 m.": "El color indica la contención notificada. Los perímetros se simplifican a unos 100 m.",
"MORE DETAIL · 30 m": "MÁS DETALLE · 30 m",
"Sentinel-2 and Landsat via HLS, 30 m, every 2–6 days": "Sentinel-2 y Landsat vía HLS, 30 m, cada 2–6 días",
"DAILY OVERVIEW · 250 m": "VISTA GENERAL DIARIA · 250 m",
"VIIRS daily mosaic, 250 m, follows broad changes; little detail under 25 km": "Mosaico diario de VIIRS, 250 m, sigue los cambios amplios; poco detalle por debajo de 25 km",
"Catalog truncated · a newer clear day may exist": "Catálogo truncado · puede existir un día despejado más reciente",
"{label} catalog unavailable · {detail}": "Catálogo de {label} no disponible · {detail}",
"Daily overview for today may still be empty until the pass": "La vista general diaria de hoy puede seguir vacía hasta el paso del satélite",
"Sentinel-2": "Sentinel-2",
"Landsat 8/9": "Landsat 8/9",
"Daily overview": "Vista general diaria",
"No frame within {gap} min of {time}": "Ningún fotograma a menos de {gap} min de {time}",
"No frame within {gap} h of {time}": "Ningún fotograma a menos de {gap} h de {time}",
"{hours}h {minutes}m ago": "hace {hours} h {minutes} min",
"{minutes}m ago": "hace {minutes} min",
"{state} · {time} · {lag}": "{state} · {time} · {lag}",
"Observed": "Observado",
"History": "Historial",
"Observation unavailable": "Observación no disponible",
"Waiting for observation": "Esperando observación",
"{detail} · synced": "{detail} · sincronizado",
"{detail} · nearest": "{detail} · más cercano",
"RADAR REFLECTIVITY · dBZ": "REFLECTIVIDAD DE RADAR · dBZ",
"LIGHTNING DENSITY · 15 min accumulation": "DENSIDAD DE RAYOS · acumulación de 15 min",
"GLOBAL INFRARED · hourly": "INFRARROJO GLOBAL · cada hora",
"GOES INFRARED · ~5 min": "INFRARROJO GOES · ~5 min",
"{state}: {time}": "{state}: {time}",
"Latest observation": "Última observación",
"frame {index}/{total}": "fotograma {index}/{total}",
"loading": "cargando",
"Observation: unavailable": "Observación: no disponible",
"Contiguous US · gaps ≠ no rain": "EE. UU. contiguos · huecos ≠ sin lluvia",
"Americas + Pacific · not individual strikes": "América + Pacífico · no son rayos individuales",
"Color: strikes/km²/min ×10³": "Color: rayos/km²/min ×10³",
"60°S–60°N · typically 2–3 h delayed": "60°S–60°N · normalmente con 2–3 h de retraso",
"North America · infrared imagery": "Norteamérica · imágenes infrarrojas",
"Reduced motion · history playback unavailable": "Movimiento reducido · reproducción del historial no disponible",
"Reduced motion · manual history available": "Movimiento reducido · historial manual disponible",
"Rain radar · US": "Radar de lluvia · EE. UU.",
"Lightning density · 15 min": "Densidad de rayos · 15 min",
"Satellite clouds": "Nubes por satélite",
"Americas + Pacific": "América + Pacífico",
"Global · 60°S–60°N": "Global · 60°S–60°N",
"North America": "Norteamérica",
"Source observations delayed": "Observaciones de la fuente con retraso",
"Stale source": "Fuente desactualizada",
"Loading next frame…": "Cargando el siguiente fotograma…",
"Map center outside coverage": "Centro del mapa fuera de cobertura",
"strikes/km²/min ×10³": "rayos/km²/min ×10³",
"N. America": "Norteamérica",
"Global": "Global",
"Hourly global mosaic; usually 2–3 hours delayed": "Mosaico global horario; normalmente con 2–3 horas de retraso",
"GOES regional clouds; approximately 5-minute updates": "Nubes regionales de GOES; actualizaciones cada 5 minutos aproximadamente",
"Clouds only": "Solo nubes",
"Dim everything but the bright, cold cloud tops; a brightness filter, not a cloud mask": "Atenúa todo excepto las cimas de nubes brillantes y frías; un filtro de brillo, no una máscara de nubes",
"Full": "Completa",
"The complete infrared image at the chosen opacity": "La imagen infrarroja completa con la opacidad elegida",
"Soft": "Suave",
"Vivid": "Intensa",
"Image opacity; does not alter the observed values": "Opacidad de la imagen; no altera los valores observados",
"View US radar": "Ver radar de EE. UU.",
"View Americas & Pacific": "Ver América y Pacífico",
"View coverage": "Ver cobertura",
"{value} strikes/km²/min ×10³ (15-minute density)": "{value} rayos/km²/min ×10³ (densidad de 15 minutos)",
"{value} dBZ radar reflectivity": "{value} dBZ de reflectividad de radar",
"STALE · cached source metadata": "DESACTUALIZADO · metadatos de la fuente en caché",
"Map center is outside source coverage": "El centro del mapa está fuera de la cobertura de la fuente",
"NOAA/NWS 15-minute lightning density derived from Vaisala NLDN/GLD360. Coverage 110°E across the Pacific/Americas to 0°, 25°S–80°N. Not a live strike count, global coverage or a safety warning.": "Densidad de rayos de 15 minutos de NOAA/NWS derivada de Vaisala NLDN/GLD360. Cobertura desde 110°E, a través del Pacífico/América, hasta 0°, 25°S–80°N. No es un recuento de rayos en vivo, ni una cobertura global, ni un aviso de seguridad.",
"NOAA MRMS radar echoes indicate precipitation patterns, not rain rate, a storm warning or a future forecast. Native source approximately 1 km; display is limited to level 6. Frames use exact advertised observation times.": "Los ecos de radar NOAA MRMS indican patrones de precipitación, no la intensidad de lluvia, ni un aviso de tormenta, ni un pronóstico futuro. Fuente nativa de aproximadamente 1 km; la visualización se limita al nivel 6. Los fotogramas usan las horas de observación exactas anunciadas.",
"GOES-19/18 longwave infrared Band 14 regional; NESDIS global longwave mosaic. Clouds only dims everything but bright, cold cloud tops; a brightness filter, not a cloud mask. Coverage and freshness differ by region.": "Infrarrojo de onda larga GOES-19/18, banda 14, regional; mosaico global de onda larga de NESDIS. Solo nubes atenúa todo excepto las cimas de nubes brillantes y frías; un filtro de brillo, no una máscara de nubes. La cobertura y la actualidad varían según la región.",
"REGION": "REGIÓN",
"IMAGE": "IMAGEN",
"OPACITY": "OPACIDAD",
"Forecast · does not follow history": "Pronóstico · no sigue el historial",
"Wind motion": "Movimiento del viento",
"Wind speed": "Velocidad del viento",
"Sea-level pressure": "Presión a nivel del mar",
"Air temperature · 2 m": "Temperatura del aire · 2 m",
"Global · 1° grid": "Global · cuadrícula de 1°",
"{model} forecast · {time}": "Pronóstico {model} · {time}",
"Loading forecast": "Cargando pronóstico",
"Preparing flow": "Preparando flujo",
"Selected field unavailable": "Campo seleccionado no disponible",
"Cached forecast · stale": "Pronóstico en caché · desactualizado",
"ECMWF IFS surface forecast": "Pronóstico de superficie ECMWF IFS",
"NOAA GFS surface forecast": "Pronóstico de superficie NOAA GFS",
"Reduced motion": "Movimiento reducido",
"Pause visual flow; forecast time does not advance with animation": "Pausa el flujo visual; la hora del pronóstico no avanza con la animación",
"None": "Ninguno",
"Speed": "Velocidad",
"Pressure": "Presión",
"Temperature": "Temperatura",
"Wind trails with no field shading": "Trazas de viento sin sombreado del campo",
"How hard the surface wind is blowing": "Con qué fuerza sopla el viento en superficie",
"Sea-level air pressure: broad highs and lows": "Presión del aire a nivel del mar: altas y bajas amplias",
"Air temperature two meters above the surface": "Temperatura del aire a dos metros sobre la superficie",
"Wind speed units": "Unidades de velocidad del viento",
"Read wind at map center": "Leer el viento en el centro del mapa",
"Read the forecast at the center of the map without changing selection": "Leer el pronóstico en el centro del mapa sin cambiar la selección",
"{model} forecast · {field} ({unit})": "Pronóstico {model} · {field} ({unit})",
"Valid: {time}": "Válido: {time}",
"preparing": "preparando",
"Issued: {time}": "Emitido: {time}",
"Selected field unavailable · wind remains visible": "Campo seleccionado no disponible · el viento sigue visible",
"{error} · wind remains visible": "{error} · el viento sigue visible",
"Surface wind at 10 m. Approximately 1° global grid. Curves follow the 10 m wind field, lifted 12 km for visibility; display height is not weather altitude. View lighting is for readability. Animation shows flow through one fixed forecast; it does not advance time. Color fields drape the globe basemap or the active photorealistic 3D Tiles.": "Viento en superficie a 10 m. Cuadrícula global de aproximadamente 1°. Las curvas siguen el campo de viento a 10 m, elevadas 12 km para que sean visibles; la altura mostrada no es altitud meteorológica. La iluminación de la vista es para facilitar la lectura. La animación muestra el flujo de un único pronóstico fijo; no avanza el tiempo. Los campos de color cubren el mapa base del globo o las 3D Tiles fotorrealistas activas.",
"MODEL": "MODELO",
"FIELD": "CAMPO",
"UNITS": "UNIDADES",
"MOTION": "MOVIMIENTO",
"Forecast": "Pronóstico",
"Interpolated model forecast on an approximately 1° grid. Broad weather patterns, not a street-level measurement.": "Pronóstico de modelo interpolado en una cuadrícula de aproximadamente 1°. Patrones meteorológicos generales, no una medición a pie de calle.",
"No surface reading": "Sin lectura en superficie",
"Aim the map center at Earth": "Apunta el centro del mapa a la Tierra",
" · calm": " · calma",
" from {direction}": " del {direction}",
"WIND AT {coordinates}": "VIENTO EN {coordinates}",
"{model} · valid {time}": "{model} · válido {time}",
"Focusing {label}": "Enfocando {label}",
"Source": "Fuente",
"Could not leave scene: {scene}": "No se pudo salir de la escena: {scene}",
"Seeked: {scene} / {shot}": "Saltado a: {scene} / {shot}",
"Scene transition limit reached — load a shot to reset": "Límite de transiciones de escena alcanzado — carga un plano para restablecer",
"Export failed: {error}": "La exportación falló: {error}",
"Imported {file}": "Importado {file}",
"Import failed: {error}": "La importación falló: {error}",
"Import failed (could not read JSON file)": "La importación falló (no se pudo leer el archivo JSON)",
"Layers refused: {layers}": "Capas rechazadas: {layers}",
"Scene {n}": "Escena {n}",
"Cannot update {scene}: shot inventory changed": "No se puede actualizar {scene}: el inventario de planos cambió",
"Cannot update {scene}: evidence beats changed": "No se puede actualizar {scene}: los momentos de evidencia cambiaron",
"Cannot update {scene}: shot bindings are incomplete": "No se puede actualizar {scene}: los vínculos de los planos están incompletos",
"Updated {count} shots: {scene}": {
"one": "{count} plano actualizado: {scene}",
"many": "{count} de planos actualizados: {scene}",
"other": "{count} planos actualizados: {scene}"
},
"Appended {count} shots: {scene}": {
"one": "{count} plano añadido: {scene}",
"many": "{count} de planos añadidos: {scene}",
"other": "{count} planos añadidos: {scene}"
},
"Select a feature or use Tab and Enter to choose an action.": "Selecciona un elemento o usa Tab y Enter para elegir una acción.",
"Selected feature: {feature}. Choose an action.": "Elemento seleccionado: {feature}. Elige una acción.",
"Action complete": "Acción completada",
"Action unavailable or cancelled": "Acción no disponible o cancelada",
"Scene actions": "Acciones de escena",
"Bhote Koshi Evidence Sequence": "Secuencia de evidencia del Bhote Koshi",
"Nepal Flood Incident": "Incidente de inundación en Nepal",
"{count} scenes": {
"one": "{count} escena",
"many": "{count} de escenas",
"other": "{count} escenas"
},
"{count} shots": {
"one": "{count} plano",
"many": "{count} de planos",
"other": "{count} planos"
},
"{count} data packs": {
"one": "{count} paquete de datos",
"many": "{count} de paquetes de datos",
"other": "{count} paquetes de datos"
},
"{scene} / {pack}: {status}. File: {path}. {attribution} · {license}": "{scene} / {pack}: {status}. Archivo: {path}. {attribution} · {license}",
"Unavailable layers: {layers}": "Capas no disponibles: {layers}",
"This scene uses registered content or linked media. Those external files are not included in a scene bundle. Their original notices still apply.": "Esta escena usa contenido registrado o medios vinculados. Esos archivos externos no se incluyen en un paquete de escena. Sus avisos originales siguen vigentes.",
"{bytes} bundled bytes verified. Files stay in memory for this session. Reimport the bundle after reloading the app.": "{bytes} bytes empaquetados verificados. Los archivos permanecen en memoria durante esta sesión. Vuelve a importar el paquete después de recargar la app.",
"Review scene import": "Revisar la importación de escena",
"Nothing is loaded or changed until you apply this file.": "No se carga ni se cambia nada hasta que apliques este archivo.",
"Ready to import": "Listo para importar",
"Apply replaces the current project. Export your current project first if you want to keep both.": "Aplicar reemplaza el proyecto actual. Exporta primero tu proyecto actual si quieres conservar ambos.",
"Apply import": "Aplicar importación",
"Import was not applied. The current project may have changed.": "La importación no se aplicó. Es posible que el proyecto actual haya cambiado.",
"Select a scene and shot first": "Selecciona primero una escena y un plano",
"Edit scene details": "Editar los detalles de la escena",
"Camera positions use degrees and meters above the ellipsoid. Drafts are validated before they replace your saved scene.": "Las posiciones de cámara usan grados y metros sobre el elipsoide. Los borradores se validan antes de reemplazar tu escena guardada.",
"Anchors and data packs": "Anclas y paquetes de datos",
"Shot camera, timing, packs and actions": "Cámara, tiempos, paquetes y acciones del plano",
"New anchor ID": "ID del ancla nueva",
"Capture camera as anchor": "Capturar la cámara como ancla",
"Anchor added to draft": "Ancla añadida al borrador",
"Set move start to current camera": "Fijar el inicio del movimiento en la cámara actual",
"Move added to draft; destination remains the shot camera": "Movimiento añadido al borrador; el destino sigue siendo la cámara del plano",
"Use ordinary flight": "Usar vuelo normal",
"Invalid shot JSON": "JSON de plano no válido",
"Apply details": "Aplicar detalles",
"Select a scene first": "Selecciona primero una escena",
"Share selected scene": "Compartir la escena seleccionada",
"Scene JSON preserves authored settings and attribution. It does not include asset files. Bundles include only pack files you choose here or previously imported bundle files.": "El JSON de escena conserva los ajustes de autor y la atribución. No incluye archivos de recursos. Los paquetes solo incluyen los archivos de paquete que elijas aquí o los archivos de paquetes importados antes.",
"Download scene JSON": "Descargar JSON de escena",
"Choose data-pack files": "Elegir archivos de paquete de datos",
"Or choose a data-pack folder": "O elige una carpeta de paquete de datos",
"Download asset bundle": "Descargar paquete de recursos",
"Asset bundle downloaded": "Paquete de recursos descargado",
"Could not complete this action. Check the file, references and selected assets.": "No se pudo completar esta acción. Revisa el archivo, las referencias y los recursos seleccionados.",
"RTL-SDR sample stream stopped": "Flujo de muestras RTL-SDR detenido",
"Switching to {mode}…": "Cambiando a {mode}…",
"Browser audio is suspended; select FM again to resume it": "El audio del navegador está suspendido; selecciona FM de nuevo para reanudarlo",
"RTL-SDR gain change failed": "No se pudo cambiar la ganancia del RTL-SDR",
"Tuned to {mhz} MHz FM": "Sintonizado en {mhz} MHz FM",
"FM signal found at {mhz} MHz": "Señal FM encontrada en {mhz} MHz",
"No FM signal found": "No se encontró ninguna señal FM",
"Seek stopped": "Búsqueda detenida",
"Browser location is unavailable": "La ubicación del navegador no está disponible",
"Receiver location was not granted": "No se concedió la ubicación del receptor",
"RTL-SDR disconnected": "RTL-SDR desconectado",
"No RTL-SDR device selected": "No hay ningún dispositivo RTL-SDR seleccionado",
"WebUSB requires desktop Chrome or Edge on localhost/HTTPS": "WebUSB requiere Chrome o Edge de escritorio en localhost/HTTPS",
"RTL-SDR access failed; close other SDR apps and check USB permissions": "No se pudo acceder al RTL-SDR; cierra otras apps de SDR y revisa los permisos USB",
"RTL-SDR connection failed": "La conexión con el RTL-SDR falló",
"Receiving 1090 MHz ADS-B": "Recibiendo ADS-B en 1090 MHz",
"Receiving broadcast FM": "Recibiendo FM de radiodifusión",
"Connect an RTL-SDR to begin.": "Conecta un RTL-SDR para empezar.",
"WebUSB is unavailable in this browser": "WebUSB no está disponible en este navegador",
"SDR decoder worker failed": "El worker del decodificador SDR falló",
"WebUSB requires desktop Chrome or Edge": "WebUSB requiere Chrome o Edge de escritorio",
"Waiting for an RTL-SDR device…": "Esperando un dispositivo RTL-SDR…",
"Browser audio is suspended; press Connect again to resume it": "El audio del navegador está suspendido; pulsa Conectar de nuevo para reanudarlo",
"Return map to straight-down view": "Volver el mapa a la vista cenital",
"Tilt map to oblique view": "Inclinar el mapa a una vista oblicua",
"Reset map to north up. Current heading {heading} degrees": "Orientar el mapa al norte. Rumbo actual: {heading} grados",
"HDG": "HDG",
"PITCH": "PITCH",
"FOV": "FOV",
"RANGE": "RANGE",
"HGT": "HGT",
"{value} KM/H": "{value} KM/H",
"NORMAL": "NORMAL",
"ANIME": "ANIME",
"NOIR": "NOIR",
"Rendered globe frames per second · toggle with `": "Fotogramas por segundo renderizados del globo · alterna con `",
"Utilities": "Utilidades",
"Other layers": "Otras capas",
"Movement": "Movimiento",
"Infrastructure": "Infraestructura",
"Events": "Eventos",
"Weather": "Clima",
"LOCATED": "UBICADO",
"LOCATE": "UBICAR",
"IDLE": "INACTIVO",
"TUNING": "SINTONIZANDO",
"STREAMING": "TRANSMITIENDO",
"UNSUPPORTED": "NO COMPATIBLE",
"waiting for IQ": "esperando IQ",
"{count} messages": {
"one": "{count} mensaje",
"many": "{count} de mensajes",
"other": "{count} mensajes"
},
"DSP {count} blocks": {
"one": "DSP {count} bloque",
"many": "DSP {count} de bloques",
"other": "DSP {count} bloques"
},
"DSP waiting": "DSP en espera",
"{level} dBFS audio": "audio {level} dBFS",
"audio signal --": "señal de audio --",
"audio {state}": "audio {state}",
"{count} HEARD": {
"one": "{count} OÍDA",
"many": "{count} DE OÍDAS",
"other": "{count} OÍDAS"
},
"DISCONNECT": "DESCONECTAR",
"CONNECT": "CONECTAR",
"LOCATING…": "UBICANDO…",
"Drag to resize · double-click the header to snap back": "Arrastra para cambiar el tamaño · doble clic en el encabezado para restaurarlo",
"CH {index} / {total}": "CANAL {index} / {total}",
"Station unavailable after directory refresh": "Emisora no disponible tras actualizar el directorio",
"Clear reading": "Borrar lectura",
"Earlier observation": "Observación anterior",
"Observed history": "Historial observado",
"Later observation": "Observación posterior",
"Latest": "Último",
"Newest frame per product": "Fotograma más reciente por producto",
"Replay observed history": "Reproducir el historial observado",
"S on another day replaces it · × unpins": "S en otro día lo reemplaza · × desfija",
"← → preview · S shows the focused day": "← → vista previa · S muestra el día enfocado",
"Recent imagery": "Imágenes recientes",
"ZOOM IN": "ACERCAR",
"Fly in until the view fits the 1,000 km limit": "Acércate hasta que la vista quepa en el límite de 1000 km",
"Imagery days, newest first · arrows move, S or A and B pin": "Días de imágenes, el más reciente primero · las flechas mueven, S o A y B fijan",
"On the map": "En el mapa",
"Mode": "Modo",
"Imagery on Esri · Google 3D returns when cleared": "Imágenes sobre Esri · Google 3D vuelve al borrarlas",
"Imagery opacity": "Opacidad de las imágenes",
"SWAP": "INTERCAMBIAR",
"VS BASEMAP": "VS MAPA BASE",
"Trade the two sides of the divider": "Intercambiar los dos lados del divisor",
"A / B": "A / B",
"Newest low-cloud day for this box · scene cloud, not box cloud": "Día más reciente con pocas nubes para este recuadro · nubes de la escena, no del recuadro",
"Newest day covering this box · cloudier than 20%": "Día más reciente que cubre este recuadro · más de un 20% de nubes",
"SELECT BOX": "SELECCIONAR RECUADRO",
"Drag a box on the map (Esc cancels)": "Arrastra un recuadro en el mapa (Esc cancela)",
"Newest day with imagery for this box · partial coverage": "Día más reciente con imágenes para este recuadro · cobertura parcial",
"USE VIEW": "USAR VISTA",
"Use the current view as the box": "Usar la vista actual como recuadro",
"Newest daily overview for this box": "Vista general diaria más reciente para este recuadro",
"Forget the box and its images": "Olvidar el recuadro y sus imágenes",
"newest clear day": "día despejado más reciente",
"newest day (cloudy)": "día más reciente (nublado)",
"newest day (partial coverage)": "día más reciente (cobertura parcial)",
"START HERE": "EMPIEZA AQUÍ",
"newest overview": "vista general más reciente",
"No imagery": "Sin imágenes",
"Checking": "Comprobando",
"Loading": "Cargando",
"PREVIEW": "VISTA PREVIA",
"Newest day with imagery for this box": "Día más reciente con imágenes para este recuadro",
"SHOW": "MOSTRAR",
"Pin {day} as {slot}": "Fijar {day} como {slot}",
"Show {day}": "Mostrar {day}",
"pinned {slot}": "fijado en {slot}",
"shown": "mostrado",
"preview": "vista previa",
"start here": "empieza aquí",
"No box": "Sin recuadro",
"Searching": "Buscando",
"Every day is empty here": "Todos los días están vacíos aquí",
"Sources off": "Fuentes desactivadas",
"VS": "VS",
"Not set": "Sin definir",
"Basemap": "Mapa base",
"Source off": "Fuente desactivada",
"Unpin {slot}": "Desfijar {slot}",
"Unpin the image": "Desfijar la imagen",
"EXPORT {slot}": "EXPORTAR {slot}",
"EXPORT": "EXPORTAR",
"Download {slot} as a PNG": "Descargar {slot} como PNG",
"Download the image as a PNG": "Descargar la imagen como PNG",
"Box {width} × {height} km": "Recuadro de {width} × {height} km",
"no imagery": "sin imágenes",
"Acquired {time}": "Adquirida {time}",
"cloud unknown": "nubosidad desconocida",
"Coverage {coverage}": "Cobertura {coverage}",
"unknown": "desconocida",
"START HERE · {reason}": "EMPIEZA AQUÍ · {reason}",
"Daily overview shows little detail in a box this small": "La vista general diaria muestra poco detalle en un recuadro tan pequeño",
"{percent}% cloud": "{percent}% de nubes",
"Imagery: NASA GIBS and Worldview · HLS (Sentinel-2, Landsat 8/9) and VIIRS": "Imágenes: NASA GIBS y Worldview · HLS (Sentinel-2, Landsat 8/9) y VIIRS",
"{min}–{max}% cloud": "{min}–{max}% de nubes",
"Details": "Detalles",
"Times, coverage, sources": "Horas, cobertura, fuentes",
"HIDE EMPTY DAYS": "OCULTAR DÍAS VACÍOS",
"SHOW EMPTY DAYS · {count}": "MOSTRAR DÍAS VACÍOS · {count}",
"Days the probe found empty in this box": "Días que el sondeo encontró vacíos en este recuadro",
"NO BOX": "SIN RECUADRO",
"image": "imagen",
"BASEMAP": "MAPA BASE",
"The basemap": "El mapa base",
"basemap": "mapa base",
"SEARCHING": "BUSCANDO",
"{count} DAYS": {
"one": "{count} DÍA",
"many": "{count} DE DÍAS",
"other": "{count} DÍAS"
},
"Recent imagery against the basemap divider": "Divisor de imágenes recientes frente al mapa base",
"Recent imagery A and B divider": "Divisor A y B de imágenes recientes",
"{before} {left} percent, {after} {right} percent": "{before} {left} por ciento, {after} {right} por ciento",
"Zoom in or draw a smaller box": "Acércate o dibuja un recuadro más pequeño",
"Select a box or use the view": "Selecciona un recuadro o usa la vista",
"Searching the last 30 days": "Buscando en los últimos 30 días",
"No days to show for this box": "No hay días que mostrar para este recuadro",
"Drag the divider · SWAP trades sides": "Arrastra el divisor · INTERCAMBIAR cambia los lados",
"Export failed · {error}": "La exportación falló · {error}",
"← → preview · A or B pins the focused day": "← → vista previa · A o B fija el día enfocado",
"← → preview the other side · A or B pins it": "← → vista previa del otro lado · A o B lo fija",
"LOAD": "CARGAR",
"No shots yet. Use CAPTURE SHOT to save current look.": "Aún no hay planos. Usa CAPTURAR PLANO para guardar el aspecto actual.",
"Double-click to rename": "Doble clic para cambiar el nombre",
"Shot name": "Nombre del plano",
"RETRYING ALPR CAMERAS": "REINTENTANDO CÁMARAS ALPR",
"FETCHING ALPR CAMERAS": "OBTENIENDO CÁMARAS ALPR",
"OVERPASS TEMPORARILY UNAVAILABLE": "OVERPASS TEMPORALMENTE NO DISPONIBLE",
"Weather data by Open-Meteo.com": "Datos meteorológicos de Open-Meteo.com",
"ESC EXIT": "ESC SALIR",
"C TOGGLE": "C ALTERNAR",
"SIG": "SIG",
"NEWS": "NEWS",
"LOCAL": "LOCAL",
"Cockpit briefing pages": "Páginas de información de la cabina",
"MM": "MM",
"KTS": "KN",
"FT": "FT",
"FLT": "FLT",
"MIL": "MIL",
"SITE": "SITE",
"WX": "WX",
"DIRECTORY: RADIO BROWSER": "DIRECTORIO: RADIO BROWSER",
"Use your location for faster ADS-B position decoding": "Usa tu ubicación para decodificar más rápido las posiciones ADS-B",
"CHANGE DEVICE": "CAMBIAR DISPOSITIVO",
"Choose a different RTL-SDR or receiver channel": "Elige otro RTL-SDR u otro canal del receptor",
"TUNE": "SINTONIZAR",
"◀ SEEK": "◀ BUSCAR",
"SEEK ▶": "BUSCAR ▶",
"Local RTL-SDR receiver": "Receptor RTL-SDR local",
"RTL-SDR receiver mode": "Modo del receptor RTL-SDR",
"Seek broadcast FM stations": "Buscar emisoras de FM",
"Tune available internet radio stations": "Sintonizar las emisoras de radio por Internet disponibles",
"Local SDR volume": "Volumen del SDR local",
"GAIN": "GANANCIA",
"FM MHZ": "FM MHZ",
"AUTO": "AUTO",
"Chrome/Edge · WebUSB · one local tuner shared by FM and the Local ADS-B layer.": "Chrome/Edge · WebUSB · un sintonizador local compartido por FM y la capa ADS-B local.",
"RTL-SDR tuner gain for the current mode": "Ganancia del sintonizador RTL-SDR para el modo actual",
"WEATHER": "CLIMA",
"Active weather products": "Productos meteorológicos activos",
"RECENT IMAGERY": "IMÁGENES RECIENTES",
"Imagery days in the box": "Días de imágenes en el recuadro",
"MSG/S": "MSG/S",
"HEARD": "OÍDAS",
"POSITIONED": "POSICIONADAS",
"SDR VOL": "VOL. SDR",
"LOCAL RTL-SDR": "RTL-SDR LOCAL",
"Cyber sonar contact scanner": "Escáner sonar de contactos Cyber",
"Sonar ring count": "Número de anillos del sonar",
"Sonar ring range": "Alcance de los anillos del sonar",
"Sonar intensity": "Intensidad del sonar",
"Cyber contact and label opacity": "Opacidad de contactos y etiquetas Cyber",
"Minimum opacity for map dots, icons, models, brackets, and labels between sonar passes": "Opacidad mínima de puntos, iconos, modelos, corchetes y etiquetas del mapa entre pasadas del sonar",
"Sonar sector width": "Ancho del sector del sonar",
"Rings": "Anillos",
"Range": "Alcance",
"Power": "Potencia",
"Opacity": "Opacidad",
"Sector": "Sector",
"Cyber": "Cyber",
"Sonar": "Sonar",
"Turn Street Level on or off": "Activar o desactivar A pie de calle",
"Toggle straight-down and tilted map views": "Alternar entre la vista cenital y la vista inclinada del mapa",
"Reset map to north up": "Orientar el mapa al norte",
"Reset map bearing to north": "Restablecer la orientación del mapa al norte",
"Rain radar": "Radar de lluvia",
"Lightning density": "Densidad de rayos",
"LATEST · newest per product": "ÚLTIMO · más reciente por producto",
"Forecast · valid {valid} · issued {issued}": "Pronóstico · válido {valid} · emitido {issued}",
"{detail} · Does not follow history": "{detail} · No sigue el historial",
"Forecast · valid {valid}": "Pronóstico · válido {valid}",
"{time} · {minutes} min ago": "{time} · hace {minutes} min",
"Active weather": "Clima activo",
"MINI": "MINI",
"STD": "STD",
"standard": "estándar",
"mini": "mini",
"COST UNKNOWN": "COSTO DESCONOCIDO",
"ChatGPT OAuth session: {responses} response(s), {input} input and {output} output tokens, {captions} caption transcription(s) reported.": "Sesión OAuth de ChatGPT: {responses} respuesta(s), {input} tokens de entrada y {output} de salida, {captions} transcripción(es) de subtítulos informadas.",
"USD cost and the API spend cap are unavailable for this auth mode.": "El costo en USD y el límite de gasto de la API no están disponibles con este modo de autenticación.",
"Usage is incomplete because a response was still in flight when the session ended.": "El uso está incompleto porque una respuesta seguía en curso cuando terminó la sesión.",
"Toggle voice control": "Alternar el control de voz",
"Activate to toggle voice": "Activa para conectar o cortar la voz",
"Voice active": "Voz activa",
"Voice could not be started.": "No se pudo iniciar la voz.",
"degraded": "degradado",
"stale": "desactualizado",
"partial": "parcial",
"fallback": "respaldo",
"unavailable": "no disponible",
"{label} on": "{label}: activado",
"{label} off": "{label}: desactivado",
"Frame aircraft": "Encuadrar aeronaves",
"Frame military aircraft": "Encuadrar aeronaves militares",
"Frame ships": "Encuadrar buques",
"Frame satellites": "Encuadrar satélites",
"Frame contacts": "Encuadrar contactos",
"{count} aircraft in frame": {
"one": "{count} aeronave en el encuadre",
"many": "{count} de aeronaves en el encuadre",
"other": "{count} aeronaves en el encuadre"
},
"{count} military aircraft in frame": {
"one": "{count} aeronave militar en el encuadre",
"many": "{count} de aeronaves militares en el encuadre",
"other": "{count} aeronaves militares en el encuadre"
},
"{count} ships in frame": {
"one": "{count} buque en el encuadre",
"many": "{count} de buques en el encuadre",
"other": "{count} buques en el encuadre"
},
"{count} satellites in frame": {
"one": "{count} satélite en el encuadre",
"many": "{count} de satélites en el encuadre",
"other": "{count} satélites en el encuadre"
},
"{count} contacts in frame": {
"one": "{count} contacto en el encuadre",
"many": "{count} de contactos en el encuadre",
"other": "{count} contactos en el encuadre"
},
"Nearest military aircraft": "Aeronaves militares más cercanas",
"Nearest ships": "Buques más cercanos",
"Nearest satellites": "Satélites más cercanos",
"Nearest aircraft": "Aeronaves más cercanas",
"{first} and {second}": "{first} y {second}",
"Camera range {range}": "Alcance de la cámara {range}",
"Within {radius} of the view": "En un radio de {radius} desde la vista",
"Labels on": "Etiquetas activadas",
"Framing uses the nearest 80 loaded contacts": "El encuadre usa los 80 contactos cargados más cercanos",
"{distance} from {location}": "A {distance} de {location}",
"Altitude {altitude}": "Altitud {altitude}",
"{origin} to {destination}": "{origin} a {destination}",
"from {origin}": "desde {origin}",
"to {destination}": "a {destination}",
"Registration {registration}": "Matrícula {registration}",
"Route {route}": "Ruta {route}",
"View state": "Estado de la vista",
"Marked {count} places": {
"one": "{count} lugar marcado",
"many": "{count} de lugares marcados",
"other": "{count} lugares marcados"
},
"Nothing marked": "Nada marcado",
"Not found: {places}": "No encontrado: {places}",
"Tracing outlines": "Trazando contornos",
"Mark the map": "Marcar el mapa",
"Mark {targets} +{more}": "Marcar {targets} +{more}",
"Mark {targets}": "Marcar {targets}",
"Fly to {place}": "Volar a {place}",
"Nearest aircraft to {place}": "Aeronaves más cercanas a {place}",
"Read the view": "Leer la vista",
"Check view state": "Comprobar el estado de la vista",
"Frame {target}": "Encuadrar {target}",
"Finding places": "Buscando lugares",
"Tracing outline": "Trazando contorno",
"Looking up place": "Buscando lugar",
"Flying": "Volando",
"Turning on layer": "Activando capa",
"Loading aircraft": "Cargando aeronaves",
"Picking nearest": "Eligiendo la más cercana",
"Working": "Trabajando",
"{value} feet": "{value} pies",
"nominal": "nominal",
"Source: {label}": "Fuente: {label}",
"N": "N",
"NNE": "NNE",
"NE": "NE",
"ENE": "ENE",
"E": "E",
"ESE": "ESE",
"SE": "SE",
"SSE": "SSE",
"S": "S",
"SSW": "SSO",
"SW": "SO",
"WSW": "OSO",
"W": "O",
"WNW": "ONO",
"NW": "NO",
"NNW": "NNO",
"Local ADS-B": "ADS-B local",
"Transit": "Transporte público",
"Recent Imagery": "Imágenes recientes",
"Fire Perimeters": "Perímetros de incendios",
"Cyclone advisories": "Avisos de ciclones",
"EDIT DETAILS": "EDITAR DETALLES",
"SHARE SCENE": "COMPARTIR ESCENA",
"ON/OFF": "ON/OFF",
"Voice assistant": "Asistente de voz",
"VOICE": "VOZ",
"Dismiss voice card": "Cerrar la tarjeta de voz",
"YOU": "TÚ",
"THIS": "ESTO",
"HERE": "AQUÍ",
"Plan": "Plan",
"Referenced items": "Elementos citados",
"NOTES & SOURCES": "NOTAS Y FUENTES",
"ΔN": "ΔN",
"ΔE": "ΔE"
}