mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-06 11:24:00 +00:00
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:
1 parent
ee72133574
commit
3129e531e6
99 files changed
+4670
-1294
No files matched your search
+846
-4
@@ -372,7 +372,7 @@
|
||||
"REGIONAL NEWS": "РЕГИОНАЛЬНЫЕ НОВОСТИ",
|
||||
"CYCLE ON": "АВТОЛИСТАНИЕ ВКЛ",
|
||||
"CYCLE OFF": "АВТОЛИСТАНИЕ ВЫКЛ",
|
||||
"Stop automatic page cycling. Previous, Next, and the SIG/NEWS/LOCAL tabs stay available.": "Остановить автоматическое листание страниц. Кнопки ПРЕД./СЛЕД. и вкладки SIG/NEWS/LOCAL остаются доступны.",
|
||||
"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}, недоступно",
|
||||
"AHEAD": "ПО КУРСУ",
|
||||
@@ -618,8 +618,8 @@
|
||||
"Cockpit display and Radio controls": "Управление экраном и радио кабины",
|
||||
"Previous cockpit vision style": "Предыдущий стиль обзора кабины",
|
||||
"Previous vision style": "Предыдущий стиль обзора",
|
||||
"Current cockpit vision style: NORMAL. Activate for next style.": "Текущий стиль обзора кабины: NORMAL. Активируйте для следующего стиля.",
|
||||
"Current style: NORMAL — click for next": "Текущий стиль: NORMAL — нажмите для следующего",
|
||||
"Current cockpit vision style: NORMAL. Activate for next style.": "Текущий стиль обзора кабины: ОБЫЧНЫЙ. Активируйте для следующего стиля.",
|
||||
"Current style: NORMAL — click for next": "Текущий стиль: ОБЫЧНЫЙ — нажмите для следующего",
|
||||
"Next cockpit vision style": "Следующий стиль обзора кабины",
|
||||
"Next vision style": "Следующий стиль обзора",
|
||||
"Previous briefing page": "Предыдущая страница брифинга",
|
||||
@@ -990,5 +990,847 @@
|
||||
"ALL": "ВСЕ",
|
||||
"FLAT": "ПЛОСКИЕ",
|
||||
"SINCE": "С ДАТЫ",
|
||||
"Coverage colours": "Цвета покрытия"
|
||||
"Coverage colours": "Цвета покрытия",
|
||||
"That shape already has {count} points — finish it or press Backspace.": "В этой фигуре уже точек: {count} — завершите её или нажмите Backspace.",
|
||||
"Could not place the shape: {error}": "Не удалось разместить фигуру: {error}",
|
||||
"{owner} is using the pointer — close it first.": "Указатель занят инструментом {owner} — сначала закройте его.",
|
||||
"{label} · Detailed outline unavailable": "{label} · Подробный контур недоступен",
|
||||
"Witness source": "Свидетельство очевидца",
|
||||
"{provider} · EMBEDDED SOURCE": "{provider} · ВСТРОЕННЫЙ ИСТОЧНИК",
|
||||
"OPEN ORIGINAL ↗": "ОТКРЫТЬ ОРИГИНАЛ ↗",
|
||||
"{provider} media: {source}": "Медиа {provider}: {source}",
|
||||
"{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.",
|
||||
"Facebook player API timed out.": "Истекло время ожидания API плеера Facebook.",
|
||||
"X embed API did not initialize.": "API встраивания X не инициализировался.",
|
||||
"X embed could not load.": "Не удалось загрузить встраивание X.",
|
||||
"X embed timed out.": "Истекло время ожидания встраивания X.",
|
||||
"TIMEOUT": "ТАЙМАУТ",
|
||||
"BLOCKED": "ЗАБЛОКИРОВАНО",
|
||||
"Facebook embed unavailable. The post may be private, removed, region-restricted, or blocked.": "Встраивание Facebook недоступно. Публикация может быть закрытой, удалённой, ограниченной по региону или заблокированной.",
|
||||
"Preloading {provider} media": "Предзагрузка медиа {provider}",
|
||||
"LOADING X POST…": "ЗАГРУЗКА ПОСТА X…",
|
||||
"The X post is unavailable or cannot be embedded.": "Пост X недоступен или не может быть встроен.",
|
||||
"X POST · PROVIDER CONTROLS": "ПОСТ X · УПРАВЛЕНИЕ ПРОВАЙДЕРА",
|
||||
"{reason} OPEN ORIGINAL.": "{reason} ОТКРОЙТЕ ОРИГИНАЛ.",
|
||||
"X embed unavailable": "Встраивание X недоступно",
|
||||
"FACEBOOK · PROVIDER CONTROLS": "FACEBOOK · УПРАВЛЕНИЕ ПРОВАЙДЕРА",
|
||||
"Facebook embed unavailable": "Встраивание Facebook недоступно",
|
||||
"AUTOPLAY BLOCKED · USE PROVIDER CONTROLS": "АВТОВОСПРОИЗВЕДЕНИЕ ЗАБЛОКИРОВАНО · ИСПОЛЬЗУЙТЕ УПРАВЛЕНИЕ ПРОВАЙДЕРА",
|
||||
"Embedded {provider} media for {source}": "Встроенное медиа {provider}: {source}",
|
||||
"witness source": "свидетельство очевидца",
|
||||
"Rasuwagadhi witness": "Очевидец в Rasuwagadhi",
|
||||
"Open original source for {source}; capture time unverified": "Открыть исходный источник: {source}; время съёмки не подтверждено",
|
||||
"Historical reference and post-event image divider": "Разделитель исторического снимка и снимка после события",
|
||||
"A historical reference {before} percent, B post-event {after} percent": "A — исторический снимок: {before}%, B — после события: {after}%",
|
||||
"■ RELEASE CAMERA": "■ ОСВОБОДИТЬ КАМЕРУ",
|
||||
"Seek Nepal scene clock": "Перемотка часов непальской сцены",
|
||||
"NEPAL SCENE CLOCK": "ЧАСЫ НЕПАЛЬСКОЙ СЦЕНЫ",
|
||||
"… PLAYING SHOT": "… ИДЁТ КАДР",
|
||||
"▶ PLAY SHOT": "▶ ПУСК КАДРА",
|
||||
"Ⅱ PAUSE": "Ⅱ ПАУЗА",
|
||||
"↺ REPLAY CINEMATIC": "↺ ПОВТОРИТЬ КИНОРЕЖИМ",
|
||||
"↺ REPLAY": "↺ ПОВТОРИТЬ",
|
||||
"… PLAYING SCENE": "… ИДЁТ СЦЕНА",
|
||||
"Continue {scene} from next shot": "Продолжить со следующего кадра: {scene}",
|
||||
"current scene": "текущая сцена",
|
||||
"Replay the full reconstruction": "Повторить всю реконструкцию",
|
||||
"SCENE SHOT": "КАДР СЦЕНЫ",
|
||||
"TIME UNVERIFIED": "ВРЕМЯ НЕ ПОДТВЕРЖДЕНО",
|
||||
"{count} SOURCES": {
|
||||
"one": "{count} ИСТОЧНИК",
|
||||
"few": "{count} ИСТОЧНИКА",
|
||||
"many": "{count} ИСТОЧНИКОВ",
|
||||
"other": "{count} ИСТОЧНИКА"
|
||||
},
|
||||
"OUTSIDE IMAGERY SWIPE": "ВНЕ СРАВНЕНИЯ СНИМКОВ",
|
||||
"{scene} / AUTHORED SHOT": "{scene} / АВТОРСКИЙ КАДР",
|
||||
"NEPAL FLOOD INCIDENT": "НАВОДНЕНИЕ В НЕПАЛЕ",
|
||||
"Play {shot}": "Воспроизвести: {shot}",
|
||||
"current scene shot": "текущий кадр сцены",
|
||||
"Play reconstruction": "Воспроизвести реконструкцию",
|
||||
"Load previous scene shot": "Загрузить предыдущий кадр сцены",
|
||||
"Load next scene shot": "Загрузить следующий кадр сцены",
|
||||
"SCHEMATIC CORRIDOR, NOT MODELED ARRIVAL TIME.": "СХЕМАТИЧЕСКИЙ КОРИДОР, НЕ МОДЕЛЬ ВРЕМЕНИ ПРИХОДА.",
|
||||
"Rasuwa · 26 Aug 2026": "Rasuwa · 26 авг. 2026",
|
||||
"Event reconstruction": "Реконструкция события",
|
||||
"INITIATION": "ЗАРОЖДЕНИЕ",
|
||||
"DAMMING": "ЗАПРУДА",
|
||||
"SECONDARY FAILURE": "ВТОРИЧНЫЙ ПРОРЫВ",
|
||||
"BORDER ARRIVAL": "ДОСТИЖЕНИЕ ГРАНИЦЫ",
|
||||
"PROPAGATION": "РАСПРОСТРАНЕНИЕ",
|
||||
"DOWNSTREAM PASSAGE": "ПРОХОЖДЕНИЕ ВНИЗ ПО ТЕЧЕНИЮ",
|
||||
"CONSEQUENCE": "ПОСЛЕДСТВИЯ",
|
||||
"DOWNSTREAM CONSEQUENCE": "ПОСЛЕДСТВИЯ НИЖЕ ПО ТЕЧЕНИЮ",
|
||||
"EVIDENCE": "СВИДЕТЕЛЬСТВА",
|
||||
"{count} GEOLOCATED SOURCE-MAP PLACEMENTS": {
|
||||
"one": "{count} ГЕОПРИВЯЗАННАЯ МЕТКА НА КАРТЕ ИСТОЧНИКОВ",
|
||||
"few": "{count} ГЕОПРИВЯЗАННЫЕ МЕТКИ НА КАРТЕ ИСТОЧНИКОВ",
|
||||
"many": "{count} ГЕОПРИВЯЗАННЫХ МЕТОК НА КАРТЕ ИСТОЧНИКОВ",
|
||||
"other": "{count} ГЕОПРИВЯЗАННОЙ МЕТКИ НА КАРТЕ ИСТОЧНИКОВ"
|
||||
},
|
||||
"NO PREVIEW": "НЕТ ПРЕДПРОСМОТРА",
|
||||
"SOURCE LINK": "ССЫЛКА НА ИСТОЧНИК",
|
||||
"{publisher} / OPEN": "{publisher} / ОТКРЫТЬ",
|
||||
"Bhote Koshi flood reconstruction controls": "Управление реконструкцией наводнения на Bhote Koshi",
|
||||
"EVENT RECONSTRUCTION · 26 AUG 2026": "РЕКОНСТРУКЦИЯ СОБЫТИЯ · 26 АВГ. 2026",
|
||||
"BHOTE KOSHI OUTBURST FLOOD": "ПРОРЫВНОЙ ПАВОДОК НА BHOTE KOSHI",
|
||||
"Close event layer": "Закрыть слой события",
|
||||
"OBSERVED IMAGERY": "НАБЛЮДАЕМЫЕ СНИМКИ",
|
||||
"SCHEMATIC CORRIDOR": "СХЕМАТИЧЕСКИЙ КОРИДОР",
|
||||
"2021 HISTORICAL REFERENCE / 2026 POST-EVENT": "2021 ИСТОРИЧЕСКИЙ СНИМОК / 2026 ПОСЛЕ СОБЫТИЯ",
|
||||
"Historical reference and post-event image split": "Сравнение исторического снимка и снимка после события",
|
||||
"RECONSTRUCTION CLOCK": "ЧАСЫ РЕКОНСТРУКЦИИ",
|
||||
"Schematic downstream progression": "Схематическое продвижение вниз по течению",
|
||||
"Story beat navigation": "Навигация по этапам сюжета",
|
||||
"Previous story beat": "Предыдущий этап сюжета",
|
||||
"CAUSE": "ПРИЧИНА",
|
||||
"CAPTURE TIME UNVERIFIED": "ВРЕМЯ СЪЁМКИ НЕ ПОДТВЕРЖДЕНО",
|
||||
"Next story beat": "Следующий этап сюжета",
|
||||
"▶ PLAY": "▶ ПУСК",
|
||||
"Play the next shot and continue through this scene": "Воспроизвести следующий кадр и продолжить эту сцену",
|
||||
"▶ PLAY SCENE": "▶ ПУСК СЦЕНЫ",
|
||||
"◉ CINEMATIC": "◉ КИНОРЕЖИМ",
|
||||
"↺ FULL STORY": "↺ ВСЯ ИСТОРИЯ",
|
||||
"↗ OPEN ORIGINAL": "↗ ОТКРЫТЬ ОРИГИНАЛ",
|
||||
"⌖ LOWER GORGE": "⌖ НИЖНЕЕ УЩЕЛЬЕ",
|
||||
"FIELD REPORTS · {count}": "СООБЩЕНИЯ С МЕСТА · {count}",
|
||||
"GEOLOCATIONS · {credit}": "ГЕОЛОКАЦИИ · {credit}",
|
||||
"↗ OPEN PUBLIC MAP": "↗ ОТКРЫТЬ ПУБЛИЧНУЮ КАРТУ",
|
||||
"Clouds are preserved from the source imagery.": "Облака сохранены из исходных снимков.",
|
||||
"Show the Nepal context callout without a border or country fill": "Показать выноску с контекстом Непала без границы и заливки страны",
|
||||
"Introduce Nepal, draw its border, then reveal the Bhote Koshi incident": "Представить Непал, нарисовать его границу, затем показать инцидент на Bhote Koshi",
|
||||
"CITIES": "ГОРОДА",
|
||||
"Keep the regional incident context and introduce nearby city labels": "Сохранить региональный контекст инцидента и добавить подписи ближайших городов",
|
||||
"PLACES": "МЕСТА",
|
||||
"Introduce the reconstruction scene key places from trigger to downstream": "Показать ключевые места сцены реконструкции — от источника события до низовья",
|
||||
"PATH": "ПУТЬ",
|
||||
"Animate the sourced cyan river-centerline route to Trishuli Bazaar": "Анимировать голубой маршрут по оси реки до Trishuli Bazaar по данным источников",
|
||||
"OVERVIEW": "ОБЗОР",
|
||||
"Keep the completed flood path and location labels visible": "Оставить на экране весь путь паводка и подписи мест",
|
||||
"RECORD": "ЗАПИСЬ",
|
||||
"Reveal the trigger record while making a slow camera approach": "Показать запись о первопричине при медленном приближении камеры",
|
||||
"BHOTE KOSHI FLOOD INCIDENT": "НАВОДНЕНИЕ НА BHOTE KOSHI",
|
||||
"NEPAL · 26 AUG 2026": "НЕПАЛ · 26 АВГ. 2026",
|
||||
"USGS INITIAL REPORT": "ПЕРВИЧНОЕ СООБЩЕНИЕ USGS",
|
||||
"26 AUG 2026 · 08:37 NPT": "26 АВГ. 2026 · 08:37 NPT",
|
||||
"28.2710° N · 85.5150° E": "28,2710° С. Ш. · 85,5150° В. Д.",
|
||||
"INITIAL M4.4 · RECLASSIFIED M5.2 LANDSLIDE": "ПЕРВОНАЧАЛЬНО M4,4 · ПЕРЕКЛАССИФИЦИРОВАНО: ОПОЛЗЕНЬ M5,2",
|
||||
"USGS EVENT us7000tbwb · OPEN SOURCE": "СОБЫТИЕ USGS us7000tbwb · ОТКРЫТЬ ИСТОЧНИК",
|
||||
"flight": "рейс",
|
||||
"military flight": "военный рейс",
|
||||
"satellite": "спутник",
|
||||
"VOICE AUTH · CHATGPT OAUTH": "АВТОРИЗАЦИЯ ГОЛОСА · CHATGPT OAUTH",
|
||||
"VOICE AUTH · API KEY": "АВТОРИЗАЦИЯ ГОЛОСА · КЛЮЧ API",
|
||||
"USE API KEY": "ИСПОЛЬЗОВАТЬ КЛЮЧ API",
|
||||
"USE CHATGPT OAUTH": "ИСПОЛЬЗОВАТЬ CHATGPT OAUTH",
|
||||
"Use OPENAI_API_KEY for the next cloud voice session": "Использовать OPENAI_API_KEY для следующей облачной голосовой сессии",
|
||||
"Use the signed-in local ChatGPT/Codex OAuth session for the next cloud voice session": "Использовать локальную OAuth-сессию ChatGPT/Codex, в которую выполнен вход, для следующей облачной голосовой сессии",
|
||||
"Metered — a billing-enabled account": "Платный — нужен аккаунт с включённой оплатой",
|
||||
"Free key — register, paste, done": "Бесплатный ключ — зарегистрируйтесь, вставьте, готово",
|
||||
"browser-side": "в браузере",
|
||||
"This key runs in the browser by design — restrict it at the provider (see SECURITY.md)": "Этот ключ по задумке работает в браузере — ограничьте его у провайдера (см. SECURITY.md)",
|
||||
"configured externally": "задан извне",
|
||||
"Supplied by your environment, Keychain, or launcher — change it where it was set": "Задан окружением, Keychain или лаунчером — меняйте его там, где он задан",
|
||||
"MANAGE ↗": "УПРАВЛЯТЬ ↗",
|
||||
"GET KEY ↗": "ПОЛУЧИТЬ КЛЮЧ ↗",
|
||||
"{envVar} saved — paste to replace": "{envVar} сохранён — вставьте, чтобы заменить",
|
||||
"paste {envVar}": "вставьте {envVar}",
|
||||
"Project keys: {status}": "Ключи проекта: {status}",
|
||||
"Mapped camera locations": "Расположение камер на карте",
|
||||
"SHOW NEAREST": "ПОКАЗАТЬ БЛИЖАЙШУЮ",
|
||||
"Stop following the current object before navigating to a camera": "Прекратите следовать за текущим объектом, прежде чем переходить к камере",
|
||||
"Move to the nearest loaded camera and show its details": "Перейти к ближайшей загруженной камере и показать её данные",
|
||||
"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}"
|
||||
},
|
||||
"{count} nearby": {
|
||||
"one": "рядом: {count}",
|
||||
"few": "рядом: {count}",
|
||||
"many": "рядом: {count}",
|
||||
"other": "рядом: {count}"
|
||||
},
|
||||
"retrying mapped ALPR cameras": "повторная загрузка камер ALPR",
|
||||
"loading mapped ALPR cameras": "загрузка камер ALPR",
|
||||
"No ALPR data for this area — US and Canada only": "Нет данных ALPR для этой области — только США и Канада",
|
||||
"Zoom in to load mapped cameras": "Приблизьте карту, чтобы загрузить камеры",
|
||||
"Showing cached locations": "Показаны места из кэша",
|
||||
"Coverage limited — zoom in": "Покрытие ограничено — приблизьте карту",
|
||||
"No ALPR data for this area": "Нет данных ALPR для этой области",
|
||||
"None on screen — nearby cameras are outside the view": "На экране нет — ближайшие камеры вне поля зрения",
|
||||
"ALPR camera": "Камера ALPR",
|
||||
"OpenStreetMap · community mapped": "OpenStreetMap · нанесено сообществом",
|
||||
"Atlantic and eastern/central North Pacific; not worldwide cyclone coverage.": "Атлантика и восточная/центральная часть северной Пацифики; покрытие циклонов не глобальное.",
|
||||
"Potential tropical cyclone": "Потенциальный тропический циклон",
|
||||
"Hurricane": "Ураган",
|
||||
"Tropical storm": "Тропический шторм",
|
||||
"Tropical depression": "Тропическая депрессия",
|
||||
"Subtropical storm": "Субтропический шторм",
|
||||
"Subtropical depression": "Субтропическая депрессия",
|
||||
"Track and cone match this advisory": "Трек и конус соответствуют этому бюллетеню",
|
||||
"Track/cone awaiting advisory {number}": "Трек/конус ожидают бюллетень {number}",
|
||||
"Track/cone unavailable": "Трек/конус недоступны",
|
||||
"Cached advisory · stale source": "Бюллетень из кэша · источник устарел",
|
||||
"Loading advisories…": "Загрузка бюллетеней…",
|
||||
"{count} active storms": {
|
||||
"one": "{count} активный шторм",
|
||||
"few": "{count} активных шторма",
|
||||
"many": "{count} активных штормов",
|
||||
"other": "{count} активного шторма"
|
||||
},
|
||||
"Position as of {time}": "Положение на {time}",
|
||||
"Maximum sustained wind: {wind} · Pressure: {pressure}": "Макс. устойчивый ветер: {wind} · Давление: {pressure}",
|
||||
"{name} · {classification} · Advisory {number} · issued {time}": "{name} · {classification} · Бюллетень {number} · выпущен {time}",
|
||||
"No active NHC/CPHC systems": "Нет активных систем NHC/CPHC",
|
||||
"Advisories unavailable": "Бюллетени недоступны",
|
||||
"Cyclones · NHC / CPHC": "Циклоны · NHC / CPHC",
|
||||
"Atlantic · E/C Pacific": "Атлантика · вост./центр. Пацифика",
|
||||
"{storms} · {name} selected": "{storms} · выбран {name}",
|
||||
"Official advisory ↗": "Официальный бюллетень ↗",
|
||||
"Active NHC and CPHC cyclone advisories": "Активные бюллетени NHC и CPHC о циклонах",
|
||||
"Wind unavailable": "Ветер: нет данных",
|
||||
"Advisory center / forecast track": "Центр по бюллетеню / прогнозный трек",
|
||||
"Center-track uncertainty cone": "Конус неопределённости трека центра",
|
||||
"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.": "Выберите шторм на карте или в списке, чтобы выделить его и переместить к нему камеру. Щёлкните по пустому месту карты, чтобы снять выделение. Контекст бюллетеней NOAA NHC/CPHC. Конус описывает неопределённость прогнозного трека центра, а не размер шторма или всю зону опасности. Подписи прогнозных точек — заблаговременность источника в часах, а не время, рассчитанное от выпуска бюллетеня. Геометрия следует поверхности; высота не отражает высоту погодных явлений. Сверяйтесь с официальным бюллетенем.",
|
||||
"Directions": "Маршруты",
|
||||
"{mode} — reroute for {modeLower}": "{mode} — перестроить маршрут: {modeLower}",
|
||||
"CLICK MAP": "ЩЁЛКНИТЕ ПО КАРТЕ",
|
||||
"SET A": "ЗАДАТЬ A",
|
||||
"Click a spot on the globe to place A (click again to cancel)": "Щёлкните точку на глобусе, чтобы поставить A (повторный щелчок — отмена)",
|
||||
"Then click the globe to place the start": "Затем щёлкните по глобусу, чтобы поставить начало",
|
||||
"SET B": "ЗАДАТЬ B",
|
||||
"Click a spot on the globe to place B (click again to cancel)": "Щёлкните точку на глобусе, чтобы поставить B (повторный щелчок — отмена)",
|
||||
"Then click the globe to place the destination": "Затем щёлкните по глобусу, чтобы поставить пункт назначения",
|
||||
"Swap A and B": "Поменять A и B местами",
|
||||
"FLY ···": "ПОЛЁТ ···",
|
||||
"FLYING": "В ПОЛЁТЕ",
|
||||
"FLY": "ПОЛЁТ",
|
||||
"Fly the camera along the route": "Пролететь камерой по маршруту",
|
||||
"Place A and B first": "Сначала поставьте A и B",
|
||||
"Remove the route and both markers": "Удалить маршрут и обе метки",
|
||||
"press Escape twice to leave Draw": "дважды нажмите Escape, чтобы выйти из режима «Рисование»",
|
||||
"{name} is active — turn {name} off, then set {endpoint}": "Активно: {name} — выключите {name}, затем задайте {endpoint}",
|
||||
"{name} is active — {leave}, then set {endpoint}": "Активно: {name} — {leave}, затем задайте {endpoint}",
|
||||
"Only the first {count} turns of this route are shown": "Показаны только первые повороты маршрута: {count}",
|
||||
"Turn-by-turn directions": "Пошаговые указания",
|
||||
"OSM routing": "Маршрутизация OSM",
|
||||
"DRIVE": "АВТО",
|
||||
"Drive": "На машине",
|
||||
"Another map tool is using clicks — close it, then SET A again": "Щелчки занимает другой инструмент карты — закройте его и снова нажмите ЗАДАТЬ A",
|
||||
"WALK": "ПЕШКОМ",
|
||||
"Walk": "Пешком",
|
||||
"Routing…": "Построение маршрута…",
|
||||
"BIKE": "ВЕЛО",
|
||||
"Bike": "На велосипеде",
|
||||
"No route found": "Маршрут не найден",
|
||||
"{distance} · {duration} · {mode} · first {count} turns": "{distance} · {duration} · {mode} · первые повороты: {count}",
|
||||
"{distance} · {duration} · {mode}": "{distance} · {duration} · {mode}",
|
||||
"Click the globe to place {endpoint}": "Щёлкните по глобусу, чтобы поставить {endpoint}",
|
||||
"SET B, then click the globe": "Нажмите ЗАДАТЬ B, затем щёлкните по глобусу",
|
||||
"SET A, then click the globe": "Нажмите ЗАДАТЬ A, затем щёлкните по глобусу",
|
||||
"Step {step} of {total} · then {leg}": "Шаг {step} из {total} · затем {leg}",
|
||||
"Step {step} of {total}": "Шаг {step} из {total}",
|
||||
"Then: {instruction}": "Затем: {instruction}",
|
||||
"No route found between A and B": "Маршрут между A и B не найден",
|
||||
"Routing failed: {error}": "Не удалось построить маршрут: {error}",
|
||||
"Routing timed out": "Истекло время построения маршрута",
|
||||
"Routing unavailable — no response from the routing service": "Построение маршрута недоступно — сервис маршрутизации не отвечает",
|
||||
"Routing unavailable": "Построение маршрута недоступно",
|
||||
"Fire · FRP {frp} MW": "Пожар · FRP {frp} МВт",
|
||||
"Not contained or unknown": "Не локализован или неизвестно",
|
||||
"Under 50% contained": "Локализован менее чем на 50%",
|
||||
"50–99% contained": "Локализован на 50–99%",
|
||||
"Fully contained": "Полностью локализован",
|
||||
"Colour shows reported containment. Perimeters are simplified to about 100 m.": "Цвет показывает заявленную степень локализации. Контуры упрощены примерно до 100 м.",
|
||||
"MORE DETAIL · 30 m": "БОЛЬШЕ ДЕТАЛЕЙ · 30 м",
|
||||
"Sentinel-2 and Landsat via HLS, 30 m, every 2–6 days": "Sentinel-2 и Landsat через HLS, 30 м, каждые 2–6 дней",
|
||||
"DAILY OVERVIEW · 250 m": "ЕЖЕДНЕВНЫЙ ОБЗОР · 250 м",
|
||||
"VIIRS daily mosaic, 250 m, follows broad changes; little detail under 25 km": "Ежедневная мозаика VIIRS, 250 м, показывает крупные изменения; мало деталей в масштабе менее 25 км",
|
||||
"Catalog truncated · a newer clear day may exist": "Каталог усечён · может быть более новый ясный день",
|
||||
"{label} catalog unavailable · {detail}": "Каталог {label} недоступен · {detail}",
|
||||
"Daily overview for today may still be empty until the pass": "Ежедневный обзор за сегодня может оставаться пустым до пролёта спутника",
|
||||
"Sentinel-2": "Sentinel-2",
|
||||
"Landsat 8/9": "Landsat 8/9",
|
||||
"Daily overview": "Ежедневный обзор",
|
||||
"No frame within {gap} min of {time}": "Нет кадра в пределах {gap} мин от {time}",
|
||||
"No frame within {gap} h of {time}": "Нет кадра в пределах {gap} ч от {time}",
|
||||
"{hours}h {minutes}m ago": "{hours} ч {minutes} мин назад",
|
||||
"{minutes}m ago": "{minutes} мин назад",
|
||||
"{state} · {time} · {lag}": "{state} · {time} · {lag}",
|
||||
"Observed": "Наблюдение",
|
||||
"History": "История",
|
||||
"Observation unavailable": "Наблюдение недоступно",
|
||||
"Waiting for observation": "Ожидание наблюдения",
|
||||
"{detail} · synced": "{detail} · синхронизировано",
|
||||
"{detail} · nearest": "{detail} · ближайший",
|
||||
"RADAR REFLECTIVITY · dBZ": "ОТРАЖАЕМОСТЬ РАДАРА · dBZ",
|
||||
"LIGHTNING DENSITY · 15 min accumulation": "ПЛОТНОСТЬ МОЛНИЙ · накопление за 15 мин",
|
||||
"GLOBAL INFRARED · hourly": "ГЛОБАЛЬНЫЙ ИК · ежечасно",
|
||||
"GOES INFRARED · ~5 min": "GOES ИК · ~5 мин",
|
||||
"{state}: {time}": "{state}: {time}",
|
||||
"Latest observation": "Последнее наблюдение",
|
||||
"frame {index}/{total}": "кадр {index}/{total}",
|
||||
"loading": "загрузка",
|
||||
"Observation: unavailable": "Наблюдение: недоступно",
|
||||
"Contiguous US · gaps ≠ no rain": "Континентальные США · пробелы ≠ нет дождя",
|
||||
"Americas + Pacific · not individual strikes": "Америка + Тихий океан · не отдельные разряды",
|
||||
"Color: strikes/km²/min ×10³": "Цвет: разрядов/км²/мин ×10³",
|
||||
"60°S–60°N · typically 2–3 h delayed": "60° ю. ш.–60° с. ш. · обычно задержка 2–3 ч",
|
||||
"North America · infrared imagery": "Северная Америка · ИК-снимки",
|
||||
"Reduced motion · history playback unavailable": "Уменьшение движения · воспроизведение истории недоступно",
|
||||
"Reduced motion · manual history available": "Уменьшение движения · доступна ручная история",
|
||||
"Rain radar · US": "Радар осадков · США",
|
||||
"Lightning density · 15 min": "Плотность молний · 15 мин",
|
||||
"Satellite clouds": "Спутниковая облачность",
|
||||
"Americas + Pacific": "Америка + Тихий океан",
|
||||
"Global · 60°S–60°N": "Глобально · 60° ю. ш.–60° с. ш.",
|
||||
"North America": "Северная Америка",
|
||||
"Source observations delayed": "Наблюдения источника задерживаются",
|
||||
"Stale source": "Источник устарел",
|
||||
"Loading next frame…": "Загрузка следующего кадра…",
|
||||
"Map center outside coverage": "Центр карты вне зоны покрытия",
|
||||
"strikes/km²/min ×10³": "разрядов/км²/мин ×10³",
|
||||
"N. America": "Сев. Америка",
|
||||
"Global": "Глобально",
|
||||
"Hourly global mosaic; usually 2–3 hours delayed": "Ежечасная глобальная мозаика; обычно с задержкой 2–3 ч",
|
||||
"GOES regional clouds; approximately 5-minute updates": "Региональная облачность GOES; обновление примерно каждые 5 мин",
|
||||
"Clouds only": "Только облака",
|
||||
"Dim everything but the bright, cold cloud tops; a brightness filter, not a cloud mask": "Затемнить всё, кроме ярких холодных вершин облаков; фильтр яркости, а не маска облачности",
|
||||
"Full": "Полное",
|
||||
"The complete infrared image at the chosen opacity": "Полное ИК-изображение с выбранной непрозрачностью",
|
||||
"Soft": "Мягко",
|
||||
"Vivid": "Ярко",
|
||||
"Image opacity; does not alter the observed values": "Непрозрачность изображения; не меняет наблюдаемые значения",
|
||||
"View US radar": "Показать радар США",
|
||||
"View Americas & Pacific": "Показать Америку и Тихий океан",
|
||||
"View coverage": "Показать зону покрытия",
|
||||
"{value} strikes/km²/min ×10³ (15-minute density)": "{value} разрядов/км²/мин ×10³ (плотность за 15 мин)",
|
||||
"{value} dBZ radar reflectivity": "Отражаемость радара: {value} dBZ",
|
||||
"STALE · cached source metadata": "УСТАРЕЛ · метаданные источника из кэша",
|
||||
"Map center is outside source coverage": "Центр карты вне зоны покрытия источника",
|
||||
"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.": "15-минутная плотность молний NOAA/NWS на основе Vaisala NLDN/GLD360. Покрытие — от 110° в. д. через Тихий океан и Америку до 0°, 25° ю. ш.–80° с. ш. Это не подсчёт разрядов в реальном времени, не глобальное покрытие и не предупреждение об опасности.",
|
||||
"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": "ИЗОБРАЖЕНИЕ",
|
||||
"OPACITY": "НЕПРОЗРАЧНОСТЬ",
|
||||
"Forecast · does not follow history": "Прогноз · не следует за историей",
|
||||
"Wind motion": "Движение ветра",
|
||||
"Wind speed": "Скорость ветра",
|
||||
"Sea-level pressure": "Давление на уровне моря",
|
||||
"Air temperature · 2 m": "Температура воздуха · 2 м",
|
||||
"Global · 1° grid": "Глобально · сетка 1°",
|
||||
"{model} forecast · {time}": "Прогноз {model} · {time}",
|
||||
"Loading forecast": "Загрузка прогноза",
|
||||
"Preparing flow": "Подготовка потока",
|
||||
"Selected field unavailable": "Выбранное поле недоступно",
|
||||
"Cached forecast · stale": "Прогноз из кэша · устарел",
|
||||
"ECMWF IFS surface forecast": "Приземный прогноз ECMWF IFS",
|
||||
"NOAA GFS surface forecast": "Приземный прогноз NOAA GFS",
|
||||
"Reduced motion": "Уменьшение движения",
|
||||
"Pause visual flow; forecast time does not advance with animation": "Приостановить визуальный поток; время прогноза не сдвигается с анимацией",
|
||||
"None": "Нет",
|
||||
"Speed": "Скорость",
|
||||
"Pressure": "Давление",
|
||||
"Temperature": "Температура",
|
||||
"Wind trails with no field shading": "Следы ветра без заливки поля",
|
||||
"How hard the surface wind is blowing": "Насколько сильно дует приземный ветер",
|
||||
"Sea-level air pressure: broad highs and lows": "Давление на уровне моря: крупные области высокого и низкого давления",
|
||||
"Air temperature two meters above the surface": "Температура воздуха в двух метрах над поверхностью",
|
||||
"Wind speed units": "Единицы скорости ветра",
|
||||
"Read wind at map center": "Узнать ветер в центре карты",
|
||||
"Read the forecast at the center of the map without changing selection": "Получить прогноз в центре карты, не меняя выбор",
|
||||
"{model} forecast · {field} ({unit})": "Прогноз {model} · {field} ({unit})",
|
||||
"Valid: {time}": "Действует на: {time}",
|
||||
"preparing": "подготовка",
|
||||
"Issued: {time}": "Выпущен: {time}",
|
||||
"Selected field unavailable · wind remains visible": "Выбранное поле недоступно · ветер остаётся видимым",
|
||||
"{error} · wind remains visible": "{error} · ветер остаётся видимым",
|
||||
"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.": "Приземный ветер на высоте 10 м. Глобальная сетка около 1°. Линии следуют полю ветра на 10 м и подняты на 12 км для наглядности; высота отображения не является высотой погодных явлений. Освещение вида — для удобства чтения. Анимация показывает поток в одном фиксированном прогнозе и не сдвигает время. Цветовые поля накладываются на базовую карту глобуса или на активные фотореалистичные 3D Tiles.",
|
||||
"MODEL": "МОДЕЛЬ",
|
||||
"FIELD": "ПОЛЕ",
|
||||
"UNITS": "ЕДИНИЦЫ",
|
||||
"MOTION": "ДВИЖЕНИЕ",
|
||||
"Forecast": "Прогноз",
|
||||
"Interpolated model forecast on an approximately 1° grid. Broad weather patterns, not a street-level measurement.": "Интерполированный модельный прогноз на сетке около 1°. Крупные погодные закономерности, а не измерение на уровне улицы.",
|
||||
"No surface reading": "Нет приземных данных",
|
||||
"Aim the map center at Earth": "Наведите центр карты на Землю",
|
||||
" · calm": " · штиль",
|
||||
" from {direction}": " с {direction}",
|
||||
"WIND AT {coordinates}": "ВЕТЕР В ТОЧКЕ {coordinates}",
|
||||
"{model} · valid {time}": "{model} · на {time}",
|
||||
"Focusing {label}": "Фокусировка: {label}",
|
||||
"Source": "Источник",
|
||||
"Could not leave scene: {scene}": "Не удалось выйти из сцены: {scene}",
|
||||
"Seeked: {scene} / {shot}": "Перемотано: {scene} / {shot}",
|
||||
"Scene transition limit reached — load a shot to reset": "Достигнут лимит переходов сцены — загрузите кадр, чтобы сбросить его",
|
||||
"Export failed: {error}": "Ошибка экспорта: {error}",
|
||||
"Imported {file}": "Импортировано: {file}",
|
||||
"Import failed: {error}": "Ошибка импорта: {error}",
|
||||
"Import failed (could not read JSON file)": "Ошибка импорта (не удалось прочитать файл JSON)",
|
||||
"Layers refused: {layers}": "Слои отклонены: {layers}",
|
||||
"Scene {n}": "Сцена {n}",
|
||||
"Cannot update {scene}: shot inventory changed": "Не удалось обновить {scene}: изменился состав кадров",
|
||||
"Cannot update {scene}: evidence beats changed": "Не удалось обновить {scene}: изменились этапы доказательств",
|
||||
"Cannot update {scene}: shot bindings are incomplete": "Не удалось обновить {scene}: привязки кадров неполные",
|
||||
"Updated {count} shots: {scene}": {
|
||||
"one": "Обновлён {count} кадр: {scene}",
|
||||
"few": "Обновлено {count} кадра: {scene}",
|
||||
"many": "Обновлено {count} кадров: {scene}",
|
||||
"other": "Обновлено {count} кадра: {scene}"
|
||||
},
|
||||
"Appended {count} shots: {scene}": {
|
||||
"one": "Добавлен {count} кадр: {scene}",
|
||||
"few": "Добавлено {count} кадра: {scene}",
|
||||
"many": "Добавлено {count} кадров: {scene}",
|
||||
"other": "Добавлено {count} кадра: {scene}"
|
||||
},
|
||||
"Select a feature or use Tab and Enter to choose an action.": "Выберите объект на карте или используйте Tab и Enter, чтобы выбрать действие.",
|
||||
"Selected feature: {feature}. Choose an action.": "Выбран объект: {feature}. Выберите действие.",
|
||||
"Action complete": "Действие выполнено",
|
||||
"Action unavailable or cancelled": "Действие недоступно или отменено",
|
||||
"Scene actions": "Действия сцены",
|
||||
"Bhote Koshi Evidence Sequence": "Последовательность доказательств: Bhote Koshi",
|
||||
"Nepal Flood Incident": "Наводнение в Непале",
|
||||
"{count} scenes": {
|
||||
"one": "{count} сцена",
|
||||
"few": "{count} сцены",
|
||||
"many": "{count} сцен",
|
||||
"other": "{count} сцены"
|
||||
},
|
||||
"{count} shots": {
|
||||
"one": "{count} кадр",
|
||||
"few": "{count} кадра",
|
||||
"many": "{count} кадров",
|
||||
"other": "{count} кадра"
|
||||
},
|
||||
"{count} data packs": {
|
||||
"one": "{count} пакет данных",
|
||||
"few": "{count} пакета данных",
|
||||
"many": "{count} пакетов данных",
|
||||
"other": "{count} пакета данных"
|
||||
},
|
||||
"{scene} / {pack}: {status}. File: {path}. {attribution} · {license}": "{scene} / {pack}: {status}. Файл: {path}. {attribution} · {license}",
|
||||
"Unavailable layers: {layers}": "Недоступные слои: {layers}",
|
||||
"This scene uses registered content or linked media. Those external files are not included in a scene bundle. Their original notices still apply.": "Эта сцена использует зарегистрированный контент или связанные медиафайлы. Эти внешние файлы не входят в архив сцены. Их исходные уведомления по-прежнему действуют.",
|
||||
"{bytes} bundled bytes verified. Files stay in memory for this session. Reimport the bundle after reloading the app.": "Проверено байт в архиве: {bytes}. Файлы хранятся в памяти только в этом сеансе. После перезагрузки приложения импортируйте архив снова.",
|
||||
"Review scene import": "Проверка импорта сцены",
|
||||
"Nothing is loaded or changed until you apply this file.": "Ничего не загружается и не меняется, пока вы не примените этот файл.",
|
||||
"Ready to import": "Готово к импорту",
|
||||
"Apply replaces the current project. Export your current project first if you want to keep both.": "Применение заменит текущий проект. Чтобы сохранить оба, сначала экспортируйте текущий проект.",
|
||||
"Apply import": "Применить импорт",
|
||||
"Import was not applied. The current project may have changed.": "Импорт не применён. Возможно, текущий проект изменился.",
|
||||
"Select a scene and shot first": "Сначала выберите сцену и кадр",
|
||||
"Edit scene details": "Изменить параметры сцены",
|
||||
"Camera positions use degrees and meters above the ellipsoid. Drafts are validated before they replace your saved scene.": "Положения камеры задаются в градусах и метрах над эллипсоидом. Черновики проверяются, прежде чем заменить сохранённую сцену.",
|
||||
"Anchors and data packs": "Якоря и пакеты данных",
|
||||
"Shot camera, timing, packs and actions": "Камера кадра, тайминг, пакеты и действия",
|
||||
"New anchor ID": "ID нового якоря",
|
||||
"Capture camera as anchor": "Сохранить камеру как якорь",
|
||||
"Anchor added to draft": "Якорь добавлен в черновик",
|
||||
"Set move start to current camera": "Начать перелёт с текущей камеры",
|
||||
"Move added to draft; destination remains the shot camera": "Перелёт добавлен в черновик; конечной точкой остаётся камера кадра",
|
||||
"Use ordinary flight": "Использовать обычный перелёт",
|
||||
"Invalid shot JSON": "Некорректный JSON кадра",
|
||||
"Apply details": "Применить параметры",
|
||||
"Select a scene first": "Сначала выберите сцену",
|
||||
"Share selected scene": "Поделиться выбранной сценой",
|
||||
"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.": "JSON сцены сохраняет авторские настройки и атрибуцию, но не содержит файлов ресурсов. Архив включает только файлы пакетов, выбранные здесь, или файлы ранее импортированных архивов.",
|
||||
"Download scene JSON": "Скачать JSON сцены",
|
||||
"Choose data-pack files": "Выбрать файлы пакетов данных",
|
||||
"Or choose a data-pack folder": "Или выберите папку пакета данных",
|
||||
"Download asset bundle": "Скачать архив ресурсов",
|
||||
"Asset bundle downloaded": "Архив ресурсов скачан",
|
||||
"Could not complete this action. Check the file, references and selected assets.": "Не удалось выполнить действие. Проверьте файл, ссылки и выбранные ресурсы.",
|
||||
"RTL-SDR sample stream stopped": "Поток выборок RTL-SDR остановлен",
|
||||
"Switching to {mode}…": "Переключение на {mode}…",
|
||||
"Browser audio is suspended; select FM again to resume it": "Звук в браузере приостановлен; выберите FM ещё раз, чтобы возобновить его",
|
||||
"RTL-SDR gain change failed": "Не удалось изменить усиление RTL-SDR",
|
||||
"Tuned to {mhz} MHz FM": "Настроено на FM {mhz} МГц",
|
||||
"FM signal found at {mhz} MHz": "Найден FM-сигнал на {mhz} МГц",
|
||||
"No FM signal found": "FM-сигнал не найден",
|
||||
"Seek stopped": "Поиск остановлен",
|
||||
"Browser location is unavailable": "Местоположение браузера недоступно",
|
||||
"Receiver location was not granted": "Доступ к местоположению приёмника не предоставлен",
|
||||
"RTL-SDR disconnected": "RTL-SDR отключён",
|
||||
"No RTL-SDR device selected": "Устройство RTL-SDR не выбрано",
|
||||
"WebUSB requires desktop Chrome or Edge on localhost/HTTPS": "Для WebUSB нужен настольный Chrome или Edge на localhost/HTTPS",
|
||||
"RTL-SDR access failed; close other SDR apps and check USB permissions": "Нет доступа к RTL-SDR; закройте другие SDR-приложения и проверьте разрешения USB",
|
||||
"RTL-SDR connection failed": "Не удалось подключить RTL-SDR",
|
||||
"Receiving 1090 MHz ADS-B": "Приём ADS-B на 1090 МГц",
|
||||
"Receiving broadcast FM": "Приём FM-вещания",
|
||||
"Connect an RTL-SDR to begin.": "Подключите RTL-SDR, чтобы начать.",
|
||||
"WebUSB is unavailable in this browser": "WebUSB недоступен в этом браузере",
|
||||
"SDR decoder worker failed": "Сбой обработчика декодера SDR",
|
||||
"WebUSB requires desktop Chrome or Edge": "Для WebUSB нужен настольный Chrome или Edge",
|
||||
"Waiting for an RTL-SDR device…": "Ожидание устройства RTL-SDR…",
|
||||
"Browser audio is suspended; press Connect again to resume it": "Звук в браузере приостановлен; нажмите «Подключить» ещё раз, чтобы возобновить его",
|
||||
"Return map to straight-down view": "Вернуть карту к виду сверху",
|
||||
"Tilt map to oblique view": "Наклонить карту в перспективный вид",
|
||||
"Reset map to north up. Current heading {heading} degrees": "Повернуть карту севером вверх. Текущий курс: {heading}°",
|
||||
"HDG": "КУРС",
|
||||
"PITCH": "ТАНГАЖ",
|
||||
"FOV": "ОБЗОР",
|
||||
"RANGE": "ДАЛЬН.",
|
||||
"HGT": "ВЫС.",
|
||||
"{value} KM/H": "{value} КМ/Ч",
|
||||
"NORMAL": "ОБЫЧНЫЙ",
|
||||
"ANIME": "АНИМЕ",
|
||||
"NOIR": "НУАР",
|
||||
"Rendered globe frames per second · toggle with `": "Кадров глобуса в секунду · переключение клавишей `",
|
||||
"Utilities": "Инструменты",
|
||||
"Other layers": "Другие слои",
|
||||
"Movement": "Движение",
|
||||
"Infrastructure": "Инфраструктура",
|
||||
"Events": "События",
|
||||
"Weather": "Погода",
|
||||
"LOCATED": "ОПРЕДЕЛЕНО",
|
||||
"LOCATE": "ОПРЕДЕЛИТЬ",
|
||||
"IDLE": "ОЖИДАНИЕ",
|
||||
"TUNING": "НАСТРОЙКА",
|
||||
"STREAMING": "ПРИЁМ",
|
||||
"UNSUPPORTED": "НЕ ПОДДЕРЖ.",
|
||||
"waiting for IQ": "ожидание IQ",
|
||||
"{count} messages": {
|
||||
"one": "{count} сообщение",
|
||||
"few": "{count} сообщения",
|
||||
"many": "{count} сообщений",
|
||||
"other": "{count} сообщения"
|
||||
},
|
||||
"DSP {count} blocks": {
|
||||
"one": "DSP {count} блок",
|
||||
"few": "DSP {count} блока",
|
||||
"many": "DSP {count} блоков",
|
||||
"other": "DSP {count} блока"
|
||||
},
|
||||
"DSP waiting": "DSP ожидает",
|
||||
"{level} dBFS audio": "аудио {level} dBFS",
|
||||
"audio signal --": "аудиосигнал --",
|
||||
"audio {state}": "аудио: {state}",
|
||||
"{count} HEARD": {
|
||||
"one": "СЛЫШНО: {count}",
|
||||
"few": "СЛЫШНО: {count}",
|
||||
"many": "СЛЫШНО: {count}",
|
||||
"other": "СЛЫШНО: {count}"
|
||||
},
|
||||
"DISCONNECT": "ОТКЛЮЧИТЬ",
|
||||
"CONNECT": "ПОДКЛЮЧИТЬ",
|
||||
"LOCATING…": "ОПРЕДЕЛЕНИЕ…",
|
||||
"Drag to resize · double-click the header to snap back": "Перетащите, чтобы изменить размер · двойной щелчок по заголовку — вернуть на место",
|
||||
"CH {index} / {total}": "КАН. {index} / {total}",
|
||||
"Station unavailable after directory refresh": "Станция недоступна после обновления каталога",
|
||||
"Clear reading": "Очистить показания",
|
||||
"Earlier observation": "Более раннее наблюдение",
|
||||
"Observed history": "История наблюдений",
|
||||
"Later observation": "Более позднее наблюдение",
|
||||
"Latest": "Последние",
|
||||
"Newest frame per product": "Самый свежий кадр каждого продукта",
|
||||
"Replay observed history": "Воспроизвести историю наблюдений",
|
||||
"S on another day replaces it · × unpins": "S на другом дне заменяет его · × открепляет",
|
||||
"← → preview · S shows the focused day": "← → просмотр · S показывает выбранный день",
|
||||
"Recent imagery": "Свежие снимки",
|
||||
"ZOOM IN": "ПРИБЛИЗИТЬ",
|
||||
"Fly in until the view fits the 1,000 km limit": "Приблизьтесь, пока вид не уложится в предел 1000 км",
|
||||
"Imagery days, newest first · arrows move, S or A and B pin": "Дни со снимками, сначала новые · стрелки — перемещение, S или A и B — закрепить",
|
||||
"On the map": "На карте",
|
||||
"Mode": "Режим",
|
||||
"Imagery on Esri · Google 3D returns when cleared": "Снимки поверх Esri · после очистки вернётся Google 3D",
|
||||
"Imagery opacity": "Непрозрачность снимков",
|
||||
"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": "ВЫБРАТЬ ОБЛАСТЬ",
|
||||
"Drag a box on the map (Esc cancels)": "Выделите область на карте (Esc — отмена)",
|
||||
"Newest day with imagery for this box · partial coverage": "Самый свежий день со снимками этой области · частичное покрытие",
|
||||
"USE VIEW": "ПО ВИДУ",
|
||||
"Use the current view as the box": "Использовать текущий вид как область",
|
||||
"Newest daily overview for this box": "Самый свежий ежедневный обзор для этой области",
|
||||
"Forget the box and its images": "Сбросить область и её снимки",
|
||||
"newest clear day": "самый свежий ясный день",
|
||||
"newest day (cloudy)": "самый свежий день (облачно)",
|
||||
"newest day (partial coverage)": "самый свежий день (частичное покрытие)",
|
||||
"START HERE": "НАЧНИТЕ ЗДЕСЬ",
|
||||
"newest overview": "самый свежий обзор",
|
||||
"No imagery": "Нет снимков",
|
||||
"Checking": "Проверка",
|
||||
"Loading": "Загрузка",
|
||||
"PREVIEW": "ПРОСМОТР",
|
||||
"Newest day with imagery for this box": "Самый свежий день со снимками этой области",
|
||||
"SHOW": "ПОКАЗАТЬ",
|
||||
"Pin {day} as {slot}": "Закрепить {day} как {slot}",
|
||||
"Show {day}": "Показать {day}",
|
||||
"pinned {slot}": "закреплено как {slot}",
|
||||
"shown": "показано",
|
||||
"preview": "просмотр",
|
||||
"start here": "начните здесь",
|
||||
"No box": "Нет области",
|
||||
"Searching": "Поиск",
|
||||
"Every day is empty here": "Здесь все дни пустые",
|
||||
"Sources off": "Источники выключены",
|
||||
"VS": "VS",
|
||||
"Not set": "Не задано",
|
||||
"Basemap": "Подложка",
|
||||
"Source off": "Источник выключен",
|
||||
"Unpin {slot}": "Открепить {slot}",
|
||||
"Unpin the image": "Открепить снимок",
|
||||
"EXPORT {slot}": "ЭКСПОРТ {slot}",
|
||||
"EXPORT": "ЭКСПОРТ",
|
||||
"Download {slot} as a PNG": "Скачать {slot} в PNG",
|
||||
"Download the image as a PNG": "Скачать снимок в PNG",
|
||||
"Box {width} × {height} km": "Область {width} × {height} км",
|
||||
"no imagery": "нет снимков",
|
||||
"Acquired {time}": "Снято {time}",
|
||||
"cloud unknown": "облачность неизвестна",
|
||||
"Coverage {coverage}": "Покрытие {coverage}",
|
||||
"unknown": "неизвестно",
|
||||
"START HERE · {reason}": "НАЧНИТЕ ЗДЕСЬ · {reason}",
|
||||
"Daily overview shows little detail in a box this small": "В такой маленькой области ежедневный обзор почти не показывает деталей",
|
||||
"{percent}% cloud": "облачность {percent}%",
|
||||
"Imagery: NASA GIBS and Worldview · HLS (Sentinel-2, Landsat 8/9) and VIIRS": "Снимки: NASA GIBS и Worldview · HLS (Sentinel-2, Landsat 8/9) и VIIRS",
|
||||
"{min}–{max}% cloud": "облачность {min}–{max}%",
|
||||
"Details": "Подробности",
|
||||
"Times, coverage, sources": "Время, покрытие, источники",
|
||||
"HIDE EMPTY DAYS": "СКРЫТЬ ПУСТЫЕ ДНИ",
|
||||
"SHOW EMPTY DAYS · {count}": "ПОКАЗАТЬ ПУСТЫЕ ДНИ · {count}",
|
||||
"Days the probe found empty in this box": "Дни, в которые проверка не нашла снимков в этой области",
|
||||
"NO BOX": "НЕТ ОБЛАСТИ",
|
||||
"image": "снимок",
|
||||
"BASEMAP": "ПОДЛОЖКА",
|
||||
"The basemap": "Подложка",
|
||||
"basemap": "подложка",
|
||||
"SEARCHING": "ПОИСК",
|
||||
"{count} DAYS": {
|
||||
"one": "{count} ДЕНЬ",
|
||||
"few": "{count} ДНЯ",
|
||||
"many": "{count} ДНЕЙ",
|
||||
"other": "{count} ДНЯ"
|
||||
},
|
||||
"Recent imagery against the basemap divider": "Разделитель: свежие снимки и подложка",
|
||||
"Recent imagery A and B divider": "Разделитель свежих снимков A и B",
|
||||
"{before} {left} percent, {after} {right} percent": "{before}: {left}%, {after}: {right}%",
|
||||
"Zoom in or draw a smaller box": "Приблизьте карту или выделите область поменьше",
|
||||
"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": "Перетащите разделитель · ПОМЕНЯТЬ меняет стороны",
|
||||
"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 закрепляет её",
|
||||
"LOAD": "ЗАГРУЗИТЬ",
|
||||
"No shots yet. Use CAPTURE SHOT to save current look.": "Кадров пока нет. Нажмите «СДЕЛАТЬ КАДР», чтобы сохранить текущий вид.",
|
||||
"Double-click to rename": "Дважды щёлкните, чтобы переименовать",
|
||||
"Shot name": "Название кадра",
|
||||
"RETRYING ALPR CAMERAS": "ПОВТОРНАЯ ЗАГРУЗКА КАМЕР ALPR",
|
||||
"FETCHING ALPR CAMERAS": "ЗАГРУЗКА КАМЕР ALPR",
|
||||
"OVERPASS TEMPORARILY UNAVAILABLE": "OVERPASS ВРЕМЕННО НЕДОСТУПЕН",
|
||||
"Weather data by Open-Meteo.com": "Данные о погоде: Open-Meteo.com",
|
||||
"ESC EXIT": "ESC ВЫХОД",
|
||||
"C TOGGLE": "C ПЕРЕКЛ.",
|
||||
"SIG": "СИГН.",
|
||||
"NEWS": "НОВОСТИ",
|
||||
"LOCAL": "МЕСТН.",
|
||||
"Cockpit briefing pages": "Страницы брифинга кабины",
|
||||
"MM": "ММ",
|
||||
"KTS": "УЗ",
|
||||
"FT": "ФТ",
|
||||
"FLT": "РЕЙСЫ",
|
||||
"MIL": "ВОЕН.",
|
||||
"SITE": "ОБЪЕКТЫ",
|
||||
"WX": "ПОГОДА",
|
||||
"DIRECTORY: RADIO BROWSER": "КАТАЛОГ: RADIO BROWSER",
|
||||
"Use your location for faster ADS-B position decoding": "Использовать ваше местоположение для ускорения декодирования позиций ADS-B",
|
||||
"CHANGE DEVICE": "СМЕНИТЬ УСТРОЙСТВО",
|
||||
"Choose a different RTL-SDR or receiver channel": "Выбрать другой RTL-SDR или канал приёмника",
|
||||
"TUNE": "НАСТРОИТЬ",
|
||||
"◀ SEEK": "◀ ПОИСК",
|
||||
"SEEK ▶": "ПОИСК ▶",
|
||||
"Local RTL-SDR receiver": "Локальный приёмник RTL-SDR",
|
||||
"RTL-SDR receiver mode": "Режим приёмника RTL-SDR",
|
||||
"Seek broadcast FM stations": "Поиск FM-радиостанций",
|
||||
"Tune available internet radio stations": "Настройка на доступные интернет-радиостанции",
|
||||
"Local SDR volume": "Громкость локального SDR",
|
||||
"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.",
|
||||
"RTL-SDR tuner gain for the current mode": "Усиление тюнера RTL-SDR для текущего режима",
|
||||
"WEATHER": "ПОГОДА",
|
||||
"Active weather products": "Активные погодные продукты",
|
||||
"RECENT IMAGERY": "СВЕЖИЕ СНИМКИ",
|
||||
"Imagery days in the box": "Дни со снимками в области",
|
||||
"MSG/S": "СООБЩ./С",
|
||||
"HEARD": "СЛЫШНО",
|
||||
"POSITIONED": "С КООРД.",
|
||||
"SDR VOL": "ГРОМК. SDR",
|
||||
"LOCAL RTL-SDR": "ЛОКАЛЬНЫЙ RTL-SDR",
|
||||
"Cyber sonar contact scanner": "Кибер-сонар: сканер контактов",
|
||||
"Sonar ring count": "Число колец сонара",
|
||||
"Sonar ring range": "Дальность колец сонара",
|
||||
"Sonar intensity": "Интенсивность сонара",
|
||||
"Cyber contact and label opacity": "Непрозрачность контактов и меток в режиме «Кибер»",
|
||||
"Minimum opacity for map dots, icons, models, brackets, and labels between sonar passes": "Минимальная непрозрачность точек, значков, моделей, рамок и меток на карте между проходами сонара",
|
||||
"Sonar sector width": "Ширина сектора сонара",
|
||||
"Rings": "Кольца",
|
||||
"Range": "Дальность",
|
||||
"Power": "Мощность",
|
||||
"Opacity": "Непрозрачность",
|
||||
"Sector": "Сектор",
|
||||
"Cyber": "Кибер",
|
||||
"Sonar": "Сонар",
|
||||
"Turn Street Level on or off": "Включить или выключить «Уличные снимки»",
|
||||
"Toggle straight-down and tilted map views": "Переключить вид карты: сверху или с наклоном",
|
||||
"Reset map to north up": "Повернуть карту севером вверх",
|
||||
"Reset map bearing to north": "Сбросить азимут карты на север",
|
||||
"Rain radar": "Радар осадков",
|
||||
"Lightning density": "Плотность молний",
|
||||
"LATEST · newest per product": "ПОСЛЕДНИЕ · самые свежие по каждому продукту",
|
||||
"Forecast · valid {valid} · issued {issued}": "Прогноз · действует на {valid} · выпущен {issued}",
|
||||
"{detail} · Does not follow history": "{detail} · Не следует истории",
|
||||
"Forecast · valid {valid}": "Прогноз · действует на {valid}",
|
||||
"{time} · {minutes} min ago": "{time} · {minutes} мин назад",
|
||||
"Active weather": "Активная погода",
|
||||
"MINI": "MINI",
|
||||
"STD": "СТД",
|
||||
"standard": "стандартную",
|
||||
"mini": "mini",
|
||||
"COST UNKNOWN": "СТОИМОСТЬ НЕИЗВЕСТНА",
|
||||
"ChatGPT OAuth session: {responses} response(s), {input} input and {output} output tokens, {captions} caption transcription(s) reported.": "Сессия ChatGPT OAuth: ответов — {responses}, входных токенов — {input}, выходных токенов — {output}, транскрипций субтитров — {captions}.",
|
||||
"USD cost and the API spend cap are unavailable for this auth mode.": "Стоимость в USD и лимит расходов API недоступны в этом режиме авторизации.",
|
||||
"Usage is incomplete because a response was still in flight when the session ended.": "Данные об использовании неполные: к моменту завершения сессии один из ответов ещё не был получен.",
|
||||
"Toggle voice control": "Включить или выключить голосовое управление",
|
||||
"Activate to toggle voice": "Активируйте, чтобы включить или выключить голос",
|
||||
"Voice active": "Голос активен",
|
||||
"Voice could not be started.": "Не удалось запустить голос.",
|
||||
"degraded": "с перебоями",
|
||||
"stale": "устарел",
|
||||
"partial": "частично",
|
||||
"fallback": "резерв",
|
||||
"unavailable": "недоступен",
|
||||
"{label} on": "{label}: вкл.",
|
||||
"{label} off": "{label}: выкл.",
|
||||
"Frame aircraft": "Кадр: самолёты",
|
||||
"Frame military aircraft": "Кадр: военные самолёты",
|
||||
"Frame ships": "Кадр: суда",
|
||||
"Frame satellites": "Кадр: спутники",
|
||||
"Frame contacts": "Кадр: контакты",
|
||||
"{count} aircraft in frame": {
|
||||
"one": "{count} самолёт в кадре",
|
||||
"few": "{count} самолёта в кадре",
|
||||
"many": "{count} самолётов в кадре",
|
||||
"other": "{count} самолёта в кадре"
|
||||
},
|
||||
"{count} military aircraft in frame": {
|
||||
"one": "{count} военный самолёт в кадре",
|
||||
"few": "{count} военных самолёта в кадре",
|
||||
"many": "{count} военных самолётов в кадре",
|
||||
"other": "{count} военного самолёта в кадре"
|
||||
},
|
||||
"{count} ships in frame": {
|
||||
"one": "{count} судно в кадре",
|
||||
"few": "{count} судна в кадре",
|
||||
"many": "{count} судов в кадре",
|
||||
"other": "{count} судна в кадре"
|
||||
},
|
||||
"{count} satellites in frame": {
|
||||
"one": "{count} спутник в кадре",
|
||||
"few": "{count} спутника в кадре",
|
||||
"many": "{count} спутников в кадре",
|
||||
"other": "{count} спутника в кадре"
|
||||
},
|
||||
"{count} contacts in frame": {
|
||||
"one": "{count} контакт в кадре",
|
||||
"few": "{count} контакта в кадре",
|
||||
"many": "{count} контактов в кадре",
|
||||
"other": "{count} контакта в кадре"
|
||||
},
|
||||
"Nearest military aircraft": "Ближайшие военные самолёты",
|
||||
"Nearest ships": "Ближайшие суда",
|
||||
"Nearest satellites": "Ближайшие спутники",
|
||||
"Nearest aircraft": "Ближайшие самолёты",
|
||||
"{first} and {second}": "{first} и {second}",
|
||||
"Camera range {range}": "Дальность камеры: {range}",
|
||||
"Within {radius} of the view": "В радиусе {radius} от вида",
|
||||
"Labels on": "Метки включены",
|
||||
"Framing uses the nearest 80 loaded contacts": "В кадр берутся 80 ближайших загруженных контактов",
|
||||
"{distance} from {location}": "{location}: {distance}",
|
||||
"Altitude {altitude}": "Высота {altitude}",
|
||||
"{origin} to {destination}": "{origin} → {destination}",
|
||||
"from {origin}": "откуда: {origin}",
|
||||
"to {destination}": "куда: {destination}",
|
||||
"Registration {registration}": "Регистрация {registration}",
|
||||
"Route {route}": "Маршрут {route}",
|
||||
"View state": "Состояние вида",
|
||||
"Marked {count} places": {
|
||||
"one": "Отмечено {count} место",
|
||||
"few": "Отмечено {count} места",
|
||||
"many": "Отмечено {count} мест",
|
||||
"other": "Отмечено {count} места"
|
||||
},
|
||||
"Nothing marked": "Ничего не отмечено",
|
||||
"Not found: {places}": "Не найдено: {places}",
|
||||
"Tracing outlines": "Построение контуров",
|
||||
"Mark the map": "Отметить на карте",
|
||||
"Mark {targets} +{more}": "Отметить {targets} +{more}",
|
||||
"Mark {targets}": "Отметить {targets}",
|
||||
"Fly to {place}": "Перелёт: {place}",
|
||||
"Nearest aircraft to {place}": "Ближайшие самолёты: {place}",
|
||||
"Read the view": "Прочитать вид",
|
||||
"Check view state": "Проверить состояние вида",
|
||||
"Frame {target}": "Кадр: {target}",
|
||||
"Finding places": "Поиск мест",
|
||||
"Tracing outline": "Построение контура",
|
||||
"Looking up place": "Поиск места",
|
||||
"Flying": "Перелёт",
|
||||
"Turning on layer": "Включение слоя",
|
||||
"Loading aircraft": "Загрузка самолётов",
|
||||
"Picking nearest": "Выбор ближайших",
|
||||
"Working": "Выполняется",
|
||||
"{value} feet": "{value} фт",
|
||||
"nominal": "в норме",
|
||||
"Source: {label}": "Источник: {label}",
|
||||
"N": "С",
|
||||
"NNE": "ССВ",
|
||||
"NE": "СВ",
|
||||
"ENE": "ВСВ",
|
||||
"E": "В",
|
||||
"ESE": "ВЮВ",
|
||||
"SE": "ЮВ",
|
||||
"SSE": "ЮЮВ",
|
||||
"S": "Ю",
|
||||
"SSW": "ЮЮЗ",
|
||||
"SW": "ЮЗ",
|
||||
"WSW": "ЗЮЗ",
|
||||
"W": "З",
|
||||
"WNW": "ЗСЗ",
|
||||
"NW": "СЗ",
|
||||
"NNW": "ССЗ",
|
||||
"Local ADS-B": "Локальный ADS-B",
|
||||
"Transit": "Общественный транспорт",
|
||||
"Recent Imagery": "Свежие снимки",
|
||||
"Fire Perimeters": "Контуры пожаров",
|
||||
"Cyclone advisories": "Сводки о циклонах",
|
||||
"EDIT DETAILS": "ИЗМЕНИТЬ ДАННЫЕ",
|
||||
"SHARE SCENE": "ПОДЕЛИТЬСЯ СЦЕНОЙ",
|
||||
"ON/OFF": "ВКЛ/ВЫКЛ",
|
||||
"Voice assistant": "Голосовой ассистент",
|
||||
"VOICE": "ГОЛОС",
|
||||
"Dismiss voice card": "Закрыть карточку голоса",
|
||||
"YOU": "ВЫ",
|
||||
"THIS": "ЭТО",
|
||||
"HERE": "ЗДЕСЬ",
|
||||
"Plan": "План",
|
||||
"Referenced items": "Упомянутые объекты",
|
||||
"NOTES & SOURCES": "ЗАМЕТКИ И ИСТОЧНИКИ",
|
||||
"ΔN": "ΔС",
|
||||
"ΔE": "ΔВ"
|
||||
}
|
||||
Reference in new issue
Block a user