feat: load plugin frontends at runtime and remove plugin ids from the shell

This commit is contained in:
LukeGus committed 2026-09-22 20:15:52 -05:00
1 parent 49f0286a14
commit e88d5a52e3
721 files changed
+54265 -44416

No files matched your search

@@ -0,0 +1,149 @@
{
"newUi": {
"sidebar": {
"automations": {
"title": "Автоматизація",
"tabAutomations": "Автоматизація",
"tabRuns": "Пробіжки",
"tabChannels": "Канали",
"createAutomation": "Нова автоматизація",
"backToAutomations": "Назад до автоматизації",
"createTitle": "Нова автоматизація",
"editTitle": "Редагувати автоматизацію",
"empty": "Автоматизації поки що немає. Створіть її, щоб реагувати на метрику, розклад або подію.",
"emptyRuns": "Поки що жодних пробіжок.",
"emptyChannels": "Поки що немає каналів. Додайте один, щоб надсилати сповіщення кудись.",
"noChannelsHint": "Канали ще не налаштовано. Додайте його на вкладці «Канали».",
"addChannel": "Додати канал",
"testChannel": "Тест",
"channelTestSent": "Тестове сповіщення надіслано",
"channelTestFailed": "Не вдалося виконати тестове сповіщення",
"channelDeleted": "Канал видалено",
"deleteChannelConfirm": "Видалити цей канал? Автоматизації, що його використовують, перестануть надсилати сповіщення.",
"nameLabel": "Ім'я",
"namePlaceholder": "наприклад, Очищати /дані, коли вони заповнюються",
"nameRequired": "Ім'я обов'язкове",
"descriptionLabel": "Опис",
"descriptionPlaceholder": "Додатковий опис",
"enabledLabel": "Увімкнено",
"concurrencyLabel": "Якщо воно вже працює",
"concurrencyHint": "Що робити, якщо це спрацьовує знову до завершення останнього запуску.",
"concurrency": {
"skip": "Пропустити новий пробіг",
"queue": "Чекай і біжіть за ним",
"allow": "Запустіть обидва одночасно"
},
"save": "Зберегти",
"created": "Автоматизація створена",
"updated": "Автоматизація збережена",
"deleted": "Автоматизацію видалено",
"deleteConfirm": "Видалити цю автоматизацію? Історія її запуску також видаляється.",
"runNow": "Біжи зараз",
"testRun": "Тестовий запуск",
"testRunHint": "Виконує кожен крок, але не торкається нічого поза Termix.",
"runStarted": "Біг розпочато",
"runFinished": "Виконання завершено: {{status}}",
"trigger": "Тригер",
"steps": "Кроки",
"addStep": "Додати крок",
"removeStep": "Видалити крок",
"moveUp": "Перемістити вгору",
"moveDown": "Перемістити вниз",
"noSteps": "Кроків поки що немає. Додайте один, щоб пояснити, що має статися.",
"webhookTokenTitle": "URL-адреса вебхука",
"webhookTokenDescription": "Це відображається один раз. Збережіть це зараз, пізніше це неможливо буде отримати.",
"copy": "Копіювати",
"copied": "Скопійовано",
"viewJson": "JSON",
"viewBuilder": "Будівельник",
"viewGraph": "Графік",
"lastRun": "Останній запуск",
"never": "Ніколи",
"duration": "{{seconds}}с",
"stepOutput": "Вихід",
"stepError": "Помилка",
"dryRunBadge": "Тестовий запуск",
"hostSelector": {
"trigger": "Хост-тригер",
"host": "Конкретний хост",
"fleet": "Флот",
"all": "Усі хости"
},
"triggerKinds": {
"metric_threshold": "Поріг показника",
"host_status": "Хост піднімається або опускається",
"health_check": "Зміни в перевірці стану здоров'я",
"schedule": "За розкладом",
"docker_event": "Подія контейнера",
"internal_event": "Подія Termix",
"webhook": "Вхідний вебхук"
},
"stepTypes": {
"notify": "Надіслати сповіщення",
"http": "Виклик URL-адреси",
"run_snippet": "Виконати фрагмент коду",
"run_command": "Виконайте команду",
"docker": "Керування контейнером",
"tunnel": "Контролюйте тунель",
"wol": "Розбудити господаря",
"wait": "Зачекайте",
"set_var": "Встановити змінну",
"if": "Якщо / інакше",
"run_automation": "Запустіть ще одну автоматизацію",
"stop": "СТІЙ"
},
"statuses": {
"running": "Біг",
"success": "Успіх",
"failed": "Не вдалося",
"timeout": "Час очікування минув",
"skipped": "Пропущено",
"cancelled": "Скасовано"
},
"fields": {
"host": "Хост",
"metric": "Метрика",
"mount": "Точка монтування",
"operator": "Є",
"value": "Значення",
"forSeconds": "Триває протягом (секунд)",
"cooldown": "Охолодження (хвилини)",
"cron": "Cron-вираз",
"intervalSeconds": "Кожні (секунди)",
"timezone": "Часовий пояс",
"timezoneServer": "Час сервера",
"timezoneHint": "Час Cron зчитується в цій зоні. Не стосується інтервальних розкладів.",
"container": "Контейнер",
"command": "Команда",
"url": "URL-адреса",
"method": "Метод",
"body": "Тіло",
"channels": "Канали",
"title": "Назва",
"message": "Повідомлення",
"snippet": "Фрагмент",
"seconds": "Секунди",
"conditionLeftPlaceholder": "Значення для перевірки",
"conditionRightPlaceholder": "Порівняйте з",
"variableName": "Ім'я змінної",
"variableValue": "Значення",
"elevated": "Запустити за допомогою sudo",
"onError": "Якщо це не вдасться",
"allowPrivateNetwork": "Дозволити адреси локальної мережі",
"allowPrivateNetworkHint": "Потрібно для самостійно розміщеної служби у вашій локальній мережі. Вимкнено за замовчуванням, щоб запобігти запитам до внутрішніх адрес."
},
"onError": {
"stop": "Зупинити біг",
"continue": "Продовжуйте"
}
}
}
},
"nav": {
"automations": "Автоматизація"
},
"onboarding": {
"feature_automations": "Автоматизація",
"feature_automations_desc": "Автоматично виконувати кроки, коли щось відбувається, та отримувати сповіщення."
}
}