♻️ refactor(view): System and Auth Control

This commit is contained in:
web
2025-08-04 08:58:57 -07:00
committed by speakeloudest
parent 9ba3ec40d6
commit 97aa24ba8e
333 changed files with 13905 additions and 9399 deletions
-16
View File
@@ -1,16 +0,0 @@
{
"clientId": "Ідентифікатор сервісу",
"clientIdDescription": "Apple Service ID, ви можете отримати його на порталі розробників Apple",
"clientSecret": "Приватний ключ",
"clientSecretDescription": "Вміст приватного ключа (.p8 файл), що використовується для автентифікації з Apple",
"enable": "Увімкнути",
"enableDescription": "Після увімкнення користувачі можуть увійти за допомогою свого Apple ID",
"keyId": "Ідентифікатор ключа",
"keyIdDescription": "Ідентифікатор вашого приватного ключа з Apple Developer Portal",
"redirectUri": "URL перенаправлення",
"redirectUriDescription": "Будь ласка, введіть адресу API перенаправленого URL після успішної аутентифікації через Apple. Не використовуйте / в кінці.",
"saveFailed": "Не вдалося зберегти",
"saveSuccess": "Збереження успішне",
"teamId": "Ідентифікатор команди",
"teamIdDescription": "Ідентифікатор команди розробників Apple"
}
+187 -55
View File
@@ -1,15 +1,150 @@
{
"invite": {
"commissionFirstTimeOnly": "Комісія лише за першу покупку",
"commissionFirstTimeOnlyDescription": "При увімкненні комісія нараховується лише за перший платіж запрошуючого; ви можете налаштувати окремих користувачів у керуванні користувачами",
"enableForcedInvite": "Увімкнути примусове запрошення",
"enableForcedInviteDescription": "При увімкненні лише запрошені користувачі можуть зареєструватися",
"inputPlaceholder": "Введіть",
"inviteCommissionPercentage": "Відсоток комісії за запрошення",
"inviteCommissionPercentageDescription": "Стандартне глобальне співвідношення розподілу комісії; ви можете налаштувати окремі співвідношення у керуванні користувачами",
"inviteSettings": "Налаштування запрошення",
"apple": {
"clientId": "Ідентифікатор сервісу",
"clientIdDescription": "Apple Service ID, ви можете отримати його на порталі розробників Apple",
"clientSecret": "Приватний ключ",
"clientSecretDescription": "Вміст приватного ключа (.p8 файл), що використовується для автентифікації з Apple",
"description": "Аутентифікація користувачів за допомогою облікових записів Apple",
"enable": "Увімкнути",
"enableDescription": "Після увімкнення користувачі можуть увійти за допомогою свого Apple ID",
"keyId": "Ідентифікатор ключа",
"keyIdDescription": "Ідентифікатор вашого приватного ключа з Apple Developer Portal",
"redirectUri": "URL перенаправлення",
"redirectUriDescription": "Будь ласка, введіть адресу API перенаправленого URL після успішної аутентифікації через Apple. Не використовуйте / в кінці.",
"teamId": "Ідентифікатор команди",
"teamIdDescription": "Ідентифікатор команди розробників Apple",
"title": "Увійти через Apple"
},
"common": {
"cancel": "Скасувати",
"save": "Зберегти",
"saveFailed": "Не вдалося зберегти",
"saveSuccess": "Успішно збережено"
},
"communicationMethods": "Communication Methods",
"device": {
"blockVirtualMachine": "Блокувати віртуальну машину",
"blockVirtualMachineDescription": "При увімкненні пристрої не зможуть працювати на віртуальних машинах або емуляторах",
"communicationKey": "Ключ зв'язку",
"communicationKeyDescription": "Ключ зв'язку використовується для безпечного зв'язку між пристроями та серверами",
"description": "Аутентифікація користувачів за допомогою ідентифікаторів пристроїв",
"enable": "Увімкнути",
"enableDescription": "Після увімкнення підтримуються кілька ідентифікаторів пристроїв, таких як IMEI/IDFA/IDFV/AndroidID/Mac-адреса для входу та реєстрації",
"enableSecurity": "Увімкнути шифрування зв'язку",
"enableSecurityDescription": "При увімкненні зв'язок між пристроями та серверами буде зашифровано",
"showAds": "Показувати рекламу",
"showAdsDescription": "При увімкненні на пристроях буде відображатися реклама",
"title": "Аутентифікація пристрою"
},
"deviceAuthMethods": "Device Authentication Methods",
"email": {
"basicSettings": "Основні налаштування",
"description": "Аутентифікація користувачів за допомогою електронних адрес",
"emailSuffixWhitelist": "Білий список суфіксів електронної пошти",
"emailSuffixWhitelistDescription": "Коли увімкнено, лише електронні адреси з суфіксами зі списку можуть реєструватися",
"emailVerification": "Підтвердження електронної пошти",
"emailVerificationDescription": "Коли ввімкнено, користувачам потрібно буде підтвердити свою електронну пошту",
"enable": "Увімкнути",
"enableDescription": "Після активації будуть доступні функції реєстрації електронною поштою, входу, прив'язки та відв'язки.",
"expirationEmailTemplate": "Шаблон електронного листа про закінчення терміну",
"expirationTemplate": "Повідомлення про закінчення терміну",
"inputPlaceholder": "Введіть значення...",
"logs": "Журнали",
"logsDescription": "Переглянути історію надісланих електронних листів та їх статус",
"maintenanceEmailTemplate": "Шаблон електронного листа про технічне обслуговування",
"maintenanceTemplate": "Повідомлення про технічне обслуговування",
"sendFailure": "Не вдалося надіслати тестовий електронний лист, будь ласка, перевірте налаштування.",
"sendSuccess": "Тестовий електронний лист успішно надіслано.",
"sendTestEmail": "Надіслати тестовий електронний лист",
"sendTestEmailDescription": "Надіслати тестовий електронний лист для перевірки конфігурації.",
"senderAddress": "Адреса відправника",
"senderAddressDescription": "Адреса електронної пошти за замовчуванням, яка використовується для відправки електронних листів.",
"smtpAccount": "Обліковий запис SMTP",
"smtpAccountDescription": "Обліковий запис електронної пошти, що використовується для автентифікації.",
"smtpEncryptionMethod": "Метод шифрування SMTP",
"smtpEncryptionMethodDescription": "Виберіть, чи увімкнути шифрування SSL/TLS.",
"smtpPassword": "SMTP пароль",
"smtpPasswordDescription": "Пароль для облікового запису SMTP.",
"smtpServerAddress": "Адреса SMTP сервера",
"smtpServerAddressDescription": "Вкажіть адресу сервера, що використовується для відправки електронних листів.",
"smtpServerPort": "Порт SMTP сервера",
"smtpServerPortDescription": "Вкажіть порт, який використовується для підключення до SMTP-сервера.",
"smtpSettings": "Налаштування SMTP",
"templateVariables": {
"code": {
"description": "6-значний код підтвердження",
"title": "Код підтвердження"
},
"expire": {
"description": "Час дії коду підтвердження (хвилини)",
"title": "Термін дії"
},
"expireDate": {
"description": "Дата закінчення послуги, нагадує користувачам, коли послуга закінчується",
"title": "Дата закінчення"
},
"maintenanceDate": {
"description": "Дата технічного обслуговування системи, відображає дату початку технічного обслуговування",
"title": "Дата технічного обслуговування"
},
"maintenanceTime": {
"description": "Орієнтовний час технічного обслуговування, відображає період або тривалість технічного обслуговування",
"title": "Тривалість технічного обслуговування"
},
"siteLogo": {
"description": "URL-адреса зображення логотипу вебсайту",
"title": "Логотип сайту"
},
"siteName": {
"description": "Поточна назва вебсайту",
"title": "Назва сайту"
},
"title": "Змінні шаблону електронної пошти",
"type": {
"conditionalSyntax": "Підтримує умовний синтаксис для зміни вмісту на основі типу",
"description": "Ідентифікатор типу електронної пошти, 1 для коду підтвердження реєстрації, інші для коду підтвердження скидання пароля",
"title": "Тип електронної пошти"
}
},
"title": "Аутентифікація електронною поштою",
"trafficExceedEmailTemplate": "Шаблон електронного листа про перевищення трафіку",
"trafficTemplate": "Обмеження трафіку",
"verifyEmailTemplate": "Шаблон електронного листа для підтвердження",
"verifyTemplate": "Електронний лист для підтвердження",
"whitelistSuffixes": "Білий список суфіксів",
"whitelistSuffixesDescription": "Використовується для перевірки електронної пошти під час реєстрації; один на рядок",
"whitelistSuffixesPlaceholder": "Введіть суфікси електронної пошти, по одному на рядок"
},
"facebook": {
"clientId": "Ідентифікатор клієнта",
"clientIdDescription": "Ідентифікатор додатка Facebook з консолі розробників Facebook",
"clientSecret": "Секрет клієнта",
"clientSecretDescription": "Секретний ключ додатку Facebook з консолі розробників Facebook",
"description": "Аутентифікація користувачів за допомогою облікових записів Facebook",
"enable": "Увімкнути",
"enableDescription": "Після увімкнення користувачі можуть увійти за допомогою свого облікового запису Facebook",
"title": "Увійти через Facebook"
},
"github": {
"clientId": "Ідентифікатор клієнта GitHub",
"clientIdDescription": "Ідентифікатор клієнта з налаштувань вашого GitHub OAuth додатку",
"clientSecret": "Секретний ключ клієнта GitHub",
"clientSecretDescription": "Секрет клієнта з налаштувань вашого OAuth додатку GitHub",
"description": "Аутентифікація користувачів за допомогою облікових записів GitHub",
"enable": "Увімкнути автентифікацію через GitHub",
"enableDescription": "Дозволити користувачам входити за допомогою своїх облікових записів GitHub",
"title": "Увійти через GitHub"
},
"google": {
"clientId": "Ідентифікатор клієнта",
"clientIdDescription": "Ідентифікатор клієнта Google OAuth 2.0 з консолі Google Cloud",
"clientSecret": "Секрет клієнта",
"clientSecretDescription": "Секрет клієнта Google OAuth 2.0 з консолі Google Cloud",
"description": "Аутентифікація користувачів за допомогою облікових записів Google",
"enable": "Увімкнути",
"enableDescription": "Після увімкнення користувачі можуть увійти за допомогою свого облікового запису Google",
"title": "Увійти через Google"
},
"log": {
"content": "Контент",
"createdAt": "Дата створення",
@@ -23,52 +158,49 @@
"to": "Одержувач",
"updatedAt": "Дата оновлення"
},
"register": {
"day": ень",
"hour": "Година",
"ipRegistrationLimit": "Обмеження реєстрації за IP",
"ipRegistrationLimitDescription": "При увімкненні IP, які відповідають вимогам правила, будуть обмежені в реєстрації; зверніть увагу, що визначення IP може викликати проблеми через CDN або проксі-сервери",
"minute": "Хвилина",
"month": "Місяць",
"noLimit": "Без обмежень",
"penaltyTime": "Час покарання (хвилини)",
"penaltyTimeDescription": "Користувачі повинні почекати, поки час покарання не закінчиться, перш ніж знову реєструватися",
"registerSettings": "Налаштування реєстрації",
"registrationLimitCount": "Ліміт кількості реєстрацій",
"registrationLimitCountDescription": "Увімкнути покарання після досягнення ліміту реєстрацій",
"saveSuccess": "Успішно збережено",
"stopNewUserRegistration": "Зупинити реєстрацію нових користувачів",
"stopNewUserRegistrationDescription": "При увімкненні ніхто не може зареєструватися",
"trialDuration": "Тривалість пробного періоду",
"trialRegistration": "Пробна реєстрація",
"trialRegistrationDescription": "Увімкнути пробну реєстрацію; спочатку змініть пакет пробного періоду та тривалість",
"trialSubscribePlan": "План пробної підписки",
"trialSubscribePlanDescription": "Виберіть план пробної підписки",
"year": "Рік"
"phone": {
"accessLabel": оступ",
"applyPlatform": "Застосувати платформу",
"description": "Аутентифікація користувачів за допомогою номерів телефонів",
"enable": "Увімкнути",
"enableTip": "Після увімкнення будуть доступні функції реєстрації, входу, прив'язки та відв'язки мобільного телефону",
"endpointLabel": "Кінцева точка",
"logs": "Журнали",
"logsDescription": "Переглянути історію надісланих SMS-повідомлень та їх статус",
"phoneNumberLabel": "Номер телефону",
"placeholders": {
"template": "Ваш код підтвердження {code}, дійсний протягом 5 хвилин"
},
"platform": "Платформа SMS",
"platformConfigTip": "Будь ласка, заповніть надану конфігурацію {key}",
"platformTip": "Будь ласка, виберіть платформу SMS",
"secretLabel": "Секрет",
"sendFailed": "Не вдалося надіслати",
"sendSuccess": "Відправлено успішно",
"settings": "Налаштування",
"signNameLabel": "Назва підпису",
"template": "Шаблон SMS",
"templateCodeLabel": "Код шаблону",
"templateTip": "Будь ласка, заповніть шаблон SMS, залиште {code} посередині, інакше функція SMS не буде працювати",
"testSms": "Надіслати тестове SMS",
"testSmsPhone": "Введіть номер телефону",
"testSmsTip": "Надіслати тестове SMS, щоб перевірити вашу конфігурацію",
"title": "Аутентифікація за телефоном",
"updateSuccess": "Оновлення успішне",
"whitelistAreaCode": "Код області білого списку",
"whitelistAreaCodeTip": "Будь ласка, введіть коди областей білого списку, наприклад, 1, 852, 886, 888",
"whitelistValidation": "Перевірка білого списку",
"whitelistValidationTip": "При увімкненні лише коди областей у білому списку можуть надсилати SMS"
},
"verify": {
"inputPlaceholder": "Введіть",
"loginVerificationCode": "Код перевірки входу",
"loginVerificationCodeDescription": "Перевірка людини під час входу",
"registrationVerificationCode": "Код перевірки реєстрації",
"registrationVerificationCodeDescription": "Перевірка людини під час реєстрації",
"resetPasswordVerificationCode": "Код перевірки скидання пароля",
"resetPasswordVerificationCodeDescription": "Перевірка людини під час скидання пароля",
"saveSuccess": "Успішно збережено",
"turnstileSecretDescription": "Секретний ключ Turnstile, наданий Cloudflare",
"turnstileSiteKeyDescription": "Ключ сайту Turnstile, наданий Cloudflare",
"verifySettings": "Налаштування перевірки"
},
"verify-code": {
"dailyLimit": "Щоденний ліміт",
"dailyLimitDescription": "Максимальна кількість кодів підтвердження, які можуть бути надіслані за день",
"expireTime": "Час закінчення",
"expireTimeDescription": "Час закінчення дії коду підтвердження (секунди)",
"interval": "Інтервал надсилання",
"intervalDescription": "Мінімальний інтервал між надсиланням кодів підтвердження (секунди)",
"saveSuccess": "Успішно збережено",
"second": "секунд",
"times": "разів",
"verifyCodeSettings": "Налаштування коду підтвердження"
"socialAuthMethods": "Social Authentication Methods",
"telegram": {
"clientId": "Ідентифікатор бота",
"clientIdDescription": "ID телеграм-бота, який ви можете отримати у @BotFather",
"clientSecret": "Токен Бота",
"clientSecretDescription": "Токен бота Telegram, ви можете отримати його у @BotFather",
"description": "Аутентифікація користувачів за допомогою облікових записів Telegram",
"enable": "Увімкнути",
"enableDescription": "Після увімкнення будуть доступні функції реєстрації, входу, прив'язки та відв'язки мобільного телефону",
"title": "Увійти через Telegram"
}
}
-14
View File
@@ -1,14 +0,0 @@
{
"blockVirtualMachine": "Блокувати віртуальну машину",
"blockVirtualMachineDescription": "При увімкненні пристрої не зможуть працювати на віртуальних машинах або емуляторах",
"communicationKey": "Ключ зв'язку",
"communicationKeyDescription": "Ключ зв'язку використовується для безпечного зв'язку між пристроями та серверами",
"enable": "Увімкнути",
"enableDescription": "Після увімкнення підтримуються кілька ідентифікаторів пристроїв, таких як IMEI/IDFA/IDFV/AndroidID/Mac-адреса для входу та реєстрації",
"enableSecurity": "Увімкнути шифрування зв'язку",
"enableSecurityDescription": "При увімкненні зв'язок між пристроями та серверами буде зашифровано",
"saveFailed": "Не вдалося зберегти",
"saveSuccess": "Збережено успішно",
"showAds": "Показувати рекламу",
"showAdsDescription": "При увімкненні на пристроях буде відображатися реклама"
}
-49
View File
@@ -1,49 +0,0 @@
{
"emailBasicConfigDescription": "Налаштуйте параметри сервера SMTP та опції перевірки електронної пошти",
"emailLogsDescription": "Перегляньте історію надісланих електронних листів та їх статус",
"emailSuffixWhitelist": "Білий список суфіксів електронної пошти",
"emailSuffixWhitelistDescription": "Коли увімкнено, лише електронні адреси з суфіксами зі списку можуть реєструватися",
"emailVerification": "Підтвердження електронної пошти",
"emailVerificationDescription": "Коли ввімкнено, користувачам потрібно буде підтвердити свою електронну пошту",
"enable": "Увімкнути",
"enableDescription": "Після активації будуть доступні функції реєстрації електронною поштою, входу, прив'язки та відв'язки.",
"expiration_email_template": "Шаблон повідомлення про закінчення терміну дії",
"expiration_email_templateDescription": "Заповнювачі {after}.variable{before} будуть замінені на фактичні дані. Переконайтеся, що зберегли ці змінні.",
"failed": "Не вдалося",
"inputPlaceholder": "Введіть значення...",
"logs": "Журнали",
"maintenance_email_template": "Шаблон повідомлення про технічне обслуговування",
"maintenance_email_templateDescription": "Заповнювачі {after}.variable{before} будуть замінені на фактичні дані. Переконайтеся, що зберегли ці змінні.",
"recipient": "Отримувач",
"saveFailed": "Не вдалося зберегти конфігурацію",
"saveSuccess": "Конфігурацію успішно збережено.",
"sendFailure": "Не вдалося надіслати тестовий електронний лист, будь ласка, перевірте налаштування.",
"sendSuccess": "Тестовий електронний лист успішно надіслано.",
"sendTestEmail": "Надіслати тестовий електронний лист",
"sendTestEmailDescription": "Надіслати тестовий електронний лист для перевірки конфігурації.",
"senderAddress": "Адреса відправника",
"senderAddressDescription": "Адреса електронної пошти за замовчуванням, яка використовується для відправки електронних листів.",
"sent": "Відправлено",
"sentAt": "Відправлено о",
"settings": "Налаштування",
"smtpAccount": "Обліковий запис SMTP",
"smtpAccountDescription": "Обліковий запис електронної пошти, що використовується для автентифікації.",
"smtpEncryptionMethod": "Метод шифрування SMTP",
"smtpEncryptionMethodDescription": "Виберіть, чи увімкнути шифрування SSL/TLS.",
"smtpPassword": "SMTP пароль",
"smtpPasswordDescription": "Пароль для облікового запису SMTP.",
"smtpServerAddress": "Адреса SMTP сервера",
"smtpServerAddressDescription": "Вкажіть адресу сервера, що використовується для відправки електронних листів.",
"smtpServerPort": "Порт SMTP сервера",
"smtpServerPortDescription": "Вкажіть порт, який використовується для підключення до SMTP-сервера.",
"status": "Статус",
"subject": "Тема",
"template": "Шаблон",
"traffic_exceed_email_template": "Шаблон сповіщення про перевищення трафіку",
"traffic_exceed_email_templateDescription": "Місця для змінних {after}.variable{before} будуть замінені на фактичні дані. Переконайтеся, що ці змінні залишаються.",
"verify_email_template": "Шаблон електронного листа для підтвердження",
"verify_email_templateDescription": "Заповнювачі {after}.variable{before} будуть замінені на фактичні дані. Переконайтеся, що зберегли ці змінні.",
"whitelistSuffixes": "Білий список суфіксів",
"whitelistSuffixesDescription": "Використовується для перевірки електронної пошти під час реєстрації; один на рядок",
"whitelistSuffixesPlaceholder": "Введіть суфікси електронної пошти, по одному на рядок"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "Ідентифікатор клієнта",
"clientIdDescription": "Ідентифікатор додатка Facebook з консолі розробників Facebook",
"clientSecret": "Секрет клієнта",
"clientSecretDescription": "Секретний ключ додатку Facebook з консолі розробників Facebook",
"enable": "Увімкнути",
"enableDescription": "Після увімкнення користувачі можуть увійти за допомогою свого облікового запису Facebook",
"saveFailed": "Не вдалося зберегти",
"saveSuccess": "Збереження успішне"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "Ідентифікатор клієнта GitHub",
"clientIdDescription": "Ідентифікатор клієнта з налаштувань вашого GitHub OAuth додатку",
"clientSecret": "Секретний ключ клієнта GitHub",
"clientSecretDescription": "Секрет клієнта з налаштувань вашого OAuth додатку GitHub",
"enable": "Увімкнути автентифікацію через GitHub",
"enableDescription": "Дозволити користувачам входити за допомогою своїх облікових записів GitHub",
"saveFailed": "Не вдалося зберегти налаштування GitHub",
"saveSuccess": "Налаштування GitHub успішно збережено"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "Ідентифікатор клієнта",
"clientIdDescription": "Ідентифікатор клієнта Google OAuth 2.0 з консолі Google Cloud",
"clientSecret": "Секрет клієнта",
"clientSecretDescription": "Секрет клієнта Google OAuth 2.0 з консолі Google Cloud",
"enable": "Увімкнути",
"enableDescription": "Після увімкнення користувачі можуть увійти за допомогою свого облікового запису Google",
"saveFailed": "Не вдалося зберегти",
"saveSuccess": "Збереження успішне"
}
-32
View File
@@ -1,32 +0,0 @@
{
"accessLabel": "Доступ",
"applyPlatform": "Застосувати платформу",
"enable": "Увімкнути",
"enableTip": "Після увімкнення будуть доступні функції реєстрації, входу, прив'язки та відв'язки мобільного телефону",
"endpointLabel": "Кінцева точка",
"logs": "Журнали",
"phoneNumberLabel": "Номер телефону",
"placeholders": {
"template": "Ваш код підтвердження {code}, дійсний протягом 5 хвилин",
"templateCode": "Введіть код шаблону"
},
"platform": "Платформа SMS",
"platformConfigTip": "Будь ласка, заповніть надану конфігурацію {key}",
"platformTip": "Будь ласка, виберіть платформу SMS",
"secretLabel": "Секрет",
"sendFailed": "Не вдалося надіслати",
"sendSuccess": "Відправлено успішно",
"settings": "Налаштування",
"signNameLabel": "Назва підпису",
"template": "Шаблон SMS",
"templateCodeLabel": "Код шаблону",
"templateTip": "Будь ласка, заповніть шаблон SMS, залиште {code} посередині, інакше функція SMS не буде працювати",
"testSms": "Надіслати тестове SMS",
"testSmsPhone": "Введіть номер телефону",
"testSmsTip": "Надіслати тестове SMS, щоб перевірити вашу конфігурацію",
"updateSuccess": "Оновлення успішне",
"whitelistAreaCode": "Код області білого списку",
"whitelistAreaCodeTip": "Будь ласка, введіть коди областей білого списку, наприклад, 1, 852, 886, 888",
"whitelistValidation": "Перевірка білого списку",
"whitelistValidationTip": "При увімкненні лише коди областей у білому списку можуть надсилати SMS"
}
+6
View File
@@ -8,9 +8,12 @@
"createRule": "Додати правило",
"createSuccess": "Правило успішно створено",
"createdAt": "Створено",
"default": "За замовчуванням",
"defaultRule": "Правило за замовчуванням",
"delete": "Видалити",
"deleteSuccess": "Правило успішно видалено",
"deleteWarning": "Ви впевнені, що хочете видалити це правило? Цю дію не можна скасувати.",
"direct": "Прямий",
"downloadTemplate": "Завантажити шаблон",
"edit": "Редагувати",
"editRule": "Редагувати правило",
@@ -29,11 +32,14 @@
"noValidRules": "Не знайдено дійсних правил",
"pleaseUploadFile": "Будь ласка, завантажте файл YAML",
"preview": "Попередній перегляд",
"reject": "Відхилити",
"rulesFormat": "Формат правила: тип правила, вміст збігу, [політика], де політика є необов'язковою.\nЯкщо політика не вказана, автоматично буде використано назву поточної групи правил. Приклади:",
"rulesLabel": "Вміст правила",
"searchRule": "Шукати назву правила",
"selectTags": "Вибрати теги вузлів",
"selectType": "Виберіть тип правила",
"tags": "Теги вузлів",
"tagsLabel": "Теги вузлів",
"type": "Тип правила",
"updateSuccess": "Правило успішно оновлено"
}
+100 -75
View File
@@ -33,21 +33,22 @@
"description": "Опис",
"edit": "Редагувати",
"editNodeGroup": "Редагувати групу вузлів",
"form": {
"cancel": "Скасувати",
"confirm": "Підтвердити",
"description": "Опис",
"name": "Назва"
},
"name": "Назва",
"title": "Список груп вузлів",
"updatedAt": "Час оновлення"
},
"groupForm": {
"cancel": "Скасувати",
"confirm": "Підтвердити",
"description": "Опис",
"name": "Ім'я"
},
"node": {
"abnormal": "Аномалія",
"actions": "Дії",
"address": "Адреса",
"all": "Всі",
"basicInfo": "Основна інформація",
"cancel": "Скасувати",
"confirm": "Підтвердити",
"confirmDelete": "Ви впевнені, що хочете видалити?",
@@ -59,96 +60,120 @@
"delete": "Видалити",
"deleteSuccess": "Успішно видалено",
"deleteWarning": "Після видалення дані не можуть бути відновлені. Будь ласка, будьте обережні.",
"detail": "Деталі",
"disabled": "Вимкнено",
"disk": "Диск",
"edit": "Редагувати",
"editNode": "Редагувати вузол",
"enable": "Увімкнути",
"form": {
"allowInsecure": "Дозволити небезпечні з'єднання",
"cancel": "Скасувати",
"city": "Місто",
"confirm": "Підтвердити",
"country": "Країна",
"edit": "Редагувати",
"editSecurity": "Редагувати налаштування безпеки",
"enableTLS": "Увімкнути TLS",
"encryptionMethod": "Метод шифрування",
"flow": "Алгоритм контролю потоку",
"groupId": "Група вузлів",
"hopInterval": "Інтервал стрибка",
"hopPorts": "Порти стрибка",
"hopPortsPlaceholder": "Кілька портів розділяйте комами",
"name": "Назва",
"obfsPassword": "Пароль обфускації",
"obfsPasswordPlaceholder": "Залиште порожнім для відсутності обфускації",
"path": "Шлях",
"pleaseSelect": "Будь ласка, виберіть",
"port": "Порт сервера",
"protocol": "Протокол",
"relayHost": "Адреса реле",
"relayMode": "Режим ретрансляції",
"relayModeOptions": {
"all": "Всі",
"none": "Немає",
"random": "Випадковий"
},
"relayPort": "Порт реле",
"relayPrefix": "Префікс ретрансляції",
"remarks": "Примітки",
"security": "Безпека",
"securityConfig": "Налаштування безпеки",
"security_config": {
"fingerprint": "Відбиток пальця",
"privateKey": "Приватний ключ",
"privateKeyPlaceholder": "Залиште порожнім для автоматичного створення",
"publicKey": "Публічний ключ",
"publicKeyPlaceholder": "Залиште порожнім для автоматичного створення",
"serverAddress": "Адреса сервера",
"serverAddressPlaceholder": "Адреса цілі REALITY, за замовчуванням використовується SNI",
"serverName": "Ім'я сервера (SNI)",
"serverNamePlaceholder": "Обов'язково для REALITY, має відповідати бекенду",
"serverPort": "Порт сервера",
"serverPortPlaceholder": "Порт цілі REALITY, за замовчуванням 443",
"shortId": "Короткий ID",
"shortIdPlaceholder": "Залиште порожнім для автоматичного створення",
"sni": "Індикація імені сервера (SNI)"
},
"selectEncryptionMethod": "Виберіть метод шифрування",
"selectNodeGroup": "Виберіть групу вузлів",
"selectProtocol": "Виберіть протокол",
"selectRelayMode": "Виберіть режим ретрансляції",
"serverAddr": "Адреса сервера",
"serverKey": "Ключ сервера",
"serverName": "Назва сервісу",
"speedLimit": "Обмеження швидкості",
"speedLimitPlaceholder": "Без обмежень",
"tags": "Теги",
"tagsPlaceholder": "Використовуйте Enter або кому (,) для введення декількох тегів",
"trafficRatio": "Швидкість трафіку",
"transport": "Транспортний протокол",
"transportConfig": "Налаштування транспортного протоколу",
"transportHost": "Адреса транспортного сервісу",
"transportPath": "Транспортний шлях",
"transportServerName": "Назва транспортного сервісу"
},
"enabled": "Увімкнено",
"expireTime": "Час закінчення",
"hide": "Сховати",
"id": "ID",
"ipAddresses": "IP-адреси",
"lastUpdated": "Останнє оновлення",
"location": "Місцезнаходження",
"memory": "Пам'ять",
"name": "Назва",
"noData": "--",
"node": "Вузол",
"nodeDetail": "Деталі вузла",
"nodeGroup": "Група вузлів",
"nodeStatus": "Статус вузла",
"normal": "Нормальний",
"onlineCount": "Кількість онлайн",
"onlineUsers": "Онлайн користувачі",
"protocol": "Протокол",
"rate": "Швидкість",
"relay": "Реле",
"serverAddr": "Адреса сервера",
"speedLimit": "Обмеження швидкості",
"status": "Статус",
"subscribeId": "ID підписки",
"subscribeName": "Назва підписки",
"subscription": "Підписка",
"tags": "Теги",
"trafficRatio": "Швидкість трафіку",
"trafficUsage": "Використання трафіку",
"type": "Тип",
"updateSuccess": "Успішно оновлено",
"updatedAt": "Час оновлення"
"updatedAt": "Час оновлення",
"userAccount": "Користувацький обліковий запис",
"userDetail": "Деталі користувача",
"userId": "ID користувача"
},
"nodeForm": {
"allowInsecure": "Дозволити небезпечне з'єднання",
"cancel": "Скасувати",
"city": "Місто",
"confirm": "Підтвердити",
"congestionController": "Контролер перевантаження",
"country": "Країна",
"disableSni": "Вимкнути SNI",
"edit": "Редагувати",
"editSecurity": "Редагувати конфігурацію безпеки",
"enableTLS": "Увімкнути TLS",
"encryptionMethod": "Метод шифрування",
"fingerprint": "Відбиток",
"flow": "Алгоритм управління потоком",
"groupId": "Група вузлів",
"hopInterval": "Інтервал стрибків",
"hopPorts": "Порти стрибків",
"hopPortsPlaceholder": "Розділіть кілька портів комами",
"name": "Ім'я",
"obfsPassword": "Пароль обфускації",
"obfsPasswordPlaceholder": "Залиште порожнім для відсутності обфускації",
"path": "Шлях",
"pleaseSelect": "Будь ласка, виберіть",
"port": "Порт сервера",
"protocol": "Протокол",
"reduceRtt": "Зменшити RTT",
"relayHost": "Хост реле",
"relayMode": "Режим реле",
"relayPort": "Порт реле",
"relayPrefix": "Префікс реле",
"remarks": "Примітки",
"security": "Безпека",
"securityConfig": "Конфігурація безпеки",
"selectEncryptionMethod": "Виберіть метод шифрування",
"selectNodeGroup": "Виберіть групу вузлів",
"selectProtocol": "Виберіть протокол",
"selectRelayMode": "Виберіть режим реле",
"serverAddr": "Адреса сервера",
"serverKey": "Ключ сервера",
"serverName": "Назва служби",
"speedLimit": "Обмеження швидкості",
"speedLimitPlaceholder": "Необмежено",
"tags": "Теги",
"tagsPlaceholder": "Використовуйте Enter або кому (,) для введення кількох тегів",
"trafficRatio": "Коефіцієнт трафіку",
"transport": "Конфігурація транспортного протоколу",
"transportConfig": "Конфігурація транспортного протоколу",
"transportHost": "Адреса транспортного сервера",
"transportPath": "Транспортний шлях",
"transportServerName": "Назва транспортного сервера",
"udpRelayMode": "Режим UDP реле"
},
"relayModeOptions": {
"all": "Усі",
"none": "Жоден",
"random": "Випадковий"
},
"securityConfig": {
"fingerprint": "Відбиток",
"privateKey": "Приватний ключ",
"privateKeyPlaceholder": "Залиште порожнім для автоматичної генерації",
"publicKey": "Публічний ключ",
"publicKeyPlaceholder": "Залиште порожнім для автоматичної генерації",
"serverAddress": "Адреса сервера",
"serverAddressPlaceholder": "REALITY цільова адреса, за замовчуванням використовується SNI",
"serverName": "Назва сервера (SNI)",
"serverNamePlaceholder": "REALITY обов'язково, узгоджено з бекендом",
"serverPort": "Порт сервера",
"serverPortPlaceholder": "REALITY цільовий порт, за замовчуванням 443",
"shortId": "Короткий ID",
"shortIdPlaceholder": "Залиште порожнім для автоматичної генерації",
"sni": "Індикатор назви сервера (SNI)"
},
"tabs": {
"node": "Вузол",
+98 -17
View File
@@ -1,28 +1,77 @@
{
"currency": {
"accessKey": "Ключ доступу",
"accessKeyDescription": "https://exchangerate.host надає безкоштовний API-ключ для обміну валют",
"currencySymbol": "Символ валюти",
"currencySymbolDescription": "Використовується лише для відображення, після зміни всі валютні одиниці в системі будуть змінені",
"currencyUnit": "Валютна одиниця",
"currencyUnitDescription": "Використовується лише для відображення, після зміни всі валютні одиниці в системі будуть змінені",
"authSettings": "Налаштування автентифікації",
"basicSettings": "Основні налаштування",
"common": {
"cancel": "Скасувати",
"save": "Зберегти налаштування",
"saveFailed": "Не вдалося зберегти",
"saveSuccess": "Успішно збережено"
},
"privacy-policy": {
"saveSuccess": "Збережено успішно",
"currency": {
"accessKey": "Ключ доступу",
"accessKeyDescription": "{url} надає безкоштовний API-ключ для обміну валют",
"accessKeyPlaceholder": "Введіть API ключ",
"currencySymbol": "Символ валюти",
"currencySymbolDescription": "Використовується лише для відображення, після зміни всі валютні одиниці в системі будуть змінені",
"currencySymbolPlaceholder": "₴",
"currencyUnit": "Валютна одиниця",
"currencyUnitDescription": "Використовується лише для відображення, після зміни всі валютні одиниці в системі будуть змінені",
"currencyUnitPlaceholder": "UAH",
"description": "Налаштуйте одиниці валюти, символи та налаштування API обміну",
"title": "Налаштування валюти"
},
"invite": {
"description": "Налаштуйте запрошення користувачів та налаштування винагороди за рефералів",
"forcedInvite": "Вимагати запрошення для реєстрації",
"forcedInviteDescription": "При ввімкненні користувачі повинні реєструватися через посилання-запрошення",
"inputPlaceholder": "Будь ласка, введіть",
"onlyFirstPurchase": "Тільки винагорода за першу покупку",
"onlyFirstPurchaseDescription": "При ввімкненні реферери отримують винагороду лише за першу покупку рекомендованих користувачів",
"referralPercentage": "Відсоток винагороди за рефералів",
"referralPercentageDescription": "Відсоток винагороди, що надається реферерам",
"saveFailed": "Не вдалося зберегти",
"saveSuccess": "Успішно збережено",
"title": "Налаштування запрошень"
},
"privacyPolicy": {
"description": "Редагуйте та керуйте змістом політики конфіденційності",
"title": "Політика конфіденційності"
},
"register": {
"day": "день(дні)",
"defaultSubscribe": "За замовчуванням підписка",
"defaultSubscribeDescription": "План підписки за замовчуванням для нових користувачів",
"description": "Налаштуйте налаштування, пов'язані з реєстрацією користувачів",
"inputPlaceholder": "Будь ласка, введіть",
"ipRegistrationLimit": "Обмеження реєстрації за IP",
"ipRegistrationLimitDescription": "Обмежте кількість реєстрацій з однієї IP-адреси",
"registrationLimitCount": "Кількість обмежень реєстрації",
"registrationLimitCountDescription": "Кількість реєстрацій, дозволених з однієї IP протягом обмеженого періоду",
"registrationLimitExpire": "Обмежений період",
"registrationLimitExpireDescription": "Тривалість обмеження реєстрації за IP",
"saveFailed": "Не вдалося зберегти",
"saveSuccess": "Успішно збережено",
"selectPlaceholder": "Будь ласка, виберіть",
"stopNewUserRegistration": "Зупинити реєстрацію нових користувачів",
"stopNewUserRegistrationDescription": "При ввімкненні реєстрація нових користувачів буде вимкнена",
"title": "Налаштування реєстрації",
"trialDay": "Пробні дні",
"trialDayDescription": "Пробні дні, надані новим користувачам під час реєстрації",
"trialFlow": "Пробний трафік",
"trialFlowDescription": "Пробний трафік, наданий новим користувачам під час реєстрації"
},
"site": {
"customData": "Користувацькі дані",
"customDataDescription": "Користувацькі дані, що використовуються для користувацьких даних сайту",
"customHtml": "Користувацький HTML",
"customHtmlDescription": "Користувацький HTML-код, який буде вставлено в кінець тегу body сайту.",
"description": "Налаштуйте основну інформацію про сайт, логотип, домен та інші налаштування",
"keywords": "Ключові слова",
"keywordsDescription": "Використовується для SEO",
"keywordsPlaceholder": "ключове слово1, ключове слово2, ключове слово3",
"logo": "ЛОГО",
"logoDescription": "Використовується для відображення місця, де потрібно показати ЛОГО",
"logoPlaceholder": "Будь ласка, введіть URL-адресу ЛОГО, не закінчуйте на '/'",
"saveSuccess": "Збережено успішно",
"siteDesc": "Опис сайту",
"siteDescDescription": "Використовується для відображення місця, де потрібно показати опис сайту",
"siteDescPlaceholder": "Будь ласка, введіть опис сайту",
@@ -31,15 +80,47 @@
"siteDomainPlaceholder": "Будь ласка, введіть доменну адресу, кілька доменів вводьте по одному на рядок",
"siteName": "Назва сайту",
"siteNameDescription": "Використовується для відображення місця, де потрібно показати назву сайту",
"siteNamePlaceholder": "Будь ласка, введіть назву сайту"
},
"tabs": {
"currency": "Валюта",
"site": "Сайт",
"tos": "Умови обслуговування"
"siteNamePlaceholder": "Будь ласка, введіть назву сайту",
"title": "Налаштування сайту"
},
"siteSettings": "Налаштування сайту",
"tos": {
"saveSuccess": "Збережено успішно",
"description": "Редагуйте та керуйте змістом умов обслуговування",
"title": "Умови обслуговування"
},
"userSecuritySettings": "Користувачі та безпека",
"verify": {
"description": "Налаштуйте Turnstile CAPTCHA та налаштування перевірки",
"enableLoginVerify": "Увімкнути перевірку при вході",
"enableLoginVerifyDescription": "При ввімкненні користувачі повинні пройти перевірку людини під час входу",
"enablePasswordVerify": "Увімкнути перевірку при скиданні пароля",
"enablePasswordVerifyDescription": "При ввімкненні користувачі повинні пройти перевірку людини під час скидання пароля",
"enableRegisterVerify": "Увімкнути перевірку при реєстрації",
"enableRegisterVerifyDescription": "При ввімкненні користувачі повинні пройти перевірку людини під час реєстрації",
"inputPlaceholder": "Будь ласка, введіть",
"saveFailed": "Не вдалося зберегти",
"saveSuccess": "Успішно збережено",
"title": "Перевірка безпеки",
"turnstileSecret": "Секретний ключ Turnstile",
"turnstileSecretDescription": "Секретний ключ Cloudflare Turnstile для бекенд перевірки",
"turnstileSecretPlaceholder": "Введіть секретний ключ Turnstile",
"turnstileSiteKey": "Ключ сайту Turnstile",
"turnstileSiteKeyDescription": "Ключ сайту Cloudflare Turnstile для фронтенд перевірки",
"turnstileSiteKeyPlaceholder": "Введіть ключ сайту Turnstile"
},
"verifyCode": {
"dailyLimit": "Добове обмеження надсилання",
"dailyLimitDescription": "Максимальна кількість кодів перевірки, які кожен користувач може надіслати за день",
"description": "Налаштуйте правила та обмеження надсилання коду перевірки електронною поштою",
"expireTime": "Термін дії коду перевірки",
"expireTimeDescription": "Термін дії кодів перевірки (секунди)",
"inputPlaceholder": "Будь ласка, введіть",
"interval": "Інтервал надсилання",
"intervalDescription": "Мінімальний інтервал між двома надсиланнями коду перевірки (секунди)",
"saveFailed": "Не вдалося зберегти",
"saveSuccess": "Успішно збережено",
"seconds": "секунд",
"times": "раз(и)",
"title": "Налаштування коду перевірки"
}
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "Ідентифікатор бота",
"clientIdDescription": "ID телеграм-бота, який ви можете отримати у @BotFather",
"clientSecret": "Токен Бота",
"clientSecretDescription": "Токен бота Telegram, ви можете отримати його у @BotFather",
"enable": "Увімкнути",
"enableDescription": "Після увімкнення будуть доступні функції реєстрації, входу, прив'язки та відв'язки мобільного телефону",
"saveFailed": "Не вдалося зберегти",
"saveSuccess": "Збереження успішне"
}