const strings = {
error: {
server_error: "Помилка сервера, будь ласка, спробуйте ще раз"
},
title: {
donate: "Пожертвувати",
donateTitle: "Підтримайте P3X Redis UI",
donateDescription: "P3X Redis UI — безкоштовний проєкт з відкритим кодом. Витрати на підтримку додатку, функцій AI, образів Docker, серверів та інфраструктури оплачуються з власної кишені розробника. Якщо ви вважаєте цей інструмент корисним, будь ласка, підтримайте його подальший розвиток пожертвою. Кожен внесок допомагає проєкту жити та рости. Дякуємо!",
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: "Автоматично (система)",
languageAuto: "Автоматично (система)",
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: "Ключі не знайдено у файлі",
desktopNotifications: "Сповіщення робочого столу",
desktopNotificationsEnabled: "Увімкнути сповіщення робочого столу",
desktopNotificationsInfo: "Отримуйте сповіщення ОС про від'єднання та повторне підключення Redis, коли програма не у фокусі."
},
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: "Ключ встановлено/додано",
connectionRestored: "З'єднання відновлено"
},
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.",
"AI_DISABLED": "AI вимкнено. Увімкніть його в налаштуваннях AI.",
"AI_PROMPT_REQUIRED": "Потрібен запит AI.",
"GROQ_API_KEY_READONLY": "Ключ Groq API доступний лише для читання і не може бути змінений.",
"blocked_api_access": "Ваш план Groq API не дозволяє доступ до цієї моделі. Оновіть план Groq або використовуйте проксі network.corifeus.com.",
"rate_limit": "Досягнуто ліміт AI. Спробуйте пізніше або використовуйте власний ключ Groq API в налаштуваннях."
},
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;