Merge remote-tracking branch 'origin/main' into german/hal-643-zh-cn

# Conflicts:
#	scripts/package-boundaries.json
#	src/i18n/locales/es.json
#	src/i18n/locales/ru.json
This commit is contained in:
German Khokhlov committed 2026-10-21 12:53:43 +04:00
commit c75007bb13
230 files changed
+26915 -17341

No files matched your search

+60 -13
View File
@@ -916,9 +916,7 @@
"Red": "Красный",
"Clear": "Очистить",
"Remove every mark from the board": "Убрать все пометки с доски",
"Point the camera at the globe for street-level coverage": "Наведите камеру на глобус, чтобы увидеть покрытие уличных снимков",
"No street-level imagery providers configured": "Источники уличных снимков не настроены",
"Selected": "Выбрано",
"Live Vessels": "Суда онлайн",
"Bike Share": "Прокат велосипедов",
"Cameras": "Камеры",
@@ -928,7 +926,6 @@
"Active Fires": "Активные пожары",
"Street Level could not start": "Не удалось запустить «Уличные снимки»",
"Street Level toggle failed": "Не удалось переключить «Уличные снимки»",
"Street-level image": "Уличный снимок",
"SHRINK": "СВЕРНУТЬ",
"EXPAND": "РАЗВЕРНУТЬ",
"Shrink": "Свернуть",
@@ -964,9 +961,6 @@
"many": "{n} улиц в кадре · щёлкните линию, чтобы открыть ближайшую фотографию",
"other": "{n} улицы в кадре · щёлкните линию, чтобы открыть ближайшую фотографию"
},
"Camera follows view: move the globe camera wherever the street-level view looks": "Камера следует за видом: камера глобуса поворачивается туда, куда смотрит уличный снимок",
"Camera follow needs the Google 3D map: choose Google 3D under MAP SOURCE": "Слежению камеры нужна карта Google 3D: выберите Google 3D в разделе «ИСТОЧНИК КАРТЫ»",
"Switch a provider on to draw its coverage.": "Включите источник, чтобы показать его покрытие.",
"Loading this sequence…": "Загрузка последовательности…",
"{n} images in this sequence · Esc clears": {
"one": "{n} снимок в последовательности · Esc — сбросить",
@@ -981,14 +975,11 @@
"other": "{n} последовательности в кадре · щёлкните по линии, чтобы открыть снимки"
},
"STREET LEVEL": "УЛИЧНЫЕ СНИМКИ",
"Expand the street-level view (Esc shrinks it)": "Развернуть уличный снимок (Esc сворачивает)",
"Image fit": "Масштаб снимка",
"FIT": "ВПИСАТЬ",
"Fit: show the whole photo, with dark bars where its shape differs from the frame": "Вписать: показать снимок целиком, с тёмными полосами там, где его форма не совпадает с рамкой",
"FILL": "ЗАПОЛНИТЬ",
"Fill: fill the frame edge to edge, cropping the photo": "Заполнить: заполнить рамку целиком, обрезав края снимка",
"Camera follows view": "Камера следует за видом",
"FOLLOW": "СЛЕДИТЬ",
"Close the image and deselect it on the map": "Закрыть снимок и снять выделение на карте",
"Close the street-level image": "Закрыть уличный снимок",
"Street-level viewer": "Просмотр уличных снимков",
@@ -1001,7 +992,6 @@
"ALL": "ВСЕ",
"FLAT": "ПЛОСКИЕ",
"SINCE": "С ДАТЫ",
"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}». Закройте его.",
@@ -1110,7 +1100,6 @@
"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": "ГОРОДА",
@@ -1531,7 +1520,6 @@
"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": "Очистить показания",
@@ -2484,7 +2472,6 @@
"Exit cockpit to fly to a scene": "Выйдите из кабины, чтобы перелететь к сцене",
"Go to expanded Radio section": "Перейти к развёрнутому разделу радио",
"Expand Radio section in Context": "Развернуть раздел «Радио» в панели «Контекст»",
"Double-click the header to snap the panel back": "Двойной щелчок по заголовку — вернуть панель на место",
"New scene name": "Название новой сцены",
"Delete scene \"{scene}\" and all shots?": "Удалить сцену «{scene}» и все кадры?",
"Detailed outline unavailable": "Подробный контур недоступен",
@@ -2958,6 +2945,66 @@
"SDR decoder did not start; receiver stopped": "Декодер SDR не запустился; приёмник остановлен",
"SDR decoder stopped responding; receiver stopped": "Декодер SDR перестал отвечать; приёмник остановлен",
"SDR decoder fell behind; receiver stopped": "Декодер SDR не успевает; приёмник остановлен",
"Zoom in to see street-level coverage": "Приблизьтесь, чтобы увидеть покрытие уличных снимков",
"Point the camera at the ground for street-level coverage": "Направьте камеру на землю, чтобы увидеть покрытие уличных снимков",
"Sequence images unavailable": "Снимки последовательности недоступны",
"Switch Street Level on to draw its coverage.": "Включите «Уличные снимки», чтобы показать покрытие.",
"Every provider is switched off: light a chip to draw its coverage.": "Все источники выключены: включите один, чтобы показать его покрытие.",
"No sequences in view match the filter": "Ни одна последовательность в кадре не подходит под фильтр",
"No coverage in view": "В кадре нет покрытия",
"Show the street-level view full screen (Esc shrinks it)": "Показать уличный снимок на весь экран (Esc сворачивает)",
"Gemini returned an oversized audio chunk": "Gemini вернул слишком большой фрагмент аудио",
"Gemini returned an unsupported audio format": "Gemini вернул неподдерживаемый формат аудио",
"Gemini returned an invalid audio sample rate": "Gemini вернул недопустимую частоту дискретизации аудио",
"Gemini returned incomplete PCM audio": "Gemini вернул неполные аудиоданные PCM",
"This browser does not support Gemini microphone audio": "Этот браузер не поддерживает звук с микрофона для Gemini",
"Microphone audio processing failed": "Не удалось обработать звук с микрофона",
"Gemini audio playback fell behind. Reconnect to continue.": "Воспроизведение звука Gemini отстаёт. Подключитесь заново, чтобы продолжить.",
"Gemini token response did not include an ephemeral credential": "В ответе Gemini нет временных учётных данных",
"Invalid Gemini connection endpoint": "Недопустимый адрес подключения к Gemini",
"Voice command context is too large": "Контекст голосовой команды слишком велик",
"Gemini reliable transport exceeded its queue limit. Start voice again.": "Очередь надёжной передачи Gemini превысила лимит. Запустите голосовой режим заново.",
"Gemini reliable transport did not drain. Start voice again.": "Очередь надёжной передачи Gemini не освободилась. Запустите голосовой режим заново.",
"Gemini token request failed (HTTP {status})": "Не удалось запросить токен Gemini (HTTP {status})",
"Gemini token response did not include a valid model": "В ответе Gemini нет допустимой модели",
"Gemini token response did not include session settings": "В ответе Gemini нет настроек сеанса",
"Gemini session settings do not match the input mode": "Настройки сеанса Gemini не соответствуют режиму ввода",
"Gemini could not submit this input. Start voice again.": "Gemini не удалось отправить эти данные. Запустите голосовой режим заново.",
"Connecting to Gemini": "Подключение к Gemini",
"Gemini returned an oversized message": "Gemini вернул слишком большое сообщение",
"Gemini Live connection failed. Check network access, then start voice again.": "Не удалось подключиться к Gemini Live. Проверьте доступ к сети и запустите голосовой режим заново.",
"Gemini Live connection ended. Start voice again for a new conversation.": "Соединение с Gemini Live завершено. Запустите голосовой режим заново для нового разговора.",
"Gemini Live could not start. Start voice again to request a fresh session.": "Не удалось запустить Gemini Live. Запустите голосовой режим заново, чтобы запросить новый сеанс.",
"Start voice again for a fresh token and a new conversation.": "Запустите голосовой режим заново, чтобы получить новый токен и начать новый разговор.",
"Start voice again to request a fresh session credential.": "Запустите голосовой режим заново, чтобы запросить новые учётные данные сеанса.",
"Microphone permission was denied. Allow microphone access and try again.": "Доступ к микрофону запрещён. Разрешите доступ и повторите попытку.",
"Gemini connection timed out. Try again.": "Время ожидания подключения к Gemini истекло. Повторите попытку.",
"Gemini voice could not start": "Не удалось запустить голосовой режим Gemini",
"Gemini did not finish the interrupted reply. Start voice again.": "Gemini не завершил прерванный ответ. Запустите голосовой режим заново.",
"Gemini session expiring; finishing the current reply": "Сеанс Gemini истекает; завершается текущий ответ",
"Gemini rejected the voice session. Start voice again to request a fresh session.": "Gemini отклонил голосовой сеанс. Запустите голосовой режим заново, чтобы запросить новый сеанс.",
"Start voice again for a fresh session credential. If it repeats, check Gemini model and API access.": "Запустите голосовой режим заново для получения новых учётных данных. Если ошибка повторится, проверьте модель Gemini и доступ к API.",
"Gemini action history is full. Start voice again for a fresh session.": "История действий Gemini заполнена. Запустите голосовой режим заново для нового сеанса.",
"Gemini requested too many simultaneous actions": "Gemini запросил слишком много одновременных действий",
"Voice text command is too long": "Текст голосовой команды слишком длинный",
"Gemini voice is not connected": "Голосовой режим Gemini не подключён",
"Gemini interrupted input exceeded its buffer or wait limit. Start voice again.": "Прерванный ввод Gemini превысил лимит буфера или ожидания. Запустите голосовой режим заново.",
"Gemini Live connection is expiring. Start voice again for a new conversation.": "Соединение с Gemini Live истекает. Запустите голосовой режим заново для нового разговора.",
"Gemini voice sessions have a time limit. When a session expires, start voice again for a new conversation.": "Время голосовых сеансов Gemini ограничено. Когда сеанс истечёт, запустите голосовой режим заново для нового разговора.",
"Gemini Live voice control": "Голосовое управление через Gemini Live",
"Voice provider": "Поставщик голосового сервиса",
"Changing provider reconnects voice if it is on.": "Смена поставщика переподключает голосовой режим, если он включён.",
"Gemini voice could not connect. Try again.": "Не удалось подключить голосовой режим Gemini. Повторите попытку.",
"Gemini voice requires a same-origin app request": "Голосовой режим Gemini требует запрос из того же источника, что и приложение",
"Add a Gemini API key in Provider Settings": "Добавьте ключ API Gemini в настройках поставщиков",
"The Gemini Live model configuration is invalid": "Недопустимая конфигурация модели Gemini Live",
"Gemini voice is starting too often. Try again shortly.": "Голосовой режим Gemini запускается слишком часто. Повторите попытку чуть позже.",
"Gemini quota is unavailable. Try again later.": "Квота Gemini недоступна. Повторите попытку позже.",
"Gemini access was refused. Check the API key and model access.": "Доступ к Gemini запрещён. Проверьте ключ API и доступ к модели.",
"Gemini Live is unavailable for the configured model.": "Gemini Live недоступен для выбранной модели.",
"Token request is too large": "Запрос токена слишком велик",
"Use an empty JSON token request": "Используйте запрос токена с пустым объектом JSON",
" Clouds are preserved from the source imagery.": " Облака оставлены такими, как на исходных снимках.",
"hemisphere|N": "С",
"hemisphere|S": "Ю",
"hemisphere|E": "В",