♻️ refactor: Refactoring and adding multiple features

This commit is contained in:
web
2025-08-05 06:42:39 -07:00
committed by speakeloudest
parent 5a2fa2e937
commit 47d19d1b44
106 changed files with 6893 additions and 4604 deletions
+4 -11
View File
@@ -1,32 +1,25 @@
{
"ADS Config": "Конфігурація ADS",
"Announcement Management": "Управління оголошеннями",
"Apple": "Apple ID",
"Application Management": "Управління додатками",
"Auth Control": "Контроль автентифікації",
"Coupon Management": "Управління купонами",
"Dashboard": "Панель приладів",
"Device": "Пристрій",
"Document Management": "Управління документами",
"Email": "Електронна пошта",
"Facebook": "Facebook",
"Finance": "Фінанси",
"General": "Загальні",
"GitHub": "GitHub",
"Google": "Google",
"Order Management": "Управління замовленнями",
"Payment Config": "Налаштування оплати",
"Phone Number": "Номер телефону",
"Product Management": "Управління продуктом",
"Protocol Management": "Управління протоколом",
"Rule Management": "Управління правилами",
"Server": "Сервер",
"Server Management": "Управління сервером",
"Settings": "Налаштування",
"Subscribe Management": "Управління підписками",
"Subscribe Config": "Конфігурація підписки",
"System Config": "Системна конфігурація",
"System Management": "Управління системою",
"System Tool": "Системний інструмент",
"Telegram": "Телеграм",
"Ticket Management": "Управління заявками",
"Twitter": "Твіттер",
"User": "Користувач",
"User Detail": "Деталі користувача",
"User Management": "Управління користувачами"
+160
View File
@@ -0,0 +1,160 @@
{
"actions": "дії",
"app": {
"appDownloadURL": "URL завантаження додатку",
"appIcon": "Іконка додатку",
"appList": "Список додатків",
"appName": "Назва додатку",
"backupDomains": "Список резервних доменів",
"backupDomainsDescription": "Список резервних доменів для вирішення доменів, один домен на рядок",
"batchDelete": "Пакетне видалення",
"cancel": "Скасувати",
"communicationKey": "Ключ зв'язку",
"communicationKeyDescription": "Ключ, що використовується для зв'язку з клієнтом",
"config": "Конфігурація",
"configApp": "Конфігурація додатка",
"confirm": "Підтвердити",
"confirmDelete": "Підтвердити видалення",
"create": "Створити",
"createApp": "Створити додаток",
"createSuccess": "Успішно створено",
"defaultVersion": "За замовчуванням",
"delete": "Видалити",
"deleteWarning": "Цю дію не можна скасувати",
"describeDescription": "Використовується для опису додатка, відображається у списку додатків",
"description": "Опис",
"downloadLink": "Посилання для завантаження",
"edit": "Редагувати",
"editApp": "Редагувати додаток",
"encryption": "Метод шифрування",
"encryptionDescription": "Виберіть метод шифрування для зв'язку з клієнтом. Якщо вибрано, клієнт використовуватиме цей метод для зв'язку з сервером",
"nameDescription": "Назва додатка, відображається у списку додатків",
"platform": "Платформа",
"selectApp": "Виберіть додаток",
"selectAppDescription": "Виберіть додаток для налаштування, всі параметри будуть застосовані до вибраного додатка",
"startupPicture": "Зображення при запуску",
"startupPictureDescription": "Зображення при запуску, підтримуються мережеві та локальні зображення. Для мережевих зображень, будь ласка, введіть повну URL-адресу зображення",
"startupPicturePreview": "Попередній перегляд зображення при запуску",
"startupPictureSkip": "Час пропуску зображення при запуску",
"startupPictureSkipDescription": "Час відображення зображення при запуску в секундах, введіть 0, щоб не відображати",
"subscriptionProtocol": "Протокол підписки",
"updateSuccess": "Успішно оновлено",
"version": "Версія"
},
"cancel": "Скасувати",
"config": {
"singleSubscriptionMode": "Режим Однієї Підписки",
"subscriptionDomain": "Домен Підписки",
"subscriptionDomainDescription": "Використовується для підписки; залиште порожнім, щоб використовувати домен сайту",
"subscriptionDomainPlaceholder": "Введіть домен підписки, один на рядок",
"subscriptionPath": "Шлях Підписки",
"subscriptionPathDescription": "Використовується для підписки; обов'язково перезапустіть систему після зміни для оптимальної продуктивності",
"subscriptionPathPlaceholder": "Введіть",
"updateSuccess": "Оновлено успішно",
"wildcardResolution": "Розв'язання Маски",
"wildcardResolutionDescription": "Використовується для підписки"
},
"confirm": "Підтвердити",
"confirmDelete": "Ви впевнені, що хочете видалити?",
"copy": "Копіювати",
"copySuccess": "Успішно скопійовано",
"create": "створити",
"createSubscribe": "Створити підписку",
"createSuccess": "Створено успішно",
"delete": "видалити",
"deleteSuccess": "Видалення успішне",
"deleteWarning": "Після видалення дані не можуть бути відновлені, будь ласка, дійте обережно.",
"deviceLimit": "Кількість пристроїв/одиниць",
"edit": "редагувати",
"editSubscribe": "Редагувати підписку",
"form": {
"Day": "День",
"Hour": "Година",
"Minute": "Хвилина",
"Month": "Місяць",
"NoLimit": "Без обмежень",
"Year": "Рік",
"annualReset": "Щорічне Скидання",
"basic": "Основний",
"cancel": "Скасувати",
"confirm": "Підтвердити",
"deductionRatio": "Автоматична/Ручна Конфігурація Вирахувань",
"deductionRatioDescription": "Використовується для вирахувань. За замовчуванням система використовує автоматичний алгоритм розрахунку. Коли надається ручне співвідношення, система розраховує пропорції на основі часу та трафіку, забезпечуючи загальну суму в 100%.",
"description": "Опис",
"deviceLimit": "Обмеження пристроїв",
"discount": "Знижка",
"discountDescription": "Встановити знижку на основі одиничної ціни",
"discountMonths": "місяці",
"discountPercent": "Відсоток знижки",
"discount_price": "Ціна зі знижкою",
"duration": "Тривалість (місяці)",
"groupId": "Група підписки",
"inventory": "Ліміт підписки",
"monthlyReset": "Щомісячне Скидання",
"name": "Назва",
"noLimit": "Без обмежень",
"noReset": "Без Скидання",
"pricing": "Ціноутворення",
"purchaseWithDiscount": "Дозволити Вирахування",
"purchaseWithDiscountDescription": "Увімкніть або вимкніть функцію відписки. Після активації система виконає обробку відрахувань згідно з налаштованими правилами та пропорціями, а залишкова вартість буде повернена на баланс",
"quota": "Ліміт покупки",
"renewalReset": "Скидання при Поновленні",
"renewalResetDescription": "Скидання циклу при поновленні",
"replacement": "Ціна заміни (за раз)",
"resetCycle": "Цикл Скидання",
"resetOn1st": "Скидання 1-го числа",
"selectResetCycle": "Будь ласка, виберіть цикл скидання",
"selectSubscribeGroup": "Будь ласка, виберіть групу підписки",
"selectUnitTime": "Будь ласка, виберіть одиницю часу",
"server": "Сервер",
"serverGroup": "Група серверів",
"servers": "Сервери",
"speedLimit": "Обмеження швидкості",
"traffic": "Трафік",
"unitPrice": "Ціна за одиницю",
"unitTime": "Одиниця часу"
},
"group": {
"actions": "Дії",
"cancel": "Скасувати",
"confirm": "Підтвердити",
"confirmDelete": "Ви впевнені, що хочете видалити?",
"create": "Створити",
"createSubscribeGroup": "Створити нову групу підписки",
"createSuccess": "Успішно створено",
"delete": "Видалити",
"deleteSuccess": "Успішно видалено",
"deleteWarning": "Після видалення дані не можуть бути відновлені, будь ласка, будьте обережні.",
"description": "Опис",
"edit": "Редагувати",
"editSubscribeGroup": "Редагувати групу підписки",
"form": {
"cancel": "Скасувати",
"confirm": "Підтвердити",
"description": "Опис",
"name": "Назва"
},
"name": "Назва",
"title": "Список груп підписки",
"updateSuccess": "Успішно оновлено",
"updatedAt": "Час оновлення"
},
"inventory": "Ліміт підписки",
"name": "Назва",
"quota": "Обмеження на покупку/раз",
"replacement": "Скидання ціни/раз",
"sell": "продаж",
"show": "Показати",
"sold": "Кількість підписок",
"subscribe": "Підписатися",
"subscribeGroup": "Підписатися на групу",
"tabs": {
"subscribe": "Підписатися",
"subscribeApp": "Конфігурація додатку",
"subscribeConfig": "Конфігурація підписки",
"subscribeGroup": "Група підписок"
},
"traffic": "Трафік",
"unitPrice": "Ціна за одиницю",
"updateSuccess": "Оновлення успішне"
}
+76 -148
View File
@@ -1,161 +1,89 @@
{
"actions": "дії",
"app": {
"appDownloadURL": "URL завантаження додатку",
"appIcon": "Іконка додатку",
"appList": "Список додатків",
"appName": "Назва додатку",
"backupDomains": "Список резервних доменів",
"backupDomainsDescription": "Список резервних доменів для вирішення доменів, один домен на рядок",
"batchDelete": "Пакетне видалення",
"actions": {
"cancel": "Скасувати",
"communicationKey": "Ключ зв'язку",
"communicationKeyDescription": "Ключ, що використовується для зв'язку з клієнтом",
"config": "Конфігурація",
"configApp": "Конфігурація додатка",
"confirm": "Підтвердити",
"confirmDelete": "Підтвердити видалення",
"create": "Створити",
"createApp": "Створити додаток",
"createSuccess": "Успішно створено",
"defaultVersion": "За замовчуванням",
"delete": "Видалити",
"deleteWarning": "Цю дію не можна скасувати",
"describeDescription": "Використовується для опису додатка, відображається у списку додатків",
"description": "Опис",
"downloadLink": "Посилання для завантаження",
"edit": "Редагувати",
"editApp": "Редагувати додаток",
"encryption": "Метод шифрування",
"encryptionDescription": "Виберіть метод шифрування для зв'язку з клієнтом. Якщо вибрано, клієнт використовуватиме цей метод для зв'язку з сервером",
"nameDescription": "Назва додатка, відображається у списку додатків",
"platform": "Платформа",
"selectApp": "Виберіть додаток",
"selectAppDescription": "Виберіть додаток для налаштування, всі параметри будуть застосовані до вибраного додатка",
"startupPicture": "Зображення при запуску",
"startupPictureDescription": "Зображення при запуску, підтримуються мережеві та локальні зображення. Для мережевих зображень, будь ласка, введіть повну URL-адресу зображення",
"startupPicturePreview": "Попередній перегляд зображення при запуску",
"startupPictureSkip": "Час пропуску зображення при запуску",
"startupPictureSkipDescription": "Час відображення зображення при запуску в секундах, введіть 0, щоб не відображати",
"subscriptionProtocol": "Протокол підписки",
"updateSuccess": "Успішно оновлено",
"version": "Версія"
"save": "Зберегти",
"saveTemplate": "Зберегти Шаблон"
},
"cancel": "Скасувати",
"config": {
"singleSubscriptionMode": "Режим Однієї Підписки",
"singleSubscriptionModeDescription": "Коли увімкнено, всі підписки користувачів будуть перетворені на баланс",
"description": "Керування налаштуваннями системи підписки",
"restrictUserAgent": "Обмеження User-Agent",
"restrictUserAgentDescription": "Увімкнути обмеження доступу на основі User-Agent",
"singleSubscriptionMode": "Режим Одиничної Підписки",
"singleSubscriptionModeDescription": "Обмежити користувачів до однієї активної підписки. Існуючі підписки не підлягають змінам",
"subscriptionDomain": "Домен Підписки",
"subscriptionDomainDescription": "Використовується для підписки; залиште порожнім, щоб використовувати домен сайту",
"subscriptionDomainPlaceholder": "Введіть домен підписки, один на рядок",
"subscriptionDomainDescription": "Користувацький домен для посилань на підписки",
"subscriptionDomainPlaceholder": "Введіть домен підписки, по одному в рядку",
"subscriptionPath": "Шлях Підписки",
"subscriptionPathDescription": "Використовується для підписки; обов'язково перезапустіть систему після зміни для оптимальної продуктивності",
"subscriptionPathPlaceholder": "Введіть",
"updateSuccess": "Оновлено успішно",
"wildcardResolution": "Розв'язання Маски",
"wildcardResolutionDescription": "Використовується для підписки"
"subscriptionPathDescription": "Користувацький шлях для кінцевих точок підписки (краща продуктивність після перезавантаження системи)",
"subscriptionPathPlaceholder": "Введіть шлях підписки",
"title": "Налаштування Підписки",
"updateError": "Не вдалося оновити",
"updateSuccess": "Налаштування успішно оновлено",
"userAgentWhitelist": "Список дозволених User-Agent",
"userAgentWhitelistDescription": "Дозволені User-Agent для доступу до підписки, по одному в рядку. Вбудовані шаблони автоматично включаються до списку дозволених",
"userAgentWhitelistPlaceholder": "Введіть дозволені User-Agent, по одному в рядку",
"wildcardResolution": "Розв'язання Доменів з Підстановкою",
"wildcardResolutionDescription": "Увімкнути розв'язання доменів з підстановкою для підписок"
},
"confirm": "Підтвердити",
"confirmDelete": "Ви впевнені, що хочете видалити?",
"copy": "Копіювати",
"copySuccess": "Успішно скопійовано",
"create": "створити",
"createSubscribe": "Створити підписку",
"createSuccess": "Створено успішно",
"delete": "видалити",
"deleteSuccess": "Видалення успішне",
"deleteWarning": "Після видалення дані не можуть бути відновлені, будь ласка, дійте обережно.",
"deviceLimit": "Кількість пристроїв/одиниць",
"edit": "редагувати",
"editSubscribe": "Редагувати підписку",
"form": {
"Day": "День",
"Hour": "Година",
"Minute": "Хвилина",
"Month": "Місяць",
"NoLimit": "Без обмежень",
"Year": "Рік",
"annualReset": "Щорічне Скидання",
"basic": "Основний",
"cancel": "Скасувати",
"confirm": "Підтвердити",
"deductionRatio": "Автоматична/Ручна Конфігурація Вирахувань",
"deductionRatioDescription": "Використовується для вирахувань. За замовчуванням система використовує автоматичний алгоритм розрахунку. Коли надається ручне співвідношення, система розраховує пропорції на основі часу та трафіку, забезпечуючи загальну суму в 100%.",
"description": "Опис",
"deviceLimit": "Обмеження пристроїв",
"discount": "Знижка",
"discountDescription": "Встановити знижку на основі одиничної ціни",
"discountMonths": "місяці",
"discountPercent": "Відсоток знижки",
"discount_price": "Ціна зі знижкою",
"duration": "Тривалість (місяці)",
"groupId": "Група підписки",
"inventory": "Ліміт підписки",
"monthlyReset": "Щомісячне Скидання",
"name": "Назва",
"noLimit": "Без обмежень",
"noReset": "Без Скидання",
"pricing": "Ціноутворення",
"purchaseWithDiscount": "Дозволити Вирахування",
"purchaseWithDiscountDescription": "Увімкніть або вимкніть функцію відписки. Після активації система виконає обробку відрахувань згідно з налаштованими правилами та пропорціями, а залишкова вартість буде повернена на баланс",
"quota": "Ліміт покупки",
"renewalReset": "Скидання при Поновленні",
"renewalResetDescription": "Скидання циклу при поновленні",
"replacement": "Ціна заміни (за раз)",
"resetCycle": "Цикл Скидання",
"resetOn1st": "Скидання 1-го числа",
"selectResetCycle": "Будь ласка, виберіть цикл скидання",
"selectSubscribeGroup": "Будь ласка, виберіть групу підписки",
"selectUnitTime": "Будь ласка, виберіть одиницю часу",
"server": "Сервер",
"serverGroup": "Група серверів",
"servers": "Сервери",
"speedLimit": "Обмеження швидкості",
"traffic": "Трафік",
"unitPrice": "Ціна за одиницю",
"unitTime": "Одиниця часу"
"description": "Налаштуйте параметри підписки та шаблони клієнтів",
"messages": {
"noClients": "Немає Шаблонів Клієнтів",
"noClientsDescription": "Шаблони клієнтів ще не налаштовані. Додайте свій перший шаблон, щоб почати."
},
"group": {
"actions": "Дії",
"cancel": "Скасувати",
"confirm": "Підтвердити",
"confirmDelete": "Ви впевнені, що хочете видалити?",
"create": "Створити",
"createSubscribeGroup": "Створити нову групу підписки",
"createSuccess": "Успішно створено",
"delete": "Видалити",
"deleteSuccess": "Успішно видалено",
"deleteWarning": "Після видалення дані не можуть бути відновлені, будь ласка, будьте обережні.",
"description": "Опис",
"edit": "Редагувати",
"editSubscribeGroup": "Редагувати групу підписки",
"form": {
"cancel": "Скасувати",
"confirm": "Підтвердити",
"description": "Опис",
"name": "Назва"
"protocol": {
"clients": {
"clash": {
"features": "Велика екосистема, всебічні правила, активна спільнота"
},
"egern": {
"features": "Сучасний клієнт для iOS, відмінна продуктивність"
},
"hiddify": {
"features": "Багатоплатформенний, всебічні протоколи, дружній до початківців"
},
"loon": {
"features": "Розширений клієнт для iOS, багаті правила, красивий інтерфейс"
},
"netch": {
"features": "Клієнт проксі, орієнтований на ігри"
},
"quantumult": {
"features": "Розширений клієнт для iOS, гнучкі правила, багаті скрипти"
},
"shadowrocket": {
"features": "Класичний клієнт для iOS, гнучка конфігурація"
},
"singbox": {
"features": "Останнє ядро, офіційний GUI, підтримка багатьох платформ"
},
"stash": {
"features": "Сучасний мобільний інтерфейс, всебічні протоколи"
},
"surfboard": {
"features": "Безкоштовний, активна розробка, сучасний інтерфейс"
},
"surge": {
"features": "Преміум інструмент для iOS/Mac, потужні функції"
},
"v2box": {
"features": "Зручний клієнт V2Ray"
},
"v2rayn": {
"features": "Популярний клієнт для Windows, багатий на функції"
},
"v2rayng": {
"features": "Популярний клієнт для Android, легкий"
}
},
"name": "Назва",
"title": "Список груп підписки",
"updateSuccess": "Успішно оновлено",
"updatedAt": "Час оновлення"
"description": "Керування шаблонами конфігурації підписки для проксі-клієнтів",
"features": "Ключові Особливості",
"platforms": "Платформи",
"subscribeTemplate": "Конфігурація Шаблону Підписки",
"templateContent": "Зміст Шаблону",
"templatePlaceholder": "Введіть шаблон конфігурації клієнта...",
"title": "Шаблони Підписки Клієнтів"
},
"inventory": "Ліміт підписки",
"name": "Назва",
"quota": "Обмеження на покупку/раз",
"replacement": "Скидання ціни/раз",
"sell": "продаж",
"show": "Показати",
"sold": "Кількість підписок",
"subscribe": "Підписатися",
"subscribeGroup": "Підписатися на групу",
"tabs": {
"subscribe": "Підписатися",
"subscribeApp": "Конфігурація додатку",
"subscribeConfig": "Конфігурація підписки",
"subscribeGroup": "Група підписок"
},
"traffic": "Трафік",
"unitPrice": "Ціна за одиницю",
"updateSuccess": "Оновлення успішне"
"title": "Управління Підписками"
}