fix(i18n): fix Russian layouts and the gaps the screenshot review found

A review of the Russian UI screenshots found ~90 places where longer words
broke the layout or text was still English. Fixed so they hold for any
language, then shortened where a control is short by design.

- Layout: label columns that size to their text (weather and wind settings,
  Recent Imagery slots and opacity, style sliders, display panel), layer
  list names and icons, buttons that wrap instead of overflowing (CCTV,
  scenes, Bhote Koshi), voice header that always shows the cost, styled
  EN | ES | RU chips, voice error tray above the dock.
- t() context: t('CLEAR', { context: 'action' }) is «СБРОСИТЬ» while the sky
  stays «ЯСНО»; also used for radio categories, voice states and directions.
- Units and dates follow the locale through src/ui/unitLabels.js
  (formatQuantity: localized number, translated unit, non-breaking space):
  wind, pressure, cyclones, directions, CCTV, SDR gain, scene timing, flight
  tooltip, Recent Imagery dates and resolution.
- Newly translated: directions turn-by-turn steps (built from the maneuver;
  English matches the server word for word), HUD mode and summary, voice
  card states, radio categories on the globe, CCTV status, layer source
  lines, scene dialogs (Cancel, file pickers), Bhote Koshi statuses, titles,
  comparison dates and caveat, Recent Imagery notices. Stored data and text
  for AI tools stay English.
- es and ru: 1,885 messages each.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
German KhokhlovandClaude Opus 5.5 committed 2026-10-12 21:18:03 +04:00
1 parent 3129e531e6
commit 2b6ccad732
71 files changed
+2435 -370

No files matched your search

