7c57c740b4
Add container monitoring and notification system: - Docker Stats API: real-time CPU/memory for running containers - Webhook notifications for errors (deploy failures, stale, proxy unhealthy) - Event log auto-pruning (daily, 30-day retention) - ContainerStats component with auto-polling progress bars - SystemHealthCard dashboard widget with running/proxy/error counts - Full EN/RU i18n for stats and system health
523 lines
27 KiB
JSON
523 lines
27 KiB
JSON
{
|
|
"app": {
|
|
"name": "Docker Watcher",
|
|
"version": "v0.1"
|
|
},
|
|
"nav": {
|
|
"dashboard": "Панель",
|
|
"projects": "Проекты",
|
|
"deploy": "Деплой",
|
|
"proxies": "Прокси",
|
|
"events": "События",
|
|
"settings": "Настройки"
|
|
},
|
|
"dashboard": {
|
|
"title": "Панель управления",
|
|
"quickDeploy": "Быстрый деплой",
|
|
"totalProjects": "Всего проектов",
|
|
"runningInstances": "Запущенных экземпляров",
|
|
"failedInstances": "Сбойных экземпляров",
|
|
"projects": "Проекты",
|
|
"retry": "Повторить",
|
|
"noProjects": "Проектов пока нет.",
|
|
"addFirst": "Добавьте первый проект",
|
|
"loadFailed": "Не удалось загрузить панель",
|
|
"staleContainers": "Устаревшие контейнеры"
|
|
},
|
|
"projects": {
|
|
"title": "Проекты",
|
|
"addProject": "Добавить проект",
|
|
"cancel": "Отмена",
|
|
"newProject": "Новый проект",
|
|
"name": "Название",
|
|
"image": "Образ",
|
|
"port": "Порт",
|
|
"registry": "Реестр",
|
|
"created": "Создан",
|
|
"view": "Открыть",
|
|
"noProjects": "Проекты ещё не настроены.",
|
|
"getStarted": "Нажмите «Добавить проект» для начала.",
|
|
"createProject": "Создать проект",
|
|
"creating": "Создание...",
|
|
"healthcheck": "Путь проверки здоровья",
|
|
"nameRequired": "Название и образ обязательны.",
|
|
"loadFailed": "Не удалось загрузить проекты",
|
|
"createFailed": "Не удалось создать проект",
|
|
"browseImages": "Обзор образов",
|
|
"selectImage": "Выберите образ",
|
|
"noImages": "Образы не найдены",
|
|
"loadingImages": "Загрузка образов...",
|
|
"imageLoadFailed": "Не удалось загрузить образы"
|
|
},
|
|
"projectDetail": {
|
|
"deleteProject": "Удалить проект",
|
|
"envVars": "Переменные окружения",
|
|
"volumes": "Тома",
|
|
"stages": "Стадии",
|
|
"noStages": "Для этого проекта не настроены стадии.",
|
|
"pattern": "Шаблон",
|
|
"autoDeploy": "авто-деплой",
|
|
"requiresConfirm": "нужно подтверждение",
|
|
"instances": "экземпляров",
|
|
"deployNewVersion": "Развернуть новую версию",
|
|
"selectTag": "Выберите тег для деплоя",
|
|
"loadingTags": "Загрузка тегов...",
|
|
"chooseTag": "Выберите тег...",
|
|
"enterTag": "Введите тег образа (напр., dev-abc123)",
|
|
"deploy": "Развернуть",
|
|
"deploying": "Развёртывание...",
|
|
"recentDeploys": "Последние деплои",
|
|
"noDeployHistory": "Нет истории деплоев для этого проекта.",
|
|
"tag": "Тег",
|
|
"status": "Статус",
|
|
"started": "Начат",
|
|
"finished": "Завершён",
|
|
"error": "Ошибка",
|
|
"noInstancesRunning": "Нет запущенных экземпляров",
|
|
"deleteConfirmTitle": "Удалить проект",
|
|
"deleteConfirmMessage": "Это безвозвратно удалит проект '{name}' и все его стадии, экземпляры и историю деплоев.",
|
|
"loadFailed": "Не удалось загрузить проект",
|
|
"deleteFailed": "Не удалось удалить проект",
|
|
"deployFailed": "Деплой не удался"
|
|
},
|
|
"envEditor": {
|
|
"title": "Переменные окружения",
|
|
"description": "Управление переопределениями переменных окружения на уровне стадий. Значения стадий переопределяют значения проекта.",
|
|
"stage": "Стадия",
|
|
"projectDefaults": "Значения проекта по умолчанию",
|
|
"stageOverrides": "Переопределения стадии",
|
|
"key": "Ключ",
|
|
"value": "Значение",
|
|
"secret": "Секрет",
|
|
"source": "Источник",
|
|
"actions": "Действия",
|
|
"overridden": "переопределено",
|
|
"inherited": "наследуется",
|
|
"overridesProject": "переопределяет проект",
|
|
"stageOnly": "только стадия",
|
|
"edit": "Изменить",
|
|
"change": "Изменить",
|
|
"delete": "Удалить",
|
|
"save": "Сохранить",
|
|
"add": "Добавить",
|
|
"adding": "Добавление...",
|
|
"noStages": "Стадии не настроены. Сначала добавьте стадии к проекту.",
|
|
"loadFailed": "Не удалось загрузить проект",
|
|
"envAdded": "Переменная окружения добавлена",
|
|
"envUpdated": "Переменная окружения обновлена",
|
|
"envDeleted": "Переменная окружения удалена",
|
|
"addFailed": "Не удалось добавить переменную",
|
|
"updateFailed": "Не удалось обновить переменную",
|
|
"deleteFailed": "Не удалось удалить переменную",
|
|
"loadEnvFailed": "Не удалось загрузить переменные"
|
|
},
|
|
"volumeEditor": {
|
|
"title": "Тома",
|
|
"description": "Настройка монтирования томов для контейнеров.",
|
|
"sharedDesc": "Режим «Общий» использует путь источника как есть для всех экземпляров.",
|
|
"isolatedDesc": "Режим «Изолированный» добавляет /{stage}-{tag}/ к источнику, создавая свою директорию для каждого экземпляра.",
|
|
"sourceHost": "Источник (хост)",
|
|
"targetContainer": "Цель (контейнер)",
|
|
"mode": "Режим",
|
|
"actions": "Действия",
|
|
"shared": "Общий",
|
|
"isolated": "Изолированный",
|
|
"edit": "Изменить",
|
|
"delete": "Удалить",
|
|
"save": "Сохранить",
|
|
"add": "Добавить",
|
|
"adding": "Добавление...",
|
|
"noVolumes": "Тома ещё не настроены. Добавьте один выше.",
|
|
"volumeAdded": "Том добавлен",
|
|
"volumeUpdated": "Том обновлён",
|
|
"volumeDeleted": "Том удалён",
|
|
"loadFailed": "Не удалось загрузить тома",
|
|
"addFailed": "Не удалось добавить том",
|
|
"updateFailed": "Не удалось обновить том",
|
|
"deleteFailed": "Не удалось удалить том"
|
|
},
|
|
"quickDeploy": {
|
|
"title": "Быстрый деплой",
|
|
"description": "Разверните образ контейнера без настройки. Вставьте URL образа, проверьте параметры и разверните.",
|
|
"step1": "1. Введите URL образа",
|
|
"imageUrl": "URL образа",
|
|
"imageUrlHelp": "Полный URL образа с тегом (напр., git.example.com/user/app:dev-abc123)",
|
|
"inspect": "Проверить",
|
|
"inspecting": "Проверка...",
|
|
"step2": "2. Проверка конфигурации",
|
|
"reviewDesc": "Эти параметры были обнаружены из образа. Измените при необходимости перед деплоем.",
|
|
"projectName": "Имя проекта",
|
|
"port": "Порт",
|
|
"portHelp": "Порт контейнера (1-65535)",
|
|
"healthCheckPath": "Путь проверки здоровья",
|
|
"healthCheckHelp": "Необязательный HTTP-путь для проверки работоспособности",
|
|
"stage": "Стадия",
|
|
"development": "Разработка",
|
|
"release": "Релиз",
|
|
"production": "Продакшн",
|
|
"stageHelp": "Стадия развёртывания для этого образа",
|
|
"subdomainOverride": "Переопределение поддомена",
|
|
"subdomainHelp": "Оставьте пустым для использования шаблона по умолчанию",
|
|
"envVars": "Переменные окружения",
|
|
"envVarsHelp": "По одной на строку, формат KEY=VALUE",
|
|
"step3": "3. Развёртывание",
|
|
"deployDesc": "Будет создан новый проект и контейнер будет развёрнут немедленно.",
|
|
"deployBtn": "Развернуть",
|
|
"inspectedSuccess": "Образ успешно проверен",
|
|
"deployedSuccess": "{name} успешно развёрнут!",
|
|
"inspectFailed": "Не удалось проверить образ",
|
|
"deployFailed": "Развёртывание не удалось",
|
|
"browseImages": "Обзор",
|
|
"selectImage": "Выберите образ из реестра",
|
|
"noImages": "Образы не найдены",
|
|
"loadingImages": "Загрузка...",
|
|
"imageLoadFailed": "Не удалось загрузить образы"
|
|
},
|
|
"settings": {
|
|
"title": "Настройки",
|
|
"general": "Общие",
|
|
"registries": "Реестры",
|
|
"credentials": "Учётные данные",
|
|
"authentication": "Аутентификация",
|
|
"appearance": "Внешний вид",
|
|
"staleThreshold": "Порог устаревания (дни)",
|
|
"staleThresholdHelp": "Контейнеры, неактивные дольше этого срока, будут помечены как устаревшие."
|
|
},
|
|
"settingsGeneral": {
|
|
"title": "Общие настройки",
|
|
"globalConfig": "Глобальная конфигурация",
|
|
"domain": "Домен",
|
|
"domainHelp": "Базовый домен для маршрутизации поддоменов",
|
|
"serverIp": "IP сервера",
|
|
"serverIpHelp": "Публичный IP-адрес сервера",
|
|
"dockerNetwork": "Docker-сеть",
|
|
"dockerNetworkHelp": "Docker-сеть для развёрнутых контейнеров",
|
|
"subdomainPattern": "Шаблон поддомена",
|
|
"subdomainPatternHelp": "Шаблон для автоматически генерируемых поддоменов",
|
|
"pollingInterval": "Интервал опроса (секунды)",
|
|
"pollingIntervalHelp": "Как часто проверять реестры на новые теги (10-86400)",
|
|
"notificationUrl": "URL уведомлений",
|
|
"notificationUrlHelp": "URL вебхука для уведомлений о деплоях",
|
|
"saveSettings": "Сохранить настройки",
|
|
"saving": "Сохранение...",
|
|
"saved": "Настройки успешно сохранены",
|
|
"saveFailed": "Не удалось сохранить настройки",
|
|
"loadFailed": "Не удалось загрузить настройки",
|
|
"webhookUrl": "URL вебхука",
|
|
"webhookDesc": "Этот секретный URL получает уведомления о push-событиях из вашего CI-пайплайна.",
|
|
"noWebhookUrl": "URL вебхука не настроен",
|
|
"copy": "Копировать",
|
|
"copied": "URL вебхука скопирован в буфер обмена",
|
|
"regenerateUrl": "Перегенерировать URL",
|
|
"regenerating": "Перегенерация...",
|
|
"regenerated": "URL вебхука перегенерирован",
|
|
"regenerateFailed": "Не удалось перегенерировать URL вебхука",
|
|
"regenerateWarning": "Внимание: перегенерация сделает текущий URL недействительным. Обновите ваши CI-пайплайны.",
|
|
"sslCertificate": "SSL-сертификат",
|
|
"sslCertificateHelp": "Wildcard-сертификат из NPM для автоматического SSL на прокси-хостах",
|
|
"selectCertificate": "Выбрать сертификат",
|
|
"noCertificate": "Нет (без SSL)",
|
|
"clearCertificate": "Очистить",
|
|
"loadingCertificates": "Загрузка сертификатов...",
|
|
"noCertificatesFound": "Wildcard-сертификаты в NPM не найдены"
|
|
},
|
|
"settingsRegistries": {
|
|
"title": "Реестры контейнеров",
|
|
"description": "Управление реестрами контейнеров для обнаружения образов.",
|
|
"addRegistry": "Добавить реестр",
|
|
"editRegistry": "Редактировать реестр",
|
|
"addNewRegistry": "Добавить новый реестр",
|
|
"name": "Название",
|
|
"nameHelp": "Понятное название для этого реестра",
|
|
"url": "URL",
|
|
"urlHelp": "Базовый URL реестра",
|
|
"type": "Тип",
|
|
"typeHelp": "Тип реестра для совместимости API",
|
|
"token": "Токен",
|
|
"tokenHelpNew": "API-токен для аутентификации",
|
|
"tokenHelpEdit": "Оставьте пустым, чтобы сохранить текущий токен",
|
|
"owner": "Владелец",
|
|
"ownerHelp": "Владельцы пакетов через запятую (напр., alexei,my-org)",
|
|
"save": "Сохранить",
|
|
"saving": "Сохранение...",
|
|
"update": "Обновить",
|
|
"test": "Тест",
|
|
"testing": "Тестирование...",
|
|
"edit": "Изменить",
|
|
"delete": "Удалить",
|
|
"noRegistries": "Реестры ещё не настроены.",
|
|
"addFirst": "Добавьте первый реестр",
|
|
"registryUpdated": "Реестр обновлён",
|
|
"registryAdded": "Реестр добавлен",
|
|
"registryDeleted": "Реестр «{name}» удалён",
|
|
"testSuccess": "Подключение к «{name}» успешно",
|
|
"saveFailed": "Не удалось сохранить реестр",
|
|
"deleteFailed": "Не удалось удалить реестр",
|
|
"testFailed": "Тест подключения не удался",
|
|
"loadFailed": "Не удалось загрузить реестры",
|
|
"deleteConfirm": "Удалить реестр «{name}»? Это действие необратимо."
|
|
},
|
|
"settingsCredentials": {
|
|
"title": "Учётные данные",
|
|
"description": "Управление учётными данными для Nginx Proxy Manager и токенами реестров. Все значения зашифрованы.",
|
|
"npm": "Nginx Proxy Manager",
|
|
"npmDesc": "Учётные данные для управления прокси-хостами через NPM API",
|
|
"configured": "Настроено",
|
|
"npmUrl": "URL NPM",
|
|
"npmUrlHelp": "URL API Nginx Proxy Manager",
|
|
"email": "Email",
|
|
"emailHelp": "Email администратора NPM",
|
|
"password": "Пароль",
|
|
"passwordHelpNew": "Пароль администратора NPM (будет зашифрован)",
|
|
"passwordHelpEdit": "Введите новый пароль для замены текущего",
|
|
"changeCredentials": "Изменить учётные данные",
|
|
"save": "Сохранить",
|
|
"saving": "Сохранение...",
|
|
"saved": "Учётные данные NPM сохранены",
|
|
"saveFailed": "Не удалось сохранить учётные данные NPM",
|
|
"loadFailed": "Не удалось загрузить учётные данные",
|
|
"registryTokens": "Токены реестров",
|
|
"registryTokensDesc": "Токены аутентификации реестров управляются для каждого реестра в разделе",
|
|
"registriesLink": "Реестры",
|
|
"registryTokensSuffix": ". Каждый реестр хранит свой токен в зашифрованном виде."
|
|
},
|
|
"settingsAuth": {
|
|
"title": "Настройки аутентификации",
|
|
"description": "Настройка режима аутентификации и управление пользователями.",
|
|
"authMode": "Режим аутентификации",
|
|
"local": "Локальный (логин/пароль)",
|
|
"oidc": "OIDC (SSO)",
|
|
"oidcConfig": "Конфигурация OIDC-провайдера",
|
|
"issuerUrl": "URL издателя",
|
|
"clientId": "ID клиента",
|
|
"clientSecret": "Секрет клиента",
|
|
"redirectUrl": "URL перенаправления",
|
|
"saveSettings": "Сохранить настройки",
|
|
"saving": "Сохранение...",
|
|
"saved": "Настройки сохранены",
|
|
"saveFailed": "Не удалось сохранить",
|
|
"loadFailed": "Не удалось загрузить настройки",
|
|
"localUsers": "Локальные пользователи",
|
|
"username": "Имя пользователя",
|
|
"email": "Email",
|
|
"role": "Роль",
|
|
"created": "Создан",
|
|
"noUsers": "Пользователи не найдены.",
|
|
"addUser": "Добавить пользователя",
|
|
"viewer": "Наблюдатель",
|
|
"admin": "Администратор",
|
|
"userCreated": "Пользователь создан",
|
|
"userDeleted": "Пользователь удалён",
|
|
"createFailed": "Не удалось создать пользователя",
|
|
"deleteFailed": "Не удалось удалить пользователя",
|
|
"deleteConfirm": "Вы уверены, что хотите удалить этого пользователя?",
|
|
"usernameRequired": "Имя пользователя и пароль обязательны"
|
|
},
|
|
"login": {
|
|
"title": "Docker Watcher",
|
|
"subtitle": "Войдите в свой аккаунт",
|
|
"username": "Имя пользователя",
|
|
"password": "Пароль",
|
|
"signIn": "Войти",
|
|
"signingIn": "Вход...",
|
|
"or": "или",
|
|
"ssoButton": "Войти через SSO (OIDC)",
|
|
"loginFailed": "Ошибка входа",
|
|
"networkError": "Ошибка сети"
|
|
},
|
|
"proxies": {
|
|
"title": "Менеджер прокси",
|
|
"create": "Создать прокси",
|
|
"standalone": "Автономные прокси",
|
|
"managed": "Управляемые прокси",
|
|
"noProxies": "Прокси не найдены",
|
|
"noProxiesDesc": "Создайте автономный прокси или разверните проект с включённым прокси.",
|
|
"filter": {
|
|
"search": "Поиск по домену или назначению...",
|
|
"health": "Здоровье",
|
|
"type": "Тип",
|
|
"all": "Все",
|
|
"clear": "Сбросить фильтры"
|
|
},
|
|
"health": {
|
|
"healthy": "Здоров",
|
|
"unhealthy": "Нездоров",
|
|
"unknown": "Неизвестно"
|
|
},
|
|
"lastChecked": "Последняя проверка"
|
|
},
|
|
"common": {
|
|
"cancel": "Отмена",
|
|
"confirm": "Подтвердить",
|
|
"delete": "Удалить",
|
|
"edit": "Изменить",
|
|
"save": "Сохранить",
|
|
"retry": "Повторить",
|
|
"loading": "Загрузка...",
|
|
"noData": "Нет данных",
|
|
"project": "Проект",
|
|
"back": "Назад",
|
|
"actions": "Действия",
|
|
"stop": "Остановить",
|
|
"start": "Запустить",
|
|
"restart": "Перезапустить",
|
|
"remove": "Удалить",
|
|
"instance": "экземпляр",
|
|
"instances": "экземпляров"
|
|
},
|
|
"instance": {
|
|
"stopConfirm": "Контейнер будет остановлен. Экземпляр можно будет запустить снова позже.",
|
|
"restartConfirm": "Контейнер будет перезапущен с кратковременным простоем.",
|
|
"removeConfirm": "Контейнер и его прокси-конфигурация будут безвозвратно удалены.",
|
|
"actionFailed": "Действие не удалось"
|
|
},
|
|
"empty": {
|
|
"noProjects": "Проектов пока нет",
|
|
"noProjectsDesc": "Начните с создания первого проекта или используйте быстрый деплой.",
|
|
"createProject": "Создать проект",
|
|
"noInstances": "Нет экземпляров",
|
|
"noInstancesDesc": "Разверните новую версию, чтобы увидеть экземпляры здесь.",
|
|
"noDeploys": "Нет истории деплоев",
|
|
"noDeploysDesc": "История деплоев появится здесь после первого развёртывания.",
|
|
"noRegistries": "Нет реестров",
|
|
"noRegistriesDesc": "Добавьте реестр контейнеров для обнаружения образов.",
|
|
"noVolumes": "Нет томов",
|
|
"noVolumesDesc": "Настройте монтирование томов для постоянных данных.",
|
|
"noUsers": "Нет пользователей",
|
|
"noUsersDesc": "Добавьте локальных пользователей для управления доступом."
|
|
},
|
|
"validation": {
|
|
"required": "Поле {field} обязательно",
|
|
"invalidUrl": "Неверный формат URL",
|
|
"invalidDomain": "Неверный формат домена",
|
|
"invalidIp": "Неверный формат IP",
|
|
"invalidEmail": "Неверный формат email",
|
|
"invalidPort": "Порт должен быть от 1 до 65535",
|
|
"invalidPollingInterval": "Интервал опроса должен быть от 10 до 86400 секунд",
|
|
"invalidProjectName": "Допускаются только строчные буквы, цифры и дефисы",
|
|
"requiredWhenUpdating": "Поле {field} обязательно при обновлении учётных данных",
|
|
"requiredForNew": "Поле {field} обязательно для новых реестров"
|
|
},
|
|
"confirm": {
|
|
"stopInstance": "Остановить экземпляр",
|
|
"startInstance": "Запустить экземпляр",
|
|
"restartInstance": "Перезапустить экземпляр",
|
|
"removeInstance": "Удалить экземпляр"
|
|
},
|
|
"theme": {
|
|
"light": "Светлая",
|
|
"dark": "Тёмная",
|
|
"system": "Системная"
|
|
},
|
|
"entityPicker": {
|
|
"search": "Поиск...",
|
|
"noResults": "Ничего не найдено"
|
|
},
|
|
"stale": {
|
|
"title": "Устаревшие контейнеры",
|
|
"noStale": "Нет устаревших контейнеров",
|
|
"noStaleDesc": "Все контейнеры исправны и работают.",
|
|
"cleanup": "Очистить",
|
|
"cleanupAll": "Очистить все",
|
|
"confirmCleanup": "Это остановит и удалит контейнер. Продолжить?",
|
|
"confirmBulkCleanup": "Это остановит и удалит все устаревшие контейнеры. Продолжить?",
|
|
"daysStale": "дней устарел",
|
|
"lastAlive": "Последний раз жив",
|
|
"count": "Устаревшие",
|
|
"cleanedUp": "Контейнер очищен",
|
|
"bulkCleanedUp": "{count} контейнеров очищено",
|
|
"cleanupFailed": "Не удалось очистить",
|
|
"loadFailed": "Не удалось загрузить устаревшие контейнеры"
|
|
},
|
|
"proxies": {
|
|
"title": "Прокси",
|
|
"create": "Создать прокси",
|
|
"noProxies": "Прокси ещё не настроены.",
|
|
"noProxiesDesc": "Создайте автономный прокси или разверните проект, чтобы увидеть прокси здесь.",
|
|
"standalone": "Автономные прокси",
|
|
"managed": "Управляемые",
|
|
"lastChecked": "Последняя проверка",
|
|
"health": {
|
|
"healthy": "Работает",
|
|
"unhealthy": "Недоступен",
|
|
"unknown": "Неизвестно"
|
|
},
|
|
"filter": {
|
|
"search": "Поиск прокси...",
|
|
"health": "Здоровье",
|
|
"type": "Тип",
|
|
"all": "Все",
|
|
"clear": "Сбросить фильтры"
|
|
},
|
|
"form": {
|
|
"title": "Создать прокси",
|
|
"editTitle": "Редактировать прокси",
|
|
"destination": "URL / IP назначения",
|
|
"port": "Порт",
|
|
"domain": "Домен",
|
|
"domainHelp": "Публичный домен для этого прокси.",
|
|
"validate": "Проверить",
|
|
"validating": "Проверка...",
|
|
"create": "Создать прокси",
|
|
"save": "Сохранить изменения",
|
|
"cancel": "Отмена",
|
|
"delete": "Удалить",
|
|
"deleteConfirm": "Удалить этот прокси? Это действие необратимо."
|
|
},
|
|
"validation": {
|
|
"title": "Проверка назначения",
|
|
"syntax": "Синтаксис URL",
|
|
"dns": "DNS разрешение",
|
|
"tcp": "TCP подключение",
|
|
"http": "HTTP ответ",
|
|
"checking": "Проверка...",
|
|
"skipped": "Пропущено"
|
|
}
|
|
},
|
|
"events": {
|
|
"title": "Журнал событий",
|
|
"noEvents": "Событий не найдено",
|
|
"noEventsDesc": "События будут отображаться здесь по мере их возникновения.",
|
|
"loadMore": "Загрузить ещё",
|
|
"newEvents": "новых событий",
|
|
"filter": {
|
|
"severity": "Уровень",
|
|
"source": "Источник",
|
|
"dateRange": "Период",
|
|
"search": "Поиск событий...",
|
|
"lastHour": "Последний час",
|
|
"last24h": "Последние 24 часа",
|
|
"last7d": "Последние 7 дней",
|
|
"allTime": "За всё время",
|
|
"clear": "Сбросить фильтры"
|
|
},
|
|
"severity": {
|
|
"info": "Инфо",
|
|
"warn": "Предупреждение",
|
|
"error": "Ошибка"
|
|
},
|
|
"source": {
|
|
"deploy": "Развёртывание",
|
|
"container": "Контейнер",
|
|
"proxy": "Прокси",
|
|
"system": "Система"
|
|
},
|
|
"metadata": "Подробности"
|
|
},
|
|
"stats": {
|
|
"cpu": "ЦП",
|
|
"mem": "ОЗУ",
|
|
"unavailable": "Статистика недоступна"
|
|
},
|
|
"systemHealth": {
|
|
"title": "Состояние системы",
|
|
"containers": "Контейнеры",
|
|
"proxies": "Прокси",
|
|
"recentErrors": "Недавние ошибки"
|
|
},
|
|
"language": {
|
|
"en": "Английский",
|
|
"ru": "Русский"
|
|
}
|
|
}
|