diff --git a/web/assets/js/langs.js b/web/assets/js/langs.js index 42fa49ff..a7364bcb 100644 --- a/web/assets/js/langs.js +++ b/web/assets/js/langs.js @@ -34,6 +34,11 @@ const supportLangs = [ value: 'id-ID', icon: '🇮🇩', }, + { + name: 'Український', + value: 'uk-UA', + icon: '🇺🇦', + }, ]; function getLang() { diff --git a/web/translation/translate.uk_UA.toml b/web/translation/translate.uk_UA.toml new file mode 100644 index 00000000..2fc649bf --- /dev/null +++ b/web/translation/translate.uk_UA.toml @@ -0,0 +1,621 @@ +"username" = "Ім'я користувача" +"password" = "Пароль" +"login" = "Увійти" +"confirm" = "Підтвердити" +"cancel" = "Скасувати" +"close" = "Закрити" +"copy" = "Копіювати" +"copied" = "Скопійовано" +"download" = "Завантажити" +"remark" = "Примітка" +"enable" = "Увімкнути" +"protocol" = "Протокол" +"search" = "Пошук" +"filter" = "Фільтр" +"loading" = "Завантаження..." +"second" = "Секунда" +"minute" = "Хвилина" +"hour" = "Година" +"day" = "День" +"check" = "Перевірка" +"indefinite" = "Безстроково" +"unlimited" = "Безлімітний" +"none" = "Немає" +"qrCode" = "QR-Код" +"info" = "Більше інформації" +"edit" = "Редагувати" +"delete" = "Видалити" +"reset" = "Скидання" +"copySuccess" = "Скопійовано успішно" +"sure" = "Звичайно" +"encryption" = "Шифрування" +"transmission" = "Протокол передачи" +"host" = "Хост" +"path" = "Шлях" +"camouflage" = "Маскування" +"status" = "Статус" +"enabled" = "Увімкнено" +"disabled" = "Вимкнено" +"depleted" = "Вичерпано" +"depletingSoon" = "Вичерпується" +"offline" = "Офлайн" +"online" = "Онлайн" +"domainName" = "Доменне ім`я" +"monitor" = "Слухати IP" +"certificate" = "Сертифікат" +"fail" = " Помилка" +"success" = " Успішно" +"getVersion" = "Отримати версію" +"install" = "Встановити" +"clients" = "Клієнти" +"usage" = "Використання" +"secretToken" = "Секретний маркер" +"remained" = "Залишилося" +"security" = "Беспека" +"secAlertTitle" = "Попередження системи безпеки" +"secAlertSsl" = "Це з'єднання не є безпечним. Будь ласка, уникайте введення конфіденційної інформації, поки TLS не буде активовано для захисту даних." +"secAlertConf" = "Деякі конфігурації були визначені як сприйнятливі до атак, що спонукало негайних дій для посилення протоколів безпеки та захисту від потенційних порушень безпеки." + +[menu] +"dashboard" = "Огляд" +"inbounds" = "Вхідні" +"settings" = "Параметри панелі" +"xray" = "Конфігурації Xray" +"logout" = "Вийти" +"link" = "Керувати" + +[pages.login] +"title" = "Ласкаво просимо" +"loginAgain" = "Ваш сеанс закінчився, увійдіть знову" + +[pages.login.toasts] +"invalidFormData" = "Формат вхідних даних недійсний." +"emptyUsername" = "Потрібне ім'я користувача" +"emptyPassword" = "Потрібен пароль" +"wrongUsernameOrPassword" = "Невірне ім'я користувача або пароль." +"successLogin" = "Вхід" + +[pages.index] +"title" = "Огляд" +"memory" = "Пам'ять" +"hard" = "Диск" +"xrayStatus" = "Xray" +"stopXray" = "Зупинити" +"restartXray" = "Перезапустити" +"xraySwitch" = "Версія" +"xraySwitchClick" = "Виберіть версію, на яку ви хочете перейти." +"xraySwitchClickDesk" = "Вибирайте уважно, оскільки старіші версії можуть бути несумісними з поточними конфігураціями." +"operationHours" = "Час роботи" +"systemLoad" = "Завантаження системи" +"systemLoadDesc" = "Середнє завантаження системи за останні 1, 5 і 15 хвилин" +"connectionTcpCountDesc" = "Загальна кількість TCP-з'єднань у системі" +"connectionUdpCountDesc" = "Загальна кількість UDP-з'єднань у системі" +"connectionCount" = "Статистика з'єднання" +"upSpeed" = "Загальна швидкість завантаження в системі" +"downSpeed" = "Загальна швидкість завантаження в системі" +"totalSent" = "Загальна кількість даних, надісланих через систему з моменту запуску ОС" +"totalReceive" = "Загальна кількість даних, отриманих системою з моменту запуску ОС" +"xraySwitchVersionDialog" = "Змінити версію Xray" +"xraySwitchVersionDialogDesc" = "Ви впевнені, що бажаєте змінити версію Xray на" +"dontRefresh" = "Інсталяція триває, будь ласка, не оновлюйте цю сторінку" +"logs" = "Журнали" +"config" = "Конфігурація" +"backup" = "Резервне копіювання та відновлення" +"backupTitle" = "Резервне копіювання та відновлення бази даних" +"backupDescription" = "Рекомендується зробити резервну копію перед відновленням бази даних." +"exportDatabase" = "Резервне копіювання" +"importDatabase" = "Відновити" + +[pages.inbounds] +"title" = "Вхідні" +"totalDownUp" = "Всього надісланих/отриманих" +"totalUsage" = "Всього використанно" +"inboundCount" = "Загальна кількість вхідних" +"operate" = "Меню" +"enable" = "Увімкнено" +"remark" = "Примітка" +"protocol" = "Протокол" +"port" = "Порт" +"traffic" = "Трафік" +"details" = "Деталі" +"transportConfig" = "Транспорт" +"expireDate" = "Тривалість" +"resetTraffic" = "Скинути трафік" +"addInbound" = "Додати вхідний" +"generalActions" = "Загальні дії" +"create" = "Створити" +"update" = "Оновити" +"modifyInbound" = "Змінити вхідний" +"deleteInbound" = "Видалити вхідні" +"deleteInboundContent" = "Ви впевнені, що хочете видалити вхідні?" +"deleteClient" = "Видалити клієнта" +"deleteClientContent" = "Ви впевнені, що хочете видалити клієнт?" +"resetTrafficContent" = "Ви впевнені, що хочете скинути трафік?" +"copyLink" = "Копіювати URL" +"address" = "Адреса" +"network" = "Мережа" +"destinationPort" = "Порт призначення" +"targetAddress" = "Цільова адреса" +"monitorDesc" = "Залиште порожнім, щоб слухати всі IP-адреси" +"meansNoLimit" = " = Необмежено. (одиниця: ГБ)" +"totalFlow" = "Загальна витрата" +"leaveBlankToNeverExpire" = "Залиште порожнім, щоб ніколи не закінчувався" +"noRecommendKeepDefault" = "Рекомендується зберегти значення за замовчуванням" +"certificatePath" = "Шлях до файлу" +"certificateContent" = "Вміст файлу" +"publicKeyPath" = "Шлях до відкритого ключа" +"publicKeyContent" = "Вміст відкритого ключа" +"keyPath" = "Шлях до закритого ключа" +"keyContent" = "Вміст приватного ключа" +"clickOnQRcode" = "Натисніть QR-код, щоб скопіювати" +"client" = "Клієнт" +"export" = "Експортувати всі URL-адреси" +"clone" = "Клон" +"cloneInbound" = "Клонувати" +"cloneInboundContent" = "Усі налаштування цього вхідного потоку, крім порту, IP-адреси прослуховування та клієнтів, будуть застосовані до клону." +"cloneInboundOk" = "Клонувати" +"resetAllTraffic" = "Скинути весь вхідний трафік" +"resetAllTrafficTitle" = "Скинути весь вхідний трафік" +"resetAllTrafficContent" = "Ви впевнені, що бажаєте скинути трафік усіх вхідних?" +"resetInboundClientTraffics" = "Скинути трафік клієнтів" +"resetInboundClientTrafficTitle" = "Скинути трафік клієнтів" +"resetInboundClientTrafficContent" = "Ви впевнені, що бажаєте скинути трафік клієнтів цього вхідного потоку?" +"resetAllClientTraffics" = "Скинути весь трафік клієнтів" +"resetAllClientTrafficTitle" = "Скинути весь трафік клієнтів" +"resetAllClientTrafficContent" = "Ви впевнені, що бажаєте скинути трафік усіх клієнтів?" +"delDepletedClients" = "Видалити вичерпані клієнти" +"delDepletedClientsTitle" = "Видалити вичерпані клієнти" +"delDepletedClientsContent" = "Ви впевнені, що хочете видалити всі вичерпані клієнти?" +"email" = "Електронна пошта" +"emailDesc" = "Будь ласка, надайте унікальну адресу електронної пошти." +"IPLimit" = "Обмеження IP" +"IPLimitDesc" = "Вимикає вхідний, якщо кількість перевищує встановлене значення. (0 = вимкнено)" +"IPLimitlog" = "Журнал IP" +"IPLimitlogDesc" = "Журнал історії IP-адрес. (щоб увімкнути вхідну після вимкнення, очистіть журнал)" +"IPLimitlogclear" = "Очистити журнал" +"setDefaultCert" = "Установити сертифікат з панелі" +"xtlsDesc" = "Xray має бути v1.7.5" +"realityDesc" = "Xray має бути v1.8.0+" +"telegramDesc" = "Будь ласка, надайте ідентифікатори Telegram або чату без використання '@'. (отримайте його тут @userinfobot) або (використайте команду '/id' у боті)" +"subscriptionDesc" = "Щоб знайти URL-адресу вашої підписки, перейдіть до «Деталі». Крім того, ви можете використовувати одне ім'я для кількох клієнтів." +"info" = "Інформація" +"same" = "Те саме" +"inboundData" = "Вхідні дані" +"exportInbound" = "Експортувати вхідні" +"import" = "Імпорт" +"importInbound" = "Імпортувати вхідний" + +[pages.client] +"add" = "Додати клієнта" +"edit" = "Редагувати клієнта" +"submitAdd" = "Додати клієнта" +"submitEdit" = "Зберегти зміни" +"clientCount" = "Кількість клієнтів" +"bulk" = "Додати групу" +"method" = "Метод" +"first" = "Перший" +"last" = "Останній" +"prefix" = "Префікс" +"postfix" = "Постфікс" +"delayedStart" = "Почати під час першого використання" +"expireDays" = "Тривалість" +"days" = "Дні(в)" +"renew" = "Автоматичне оновлення" +"renewDesc" = "Автоматичне поновлення після закінчення терміну дії. (0 = вимкнено)(одиниця: день)" + +[pages.inbounds.toasts] +"obtain" = "Отримати" + +[pages.inbounds.stream.general] +"request" = "Запит" +"response" = "Відповідь" +"name" = "Ім'я" +"value" = "Значення" + +[pages.inbounds.stream.tcp] +"version" = "Версія" +"method" = "Метод" +"path" = "Шлях" +"status" = "Статус" +"statusDescription" = "Опис стану" +"requestHeader" = "Заголовок запиту" +"responseHeader" = "Заголовок відповіді" + +[pages.inbounds.stream.quic] +"encryption" = "Шифрування" + +[pages.settings] +"title" = "Параметри панелі" +"save" = "Зберегти" +"infoDesc" = "Кожна внесена тут зміна повинна бути збережена. Перезапустіть панель, щоб застосувати зміни." +"restartPanel" = "Перезапустити панель" +"restartPanelDesc" = "Ви впевнені, що бажаєте перезапустити панель? Якщо ви не можете отримати доступ до панелі після перезапуску, будь ласка, перегляньте інформацію журналу панелі на сервері." +"actions" = "Дії" +"resetDefaultConfig" = "Відновити значення за замовчуванням" +"panelSettings" = "Загальні" +"securitySettings" = "Автентифікація" +"TGBotSettings" = "Telegram Бот" +"panelListeningIP" = "Слухати IP" +"panelListeningIPDesc" = "IP-адреса для веб-панелі. (залиште порожнім, щоб слухати всі IP-адреси)" +"panelListeningDomain" = "Домен прослуховування" +"panelListeningDomainDesc" = "Доменне ім'я для веб-панелі. (залиште порожнім, щоб слухати всі домени та IP-адреси)" +"panelPort" = "Порт прослуховування" +"panelPortDesc" = "Номер порту для веб-панелі. (має бути невикористаний порт)" +"publicKeyPath" = "Шлях відкритого ключа" +"publicKeyPathDesc" = "Шлях до файлу відкритого ключа для веб-панелі. (починається з ‘/‘)" +"privateKeyPath" = "Шлях приватного ключа" +"privateKeyPathDesc" = "Шлях до файлу приватного ключа для веб-панелі. (починається з ‘/‘)" +"panelUrlPath" = "Шлях URL" +"panelUrlPathDesc" = "Шлях URL для веб-панелі. (починається з ‘/‘ і закінчується ‘/‘)" +"pageSize" = "Розмір сторінки" +"pageSizeDesc" = "Визначити розмір сторінки для вхідної таблиці. (0 = вимкнено)" +"remarkModel" = "Модель зауваження та роздільний символ" +"datepicker" = "Тип календаря" +"datepickerPlaceholder" = "Виберіть дату" +"datepickerDescription" = "Заплановані завдання виконуватимуться на основі цього календаря." +"sampleRemark" = "Зразок зауваження" +"oldUsername" = "Поточне ім'я користувача" +"currentPassword" = "Поточний пароль" +"newUsername" = "Нове ім'я користувача" +"newPassword" = "Новий пароль" +"telegramBotEnable" = "Увімкнути Telegram Bot" +"telegramBotEnableDesc" = "Вмикає бота Telegram." +"telegramToken" = "Telegram Токен" +"telegramTokenDesc" = "Токен бота Telegram, отриманий від '@BotFather'." +"telegramProxy" = "SOCKS Проксі" +"telegramProxyDesc" = "Вмикає проксі-сервер SOCKS5 для підключення до Telegram. (відкоригуйте параметри відповідно до посібника)" +"telegramChatId" = "Ідентифікатор чату адміністратора" +"telegramChatIdDesc" = "Ідентифікатори чату адміністратора Telegram. (розділені комами) (отримайте тут @userinfobot) або (використовуйте команду '/id' у боті)" +"telegramNotifyTime" = "Час сповіщення" +"telegramNotifyTimeDesc" = "Час повідомлення бота Telegram, встановлений для періодичних звітів. (використовуйте формат часу crontab)" +"tgNotifyBackup" = "Резервне копіювання бази даних" +"tgNotifyBackupDesc" = "Надіслати файл резервної копії бази даних зі звітом." +"tgNotifyLogin" = "Сповіщення про вхід" +"tgNotifyLoginDesc" = "Отримувати сповіщення про ім'я користувача, IP-адресу та час щоразу, коли хтось намагається увійти у вашу веб-панель." +"sessionMaxAge" = "Тривалість сеансу" +"sessionMaxAgeDesc" = "Тривалість, протягом якої ви можете залишатися в системі. (одиниця: хвилина)" +"expireTimeDiff" = "Повідомлення про дату закінчення" +"expireTimeDiffDesc" = "Отримувати сповіщення про термін дії при досягненні цього порогу. (одиниця: день)" +"trafficDiff" = "Повідомлення про обмеження трафіку" +"trafficDiffDesc" = "Отримувати сповіщення про обмеження трафіку при досягненні цього порогу. (одиниця: ГБ)" +"tgNotifyCpu" = "Сповіщення про завантаження ЦП" +"tgNotifyCpuDesc" = "Отримувати сповіщення, якщо навантаження ЦП перевищує це порогове значення. (одиниця: %)" +"timeZone" = "Часовий пояс" +"timeZoneDesc" = "Заплановані завдання виконуватимуться на основі цього часового поясу." +"subSettings" = "Підписка" +"subEnable" = "Увімкнути службу підписки" +"subEnableDesc" = "Вмикає службу підписки." +"subListen" = "Слухати IP" +"subListenDesc" = "IP-адреса для служби підписки. (залиште порожнім, щоб слухати всі IP-адреси)" +"subPort" = "Слухати порт" +"subPortDesc" = "Номер порту для служби підписки. (має бути невикористаний порт)" +"subCertPath" = "Шлях відкритого ключа" +"subCertPathDesc" = "Шлях до файлу відкритого ключа для служби підписки. (починається з ‘/‘)" +"subKeyPath" = "Шлях приватного ключа" +"subKeyPathDesc" = "Шлях до файлу приватного ключа для служби підписки. (починається з ‘/‘)" +"subPath" = "Шлях URI" +"subPathDesc" = "Шлях URI для служби підписки. (починається з ‘/‘ і закінчується ‘/‘)" +"subDomain" = "Домен прослуховування" +"subDomainDesc" = "Ім'я домену для служби підписки. (залиште порожнім, щоб слухати всі домени та IP-адреси)" +"subUpdates" = "Інтервали оновлення" +"subUpdatesDesc" = "Інтервали оновлення URL-адреси підписки в клієнтських програмах. (одиниця: година)" +"subEncrypt" = "Закодувати" +"subEncryptDesc" = "Повернений вміст послуги підписки матиме кодування Base64." +"subShowInfo" = "Показати інформацію про використання" +"subShowInfoDesc" = "Залишок трафіку та дата відображатимуться в клієнтських програмах." +"subURI" = "URI зворотного проксі" +"subURIDesc" = "URI до URL-адреси підписки для використання за проксі." +"fragment" = "Фрагментація" +"fragmentDesc" = "Увімкнути фрагментацію для пакету привітання TLS" + +[pages.xray] +"title" = "Xray конфігурації" +"save" = "Зберегти" +"restart" = "Перезапустити Xray" +"basicTemplate" = "Базовий шаблон" +"advancedTemplate" = "Додатково" +"generalConfigs" = "Загальні конфігурації" +"generalConfigsDesc" = "Ці параметри визначатимуть загальні налаштування." +"logConfigs" = "Журнал" +"logConfigsDesc" = "Журнали можуть вплинути на ефективність вашого сервера. Рекомендується вмикати його з розумом лише у випадку ваших потреб" +"blockConfigs" = "Захисний екран" +"blockConfigsDesc" = "Ці параметри блокуватимуть трафік на основі конкретних запитуваних протоколів і веб-сайтів." +"blockCountryConfigs" = "Заблокувати країну" +"blockCountryConfigsDesc" = "Ці параметри блокуватимуть трафік на основі конкретної запитуваної країни." +"directCountryConfigs" = "Пряма країна" +"directCountryConfigsDesc" = "Ці параметри безпосередньо перенаправлятимуть трафік на основі конкретної запитуваної країни." +"ipv4Configs" = "Маршрутизація IPv4" +"ipv4ConfigsDesc" = "Ці параметри спрямовуватимуть трафік на основі певного призначення через IPv4." +"warpConfigs" = "WARP маршрутизація" +"warpConfigsDesc" = "Ці параметри маршрутизуватимуть трафік на основі певного пункту призначення через WARP." +"Template" = "Шаблон розширеної конфігурації Xray" +"TemplateDesc" = "Остаточний конфігураційний файл Xray буде створено на основі цього шаблону." +"FreedomStrategy" = "Стратегія протоколу свободи" +"FreedomStrategyDesc" = "Установити стратегію виведення для мережі в протоколі свободи." +"RoutingStrategy" = "Загальна стратегія маршрутизації" +"RoutingStrategyDesc" = "Установити загальну стратегію маршрутизації трафіку для вирішення всіх запитів." +"Torrent" = "Блокувати протокол BitTorrent" +"TorrentDesc" = "Блокує протокол BitTorrent." +"PrivateIp" = "Блокувати підключення до приватних IP-адрес" +"PrivateIpDesc" = "Блокує встановлення підключень до приватних діапазонів IP." +"Ads" = "Блокувати рекламу" +"AdsDesc" = "Блокує рекламні веб-сайти." +"Family" = "Захист сім'ї" +"FamilyDesc" = "Блокує вміст для дорослих і веб-сайти з шкідливими програмами." +"Security" = "Щит безпеки" +"SecurityDesc" = "Блокує веб-сайти шкідливого програмного забезпечення, фішингу та майнерів." +"Speedtest" = "Заблокувати Speedtest" +"SpeedtestDesc" = "Блокує підключення до веб-сайтів для тестування швидкості." +"IRIp" = "Блокувати підключення до IP-адрес Ірану" +"IRIpDesc" = "Блокує встановлення з'єднань з діапазонами IP Ірану." +"IRDomain" = "Блокувати підключення до доменів Ірану" +"IRDomainDesc" = "Блокує встановлення з'єднань з доменами Ірану." +"ChinaIp" = "Блокувати підключення до IP-адрес Китаю" +"ChinaIpDesc" = "Блокує встановлення з'єднань із діапазонами IP-адрес Китаю." +"ChinaDomain" = "Блокувати підключення до китайських доменів" +"ChinaDomainDesc" = "Блокує встановлення підключень до доменів Китаю." +"RussiaIp" = "Блокувати підключення до російських IP-адрес" +"RussiaIpDesc" = "Блокує встановлення з'єднань з діапазонами IP-адрес Росії." +"RussiaDomain" = "Блокувати підключення до російських доменів" +"RussiaDomainDesc" = "Блокує встановлення з'єднань з російськими доменами." +"VNIp" = "Блокувати підключення до IP-адрес В'єтнаму" +"VNIpDesc" = "Блокує встановлення з'єднань із діапазонами IP-адрес В'єтнаму." +"VNDomain" = "Блокувати підключення до доменів В'єтнаму" +"VNDomainDesc" = "Блокує встановлення з'єднань із доменами В'єтнаму." +"DirectIRIp" = "Пряме підключення до IP-адрес Ірану" +"DirectIRIpDesc" = "Безпосередньо встановлює з'єднання з діапазонами IP Ірану." +"DirectIRDomain" = "Пряме підключення до доменів Ірану" +"DirectIRDomainDesc" = "Безпосередньо встановлює підключення до доменів Ірану." +"DirectChinaIp" = "Пряме підключення до китайських IP-адрес" +"DirectChinaIpDesc" = "Безпосередньо встановлює підключення до IP-діапазонів Китаю." +"DirectChinaDomain" = "Пряме підключення до китайських доменів" +"DirectChinaDomainDesc" = "Безпосередньо встановлює підключення до доменів Китаю." +"DirectRussiaIp" = "Пряме підключення до IP-адрес Росії" +"DirectRussiaIpDesc" = "Безпосередньо встановлює з'єднання з діапазонами IP-адрес Росії." +"DirectRussiaDomain" = "Пряме підключення до російських доменів" +"DirectRussiaDomainDesc" = "Безпосередньо встановлює підключення до російських доменів." +"DirectVNIp" = "Пряме підключення до IP-адрес В'єтнаму" +"DirectVNIpDesc" = "Безпосередньо встановлює з'єднання з діапазонами IP-адрес В'єтнаму." +"DirectVNDomain" = "Пряме підключення до доменів В'єтнаму" +"DirectVNDomainDesc" = "Безпосередньо встановлює з'єднання з доменами В'єтнаму." +"GoogleIPv4" = "Google" +"GoogleIPv4Desc" = "Направляє трафік до Google через IPv4." +"NetflixIPv4" = "Netflix" +"NetflixIPv4Desc" = "Направляє трафік до Netflix через IPv4." +"GoogleWARP" = "Google" +"GoogleWARPDesc" = "Додати маршрутизацію для Google через WARP." +"OpenAIWARP" = "ChatGPT" +"OpenAIWARPDesc" = "Направляє трафік до ChatGPT через WARP." +"NetflixWARP" = "Netflix" +"NetflixWARPDesc" = "Направляє трафік до Netflix через WARP." +"MetaWARP" = "Meta" +"MetaWARPDesc" = "Направляє трафік до Meta (Instagram, Facebook, WhatsApp, Threads,...) через WARP." +"AppleWARP" = "Apple" +"AppleWARPDesc" = "Направляє трафік до Apple через WARP." +"RedditWARP" = "Reddit" +"RedditWARPDesc" = "Направляє трафік до Reddit через WARP." +"SpotifyWARP" = "Spotify" +"SpotifyWARPDesc" = "Направляє трафік до Spotify через WARP." +"IRWARP" = "Іранські домени" +"IRWARPDesc" = "Направляє трафік до доменів Ірану через WARP" +"Inbounds" = "Вхідні" +"InboundsDesc" = "Прийняття певних клієнтів." +"Outbounds" = "Вихід" +"Balancers" = "Балансери" +"OutboundsDesc" = "Встановити шлях вихідного трафіку." +"Routings" = "Правила маршрутизації" +"RoutingsDesc" = "Пріоритет кожного правила важливий!" +"completeTemplate" = "Усі" +"logLevel" = "Рівень журналу" +"logLevelDesc" = "Рівень журналу для журналів помилок із зазначенням інформації, яку потрібно записати." +"accessLog" = "Журнал доступу" +"accessLogDesc" = "Шлях до файлу журналу доступу. Спеціальне значення 'none' вимикає журнали доступу" +"errorLog" = "Журнал помилок" +"errorLogDesc" = "Шлях до файлу журналу помилок. Спеціальне значення 'none' вимикає журнали помилок" + +[pages.xray.rules] +"first" = "Перший" +"last" = "Останній" +"up" = "Вгору" +"down" = "Вниз" +"source" = "Джерело" +"dest" = "Пункт призначення" +"inbound" = "Вхідний" +"outbound" = "Вихідний" +"balancer" = "Балансувальник" +"info" = "Інформація" +"add" = "Додати правило" +"edit" = "Редагувати правило" +"useComma" = "Елементи, розділені комами" + +[pages.xray.outbound] +"addOutbound" = "Додати вихідний" +"addReverse" = "Додати реверс" +"editOutbound" = "Редагувати вихідні" +"editReverse" = "Редагувати реверс" +"tag" = "Тег" +"tagDesc" = "Унікальний тег" +"address" = "Адреса" +"reverse" = "Зворотний" +"domain" = "Домен" +"type" = "Тип" +"bridge" = "Міст" +"portal" = "Портал" +"intercon" = "Взаємозв'язок" + +[pages.xray.balancer] +"addBalancer" = "Додати балансир" +"editBalancer" = "Редагувати балансир" +"balancerStrategy" = "Стратегія" +"balancerSelectors" = "Селектори" +"tag" = "Тег" +"tagDesc" = "Унікальний тег" +"balancerDesc" = "Неможливо використовувати balancerTag і outboundTag одночасно. Якщо використовувати одночасно, працюватиме лише outboundTag." + +[pages.xray.wireguard] +"secretKey" = "Приватний ключ" +"publicKey" = "Публічний ключ" +"allowedIPs" = "Дозволені IP-адреси" +"endpoint" = "Кінцева точка" +"psk" = "Спільний ключ" +"domainStrategy" = "Стратегія домену" + +[pages.xray.dns] +"enable" = "Увімкнути DNS" +"enableDesc" = "Увімкнути вбудований DNS-сервер" +"strategy" = "Стратегія запиту" +"strategyDesc" = "Загальна стратегія вирішення доменних імен" +"add" = "Додати сервер" +"edit" = "Редагувати сервер" +"domains" = "Домени" + +[pages.xray.fakedns] +"add" = "Додати підроблений DNS" +"edit" = "Редагувати підроблений DNS" +"ipPool" = "Підмережа IP-пулу" +"poolSize" = "Розмір пулу" + +[pages.settings.security] +"admin" = "Адміністратор" +"secret" = "Секретний маркер" +"loginSecurity" = "Безпечний вхід" +"loginSecurityDesc" = "Додає додатковий рівень автентифікації для забезпечення більшої безпеки." +"secretToken" = "Секретний маркер" +"secretTokenDesc" = "Будь ласка, надійно зберігайте цей маркер у безпечному місці. Цей маркер потрібен для входу, і його неможливо відновити." + +[pages.settings.toasts] +"modifySettings" = "Змінити налаштування" +"getSettings" = "Отримати налаштування" +"modifyUser" = "Змінити адміністратора" +"originalUserPassIncorrect" = "Поточне ім'я користувача або пароль недійсні" +"userPassMustBeNotEmpty" = "Нове ім'я користувача та пароль порожні" + +[tgbot] +"keyboardClosed" = "❌ Спеціальна клавіатура закрита!" +"noResult" = "❗ Немає результату!" +"noQuery" = "❌ Запит не знайдено! Скористайтеся командою ще раз!" +"wentWrong" = "❌ Щось пішло не так!" +"noIpRecord" = "❗ Немає IP-запису!" +"noInbounds" = "❗ Вхідних не знайдено!" +"unlimited" = "♾ Необмежений (скинути)" +"add" = "Додати" +"month" = "Місяць" +"months" = "Місяці" +"day" = "День" +"days" = "Дні" +"hours" = "Годинник" +"unknown" = "Невідомо" +"inbounds" = "Вхідні" +"clients" = "Клієнти" +"offline" = "🔴 Офлайн" +"online" = "🟢 Онлайн" + +[tgbot.commands] +"unknown" = "❗ Невідома команда." +"pleaseChoose" = "👇 Будь ласка, виберіть:\r\n" +"help" = "🤖 Ласкаво просимо до цього бота! Він розроблений, щоб надавати певні дані з веб-панелі та дозволяє вносити зміни за потреби.\r\n\r\n" +"start" = "👋 Привіт {{ .Firstname }}.\r\n" +"welcome" = "🤖 Ласкаво просимо до {{ .Hostname }} бота керування.\r\n" +"status" = "✅ Бот в порядку!" +"usage" = "❗ Введіть текст для пошуку!" +"getID" = "🆔 Ваш ідентифікатор: {{ .ID }}" +"helpAdminCommands" = "Для пошуку електронної пошти клієнта:\r\n/usage [Email]\r\n\r\nДля пошуку вхідних листів (зі статистикою клієнта):\r\n/inbound [Примітка]" +"helpClientCommands" = "Для пошуку статистики скористайтеся такою командою:\r\n\r\n/usage [Email]" + +[tgbot.messages] +"cpuThreshold" = "🔴 Навантаження ЦП {{ .Percent }}% перевищує порогове значення {{ .Threshold }}%" +"selectUserFailed" = "❌ Помилка під час вибору користувача!" +"userSaved" = "✅ Користувача Telegram збережено." +"loginSuccess" = "✅ Успішно ввійшли в панель\r\n" +"loginFailed" = "❗️ Помилка входу в панель.\r\n" +"report" = "🕰 Заплановані звіти: {{ .RunTime }}\r\n" +"datetime" = "⏰ Дата й час: {{ .DateTime }}\r\n" +"hostname" = "💻 Хост: {{ .Hostname }}\r\n" +"version" = "🚀 3X-UI Версія: {{ .Version }}\r\n" +"ipv6" = "🌐 IPv6: {{ .IPv6 }}\r\n" +"ipv4" = "🌐 IPv4: {{ .IPv4 }}\r\n" +"ip" = "🌐 IP: {{ .IP }}\r\n" +"ips" = "🔢 IP-адреси:\r\n{{ .IPs }}\r\n" +"serverUpTime" = "⏳ Час роботи: {{ .UpTime }} {{ .Unit }}\r\n" +"serverLoad" = "📈 Завантаження системи: {{ .Load1 }}, {{ .Load2 }}, {{ .Load3 }}\r\n" +"serverMemory" = "📋 RAM: {{ .Current }}/{{ .Total }}\r\n" +"tcpCount" = "🔹 TCP: {{ .Count }}\r\n" +"udpCount" = "🔸 UDP: {{ .Count }}\r\n" +"traffic" = "🚦 Трафік: {{ .Total }} (↑{{ .Upload }},↓{{ .Download }})\r\n" +"xrayStatus" = "ℹ️ Статус: {{ .State }}\r\n" +"username" = "👤 Ім'я користувача: {{ .Username }}\r\n" +"time" = "⏰ Час: {{ .Time }}\r\n" +"inbound" = "📍 Inbound: {{ .Remark }}\r\n" +"port" = "🔌 Порт: {{ .Port }}\r\n" +"expire" = "📅 Дата закінчення: {{ .Time }}\r\n" +"expireIn" = "📅 Термін дії: {{ .Time }}\r\n" +"active" = "💡 Активний: {{ .Enable }}\r\n" +"enabled" = "🚨 Увімкнено: {{ .Enable }}\r\n" +"online" = "🌐 Стан підключення: {{ .Status }}\r\n" +"email" = "📧 Електронна пошта: {{ .Email }}\r\n" +"upload" = "🔼 Upload: ↑{{ .Upload }}\r\n" +"download" = "🔽 Download: ↓{{ .Download }}\r\n" +"total" = "📊 Всього: ↑↓{{ .UpDown }} / {{ .Total }}\r\n" +"TGUser" = "👤 Користувач Telegram: {{ .TelegramID }}\r\n" +"exhaustedMsg" = "🚨 Вичерпано {{ .Type }}:\r\n" +"exhaustedCount" = "🚨 Вичерпано кількість {{ .Type }} count:\r\n" +"onlinesCount" = "🌐 Онлайн-клієнти: {{ .Count }}\r\n" +"disabled" = "🛑 Вимкнено: {{ .Disabled }}\r\n" +"depleteSoon" = "🔜 Скоро вичерпається: {{ .Deplete }}\r\n\r\n" +"backupTime" = "🗄 Час резервного копіювання: {{ .Time }}\r\n" +"refreshedOn" = "\r\n📋🔄 Оновлено: {{ .Time }}\r\n\r\n" +"yes" = "✅ Так" +"no" = "❌ Ні" + +[tgbot.buttons] +"closeKeyboard" = "❌ Закрити клавіатуру" +"cancel" = "❌ Скасувати" +"cancelReset" = "❌ Скасувати скидання" +"cancelIpLimit" = "❌ Скасувати обмеження IP" +"confirmResetTraffic" = "✅ Підтвердити скидання трафіку?" +"confirmClearIps" = "✅ Підтвердити очищення IP-адрес?" +"confirmRemoveTGUser" = "✅ Підтвердити видалення користувача Telegram?" +"confirmToggle" = "✅ Підтвердити ввімкнути/вимкнути користувача?" +"dbBackup" = "Отримати резервну копію БД" +"serverUsage" = "Використання сервера" +"getInbounds" = "Отримати вхідні" +"depleteSoon" = "Скоро вичерпати" +"clientUsage" = "Отримати використання" +"onlines" = "Онлайн-клієнти" +"commands" = "Команди" +"refresh" = "🔄 Оновити" +"clearIPs" = "❌ Очистити IP-адреси" +"removeTGUser" = "❌ Видалити користувача Telegram" +"selectTGUser" = "👤 Виберіть користувача Telegram" +"selectOneTGUser" = "👤 Виберіть користувача Telegram:" +"resetTraffic" = "📈 Скинути трафік" +"resetExpire" = "📅 Змінити термін дії" +"ipLog" = "🔢 IP журнал" +"ipLimit" = "🔢 IP Ліміт" +"setTGUser" = "👤 Встановити користувача Telegram" +"toggle" = "🔘 Увімкнути / Вимкнути" +"custom" = "🔢 Custom" +"confirmNumber" = "✅ Підтвердити: {{ .Num }}" +"confirmNumberAdd" = "✅ Підтвердити додавання: {{ .Num }}" +"limitTraffic" = "🚧 Ліміт трафіку" +"getBanLogs" = "Отримати журнали заборон" + +[tgbot.answers] +"successfulOperation" = "✅ Операція успішна!" +"errorOperation" = "❗ Помилка в роботі." +"getInboundsFailed" = "❌ Не вдалося отримати вхідні повідомлення." +"canceled" = "❌ {{ .Email }}: Операцію скасовано." +"clientRefreshSuccess" = "✅ {{ .Email }}: Клієнт успішно оновлено." +"IpRefreshSuccess" = "✅ {{ .Email }}: IP-адреси успішно оновлено." +"TGIdRefreshSuccess" = "✅ {{ .Email }}: Користувач Telegram клієнта успішно оновлено." +"resetTrafficSuccess" = "✅ {{ .Email }}: Трафік скинуто успішно." +"setTrafficLimitSuccess" = "✅ {{ .Email }}: Ліміт трафіку успішно збережено." +"expireResetSuccess" = "✅ {{ .Email }}: Успішно скинуто дні закінчення терміну дії." +"resetIpSuccess" = "✅ {{ .Email }}: IP обмеження {{ .Count }} успішно збережено." +"clearIpSuccess" = "✅ {{ .Email }}: IP успішно очищено." +"getIpLog" = "✅ {{ .Email }}: Отримати IP-журнал." +"getUserInfo" = "✅ {{ .Email }}: Отримати інформацію про користувача Telegram." +"removedTGUserSuccess" = "✅ {{ .Email }}: Користувача Telegram видалено успішно." +"enableSuccess" = "✅ {{ .Email }}: Увімкнути успішно." +"disableSuccess" = "✅ {{ .Email }}: Успішно вимкнено." +"askToAddUserId" = "Вашу конфігурацію не знайдено!\r\nБудь ласка, попросіть свого адміністратора використовувати ваш ідентифікатор Telegram у вашій конфігурації.\r\n\r\nВаш ідентифікатор користувача: {{ .TgUserID }}"