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

+247 -36
View File
@@ -73,7 +73,7 @@
"Remove this key from your saved configuration?": "Удалить этот ключ из сохранённой конфигурации?",
"Removed from {store}. Restarting — this page reloads itself.": "Удалено: {store}. Перезапуск — страница перезагрузится сама.",
"More flight-polling credits (anonymous works without)": "Больше кредитов на опрос рейсов (анонимно работает и без ключа)",
"Street-level imagery and coverage in the Street Level layer. Free: register an app in the Mapillary developer dashboard and paste its Client Token": "Уличные снимки и покрытие в слое «Уличные снимки». Бесплатно: зарегистрируйте приложение в панели разработчика Mapillary и вставьте его 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": "Уличные снимки и покрытие в слое «Уличные снимки». Бесплатно: зарегистрируйте приложение в панели разработчика Mapillary и вставьте его клиентский токен (Client Token)",
"Higher space-missions request allowance": "Повышенный лимит запросов для космических миссий",
"The photorealistic 3D planet + place search": "Фотореалистичная 3D-планета + поиск мест",
"Places context + Street View fallback; optional separate key": "Контекст Places + резервный Street View; отдельный ключ — по желанию",
@@ -81,7 +81,7 @@
"Live ships, worldwide": "Суда в реальном времени по всему миру",
"Live active-fire detections": "Обнаружение активных пожаров в реальном времени",
"Real live traffic (keyless runs a simulation)": "Реальные пробки в реальном времени (без ключа — симуляция)",
"Bing imagery map stacks + world terrain": "Наборы карт Bing imagery + рельеф мира",
"Bing imagery map stacks + world terrain": "Снимки Bing + рельеф мира",
"Global Context navigation": "Навигация глобального контекста",
"Previous — prior visited contact in the 250 km window": "Назад — предыдущий посещённый контакт в радиусе 250 км",
"PREVIOUS": "ПРЕД.",
@@ -295,7 +295,7 @@
"CCTV layer unavailable": "Слой CCTV недоступен",
"Link copied!": "Ссылка скопирована!",
"Copy failed": "Не удалось скопировать",
"VISUAL PRESETS": "ВИЗУАЛЬНЫЕ ПРЕСЕТЫ",
"VISUAL PRESETS": "ПРЕСЕТЫ",
"LOCATION": "МЕСТО",
"DISPLAY": "ЭКРАН",
"CONTACT": "КОНТАКТ",
@@ -315,8 +315,8 @@
"COVERAGE ON": "ОХВАТ ВКЛ",
"COVERAGE OFF": "ОХВАТ ВЫКЛ",
"RAW PRIOR": "ИСХОДНАЯ ОЦЕНКА",
"AUTO HOP ON": "АВТОПЕРЕХОД ВКЛ",
"AUTO HOP OFF": "АВТОПЕРЕХОД ВЫКЛ",
"AUTO HOP ON": "АВТОСМЕНА ВКЛ",
"AUTO HOP OFF": "АВТОСМЕНА ВЫКЛ",
"PROJECTION ON": "ПРОЕКЦИЯ ВКЛ",
"PROJECTION OFF": "ПРОЕКЦИЯ ВЫКЛ",
"CAL · EDITED (UNSAVED)": "КАЛИБР. · ИЗМЕНЕНО (НЕ СОХР.)",
@@ -369,9 +369,9 @@
"CLOUD UNKNOWN": "ОБЛАЧНОСТЬ НЕИЗВЕСТНА",
"MIXED CONDITIONS": "СМЕШАННЫЕ УСЛОВИЯ",
"{source} · LOCATION QUERY": "{source} · ЗАПРОС ПО МЕСТУ",
"REGIONAL NEWS": "РЕГИОНАЛЬНЫЕ НОВОСТИ",
"CYCLE ON": "АВТОЛИСТАНИЕ ВКЛ",
"CYCLE OFF": "АВТОЛИСТАНИЕ ВЫКЛ",
"REGIONAL NEWS": "НОВОСТИ РЕГИОНА",
"CYCLE ON": "АВТО: ВКЛ",
"CYCLE OFF": "АВТО: ВЫКЛ",
"Stop automatic page cycling. Previous, Next, and the SIG/NEWS/LOCAL tabs stay available.": "Остановить автоматическое листание страниц. Кнопки ПРЕД./СЛЕД. и вкладки СИГН./НОВОСТИ/МЕСТН. остаются доступны.",
"Cycle briefing pages automatically every 9 seconds (Signals → News → Local). Pauses while you hover or focus the panel. Live signal data refreshes continuously either way.": "Автоматически листать страницы брифинга каждые 9 секунд (Сигналы → Новости → Местное). При наведении или фокусе на панели листание приостанавливается. Данные сигналов в реальном времени в любом случае обновляются непрерывно.",
"{cohort}, Unavailable": "{cohort}, недоступно",
@@ -423,10 +423,10 @@
"Collapse briefing panel": "Свернуть панель брифинга",
"Expand briefing panel": "Развернуть панель брифинга",
"OBSERVED / MAPPED PINGS": "НАБЛЮДАЕМЫЕ / НАНЕСЁННЫЕ ПИНГИ",
"SOURCE-BACKED EVENTS · NO SYNTHETIC NEWS": "СОБЫТИЯ С ИСТОЧНИКАМИ · БЕЗ СИНТЕТИЧЕСКИХ НОВОСТЕЙ",
"SOURCE-BACKED EVENTS · NO SYNTHETIC NEWS": "СОБЫТИЯ ИЗ ИСТОЧНИКОВ · БЕЗ ВЫМЫСЛА",
"LATEST LOCATION-MATCHED REPORTING": "СВЕЖИЕ НОВОСТИ ПО МЕСТУ",
"LOCAL INFO": "МЕСТНЫЕ ДАННЫЕ",
"PLACE / CONDITIONS / POSITION": "МЕСТО / УСЛОВИЯ / ПОЗИЦИЯ",
"PLACE / CONDITIONS / POSITION": "МЕСТО / ПОГОДА / КООРД.",
"TIME UNKNOWN": "ВРЕМЯ НЕИЗВЕСТНО",
"{count}M AGO": "{count} МИН НАЗАД",
"{count}H AGO": "{count} Ч НАЗАД",
@@ -480,16 +480,16 @@
"DEGRADED": "ПЕРЕБОИ",
"PARTIAL": "ЧАСТИЧНО",
"FALLBACK": "РЕЗЕРВ",
"Live Flights": "Рейсы в реальном времени",
"Live Flights": "Рейсы онлайн",
"Military Flights": "Военные рейсы",
"Earthquakes (24h)": "Землетрясения (24 ч)",
"Earthquakes (24h)": "Землетрясения (24 ч)",
"Satellites": "Спутники",
"Space Missions (30d)": "Космические миссии (30 дн.)",
"Space Missions (30d)": "Космические миссии (30 дн.)",
"Street Traffic": "Уличный трафик",
"CCTV": "CCTV",
"Radio": "Радио",
"Bikeshare": "Велошеринг",
"Live AIS Vessels": "Суда AIS в реальном времени",
"Live AIS Vessels": "Суда AIS онлайн",
"Mapped Installations": "Объекты на карте",
"Global Context": "Глобальный контекст",
"Datacenters": "Дата-центры",
@@ -821,7 +821,7 @@
"NO PLACE LEFT BEHIND": "НИ ОДНА ТОЧКА НЕ ОСТАНЕТСЯ ПОЗАДИ",
"ACTIVE STYLE": "АКТИВНЫЙ СТИЛЬ",
"Choose your first view": "Выберите первый вид",
"Tip: the GEV MIC button in the dock lets you talk to the map.": "Совет: кнопка GEV MIC в доке позволяет говорить с картой.",
"Tip: the GEV MIC button in the dock lets you talk to the map.": "Совет: кнопка «МИК» в доке позволяет говорить с картой.",
"Aircraft, vessels and nearby intelligence": "Самолёты, суда и разведданные поблизости",
"Launches, spacecraft and orbital context": "Пуски, космические аппараты и орбитальный контекст",
"Begin with a clean globe": "Начните с чистого глобуса",
@@ -847,8 +847,8 @@
"VOICE SYSTEM ERROR": "ОШИБКА ГОЛОСОВОЙ СИСТЕМЫ",
"DISMISS": "СКРЫТЬ",
"Check microphone permission and network access, then try again.": "Проверьте разрешение на микрофон и доступ к сети, затем попробуйте снова.",
"Release Space to send": "Отпустите Space, чтобы отправить",
"Hold Space to talk": "Удерживайте Space, чтобы говорить",
"Release Space to send": "Отпустите Space для отправки",
"Hold Space to talk": "Держите Space и говорите",
"Ask or command": "Спросите или дайте команду",
"WebRTC microphone support unavailable": "Поддержка микрофона WebRTC недоступна",
"Requesting microphone": "Запрос доступа к микрофону",
@@ -857,8 +857,6 @@
"VOICE ACTIVE": "ГОЛОС АКТИВЕН",
"Voice session could not be started.": "Не удалось запустить голосовую сессию.",
"CONNECTING": "ПОДКЛЮЧЕНИЕ",
"LISTENING": "СЛУШАЮ",
"EXECUTING": "ВЫПОЛНЕНИЕ",
"ERROR": "ОШИБКА",
"{tier} applies next session": "{tier} вступит в силу со следующей сессии",
"Session ended — cost cap {cost}": "Сессия завершена — лимит стоимости {cost}",
@@ -917,7 +915,7 @@
"Point the camera at the globe for street-level coverage": "Наведите камеру на глобус, чтобы увидеть покрытие уличных снимков",
"No street-level imagery providers configured": "Источники уличных снимков не настроены",
"Selected": "Выбранная",
"Live Vessels": "Суда в реальном времени",
"Live Vessels": "Суда онлайн",
"Bike Share": "Прокат велосипедов",
"Cameras": "Камеры",
"Street Level": "Уличные снимки",
@@ -999,7 +997,7 @@
"{provider} · EMBEDDED SOURCE": "{provider} · ВСТРОЕННЫЙ ИСТОЧНИК",
"OPEN ORIGINAL ↗": "ОТКРЫТЬ ОРИГИНАЛ ↗",
"{provider} media: {source}": "Медиа {provider}: {source}",
"{provider} · PROVIDER CONTROLS": "{provider} · УПРАВЛЕНИЕ ПРОВАЙДЕРА",
"{provider} · PROVIDER CONTROLS": "{provider} · ПЛЕЕР ПРОВАЙДЕРА",
"YOUTUBE {state} · OPEN ORIGINAL": "YOUTUBE {state} · ОТКРЫТЬ ОРИГИНАЛ",
"Facebook player API did not initialize.": "API плеера Facebook не инициализировался.",
"Facebook player API could not load.": "Не удалось загрузить API плеера Facebook.",
@@ -1013,10 +1011,10 @@
"Preloading {provider} media": "Предзагрузка медиа {provider}",
"LOADING X POST…": "ЗАГРУЗКА ПОСТА X…",
"The X post is unavailable or cannot be embedded.": "Пост X недоступен или не может быть встроен.",
"X POST · PROVIDER CONTROLS": "ПОСТ X · УПРАВЛЕНИЕ ПРОВАЙДЕРА",
"X POST · PROVIDER CONTROLS": "ПОСТ X · ВИДЖЕТ ПРОВАЙДЕРА",
"{reason} OPEN ORIGINAL.": "{reason} ОТКРОЙТЕ ОРИГИНАЛ.",
"X embed unavailable": "Встраивание X недоступно",
"FACEBOOK · PROVIDER CONTROLS": "FACEBOOK · УПРАВЛЕНИЕ ПРОВАЙДЕРА",
"FACEBOOK · PROVIDER CONTROLS": "FACEBOOK · ПЛЕЕР ПРОВАЙДЕРА",
"Facebook embed unavailable": "Встраивание Facebook недоступно",
"AUTOPLAY BLOCKED · USE PROVIDER CONTROLS": "АВТОВОСПРОИЗВЕДЕНИЕ ЗАБЛОКИРОВАНО · ИСПОЛЬЗУЙТЕ УПРАВЛЕНИЕ ПРОВАЙДЕРА",
"Embedded {provider} media for {source}": "Встроенное медиа {provider}: {source}",
@@ -1094,7 +1092,7 @@
"▶ PLAY SCENE": "▶ ПУСК СЦЕНЫ",
"◉ CINEMATIC": "◉ КИНОРЕЖИМ",
"↺ FULL STORY": "↺ ВСЯ ИСТОРИЯ",
"↗ OPEN ORIGINAL": "↗ ОТКРЫТЬ ОРИГИНАЛ",
"↗ OPEN ORIGINAL": "↗ ОРИГИНАЛ",
"⌖ LOWER GORGE": "⌖ НИЖНЕЕ УЩЕЛЬЕ",
"FIELD REPORTS · {count}": "СООБЩЕНИЯ С МЕСТА · {count}",
"GEOLOCATIONS · {credit}": "ГЕОЛОКАЦИИ · {credit}",
@@ -1146,10 +1144,10 @@
"Camera badges": "Значки камер",
"Cyan cameras turn coral when selected. Wedges illustrate mapped direction, not measured coverage. Nearby cameras may be outside the screen.": "Голубые камеры при выборе становятся коралловыми. Секторы показывают направление по карте, а не измеренное покрытие. Ближайшие камеры могут быть за пределами экрана.",
"{count} nearby · {onScreen} on screen": {
"one": "рядом: {count} · на экране: {onScreen}",
"few": "рядом: {count} · на экране: {onScreen}",
"many": "рядом: {count} · на экране: {onScreen}",
"other": "рядом: {count} · на экране: {onScreen}"
"one": "{count} рядом · {onScreen} видно",
"few": "{count} рядом · {onScreen} видно",
"many": "{count} рядом · {onScreen} видно",
"other": "{count} рядом · {onScreen} видно"
},
"{count} nearby": {
"one": "рядом: {count}",
@@ -1319,7 +1317,7 @@
"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.": "Радиолокационные эхосигналы NOAA MRMS показывают картину осадков, а не их интенсивность, штормовое предупреждение или прогноз. Исходное разрешение около 1 км; отображение ограничено уровнем 6. Кадры используют точное заявленное время наблюдений.",
"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.": "Региональный длинноволновый ИК-канал 14 GOES-19/18; глобальная длинноволновая мозаика NESDIS. Режим «Только облака» затемняет всё, кроме ярких холодных вершин облаков; это фильтр яркости, а не маска облачности. Покрытие и актуальность различаются по регионам.",
"REGION": "РЕГИОН",
"IMAGE": "ИЗОБРАЖЕНИЕ",
"IMAGE": "СНИМОК",
"OPACITY": "НЕПРОЗРАЧНОСТЬ",
"Forecast · does not follow history": "Прогноз · не следует за историей",
"Wind motion": "Движение ветра",
@@ -1543,13 +1541,13 @@
"Mode": "Режим",
"Imagery on Esri · Google 3D returns when cleared": "Снимки поверх Esri · после очистки вернётся Google 3D",
"Imagery opacity": "Непрозрачность снимков",
"SWAP": "ПОМЕНЯТЬ",
"SWAP": "СМЕНА",
"VS BASEMAP": "VS ПОДЛОЖКА",
"Trade the two sides of the divider": "Поменять местами стороны разделителя",
"A / B": "A / B",
"Newest low-cloud day for this box · scene cloud, not box cloud": "Самый свежий малооблачный день для этой области · облачность всей сцены, а не области",
"Newest day covering this box · cloudier than 20%": "Самый свежий день с покрытием этой области · облачность выше 20%",
"SELECT BOX": "ВЫБРАТЬ ОБЛАСТЬ",
"SELECT BOX": "ВЫДЕЛИТЬ",
"Drag a box on the map (Esc cancels)": "Выделите область на карте (Esc — отмена)",
"Newest day with imagery for this box · partial coverage": "Самый свежий день со снимками этой области · частичное покрытие",
"USE VIEW": "ПО ВИДУ",
@@ -1583,7 +1581,7 @@
"Source off": "Источник выключен",
"Unpin {slot}": "Открепить {slot}",
"Unpin the image": "Открепить снимок",
"EXPORT {slot}": "ЭКСПОРТ {slot}",
"EXPORT {slot}": "ЭКСП. {slot}",
"EXPORT": "ЭКСПОРТ",
"Download {slot} as a PNG": "Скачать {slot} в PNG",
"Download the image as a PNG": "Скачать снимок в PNG",
@@ -1622,7 +1620,7 @@
"Select a box or use the view": "Выделите область или используйте текущий вид",
"Searching the last 30 days": "Поиск за последние 30 дней",
"No days to show for this box": "Для этой области нет дней для показа",
"Drag the divider · SWAP trades sides": "Перетащите разделитель · ПОМЕНЯТЬ меняет стороны",
"Drag the divider · SWAP trades sides": "Перетащите разделитель · СМЕНА меняет стороны",
"Export failed · {error}": "Ошибка экспорта · {error}",
"← → preview · A or B pins the focused day": "← → просмотр · A или B закрепляет выбранный день",
"← → preview the other side · A or B pins it": "← → просмотр другой стороны · A или B закрепляет её",
@@ -1662,7 +1660,7 @@
"GAIN": "УСИЛЕНИЕ",
"FM MHZ": "FM МГЦ",
"AUTO": "АВТО",
"Chrome/Edge · WebUSB · one local tuner shared by FM and the Local ADS-B layer.": "Chrome/Edge · WebUSB · один локальный тюнер для FM и слоя Local ADS-B.",
"Chrome/Edge · WebUSB · one local tuner shared by FM and the Local ADS-B layer.": "Chrome/Edge · WebUSB · один локальный тюнер для FM и слоя «Локальный ADS-B».",
"RTL-SDR tuner gain for the current mode": "Усиление тюнера RTL-SDR для текущего режима",
"WEATHER": "ПОГОДА",
"Active weather products": "Активные погодные продукты",
@@ -1699,7 +1697,7 @@
"Forecast · valid {valid}": "Прогноз · действует на {valid}",
"{time} · {minutes} min ago": "{time} · {minutes} мин назад",
"Active weather": "Активная погода",
"MINI": "MINI",
"MINI": "МИНИ",
"STD": "СТД",
"standard": "стандартную",
"mini": "mini",
@@ -1832,5 +1830,218 @@
"Referenced items": "Упомянутые объекты",
"NOTES & SOURCES": "ЗАМЕТКИ И ИСТОЧНИКИ",
"ΔN": "ΔС",
"ΔE": "ΔВ"
"ΔE": "ΔВ",
"action|CLEAR": "СБРОСИТЬ",
"ALPR Cameras": "Камеры ALPR",
"Military aircraft": "Военные самолёты",
"Vessels": "Суда",
"CCTV + Street View fallback": "CCTV + резервный Street View",
"OpenStreetMap + optional Google Maps Places": "OpenStreetMap + Google Maps Places (опц.)",
"GFS / ECMWF IFS · FORECAST": "GFS / ECMWF IFS · ПРОГНОЗ",
"NOAA nowCOAST · OBSERVED": "NOAA nowCOAST · НАБЛЮДЕНИЕ",
"NASA FIRMS · LIVE": "NASA FIRMS · ОНЛАЙН",
"data source|Local": "Локальные данные",
"overview": "обзор",
"{percent}% scene cloud": "облачность сцены {percent}%",
"{min}–{max}% scene cloud": "облачность сцены {min}–{max}%",
"Sentinel-2 via HLS": "Sentinel-2 через HLS",
"Landsat 8/9 via HLS": "Landsat 8/9 через HLS",
"coverage|full": "полное",
"coverage|partial": "частичное",
"m": "м",
"km/h": "км/ч",
"m/s": "м/с",
"mph": "миль/ч",
"hPa": "гПа",
"kt": "уз",
"km": "км",
"h": "ч",
"min": "мин",
"s": "с",
"direction|left": "налево",
"direction|right": "направо",
"direction|slightly left": "плавно налево",
"direction|slightly right": "плавно направо",
"direction|sharply left": "резко налево",
"direction|sharply right": "резко направо",
"direction|straight": "прямо",
"direction|around": "в обратную сторону",
"ordinal|{number}st": "{number}-й",
"ordinal|{number}nd": "{number}-й",
"ordinal|{number}rd": "{number}-й",
"ordinal|{number}th": "{number}-й",
"Head out on {road}": "Начните движение по {road}",
"Head out": "Начните движение",
"Arrive at your destination": "Вы прибыли в пункт назначения",
"Arrive at your destination, on the left": "Пункт назначения слева",
"Arrive at your destination, on the right": "Пункт назначения справа",
"Make a U-turn": "Развернитесь",
"Make a U-turn onto {road}": "Развернитесь на {road}",
"Continue straight": "Продолжайте прямо",
"Continue straight onto {road}": "Продолжайте прямо на {road}",
"Turn {direction}": "Поверните {direction}",
"Turn {direction} onto {road}": "Поверните {direction} на {road}",
"maneuver|Turn": "Поверните",
"Turn onto {road}": "Поверните на {road}",
"Continue {direction}": "Продолжайте движение {direction}",
"Continue {direction} onto {road}": "Продолжайте движение {direction} на {road}",
"maneuver|Continue": "Продолжайте движение",
"Continue onto {road}": "Продолжайте движение по {road}",
"At the end of the road, turn {direction}": "В конце дороги поверните {direction}",
"At the end of the road, turn {direction} onto {road}": "В конце дороги поверните {direction} на {road}",
"At the end of the road, continue": "В конце дороги продолжайте движение",
"At the end of the road, continue onto {road}": "В конце дороги продолжайте движение по {road}",
"Keep {direction} at the fork": "На развилке держитесь {direction}",
"Keep {direction} at the fork onto {road}": "На развилке держитесь {direction} на {road}",
"Continue at the fork": "На развилке продолжайте движение",
"Continue at the fork onto {road}": "На развилке продолжайте движение по {road}",
"Merge {direction}": "Перестройтесь {direction}",
"Merge {direction} onto {road}": "Перестройтесь {direction} на {road}",
"maneuver|Merge": "Перестройтесь",
"Merge onto {road}": "Въезжайте на {road}",
"Take the ramp on the {direction}": "Въезжайте на съезд {direction}",
"Take the ramp on the {direction} onto {road}": "Въезжайте по съезду {direction} на {road}",
"Take the ramp": "Въезжайте на съезд",
"Take the ramp onto {road}": "Въезжайте по съезду на {road}",
"Take the exit on the {direction}": "Сверните на съезд {direction}",
"Take the exit on the {direction} onto {road}": "Сверните на съезд {direction} на {road}",
"Take the exit": "Сверните на съезд",
"Take the exit onto {road}": "Сверните на съезд на {road}",
"At the roundabout, take the {exit} exit": "На кольце сверните на {exit} съезд",
"At the roundabout, take the {exit} exit onto {road}": "На кольце сверните на {exit} съезд на {road}",
"Enter the roundabout": "Въезжайте на кольцо",
"Enter the roundabout onto {road}": "Въезжайте на кольцо, выезд на {road}",
"At the roundabout, turn {direction}": "На кольце поверните {direction}",
"At the roundabout, turn {direction} onto {road}": "На кольце поверните {direction} на {road}",
"At the roundabout, continue": "На кольце продолжайте движение",
"At the roundabout, continue onto {road}": "На кольце продолжайте движение на {road}",
"Exit the roundabout": "Съезжайте с кольца",
"Exit the roundabout onto {road}": "Съезжайте с кольца на {road}",
"Use the {direction} lane": "Займите полосу для движения {direction}",
"Use the {direction} lane onto {road}": "Займите полосу для движения {direction} на {road}",
"voice|OFF": "ВЫКЛ",
"voice|CONNECTING": "СВЯЗЬ…",
"voice|LISTENING": "СЛУШАЮ",
"voice|EXECUTING": "ДЕЛАЮ",
"voice|ERROR": "ОШИБКА",
"MIC": "МИК",
"WORKING": "В РАБОТЕ",
"DONE": "ГОТОВО",
"Outline traced": "Контур построен",
"Outline unavailable": "Контур недоступен",
"in progress": "выполняется",
"done": "готово",
"failed": "ошибка",
"cancelled": "отменено",
"view band|STREET": "УЛИЦА",
"view band|CITY": "ГОРОД",
"view band|METRO": "АГЛОМЕРАЦИЯ",
"view band|REGIONAL": "РЕГИОН",
"view band|GLOBAL": "ПЛАНЕТА",
"NEAR {poi} ({city}) {distance}": "РЯДОМ: {poi} ({city}) {distance}",
"SECTOR {lat} {lon}": "СЕКТОР {lat} {lon}",
"ARCTIC": "АРКТИКА",
"ANTARCTIC": "АНТАРКТИКА",
"NORTH AMERICA": "СЕВЕРНАЯ АМЕРИКА",
"SOUTH AMERICA": "ЮЖНАЯ АМЕРИКА",
"EUROPE": "ЕВРОПА",
"AFRICA": "АФРИКА",
"ASIA": "АЗИЯ",
"OCEANIA": "ОКЕАНИЯ",
"NORTHERN OCEANIC GRID": "СЕВЕРНАЯ ОКЕАНСКАЯ СЕТКА",
"SOUTHERN OCEANIC GRID": "ЮЖНАЯ ОКЕАНСКАЯ СЕТКА",
"N/A": "Н/Д",
"{mode} {band} {locality} | {region} | ALT {alt} | WINDOW {window} | SUN {sun}° | ONA {ona}° | {zone}": "{mode} {band} {locality} | {region} | ALT {alt} | ОКНО {window} | SUN {sun}° | ONA {ona}° | {zone}",
"{label} · {radius} AIR/SEA WINDOW": "{label} · ОКНО ВОЗДУХ/МОРЕ {radius}",
"{scope} · INSTALLATIONS {coverage}": "{scope} · ОБЪЕКТЫ: {coverage}",
"{source} · LOCATION QUERY · RECENT": "{source} · ЗАПРОС ПО МЕСТУ · СВЕЖЕЕ",
"ft": "фт",
"kts": "уз",
"PAUSE": "ПАУЗА",
"RESUME": "ПРОДОЛЖ.",
"dB": "дБ",
"radio|NEWS": "НОВОСТИ",
"radio|TALK": "ТОК-РАДИО",
"radio|WEATHER": "ПОГОДА",
"radio|SAFETY": "БЕЗОПАСНОСТЬ",
"radio|AIR / SEA": "АВИА / МОРЕ",
"radio|TRANSIT": "ТРАНСПОРТ",
"radio|MUSIC": "МУЗЫКА",
"radio|OTHER": "ДРУГОЕ",
"SNAPSHOT": "СНИМОК",
"LIVE": "ОНЛАЙН",
"UPSTREAM": "ИСТОЧНИК",
"SYNTHETIC": "СИНТЕТИКА",
"CONFIGURED": "НАСТРОЕН",
"SEED": "КАТАЛОГ",
"Live HLS connected": "Поток HLS подключён",
"Live HLS unavailable": "Поток HLS недоступен",
"No stream URL configured": "URL потока не настроен",
"Live stream connected": "Прямой поток подключён",
"Snapshot feed connected": "Поток снимков подключён",
"Media fetch failed": "Не удалось получить медиа",
"Upstream snapshot active": "Снимок с источника активен",
"Fallback Street View frame": "Резервный кадр Street View",
"Upstream unavailable": "Источник недоступен",
"No source configured": "Источник не настроен",
"Upstream HTTP {status}": "Источник: HTTP {status}",
"Unexpected media type {type}": "Неожиданный тип медиа: {type}",
"Configured source": "Настроенный источник",
"Synthetic fallback": "Синтетический резерв",
"Cancel": "Отмена",
"Choose files": "Выбрать файлы",
"No file chosen": "Файлы не выбраны",
"{count} files selected": {
"one": "Выбрано файлов: {count}",
"few": "Выбрано файлов: {count}",
"many": "Выбрано файлов: {count}",
"other": "Выбрано файлов: {count}"
},
"Rasuwagadhi witness video": "Видео очевидца в Rasuwagadhi",
"Bhote Koshi valley footage": "Съёмка долины Bhote Koshi",
"Flood footage": "Съёмка паводка",
"Compilation and casualty claims": "Подборка и заявления о жертвах",
"SOURCE GEOCONFIRMED · WORLD-PINNED": "ИСТОЧНИК ГЕОПОДТВЕРЖДЁН · ОТМЕЧЕН НА КАРТЕ",
"SOURCE CREDITED · LOCATION UNRESOLVED": "АВТОР УКАЗАН · МЕСТО НЕ УСТАНОВЛЕНО",
"REFERENCE ONLY · CLAIMS UNVERIFIED": "ТОЛЬКО ДЛЯ СПРАВКИ · ЗАЯВЛЕНИЯ НЕ ПРОВЕРЕНЫ",
"SOURCE GEOCONFIRMED": "ИСТОЧНИК ГЕОПОДТВЕРЖДЁН",
"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.": "Исторический снимок 2021 года в сравнении со снимками 2026 года после события; изменения накопительные и включают паводок в Rasuwagadhi в июле 2025 года. Схематическое продвижение вниз по течению, а не смоделированное время прихода; не официальная модель опасности.",
"Immediate collapse viewpoint": "Точка обзора у места обрушения",
"Collapse viewpoint": "Обзор обрушения",
"Debris-dammed lake": "Озеро, запруженное обломками",
"Dammed lake": "Запрудное озеро",
"Second landslide": "Второй оползень",
"Gyirong border gate": "Погранпереход Gyirong",
"Border gate": "Погранпереход",
"Timure evidence cluster": "Группа свидетельств у Timure",
"Mailung / Upper Trishuli bridge": "Mailung / мост Upper Trishuli",
"Dandagaun viewpoint restaurant": "Ресторан со смотровой площадкой, Dandagaun",
"Dandagaun viewpoint": "Смотровая площадка Dandagaun",
"Bidur - Trishuli bridge": "Мост Bidur — Trishuli",
"Bidur bridge": "Мост Bidur",
"Devighat / Taadi Khola Bridge": "Devighat / мост Taadi Khola",
"Devighat bridge": "Мост Devighat",
"Global Incident Context": "Глобальный контекст инцидента",
"Nepal-Focused Globe Rotation": "Поворот глобуса к Непалу",
"Bhote Koshi Regional Approach": "Подлёт к региону Bhote Koshi",
"Bhote Koshi Nearby Cities": "Города рядом с Bhote Koshi",
"Bhote Koshi Incident Corridor": "Коридор инцидента на Bhote Koshi",
"Bhote Koshi Flood Path": "Путь паводка на Bhote Koshi",
"Bhote Koshi Corridor Overview": "Обзор коридора Bhote Koshi",
"Bhote Koshi Upper Valley": "Верхняя долина Bhote Koshi",
"Upper Valley Collapse": "Обрушение в верхней долине",
"Debris-Dammed Lake": "Озеро, запруженное обломками",
"Nepal-China Border Gate": "Погранпереход Непал — Китай",
"Timure Evidence Cluster": "Группа свидетельств у Timure",
"Syabru Besi Passage": "Прохождение Syabru Besi",
"Bidur / Trishuli Consequence": "Последствия в Bidur / Trishuli",
"Final view": "Финальный вид",
"{year} HISTORICAL REFERENCE": "{year} ИСТОРИЧЕСКИЙ СНИМОК",
"{year} POST-EVENT": "{year} ПОСЛЕ СОБЫТИЯ",
"Esri map unavailable · no swipe": "Карта Esri недоступна · без сравнения",
"Swipe needs a globe map": "Для сравнения нужна карта-глобус",
"Imagery stays on Esri · CLEAR to use Google 3D": "Снимки остаются на Esri · СБРОСИТЬ, чтобы вернуть Google 3D",
"Box and images cleared": "Область и снимки сброшены",
"Box is {size} wide · limit {limit}": "Область шириной {size} · предел {limit}",
"View is {size} wide · limit {limit}": "Вид шириной {size} · предел {limit}"
}