Files
OpenFlare/frontend/messages/fragments/ops.ru.json
T
2026-10-25 22:35:32 +03:00

675 lines
45 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"dashboard": {
"title": "Обзор",
"generatedAt": "Создано в {time}",
"refresh": "Обновить",
"loadingTitle": "Загрузка обзора",
"loadingDesc": "Собираем данные о состоянии узлов, трафике и ресурсах…",
"loadFailed": "Не удалось загрузить обзор: {error}",
"emptyTitle": "Нет обзорных данных",
"emptyDesc": "Система работает, но сводного обзора пока нет.",
"requestFailed": "Запрос не выполнен. Пожалуйста, повторите попытку позже.",
"stats": {
"requests24h": "Запросы за 24 часа",
"requestsMeta": "Уникальные посетители за 24 часа {visitors} · ошибки {errors} · оценка QPS {qps}",
"clusterCapacity": "Емкость кластера",
"avgMemoryHighLoad": "Среднее использование памяти: {memory} · высокая нагрузка: CPU — {cpu}, память — {memoryNodes}, диск — {storage}",
"nodeOverview": "Состояние узлов",
"onlineOf": "/ {total} онлайн",
"pending": "В ожидании {count}",
"unhealthyOffline": "С ошибками: {unhealthy} · не в сети: {offline}"
},
"world": {
"title": "Глобальный обзор",
"description": "Расположение узлов, география запросов и текущее состояние системы.",
"legendSource": "Источник",
"legendHealthy": "В норме",
"legendPressure": "Под нагрузкой",
"legendUnhealthy": "С ошибками",
"modeVisitorSource": "Источники посетителей",
"modeNodeCoords": "Координаты узла",
"modeCoverage": "Покрытие",
"onlineCoverage": "Онлайн-покрытие",
"onlineHint": "{online}/{total} онлайн",
"runHealth": "Состояние выполнения",
"unhealthyCount": "С ошибками: {count}",
"requests24h": "Запросы за 24 часа",
"qpsReported": "QPS {qps} · узлов с данными: {count}",
"nodeCoords": "Координаты узла",
"sourceCountries": "Стран-источников: {count}",
"fallbackPins": "Если координаты не заданы, используются стандартные отметки на карте.",
"avgCpu": "Средняя загрузка CPU",
"highCount": "С высокой нагрузкой: {count}",
"avgMemory": "Среднее использование памяти",
"highStorage": "Высокая заполненность диска",
"offlinePending": "{offline} оффлайн · {pending} в ожидании",
"mapPreparing": "Подготовка карты",
"mapPreparingDesc": "Загружается при входе в область просмотра",
"noNodesOverlay": "Узлов пока нет. После их подключения на карте появится географическое распределение."
},
"map": {
"sourceRequests": "Запросов за последние 24 часа: {count}",
"presetPin": "Стандартная отметка",
"requestsErrors": "Запросы {requests} · ошибки {errors}",
"eventsStatus": "Активные события {events} · статус узла {status}",
"openrestyStatus": "Состояние OpenResty: {status}",
"loadFailed": "Не удалось загрузить карту мира.",
"loading": "Загрузка карты мира",
"loadFailedDesc": "Карту мира ECharts не удалось зарегистрировать. Обновите и повторите попытку.",
"loadingDesc": "Инициализация карты мира после того, как будет готов первый экран.",
"measuring": "Измерение размера контейнера карты..."
},
"trafficTrend": {
"title": "Запросы за 24 часа",
"description": "Количество запросов по часам и распределение ответов 2xx/4xx/5xx для выявления всплесков ошибок.",
"summaryHint": "Последние 24 часа",
"requests": "Запросы",
"status2xx": "2xx запросов",
"status4xx": "4xx запросов",
"status5xx": "5xx запросов"
},
"capacityTrend": {
"title": "Использование ресурсов за 24 часа",
"description": "Средняя загрузка CPU и использование памяти по часам для оценки доступных ресурсов кластера.",
"avgCpu": "Средняя загрузка CPU",
"avgMemory": "Среднее использование памяти"
},
"trafficCapacity": {
"title": "Динамика 24-часового трафика и пропускной способности",
"networkHint": "За последние 24 часа · из журналов доступа",
"received": "Полученные данные",
"provided": "Данные переданы",
"capacityHint": "Последние 24 часа · емкость хоста · среднее значение"
},
"distributions": {
"sourceTitle": "География запросов",
"sourceDesc": "Страны с наибольшим количеством запросов за последние 24 часа.",
"sourceEmpty": "Нет данных о географии запросов",
"statusTitle": "Коды ответа HTTP",
"statusDesc": "Проверьте, доминируют ли по-прежнему успешные ответы и не увеличивается ли число ошибок.",
"statusEmpty": "Нет данных о кодах ответа",
"httpLabel": "HTTP {code}",
"domainTitle": "Популярные домены",
"domainDesc": "Посмотрите, какие домены концентрируют большую часть трафика.",
"domainEmpty": "Нет данных о доменах"
},
"nodeHealth": {
"title": "Состояние узла",
"description": "Сортировка по активным инцидентам и нехватке ресурсов.",
"openNodes": "Перейти к узлам",
"emptyTitle": "Нет узлов",
"emptyDesc": "После присоединения узлов в этом списке будут отображаться сводные данные о работоспособности и емкости.",
"colNode": "Узел",
"colStatus": "Статус",
"colCpuMem": "CPU / Память",
"colReqErr": "Запросы/Ошибки",
"colEvents": "Активные инциденты",
"colHeartbeat": "Последний сигнал",
"colActions": "Действия",
"noGeo": "Точка карты не настроена",
"wsConnected": "WS подключено",
"na": "N/A",
"detail": "Подробности"
},
"nodeRank": {
"title": "Рейтинг узлов",
"traffic": "Самый высокий трафик",
"trafficEmpty": "Нет рейтинга трафика",
"pressure": "Высокая нагрузка",
"pressureEmpty": "Нет данных о нагрузке"
}
},
"nodes": {
"title": "Узлы",
"applyLogs": "Журнал применения",
"create": "Добавить узел",
"listTitle": "Список узлов",
"refreshNow": "Обновить сейчас",
"loadingList": "Загрузка узлов...",
"emptyAll": "Узлов пока нет. Создайте его, чтобы начать.",
"emptyFilter": "Ни один узел не соответствует текущему фильтру.",
"updated": "Узел обновлен",
"created": "Узел создан",
"deleted": "Узел удален.",
"deleteTitle": "Удалить узел",
"deleteDesc": "Удалить узел «{name}»? Вам нужно будет воссоздать его и снова присоединиться к нему.",
"deleting": "Удаление...",
"confirmDelete": "Удалить",
"edit": "Изменить",
"delete": "Удалить",
"refresh": "Обновить",
"detail": "Подробности",
"na": "N/A",
"wsConnected": "WS подключено",
"wsEstablished": "Соединение WebSocket установлено.",
"requestFailed": "Запрос не выполнен. Пожалуйста, повторите попытку позже.",
"unknown": "Неизвестно",
"running": "Выполняется",
"liveConfig": "Живая конфигурация",
"notApplied": "Не применяется",
"enabled": "Включено",
"manual": "Вручную",
"lockedSuffix": " (заблокировано)",
"noGeo": "Точка карты не настроена",
"notConfigured": "Не настроено",
"ipLine": "IP: {ip}",
"locationLine": "Местоположение: {location}",
"backToList": "Вернуться к узлам",
"missingId": "Отсутствует узел ID. Откройте детали из списка узлов.",
"loadingDetail": "Загрузка сведений об узле...",
"notFound": "Узел не найден. Возможно, он был удален или ID недействителен.",
"syncing": "Синхронизация...",
"forceSync": "Принудительная синхронизация",
"dispatching": "Отправка...",
"viewUpgrade": "Посмотреть обновление",
"tabOverview": "Обзор",
"tabManage": "Статус и развертывание",
"kpiNodeId": "ID узла",
"kpiLastSeen": "Последний сигнал",
"kpiCurrentConfig": "Текущая конфигурация",
"filter": {
"all": "Все узлы",
"descAll": "Показаны все узлы.",
"descRelay": "Показаны только ретрансляторы.",
"descTunnel": "Показаны только узлы туннеля.",
"descEdge": "Показаны только пограничные узлы."
},
"status": {
"online": "Онлайн",
"pending": "Ожидает",
"offline": "Оффлайн",
"running": "Выполняется",
"wsConnected": "WS подключено"
},
"apply": {
"success": "Успешно",
"warning": "Предупреждение",
"failed": "Ошибка",
"none": "N/A"
},
"health": {
"healthy": "В норме",
"unhealthy": "С ошибками",
"unknown": "Неизвестно"
},
"relative": {
"justNow": "только что",
"minutesAgo": "{count, plural, one {# минуту} few {# минуты} many {# минут} other {# минуты}} назад",
"hoursAgo": "{count, plural, one {# час} few {# часа} many {# часов} other {# часа}} назад",
"daysAgo": "{count, plural, one {# день} few {# дня} many {# дней} other {# дня}} назад",
"monthsAgo": "{count, plural, one {# месяц} few {# месяца} many {# месяцев} other {# месяца}} назад"
},
"uptime": {
"daysHours": "{days} дн. {hours} ч",
"hoursMinutes": "{hours} ч {minutes} мин",
"minutes": "{minutes} мин"
},
"channel": {
"preview": "предварительный просмотр",
"stable": "стабильный"
},
"table": {
"node": "Узел",
"status": "Статус",
"version": "Версия",
"runHealth": "Состояние выполнения",
"currentVersion": "Текущая версия",
"latestApply": "Последняя подача заявки",
"lastSeen": "Последний сигнал",
"actions": "Действия"
},
"editor": {
"editTitle": "Редактировать узел",
"createTitle": "Добавить узел",
"description": "После создания узла откройте его данные для выделенного токена и выполните команду развертывания.",
"nodeType": "Тип узла",
"typeEdge": "Краевой узел",
"typeRelay": "Узел-ретранслятор",
"typeTunnel": "Туннельный узел",
"name": "Имя узла",
"namePlaceholder": "например край-hk-01",
"ip": "Узел IP",
"ipPlaceholder": "Необязательно; сообщается автоматически после присоединения",
"lockIp": "Блокировка IP",
"lockIpDesc": "Если включено, сервер управления не будет перезаписывать IP-адрес узла.",
"autoUpdate": "Агент автоматического обновления",
"autoUpdateDesc": "Если этот параметр включен, узел автоматически получает стабильные обновления.",
"bindPort": "Привязать порт",
"vhostPort": "Порт хоста",
"manualGeo": "Ручная точка карты",
"manualGeoDesc": "Используется на обзорной карте",
"geoName": "Название местоположения",
"latitude": "Широта",
"longitude": "Долгота",
"saving": "Сохранение...",
"saveEdit": "Сохранить изменения",
"createAction": "Добавить узел",
"errName": "Введите имя узла",
"errLockIp": "Узел IP требуется, когда IP заблокирован.",
"errBindPort": "Введите действительный порт привязки",
"errVhostPort": "Введите действительный порт VHost"
},
"install": {
"edgeTitle": "Развертывание пограничного узла",
"edgeDesc": "Используйте токен агента для подключения пограничного узла к серверу управления.",
"relayTitle": "Команда развертывания реле",
"relayDesc": "Используйте токен обнаружения для подключения ретранслятора frps к серверу управления.",
"tunnelTitle": "Команда развертывания туннеля",
"tunnelDesc": "Используйте токен туннеля для подключения клиента openflared к серверу управления.",
"agentToken": "Токен агента",
"discoveryToken": "Токен открытия",
"tunnelToken": "Туннельный токен",
"scriptLabel": "Однострочный скрипт (Linux / macOS)",
"dockerLabel": "Docker развертывание контейнера",
"copyFailed": "Копировать не удалось. Выберите текст команды вручную.",
"copiedScript": "Скрипт развертывания скопирован.",
"copiedDocker": "Docker команда развертывания скопирована",
"copyScript": "Копировать скрипт",
"copyDocker": "Копировать Docker",
"nodeId": "Узел ID",
"serverUrl": "URL сервера управления",
"serverUrlHint": "Скрипт и контейнер используют этот адрес для подключения к серверу управления OpenFlare.",
"noToken": "У этого узла еще нет токена доступа. Обновите позже.",
"needServerUrl": "Введите действительный сервер URL, чтобы сгенерировать команду развертывания."
},
"update": {
"title": "Обновление агента",
"description": "Проверьте выпуски GitHub и отправьте обновление. Узел запускает его после следующего такта.",
"currentVersion": "Текущая версия",
"channel": "Канал выпуска",
"updateStatus": "Обновить статус",
"waitingPreview": "Ожидание обновления предварительного просмотра",
"waitingUpdate": "Ожидание обновления",
"notRequested": "Не отправлено",
"checking": "Проверяем выпуски...",
"hasUpdate": "Доступно обновление",
"upToDate": "Уже в курсе",
"previewRelease": "Предварительный выпуск",
"stableRelease": "Стабильная версия",
"targetVersion": "Целевая версия",
"notFound": "Не найден",
"publishedAt": "Опубликовано",
"noNotes": "Нет примечаний к выпуску",
"viewRelease": "Посмотреть выпуск",
"checkStable": "Проверить стабильную версию",
"checkPreview": "Проверить предварительный просмотр",
"upgradePreview": "Обновите до предварительной версии",
"upgradeStable": "Обновить до стабильной версии"
},
"edge": {
"upgrade": "Агент обновления",
"restartOpenresty": "Перезагрузить OpenResty",
"runStatus": "Статус выполнения",
"runStatusDesc": "Доступность узла и состояние OpenResty",
"openrestyHealth": "Состояние OpenResty",
"lastSeen": "Последний сигнал",
"ip": "IP адрес",
"geo": "Точка карты",
"syncTitle": "Синхронизация конфигурации",
"syncDesc": "Обновление версии и последний результат применения",
"currentVersion": "Текущая версия конфигурации",
"latestApply": "Последняя подача заявки",
"latestApplyAt": "Последнее время подачи заявки",
"agentVersion": "Версия агента",
"nginxVersion": "Версия Nginx",
"autoUpdate": "Автоматическое обновление",
"runtimeMessages": "Сообщения времени выполнения",
"runtimeMessagesDesc": "Примечания о состоянии сообщили OpenResty и агент",
"openrestyMessage": "OpenResty сообщение о состоянии",
"noExtraError": "Никаких дополнительных ошибок не сообщается.",
"restartPending": "Ожидание перезапуска узла OpenResty после следующего контрольного сигнала.",
"kpiAgent": "Версия агента",
"connectionHint": "Текущие соединения OpenResty",
"toastUpdated": "Узел обновлен",
"toastForceSync": "Принудительная синхронизация отправлена на узел {name}",
"toastRestart": "OpenResty перезапуск отправлен на узел {name}",
"toastUpgrade": "{channel} обновление отправлено на узел {name}",
"toastDeleted": "Узел удален."
},
"relay": {
"upgrade": "Обновление реле",
"runStatus": "Время работы реле",
"runStatusDesc": "онлайн-состояние и сводка нагрузки frps",
"health": "Состояние ретранслятора",
"connections": "Активные соединения/прокси",
"portsTitle": "Сетевые порты",
"portsDesc": "Плоскость управления frps и настройки vhost HTTP",
"bindPort": "Порт привязки управления",
"vhostPort": "Порт VHost HTTP",
"agentAddr": "Адрес доступа агента",
"relayVersion": "Версия реле",
"frpsVersion": "основная версия frps",
"webuiTitle": "FRPS Веб-интерфейс",
"webuiDesc": "Включите встроенную веб-консоль frps и установите ее порт прослушивания.",
"enableWebui": "Включить веб-консоль",
"enableWebuiHint": "Когда этот параметр включен, узел запускает встроенную службу администрирования frps.",
"webuiPort": "Порт веб-консоли",
"webuiPortPlaceholder": "e.g. 17500",
"actualPort": "Сейчас используется порт {port}. Изменения вступят в силу после следующего сигнала узла. По умолчанию: основной порт + 500.",
"openWebui": "Откройте веб-интерфейс FRPS",
"copiedLink": "Ссылка скопирована",
"copyLink": "Копировать ссылку",
"webuiDisabled": "WebUI отключен или порт привязки не установлен.",
"metadata": "Метаданные узла",
"createdAt": "Создано",
"updatedAt": "Обновлено",
"kpiFrps": "Ядро frps",
"connectionHint": "Релейные активные соединения",
"invalidPort": "Порт должен быть между 1 и 65535.",
"portSaveFailed": "Не удалось обновить порт",
"toastPortSaved": "FRPS Порт WebUI обновлен.",
"toastUpdated": "Узел-ретранслятор обновлен",
"toastWebui": "FRPS Настройки веб-интерфейса обновлены.",
"toastForceSync": "Команда принудительной синхронизации отправлена ретранслятору {name}",
"toastUpgrade": "{channel} обновление отправлено на ретранслятор {name}",
"toastDeleted": "Узел-ретранслятор удален.",
"deleteTitle": "Удалить узел реле",
"deleteDesc": "Удалить ретранслятор «{name}»? Для повторного подключения его потребуется создать заново."
},
"tunnel": {
"upgrade": "Обновление openflared",
"runStatus": "Время работы туннеля",
"runStatusDesc": "openflared соединение и онлайн-состояние",
"flaredStatus": "Состояние openflared",
"autoUpdate": "Автоматическое обновление",
"syncTitle": "Синхронизация конфигурации",
"syncDesc": "Обновление конфигурации туннельного клиента",
"currentVersion": "Текущая версия конфигурации",
"latestApply": "Последняя подача заявки",
"latestApplyAt": "Последнее время подачи заявки",
"fileCount": "Синхронизированные файлы",
"fileCountValue": "{count}",
"upgradeStatus": "Статус обновления",
"credentials": "Учетные данные для присоединения",
"credentialsDesc": "Токен, необходимый туннельному клиенту",
"tunnelToken": "Туннельный токен",
"createdAt": "Создано",
"updatedAt": "Обновлено",
"kpiOpenflared": "openflared",
"connectionHint": "Одновременные соединения через туннель",
"toastUpdated": "Узел туннеля обновлен.",
"toastForceSync": "Принудительная синхронизация отправлена в туннель {name}",
"toastUpgrade": "{channel} обновление отправлено в туннель {name}",
"toastDeleted": "Узел туннеля удален.",
"deleteTitle": "Удалить туннельный узел",
"deleteDesc": "Удалить туннельный узел «{name}»? Вам нужно будет воссоздать его и снова присоединиться к нему."
},
"obs": {
"hostname": "Имя хоста",
"os": "Операционная система",
"kernelArch": "Ядро / арка",
"uptime": "Время работы",
"cpu": "CPU",
"cpuCores": "{count, plural, one {# ядро} few {# ядра} many {# ядер} other {# ядра}}",
"totalMemory": "Общий объем памяти",
"totalStorage": "Общий объём хранилища",
"reportedAt": "Об этом сообщается на",
"eventsTitle": "История событий состояния узла",
"eventsDesc": "Сохраняет активные и восстановленные события, чтобы помочь оценить работоспособность среды выполнения.",
"cleanupLogs": "Очистить журналы",
"filterAll": "Все события",
"filterActive": "Активный",
"filterResolved": "Восстановлено",
"filterEmpty": "Для этого фильтра нет событий работоспособности.",
"noMessage": "Нет подробного сообщения",
"firstTriggered": "Первое срабатывание:",
"lastTriggered": "Последний запуск:",
"resolvedAt": "Восстановлено:",
"noEvents": "Этот узел еще не сообщил ни о каких событиях работоспособности.",
"cleaned": "Удалено записей о состоянии: {count}",
"nothingToClean": "Нет журналов событий работоспособности, которые нужно очистить",
"loading": "Загрузка данных наблюдения...",
"diag": "Диагностика во время выполнения",
"activeIssues": "Активных инцидентов: {count}",
"stable": "Стабильный",
"noActiveEvents": "Нет активных событий состояния",
"systemCore": "Ядро системы",
"uptimeFromProfile": "Из профиля системы узла",
"profileTitle": "Профиль системы",
"profileDesc": "Информация о хосте и оборудовании, сообщаемая узлом",
"noProfile": "Узел присоединился, но еще не предоставил полный профиль системы.",
"noProfileLong": "Узел присоединился, но еще не предоставил полный профиль системы.",
"snapshotTitle": "Живой снимок ресурса",
"snapshotDesc": "Последний отчет по показателям",
"realtimeResources": "Живые ресурсы",
"memory": "Память",
"storage": "Хранилище",
"connections": "Соединения",
"snapshotAgo": "Снимок {time}",
"noSnapshot": "Узел присоединился, но еще не сообщил о снимке ресурса.",
"noSnapshotLong": "Узел присоединился, но еще не сообщил о снимке ресурса.",
"cleanupTitle": "Очистить журнал событий состояния",
"cleanupDesc": "Вся история диагностики этого узла на сервере управления будет удалена. Новые события продолжат поступать.",
"cleaning": "Очистка...",
"confirmCleanup": "Чистый",
"windowRequests": "Запросы окон",
"windowVisitorsHint": "Уникальные посетители окна {visitors} · частота ошибок {rate}%",
"noWindowSummary": "Сводка окна «Нет запроса»",
"capacityPressure": "Давление производительности",
"needsAttention": "Требует внимания",
"normalRange": "Нормальный",
"cpuStorage": "CPU {cpu} · хранилище {storage}",
"noResourceSnapshot": "Нет снимка ресурса",
"sourceSignal": "Исходный сигнал",
"requestTimes": "{count, plural, one {# запрос} few {# запроса} many {# запросов} other {# запроса}}",
"noSourceDist": "Нет данных о распространении источника",
"systemInfo": "Информация о системе",
"networkTraffic": "Сетевой трафик",
"noActiveIssue": "Нет активных инцидентов",
"openrestyConn": "OpenResty соединения",
"currentConn": "Текущие связи:",
"throughputHint": "Просмотр тенденций журнала доступа для бизнес-пропускной способности (обслужено/получено)",
"windowVisitors": "Уникальные посетители окна",
"reqQps": "Запросы {requests} · расчетное QPS {qps}",
"noTrafficSummary": "Нет окна сводки трафика",
"windowErrors": "Ошибки окна",
"errorRate": "Частота ошибок {rate}%",
"noErrorSummary": "Нет сводки по частоте ошибок",
"noNetworkSnapshot": "Узел присоединился, но еще не сообщил о снимке сетевого трафика.",
"trafficTrendDesc": "Почасовое количество запросов и ошибок для этого узла.",
"capacityTrendDesc": "CPU и использование памяти для этого узла за 24 часа.",
"structureTitle": "Структура запроса",
"structureDesc": "Последние 24 часа: какие коды статуса и домены концентрируют трафик и ошибки.",
"mainStatus": "Верхний код статуса",
"times": "{count, plural, one {# раз} few {# раза} many {# раз} other {# раза}}",
"noStatusDist": "Нет распределения кода состояния",
"topDomain": "Топ Домен",
"noDomainDist": "Нет распределения доменов",
"resolvedEvents": "Восстановленные события",
"resolvedHint": "Устранённые события состояния за последние 24 часа",
"statusDist": "Распределение кода состояния",
"distEmpty": "Нет данных о распространении",
"unknownLabel": "Неизвестно"
},
"networkTrend": {
"title": "24-часовой сетевой тренд",
"description": "Почасовые данные, обслуживаемые/полученные из журналов доступа; сводка — это итоговые данные за последние 24 часа.",
"summaryHint": "Последние 24 часа",
"received": "Полученные данные",
"provided": "Данные переданы"
},
"diskIo": {
"title": "24-часовой диск IO тренд",
"description": "Почасовая скорость чтения/записи диска (Б/с) для выявления увеличения журнала, дрожания кэша или нагрузки на диск.",
"summaryHint": "Последние 24 часа · средняя цена",
"read": "Чтение диска",
"write": "Запись на диск"
}
},
"performance": {
"title": "Производительность",
"description": "Управление глобальными настройками производительности OpenResty. Сохранение входит в единый процесс публикации конфигурации.",
"preview": "Посмотреть предварительный просмотр конфигурации",
"saved": "Настройки производительности сохранены.",
"saveFailed": "Сохранить не удалось",
"loadingAuth": "Загрузка разрешений...",
"forbiddenTitle": "Недостаточно разрешений",
"forbiddenDesc": "Доступ к настройкам производительности имеют только администраторы.",
"loading": "Загрузка настроек производительности...",
"runtimeTitle": "Связи и события",
"runtimeDesc": "Рабочие процессы, тайм-ауты и размер тела запроса",
"proxyTitle": "Прокси-буферы и таймауты",
"proxyDesc": "Восходящие соединения, буферизация запросов/ответов и переключатели WebSocket/HTTP3",
"proxyRequestBuffering": "Буферизация тела запроса (отключить для потоковой загрузки)",
"gzipTitle": "Сжатие",
"cacheTitle": "Кэш",
"cacheDesc": "Кэш обратного прокси-сервера с одним узлом",
"errors": {
"workerProcesses": "worker_processes должно быть автоматическим или целым числом больше 0.",
"timeouts": "Значения времени ожидания и соединения должны быть целыми числами больше 0.",
"statusCode": "Статус возврата сервера по умолчанию должен находиться в диапазоне от 100 до 999.",
"bodySize": "Неверный формат client_max_body_size.",
"headerBuffers": "large_client_header_buffers должно выглядеть как «4 16k»",
"proxyTimeouts": "Тайм-ауты прокси-сервера должны быть целыми числами больше 0 секунд.",
"proxyBuffers": "proxy_buffers должно выглядеть как «16 16k»",
"bufferSize": "Размеры буфера должны быть целыми числами или значениями в единицах к/м/г.",
"gzipMinLength": "gzip_min_length должно быть целым числом больше 0",
"gzipLevel": "gzip_comp_level должно быть от 1 до 9",
"cachePath": "proxy_cache_path требуется, если кэш включен.",
"cacheFormat": "Неверные уровни кэша, неактивный формат max_size или lock_timeout.",
"cacheKey": "Шаблон ключа кэша необходим, если кэш включен."
}
},
"applyLogs": {
"title": "Журнал применения конфигурации",
"description": "Проверьте успешную, предупреждающую и неудачную конфигурацию. Фильтровать по node_id.",
"refresh": "Обновить",
"clear": "Очистить журналы",
"backToNodes": "Вернуться к узлам",
"totalRecords": "Всего записей",
"currentPage": "Текущая страница",
"totalPages": "Всего страниц",
"pageNodes": "Узлы на этой странице",
"nodeId": "Узел ID",
"nodePlaceholder": "Фильтровать журналы применения по node_id",
"pageSize": "Размер страницы",
"pageSizeOption": "{count}",
"filter": "Фильтр",
"reset": "Сбросить фильтры",
"emptyTitle": "Нет журналов применения",
"emptyDesc": "Ни одна запись применения не соответствует текущим фильтрам.",
"colNodeId": "Узел ID",
"colVersion": "Версия",
"colResult": "Результат",
"colChecksum": "Контрольная сумма",
"colTime": "Время",
"colMessage": "Сообщение",
"colActions": "Действия",
"detail": "Подробности",
"pageInfo": "Страница {current}/{total}, записей: {count}.",
"prev": "Назад",
"next": "Далее",
"loadFailed": "Загрузка не удалась",
"cleared": "Журнал применения конфигурации очищен",
"clearedDesc": "Удалено записей: {count}",
"clearFailed": "Не удалось очистить журналы применения.",
"unknownError": "Неизвестная ошибка",
"clearTitle": "Очистить все журналы применения?",
"clearDesc": "Все записи журнала применения конфигурации ({count}) будут удалены. Это действие нельзя отменить. Узлы продолжат отправлять новые результаты.",
"clearing": "Очистка...",
"confirmClear": "Очистить",
"success": "Успешно",
"warning": "Предупреждение",
"failed": "Ошибка",
"sheetTitle": "Применить данные журнала",
"sheetDesc": "Полный результат и сведения о контрольной сумме для этого журнала применения.",
"versionBadge": "Версия: {version}",
"createdAt": "Создано",
"targetChecksum": "Целевая контрольная сумма",
"mainChecksum": "Дайджест основной конфигурации",
"routeChecksum": "Дайджест конфигурации маршрута",
"supportFiles": "Файлы поддержки",
"message": "Сообщение",
"close": "Закрыть"
},
"configVersions": {
"title": "Версии конфигурации",
"description": "Просматривайте исторические снимки, просматривайте ожидающие изменения и при необходимости повторно активируйте старую версию.",
"refresh": "Обновить",
"cleanupOld": "Чистый",
"viewDiff": "Разница",
"forcePublish": "Принудительно опубликовать",
"previewPublish": "Опубликовать",
"emptyTitle": "Нет истории",
"emptyDesc": "Опубликованных версий пока нет. Сначала опубликуйте конфигурацию.",
"colVersion": "Версия",
"colStatus": "Статус",
"colAuthor": "Создано",
"colChecksum": "Контрольная сумма",
"colCreatedAt": "Создано",
"colActions": "Действия",
"active": "Активный",
"history": "История",
"system": "Система",
"snapshot": "Снимок",
"activate": "Активировать",
"loadFailed": "Загрузка не удалась",
"previewLoadFailed": "Не удалось загрузить предварительный просмотр.",
"diffLoadFailed": "Не удалось загрузить диф.",
"publishSuccess": "Опубликовано",
"publishSuccessDesc": "Версия {version}",
"publishFailed": "Опубликовать не удалось",
"activateSuccess": "Активировано",
"activateSuccessDesc": "Версия {version}",
"activateFailed": "Активировать не удалось",
"cleanupDone": "Очистка завершена",
"cleanupDoneDesc": "Удалено снимков: {count}",
"cleanupFailed": "Очистка не удалась",
"unknownError": "Неизвестная ошибка",
"confirmPublishTitle": "Опубликовать конфигурацию",
"confirmPublishDesc": "Это создаст новую версию из ожидающей конфигурации и пометит ее как активную. Следующими узлами будет получено обновление.",
"confirmPublish": "Опубликовать",
"confirmForceTitle": "Принудительно опубликовать",
"confirmForceDesc": "При этом проверка изменений игнорируется и немедленно создается новая версия. Подтвердите, что вам действительно нужна повторная публикация.",
"confirmActivateTitle": "Активировать версию",
"confirmActivateDesc": "Установить версию {version} в качестве активной версии?",
"confirmActivate": "Активировать",
"previewTitle": "Опубликовать предварительный просмотр",
"previewDesc": "Отображаются ожидающие файлы конфигурации и поддержки.",
"loadingPreview": "Загрузка предварительного просмотра...",
"routeCount": "Маршрутов: {count}",
"websiteCount": "Сайтов: {count}",
"mainConfig": "Основная конфигурация",
"routeConfig": "Конфигурация маршрута",
"supportFiles": "Файлы поддержки ({count})",
"noSupportFiles": "Эта публикация не содержит дополнительных файлов поддержки.",
"noChanges": "Ожидающие маршруты соответствуют активной версии, поэтому их нельзя опубликовать снова.",
"close": "Закрыть",
"publishing": "Публикация...",
"diffTitle": "Разница в конфигурации",
"diffDesc": "Различия между ожидающей конфигурацией и активной версией.",
"loadingDiff": "Загрузка разницы...",
"activeVersion": "Активная версия",
"none": "Нет",
"addedDomains": "Добавлены домены",
"removedDomains": "Удаленные домены",
"modifiedDomains": "Модифицированные домены",
"itemCount": "{count}",
"noChange": "Никаких изменений",
"emptyValue": "пустой",
"mainChanged": "Основная конфигурация изменена",
"mainUnchanged": "Основная конфигурация без изменений",
"wafChanged": "WAF изменено",
"wafUnchanged": "WAF без изменений",
"websiteDelta": "Веб-сайты {from} → {to}",
"optionKey": "Вариант",
"activeValue": "Активное значение",
"pendingValue": "Ожидаемое значение",
"noOptionChanges": "Опция OpenResty не изменяется.",
"snapshotTitle": "Снимок версии",
"snapshotVersion": "Версия {version}",
"snapshotDesc": "Полный снимок этой исторической версии конфигурации.",
"loadingSnapshot": "Загрузка снимка...",
"createdBy": "Создано",
"createdAt": "Создано",
"snapshotLoadFailed": "Не удалось загрузить снимок версии.",
"cleanupTitle": "Чистые исторические снимки",
"cleanupDesc": "Удалите старые снимки. Текущая активная версия всегда защищена.",
"keepCount": "Сохраняйте последние снимки",
"keepHint": "По умолчанию 10, минимум 3.",
"keepMin": "Сохраните как минимум 3 исторических снимка.",
"cleaning": "Очистка...",
"confirmCleanup": "Чистый"
}
}