+228 -18
View File
@@ -275,13 +275,13 @@
"Expand contact panel": "Expandir el panel de contacto",
"Expand cockpit briefing panel": "Expandir el panel de información de la cabina",
"Expand briefing panel": "Expandir el panel de información",
"CYCLE ON": "CICLO ACTIVADO",
"CYCLE OFF": "CICLO DESACTIVADO",
"CYCLE ON": "CICLO: SÍ",
"CYCLE OFF": "CICLO: NO",
"Stop automatic page cycling. Previous, Next, and the SIG/NEWS/LOCAL tabs stay available.": "Detén el cambio automático de páginas. Anterior, Siguiente y las pestañas SIG/NEWS/LOCAL siguen disponibles.",
"REGIONAL NEWS": "NOTICIAS REGIONALES",
"LOCAL INFO": "INFORMACIÓN LOCAL",
"LATEST LOCATION-MATCHED REPORTING": "ÚLTIMOS REPORTES SEGÚN UBICACIÓN",
"PLACE / CONDITIONS / POSITION": "LUGAR / CONDICIONES / POSICIÓN",
"PLACE / CONDITIONS / POSITION": "LUGAR / CLIMA / POSICIÓN",
"POSITION UNAVAILABLE": "POSICIÓN NO DISPONIBLE",
"REGIONAL NEWS UNAVAILABLE": "NOTICIAS REGIONALES NO DISPONIBLES",
"REGION UNAVAILABLE": "REGIÓN NO DISPONIBLE",
@@ -360,7 +360,7 @@
"CURATED": "CURADA",
"RAW PRIOR": "PREVIA SIN PROCESAR",
"MONITOR": "MONITOR",
"{city} · HDG {heading} · FOV {fov} · RANGE {range}m · {projection}{calBadge} · {provider}{status}": "{city} · HDG {heading} · FOV {fov} · RANGE {range}m · {projection}{calBadge} · {provider}{status}",
"{city} · HDG {heading} · FOV {fov} · RANGE {range}m · {projection}{calBadge} · {provider}{status}": "{city} · HDG {heading} · FOV {fov} · RANGE {range} m · {projection}{calBadge} · {provider}{status}",
"{count} cameras loaded · click a camera to activate": {
"one": "{count} cámara cargada · haz clic en una cámara para activarla",
"many": "{count} de cámaras cargadas · haz clic en una cámara para activarla",
@@ -442,7 +442,7 @@
"SNAPS TO AVAILABLE STATIONS": "SE AJUSTA A EMISORAS DISPONIBLES",
"Radio playback": "Reproducción de Radio",
"Previous filtered station": "Emisora filtrada anterior",
"PLAY": "REPRODUCIR",
"PLAY": "ESCUCHAR",
"Play selected station": "Reproducir la emisora seleccionada",
"Next filtered station": "Siguiente emisora filtrada",
"STOP": "DETENER",
@@ -792,8 +792,6 @@
"City Overload": "Sobrecarga urbana",
"Omniscience Pullback": "Alejamiento omnisciente",
"CONNECTING": "CONECTANDO",
"LISTENING": "ESCUCHANDO",
"EXECUTING": "EJECUTANDO",
"ERROR": "ERROR",
"Session ended — cost cap {cost}": "Sesión finalizada — límite de costo {cost}",
"VOICE STANDBY": "VOZ EN ESPERA",
@@ -801,7 +799,7 @@
"VOICE UNAVAILABLE": "VOZ NO DISPONIBLE",
"WebRTC microphone support unavailable": "Compatibilidad con micrófono WebRTC no disponible",
"Requesting microphone": "Solicitando micrófono",
"Hold Space to talk": "Mantén pulsado Space para hablar",
"Hold Space to talk": "Mantén Space y habla",
"Release Space to send": "Suelta Space para enviar",
"Ask or command": "Pregunta o ordena",
"Voice off": "Voz desactivada",
@@ -839,7 +837,7 @@
"Live ships, worldwide": "Buques en vivo, en todo el mundo",
"Live active-fire detections": "Detecciones de incendios activos en vivo",
"Real live traffic (keyless runs a simulation)": "Tráfico real en vivo (sin clave usa una simulación)",
"Bing imagery map stacks + world terrain": "Conjuntos de mapas Bing imagery + terreno mundial",
"Bing imagery map stacks + world terrain": "Imágenes de Bing + terreno mundial",
"More flight-polling credits (anonymous works without)": "Más créditos de consulta de vuelos (sin clave funciona el modo anónimo)",
"Higher space-missions request allowance": "Mayor límite de peticiones para misiones espaciales",
"Scene action failed": "La acción de escena falló",
@@ -847,7 +845,7 @@
"Next session: {pendingId} — this session stays on {modelId}": "Sesión siguiente: {pendingId} — esta sesión sigue en {modelId}",
"Voice model: {pendingId} — click to switch to {target}; applies next session": "Modelo de voz: {pendingId} — haz clic para cambiar a {target}; se aplica en la próxima sesión",
"Estimated session cost on {modelId} — {responses} response(s). Warns at {warn}, ends the session at {cap}.": "Costo de sesión estimado en {modelId} — {responses} respuesta(s). Avisa a {warn} y cierra la sesión a {cap}.",
"Street-level imagery and coverage in the Street Level layer. Free: register an app in the Mapillary developer dashboard and paste its Client Token": "Imágenes y cobertura a nivel de calle en la capa A pie de calle. Gratis: registra una app en el panel de desarrolladores de Mapillary y pega su Client Token",
"Street-level imagery and coverage in the Street Level layer. Free: register an app in the Mapillary developer dashboard and paste its Client Token": "Imágenes y cobertura a nivel de calle en la capa A pie de calle. Gratis: registra una app en el panel de desarrolladores de Mapillary y pega su token de cliente (Client Token)",
"Voice control — API key or ChatGPT OAuth": "Control de voz — clave de API u OAuth de ChatGPT",
"WITHIN {km} KM": "A MENOS DE {km} KM",
"Syncing flow · Roads: {source}": "Sincronizando flujo · Vías: {source}",
@@ -988,7 +986,7 @@
"{provider} · EMBEDDED SOURCE": "{provider} · FUENTE INSERTADA",
"OPEN ORIGINAL ↗": "ABRIR ORIGINAL ↗",
"{provider} media: {source}": "Contenido de {provider}: {source}",
"{provider} · PROVIDER CONTROLS": "{provider} · CONTROLES DEL PROVEEDOR",
"{provider} · PROVIDER CONTROLS": "{provider} · CONTROLES NATIVOS",
"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.",
@@ -1002,10 +1000,10 @@
"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",
"X POST · PROVIDER CONTROLS": "PUBLICACIÓN DE X · CONTROLES NATIVOS",
"{reason} OPEN ORIGINAL.": "{reason} ABRE EL ORIGINAL.",
"X embed unavailable": "Inserción de X no disponible",
"FACEBOOK · PROVIDER CONTROLS": "FACEBOOK · CONTROLES DEL PROVEEDOR",
"FACEBOOK · PROVIDER CONTROLS": "FACEBOOK · CONTROLES NATIVOS",
"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}",
@@ -1519,13 +1517,13 @@
"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",
"SWAP": "CAMBIO",
"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",
"SELECT BOX": "SELECCIONAR",
"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",
@@ -1559,7 +1557,7 @@
"Source off": "Fuente desactivada",
"Unpin {slot}": "Desfijar {slot}",
"Unpin the image": "Desfijar la imagen",
"EXPORT {slot}": "EXPORTAR {slot}",
"EXPORT {slot}": "EXP. {slot}",
"EXPORT": "EXPORTAR",
"Download {slot} as a PNG": "Descargar {slot} como PNG",
"Download the image as a PNG": "Descargar la imagen como PNG",
@@ -1597,7 +1595,7 @@
"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",
"Drag the divider · SWAP trades sides": "Arrastra el divisor · CAMBIO invierte 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",
@@ -1801,5 +1799,217 @@
"Referenced items": "Elementos citados",
"NOTES & SOURCES": "NOTAS Y FUENTES",
"ΔN": "ΔN",
"ΔE": "ΔE"
"ΔE": "ΔE",
"action|CLEAR": "BORRAR",
"ALPR Cameras": "Cámaras ALPR",
"Military aircraft": "Aeronaves militares",
"Vessels": "Buques",
"CCTV + Street View fallback": "CCTV + respaldo de Street View",
"OpenStreetMap + optional Google Maps Places": "OpenStreetMap + Google Maps Places opcional",
"GFS / ECMWF IFS · FORECAST": "GFS / ECMWF IFS · PRONÓSTICO",
"NOAA nowCOAST · OBSERVED": "NOAA nowCOAST · OBSERVADO",
"NASA FIRMS · LIVE": "NASA FIRMS · EN VIVO",
"data source|Local": "Datos locales",
"overview": "vista general",
"{percent}% scene cloud": "{percent}% de nubes en la escena",
"{min}–{max}% scene cloud": "{min}–{max}% de nubes en la escena",
"Sentinel-2 via HLS": "Sentinel-2 vía HLS",
"Landsat 8/9 via HLS": "Landsat 8/9 vía HLS",
"coverage|full": "completa",
"coverage|partial": "parcial",
"m": "m",
"km/h": "km/h",
"m/s": "m/s",
"mph": "mph",
"hPa": "hPa",
"kt": "kn",
"km": "km",
"h": "h",
"min": "min",
"s": "s",
"direction|left": "a la izquierda",
"direction|right": "a la derecha",
"direction|slightly left": "ligeramente a la izquierda",
"direction|slightly right": "ligeramente a la derecha",
"direction|sharply left": "bruscamente a la izquierda",
"direction|sharply right": "bruscamente a la derecha",
"direction|straight": "recto",
"direction|around": "en sentido contrario",
"ordinal|{number}st": "{number}.ª",
"ordinal|{number}nd": "{number}.ª",
"ordinal|{number}rd": "{number}.ª",
"ordinal|{number}th": "{number}.ª",
"Head out on {road}": "Sal por {road}",
"Head out": "Sal",
"Arrive at your destination": "Has llegado a tu destino",
"Arrive at your destination, on the left": "Tu destino está a la izquierda",
"Arrive at your destination, on the right": "Tu destino está a la derecha",
"Make a U-turn": "Da la vuelta",
"Make a U-turn onto {road}": "Da la vuelta hacia {road}",
"Continue straight": "Sigue recto",
"Continue straight onto {road}": "Sigue recto por {road}",
"Turn {direction}": "Gira {direction}",
"Turn {direction} onto {road}": "Gira {direction} hacia {road}",
"maneuver|Turn": "Gira",
"Turn onto {road}": "Gira hacia {road}",
"Continue {direction}": "Sigue {direction}",
"Continue {direction} onto {road}": "Sigue {direction} por {road}",
"maneuver|Continue": "Continúa",
"Continue onto {road}": "Continúa por {road}",
"At the end of the road, turn {direction}": "Al final de la vía, gira {direction}",
"At the end of the road, turn {direction} onto {road}": "Al final de la vía, gira {direction} hacia {road}",
"At the end of the road, continue": "Al final de la vía, continúa",
"At the end of the road, continue onto {road}": "Al final de la vía, continúa por {road}",
"Keep {direction} at the fork": "En la bifurcación, mantente {direction}",
"Keep {direction} at the fork onto {road}": "En la bifurcación, mantente {direction} hacia {road}",
"Continue at the fork": "En la bifurcación, continúa",
"Continue at the fork onto {road}": "En la bifurcación, continúa por {road}",
"Merge {direction}": "Incorpórate {direction}",
"Merge {direction} onto {road}": "Incorpórate {direction} a {road}",
"maneuver|Merge": "Incorpórate",
"Merge onto {road}": "Incorpórate a {road}",
"Take the ramp on the {direction}": "Toma la rampa {direction}",
"Take the ramp on the {direction} onto {road}": "Toma la rampa {direction} hacia {road}",
"Take the ramp": "Toma la rampa",
"Take the ramp onto {road}": "Toma la rampa hacia {road}",
"Take the exit on the {direction}": "Toma la salida {direction}",
"Take the exit on the {direction} onto {road}": "Toma la salida {direction} hacia {road}",
"Take the exit": "Toma la salida",
"Take the exit onto {road}": "Toma la salida hacia {road}",
"At the roundabout, take the {exit} exit": "En la rotonda, toma la {exit} salida",
"At the roundabout, take the {exit} exit onto {road}": "En la rotonda, toma la {exit} salida hacia {road}",
"Enter the roundabout": "Entra en la rotonda",
"Enter the roundabout onto {road}": "Entra en la rotonda hacia {road}",
"At the roundabout, turn {direction}": "En la rotonda, gira {direction}",
"At the roundabout, turn {direction} onto {road}": "En la rotonda, gira {direction} hacia {road}",
"At the roundabout, continue": "En la rotonda, continúa",
"At the roundabout, continue onto {road}": "En la rotonda, continúa por {road}",
"Exit the roundabout": "Sal de la rotonda",
"Exit the roundabout onto {road}": "Sal de la rotonda hacia {road}",
"Use the {direction} lane": "Usa el carril {direction}",
"Use the {direction} lane onto {road}": "Usa el carril {direction} hacia {road}",
"voice|OFF": "APAG.",
"voice|CONNECTING": "CONEX…",
"voice|LISTENING": "OYENDO",
"voice|EXECUTING": "ACCIÓN",
"voice|ERROR": "ERROR",
"MIC": "MIC",
"WORKING": "EN CURSO",
"DONE": "LISTO",
"Outline traced": "Contorno trazado",
"Outline unavailable": "Contorno no disponible",
"in progress": "en curso",
"done": "listo",
"failed": "falló",
"cancelled": "cancelado",
"view band|STREET": "CALLE",
"view band|CITY": "CIUDAD",
"view band|METRO": "METRÓPOLI",
"view band|REGIONAL": "REGIÓN",
"view band|GLOBAL": "GLOBAL",
"NEAR {poi} ({city}) {distance}": "CERCA DE {poi} ({city}) {distance}",
"SECTOR {lat} {lon}": "SECTOR {lat} {lon}",
"ARCTIC": "ÁRTICO",
"ANTARCTIC": "ANTÁRTIDA",
"NORTH AMERICA": "NORTEAMÉRICA",
"SOUTH AMERICA": "SUDAMÉRICA",
"EUROPE": "EUROPA",
"AFRICA": "ÁFRICA",
"ASIA": "ASIA",
"OCEANIA": "OCEANÍA",
"NORTHERN OCEANIC GRID": "CUADRÍCULA OCEÁNICA NORTE",
"SOUTHERN OCEANIC GRID": "CUADRÍCULA OCEÁNICA SUR",
"N/A": "N/D",
"{mode} {band} {locality} | {region} | ALT {alt} | WINDOW {window} | SUN {sun}° | ONA {ona}° | {zone}": "{mode} {band} {locality} | {region} | ALT {alt} | VENTANA {window} | SUN {sun}° | ONA {ona}° | {zone}",
"{label} · {radius} AIR/SEA WINDOW": "{label} · VENTANA AIRE/MAR {radius}",
"{scope} · INSTALLATIONS {coverage}": "{scope} · INSTALACIONES: {coverage}",
"{source} · LOCATION QUERY · RECENT": "{source} · CONSULTA POR UBICACIÓN · RECIENTE",
"ft": "ft",
"kts": "kn",
"PAUSE": "PAUSA",
"RESUME": "REANUDAR",
"dB": "dB",
"radio|NEWS": "NOTICIAS",
"radio|TALK": "TERTULIA",
"radio|WEATHER": "CLIMA",
"radio|SAFETY": "SEGURIDAD",
"radio|AIR / SEA": "AIRE / MAR",
"radio|TRANSIT": "TRANSPORTE",
"radio|MUSIC": "MÚSICA",
"radio|OTHER": "OTROS",
"SNAPSHOT": "INSTANTÁNEA",
"LIVE": "EN VIVO",
"UPSTREAM": "ORIGEN",
"SYNTHETIC": "SINTÉTICO",
"CONFIGURED": "CONFIGURADO",
"SEED": "CATÁLOGO",
"Live HLS connected": "HLS en vivo conectado",
"Live HLS unavailable": "HLS en vivo no disponible",
"No stream URL configured": "No hay URL de transmisión configurada",
"Live stream connected": "Transmisión en vivo conectada",
"Snapshot feed connected": "Fuente de instantáneas conectada",
"Media fetch failed": "Error al obtener el contenido multimedia",
"Upstream snapshot active": "Instantánea de origen activa",
"Fallback Street View frame": "Fotograma de respaldo de Street View",
"Upstream unavailable": "Origen no disponible",
"No source configured": "No hay fuente configurada",
"Upstream HTTP {status}": "Origen: HTTP {status}",
"Unexpected media type {type}": "Tipo de contenido inesperado: {type}",
"Configured source": "Fuente configurada",
"Synthetic fallback": "Respaldo sintético",
"Cancel": "Cancelar",
"Choose files": "Elegir archivos",
"No file chosen": "Ningún archivo seleccionado",
"{count} files selected": {
"one": "{count} archivo seleccionado",
"many": "{count} de archivos seleccionados",
"other": "{count} archivos seleccionados"
},
"Rasuwagadhi witness video": "Video del testigo de Rasuwagadhi",
"Bhote Koshi valley footage": "Imágenes del valle del Bhote Koshi",
"Flood footage": "Imágenes de la inundación",
"Compilation and casualty claims": "Recopilación y afirmaciones sobre víctimas",
"SOURCE GEOCONFIRMED · WORLD-PINNED": "FUENTE GEOCONFIRMADA · FIJADA EN EL MAPA",
"SOURCE CREDITED · LOCATION UNRESOLVED": "FUENTE ACREDITADA · UBICACIÓN SIN RESOLVER",
"REFERENCE ONLY · CLAIMS UNVERIFIED": "SOLO REFERENCIA · AFIRMACIONES SIN VERIFICAR",
"SOURCE GEOCONFIRMED": "FUENTE GEOCONFIRMADA",
"2021 historical reference versus 2026 post-event imagery; changes are cumulative and include the July 2025 Rasuwagadhi flood. Schematic downstream progression, not modeled arrival time; not an official hazard model.": "Referencia histórica de 2021 frente a imágenes posteriores al evento de 2026; los cambios son acumulativos e incluyen la inundación de Rasuwagadhi de julio de 2025. Avance esquemático aguas abajo, no un tiempo de llegada modelado; no es un modelo oficial de peligro.",
"Immediate collapse viewpoint": "Punto de vista junto al colapso",
"Collapse viewpoint": "Vista del colapso",
"Debris-dammed lake": "Lago represado por escombros",
"Dammed lake": "Lago represado",
"Second landslide": "Segundo deslizamiento",
"Gyirong border gate": "Paso fronterizo de Gyirong",
"Border gate": "Paso fronterizo",
"Timure evidence cluster": "Grupo de evidencias de Timure",
"Mailung / Upper Trishuli bridge": "Mailung / puente de Upper Trishuli",
"Dandagaun viewpoint restaurant": "Restaurante mirador de Dandagaun",
"Dandagaun viewpoint": "Mirador de Dandagaun",
"Bidur - Trishuli bridge": "Puente Bidur - Trishuli",
"Bidur bridge": "Puente de Bidur",
"Devighat / Taadi Khola Bridge": "Devighat / puente de Taadi Khola",
"Devighat bridge": "Puente de Devighat",
"Global Incident Context": "Contexto global del incidente",
"Nepal-Focused Globe Rotation": "Rotación del globo hacia Nepal",
"Bhote Koshi Regional Approach": "Aproximación regional al Bhote Koshi",
"Bhote Koshi Nearby Cities": "Ciudades cercanas al Bhote Koshi",
"Bhote Koshi Incident Corridor": "Corredor del incidente del Bhote Koshi",
"Bhote Koshi Flood Path": "Trayectoria de la inundación del Bhote Koshi",
"Bhote Koshi Corridor Overview": "Vista general del corredor del Bhote Koshi",
"Bhote Koshi Upper Valley": "Valle alto del Bhote Koshi",
"Upper Valley Collapse": "Colapso en el valle alto",
"Debris-Dammed Lake": "Lago represado por escombros",
"Nepal-China Border Gate": "Paso fronterizo Nepal-China",
"Timure Evidence Cluster": "Grupo de evidencias de Timure",
"Syabru Besi Passage": "Paso por Syabru Besi",
"Bidur / Trishuli Consequence": "Consecuencias en Bidur / Trishuli",
"Final view": "Vista final",
"{year} HISTORICAL REFERENCE": "REFERENCIA HISTÓRICA {year}",
"{year} POST-EVENT": "POSTERIOR AL EVENTO {year}",
"Esri map unavailable · no swipe": "Mapa Esri no disponible · sin comparación",
"Swipe needs a globe map": "La comparación necesita un mapa de globo",
"Imagery stays on Esri · CLEAR to use Google 3D": "Las imágenes siguen en Esri · BORRAR para usar Google 3D",
"Box and images cleared": "Recuadro e imágenes borrados",
"Box is {size} wide · limit {limit}": "El recuadro mide {size} · límite {limit}",
"View is {size} wide · limit {limit}": "La vista mide {size} · límite {limit}"
}