RSS Git Download  Clone
Raw Blame History 35kB 683 lines
const strings = {
  error: {
    server_error: "Помилка сервера, будь ласка, спробуйте ще раз"
  },
  title: {
    donate: "Пожертвувати",
    jsonRecursive: "Розгортання всіх гілок",
    name: "P3X Redis UI",
    nameDonated: "P3X Redis UI+",
    main: "Ви можете вибрати Redis-з'єднання для підключення з меню внизу зліва.",
    statistics: "Статистика",
    error: "Помилка",
    connectingRedis: "Підключення до Redis ...",
    socketioConnectError: "Помилка Socket.IO",
    db: "DB",
    server: "Сервер",
    clients: "Клієнти",
    memory: "Пам'ять",
    persistence: "Збереження",
    stats: "Статистика",
    replication: "Реплікація",
    cpu: "CPU",
    cluster: "Cluster",
    modules: "Модулі",
    errorstats: "Статистика помилок",
    commandstats: "Статистика команд",
    latencystats: "Статистика затримок",
    keysizes: "Розміри ключів",
    threads: "Потоки",
  },
  confirm: {
    dropIndex: "Ви впевнені, що хочете видалити цей індекс?",
    uploadBuffer: "Ви впевнені, що хочете завантажити ці бінарні дані?",
    uploadBufferDone: "Бінарні дані завантажено",
    uploadBufferDoneAndSave: "Бінарні дані завантажено та збережено на сервері",
    title: "Підтвердити",
    alert: "Попередження",
    info: "Інформація",
    deleteListItem: "Ви впевнені, що хочете видалити цей елемент списку?",
    deleteHashKey: "Ви впевнені, що хочете видалити цей хеш-ключ?",
    deleteStreamTimestamp: "Ви впевнені, що хочете видалити цю мітку часу потоку?",
    deleteSetMember: "Ви впевнені, що хочете видалити цього члена множини?",
    deleteZSetMember: "Ви впевнені, що хочете видалити цього члена впорядкованої множини?",
    deleteConnection: "Підтвердити",
    deleteConnectionText: "Ви впевнені, що хочете видалити це Redis-з'єднання?",
    deleteNode: "Ви впевнені, що хочете видалити цей Redis-вузол?",
    deleteAllKeys: opts => {
      return `Видалити це дерево та всі його ключі (${opts.key})?`;
    },
    deleteSearchKeys: opts => {
      return `Ви впевнені, що хочете видалити всі ключі, які відповідають "${opts.pattern}"? Знайдено ${opts.count} ключів.`;
    },
    socketioConnectError: "Socket.IO не може підключитися до сервера, ви можете перезавантажити та спробувати вирішити помилку підключення самостійно, клієнт не знає, як її вирішити.",
    socketioAuthRequired: "Потрібна авторизація Socket.IO. Будь ласка, автентифікуйтесь за допомогою HTTP Basic Auth (ім'я користувача/пароль) та перезавантажте.",
    delete: "Видалити?",
    deleteKey: "Ви впевнені, що хочете видалити цей ключ?",
    rename: {
      title: "Ви впевнені, що хочете перейменувати цей ключ?",
      textContent: "Ця дія перейменовує ключ назавжди.",
      placeholder: "Redis-ключ (обов'язковий)"
    },
    ttl: {
      title: "Ви впевнені, що хочете змінити TTL цього ключа?",
      textContent: "Зміна TTL оновлює час життя цього ключа. Залиште порожнім, щоб зберегти ключ назавжди.",
      placeholder: "TTL Redis-ключа (ціле число або порожнє)",
      placeholderPlaceholder: "Порожнє означає, що він зберігається назавжди; інакше введіть ціле число.",
      convertTextToTime: "Конвертувати текст у час",
      convertTextToTimePlaceholder: "Напр. 1d буде 86400"
    },
  },
  language: {
    bg: "Български / Bulgarian",
    cs: "Čeština / Czech",
    de: "Deutsch / German",
    el: "Ελληνικά / Greek",
    en: "English",
    es: "Español / Spanish",
    fr: "Français / French",
    hu: "Magyar / Hungarian",
    it: "Italiano / Italian",
    ja: "日本語 / Japanese",
    nl: "Nederlands / Dutch",
    pl: "Polski / Polish",
    "pt-PT": "Português / Portuguese",
    ro: "Română / Romanian",
    ru: "Русский / Russian",
    sk: "Slovenčina / Slovak",
    sr: "Српски / Serbian",
    sv: "Svenska / Swedish",
    tr: "Türkçe / Turkish",
    uk: "Українська / Ukrainian",
    zn: "中文 / Chinese",
    ar: "العربية / Arabic",
    az: "Azərbaycanca / Azerbaijani",
    be: "Беларуская / Belarusian",
    bn: "বাংলা / Bengali",
    da: "Dansk / Danish",
    et: "Eesti / Estonian",
    fi: "Suomi / Finnish",
    fil: "Filipino / Filipino",
    he: "עברית / Hebrew",
    hr: "Hrvatski / Croatian",
    hy: "Հայերեն / Armenian",
    id: "Bahasa Indonesia / Indonesian",
    ka: "ქართული / Georgian",
    kk: "Қазақша / Kazakh",
    km: "ខ្មែរ / Khmer",
    ko: "한국어 / Korean",
    ky: "Кыргызча / Kyrgyz",
    lt: "Lietuvių / Lithuanian",
    mk: "Македонски / Macedonian",
    ms: "Bahasa Melayu / Malay",
    ne: "नेपाली / Nepali",
    no: "Norsk / Norwegian",
    "pt-BR": "Português (Brasil) / Portuguese (Brazil)",
    sl: "Slovenščina / Slovenian",
    tg: "Тоҷикӣ / Tajik",
    th: "ไทย / Thai",
    vi: "Tiếng Việt / Vietnamese",
    "zh-HK": "中文(香港) / Chinese (Hong Kong)",
    "zh-TW": "中文(台灣) / Chinese (Taiwan)",
    bs: 'Bosanski / Bosnian',
    si: 'සිංහල / Sinhala',
    sw: 'Kiswahili / Swahili',
    ta: 'தமிழ் / Tamil'
  },
  intention: {
    copy: "Копіювати",
    downloadBuffer: "Завантажити бінарний файл",
    setBuffer: "Вивантажити бінарний файл",
    exportKeys: "Експорт ключів",
    exportAllKeys: (opts) => `Експорт усіх ${opts.count} ключів`,
    exportSearchResults: (opts) => `Експорт ${opts.count} результатів`,
    deleteAllKeysMenu: (opts) => `Видалити все ${opts.count}`,
    importKeys: "Імпорт ключів",
    deleteSearchKeys: (opts) => `Видалити ${opts.count} відповідних ключів`,
    saveWithFormatJson: "Зберегти з форматуванням",
    formatJson: "Форматувати Json",
    wrap: "Перенос",
    unwrap: "Без переносу",
    downloadJson: "Завантажити JSON",
    pubsubMonitor: "PubSub",
    pulse: "Pulse",
    profiler: "Profiler",
    memoryAnalysis: "Analysis",
    language: "Мова / Language",
    ok: "OK",
    addKey: "Додати до цього ключа",
    addKeyRoot: "Додати кореневий ключ",
    reloadKey: "Перезавантажити ключ",
    reload: "Перезавантажити",
    close: "Закрити",
    commands: "Команди",
    view: "Вигляд",
    statistics: "Статистика",
    refresh: "Оновити",
    pause: "Пауза",
    resume: "Продовжити",
    clear: "Очистити",
    rename: "Перейменувати",
    main: "База даних",
    cancel: "Скасувати",
    theme: "Тема",
    github: "GitHub",
    githubRepo: "Репозиторій",
    githubRelease: "Релізи",
    githubChangelog: "Журнал змін",
    info: "Info",
    settings: "Налаштування",
    connect: "Підключити",
    disconnect: "Відключити",
    overview: "Огляд",
    console: "Консоль",
    noConnections: "Немає з'єднань, додайте з'єднання в меню налаштувань.",
    noConnectionsInSettings: "Немає з'єднань, ви можете додати НОВЕ З'ЄДНАННЯ вище.",
    connectionAdd: "Нове з'єднання",
    addGroup: "Додати групу",
    extend: "Розгорнути",
    collapse: "Згорнути",
    add: "Додати",
    edit: "Редагувати",
    save: "Зберегти",
    ttl: "Встановити TTL",
    delete: "Видалити",
    remove: "Вилучити",
    areYouSure: "Ви впевнені?",
    sure: "Впевнені",
    testConnection: "Тестувати з'єднання",
    getKey: "Завантаження Redis-ключа та пов'язаних даних ...",
    jsonViewShow: "Показати JSON",
    jsonViewEditor: "Редагувати JSON",
    quickConsole: "Швидка консоль",
  },
  label: {
    id: {
      nodeId: 'ID вузла',
      id: "ID з'єднання",
      info: "Якщо ви не хочете змінювати властивості: sshPassword, sshPrivateKey, password, tlsCrt, tlsKey, tlsCa, введіть ID з'єднання в ці властивості, щоб зберегти значення. Якщо ви хочете такої ж логіки для пароля вузла, введіть ID вузла в поле пароля вузла."
    },
    secureFeature: 'Якщо ви бачите значення, яке починається з P3X і виглядає однаково, це функція безпеки. Щоб змінити налаштування, замініть їх порожніми або чимось іншим, і вони будуть збережені. Якщо ви не зміните налаштування, вони залишаться такими, як є на сервері.',
    aiTranslating: "Переклад...",
    aiSettings: "Налаштування ШІ",
    aiGroqApiKey: "Ключ API Groq",
    aiGroqApiKeyInfo: "Необов'язково. Власний ключ API Groq для кращої продуктивності. Отримайте безкоштовний ключ на",
    aiGroqApiKeyPlaceholder: "gsk_...",
    aiGroqApiKeySaved: "Ключ API ШІ збережено",
    aiGroqApiKeyInvalid: "Недійсний ключ API Groq",
    aiGroqApiKeyNotSet: "Не встановлено (за замовчуванням сервера)",
    aiEnabled: "ШІ увімкнено",
    aiEnabledYes: "Так",
    aiEnabledNo: "Ні",
    aiRouteViaNetwork: "Маршрут через network.corifeus.com",
    aiRoutingDirect: "Запити йдуть напряму до Groq з вашим власним API-ключем, оминаючи network.corifeus.com.",
    aiRoutingNetwork: "AI-запити маршрутизуються через network.corifeus.com. Якщо у вас є власний безкоштовний ключ API Groq, ви можете вимкнути цей перемикач.",
    ssh: {
      on: 'SSH увімкнено',
      off: 'SSH вимкнено',
      sshHost: 'SSH-хост',
      sshPort: 'SSH-порт',
      sshUsername: "SSH ім'я користувача",
      sshPassword: 'SSH-пароль',
      sshPrivateKey: 'SSH приватний ключ'
    },
    isBuffer: opts => `[object ArrayBuffer] означає, що значення є бінарними даними або значення більше ніж ${opts.maxValueAsBuffer}`,
    streamValue: `Поле та значення Stream записуються в один рядок. Напр.: field1 value1 "field 2" "value 2"`,
    streamTimestampId: `'*' означає автоматично згенероване або специфікація як <мілісекундиЧасу>-<номерПослідовності>`,
    unableToLoadKey: ({
      key
    }) => {
      return `Неможливо завантажити цей ключ: ${key}. Можливо, ключ було видалено. Точна помилка знаходиться в консолі.`;
    },
    bigJson: "Цей JSON-об'єкт більше 10 кб, тому переконайтесь, що ви знаєте, що робите, оскільки деякі функції можуть повільно відображатися.",
    addNode: "Додати вузол",
    validateJson: "Перевірити JSON",
    reducedFunction: `Обмежена функціональність`,
    tooManyKeys: opts => {
      return `Максимальна кількість ключів для повної функціональності — ${opts.maxLightKeysCount}. У цій базі даних ключів більше ніж дозволено: ${opts.count}. Сортування ключів та додаткова інформація дерева вимкнені. Пошук здійснюється лише на сервері, а не на клієнті.`;
    },
    redisCommandNotFound: "Відповідну команду Redis не знайдено ...",
    treeKeyStore: `Сортування (природне порівняння) виконується на клієнті, тобто в браузері, що означає штраф продуктивності для великих наборів, наприклад понад 10 тис. ключів, це може додати трохи часу до рендерингу сторінки. У Redis немає сортування ключів, тільки таким чином.`,
    socketIoTimeout: options => {
      return `Час очікування Socket.IO для цього запиту вичерпано (макс. ${options.timeout / 1000} секунд) ...`;
    },
    resizerInfo: options => {
      return `Мінімальна ширина лівої або правої панелі — ${options.width}px`;
    },
    jsonViewNotParsable: "Це значення не може бути розпізнане як JSON  ",
    ttlTitle: "Встановіть TTL у секундах",
    passwordSecure: "Пароль може бути порожнім, але все одно відображатиме символи, це функція безпеки.",
    tlsWithoutCert: "Увімкнути TLS без додаткового сертифіката",
    tlsRejectUnauthorized: "Відхилити неавторизований сертифікат",
    tlsSecure: "Якщо ви бачите конфігурацію TLS, яка починається з P3X, або всі налаштування TLS виглядають однаково, це функція безпеки. Щоб змінити налаштування, замініть їх порожніми або чимось іншим, і вони будуть збережені. Якщо ви не зміните налаштування TLS, вони залишаться такими, як є на сервері.",
    treeSeparatorEmpty: "Якщо роздільник дерева порожній, дерево не матиме вкладених вузлів, лише простий список",
    treeSeparatorEmptyNote: "Немає вкладених вузлів, лише простий список",
    welcomeConsole: "Ласкаво просимо до консолі Redis",
    welcomeConsoleInfo: "Історія курсором ВГОРУ або ВНИЗ увімкнена",
    redisListIndexInfo: "Порожнє для додавання в кінець, -1 для додавання на початок або збережіть на показану позицію.",
    console: "Консоль",
    connectiondAdd: "Додати з'єднання",
    connectiondEdit: "Редагувати з'єднання",
    connectiondView: "Переглянути з'єднання",
    connections: "З'єднання",
    keysSort: {
      on: "Сортування ключів увімкнено",
      off: "Сортування ключів вимкнено"
    },
    cluster: {
      on: "Cluster увімкнено",
      off: "Cluster вимкнено"
    },
    sentinel: {
      on: "Sentinel увімкнено",
      off: "Sentinel вимкнено",
      name: "Назва Sentinel"
    },
    readonly: {
      on: "Лише для читання увімкнено",
      off: "Лише для читання вимкнено"
    },
    theme: {
      light: "Світла",
      dark: "Темна enterprise",
      darkNeu: "Темна",
      darkoBluo: "Darko bluo",
      enterprise: "Enterprise",
      redis: "Redis",
      matrix: "Matrix"
    },
    connected: opts => {
      return `Підключено: ${opts.name}`;
    },
    tree: "Дерево",
    askAuth: "Запитати авторизацію",
    keyboardShortcuts: "Гарячі клавіші",
    about: "Про програму",
    supportedLanguages: "Підтримувані мови",
    version: "Версія",
    redisVersion: "Версія Redis",
    modules: "Модулі",
    shortcutRefresh: "Оновити",
    shortcutSearch: "Фокус на пошуку",
    shortcutNewKey: "Новий ключ",
    shortcutDisconnect: "Відключити",
    themeAuto: "Автоматично (система)",
    shortcutCommandPalette: "Палітра команд",
    commandPalette: "Палітра команд",
    noResults: "Немає результатів",
    redisCommandsReference: "Команди Redis",
    ungrouped: "Без групи",
    grouped: "Згруповані",
    connectFirst: "Спочатку підключіться до сервера Redis",
    searchLanguage: "Пошук мови...",
    exportProgress: "Експорт ключів...",
    importProgress: "Імпорт ключів...",
    importPreview: "Попередній перегляд",
    importOverwrite: "Перезаписати",
    importSkip: "Пропустити",
    importConflict: "Якщо ключ вже існує:",
    noKeysToExport: "Немає ключів для експорту",
    time: "Час",
    type: "Тип",
    format: "Формат",
    loading: "Завантаження...",
    autoRefresh: "Авто",
    exportSearchHint: "Експортуються лише ключі, що відповідають поточному пошуку",
    importSearchHint: "Імпорт застосовується до всієї бази даних, а не лише до результатів пошуку",
    deleteSearchHint: "Видаляє всі ключі, що відповідають поточному пошуку на сервері",
    deletingSearchKeys: "Видалення відповідних ключів...",
    importNoKeys: "Ключі не знайдено у файлі",
  },
  status: {
    dataCopied: "Дані скопійовано в буфер обміну",
    exportDone: "Експорт завершено",
    deletedSearchKeys: (opts) => `Видалено ${opts.count} ключів`,
    indexCreated: "Індекс створено",
    indexDropped: "Індекс видалено",
    importDone: (opts) => `Імпорт завершено: ${opts.created} створено, ${opts.skipped} пропущено, ${opts.errors} помилок`,
    nodeRemoved: "Вузол видалено",
    keyIsNotExisting: "Цей ключ міг бути видалений або його термін дії минув.",
    keyCount: opts => {
      if (opts.keyCount === 0) {
        return "Немає ключів";
      } else if (opts.keyCount === 1) {
        return "1 ключ";
      } else {
        return `${opts.keyCount} ключів`;
      }
    },
    treeExpandAll: "Розгорнути всі гілки дерева. Ця операція може бути ресурсоємною і зайняти час ...",
    noRedisKeys: "У цій базі даних немає ключів.",
    redisConnected: "Redis підключено успішно",
    reloadingDataInfo: "Перезавантаження інформації Redis",
    added: "Додано",
    saved: "Оновлено",
    cancelled: "Скасовано",
    deleted: "Видалено",
    savedRedis: "Дані Redis збережено",
    redisDisconnected: opts => {
      return `Поточне з'єднання мало помилку: ${opts.error.message}`;
    },
    dbChanged: opts => {
      return `Індекс БД встановлено на ${opts.db}. `;
    },
    treeDeleted: opts => {
      return `Ключ дерева було видалено (${opts.key}).`;
    },
    deletedKey: opts => {
      return `Ключ було видалено (${opts.key}).`;
    },
    renamedKey: "Цей ключ було перейменовано",
    ttlChanged: "TTL цього ключа було змінено",
    notInteger: "Це введення не є цілим числом",
    persisted: "Цей ключ зберігається назавжди",
    set: "Ключ встановлено/додано"
  },
  code: {
    "delete-connection": "Це з'єднання було видалено, тому вас від'єднано від цього екземпляра Redis.",
    "save-connection": "Це з'єднання було змінено, тому вас від'єднано від цього екземпляра Redis. Ви можете підключитися знову.",
    "readonly-connections": "Додавання/збереження/видалення з'єднань доступне лише для читання!",
    "readonly-connection-mode": "Це з'єднання в режимі лише для читання!",
    "list-out-of-bounds": "Цей індекс списку виходить за межі",
    "invalid-json-value": "The value is not valid JSON.",
    "http_auth_required": "Потрібна авторизація: будь ласка, автентифікуйтесь за допомогою HTTP Basic Auth та перезавантажте.",
    "auto-connection-failed": "Можливо, з'єднання було видалено і через це автоматичне підключення не вдалося.",
    invalid_console_command: "Ця команда не працює через GUI."
  },
  form: {
    error: {
      required: "Обов'язкове",
      port: "Порт повинен бути між 1-65535",
      invalid: "Форма недійсна"
    },
    connection: {
      label: {
        name: "Назва",
        group: "Група",
        host: "Ім'я хоста",
        port: "Порт",
        password: "Пароль",
        username: "Ім'я користувача"
      }
    },
    treeSettings: {
      maxValueDisplay: "Максимальна довжина відображення значення",
      maxValueDisplayInfo: "Якщо встановлено 0, показувати повні значення. Якщо більше 0, обрізати до цієї довжини. Якщо -1: для рядків — приховати значення до редагування; для інших типів — показувати повний вміст.",
      maxKeys: "Максимальна кількість ключів",
      maxKeysInfo: "Щоб GUI не зламався, ми обмежуємо максимальну кількість ключів.",
      keyCount: (opts) => {
        return `Кількість ключів: ${opts?.keyCount ?? 0}`;
      },
      label: {
        animation: "Використовувати анімацію",
        noAnimation: "Без анімації",
        jsonFormatTwoSpace: "Форматувати JSON з 2 пробілами",
        jsonFormatFourSpace: "Форматувати JSON з 4 пробілами",
        formName: "Налаштування Redis",
        searchModeClient: "Режим пошуку на клієнті",
        searchModeServer: "Режим пошуку на сервері",
        searchModeStartsWith: "Пошук з режимом «починається з»",
        searchModeIncludes: "Пошук з режимом «містить»"
      },
      field: {
        treeSeparator: "Роздільник дерева",
        treeSeparatorSelector: "Вибір роздільника дерева",
        page: "Кількість сторінок дерева",
        keyPageCount: "Кількість сторінок ключів",
        keysSort: "Сортувати ключі",
        searchMode: "Режим пошуку",
        searchModeStartsWith: "Пошук починається з / містить"
      },
      error: {
        keyPageCount: "Кількість сторінок ключів повинна бути цілим числом від 5 до 100",
        page: "Кількість сторінок повинна бути цілим числом від 10 до 5000",
        maxValueDisplay: "Максимальне значення відображення повинно бути цілим числом від -1 до 32768",
        maxKeys: "Максимальна кількість ключів повинна бути цілим числом від 100 до 100000"
      }
    },
    key: {
      label: {
        formName: {
          add: "Додати новий Redis-ключ",
          edit: "Редагувати Redis-ключ",
          append: "Додати до існуючого Redis-ключа"
        }
      },
      field: {
        streamTimestamp: "Мітка часу",
        key: "Ключ",
        type: "Тип",
        index: "Індекс",
        hashKey: "Хеш-ключ",
        score: "Оцінка",
        value: "Значення"
      },
      error: {
        streamTimestamp: "Мітка часу обов'язкова, у форматі Redis або як *",
        key: "Ключ повинен містити щонайменше один символ",
        hashKey: "Ключ хеш-таблиці повинен містити щонайменше один символ",
        score: "Оцінка впорядкованої множини обов'язкова",
        value: "Значення обов'язкове"
      }
    },
    main: {
      label: {
        database: "DB"
      }
    }
  },
  page: {
    search: {
      title: "Пошук",
      index: "Індекс",
      query: "Запит",
      results: "Результати",
      noIndex: "Індекси не знайдено",
      createIndex: "Створити індекс",
      dropIndex: "Видалити індекс",
      indexInfo: "Інформація про індекс",
      indexName: "Назва індексу",
      prefix: "Префікс ключа (необов'язково)",
      fieldName: "Назва поля",
    },
    monitor: {
      title: "Моніторинг",
      memory: "Пам'ять",
      opsPerSec: "Операцій/сек",
      clients: "Клієнти",
      blocked: "Заблоковано",
      hitsMisses: "Влучність",
      networkIo: "Мережа I/O",
      slowLog: "Повільний журнал",
      totalCommands: "Всього",
      expired: "Прострочено",
      evicted: "Витіснено",
      clientList: "Список клієнтів",
      topKeys: "Найбільші ключі за памяттю",
      killClient: "Завершити клієнта",
      clientKilled: "Клієнта завершено",
      confirmKillClient: "Ви впевнені, що хочете завершити цього клієнта?",
      noKeys: "Немає ключів",
      rss: "RSS",
      peak: "Пік",
      fragmentation: "Фрагментація",
      hitsAndMisses: "Влучання / Промахи",
      noClients: "Немає клієнтів",
    },
    analysis: {
      title: "Аналіз пам'яті",
      runAnalysis: "Запустити аналіз",
      running: "Аналіз...",
      typeDistribution: "Розподіл типів",
      prefixMemory: "Пам'ять за префіксом",
      topKeysByMemory: "Найбільші ключі за пам'яттю",
      expirationOverview: "Термін дії ключів",
      memoryBreakdown: "Розбивка пам'яті",
      keysScanned: "Проскановано ключів",
      totalMemory: "Загальна пам'ять",
      rssMemory: "RSS пам'ять",
      peakMemory: "Пікова пам'ять",
      luaMemory: "Lua пам'ять",
      overheadMemory: "Накладні витрати",
      datasetMemory: "Набір даних",
      fragmentation: "Фрагментація",
      allocator: "Алокатор",
      withTTL: "З TTL",
      persistent: "Постійні",
      avgTTL: "Середній TTL",
      prefix: "Префікс",
      keyCount: "Кількість ключів",
      memoryUsage: "Використання пам'яті",
      noPrefix: "(без префікса)",
      topN: "Top N",
      maxScanKeys: "Макс. сканованих ключів",
      type: "Тип",
      noData: "Немає даних. Натисніть Запустити аналіз, щоб почати.",
      exportAll: "Експорт усього",
    },

    overview: {
      noConnected: "Немає підключення до Redis.",
      overviewClients: "Перелік підключених за кількістю клієнтів",
      connectedCount: opt => {
        if (opt.length === 1) {
          return "1 клієнт";
        }
        return `${opt.length} клієнтів`;
      }
    },
    key: {
      label: {
        key: "Ключ",
        encoding: "Кодування",
        compression: "Стиснення",
        aiRateLimited: "Досягнуто ліміт запитів AI. Спробуйте пізніше або використовуйте власний ключ Groq API в Налаштуваннях.",
        aiError: "Запит AI не вдався",
        length: "Розмір",
        ttl: "TTL",
        ttlTitle: "Час життя",
        type: "Тип",
        ttlNotExpire: "не закінчується",
        lengthString: "байт",
        lengthItem: "елементів",
        actions: "Дії"
      },
      list: {
        table: {
          index: "Індекс",
          value: "Значення"
        }
      },
      hash: {
        table: {
          hashkey: "Хеш-ключ",
          value: "Значення"
        }
      },
      set: {
        table: {
          value: "Член"
        }
      },
      zset: {
        table: {
          value: "Член",
          score: "Оцінка"
        }
      },
      stream: {
        table: {
          timestamp: "ID мітки часу",
          field: "Поле",
          value: "Значення"
        }
      },
      timeseries: {
        chart: "Графік",
        info: "Інформація",
        addPoint: "Додати точку даних",
        from: "Від (мс або -)",
        to: "До (мс або +)",
        aggregation: "Агрегація",
        timeBucket: "Інтервал (мс)",
        none: "Немає",
        dataPoints: "точки даних",
        labels: "Мітки",
        rules: "Правила",
        retention: "Зберігання",
        timestamp: "Мітка часу",
        value: "Значення",
        retentionHint: "0 = без закінчення терміну, або мілісекунди",
        duplicatePolicy: "Політика дублікатів",
        labelsHint: "ключ1 значення1 ключ2 значення2",
        timestampHint: "'*' означає автоматичне генерування, або мітка часу в мілісекундах",
        editAllHint: "Один запис на рядок: мітка_часу значення (мітка_часу може бути * для авто)",
        autoSpread: "Автоматичний інтервал розподілу *",
        formula: "Формула",
        formulaLinear: "Лінійна",
        formulaRandom: "Випадкова",
        formulaSawtooth: "Пилоподібна",
        formulaPoints: "Точки",
        formulaAmplitude: "Амплітуда",
        formulaOffset: "Зміщення",
        generate: "Згенерувати",
        exportChart: "Експорт PNG",
        overlay: "Накладання ключів",
        overlayHint: "Ключі через кому",
        mrangeFilter: "Фільтр міток",
        bulkMode: "Масова генерація",
        mrangeHint: "напр. sensor=temp"
      }
    },
    treeControls: {
      settings: "Налаштування дерева",
      expandAll: "Розгорнути все",
      collapseAll: "Згорнути все",
      level: "Рівень",
      search: {
        search: "Пошук серед ключів",
        clear: "Очистити поточний пошук",
        placeholderClient: "Пошук на стороні клієнта",
        placeholderServer: "Пошук на стороні сервера",
        info: (opts) => "Пошук на стороні клієнта означає, що текст збігається з введеним у пошуковому полі. Пошук на стороні сервера означає пошук у шаблонах ключів як *{текст-пошуку}*. Для великих наборів даних краще використовувати пошук на стороні сервера. Для менших наборів даних краще використовувати пошук на стороні клієнта." + ` Якщо кількість ключів перевищує ${opts?.maxLightKeysCount ?? 110000}, ви можете шукати лише на стороні сервера.`,
        largeSetInfo: "У великому наборі даних пошук на стороні клієнта вимкнено, тому зараз можливий лише пошук на стороні сервера.",
        infoDetails: "Щоб дізнатися, як працює пошук, перегляньте налаштування"
      },
      pager: {
        next: "Наступна",
        prev: "Попередня",
        first: "Перша",
        last: "Остання"
      }
    }
  },
  time: {
    type: "Тип",
    format: "Формат",
    loading: "Завантаження...",
    years: "років",
    months: "місяців",
    days: "днів",
    year: "рік",
    month: "місяць",
    day: "день",
    second: "секунда",
    seconds: "секунди",
    minute: "хвилина",
    minutes: "хвилини",
    hour: "година",
    hours: "години"
  },
  redisTypes: {
    string: "String",
    list: "List",
    hash: "Hash table",
    set: "Set",
    zset: "Sorted set - zset",
    stream: "Stream",
    json: "JSON",
    timeseries: "Time Series"
  }
};
module.exports = strings;