Newer
Older
hard-panel / panel / frontend / src / i18n / messages / ru.js
// Russian dictionary — same slugs as en.js; a missing slug falls back to English.
export default {
  // app / shell / nav
  "app.docTitle": "GHard Monitor",
  "shell.title": "Мониторинг",
  "nav.dashboard": "Дашборд",
  "nav.storage": "Хранилища",
  "nav.settings": "Настройки",
  "nav.signOut": "Выйти",

  // login screen
  "login.title": "Вход",
  "login.subtitle": "GHard Monitor защищён gnexus-auth",
  "login.action": "Войти",

  // dashboard
  "dash.title": "Дашборд",
  "dash.addServer": "Добавить сервер",
  "dash.summary": "{servers} · {online}", // счётчики собираются вложенным t()
  "dash.servers": { one: "{n} сервер", few: "{n} сервера", many: "{n} серверов" },
  "dash.online": "{m} в сети",
  "dash.emptyTitle": "Серверов пока нет",
  "dash.emptyText": "Добавьте первый сервер — панель выдаст ключ для агента hard-monitor",
  "dash.serverCreated": "Сервер создан",
  "dash.newServer": "Новый сервер",
  "dash.nameHint": "Имя нужно только панели — имя хоста агент сообщает сам.",
  "dash.serverName": "Имя сервера",
  "dash.keyHint": "Ключ показывается {once} — сохраните его и настройте агента с ним.",
  "dash.installOn": "Установка на сервере:",
  "dash.failed": "Ошибка",

  // server card / server page
  "server.open": "Открыть",
  "server.uptime": "аптайм {value}",
  "server.disk": "Диск {mount}",
  "server.nodata": "данных пока нет — установите агента",
  "server.back": "К дашборду",
  "server.notFound": "Сервер не найден",
  "server.notFoundText": "Возможно, он был удалён",
  "server.rename": "Переименовать",
  "server.renameTitle": "Переименовать сервер",
  "server.serverName": "Имя сервера",
  "server.delete": "Удалить",
  "server.deleteTitle": "Удалить сервер?",
  "server.deleteMessage": "«{name}» и вся его история метрик будут удалены навсегда.",
  "server.infoTitle": "Инфо",
  "server.noteTitle": "Заметка",
  "server.serverNote": "Заметка о сервере",
  "server.notePlaceholder": "Для чего сервер, что на нём работает. Без секретов :)",
  "server.hostname": "Имя хоста",
  "server.os": "ОС",
  "server.kernel": "Ядро",
  "server.ips": "IP-адреса",
  "server.connIp": "IP подключения",
  "server.interval": "Интервал агента",
  "server.lastPacket": "Последний пакет",
  "server.network": "Сеть",
  "server.history": "История:",
  "server.tabOverview": "Обзор",
  "server.tabDisks": "Диски",
  "server.tabNetwork": "Сеть",
  "server.tabProcesses": "Процессы",
  "server.tabDocker": "Docker",
  "server.cpuRamChart": "CPU и RAM, %",
  "server.diskChart": "Заполненность дисков, %",
  "server.netChart": "Скорость сети, MB/s",
  "server.colMount": "Точка монтирования",
  "server.colSize": "Размер",
  "server.colUsed": "Занято",
  "server.colUsage": "Заполненность",
  "server.colPid": "PID",
  "server.colProcess": "Процесс",
  "server.colStatus": "Статус",
  "server.colContainer": "Контейнер",
  "server.colImage": "Образ",
  "server.noDisks": "В последнем пакете нет дисков",
  "server.noProcesses": "Нет данных о процессах",
  "server.noDocker": "Docker-контейнеры не найдены",
  "server.of": "из {total}",
  "server.noteSaved": "Заметка сохранена",
  "server.renamed": "Переименовано",
  "server.serverDeleted": "Сервер удалён",
  "server.failedToSave": "Не удалось сохранить",
  "server.failedToRename": "Не удалось переименовать",
  "server.failedToDelete": "Не удалось удалить",
  "server.historyFailed": "Не удалось загрузить историю",

  // storage
  "storage.title": "Хранилища",
  "storage.subtitle": "Сетевые шары, примонтированные к хосту панели",
  "storage.addShare": "Добавить шару",
  "storage.emptyTitle": "Шар пока нет",
  "storage.emptyText": "Примонтируйте сетевой диск к хосту панели и добавьте его путь сюда — панель сама будет следить за заполненностью",
  "storage.usedLabel": "Занято",
  "storage.used": "занято",
  "storage.free": "свободно",
  "storage.total": "всего",
  "storage.nodata": "нет данных — проверьте монтирование",
  "storage.sampledAt": "замер: {time}",
  "storage.notSampled": "замеров ещё не было",
  "storage.historyTitle": "Заполненность за 24 ч, %",
  "storage.addTitle": "Добавить сетевую шару",
  "storage.name": "Название",
  "storage.mountPath": "Путь монтирования на хосте панели",
  "storage.shareAdded": "Шара добавлена",
  "storage.deleteTitle": "Удалить шару?",
  "storage.deleteMessage": "«{name}» будет убрана из мониторинга. Само монтирование и данные не затрагиваются.",
  "storage.historyFailed": "Не удалось загрузить историю хранилищ",
  "storage.shareDeleted": "Шара удалена",

  // services (health checker)
  "nav.services": "Сервисы",
  "services.title": "Сервисы",
  "services.subtitle": "Здоровье внешних сервисов по их health-эндпоинтам",
  "services.addService": "Добавить сервис",
  "services.emptyTitle": "Сервисов пока нет",
  "services.emptyText": "Добавьте health-URL сервиса (например gnexus-auth) — панель будет опрашивать его сама",
  "services.addTitle": "Добавить сервис",
  "services.name": "Название",
  "services.url": "Health-URL",
  "services.urlHint": "Адрес, который панель опрашивает (GET) для проверки здоровья, например http://gnexus-creds.local/api/v1/health",
  "services.latency": "отклик {n} ms",
  "services.stateUp": "в порядке",
  "services.stateDegraded": "деградация",
  "services.stateDown": "недоступен",
  "services.statePending": "ожидание",
  "services.modeMaintenance": "обслуживание",
  "services.modeReadonly": "только чтение",
  "services.modeDraining": "снятие с нагрузки",
  "services.notResponding": "не отвечает — {message}",
  "services.serviceAdded": "Сервис добавлен",
  "services.historyFailed": "Не удалось загрузить историю сервисов",
  "services.serviceDeleted": "Сервис удалён",
  "services.deleteTitle": "Удалить сервис?",
  "services.deleteMessage": "«{name}» будет убран из health-мониторинга. Сам сервис не затрагивается.",
  "services.historyTitle": "Время отклика за 24 ч, ms",

  // settings
  "settings.title": "Настройки",
  "settings.languageToolbar": "Язык интерфейса",
  "settings.languageDescription": "По умолчанию панель следует языку аккаунта gnexus-auth; выбор здесь перекрывает его только для GHard Monitor. «Авто» возвращает язык аккаунта.",
  "settings.languageDescriptionOpen": "Панель открыта без аккаунта — выбор хранится в этом браузере.",
  "settings.languageSaved": "Язык обновлён.",

  // language picker (native names — invariant across UI languages)
  "profile.languageAuto": "Авто (из аккаунта)",
  "profile.langEn": "English",
  "profile.langUk": "Українська",
  "profile.langRu": "Русский",

  // status (single source for card/page/storage badges)
  "status.online": "в сети",
  "status.offline": "оффлайн",
  "status.waiting": "ожидание",

  // relative time (fmtAgo / fmtUptime)
  "time.never": "никогда",
  "time.now": "только что",
  "time.secondsAgo": "{n} с назад",
  "time.minutesAgo": "{n} мин назад",
  "time.hoursAgo": "{n} ч назад",
  "time.daysAgo": "{n} д назад",
  "time.upDaysHours": "{d} д {h} ч",
  "time.upHoursMinutes": "{h} ч {m} мин",
  "time.upMinutesSeconds": "{m} мин {s} с",

  // common
  "common.cancel": "Отмена",
  "common.close": "Закрыть",
  "common.copy": "Копировать",
  "common.create": "Создать",
  "common.save": "Сохранить",
  "common.add": "Добавить",
  "common.delete": "Удалить",
  "common.once": "один раз",
  "common.error": "Ошибка",
  "common.failedToLoad": "Не удалось загрузить",
};