mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-01 07:01:41 +00:00
Co-authored-by: Austin Pickett <pickett.austin@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
698 lines
37 KiB
TypeScript
698 lines
37 KiB
TypeScript
import type { Translations } from "./types";
|
||
|
||
export const uk: Translations = {
|
||
common: {
|
||
save: "Зберегти",
|
||
saving: "Збереження...",
|
||
cancel: "Скасувати",
|
||
close: "Закрити",
|
||
confirm: "Підтвердити",
|
||
delete: "Видалити",
|
||
refresh: "Оновити",
|
||
retry: "Повторити",
|
||
search: "Пошук...",
|
||
loading: "Завантаження...",
|
||
create: "Створити",
|
||
creating: "Створення...",
|
||
set: "Встановити",
|
||
replace: "Замінити",
|
||
clear: "Очистити",
|
||
live: "Наживо",
|
||
off: "Вимкнено",
|
||
enabled: "увімкнено",
|
||
disabled: "вимкнено",
|
||
active: "активний",
|
||
inactive: "неактивний",
|
||
unknown: "невідомо",
|
||
untitled: "Без назви",
|
||
none: "Немає",
|
||
form: "Форма",
|
||
noResults: "Немає результатів",
|
||
of: "з",
|
||
page: "Сторінка",
|
||
msgs: "повідомл.",
|
||
tools: "інструменти",
|
||
match: "збіг",
|
||
other: "Інше",
|
||
configured: "налаштовано",
|
||
removed: "видалено",
|
||
failedToToggle: "Не вдалося перемкнути",
|
||
failedToRemove: "Не вдалося видалити",
|
||
failedToReveal: "Не вдалося показати",
|
||
collapse: "Згорнути",
|
||
expand: "Розгорнути",
|
||
general: "Загальне",
|
||
messaging: "Обмін повідомленнями",
|
||
pluginLoadFailed:
|
||
"Не вдалося завантажити скрипт цього плагіна. Перевірте вкладку Network (dashboard-plugins/…) та шлях до плагінів на сервері.",
|
||
pluginNotRegistered:
|
||
"Скрипт плагіна не викликав register(), або у скрипті сталася помилка. Відкрийте консоль браузера, щоб побачити деталі.",
|
||
},
|
||
|
||
app: {
|
||
brand: "Hermes Agent",
|
||
brandShort: "HA",
|
||
closeNavigation: "Закрити навігацію",
|
||
closeModelTools: "Закрити модель та інструменти",
|
||
footer: {
|
||
org: "Nous Research",
|
||
},
|
||
activeSessionsLabel: "Активні сесії:",
|
||
gatewayStatusLabel: "Стан шлюзу:",
|
||
gatewayStrip: {
|
||
failed: "Помилка запуску",
|
||
off: "Вимкнено",
|
||
running: "Працює",
|
||
starting: "Запускається",
|
||
stopped: "Зупинено",
|
||
},
|
||
nav: {
|
||
analytics: "Аналітика",
|
||
chat: "Чат",
|
||
config: "Конфігурація",
|
||
cron: "Cron",
|
||
documentation: "Документація",
|
||
keys: "Ключі",
|
||
logs: "Журнали",
|
||
models: "Моделі",
|
||
profiles: "профілі: мульти-агенти",
|
||
plugins: "Плагіни",
|
||
sessions: "Сесії",
|
||
skills: "Навички",
|
||
},
|
||
modelToolsSheetSubtitle: "та інструменти",
|
||
modelToolsSheetTitle: "Модель",
|
||
navigation: "Навігація",
|
||
openDocumentation: "Відкрити документацію в новій вкладці",
|
||
openNavigation: "Відкрити навігацію",
|
||
pluginNavSection: "Плагіни",
|
||
sessionsActiveCount: "{count} активних",
|
||
statusOverview: "Огляд стану",
|
||
system: "Система",
|
||
webUi: "Web UI",
|
||
},
|
||
|
||
status: {
|
||
actionFailed: "Дія не вдалася",
|
||
actionFinished: "Завершено",
|
||
actions: "Дії",
|
||
agent: "Агент",
|
||
activeSessions: "Активні сесії",
|
||
connected: "Підключено",
|
||
connectedPlatforms: "Підключені платформи",
|
||
disconnected: "Відключено",
|
||
error: "Помилка",
|
||
failed: "Не вдалося",
|
||
gateway: "Шлюз",
|
||
gatewayFailedToStart: "Не вдалося запустити шлюз",
|
||
lastUpdate: "Останнє оновлення",
|
||
noneRunning: "Немає",
|
||
notRunning: "Не запущено",
|
||
pid: "PID",
|
||
platformDisconnected: "відключено",
|
||
platformError: "помилка",
|
||
recentSessions: "Останні сесії",
|
||
restartGateway: "Перезапустити шлюз",
|
||
restartingGateway: "Перезапуск шлюзу…",
|
||
running: "Працює",
|
||
runningRemote: "Працює (віддалено)",
|
||
startFailed: "Помилка запуску",
|
||
starting: "Запускається",
|
||
startedInBackground: "Запущено у фоні — перевірте журнали для прогресу",
|
||
stopped: "Зупинено",
|
||
updateHermes: "Оновити Hermes",
|
||
updatingHermes: "Оновлення Hermes…",
|
||
waitingForOutput: "Очікування виводу…",
|
||
},
|
||
|
||
sessions: {
|
||
title: "Сесії",
|
||
searchPlaceholder: "Пошук у вмісті повідомлень...",
|
||
noSessions: "Поки немає сесій",
|
||
noMatch: "Жодна сесія не відповідає вашому пошуку",
|
||
startConversation: "Почніть розмову, щоб побачити її тут",
|
||
noMessages: "Немає повідомлень",
|
||
untitledSession: "Сесія без назви",
|
||
deleteSession: "Видалити сесію",
|
||
confirmDeleteTitle: "Видалити сесію?",
|
||
confirmDeleteMessage:
|
||
"Це назавжди видалить розмову та всі її повідомлення. Цю дію не можна скасувати.",
|
||
sessionDeleted: "Сесію видалено",
|
||
failedToDelete: "Не вдалося видалити сесію",
|
||
resumeInChat: "Продовжити в чаті",
|
||
previousPage: "Попередня сторінка",
|
||
nextPage: "Наступна сторінка",
|
||
roles: {
|
||
user: "Користувач",
|
||
assistant: "Асистент",
|
||
system: "Система",
|
||
tool: "Інструмент",
|
||
},
|
||
},
|
||
|
||
analytics: {
|
||
period: "Період:",
|
||
totalTokens: "Усього токенів",
|
||
totalSessions: "Усього сесій",
|
||
apiCalls: "Виклики API",
|
||
dailyTokenUsage: "Щоденне використання токенів",
|
||
dailyBreakdown: "Щоденна розбивка",
|
||
perModelBreakdown: "Розбивка за моделями",
|
||
topSkills: "Топ навичок",
|
||
skill: "Навичка",
|
||
loads: "Агент завантажив",
|
||
edits: "Агент керує",
|
||
lastUsed: "Останнє використання",
|
||
input: "Вхід",
|
||
output: "Вихід",
|
||
total: "Усього",
|
||
noUsageData: "Немає даних про використання за цей період",
|
||
startSession: "Почніть сесію, щоб побачити аналітику тут",
|
||
date: "Дата",
|
||
model: "Модель",
|
||
tokens: "Токени",
|
||
perDayAvg: "/день у сер.",
|
||
acrossModels: "по {count} моделях",
|
||
inOut: "{input} вх. / {output} вих.",
|
||
},
|
||
|
||
models: {
|
||
modelsUsed: "Використано моделей",
|
||
estimatedCost: "Орієнт. вартість",
|
||
tokens: "токени",
|
||
sessions: "сесії",
|
||
avgPerSession: "сер./сесію",
|
||
apiCalls: "виклики API",
|
||
toolCalls: "виклики інструментів",
|
||
noModelsData: "Немає даних про використання моделей за цей період",
|
||
startSession: "Почніть сесію, щоб побачити дані моделей тут",
|
||
},
|
||
|
||
logs: {
|
||
title: "Журнали",
|
||
autoRefresh: "Автооновлення",
|
||
file: "Файл",
|
||
level: "Рівень",
|
||
component: "Компонент",
|
||
lines: "Рядки",
|
||
noLogLines: "Записів журналу не знайдено",
|
||
},
|
||
|
||
cron: {
|
||
confirmDeleteMessage:
|
||
"Це видаляє завдання з розкладу. Цю дію не можна скасувати.",
|
||
confirmDeleteTitle: "Видалити заплановане завдання?",
|
||
newJob: "Нове Cron-завдання",
|
||
nameOptional: "Назва (необов'язково)",
|
||
namePlaceholder: "напр. Щоденне зведення",
|
||
prompt: "Запит",
|
||
promptPlaceholder: "Що агент має робити при кожному запуску?",
|
||
schedule: "Розклад (cron-вираз)",
|
||
schedulePlaceholder: "0 9 * * *",
|
||
deliverTo: "Надіслати на",
|
||
scheduledJobs: "Заплановані завдання",
|
||
noJobs: "Cron-завдань не налаштовано. Створіть одне вище.",
|
||
last: "Останнє",
|
||
next: "Наступне",
|
||
pause: "Призупинити",
|
||
resume: "Відновити",
|
||
triggerNow: "Запустити зараз",
|
||
delivery: {
|
||
local: "Локально",
|
||
telegram: "Telegram",
|
||
discord: "Discord",
|
||
slack: "Slack",
|
||
email: "Email",
|
||
},
|
||
},
|
||
|
||
profiles: {
|
||
newProfile: "Новий профіль",
|
||
name: "Назва",
|
||
namePlaceholder: "напр. coder, writer тощо.",
|
||
nameRequired: "Назва обов'язкова",
|
||
nameRule:
|
||
"Лише малі літери, цифри, _ та -; має починатися з літери або цифри; до 64 символів.",
|
||
invalidName: "Недопустима назва профілю",
|
||
cloneFromDefault: "Клонувати конфігурацію з профілю за замовчуванням",
|
||
allProfiles: "Профілі",
|
||
noProfiles: "Профілів не знайдено.",
|
||
defaultBadge: "за замовчуванням",
|
||
hasEnv: "env",
|
||
model: "Модель",
|
||
skills: "Навички",
|
||
rename: "Перейменувати",
|
||
editSoul: "Редагувати SOUL.md",
|
||
soulSection: "SOUL.md (особистість / системний запит)",
|
||
soulPlaceholder: "# Як цей агент має поводитися…",
|
||
saveSoul: "Зберегти SOUL",
|
||
soulSaved: "SOUL.md збережено",
|
||
openInTerminal: "Скопіювати CLI-команду",
|
||
commandCopied: "Скопійовано в буфер обміну",
|
||
copyFailed: "Не вдалося скопіювати",
|
||
confirmDeleteTitle: "Видалити профіль?",
|
||
confirmDeleteMessage:
|
||
"Це назавжди видаляє профіль '{name}' — конфігурацію, ключі, спогади, сесії, навички, cron-завдання. Не можна скасувати.",
|
||
created: "Створено",
|
||
deleted: "Видалено",
|
||
renamed: "Перейменовано",
|
||
},
|
||
|
||
pluginsPage: {
|
||
contextEngineLabel: "Контекстний рушій",
|
||
dashboardSlots: "Слоти панелі",
|
||
disableRuntime: "Вимкнути",
|
||
enableAfterInstall: "Увімкнути після встановлення",
|
||
enableRuntime: "Увімкнути",
|
||
forceReinstall: "Примусово перевстановити (спершу видалити наявну теку)",
|
||
headline:
|
||
"Знаходьте, встановлюйте, вмикайте та оновлюйте плагіни Hermes (паритет з `hermes plugins`).",
|
||
identifierLabel: "Git URL або owner/repo",
|
||
inactive: "неактивний",
|
||
installBtn: "Встановити з Git",
|
||
installHeading: "Встановити з GitHub / Git URL",
|
||
installHint: "Використовуйте скорочення owner/repo або повну https:// чи git@ URL для клонування.",
|
||
memoryProviderLabel: "Постачальник пам'яті",
|
||
missingEnvWarn: "Встановіть їх у Keys, перш ніж плагін зможе працювати:",
|
||
noDashboardTab: "Немає вкладки панелі",
|
||
openTab: "Відкрити",
|
||
orphanHeading: "Розширення лише для панелі (без відповідного agent plugin.yaml)",
|
||
pluginListHeading: "Встановлені плагіни",
|
||
providerDefaults: "вбудований / за замовчуванням",
|
||
providersHeading: "Плагіни постачальників часу виконання",
|
||
providersHint:
|
||
"Записує memory.provider (порожньо = вбудований) та context.engine у config.yaml. Набуває чинності в наступній сесії.",
|
||
refreshDashboard: "Перескан розширень панелі",
|
||
removeConfirm: "Видалити цей плагін з ~/.hermes/plugins/?",
|
||
removeHint: "Видаляти можна лише плагіни, встановлені користувачем у ~/.hermes/plugins.",
|
||
rescanHeading: "Реєстр SPA-плагінів",
|
||
rescanHint: "Скануйте після додавання файлів на диск, щоб бічна панель підхопила нові маніфести.",
|
||
runtimeHeading: "Час виконання шлюзу (YAML-плагіни)",
|
||
saveProviders: "Зберегти налаштування постачальників",
|
||
savedProviders: "Налаштування постачальників збережено.",
|
||
sourceBadge: "Джерело",
|
||
authRequired: "Потрібна автентифікація",
|
||
authRequiredHint: "Виконайте цю команду, щоб автентифікуватися:",
|
||
updateGit: "Git pull",
|
||
versionBadge: "Версія",
|
||
showInSidebar: "Показати у бічній панелі",
|
||
hideFromSidebar: "Сховати з бічної панелі",
|
||
},
|
||
|
||
skills: {
|
||
title: "Навички",
|
||
searchPlaceholder: "Пошук навичок та наборів інструментів...",
|
||
enabledOf: "{enabled}/{total} увімкнено",
|
||
all: "Усі",
|
||
categories: "Категорії",
|
||
filters: "Фільтри",
|
||
noSkills: "Навичок не знайдено. Навички завантажуються з ~/.hermes/skills/",
|
||
noSkillsMatch: "Жодна навичка не відповідає вашому пошуку чи фільтру.",
|
||
skillCount: "{count} навичок",
|
||
resultCount: "{count} результатів",
|
||
noDescription: "Опис відсутній.",
|
||
toolsets: "Набори інструментів",
|
||
toolsetLabel: "Набір {name}",
|
||
noToolsetsMatch: "Жоден набір інструментів не відповідає пошуку.",
|
||
setupNeeded: "Потрібне налаштування",
|
||
disabledForCli: "Вимкнено для CLI",
|
||
more: "+ще {count}",
|
||
},
|
||
|
||
config: {
|
||
configPath: "~/.hermes/config.yaml",
|
||
filters: "Фільтри",
|
||
sections: "Розділи",
|
||
exportConfig: "Експортувати конфігурацію як JSON",
|
||
importConfig: "Імпортувати конфігурацію з JSON",
|
||
resetDefaults: "Скинути до значень за замовчуванням",
|
||
resetScopeTooltip: "Скинути {scope} до значень за замовчуванням",
|
||
confirmResetScope: "Скинути всі налаштування {scope} до значень за замовчуванням? Це лише оновлює форму — зміни не записуються до config.yaml, доки ви не натиснете «Зберегти».",
|
||
resetScopeToast: "{scope} скинуто до значень за замовчуванням — перегляньте та збережіть, щоб застосувати",
|
||
rawYaml: "Сирий YAML-конфіг",
|
||
searchResults: "Результати пошуку",
|
||
fields: "поле(ів)",
|
||
noFieldsMatch: 'Немає полів, що відповідають \"{query}\"',
|
||
configSaved: "Конфігурацію збережено",
|
||
yamlConfigSaved: "YAML-конфігурацію збережено",
|
||
failedToSave: "Не вдалося зберегти",
|
||
failedToSaveYaml: "Не вдалося зберегти YAML",
|
||
failedToLoadRaw: "Не вдалося завантажити сирий конфіг",
|
||
configImported: "Конфігурацію імпортовано — перегляньте та збережіть",
|
||
invalidJson: "Недійсний файл JSON",
|
||
categories: {
|
||
general: "Загальне",
|
||
agent: "Агент",
|
||
terminal: "Термінал",
|
||
display: "Відображення",
|
||
delegation: "Делегування",
|
||
memory: "Пам'ять",
|
||
compression: "Стиснення",
|
||
security: "Безпека",
|
||
browser: "Браузер",
|
||
voice: "Голос",
|
||
tts: "Синтез мовлення",
|
||
stt: "Розпізнавання мовлення",
|
||
logging: "Журналювання",
|
||
discord: "Discord",
|
||
auxiliary: "Додатково",
|
||
},
|
||
},
|
||
|
||
env: {
|
||
changesNote: "Зміни одразу зберігаються на диск. Активні сесії автоматично підхоплюють нові ключі.",
|
||
confirmClearMessage:
|
||
"Збережене значення цієї змінної буде видалено з вашого .env-файлу. Цю дію не можна скасувати з UI.",
|
||
confirmClearTitle: "Очистити цей ключ?",
|
||
description: "Керуйте API-ключами та секретами, що зберігаються в",
|
||
hideAdvanced: "Сховати розширене",
|
||
showAdvanced: "Показати розширене",
|
||
llmProviders: "Постачальники LLM",
|
||
providersConfigured: "Налаштовано {configured} з {total} постачальників",
|
||
getKey: "Отримати ключ",
|
||
notConfigured: "{count} не налаштовано",
|
||
notSet: "Не задано",
|
||
keysCount: "{count} ключ(ів)",
|
||
enterValue: "Введіть значення...",
|
||
replaceCurrentValue: "Замінити поточне значення ({preview})",
|
||
showValue: "Показати справжнє значення",
|
||
hideValue: "Сховати значення",
|
||
},
|
||
|
||
oauth: {
|
||
title: "Входи постачальників (OAuth)",
|
||
providerLogins: "Входи постачальників (OAuth)",
|
||
description: "Підключено {connected} з {total} постачальників OAuth. Процеси входу наразі виконуються через CLI; натисніть «Скопіювати команду» та вставте у термінал, щоб налаштувати.",
|
||
connected: "Підключено",
|
||
expired: "Прострочено",
|
||
notConnected: "Не підключено. Виконайте {command} у терміналі.",
|
||
runInTerminal: "у терміналі.",
|
||
noProviders: "Не виявлено постачальників із підтримкою OAuth.",
|
||
login: "Увійти",
|
||
disconnect: "Відключити",
|
||
managedExternally: "Керується ззовні",
|
||
copied: "Скопійовано ✓",
|
||
cli: "CLI",
|
||
copyCliCommand: "Скопіювати CLI-команду (для зовнішнього / резервного варіанту)",
|
||
connect: "Підключити",
|
||
sessionExpires: "Сесія завершиться через {time}",
|
||
initiatingLogin: "Запуск процесу входу…",
|
||
exchangingCode: "Обмін коду на токени…",
|
||
connectedClosing: "Підключено! Закриття…",
|
||
loginFailed: "Помилка входу.",
|
||
sessionExpired: "Сесія прострочена. Натисніть «Повторити», щоб розпочати новий вхід.",
|
||
reOpenAuth: "Знову відкрити сторінку авторизації",
|
||
reOpenVerification: "Знову відкрити сторінку перевірки",
|
||
submitCode: "Надіслати код",
|
||
pasteCode: "Вставте код авторизації (з суфіксом #state теж нормально)",
|
||
waitingAuth: "Очікування на вашу авторизацію в браузері…",
|
||
enterCodePrompt: "Відкрилася нова вкладка. Якщо буде запит, введіть цей код:",
|
||
pkceStep1: "Відкрилася нова вкладка з claude.ai. Увійдіть та натисніть Authorize.",
|
||
pkceStep2: "Скопіюйте код авторизації, що відображається після авторизації.",
|
||
pkceStep3: "Вставте його нижче та надішліть.",
|
||
flowLabels: {
|
||
pkce: "Вхід через браузер (PKCE)",
|
||
device_code: "Код пристрою",
|
||
external: "Зовнішній CLI",
|
||
},
|
||
expiresIn: "завершується через {time}",
|
||
},
|
||
|
||
language: {
|
||
switchTo: "Перемкнути на англійську",
|
||
},
|
||
|
||
theme: {
|
||
title: "Тема",
|
||
switchTheme: "Змінити тему",
|
||
},
|
||
|
||
achievements: {
|
||
hero: {
|
||
kicker: "Agentic Gamerscore",
|
||
title: "Hermes Achievements",
|
||
subtitle:
|
||
"Колекційні значки Hermes, отримані з реальної історії сеансів. Відомі, але ще не виконані досягнення показані як Виявлені; Секретні досягнення залишаються прихованими, доки не з'явиться перший відповідний сигнал.",
|
||
scan_subtitle:
|
||
"Сканування історії сеансів Hermes. Перше сканування на великих історіях може тривати 5–10 секунд.",
|
||
},
|
||
actions: {
|
||
rescan: "Повторне сканування",
|
||
},
|
||
stats: {
|
||
unlocked: "Розблоковано",
|
||
unlocked_hint: "отримані значки",
|
||
discovered: "Виявлено",
|
||
discovered_hint: "відомі, ще не отримані",
|
||
secrets: "Секрети",
|
||
secrets_hint: "приховані до першого сигналу",
|
||
highest_tier: "Найвищий рівень",
|
||
highest_tier_hint: "Copper → Silver → Gold → Diamond → Olympian",
|
||
latest: "Останнє",
|
||
latest_hint_empty: "запускайте Hermes частіше",
|
||
none_yet: "Поки немає",
|
||
},
|
||
state: {
|
||
unlocked: "Розблоковано",
|
||
discovered: "Виявлено",
|
||
secret: "Секрет",
|
||
},
|
||
tier: {
|
||
target: "Ціль {tier}",
|
||
hidden: "Приховано",
|
||
complete: "Завершено",
|
||
objective: "Завдання",
|
||
},
|
||
progress: {
|
||
hidden: "приховано",
|
||
},
|
||
scan: {
|
||
building_headline: "Побудова профілю досягнень…",
|
||
building_detail:
|
||
"Читання сеансів, викликів інструментів, метаданих моделей і стану розблокування.",
|
||
starting_headline: "Запуск сканування досягнень…",
|
||
progress_detail:
|
||
"Проскановано {scanned} з {total} сеансів · {pct}%. Значки розблоковуються в міру надходження історії.",
|
||
idle_detail:
|
||
"Читання сеансів, викликів інструментів, метаданих моделей і стану розблокування. Значки з'являються тут у міру розблокування.",
|
||
},
|
||
guide: {
|
||
tiers_header: "Рівні",
|
||
secret_header: "Секретні досягнення",
|
||
secret_body:
|
||
"Секрети приховують свій точний тригер. Щойно Hermes побачить пов'язаний сигнал, картка стає Виявленою та показує свою умову.",
|
||
scan_status_header: "Стан сканування",
|
||
scan_status_body:
|
||
"Hermes одноразово сканує локальну історію, а потім картки з'являться автоматично. Якщо це триває кілька секунд — нічого не зависло.",
|
||
what_scanned_header: "Що сканується",
|
||
what_scanned_body:
|
||
"Сеанси, виклики інструментів, метадані моделей, помилки, досягнення та локальний стан розблокування.",
|
||
},
|
||
card: {
|
||
share_title: "Поділитися цим досягненням",
|
||
share_label: "Поділитися {name}",
|
||
share_text: "Поділитися",
|
||
how_to_reveal: "Як розкрити",
|
||
what_counts: "Що зараховується",
|
||
evidence_label: "Доказ",
|
||
evidence_session_fallback: "сеанс",
|
||
no_evidence: "Доказів поки немає",
|
||
},
|
||
latest: {
|
||
header: "Нещодавні розблокування",
|
||
},
|
||
empty: {
|
||
no_secrets_header: "У цьому скануванні не залишилося прихованих секретів.",
|
||
no_secrets_body:
|
||
"Підказка: секрети зазвичай починаються з незвичних збоїв або шаблонів досвідчених користувачів — конфлікти портів, стіни дозволів, відсутні змінні середовища, помилки YAML, колізії Docker, відкат/контрольні точки, влучання в кеш або дрібні виправлення після купи червоного тексту.",
|
||
},
|
||
filters: {
|
||
all_categories: "Усі",
|
||
visibility_all: "усі",
|
||
visibility_unlocked: "розблоковано",
|
||
visibility_discovered: "виявлено",
|
||
visibility_secret: "секрет",
|
||
},
|
||
share: {
|
||
dialog_label: "Поділитися досягненням",
|
||
header: "Поділитися: {name}",
|
||
close: "Закрити",
|
||
rendering: "Рендеринг…",
|
||
card_alt: "Картка для поширення {name}",
|
||
error_generic: "Щось пішло не так.",
|
||
x_title: "Відкриває X із попередньо заповненим дописом",
|
||
x_button: "Поділитися в X",
|
||
copy_title: "Скопіюйте зображення, щоб вставити у свій допис",
|
||
copy_button: "Копіювати зображення",
|
||
copied: "Скопійовано ✓",
|
||
download_button: "Завантажити PNG",
|
||
hint:
|
||
"«Поділитися в X» відкриває попередньо заповнений допис у новій вкладці. Якщо хочете прикріпити значок 1200×630 — спочатку натисніть «Копіювати зображення»: X дозволить вставити його прямо в редактор твіта. «Завантажити PNG» збереже файл для використання будь-де.",
|
||
clipboard_unsupported:
|
||
"Цей браузер не підтримує копіювання зображень у буфер обміну — використайте «Завантажити».",
|
||
tweet_text: "Just unlocked {tier_part}\"{name}\" in Hermes Agent ☤",
|
||
},
|
||
},
|
||
kanban: {
|
||
loading: "Завантаження дошки Kanban…",
|
||
loadFailed: "Не вдалося завантажити дошку Kanban: ",
|
||
loadFailedHint:
|
||
"Бекенд автоматично створює kanban.db під час першого читання. Якщо помилка не зникає, перевірте журнали панелі.",
|
||
board: "Дошка",
|
||
newBoard: "+ Нова дошка",
|
||
newBoardTitle: "Нова дошка",
|
||
newBoardDescription:
|
||
"Дошки дозволяють розділяти непов'язані потоки роботи — по одній на проєкт, репозиторій або домен. Воркери на одній дошці ніколи не бачать задач іншої дошки.",
|
||
slug: "Slug",
|
||
slugHint: "— рядкові літери, дефіси, напр. atm10-server",
|
||
displayName: "Відображувана назва",
|
||
displayNameHint: "(необов'язково)",
|
||
description: "Опис",
|
||
descriptionHint: "(необов'язково)",
|
||
icon: "Іконка",
|
||
iconHint: "(один символ або емодзі)",
|
||
switchAfterCreate: "Перейти на цю дошку після створення",
|
||
cancel: "Скасувати",
|
||
creating: "Створення…",
|
||
createBoard: "Створити дошку",
|
||
search: "Пошук",
|
||
filterCards: "Фільтрувати картки…",
|
||
tenant: "Орендар",
|
||
allTenants: "Усі орендарі",
|
||
assignee: "Виконавець",
|
||
allProfiles: "Усі профілі",
|
||
showArchived: "Показати архівовані",
|
||
lanesByProfile: "Доріжки за профілем",
|
||
nudgeDispatcher: "Підштовхнути диспетчер",
|
||
refresh: "Оновити",
|
||
selected: "вибрано",
|
||
complete: "Завершити",
|
||
archive: "Архівувати",
|
||
apply: "Застосувати",
|
||
clear: "Очистити",
|
||
createTask: "Створити задачу в цьому стовпці",
|
||
noTasks: "— немає задач —",
|
||
unassigned: "не призначено",
|
||
untitled: "(без назви)",
|
||
loadingDetail: "Завантаження…",
|
||
addComment: "Додати коментар… (Enter для надсилання)",
|
||
comment: "Коментар",
|
||
status: "Статус",
|
||
workspace: "Робоча область",
|
||
skills: "Навички",
|
||
createdBy: "Створив",
|
||
result: "Результат",
|
||
comments: "Коментарі",
|
||
events: "Події",
|
||
runHistory: "Історія запусків",
|
||
workerLog: "Журнал воркера",
|
||
loadingLog: "Завантаження журналу…",
|
||
noWorkerLog:
|
||
"— журналу воркера ще немає (задачу не запущено або журнал ротаційно видалено) —",
|
||
noDescription: "— немає опису —",
|
||
noComments: "— немає коментарів —",
|
||
edit: "редагувати",
|
||
save: "Зберегти",
|
||
dependencies: "Залежності",
|
||
parents: "Батьки:",
|
||
children: "Нащадки:",
|
||
none: "немає",
|
||
addParent: "— додати батька —",
|
||
addChild: "— додати нащадка —",
|
||
removeDependency: "Видалити залежність",
|
||
block: "Заблокувати",
|
||
unblock: "Розблокувати",
|
||
notifyHomeChannels: "Повідомити домашні канали",
|
||
diagnostics: "Діагностика",
|
||
hide: "Приховати",
|
||
show: "Показати",
|
||
attention: "Увага",
|
||
tasksNeedAttention: "задач потребують уваги",
|
||
taskNeedsAttention: "1 задача потребує уваги",
|
||
diagnostic: "діагностика",
|
||
open: "Відкрити",
|
||
close: "Закрити (Esc)",
|
||
reassignTo: "Перепризначити на:",
|
||
copied: "Скопійовано",
|
||
copyCommand: "Скопіювати команду в буфер обміну",
|
||
reclaim: "Повернути",
|
||
reassign: "Перепризначити",
|
||
renderingError: "На вкладці Kanban сталася помилка рендерингу",
|
||
reloadView: "Перезавантажити вигляд",
|
||
wsAuthFailed:
|
||
"Помилка автентифікації WebSocket — перезавантажте сторінку, щоб оновити токен сесії.",
|
||
markDone: "Позначити {n} задач(у) як виконані?",
|
||
markArchived: "Архівувати {n} задач(у)?",
|
||
warning: "Попередження",
|
||
phantomIds: "Фантомні id:",
|
||
active: "активна",
|
||
ended: "завершена",
|
||
noProfile: "(немає профілю)",
|
||
showAllAttempts: "Показати всі спроби",
|
||
sendingUpdates: "Надсилання оновлень до",
|
||
sendNotifications: "Надсилати сповіщення completed / blocked / gave_up до",
|
||
archiveBoardConfirm:
|
||
"Архівувати дошку «{name}»? Її буде переміщено до boards/_archived/, тож пізніше її можна відновити. Задачі цієї дошки більше не з'являтимуться в інтерфейсі.",
|
||
archiveBoardTitle: "Архівувати цю дошку",
|
||
boardSwitcherHint: "Дошки дозволяють розділяти непов'язані потоки роботи",
|
||
taskCreatedWarning: "Задачу створено, але: ",
|
||
moveFailed: "Переміщення не вдалося: ",
|
||
bulkFailed: "Масова дія: ",
|
||
completionBlockedHallucination: "⚠ Завершення заблоковано — фантомні id карток",
|
||
suspectedHallucinatedReferences: "⚠ Текст посилався на фантомні id карток",
|
||
pickProfileFirst: "Спочатку виберіть профіль.",
|
||
unblockedMessage: "{id} розблоковано. Задача готова до наступного тіку.",
|
||
unblockFailed: "Розблокування не вдалося: ",
|
||
reclaimedMessage: "{id} повернуто. Задача знову готова.",
|
||
reclaimFailed: "Повернення не вдалося: ",
|
||
reassignedMessage: "{id} перепризначено на {profile}.",
|
||
reassignFailed: "Перепризначення не вдалося: ",
|
||
selectForBulk: "Вибрати для масових дій",
|
||
clickToEdit: "Клікніть, щоб редагувати",
|
||
clickToEditAssignee: "Клікніть, щоб редагувати виконавця",
|
||
emptyAssignee: "(порожньо = зняти призначення)",
|
||
columnLabels: {
|
||
triage: "Сортування",
|
||
todo: "До виконання",
|
||
scheduled: "Заплановано",
|
||
ready: "Готово",
|
||
running: "У роботі",
|
||
blocked: "Заблоковано",
|
||
done: "Виконано",
|
||
archived: "Архів",
|
||
},
|
||
columnHelp: {
|
||
triage: "Сирі ідеї — специфікатор деталізує специфікацію",
|
||
todo: "Очікує на залежності або не призначено",
|
||
scheduled: "Очікує на відому затримку в часі або заплановане продовження",
|
||
ready: "Залежності задоволені; призначте профіль для диспетчеризації",
|
||
running: "Захоплено воркером — у роботі",
|
||
blocked: "Воркер запитав втручання людини",
|
||
done: "Завершено",
|
||
archived: "Архівовано",
|
||
},
|
||
confirmDone:
|
||
"Позначити цю задачу як виконану? Захоплення воркера буде звільнено, а залежні нащадки стануть готовими.",
|
||
confirmArchive:
|
||
"Архівувати цю задачу? Вона зникне з типового вигляду дошки.",
|
||
confirmBlocked:
|
||
"Позначити цю задачу як заблоковану? Захоплення воркера буде звільнено.",
|
||
completionSummary:
|
||
"Підсумок завершення для {label}. Зберігається як result задачі.",
|
||
completionSummaryRequired:
|
||
"Підсумок завершення обов'язковий перед позначенням задачі виконаною.",
|
||
triagePlaceholder: "Чорнова ідея — ШІ її специфікує…",
|
||
taskTitlePlaceholder: "Назва нової задачі…",
|
||
specifier: "специфікатор",
|
||
assigneePlaceholder: "виконавець",
|
||
priority: "Пріоритет",
|
||
skillsPlaceholder:
|
||
"навички (необов'язково, через кому): translation, github-code-review",
|
||
noParent: "— без батька —",
|
||
workspacePathDir: "шлях робочої області (обов'язково, напр. ~/projects/my-app)",
|
||
workspacePathOptional:
|
||
"шлях робочої області (необов'язково, виводиться з виконавця, якщо порожньо)",
|
||
logTruncated: "(показано останні 100 KB — повний журнал у ",
|
||
logAt: ")",
|
||
},
|
||
};
|