mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-11-12 21:44:22 +08:00
675 lines
45 KiB
JSON
675 lines
45 KiB
JSON
{
|
||
"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": "Чистый"
|
||
}
|
||
}
|