// Ukrainian 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": "Сервіси",
"nav.mcpKeys": "MCP-ключі",
"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.serviceUpdated": "Сервіс оновлено",
"services.deleteTitle": "Видалити сервіс?",
"services.deleteMessage": "«{name}» буде прибрано з health-моніторингу. Сам сервіс не зачіпається.",
"services.back": "До списку",
"services.notFound": "Сервіс не знайдено",
"services.notFoundText": "Можливо, його прибрали з моніторингу",
"services.edit": "Редагувати",
"services.editTitle": "Редагувати сервіс",
"services.chartTitle": "Час відгуку, ms",
"services.logTitle": "Моменти недоступності",
"services.colStart": "Початок",
"services.colDuration": "Тривалість",
"services.colWhat": "Що",
"services.colReason": "Причина",
"services.ongoing": "триває",
"services.noIncidents": "Недоступності не зафіксовано",
"services.durD": "д",
"services.durH": "год",
"services.durM": "хв",
"services.durS": "с",
// 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} c",
// common
"common.cancel": "Скасувати",
"common.close": "Закрити",
"common.copy": "Копіювати",
"common.create": "Створити",
"common.save": "Зберегти",
"common.add": "Додати",
"common.delete": "Видалити",
"common.once": "один раз",
"common.error": "Помилка",
"common.failedToLoad": "Не вдалося завантажити",
// MCP personal keys (handbook 10-platform/mcp.md)
"mcpKeys.title": "MCP-ключі",
"mcpKeys.myKeys": "Мої ключі",
"mcpKeys.myKeysNote": "Bearer-токени ваших ІІ-агентів до /mcp цієї панелі.",
"mcpKeys.defaultName": "Агент",
"mcpKeys.namePlaceholder": "агент",
"mcpKeys.generate": "Видати ключ",
"mcpKeys.newKey": "Новий MCP-ключ",
"mcpKeys.plaintextOnceName": "Ключ показується один раз при створенні; далі у списку — лише хвіст-хінт.",
"mcpKeys.createdTitle": "Ключ створено",
"mcpKeys.plaintextHint": "Скопіюйте ключ зараз — повторно він показаний не буде.",
"mcpKeys.colKey": "Ключ",
"mcpKeys.colTail": "Хвіст",
"mcpKeys.colRole": "Роль",
"mcpKeys.colCreated": "Створено",
"mcpKeys.colUsed": "Викликано",
"mcpKeys.colStatus": "Статус",
"mcpKeys.colOwner": "Власник",
"mcpKeys.badgeActive": "Активний",
"mcpKeys.badgeRevoked": "Відкликано",
"mcpKeys.revoke": "Відкликати",
"mcpKeys.revokeTitle": "Відкликати ключ",
"mcpKeys.revokeMessage": "Агенти з ключем \"{name}\" перестануть отримувати відповіді від /mcp.",
"mcpKeys.revokedTitle": "Ключ відкликано",
"mcpKeys.failed": "Не вдалося",
"mcpKeys.emptyOwn": "Ключів немає — видайте ключ для свого агента.",
"mcpKeys.emptyAll": "Поки ніхто не видавав ключів.",
"mcpKeys.allKeysAdmin": "Ключі всіх користувачів",
"mcpKeys.allKeysNote": "Усі видані персональні ключі; будь-який можна відкликати.",
"mcpKeys.limits": "активних ключів: {count} з {limit}",
"mcpKeys.howToConnect": "Як підключити агента",
"mcpKeys.connectNote": "Транспорт — streamable HTTP; авторизація — персональним ключем з цієї сторінки. Приклад для Claude Code:",
"mcpKeys.authOff": "Персональні MCP-ключі працюють за увімкненого входу gnexus-auth. У відкритій панелі (та для скриптів) використовуйте GHARD_ADMIN_TOKEN.",
};