Browse Source

Added Ukrainian language (#1926)

* Added Ukrainian language

Ukrainian

* Update langs.js

Added Ukrainian language
Nikolas 1 year ago
parent
commit
688ae4da10
2 changed files with 626 additions and 0 deletions
  1. 5 0
      web/assets/js/langs.js
  2. 621 0
      web/translation/translate.uk_UA.toml

+ 5 - 0
web/assets/js/langs.js

@@ -34,6 +34,11 @@ const supportLangs = [
         value: 'id-ID',
         icon: '🇮🇩',
     },
+    {
+        name: 'Український',
+        value: 'uk-UA',
+        icon: '🇺🇦',
+    },
 ];
 
 function getLang() {

+ 621 - 0
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" = "👋 Привіт <i>{{ .Firstname }}</i>.\r\n"
+"welcome" = "🤖 Ласкаво просимо до <b>{{ .Hostname }}</b> бота керування.\r\n"
+"status" = "✅ Бот в порядку!"
+"usage" = "❗ Введіть текст для пошуку!"
+"getID" = "🆔 Ваш ідентифікатор: <code>{{ .ID }}</code>"
+"helpAdminCommands" = "Для пошуку електронної пошти клієнта:\r\n<code>/usage [Email]</code>\r\n\r\nДля пошуку вхідних листів (зі статистикою клієнта):\r\n<code>/inbound [Примітка]</code>"
+"helpClientCommands" = "Для пошуку статистики скористайтеся такою командою:\r\n\r\n<code>/usage [Email]</code>"
+
+[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Ваш ідентифікатор користувача: <code>{{ .TgUserID }}</code>"