import type { TranslationMap } from "../lib/types.ts";

// Generated by scripts/control-ui-i18n.ts.
export const uk: TranslationMap = {
  common: {
    health: "Стан",
    ok: "OK",
    yes: "Так",
    no: "Ні",
    active: "Активно",
    loading: "Завантаження…",
    refreshing: "Оновлення…",
    online: "Онлайн",
    offline: "Офлайн",
    connect: "Підключити",
    connected: "Підключено",
    refresh: "Оновити",
    reload: "Перезавантажити",
    reset: "Скинути",
    probe: "Перевірити",
    call: "Виклик",
    confirm: "Підтвердити",
    cancel: "Скасувати",
    next: "Наступний",
    back: "Назад",
    create: "Створити",
    copy: "Копіювати",
    copied: "Скопійовано!",
    copyCode: "Копіювати код",
    delete: "Видалити",
    dismiss: "Закрити",
    unselect: "Зняти вибір",
    enabled: "Увімкнено",
    disabled: "Вимкнено",
    none: "немає",
    na: "н/д",
    never: "never",
    configured: "Налаштовано",
    running: "Запущено",
    linked: "Пов’язано",
    mode: "Режим",
    system: "Система",
    light: "Легкий",
    dark: "Темна",
    baseUrl: "Базовий URL",
    lastStart: "Останній запуск",
    lastProbe: "Остання перевірка",
    lastInbound: "Останній вхідний",
    lastConnect: "Останнє підключення",
    lastMessage: "Останнє повідомлення",
    authAge: "Термін автентифікації",
    credential: "Облікові дані",
    audience: "Аудиторія",
    publicKey: "Публічний ключ",
    probeOk: "Перевірку пройдено",
    probeFailed: "Перевірка не пройдена",
    reloadConfig: "Перезавантажити конфігурацію",
    loadConfig: "Завантажити конфігурацію",
    loadApprovals: "Завантажити схвалення",
    settingsSections: "Розділи налаштувань",
    version: "Версія",
    docs: "Документація",
    theme: "Тема",
    colorMode: "Колірний режим",
    colorModeOption: "Колірний режим: {mode}",
    resources: "Ресурси",
    search: "Пошук",
    save: "Зберегти",
    saving: "Збереження…",
    saveAndPublish: "Зберегти й опублікувати",
    importing: "Імпортування…",
    importFromRelays: "Імпортувати з Relays",
    showAdvanced: "Показати додаткові",
    hideAdvanced: "Сховати додаткові",
    unsavedChanges: "У вас є незбережені зміни",
    secondsAgo: "{count} с тому",
    working: "Обробка…",
    showQr: "Показати QR",
    relink: "Пов’язати знову",
    waitForScan: "Очікування сканування",
    logout: "Вийти",
  },
  channels: {
    health: {
      title: "Стан каналу",
      subtitle: "Знімки стану каналу з Gateway.",
      noSnapshotYet: "Ще немає знімка.",
    },
    generic: {
      subtitle: "Стан каналу та конфігурація.",
    },
    gatewayUrlConfirmation: {
      title: "Змінити URL Gateway",
      subtitle: "Це перепідключить до іншого сервера Gateway",
      warning:
        "Підтверджуйте лише якщо довіряєте цьому URL. Шкідливі URL можуть скомпрометувати вашу систему.",
    },
    nostr: {
      profile: "Профіль",
      editProfile: "Редагувати профіль",
      profilePicture: "Зображення профілю",
      noProfile: "Профіль не налаштовано.",
      noProfileHint: 'Натисніть "Edit Profile", щоб додати своє ім’я, біографію та аватар.',
      name: "Назва",
      displayName: "Відображуване ім’я",
      about: "Про себе",
      advanced: "Додатково",
      profilePicturePreview: "Попередній перегляд зображення профілю",
      account: "Обліковий запис",
      username: "Ім’я користувача",
      usernameHelp: "Коротке ім’я користувача (наприклад, satoshi)",
      bio: "Біографія",
      bioPlaceholder: "Розкажіть людям про себе...",
      bioHelp: "Коротка біографія або опис",
      displayNameHelp: "Ваше повне відображуване ім’я",
      avatarUrl: "URL аватара",
      avatarHelp: "HTTPS URL вашого зображення профілю",
      bannerUrl: "URL банера",
      bannerHelp: "HTTPS URL зображення банера",
      website: "Вебсайт",
      websiteHelp: "Ваш особистий вебсайт",
      nip05Identifier: "Ідентифікатор NIP-05",
      nip05Help: "Ідентифікатор, який можна перевірити (наприклад, you@domain.com)",
      lightningAddress: "Lightning Address",
      lightningHelp: "Lightning-адреса для чайових (LUD-16)",
    },
  },
  lazyView: {
    loadingTitle: "Завантаження панелі",
    errorTitle: "Не вдалося завантажити панель",
    errorSubtitle:
      "Перезавантажте сторінку, щоб завантажити найновіший пакет Control UI, або повторіть спробу, якщо мережевий запит не вдався.",
    retry: "Повторити",
    unknownError: "Невідома помилка завантаження модуля.",
  },
  nodes: {
    binding: {
      loadConfigHint: "Завантажте конфігурацію, щоб редагувати прив’язки.",
      formModeHint: "Перемкніть вкладку Config у режим Form, щоб редагувати прив’язки тут.",
      execNodeBinding: "Прив’язка exec-вузла",
      execNodeBindingSubtitle:
        "Закріплюйте агентів за певним вузлом під час використання exec host=node.",
      defaultBinding: "Прив’язка за замовчуванням",
      defaultBindingHint: "Використовується, коли агенти не перевизначають прив’язку вузла.",
      node: "Вузол",
    },
  },
  instances: {
    title: "Підключені інстанси",
    subtitle: "Маячки присутності від Gateway і клієнтів.",
    showHosts: "Показати хости й IP-адреси",
    hideHosts: "Сховати хости й IP-адреси",
    toggleHostVisibility: "Перемкнути видимість хостів",
    noInstances: "Ще немає повідомлень про інстанси.",
    lastInput: "Останнє введення {time}",
    reason: "Причина {reason}",
  },
  sessionsView: {
    title: "Сеанси",
    subtitle: "Активні ключі сеансів і перевизначення для окремих сеансів.",
    store: "Сховище: {path}",
    active: "Активно",
    limit: "Обмеження",
    filters: "Фільтри",
    showFilters: "Показати фільтри",
    hideFilters: "Приховати фільтри",
    sourceFilters: "Фільтри джерела сеансів",
    global: "Глобально",
    unknown: "Невідомо",
    showArchived: "Показати архівовані",
    activeTooltip: "Оновлено за останні {count} хвилин.",
    limitTooltip: "Максимальна кількість сеансів для завантаження.",
    globalTooltip: "Включити глобальні сеанси.",
    unknownTooltip: "Включити невідомі сеанси.",
    showArchivedTooltip: "Включити архівовані сеанси.",
    minutesPlaceholder: "хв",
    searchPlaceholder: "Фільтрувати за ключем, агентом, міткою, типом…",
    selected: "Вибрано: {count}",
    deleteSelected: "Видалити",
    selectAllOnPage: "Вибрати все на сторінці",
    selectSession: "Вибрати сеанс",
    optionalPlaceholder: "(необов’язково)",
    key: "Ключ",
    label: "Мітка",
    kind: "Тип",
    updated: "Оновлено",
    tokens: "Токени",
    compaction: "Стиснення",
    thinking: "Обмірковування",
    fast: "Швидко",
    verbose: "Докладно",
    reasoning: "Міркування",
    noSessions: "Сеансів не знайдено.",
    noSessionsMatchFilters: "Немає сеансів, що відповідають вашим фільтрам.",
    showAll: "Показати все",
    inherit: "успадковувати",
    defaultOption: "За замовчуванням ({value})",
    offExplicit: "вимкнено (явно)",
    on: "увімкнено",
    off: "вимкнено",
    full: "повний",
    stream: "потік",
    customOption: "{value} (власне)",
    manual: "вручну",
    autoThreshold: "автоматичний поріг",
    overflowRetry: "повторна спроба після переповнення",
    timeoutRetry: "повторна спроба після тайм-ауту",
    tokenRange: "{before} to {after} токенів",
    tokensBefore: "{count} токенів до",
    tokenDeltaUnavailable: "дельта токенів недоступна",
    checkpoints: "{count} контрольних точок",
    checkpoint: "{count} контрольна точка",
    showSessionDetails: "Показати подробиці сеансу для {count}",
    hideSessionDetails: "Приховати подробиці сеансу для {count}",
    sessionDetails: "Подробиці сеансу",
    compactionHistory: "Історія стиснення",
    status: "Статус",
    statusLive: "Активно",
    statusIdle: "Неактивно",
    statusUnknown: "Невідомо",
    statusRunning: "Запущено",
    statusDone: "Готово",
    statusFailed: "Помилка",
    statusKilled: "Завершено примусово",
    statusTimeout: "Час очікування минув",
    model: "Модель",
    provider: "Провайдер",
    runtime: "Середовище виконання",
    surface: "Поверхня",
    subject: "Тема",
    room: "Кімната",
    space: "Простір",
    sessionId: "ID сеансу",
    activeRun: "Активний запуск",
    archived: "Архівовано",
    loadingCheckpoints: "Завантаження контрольних точок…",
    noCheckpoints: "Для цього сеансу не записано контрольних точок стиснення.",
    noSummary: "Підсумок не зафіксовано.",
    branchFromCheckpoint: "Створити гілку з контрольної точки",
    restoreCheckpoint: "Відновити контрольну точку",
  },
  agents: {
    noAgents: "No agents",
    copyId: "Copy ID",
    copyIdTitle: "Copy agent ID to clipboard",
    default: "Default",
    setDefault: "Set Default",
    alreadyDefaultTitle: "Already the default agent",
    setDefaultTitle: "Set as the default agent",
    selectTitle: "Select an agent",
    selectSubtitle: "Pick an agent to inspect its workspace and tools.",
    tabs: {
      overview: "Огляд",
      files: "Файли",
      tools: "Інструменти",
      skills: "Навички",
      channels: "Канали",
      cronJobs: "Завдання Cron",
    },
    context: {
      title: "Agent Context",
      workspace: "Workspace",
      openFilesTab: "Open Files tab",
      primaryModel: "Primary Model",
      runtime: "Середовище виконання",
      identityName: "Identity Name",
      identityAvatar: "Identity Avatar",
      skillsFilter: "Skills Filter",
      default: "Default",
      configurationSubtitle: "Workspace, identity, and model configuration.",
      schedulingSubtitle: "Workspace and scheduling targets.",
    },
    channels: {
      title: "Канали",
      subtitle: "Gateway-wide channel status snapshot.",
      lastRefresh: "Last refresh: {time}",
      loadHint: "Load channels to see live status.",
      empty: "No channels found.",
      connectedCount: "{connected}/{total} connected",
      noAccounts: "no accounts",
      configuredCount: "{count} configured",
      notConfigured: "not configured",
      enabledCount: "{count} enabled",
      setupGuide: "Setup guide",
    },
    cronPanel: {
      schedulerTitle: "Scheduler",
      schedulerSubtitle: "Gateway cron status.",
      jobs: "Завдання",
      nextWake: "Наступне пробудження",
      agentJobsTitle: "Agent Cron Jobs",
      agentJobsSubtitle: "Scheduled jobs targeting this agent.",
      noJobs: "No jobs assigned.",
      runNow: "Run Now",
    },
    files: {
      emptyDraft: "Empty draft",
      minRead: "{count} min read",
      markdownPreview: "Markdown Preview",
      extensionPreview: "{ext} Preview",
      preview: "Preview",
      expandPreview: "Expand preview",
      collapsePreview: "Collapse preview",
      editFile: "Edit file",
      closePreview: "Close preview",
      coreFilesTitle: "Core Files",
      coreFilesSubtitle: "Bootstrap persona, identity, and tool guidance.",
      workspace: "Workspace",
      loadHint: "Load the agent workspace files to edit core instructions.",
      empty: "No files found.",
      missing: "missing",
      selectFile: "Select a file to edit.",
      previewMarkdownTitle: "Preview rendered markdown",
      willCreateOnSave: "Will Create on Save",
      liveDraftPreview: "Live Draft Preview",
      savedPreview: "Saved Preview",
      updated: "Updated {time}",
      notCreatedYet: "Not Created Yet",
      updatedUnknown: "Updated Unknown",
      missingHint: "This file is missing. Saving will create it in the agent workspace.",
      content: "Content",
      words: "{count} words",
      lines: "lines",
    },
  },
  debug: {
    snapshotsTitle: "Snapshots",
    snapshotsSubtitle: "Status, health, and heartbeat data.",
    status: "Статус",
    health: "Стан",
    lastHeartbeat: "Last heartbeat",
    security: {
      audit: "Security audit",
      critical: "{count} critical",
      warnings: "{count} warnings",
      noCriticalIssues: "No critical issues",
      info: "{count} info",
      runPrefix: "Запустити",
      runSuffix: "for details.",
    },
    manualRpcTitle: "Manual RPC",
    manualRpcSubtitle: "Send a raw gateway method with JSON params.",
    method: "Method",
    selectMethod: "Select a method…",
    paramsJson: "Params (JSON)",
    modelsTitle: "Models",
    modelsSubtitle: "Catalog from models.list.",
    eventLogTitle: "Журнал подій",
    eventLogSubtitle: "Latest gateway events.",
    noEvents: "No events yet.",
  },
  quickSettings: {
    security: {
      browserEnabled: "Browser enabled",
      toolProfile: "Tool profile",
    },
  },
  execApproval: {
    expiresIn: "expires in {time}",
    expired: "expired",
    execApprovalNeeded: "Exec approval needed",
    pluginApprovalNeeded: "Plugin approval needed",
    pending: "{count} pending",
    allowOnce: "Allow once",
    alwaysAllow: "Always allow",
    allowAlwaysUnavailable:
      "The effective approval policy requires approval every time, so Allow Always is unavailable.",
    deny: "Deny",
    labels: {
      host: "Host",
      agent: "Агент",
      session: "Сеанс",
      cwd: "CWD",
      resolved: "Resolved",
      security: "Security",
      ask: "Ask",
      severity: "Severity",
      plugin: "Plugin",
    },
  },
  agentTools: {
    connectedSource: "Підключено: {id}",
    connected: "Підключено",
    channelSource: "Канал: {id}",
    channel: "Канал",
    builtIn: "Вбудований",
  },
  nav: {
    chat: "Чат",
    control: "Керування",
    agent: "Агент",
    settings: "Налаштування",
    expand: "Розгорнути бічну панель",
    collapse: "Згорнути бічну панель",
    resize: "Змінити розмір бічної панелі",
  },
  tabs: {
    agents: "Агенти",
    activity: "Activity",
    overview: "Огляд",
    channels: "Канали",
    instances: "Екземпляри",
    sessions: "Сеанси",
    usage: "Використання",
    cron: "Завдання Cron",
    skills: "Навички",
    nodes: "Вузли",
    chat: "Чат",
    config: "Конфігурація",
    communications: "Комунікації",
    appearance: "Зовнішній вигляд",
    automation: "Автоматизація",
    infrastructure: "Інфраструктура",
    aiAgents: "AI та агенти",
    debug: "Налагодження",
    logs: "Журнали",
    dreams: "Сни",
  },
  subtitles: {
    agents: "Робочі простори, інструменти, ідентичності.",
    activity: "Browser-local tool activity summaries.",
    overview: "Стан, точки входу, справність.",
    channels: "Канали та налаштування.",
    instances: "Підключені клієнти та вузли.",
    sessions: "Активні сеанси та типові значення.",
    usage: "Використання API та витрати.",
    cron: "Пробудження та повторювані запуски.",
    skills: "Навички та API-ключі.",
    nodes: "Спарені пристрої та команди.",
    chat: "Чат шлюзу для швидких втручань.",
    config: "Редагування openclaw.json.",
    communications: "Канали, повідомлення та налаштування аудіо.",
    appearance: "Тема, інтерфейс і налаштування майстра налаштування.",
    automation: "Команди, хуки, cron і плагіни.",
    infrastructure: "Налаштування шлюзу, вебу, браузера та медіа.",
    aiAgents: "Агенти, моделі, навички, інструменти, пам’ять, сеанс.",
    debug: "Знімки, події, RPC.",
    logs: "Журнали шлюзу в реальному часі.",
    dreams: "Консолідація пам’яті під час сну.",
  },
  activity: {
    title: "Activity",
    subtitle: "Ephemeral tool activity derived from live session events.",
    visibleCount: "{visible} of {total}",
    filtersLabel: "Activity filters",
    search: "Пошук",
    searchPlaceholder: "Filter by tool, summary, run, session",
    toolFilter: "Інструмент",
    allTools: "All tools",
    statusFilters: "Status filters",
    autoFollow: "Auto-follow",
    expandAll: "Expand all",
    collapseAll: "Collapse all",
    clear: "Очистити",
    empty: "No tool activity yet.",
    emptyFiltered: "No activity matches these filters.",
    entrySummary: "{argumentSummary}",
    argumentHiddenOne: "1 argument hidden",
    argumentsHidden: "{count} arguments hidden",
    streamLabel: "Tool activity entries",
    toolCallId: "Tool call",
    runId: "Запустити",
    session: "Сеанс",
    outputTruncated: "Preview redacted and truncated.",
    noOutputPreview: "No output preview.",
    status: {
      running: "Запущено",
      done: "Готово",
      error: "Помилка",
    },
    duration: {
      ms: "{count} ms",
      seconds: "{count} s",
      minutes: "{minutes}m {seconds}s",
    },
  },
  overview: {
    access: {
      title: "Доступ до шлюзу",
      subtitle: "Куди підключається панель керування та як вона автентифікується.",
      wsUrl: "URL WebSocket",
      token: "Токен шлюзу",
      password: "Пароль (не зберігається)",
      passwordPlaceholder: "системний або спільний пароль",
      sessionKey: "Типовий ключ сеансу",
      language: "Мова",
      connectHint: "Натисніть «Підключити», щоб застосувати зміни підключення.",
      trustedProxy: "Автентифіковано через довірений проксі.",
      showToken: "Показати токен",
      hideToken: "Приховати токен",
      toggleTokenVisibility: "Перемкнути видимість токена",
      showPassword: "Показати пароль",
      hidePassword: "Приховати пароль",
      togglePasswordVisibility: "Перемкнути видимість пароля",
    },
    snapshot: {
      title: "Знімок",
      subtitle: "Остання інформація рукостискання шлюзу.",
      status: "Статус",
      uptime: "Час роботи",
      tickInterval: "Інтервал тіку",
      lastChannelsRefresh: "Останнє оновлення каналів",
      channelsHint:
        "Використовуйте «Канали», щоб прив’язати WhatsApp, Telegram, Discord, Signal або iMessage.",
    },
    stats: {
      instances: "Екземпляри",
      instancesHint: "Маячки присутності за останні 5 хвилин.",
      sessions: "Сеанси",
      sessionsHint: "Нещодавні ключі сеансів, які відстежує шлюз.",
      cron: "Cron",
      cronNext: "Наступне пробудження {time}",
    },
    notes: {
      title: "Нотатки",
      subtitle: "Швидкі нагадування для налаштувань віддаленого керування.",
      tailscaleTitle: "Tailscale serve",
      tailscaleText:
        "Надавайте перевагу режиму serve, щоб шлюз залишався на loopback з автентифікацією tailnet.",
      sessionTitle: "Гігієна сеансів",
      sessionText: "Використовуйте /new або sessions.patch, щоб скинути контекст.",
      cronTitle: "Нагадування Cron",
      cronText: "Використовуйте ізольовані сеанси для повторюваних запусків.",
    },
    auth: {
      required:
        "Цей шлюз потребує автентифікації. Додайте токен або пароль, а потім натисніть «Підключити».",
      failed:
        "Автентифікація не вдалася. Знову скопіюйте URL з токеном за допомогою {command} або оновіть токен, а потім натисніть «Підключити».",
    },
    pairing: {
      hint: "Цей пристрій потребує схвалення спарювання від хоста шлюзу.",
      scopeUpgradeTitle: "Розширення області дії очікує на схвалення.",
      scopeUpgradeSummary:
        "Цей пристрій уже сполучено, але запитуване ширше охоплення очікує на схвалення.",
      roleUpgradeTitle: "Зміна ролі очікує на схвалення.",
      roleUpgradeSummary:
        "Цей пристрій уже сполучено, але запитувана зміна ролі очікує на схвалення.",
      metadataUpgradeTitle: "Зміна метаданих пристрою очікує на схвалення.",
      metadataUpgradeSummary:
        "Цей пристрій уже сполучено, але зміна метаданих очікує на схвалення.",
      mobileHint:
        "На мобільному? Скопіюйте повний URL (включно з #token=...) з openclaw dashboard --no-open на вашому комп’ютері.",
      docsTitle: "Документація щодо сполучення пристроїв (відкривається в новій вкладці)",
      docsLink: "Документація: Сполучення пристроїв",
    },
    insecure: {
      hint: "Ця сторінка використовує HTTP, тому браузер блокує ідентичність пристрою. Використовуйте HTTPS (Tailscale Serve) або відкрийте {url} на хості шлюзу.",
      stayHttp: "Якщо вам потрібно залишитися на HTTP, установіть {config} (лише токен).",
    },
    connection: {
      title: "Як підключитися",
      step1: "Запустіть шлюз на вашому хості:",
      step2: "Отримайте URL панелі керування з токеном:",
      step3: "Вставте URL WebSocket і токен вище або відкрийте URL з токеном напряму.",
      step4: "Або згенеруйте багаторазовий токен:",
      docsHint: "Для віддаленого доступу рекомендовано Tailscale Serve. ",
      docsLink: "Читати документацію →",
      authDocsTitle: "Документація щодо автентифікації Control UI (відкривається в новій вкладці)",
      authDocsLink: "Документація: автентифікація Control UI",
      tailscaleDocsTitle: "Документація щодо Tailscale Serve (відкривається в новій вкладці)",
      tailscaleDocsLink: "Документація: Tailscale Serve",
      insecureHttpDocsTitle: "Документація щодо незахищеного HTTP (відкривається в новій вкладці)",
      insecureHttpDocsLink: "Документація: незахищений HTTP",
      copyCommand: "Копіювати команду",
      copyCommandAria: "Копіювати команду: {command}",
    },
    cards: {
      cost: "Вартість",
      skills: "Навички",
      recentSessions: "Нещодавні сеанси",
      modelAuth: "Авторизація моделей",
      modelAuthOk: "{count} в нормі",
      modelAuthExpired: "{count} прострочено",
      modelAuthExpiring: "{count} скоро спливає",
      modelAuthProviders: "{count} провайдерів",
      modelAuthUsageLeft: "Залишилося {pct}%",
      modelAuthExpiresIn: "спливає {when}",
      modelAuthAttentionExpiredTitle: "Авторизація моделей прострочена",
      modelAuthAttentionExpiringTitle: "Термін авторизації моделей скоро спливає",
      modelAuthAttentionExpiredDesc:
        "{providers} — повторно виконайте авторизацію через openclaw models auth",
      modelAuthAttentionExpiringEntry: "{provider} ({when})",
    },
    attention: {
      title: "Увага",
    },
    eventLog: {
      title: "Журнал подій",
    },
    logTail: {
      title: "Журнали шлюзу",
    },
    quickActions: {
      newSession: "Новий сеанс",
      automation: "Автоматизація",
      refreshAll: "Оновити все",
      terminal: "Термінал",
    },
    palette: {
      placeholder: "Введіть команду…",
      noResults: "Немає результатів",
      categories: {
        search: "Пошук",
        navigation: "Навігація",
        skills: "Навички",
      },
      items: {
        overview: "Огляд",
        sessions: "Сеанси",
        scheduled: "Заплановано",
        skills: "Навички",
        settings: "Налаштування",
        agents: "Агенти",
        shellCommand: "Команда оболонки",
        debugMode: "Режим налагодження",
      },
      descriptions: {
        shellCommand: "Запустити оболонку",
        debugMode: "Перемкнути налагодження",
      },
      footer: {
        navigate: "навігація",
        select: "вибрати",
        close: "закрити",
      },
    },
  },
  dreaming: {
    tabs: {
      scene: "Сцена",
      diary: "Щоденник",
      advanced: "Додатково",
    },
    header: {
      refresh: "Оновити",
      refreshing: "Оновлення…",
      on: "Сновидіння увімкнено",
      off: "Сновидіння вимкнено",
    },
    restartConfirmation: {
      title: "Restart Gateway to Apply Change",
      subtitle: "Changing Dreaming mode restarts the gateway.",
      warning:
        "This action will restart the Gateway and may temporarily interrupt chats, automations, and connected channels.",
      confirm: "Confirm Restart",
      restarting: "Restarting…",
      failed: "Could not apply change. Check your connection and try again.",
    },
    status: {
      active: "Сновидіння активне",
      idle: "Сновидіння неактивне",
      promotedSuffix: "підвищено",
      nextSweepPrefix: "наступний цикл",
    },
    scene: {
      backfill: "Заповнити пропуски",
      dedupeDiary: "Щоденник дедуплікації",
      reset: "Скинути",
      clearGrounded: "Очистити заземлене",
      repairCache: "Відновити кеш сновидінь",
      working: "Обробка…",
    },
    phase: {
      light: "Легкий",
      deep: "Глибокий",
      rem: "REM",
      off: "вимкнено",
    },
    advanced: {
      eyebrow: "Огляд",
      title: "Огляд щоденного журналу",
      description:
        "Перегляньте, що надійшло зі щоденного журналу, що очікує на підвищення та що було підвищено нещодавно.",
      summaryFromDailyLog: "зі щоденного журналу",
      summaryWaiting: "очікує",
      summaryPromotedToday: "підвищено сьогодні",
      stagedTitle: "Із щоденного журналу",
      stagedDescription:
        "Кандидати для повторного відтворення, взяті зі старіших записів щоденного журналу.",
      shortTermTitle: "Очікують на підвищення",
      shortTermDescription:
        "Поточні короткострокові кандидати, які очікують переходу до справжньої пам’яті.",
      sortRecent: "Найновіші",
      sortSignals: "Найсильніша підтримка",
      originDailyLog: "повторено",
      originLive: "наживо",
      originMixed: "змішано",
      promotedTitle: "Нещодавні підвищення",
      promotedDescription: "Елементи, які вже пройшли підвищення.",
      emptyGrounded: "Зараз немає підготовлених записів відтворення з прив’язкою до джерела.",
      emptyShortTerm: "Немає короткострокових записів для перегляду.",
      emptyPromoted: "Немає нещодавніх підвищень для перегляду.",
      updatedPrefix: "оновлено",
    },
    stats: {
      shortTerm: "Короткостроково",
      grounded: "Заземлене",
      signals: "Сигнали",
      promoted: "Підвищено",
      phaseHits: "Збіги фаз",
    },
    trace: {
      shortTerm: "Короткостроково",
      grounded: "Заземлене",
      signals: "Сигнали",
      promoted: "Підвищено",
      groundedLed: "grounded-led",
      emptyShortTerm: "Немає активних короткострокових елементів.",
      emptyGrounded: "Немає підготовлених заземлених елементів.",
      emptySignals: "Немає активних сигналів.",
      emptyPromoted: "Сьогодні ще нічого не підвищено.",
    },
    diary: {
      title: "Щоденник сновидінь",
      noDreamsYet: "Сновидінь ще немає",
      noDreamsHint: "Сновидіння з’являться тут після завершення першого циклу сновидінь.",
      waitingTitle: "Щоденник очікує",
      waitingHint: "Оповідні записи з’являться після наступного циклу сновидінь.",
      older: "Старіші",
      newer: "Новіші",
      reload: "Перезавантажити",
      reloading: "Перезавантаження…",
    },
    phrases: {
      consolidatingMemories: "консолідація спогадів…",
      tidyingKnowledgeGraph: "упорядкування графа знань…",
      replayingConversations: "відтворення сьогоднішніх розмов…",
      weavingShortTerm: "переплетення короткострокового з довгостроковим…",
      defragmentingMindPalace: "дефрагментація палацу розуму…",
      filingLooseThoughts: "упорядкування розрізнених думок…",
      connectingDots: "поєднання далеких точок…",
      compostingContext: "переробка старих контекстних вікон…",
      alphabetizingSubconscious: "алфавітне впорядкування підсвідомого…",
      promotingHunches: "просування багатообіцяльних здогадок…",
      forgettingNoise: "забування неважливого…",
      dreamingEmbeddings: "сновидіння в embedding-ах…",
      reorganizingAttic: "реорганізація горища пам’яті…",
      indexingDay: "м’яке індексування дня…",
      nurturingInsights: "плекання зародкових осяянь…",
      simmeringIdeas: "томління напівсформованих ідей…",
      whisperingVectorStore: "шепіт до vector store…",
    },
  },
  usage: {
    common: {
      emptyValue: "—",
      unknown: "невідомо",
    },
    loading: {
      title: "Огляд використання",
      badge: "Завантаження",
    },
    metrics: {
      tokens: "Токени",
      cost: "Вартість",
      session: "сеанс",
      sessions: "сеанси",
    },
    presets: {
      today: "Сьогодні",
      last7d: "7 дн.",
      last30d: "30 дн.",
      last90d: "90 д",
      last1y: "1 р",
      all: "Усі",
    },
    scope: {
      instance: "Поточний екземпляр",
      instanceHint: "Показувати лише ідентифікатор активного сеансу для кожного логічного сеансу.",
      family: "Історична лінія",
      familyHint: "Об’єднати відомі ротовані ідентифікатори сеансів на основі транскриптів.",
      familyIncluded: "Історична лінія включає {count} екземплярів сеансу.",
    },
    filters: {
      title: "Фільтри",
      to: "до",
      startDate: "Дата початку",
      endDate: "Дата завершення",
      timeZone: "Часовий пояс",
      timeZoneLocal: "Локальний",
      timeZoneUtc: "UTC",
      pin: "Закріпити",
      pinned: "Закріплено",
      unpin: "Відкріпити фільтри",
      selectAll: "Вибрати все",
      clear: "Очистити",
      clearAll: "Очистити все",
      remove: "Видалити фільтр",
      all: "Усі",
      days: "Дні",
      hours: "Години",
      session: "Сеанс",
      agent: "Агент",
      channel: "Канал",
      provider: "Провайдер",
      model: "Модель",
      tool: "Інструмент",
      daysCount: "{count} днів",
      hoursCount: "{count} годин",
      sessionsCount: "{count} сеансів",
    },
    query: {
      placeholder:
        "Фільтруйте сеанси (наприклад, key:agent:main:cron* model:gpt-4o has:errors minTokens:2000)",
      apply: "Фільтрувати (на боці клієнта)",
      matching: "Збігаються {shown} із {total} сеансів",
      inRange: "{total} сеансів у діапазоні",
      tip: "Порада: використовуйте фільтри або натискайте на стовпчики, щоб уточнювати дні.",
    },
    export: {
      label: "Експорт",
      sessionsCsv: "CSV сеансів",
      dailyCsv: "Щоденний CSV",
      json: "JSON",
    },
    cacheStatus: {
      warning:
        "Кеш використання перебудовується у фоновому режимі. Відображені підсумки можуть бути застарілими.",
      title: "{status}: {pending} очікує, {stale} застаріло, {cached} кешовано",
      status: {
        refreshing: "оновлення",
        stale: "застаріло",
        partial: "частково",
      },
    },
    empty: {
      title: "Почніть із діапазону дат",
      subtitle:
        "Завантажте дані про використання, щоб порівнювати витрати, переглядати сеанси та деталізувати часові шкали, не залишаючи панель керування.",
      hint: "Виберіть діапазон дат і натисніть «Оновити», щоб завантажити дані про використання.",
      noData: "Немає даних",
      featureOverview: "Картки огляду",
      featureSessions: "Рейтинг сеансів",
      featureTimeline: "Деталізація часової шкали",
    },
    daily: {
      title: "Щоденне використання",
      total: "Усього",
      byType: "За типом",
      tokensTitle: "Щоденне використання токенів",
      costTitle: "Щоденна вартість",
    },
    breakdown: {
      output: "Вивід",
      input: "Ввід",
      cacheWrite: "Запис у кеш",
      cacheRead: "Читання з кешу",
      total: "Усього",
      tokensByType: "Токени за типом",
      costByType: "Вартість за типом",
    },
    overview: {
      title: "Огляд використання",
      messages: "Повідомлення",
      messagesHint: "Загальна кількість повідомлень користувача й асистента в діапазоні.",
      messagesAbbrev: "повід.",
      user: "користувач",
      assistant: "асистент",
      toolCalls: "Виклики інструментів",
      toolCallsHint: "Загальна кількість викликів інструментів у сеансах.",
      toolsUsed: "використано інструментів",
      errors: "Помилки",
      errorsHint: "Загальна кількість помилок повідомлень та інструментів у діапазоні.",
      toolResults: "результати інструментів",
      avgTokens: "Сер. токенів / повід.",
      avgTokensHint: "Середня кількість токенів на повідомлення в цьому діапазоні.",
      avgCost: "Сер. вартість / повід.",
      avgCostHint: "Середня вартість на повідомлення, коли провайдери повідомляють вартість.",
      avgCostHintMissing:
        "Середня вартість на повідомлення, коли провайдери повідомляють вартість. Дані про вартість відсутні для деяких або всіх сеансів у цьому діапазоні.",
      acrossMessages: "Для {count} повідомлень",
      sessions: "Сеанси",
      sessionsHint: "Окремі сеанси в діапазоні.",
      sessionsInRange: "із {count} у діапазоні",
      throughput: "Пропускна здатність",
      throughputHint:
        "Пропускна здатність показує кількість токенів за хвилину активного часу. Більше — краще.",
      tokensPerMinute: "ток/хв",
      perMinute: "/ хв",
      errorRate: "Рівень помилок",
      errorHint: "Рівень помилок = помилки / загальна кількість повідомлень. Менше — краще.",
      avgSession: "сер. сеанс",
      cacheHitRate: "Рівень влучань у кеш",
      cacheHint: "Рівень влучань у кеш = читання з кешу / (ввід + читання з кешу). Більше — краще.",
      cached: "кешовано",
      prompt: "запит",
      calls: "виклики",
      topModels: "Найпопулярніші моделі",
      topProviders: "Найпопулярніші провайдери",
      topTools: "Найпопулярніші інструменти",
      topAgents: "Найпопулярніші агенти",
      topChannels: "Найпопулярніші канали",
      peakErrorDays: "Пікові дні помилок",
      peakErrorHours: "Пікові години помилок",
      noModelData: "Немає даних про моделі",
      noProviderData: "Немає даних про провайдерів",
      noToolCalls: "Немає викликів інструментів",
      noAgentData: "Немає даних про агентів",
      noChannelData: "Немає даних про канали",
      noErrorData: "Немає даних про помилки",
    },
    sessions: {
      title: "Сеанси",
      shown: "Показано: {count}",
      total: "Усього: {count}",
      avg: "сер.",
      all: "Усі",
      recent: "Нещодавно переглянуті",
      recentShort: "Недавні",
      sort: "Сортування",
      ascending: "За зростанням",
      descending: "За спаданням",
      clearSelection: "Очистити вибір",
      noRecent: "Немає нещодавніх сеансів",
      noneInRange: "У діапазоні немає сеансів",
      more: "+{count} ще",
      selected: "Вибрано ({count})",
      copy: "Копіювати",
      copyName: "Копіювати назву сеансу",
      limitReached: "Показано перші 1 000 сеансів. Звузьте діапазон дат для повних результатів.",
    },
    details: {
      noUsageData: "Немає даних про використання для цього сеансу.",
      duration: "Тривалість",
      modelMix: "Розподіл моделей",
      filtered: "(відфільтровано)",
      close: "Закрити деталі сеансу",
      noTimeline: "Немає даних часової шкали",
      noDataInRange: "Немає даних у діапазоні",
      usageOverTime: "Використання з часом",
      reset: "Скинути",
      perTurn: "За хід",
      cumulative: "Накопичувально",
      turnRange: "Ходи {start}–{end} із {total}",
      assistantOutputTokens: "Токени виводу асистента",
      userToolInputTokens: "Токени вводу користувача + інструмента",
      tokensWrittenToCache: "Токени, записані в кеш",
      tokensReadFromCache: "Токени, прочитані з кешу",
      noContextData: "Немає даних контексту",
      systemPromptBreakdown: "Розподіл системного запиту",
      collapse: "Згорнути",
      collapseAll: "Згорнути все",
      expandAll: "Розгорнути все",
      baseContextPerMessage: "Базовий контекст на повідомлення",
      system: "Система",
      systemShort: "Сист.",
      skills: "Навички",
      tools: "Інструменти",
      files: "Файли",
      ofInput: "від вводу",
      of: "з",
      timelineFiltered: "часову шкалу відфільтровано",
      conversation: "Розмова",
      noMessages: "Немає повідомлень",
      tool: "Інструмент",
      toolResult: "Результат інструмента",
      hasTools: "Є інструменти",
      searchConversation: "Пошук у розмові",
      you: "Ви",
      noMessagesMatch: "Жодне повідомлення не відповідає фільтрам.",
    },
    mosaic: {
      title: "Активність за часом",
      subtitleEmpty: "Для оцінок потрібні часові мітки сеансів.",
      subtitle: "Оцінено за межами сеансів (перша/остання активність). Часовий пояс: {zone}.",
      noTimelineData: "Даних часової шкали ще немає.",
      dayOfWeek: "День тижня",
      midnight: "Опівніч",
      fourAm: "4 ранку",
      eightAm: "8 ранку",
      noon: "Полудень",
      fourPm: "4 дня",
      eightPm: "8 вечора",
      legend: "Низька → Висока щільність токенів",
      sun: "Нд",
      mon: "Пн",
      tue: "Вт",
      wed: "Ср",
      thu: "Чт",
      fri: "Пт",
      sat: "Сб",
    },
  },
  login: {
    subtitle: "Панель Gateway",
    passwordPlaceholder: "необов’язково",
    showToken: "Показати токен",
    hideToken: "Приховати токен",
    toggleTokenVisibility: "Перемкнути видимість токена",
    showPassword: "Показати пароль",
    hidePassword: "Приховати пароль",
    togglePasswordVisibility: "Перемкнути видимість пароля",
    failure: {
      rawError: "Сирий текст помилки",
      docsAuth: "Документація автентифікації Control UI",
      docsPairing: "Документація сполучення пристрою",
      docsInsecure: "Документація небезпечного HTTP",
      authRequired: {
        title: "Потрібна автентифікація",
        summary:
          "Gateway доступний, але цьому браузеру потрібен відповідний токен або пароль перед підключенням.",
        stepPaste: "Вставте токен з openclaw dashboard --no-open або введіть налаштований пароль.",
        stepGenerate:
          "Якщо токен не налаштовано, виконайте openclaw doctor --generate-gateway-token на хості Gateway.",
        stepConnect: "Після оновлення облікових даних знову натисніть Connect.",
      },
      authFailed: {
        title: "Автентифікація не збігається",
        summary:
          "Надані облікові дані відхилено. Найпоширеніша причина — застарілий токен або токен, скопійований з іншого Gateway URL.",
        stepDashboard:
          "Виконайте openclaw dashboard --no-open і відкрийте свіжий URL або вставте його токен.",
        stepReplace:
          "Замініть застарілі значення токена/пароля; не використовуйте повторно токен з іншого Gateway URL.",
        stepMode:
          "Використовуйте один відповідний режим auth за раз: gateway token для режиму token, пароль для режиму password.",
      },
      rateLimited: {
        title: "Забагато невдалих спроб",
        summary: "Gateway тимчасово обмежує спроби автентифікації для цього клієнта.",
        stepStop: "На мить припиніть повторні спроби з цієї вкладки.",
        stepWait:
          "Зачекайте, доки auth-обмежувач охолоне, а потім підключіться з виправленими обліковими даними.",
        stepCheckClients:
          "Якщо це спільний хост, перевірте інші клієнти на повторювані помилкові спроби.",
      },
      pairing: {
        title: "Потрібне сполучення пристрою",
        scopeTitle: "Оновлення scope очікує",
        roleTitle: "Оновлення ролі очікує",
        metadataTitle: "Оновлення пристрою очікує",
        summary:
          "Цей браузер потребує одноразового схвалення від хоста Gateway перед використанням Control UI.",
        upgradeSummary:
          "Цей браузер уже відомий, але запитаний доступ змінився і потребує нового схвалення.",
        stepList: "Виконайте openclaw devices list на хості Gateway.",
        stepApproveId: "Схваліть цей запит: openclaw devices approve {requestId}.",
        stepApprove: "Схваліть запит браузера/пристрою, що очікує, з цього списку.",
        stepReconnect: "Підключіться знову після завершення схвалення.",
      },
      insecure: {
        title: "Потрібен безпечний контекст браузера",
        summary:
          "Ця сторінка працює через звичайний HTTP, тому браузер не може створити ідентичність пристрою, яку очікує Gateway.",
        stepHttps:
          "Використовуйте HTTPS/Tailscale Serve або відкрийте http://127.0.0.1:18789 на хості Gateway.",
        stepLocalCompat:
          "Для локальної сумісності лише з токеном задайте gateway.controlUi.allowInsecureAuth: true.",
        stepAvoidDisable: "Уникайте вимкнення auth пристрою для віддаленого HTTP-доступу.",
      },
      origin: {
        title: "Origin браузера не дозволено",
        summary: "Gateway відхилив origin цієї сторінки до прийняття з’єднання Control UI.",
        stepAllowedOrigins: "Додайте цей origin браузера до gateway.controlUi.allowedOrigins.",
        stepFullOrigin:
          "Використовуйте повні origin, наприклад http://localhost:5173, а не wildcard-шаблони.",
        stepRestart: "Перезапустіть або перезавантажте Gateway після зміни дозволених origin.",
      },
      protocol: {
        title: "Невідповідність протоколу",
        summary:
          "Надана Control UI і запущений Gateway не узгоджуються щодо підтримуваного протоколу з’єднання.",
        stepDashboard:
          "Знову відкрийте наданий dashboard через openclaw dashboard, щоб UI і Gateway походили з однієї інсталяції.",
        stepDevUi:
          "Якщо використовуєте pnpm ui:dev, перебудуйте або перезапустіть dev UI з поточного checkout.",
        stepRestart:
          "Перезапустіть Gateway після оновлення OpenClaw, щоб він надавав поточний протокол.",
      },
      network: {
        title: "Не вдалося підключитися",
        summary:
          "Браузер не зміг завершити з’єднання з Gateway. Перевірте ціль і транспорт перед повторною спробою з обліковими даними.",
        stepGateway:
          "Підтвердьте, що Gateway працює, через openclaw status або openclaw gateway run.",
        stepUrl:
          "Перевірте WebSocket URL і використовуйте wss://, коли Gateway знаходиться за HTTPS/Tailscale Serve.",
        stepDashboard:
          "Знову відкрийте dashboard через openclaw dashboard --no-open, щоб повторно скопіювати поточний URL і деталі auth.",
      },
    },
  },
  chat: {
    disconnected: "Відключено від шлюзу.",
    refreshTitle: "Оновити дані чату",
    settings: "Налаштування чату",
    thinkingToggle: "Перемкнути показ мислення/роботи асистента",
    toolCallsToggle: "Перемкнути виклики інструментів і результати інструментів",
    autoScrollMode: "Режим автопрокручування",
    autoScrollAlways: "Завжди",
    autoScrollNearBottom: "Біля низу",
    autoScrollOff: "Вимкнено",
    focusToggle: "Перемкнути режим фокусу (сховати бічну панель і заголовок сторінки)",
    hideCronSessions: "Сховати сеанси Cron",
    showCronSessions: "Показати сеанси Cron",
    showCronSessionsHidden: "Показати сеанси Cron ({count} приховано)",
    onboardingDisabled: "Вимкнено під час налаштування",
    gatewayStatus: "Стан Gateway: {status}",
    commandPaletteTitle: "Пошук або перехід до… (⌘K)",
    openCommandPalette: "Відкрити палітру команд",
    docsOpensInNewTab: "{label} (відкривається в новій вкладці)",
    updateAvailable: "Доступне оновлення:",
    runningVersion: "працює v{version}",
    updating: "Оновлення…",
    updateNow: "Оновити зараз",
    dismissUpdateBanner: "Закрити банер оновлення",
    switchedSession: "Перемкнуто на {session}",
    welcome: {
      ready: "Ready to chat",
      hintBeforeShortcut: "Type a message below ·",
      hintAfterShortcut: "for commands",
      suggestions: {
        whatCanYouDo: "What can you do?",
        summarizeRecentSessions: "Summarize my recent sessions",
        configureChannel: "Help me configure a channel",
        checkSystemHealth: "Check system health",
      },
    },
    runControls: {
      newSession: "New session",
      export: "Експорт",
      exportChat: "Export chat",
      queue: "Queue",
      queueMessage: "Queue message",
      stop: "Stop",
      stopGenerating: "Stop generating",
      send: "Send",
      sendMessage: "Send message",
    },
    composer: {
      placeholder: "Message {name} (Enter to send)",
      placeholderWithAttachments: "Add a message or paste more images...",
      placeholderDisconnected: "Connect to the gateway to start chatting...",
      attachFile: "Attach file",
      startTalk: "Start Talk",
      stillListening: "Все ще слухаємо",
      talkTranscript: "Транскрипт розмови",
      stopTalk: "Stop Talk",
    },
    selectors: {
      agentFilter: "Фільтрувати сеанси за агентом",
      session: "Chat session",
      sessionSearch: "Пошук сеансів",
      clearSessionSearch: "Очистити пошук сеансів",
      loadMoreSessions: "Завантажити більше сеансів",
      model: "Chat model",
      thinkingLevel: "Chat thinking level",
    },
  },
  languages: {
    en: "Англійська",
    zhCN: "简体中文 (спрощена китайська)",
    zhTW: "繁體中文 (традиційна китайська)",
    ptBR: "Português (бразильська португальська)",
    de: "Deutsch (німецька)",
    es: "Español (іспанська)",
    jaJP: "日本語 (японська)",
    ko: "한국어 (корейська)",
    fr: "Français (французька)",
    ar: "العربية (арабська)",
    it: "Italiano (італійська)",
    tr: "Türkçe (турецька)",
    uk: "Українська (українська)",
    id: "Bahasa Indonesia (індонезійська)",
    pl: "Polski (польська)",
    th: "ไทย (тайська)",
    vi: "Tiếng Việt (вʼєтнамська)",
    nl: "Nederlands (нідерландська)",
    fa: "فارسی (перська)",
  },
  cron: {
    quickCreate: {
      schedules: {
        everyMorning: {
          label: "Щоранку",
          description: "Щодня о 8:00",
        },
        everyEvening: {
          label: "Щовечора",
          description: "Щодня о 18:00",
        },
        hourly: {
          label: "Щогодини",
          description: "Щогодини",
        },
        weekdays: {
          label: "У будні",
          description: "Пн–Пт о 9:00",
        },
        weekly: {
          label: "Щотижня",
          description: "Щопонеділка о 9:00",
        },
        once: {
          label: "Запустити один раз",
          description: "Одноразово, видалити після запуску",
        },
      },
      delivery: {
        notify: {
          label: "Сповістити мене",
          description: "Доставляти результати в чат",
        },
        silent: {
          label: "Тихо",
          description: "Запускати без сповіщення",
        },
        isolated: {
          label: "Незалежний сеанс",
          description: "Запускати в окремому сеансі",
        },
      },
      steps: {
        what: "Що",
        when: "Коли",
        how: "Як",
      },
      defaultName: "Автоматизація",
      whatHeading: "Що потрібно зробити?",
      whatHint: "Опишіть завдання природною мовою. Агент запускатиме цей запит щоразу.",
      promptPlaceholder: "наприклад, Перевір мою пошту на термінові листи та підсумуй їх...",
      nameOptional: "Назва (необов’язково)",
      namePlaceholder: "наприклад, Ранкова перевірка пошти",
      whenHeading: "Коли це має запускатися?",
      whenHint: "Виберіть розклад. Пізніше його можна буде точно налаштувати.",
      howHeading: "Як це має працювати?",
      howHint: "Виберіть спосіб доставки результатів.",
      title: "Нова автоматизація",
    },
    summary: {
      enabled: "Увімкнено",
      yes: "Так",
      no: "Ні",
      jobs: "Завдання",
      nextWake: "Наступне пробудження",
      refreshing: "Оновлення...",
      refresh: "Оновити",
    },
    jobs: {
      title: "Завдання",
      subtitle: "Усі заплановані завдання, збережені у шлюзі.",
      shownOf: "Показано {shown} із {total}",
      searchJobs: "Пошук завдань",
      searchPlaceholder: "Назва, опис або агент",
      enabled: "Увімкнено",
      schedule: "Розклад",
      lastRun: "Останній запуск",
      all: "Усі",
      sort: "Сортування",
      nextRun: "Наступний запуск",
      recentlyUpdated: "Нещодавно оновлені",
      name: "Назва",
      direction: "Напрямок",
      ascending: "За зростанням",
      descending: "За спаданням",
      reset: "Скинути",
      emptyTitle: "No scheduled jobs yet.",
      emptyHint: "Create one from a plain-language prompt; advanced fields can wait.",
      emptyFilteredHint: "Clear or change filters to see scheduled jobs.",
      noMatching: "Немає відповідних завдань.",
      loading: "Завантаження...",
      loadMore: "Завантажити більше завдань",
    },
    runs: {
      title: "Історія запусків",
      subtitleAll: "Останні запуски для всіх завдань.",
      subtitleJob: "Останні запуски для {title}.",
      scope: "Область",
      allJobs: "Усі завдання",
      selectedJob: "Вибране завдання",
      searchRuns: "Пошук запусків",
      searchPlaceholder: "Підсумок, помилка або завдання",
      newestFirst: "Спочатку новіші",
      oldestFirst: "Спочатку старіші",
      status: "Статус",
      delivery: "Доставка",
      clear: "Очистити",
      allStatuses: "Усі статуси",
      allDelivery: "Уся доставка",
      selectJobHint: "Виберіть завдання, щоб переглянути історію запусків.",
      noMatching: "Немає відповідних запусків.",
      loadMore: "Завантажити більше запусків",
      runStatusOk: "OK",
      runStatusError: "Помилка",
      runStatusSkipped: "Пропущено",
      runStatusUnknown: "Невідомо",
      deliveryDelivered: "Доставлено",
      deliveryNotDelivered: "Не доставлено",
      deliveryUnknown: "Невідомо",
      deliveryNotRequested: "Не запитувалось",
    },
    form: {
      editJob: "Редагувати завдання",
      newJob: "Нове завдання",
      advancedJob: "Advanced job",
      updateSubtitle: "Оновіть вибране заплановане завдання.",
      createSubtitle: "Створіть заплановане пробудження або запуск агента.",
      required: "Обов’язково",
      requiredSr: "обов’язково",
      basics: "Основне",
      basicsSub: "Дайте назву, виберіть асистента та встановіть стан увімкнення.",
      fieldName: "Назва",
      description: "Опис",
      agentId: "ID агента",
      namePlaceholder: "Ранковий огляд",
      descriptionPlaceholder: "Необов’язковий контекст для цього завдання",
      agentPlaceholder: "main або ops",
      agentHelp: "Почніть вводити, щоб вибрати відомого агента, або введіть власного.",
      schedule: "Розклад",
      scheduleSub: "Керуйте тим, коли це завдання запускається.",
      every: "Кожні",
      at: "О",
      cronOption: "Cron",
      runAt: "Запустити о",
      unit: "Одиниця",
      minutes: "Хвилини",
      hours: "Години",
      days: "Дні",
      expression: "Вираз",
      expressionPlaceholder: "0 7 * * *",
      everyAmountPlaceholder: "30",
      timezoneOptional: "Часовий пояс (необов’язково)",
      timezonePlaceholder: "America/Los_Angeles",
      timezoneHelp:
        "Виберіть поширений часовий пояс або введіть будь-який дійсний часовий пояс IANA.",
      jitterHelp:
        "Потрібен джитер? Використовуйте Додатково → Вікно розподілу / Одиниця розподілу.",
      execution: "Виконання",
      executionSub: "Виберіть, коли пробуджувати та що має робити це завдання.",
      session: "Сеанс",
      main: "Основний",
      isolated: "Ізольований",
      sessionHelp: "Основний публікує системну подію. Ізольований виконує окремий хід агента.",
      wakeMode: "Режим пробудження",
      now: "Зараз",
      nextHeartbeat: "Наступний heartbeat",
      wakeModeHelp: "Зараз спрацьовує негайно. Наступний heartbeat чекає наступного циклу.",
      payloadKind: "Що слід запустити?",
      systemEvent: "Опублікувати повідомлення в основній часовій шкалі",
      agentTurn: "Запустити завдання асистента (ізольовано)",
      systemEventHelp:
        "Надсилає ваш текст до основної часової шкали шлюзу (добре для нагадувань/тригерів).",
      agentTurnHelp:
        "Запускає виконання асистента у власному сеансі з використанням вашого запиту.",
      timeoutSeconds: "Тайм-аут (секунди)",
      timeoutPlaceholder: "Необов’язково, наприклад 90",
      timeoutHelp:
        "Необов’язково. Залиште порожнім, щоб для цього запуску використовувалася типова поведінка тайм-ауту шлюзу.",
      mainTimelineMessage: "Повідомлення основної часової шкали",
      assistantTaskPrompt: "Запит для завдання асистента",
      deliverySection: "Доставка",
      deliverySub: "Виберіть, куди надсилати підсумки запусків.",
      resultDelivery: "Доставка результату",
      announceDefault: "Оголосити підсумок (типово)",
      webhookPost: "Webhook POST",
      noneInternal: "Немає (внутрішньо)",
      deliveryHelp: "Оголошення публікує підсумок у чаті. Немає — зберігає виконання внутрішнім.",
      webhookUrl: "URL webhook",
      channel: "Канал",
      webhookPlaceholder: "https://example.com/cron",
      channelHelp: "Виберіть, який підключений канал отримуватиме підсумок.",
      webhookHelp: "Надсилати підсумки запусків до endpoint webhook.",
      to: "Кому",
      toPlaceholder: "+1555... або id чату",
      toHelp: "Необов’язкове перевизначення одержувача (id чату, телефон або id користувача).",
      advanced: "Додатково",
      advancedHelp:
        "Необов’язкові перевизначення для гарантій доставки, джитера розкладу та керування моделлю.",
      deleteAfterRun: "Видалити після запуску",
      deleteAfterRunHelp: "Найкраще для одноразових нагадувань, які мають автоматично очищатися.",
      clearAgentOverride: "Очистити перевизначення агента",
      clearAgentHelp: "Примусово використовувати для цього завдання типового асистента шлюзу.",
      exactTiming: "Точний час (без розподілу)",
      exactTimingHelp: "Запускати точно за межами cron без розкиду.",
      staggerWindow: "Вікно розподілу",
      staggerUnit: "Одиниця розподілу",
      staggerPlaceholder: "30",
      seconds: "Секунди",
      model: "Модель",
      modelPlaceholder: "openai/gpt-5.2",
      modelHelp: "Почніть вводити, щоб вибрати відому модель, або введіть власну.",
      thinking: "Обмірковування",
      thinkingPlaceholder: "low",
      thinkingHelp:
        "Використовуйте запропонований рівень або введіть значення, специфічне для провайдера.",
      bestEffortDelivery: "Доставка best effort",
      bestEffortHelp: "Не позначати завдання як помилкове, якщо сама доставка не вдалася.",
      cantAddYet: "Поки що не можна додати завдання",
      fillRequired: "Заповніть обов’язкові поля нижче, щоб увімкнути надсилання.",
      fixFields: "Виправте {count} поле, щоб продовжити.",
      fixFieldsPlural: "Виправте {count} полів, щоб продовжити.",
      saving: "Збереження...",
      saveChanges: "Зберегти зміни",
      addJob: "Додати завдання",
      cancel: "Скасувати",
    },
    jobList: {
      allJobs: "усі завдання",
      selectJob: "(виберіть завдання)",
      enabled: "увімкнено",
      disabled: "вимкнено",
      edit: "Редагувати",
      clone: "Клонувати",
      disable: "Вимкнути",
      enable: "Увімкнути",
      run: "Запустити",
      history: "Історія",
      remove: "Видалити",
    },
    jobDetail: {
      system: "Система",
      prompt: "Запит",
      delivery: "Доставка",
      agent: "Агент",
    },
    jobState: {
      status: "Статус",
      next: "Наступний",
      last: "Останній",
    },
    runEntry: {
      noSummary: "Немає підсумку.",
      runAt: "Запустити о",
      openRunChat: "Відкрити чат запуску",
      next: "Наступний {rel}",
      due: "Має відбутися {rel}",
    },
    errors: {
      nameRequired: "Назва обов’язкова.",
      scheduleAtInvalid: "Введіть дійсні дату й час.",
      everyAmountInvalid: "Інтервал має бути більшим за 0.",
      cronExprRequired: "Вираз Cron є обов’язковим.",
      staggerAmountInvalid: "Розподіл має бути більшим за 0.",
      systemTextRequired: "Системний текст є обов’язковим.",
      agentMessageRequired: "Повідомлення агента є обов’язковим.",
      timeoutInvalid: "Якщо задано, тайм-аут має бути більшим за 0 секунд.",
      webhookUrlRequired: "URL webhook є обов’язковим.",
      webhookUrlInvalid: "URL webhook має починатися з http:// або https://.",
      invalidRunTime: "Недійсний час запуску.",
      invalidIntervalAmount: "Недійсне значення інтервалу.",
      cronExprRequiredShort: "Потрібен вираз Cron.",
      invalidStaggerAmount: "Недійсне значення розподілу.",
      systemEventTextRequired: "Потрібен текст системної події.",
      agentMessageRequiredShort: "Потрібне повідомлення агента.",
      nameRequiredShort: "Потрібна назва.",
    },
  },
};
