3118 lines
136 KiB
JavaScript
3118 lines
136 KiB
JavaScript
window.XBOARD_TRANSLATIONS = window.XBOARD_TRANSLATIONS || {};
|
||
window.XBOARD_TRANSLATIONS['ru-RU'] = {
|
||
"user": {
|
||
"manage": {
|
||
"title": "Управление пользователями",
|
||
"description": "Здесь вы можете управлять пользователями, включая добавление, удаление, редактирование и поиск."
|
||
},
|
||
"columns": {
|
||
"is_admin": "Админ",
|
||
"is_staff": "Персонал",
|
||
"id": "ID",
|
||
"email": "Email",
|
||
"online_count": "Устройства онлайн",
|
||
"status": "Статус",
|
||
"subscription": "Подписка",
|
||
"group": "Группа",
|
||
"used_traffic": "Использовано",
|
||
"total_traffic": "Всего трафика",
|
||
"expire_time": "Срок действия",
|
||
"balance": "Баланс",
|
||
"commission": "Комиссия",
|
||
"register_time": "Дата регистрации",
|
||
"actions": "Действия",
|
||
"next_reset_at": "След. сброс",
|
||
"device_limit": {
|
||
"unlimited": "Без лимита устройств",
|
||
"limited": "Максимум {{count}} устройств"
|
||
},
|
||
"status_text": {
|
||
"normal": "Нормальный",
|
||
"banned": "Забанен"
|
||
},
|
||
"online_status": {
|
||
"online": "В сети",
|
||
"never": "Никогда не был в сети",
|
||
"last_online": "Был в сети: {{time}}",
|
||
"offline_duration": {
|
||
"days": "Не в сети: {{count}}д",
|
||
"hours": "Не в сети: {{count}}ч",
|
||
"minutes": "Не в сети: {{count}}м",
|
||
"seconds": "Не в сети: {{count}}с"
|
||
}
|
||
},
|
||
"expire_status": {
|
||
"permanent": "Бессрочно",
|
||
"expired": "Истекло {{days}} дн. назад",
|
||
"remaining": "Осталось {{days}} дн."
|
||
},
|
||
"actions_menu": {
|
||
"edit": "Редактировать",
|
||
"view_details": "Просмотреть детали",
|
||
"assign_order": "Назначить заказ",
|
||
"copy_url": "Копировать ссылку подписки",
|
||
"reset_secret": "Сбросить UUID и URL",
|
||
"orders": "Заказы",
|
||
"invites": "Приглашения",
|
||
"traffic_records": "Записи трафика",
|
||
"reset_traffic": "Сбросить трафик",
|
||
"delete": "Удалить",
|
||
"delete_confirm_title": "Подтверждение удаления пользователя",
|
||
"delete_confirm_description": "Это действие навсегда удалит пользователя {{email}} и все связанные данные, включая заказы, купоны, записи трафика и тикеты. Это действие нельзя отменить. Продолжить?"
|
||
}
|
||
},
|
||
"filter": {
|
||
"selected": "Выбрано {{count}}",
|
||
"no_results": "Результатов не найдено.",
|
||
"clear": "Очистить фильтры",
|
||
"search_placeholder": "Поиск...",
|
||
"email_search": "Поиск по email...",
|
||
"advanced": "Расширенный фильтр",
|
||
"reset": "Сбросить фильтр",
|
||
"sheet": {
|
||
"title": "Расширенный фильтр",
|
||
"description": "Добавьте одно или несколько условий для точного поиска пользователей",
|
||
"conditions": "Условия фильтрации",
|
||
"add": "Добавить условие",
|
||
"condition": "Условие {{number}}",
|
||
"field": "Выберите поле",
|
||
"operator": "Выберите оператор",
|
||
"value": "Введите значение",
|
||
"value_number": "Введите значение ({{unit}})",
|
||
"reset": "Сброс",
|
||
"apply": "Применить фильтр"
|
||
},
|
||
"fields": {
|
||
"email": "Email",
|
||
"id": "ID пользователя",
|
||
"plan_id": "Подписка",
|
||
"transfer_enable": "Трафик",
|
||
"total_used": "Использовано",
|
||
"online_count": "Устройства онлайн",
|
||
"expired_at": "Срок действия",
|
||
"uuid": "UUID",
|
||
"token": "Токен",
|
||
"banned": "Статус аккаунта",
|
||
"remark": "Примечание",
|
||
"inviter_email": "Email пригласителя",
|
||
"invite_user_id": "ID пригласителя",
|
||
"is_admin": "Админ",
|
||
"is_staff": "Персонал"
|
||
},
|
||
"operators": {
|
||
"contains": "Содержит",
|
||
"eq": "Равно",
|
||
"gt": "Больше",
|
||
"lt": "Меньше"
|
||
},
|
||
"status": {
|
||
"normal": "Нормальный",
|
||
"banned": "Забанен"
|
||
},
|
||
"boolean": {
|
||
"true": "Да",
|
||
"false": "Нет"
|
||
}
|
||
},
|
||
"generate": {
|
||
"button": "Создать пользователя",
|
||
"title": "Создание пользователя",
|
||
"form": {
|
||
"email": "Email",
|
||
"email_prefix": "Префикс аккаунта (оставьте пустым для пакетной генерации)",
|
||
"email_domain": "Домен",
|
||
"password": "Пароль",
|
||
"password_placeholder": "Оставьте пустым, чтобы использовать email в качестве пароля",
|
||
"expire_time": "Срок действия",
|
||
"expire_time_placeholder": "Выберите срок действия, оставьте пустым для бессрочного",
|
||
"permanent": "Бессрочно",
|
||
"subscription": "Тарифный план",
|
||
"subscription_none": "Нет",
|
||
"generate_count": "Количество для генерации",
|
||
"generate_count_placeholder": "Введите количество для пакетной генерации",
|
||
"cancel": "Отмена",
|
||
"submit": "Создать",
|
||
"success": "Пользователи созданы",
|
||
"download_csv": "Скачать как CSV"
|
||
}
|
||
},
|
||
"edit": {
|
||
"button": "Редактировать пользователя",
|
||
"title": "Управление пользователем",
|
||
"form": {
|
||
"email": "Email",
|
||
"email_placeholder": "Пожалуйста, введите email",
|
||
"inviter_email": "Email пригласителя",
|
||
"inviter_email_placeholder": "Пожалуйста, введите email",
|
||
"password": "Пароль",
|
||
"password_placeholder": "Введите новый пароль, если хотите изменить его",
|
||
"balance": "Баланс",
|
||
"balance_placeholder": "Пожалуйста, введите баланс",
|
||
"commission_balance": "Баланс комиссии",
|
||
"commission_balance_placeholder": "Пожалуйста, введите баланс комиссии",
|
||
"upload": "Трафик (загрузка)",
|
||
"upload_placeholder": "Введите трафик загрузки",
|
||
"download": "Трафик (скачивание)",
|
||
"download_placeholder": "Введите трафик скачивания",
|
||
"total_traffic": "Общий трафик",
|
||
"total_traffic_placeholder": "Пожалуйста, введите трафик",
|
||
"expire_time": "Срок действия",
|
||
"expire_time_placeholder": "Выберите дату, оставьте пустым для бессрочного",
|
||
"expire_time_specific": "Конкретное время",
|
||
"expire_time_today": "До конца сегодня",
|
||
"expire_time_permanent": "Бессрочно",
|
||
"expire_time_1month": "Один месяц",
|
||
"expire_time_3months": "Три месяца",
|
||
"expire_time_confirm": "Подтвердить",
|
||
"subscription": "Тарифный план",
|
||
"subscription_none": "Нет",
|
||
"account_status": "Статус аккаунта",
|
||
"commission_type": "Тип комиссии",
|
||
"commission_type_system": "По системным настройкам",
|
||
"commission_type_cycle": "Циклическая комиссия",
|
||
"commission_type_onetime": "Единоразовая комиссия",
|
||
"commission_rate": "Ставка комиссии",
|
||
"commission_rate_placeholder": "Оставьте пустым для системной ставки",
|
||
"discount": "Эксклюзивная скидка",
|
||
"discount_placeholder": "Оставьте пустым, если нет скидки",
|
||
"speed_limit": "Лимит скорости",
|
||
"speed_limit_placeholder": "Оставьте пустым для безлимита",
|
||
"device_limit": "Лимит устройств",
|
||
"device_limit_placeholder": "Оставьте пустым для безлимита",
|
||
"is_admin": "Админ",
|
||
"is_staff": "Персонал",
|
||
"remarks": "Примечания",
|
||
"remarks_placeholder": "Введите примечания здесь",
|
||
"cancel": "Отмена",
|
||
"submit": "Отправить",
|
||
"success": "Изменено успешно"
|
||
}
|
||
},
|
||
"actions": {
|
||
"title": "Действия",
|
||
"send_email": "Отправить Email",
|
||
"export_csv": "Экспорт в CSV",
|
||
"traffic_reset_stats": "Статистика сброса трафика",
|
||
"batch_ban": "Пакетный бан",
|
||
"confirm_ban": {
|
||
"title": "Подтверждение пакетного бана",
|
||
"filtered_description": "Это действие забанит всех пользователей, соответствующих вашим текущим фильтрам. Это нельзя отменить.",
|
||
"all_description": "Это действие забанит всех пользователей в системе. Это нельзя отменить.",
|
||
"cancel": "Отмена",
|
||
"confirm": "Подтвердить бан",
|
||
"banning": "Баню..."
|
||
}
|
||
},
|
||
"messages": {
|
||
"success": "Успех",
|
||
"error": "Ошибка",
|
||
"export": {
|
||
"success": "Экспорт выполнен",
|
||
"failed": "Ошибка экспорта"
|
||
},
|
||
"batch_ban": {
|
||
"success": "Пакетный бан выполнен",
|
||
"failed": "Ошибка пакетного бана"
|
||
},
|
||
"send_mail": {
|
||
"success": "Email отправлен",
|
||
"failed": "Ошибка отправки email",
|
||
"required_fields": "Пожалуйста, заполните обязательные поля"
|
||
}
|
||
},
|
||
"traffic_reset": {
|
||
"title": "Сброс трафика",
|
||
"description": "Сбросить трафик для пользователя {{email}}",
|
||
"tabs": {
|
||
"reset": "Сбросить трафик",
|
||
"history": "История сбросов"
|
||
},
|
||
"user_info": "Информация о пользователе",
|
||
"warning": {
|
||
"title": "Важное уведомление",
|
||
"irreversible": "Операция сброса трафика необратима, пожалуйста, будьте осторожны",
|
||
"reset_to_zero": "После сброса трафик загрузки и скачивания пользователя будет обнулен",
|
||
"logged": "Все операции сброса записываются в системные логи"
|
||
},
|
||
"reason": {
|
||
"label": "Причина сброса",
|
||
"placeholder": "Введите причину сброса (опционально)",
|
||
"optional": "Это поле не обязательно и используется для записи причины сброса"
|
||
},
|
||
"confirm_reset": "Подтвердить сброс",
|
||
"resetting": "Сбрасываю...",
|
||
"reset_success": "Трафик сброшен успешно",
|
||
"reset_failed": "Ошибка при сбросе трафика",
|
||
"history": {
|
||
"summary": "Обзор сбросов",
|
||
"reset_count": "Количество сбросов",
|
||
"last_reset": "Последний сброс",
|
||
"next_reset": "Следующий сброс",
|
||
"never": "Никогда не сбрасывался",
|
||
"no_schedule": "Сброс не запланирован",
|
||
"records": "Записи о сбросе",
|
||
"recent_records": "Последние 10 записей",
|
||
"no_records": "Записей о сбросе нет",
|
||
"reset_time": "Время сброса",
|
||
"traffic_cleared": "Трафик обнулен"
|
||
},
|
||
"stats": {
|
||
"title": "Статистика сброса трафика",
|
||
"description": "Просмотр системной статистики сброса трафика",
|
||
"time_range": "Временной диапазон",
|
||
"total_resets": "Всего сбросов",
|
||
"auto_resets": "Автоматические",
|
||
"manual_resets": "Ручные",
|
||
"cron_resets": "По расписанию/Cron",
|
||
"in_period": "За последние {{days}} дн.",
|
||
"breakdown": "Разбивка по типам",
|
||
"breakdown_description": "Процентное соотношение различных типов операций сброса",
|
||
"auto_percentage": "Доля автосбросов",
|
||
"manual_percentage": "Доля ручных сбросов",
|
||
"cron_percentage": "Доля сбросов по Cron",
|
||
"days_options": {
|
||
"week": "За неделю",
|
||
"month": "За месяц",
|
||
"quarter": "За квартал",
|
||
"year": "За год"
|
||
}
|
||
}
|
||
},
|
||
"traffic_reset_logs": {
|
||
"title": "Логи сброса трафика",
|
||
"description": "Просмотр подробных записей всех операций сброса трафика в системе",
|
||
"columns": {
|
||
"id": "ID лога",
|
||
"user": "Пользователь",
|
||
"reset_type": "Тип сброса",
|
||
"trigger_source": "Источник",
|
||
"cleared_traffic": "Обнуленный трафик",
|
||
"cleared": "Обнулено",
|
||
"upload": "Загрузка",
|
||
"download": "Скачивание",
|
||
"reset_time": "Время сброса",
|
||
"log_time": "Время записи"
|
||
},
|
||
"filters": {
|
||
"search_user": "Поиск по email...",
|
||
"reset_type": "Тип сброса",
|
||
"trigger_source": "Источник",
|
||
"all_types": "Все типы",
|
||
"all_sources": "Все источники",
|
||
"start_date": "Дата начала",
|
||
"end_date": "Дата окончания",
|
||
"apply_date": "Применить фильтр",
|
||
"reset": "Сбросить фильтр",
|
||
"filter_title": "Параметры фильтрации",
|
||
"filter_description": "Установите условия для поиска записей о сбросе трафика",
|
||
"reset_types": {
|
||
"monthly": "Ежемесячно",
|
||
"first_day_month": "Первое число месяца",
|
||
"yearly": "Ежегодно",
|
||
"first_day_year": "Первое число года",
|
||
"manual": "Вручную"
|
||
},
|
||
"trigger_sources": {
|
||
"auto": "Автоматически",
|
||
"manual": "Вручную",
|
||
"cron": "По расписанию/Cron"
|
||
}
|
||
},
|
||
"actions": {
|
||
"export": "Экспорт логов",
|
||
"exporting": "Экспортирую...",
|
||
"export_success": "Экспорт выполнен успешно",
|
||
"export_failed": "Ошибка экспорта"
|
||
},
|
||
"trigger_descriptions": {
|
||
"manual": "Сброс трафика выполнен администратором вручную",
|
||
"cron": "Сброс выполнен автоматически системной задачей (Cron)",
|
||
"auto": "Автоматический сброс при выполнении условий системы",
|
||
"other": "Сброс выполнен другим способом"
|
||
}
|
||
},
|
||
"send_mail": {
|
||
"title": "Отправить Email",
|
||
"description": "Отправить сообщение выбранным или отфильтрованным пользователям",
|
||
"subject": "Тема",
|
||
"content": "Содержимое",
|
||
"sending": "Отправка...",
|
||
"send": "Отправить"
|
||
},
|
||
"dialog": {
|
||
"title": "Детали пользователя",
|
||
"basicInfo": "Основная информация",
|
||
"subscriptionInfo": "Информация о подписке",
|
||
"trafficInfo": "Информация о трафике",
|
||
"financialInfo": "Финансовая информация",
|
||
"activityInfo": "Активность",
|
||
"inviteInfo": "Реферальная информация",
|
||
"timeInfo": "Временные метки",
|
||
"subscriptionUrl": "Ссылка подписки",
|
||
"fields": {
|
||
"userId": "ID пользователя",
|
||
"email": "Email",
|
||
"uuid": "UUID",
|
||
"token": "Токен",
|
||
"remarks": "Примечания",
|
||
"subscriptionPlan": "Тариф",
|
||
"permissionGroup": "Группы доступа",
|
||
"expiredAt": "Истекает",
|
||
"deviceLimit": "Лимит устройств",
|
||
"speedLimit": "Лимит скорости",
|
||
"transferEnable": "Всего трафика",
|
||
"uploadUsed": "Использовано (Up)",
|
||
"downloadUsed": "Использовано (Down)",
|
||
"totalUsed": "Всего использовано",
|
||
"lastResetAt": "Последний сброс",
|
||
"nextResetAt": "Следующий сброс",
|
||
"resetCount": "Кол-во сбросов",
|
||
"balance": "Баланс",
|
||
"commissionBalance": "Баланс комиссии",
|
||
"commissionType": "Тип комиссии",
|
||
"commissionRate": "Ставка комиссии",
|
||
"lastLoginAt": "Последний вход",
|
||
"lastLoginIp": "IP последнего входа",
|
||
"lastOnlineAt": "Последний раз онлайн",
|
||
"onlineCount": "Устройства онлайн",
|
||
"inviteUser": "Пригласитель",
|
||
"inviteUserId": "ID пригласителя",
|
||
"createdAt": "Дата создания",
|
||
"updatedAt": "Дата обновления",
|
||
"subscribeUrl": "Ссылка подписки",
|
||
"telegramId": "Telegram ID"
|
||
}
|
||
},
|
||
"status": {
|
||
"normal": "Нормальный",
|
||
"banned": "Забанен",
|
||
"admin": "Админ",
|
||
"staff": "Персонал"
|
||
}
|
||
},
|
||
"route": {
|
||
"title": "Управление маршрутами",
|
||
"description": "Управление группами маршрутов, включая добавление, удаление и редактирование.",
|
||
"columns": {
|
||
"id": "ID группы",
|
||
"remarks": "Примечание",
|
||
"action": "Действие",
|
||
"actions": "Действия",
|
||
"matchRules": "Правил совпадения: {{count}}",
|
||
"action_value": {
|
||
"title": "Значение действия",
|
||
"dns": "DNS: {{value}}",
|
||
"proxy": "Прокси ({{value}})",
|
||
"block": "Блокировать доступ",
|
||
"direct": "Прямое соединение"
|
||
}
|
||
},
|
||
"actions": {
|
||
"dns": "Разрешать через DNS",
|
||
"block": "Блокировать",
|
||
"direct": "Напрямую",
|
||
"proxy": "Прокси"
|
||
},
|
||
"form": {
|
||
"add": "Добавить маршрут",
|
||
"edit": "Изменить маршрут",
|
||
"create": "Создать маршрут",
|
||
"remarks": "Примечание",
|
||
"remarksPlaceholder": "Введите примечание",
|
||
"match": "Правила совпадения",
|
||
"matchPlaceholder": "example.com\n*.example.com",
|
||
"action": "Действие",
|
||
"actionPlaceholder": "Выберите действие",
|
||
"dns": "DNS Сервер",
|
||
"dnsPlaceholder": "Введите DNS сервер",
|
||
"proxy": "Тег выхода",
|
||
"proxyPlaceholder": "Введите тег выхода (Outbound Tag)",
|
||
"cancel": "Отмена",
|
||
"submit": "Отправить",
|
||
"validation": {
|
||
"remarks": "Введите корректное примечание"
|
||
}
|
||
},
|
||
"toolbar": {
|
||
"searchPlaceholder": "Поиск маршрутов...",
|
||
"reset": "Сбросить"
|
||
},
|
||
"messages": {
|
||
"deleteConfirm": "Подтверждение удаления",
|
||
"deleteDescription": "Это действие навсегда удалит эту группу маршрутов. Продолжить?",
|
||
"deleteButton": "Удалить",
|
||
"deleteSuccess": "Удалено успешно",
|
||
"createSuccess": "Создано успешно",
|
||
"updateSuccess": "Обновлено успешно"
|
||
}
|
||
},
|
||
"knowledge": {
|
||
"title": "База знаний",
|
||
"description": "Здесь вы можете управлять статьями базы знаний, включая их добавление, удаление и редактирование.",
|
||
"columns": {
|
||
"id": "ID",
|
||
"status": "Статус",
|
||
"title": "Заголовок",
|
||
"category": "Категория",
|
||
"actions": "Действия"
|
||
},
|
||
"form": {
|
||
"add": "Добавить статью",
|
||
"edit": "Изменить статью",
|
||
"title": "Заголовок",
|
||
"titlePlaceholder": "Введите заголовок статьи",
|
||
"category": "Категория",
|
||
"categoryPlaceholder": "Введите категорию для автоматической группировки",
|
||
"language": "Язык",
|
||
"languagePlaceholder": "Выберите язык",
|
||
"content": "Содержимое",
|
||
"show": "Показывать",
|
||
"cancel": "Отмена",
|
||
"submit": "Отправить"
|
||
},
|
||
"languages": {
|
||
"en-US": "English",
|
||
"ja-JP": "日本語",
|
||
"ko-KR": "한국어",
|
||
"vi-VN": "Tiếng Việt",
|
||
"zh-CN": "简体中文",
|
||
"zh-TW": "繁體中文",
|
||
"ru-RU": "Русский"
|
||
},
|
||
"messages": {
|
||
"deleteConfirm": "Подтверждение удаления",
|
||
"deleteDescription": "Это действие навсегда удалит статью из базы знаний. Вы уверены, что хотите продолжить?",
|
||
"deleteButton": "Удалить",
|
||
"operationSuccess": "Операция выполнена успешно"
|
||
},
|
||
"toolbar": {
|
||
"searchPlaceholder": "Поиск по базе знаний...",
|
||
"reset": "Сбросить",
|
||
"sortModeHint": "Перетаскивайте элементы для сортировки, затем нажмите сохранить",
|
||
"editSort": "Изменить порядок",
|
||
"saveSort": "Сохранить порядок"
|
||
}
|
||
},
|
||
"giftCard": {
|
||
"title": "Управление подарочными картами",
|
||
"description": "Управление шаблонами подарочных карт, кодами активации и записями об использовании.",
|
||
"tabs": {
|
||
"templates": "Управление шаблонами",
|
||
"codes": "Коды активации",
|
||
"usages": "История использования",
|
||
"statistics": "Статистика"
|
||
},
|
||
"template": {
|
||
"title": "Управление шаблонами",
|
||
"description": "Создание, редактирование и удаление шаблонов подарочных карт.",
|
||
"table": {
|
||
"title": "Список шаблонов",
|
||
"columns": {
|
||
"id": "ID",
|
||
"name": "Название",
|
||
"type": "Тип",
|
||
"status": "Статус",
|
||
"sort": "Сортировка",
|
||
"rewards": "Награды",
|
||
"created_at": "Дата создания",
|
||
"actions": "Действия",
|
||
"no_rewards": "Нет наград"
|
||
}
|
||
},
|
||
"form": {
|
||
"add": "Добавить шаблон",
|
||
"edit": "Изменить шаблон",
|
||
"name": {
|
||
"label": "Название шаблона",
|
||
"placeholder": "Введите название шаблона",
|
||
"required": "Пожалуйста, введите название шаблона"
|
||
},
|
||
"sort": {
|
||
"label": "Сортировка",
|
||
"placeholder": "Меньшие числа отображаются первыми"
|
||
},
|
||
"type": {
|
||
"label": "Тип",
|
||
"placeholder": "Выберите тип карты"
|
||
},
|
||
"description": {
|
||
"label": "Описание",
|
||
"placeholder": "Введите описание подарочной карты"
|
||
},
|
||
"status": {
|
||
"label": "Статус",
|
||
"description": "Если отключено, этот шаблон нельзя использовать для создания или активации новых карт."
|
||
},
|
||
"display": {
|
||
"title": "Визуальные эффекты"
|
||
},
|
||
"theme_color": {
|
||
"label": "Цвет темы"
|
||
},
|
||
"icon": {
|
||
"label": "Иконка",
|
||
"placeholder": "Введите URL иконки"
|
||
},
|
||
"background_image": {
|
||
"label": "Фоновое изображение",
|
||
"placeholder": "Введите URL фонового изображения"
|
||
},
|
||
"conditions": {
|
||
"title": "Условия использования",
|
||
"new_user_max_days": {
|
||
"label": "Лимит дней регистрации нового пользователя",
|
||
"placeholder": "Пример: 7 (Только для пользователей, зарегистрированных в течение 7 дней)"
|
||
},
|
||
"new_user_only": {
|
||
"label": "Только для новых пользователей"
|
||
},
|
||
"paid_user_only": {
|
||
"label": "Только для платных пользователей"
|
||
},
|
||
"require_invite": {
|
||
"label": "Требуется наличие пригласителя"
|
||
},
|
||
"allowed_plans": {
|
||
"label": "Разрешенные тарифы",
|
||
"placeholder": "Выберите тарифы, доступные для активации (оставьте пустым для всех)"
|
||
},
|
||
"disallowed_plans": {
|
||
"label": "Запрещенные тарифы",
|
||
"placeholder": "Выберите тарифы, для которых активация запрещена"
|
||
}
|
||
},
|
||
"limits": {
|
||
"title": "Ограничения",
|
||
"max_use_per_user": {
|
||
"label": "Макс. использований на пользователя",
|
||
"placeholder": "Оставьте пустым для безлимита"
|
||
},
|
||
"cooldown_hours": {
|
||
"label": "Кулдаун (часы) для однотипных карт",
|
||
"placeholder": "Оставьте пустым для безлимита"
|
||
},
|
||
"invite_reward_rate": {
|
||
"label": "Доля вознаграждения пригласителя",
|
||
"placeholder": "Пример: 0.2 (означает 20%)",
|
||
"description": "Если у пользователя есть пригласитель, его бонус = бонус пользователя × эта доля"
|
||
}
|
||
},
|
||
"rewards": {
|
||
"title": "Награды",
|
||
"balance": {
|
||
"label": "Бонусный баланс (Валюта)",
|
||
"short_label": "Баланс",
|
||
"placeholder": "Введите сумму вознаграждения"
|
||
},
|
||
"transfer_enable": {
|
||
"label": "Бонусный трафик (ГБ)",
|
||
"short_label": "Трафик",
|
||
"placeholder": "Введите объем трафика (ГБ)"
|
||
},
|
||
"expire_days": {
|
||
"label": "Продление срока (дней)",
|
||
"short_label": "Срок",
|
||
"placeholder": "Введите количество дней"
|
||
},
|
||
"transfer": {
|
||
"label": "Бонусный трафик (Байты)",
|
||
"placeholder": "Введите объем трафика (байты)"
|
||
},
|
||
"days": {
|
||
"label": "Продление срока (дней)",
|
||
"placeholder": "Введите количество дней"
|
||
},
|
||
"device_limit": {
|
||
"label": "Увеличить лимит устройств",
|
||
"short_label": "Устройства",
|
||
"placeholder": "Введите количество дополнительных устройств"
|
||
},
|
||
"reset_package": {
|
||
"label": "Сбросить месячный трафик",
|
||
"description": "Если включено, активация очистит использованный трафик текущего тарифа пользователя."
|
||
},
|
||
"reset_count": {
|
||
"description": "Этот тип карты сбрасывает использование месячного трафика пользователя."
|
||
},
|
||
"task_card": {
|
||
"description": "Награды для бонусных карт за задания настраиваются в системе заданий."
|
||
},
|
||
"plan_id": {
|
||
"label": "Указанный тариф",
|
||
"short_label": "Тариф",
|
||
"placeholder": "Пожалуйста, выберите тариф"
|
||
},
|
||
"plan_validity_days": {
|
||
"label": "Срок действия тарифа (дней)",
|
||
"short_label": "Срок тарифа",
|
||
"placeholder": "Оставьте пустым для срока по умолчанию"
|
||
},
|
||
"random_rewards": {
|
||
"label": "Пул случайных наград",
|
||
"add": "Добавить случайную награду",
|
||
"weight": "Вес"
|
||
}
|
||
},
|
||
"special_config": {
|
||
"title": "Специальная конфигурация",
|
||
"start_time": {
|
||
"label": "Время начала события",
|
||
"placeholder": "Выберите дату начала"
|
||
},
|
||
"end_time": {
|
||
"label": "Время окончания события",
|
||
"placeholder": "Выберите дату окончания"
|
||
},
|
||
"festival_bonus": {
|
||
"label": "Множитель праздничной награды",
|
||
"placeholder": "Пример: 1.5 (означает 1.5x)"
|
||
}
|
||
},
|
||
"submit": {
|
||
"saving": "Сохранение...",
|
||
"save": "Сохранить"
|
||
}
|
||
},
|
||
"actions": {
|
||
"edit": "Изменить",
|
||
"delete": "Удалить",
|
||
"deleteConfirm": {
|
||
"title": "Подтверждение удаления",
|
||
"description": "Это действие навсегда удалит этот шаблон. Вы уверены, что хотите продолжить?",
|
||
"confirmText": "Удалить"
|
||
}
|
||
}
|
||
},
|
||
"code": {
|
||
"title": "Управление кодами активации",
|
||
"form": {
|
||
"generate": "Сгенерировать коды активации",
|
||
"template_id": {
|
||
"label": "Выберите шаблон",
|
||
"placeholder": "Выберите шаблон для генерации кодов активации"
|
||
},
|
||
"count": {
|
||
"label": "Количество кодов"
|
||
},
|
||
"prefix": {
|
||
"label": "Кастомный префикс (опционально)"
|
||
},
|
||
"expires_hours": {
|
||
"label": "Срок действия (часов)"
|
||
},
|
||
"max_usage": {
|
||
"label": "Лимит использований кода"
|
||
},
|
||
"download_csv": "Экспорт в CSV",
|
||
"submit": {
|
||
"generating": "Генерация...",
|
||
"generate": "Сгенерировать сейчас"
|
||
}
|
||
},
|
||
"description": "Управление кодами активации: генерация, просмотр и экспорт.",
|
||
"table": {
|
||
"title": "Список кодов активации",
|
||
"columns": {
|
||
"id": "ID",
|
||
"code": "Код активации",
|
||
"template_name": "Название шаблона",
|
||
"status": "Статус",
|
||
"expires_at": "Истекает",
|
||
"usage_count": "Использовано",
|
||
"max_usage": "Доступно",
|
||
"created_at": "Дата создания"
|
||
}
|
||
},
|
||
"actions": {
|
||
"enable": "Включить",
|
||
"disable": "Отключить",
|
||
"export": "Экспорт",
|
||
"exportConfirm": {
|
||
"title": "Подтверждение экспорта",
|
||
"description": "Все коды из выбранной группы будут экспортированы в текстовый файл. Продолжить?",
|
||
"confirmText": "Экспорт"
|
||
}
|
||
},
|
||
"status": {
|
||
"0": "Не использован",
|
||
"1": "Использован",
|
||
"2": "Отключен",
|
||
"3": "Истек"
|
||
}
|
||
},
|
||
"usage": {
|
||
"title": "История использования",
|
||
"description": "Просмотр записей об использовании подарочных карт.",
|
||
"table": {
|
||
"columns": {
|
||
"id": "ID",
|
||
"code": "Код активации",
|
||
"template_name": "Название шаблона",
|
||
"user_email": "Email пользователя",
|
||
"rewards_given": "Выданные награды",
|
||
"invite_rewards": "Бонус пригласителя",
|
||
"multiplier_applied": "Применен множитель",
|
||
"ip_address": "IP адрес",
|
||
"created_at": "Время использования",
|
||
"actions": "Действия"
|
||
}
|
||
},
|
||
"actions": {
|
||
"view": "Детали"
|
||
}
|
||
},
|
||
"statistics": {
|
||
"title": "Статистика",
|
||
"description": "Анализ использования подарочных карт.",
|
||
"total": {
|
||
"title": "Общая статистика",
|
||
"templates_count": "Всего шаблонов",
|
||
"active_templates_count": "Активных шаблонов",
|
||
"codes_count": "Всего кодов активации",
|
||
"used_codes_count": "Использовано кодов",
|
||
"usages_count": "Записей об активации"
|
||
},
|
||
"daily": {
|
||
"title": "Использование за день"
|
||
}
|
||
}
|
||
},
|
||
"group": {
|
||
"title": "Группы прав",
|
||
"description": "Управление всеми группами прав, включая добавление, удаление и редактирование.",
|
||
"columns": {
|
||
"id": "ID группы",
|
||
"name": "Название группы",
|
||
"usersCount": "Пользователей",
|
||
"serverCount": "Узлов",
|
||
"actions": "Действия"
|
||
},
|
||
"form": {
|
||
"add": "Добавить группу",
|
||
"edit": "Изменить группу",
|
||
"create": "Создать группу",
|
||
"update": "Обновить",
|
||
"name": "Название группы",
|
||
"namePlaceholder": "Введите название группы",
|
||
"nameDescription": "Название группы используется для идентификации. Рекомендуется использовать понятные имена.",
|
||
"cancel": "Отмена",
|
||
"editDescription": "Изменение информации о группе. Изменения вступят в силу немедленно.",
|
||
"createDescription": "Создайте новую группу прав для разграничения доступа пользователей."
|
||
},
|
||
"toolbar": {
|
||
"searchPlaceholder": "Поиск групп...",
|
||
"reset": "Сбросить"
|
||
},
|
||
"messages": {
|
||
"deleteConfirm": "Подтверждение удаления",
|
||
"deleteDescription": "Это действие навсегда удалит эту группу прав. Продолжить?",
|
||
"deleteButton": "Удалить",
|
||
"createSuccess": "Создано успешно",
|
||
"updateSuccess": "Обновлено успешно",
|
||
"nameValidation": {
|
||
"min": "Название должно содержать минимум 2 символа",
|
||
"max": "Название не может превышать 50 символов",
|
||
"pattern": "Название может содержать только буквы, цифры, китайские иероглифы, подчеркивания и дефисы"
|
||
}
|
||
}
|
||
},
|
||
"nav": {
|
||
"dashboard": "Панель управления",
|
||
"systemManagement": "Управление системой",
|
||
"systemConfig": "Настройки системы",
|
||
"themeConfig": "Настройки темы",
|
||
"noticeManagement": "Управление уведомлениями",
|
||
"pluginManagement": "Управление плагинами",
|
||
"paymentConfig": "Настройки оплаты",
|
||
"knowledgeManagement": "База знаний",
|
||
"nodeManagement": "Управление узлами",
|
||
"permissionGroupManagement": "Группы доступа",
|
||
"routeManagement": "Управление маршрутами",
|
||
"subscriptionManagement": "Подписки",
|
||
"planManagement": "Тарифные планы",
|
||
"orderManagement": "Управление заказами",
|
||
"couponManagement": "Купоны",
|
||
"giftCardManagement": "Подарочные карты",
|
||
"userManagement": "Пользователи",
|
||
"trafficResetLogs": "Логи сброса трафика",
|
||
"ticketManagement": "Тикеты"
|
||
},
|
||
"sidebar": {
|
||
"dashboard": "Панель управления",
|
||
"systemManagement": "Управление системой",
|
||
"systemConfig": "Конфигурация системы",
|
||
"themeConfig": "Конфигурация тем",
|
||
"noticeManagement": "Объявления",
|
||
"paymentConfig": "Платежные методы",
|
||
"knowledgeManagement": "База знаний",
|
||
"nodeManagement": "Узлы",
|
||
"permissionGroupManagement": "Группы прав",
|
||
"routeManagement": "Маршруты",
|
||
"subscriptionManagement": "Управление подписками",
|
||
"planManagement": "Тарифы",
|
||
"orderManagement": "Заказы",
|
||
"couponManagement": "Купоны",
|
||
"userManagement": "Пользователи",
|
||
"ticketManagement": "Тикеты"
|
||
},
|
||
"server": {
|
||
"title": "Конфигурация узла",
|
||
"description": "Настройка параметров связи и синхронизации узла, включая ключ связи, интервал опроса, балансировку нагрузки и другие расширенные параметры.",
|
||
"server_token": {
|
||
"title": "Ключ связи",
|
||
"description": "Ключ для связи между Xboard и узлами для предотвращения несанкционированного доступа к данным.",
|
||
"placeholder": "Пожалуйста, введите ключ связи"
|
||
},
|
||
"server_pull_interval": {
|
||
"title": "Интервал опроса Pull-действий",
|
||
"description": "Частота получения данных узлом из панели.",
|
||
"placeholder": "Пожалуйста, введите интервал получения"
|
||
},
|
||
"server_push_interval": {
|
||
"title": "Интервал опроса Push-действий",
|
||
"description": "Частота отправки данных узлом в панель.",
|
||
"placeholder": "Пожалуйста, введите интервал отправки"
|
||
},
|
||
"device_limit_mode": {
|
||
"title": "Режим ограничения устройств",
|
||
"description": "В мягком режиме несколько узлов с одного IP-адреса считаются за одно устройство.",
|
||
"strict": "Строгий режим",
|
||
"relaxed": "Мягкий режим",
|
||
"placeholder": "Пожалуйста, выберите режим ограничения"
|
||
},
|
||
"saving": "Сохранение...",
|
||
"manage": {
|
||
"title": "Управление узлами",
|
||
"description": "Управление всеми узлами, включая добавление, удаление, редактирование и другие операции."
|
||
},
|
||
"columns": {
|
||
"sort": "Сортировка",
|
||
"nodeId": "ID узла",
|
||
"show": "Показ",
|
||
"node": "Узел",
|
||
"address": "Адрес",
|
||
"onlineUsers": {
|
||
"title": "Пользователи онлайн",
|
||
"tooltip": "Количество пользователей онлайн на основе частоты отчетов сервера"
|
||
},
|
||
"rate": {
|
||
"title": "Множитель",
|
||
"tooltip": "Множитель тарификации трафика"
|
||
},
|
||
"traffic": {
|
||
"title": "Трафик",
|
||
"tooltip": "Использование трафика узлом",
|
||
"total": "Всего",
|
||
"used": "Использовано",
|
||
"percentage": "Использование"
|
||
},
|
||
"groups": {
|
||
"title": "Группы доступа",
|
||
"tooltip": "Группы, которые могут подписаться на этот узел",
|
||
"empty": "--"
|
||
},
|
||
"loadStatus": {
|
||
"title": "Загрузка",
|
||
"tooltip": "Использование ресурсов сервера",
|
||
"noData": "Нет данных",
|
||
"details": "Детали загрузки системы",
|
||
"cpu": "Загрузка CPU",
|
||
"memory": "Память",
|
||
"swap": "Swap",
|
||
"disk": "Диск",
|
||
"lastUpdate": "Последнее обновление",
|
||
"metrics": {
|
||
"title": "Метрики",
|
||
"uptime": "Аптайм",
|
||
"conns": "Соединения",
|
||
"speed": "Скорость"
|
||
}
|
||
},
|
||
"customId": "Кастомный ID",
|
||
"originalId": "Оригинальный ID",
|
||
"type": "Тип",
|
||
"actions": "Действия",
|
||
"copyAddress": "Копировать адрес",
|
||
"internalPort": "Внутр. порт",
|
||
"status": {
|
||
"0": "Не запущен",
|
||
"1": "Не используется или ошибка",
|
||
"2": "Работает нормально"
|
||
},
|
||
"actions_dropdown": {
|
||
"edit": "Редактировать",
|
||
"copy": "Копировать",
|
||
"delete": {
|
||
"title": "Подтверждение удаления",
|
||
"description": "Это действие навсегда удалит этот узел и не может быть отменено. Вы уверены, что хотите продолжить?",
|
||
"confirm": "Удалить"
|
||
},
|
||
"copy_success": "Скопировано успешно",
|
||
"delete_success": "Удалено успешно"
|
||
}
|
||
},
|
||
"toolbar": {
|
||
"search": "Поиск узлов...",
|
||
"type": "Тип",
|
||
"reset": "Сброс",
|
||
"sort": {
|
||
"tip": "Перетаскивайте узлы для сортировки, затем нажмите сохранить",
|
||
"edit": "Редактировать порядок",
|
||
"save": "Сохранить порядок"
|
||
}
|
||
},
|
||
"form": {
|
||
"add_node": "Добавить узел",
|
||
"edit_node": "Изменить узел",
|
||
"new_node": "Новый узел",
|
||
"type": {
|
||
"placeholder": "Выберите тип протокола",
|
||
"select_prompt": "Сначала выберите тип протокола",
|
||
"select_error": "Пожалуйста, выберите тип протокола"
|
||
},
|
||
"name": {
|
||
"label": "Название узла",
|
||
"placeholder": "Пожалуйста, введите название узла",
|
||
"error": "Пожалуйста, введите корректное название"
|
||
},
|
||
"rate": {
|
||
"label": "Базовый множитель",
|
||
"error": "Множитель обязателен",
|
||
"error_numeric": "Множитель должен быть числом",
|
||
"error_gte_zero": "Множитель должен быть больше или равен 0",
|
||
"child_node_tooltip": "Множитель дочернего узла наследуется от родительского и не может быть изменен отдельно",
|
||
"child_node_note": "Множитель наследуется от родителя"
|
||
},
|
||
"dynamic_rate": {
|
||
"section_title": "Конфигурация динамического множителя",
|
||
"enable_label": "Включить дин. множитель",
|
||
"enable_description": "Установите разные множители в зависимости от времени суток",
|
||
"rules_label": "Правила периодов",
|
||
"add_rule": "Добавить правило",
|
||
"rule_title": "Правило {{index}}",
|
||
"start_time": "Время начала",
|
||
"end_time": "Время окончания",
|
||
"multiplier": "Множитель",
|
||
"no_rules": "Правил пока нет, нажмите кнопку выше, чтобы добавить",
|
||
"start_time_error": "Время начала обязательно",
|
||
"end_time_error": "Время окончания обязательно",
|
||
"multiplier_error": "Множитель обязателен",
|
||
"multiplier_error_numeric": "Множитель должен быть числом",
|
||
"multiplier_error_gte_zero": "Множитель должен быть больше или равен 0"
|
||
},
|
||
"code": {
|
||
"label": "Кастомный ID узла",
|
||
"optional": "(Опционально)",
|
||
"placeholder": "Введите кастомный ID узла"
|
||
},
|
||
"tags": {
|
||
"label": "Теги узла",
|
||
"placeholder": "Нажмите Enter для добавления"
|
||
},
|
||
"groups": {
|
||
"label": "Группы доступа",
|
||
"add": "Добавить группу",
|
||
"placeholder": "Пожалуйста, выберите группы",
|
||
"empty": "Ничего не найдено"
|
||
},
|
||
"host": {
|
||
"label": "Адрес узла",
|
||
"placeholder": "Введите домен или IP",
|
||
"error": "Адрес узла обязателен"
|
||
},
|
||
"port": {
|
||
"label": "Порт подключения",
|
||
"placeholder": "Порт для пользователей",
|
||
"tooltip": "Порт, к которому фактически подключаются пользователи. Если используется транзит или туннель, этот порт может отличаться от порта, который сервер слушает на самом деле.",
|
||
"sync": "Синхронизировать с портом сервера",
|
||
"error": "Порт подключения обязателен"
|
||
},
|
||
"server_port": {
|
||
"label": "Порт сервера",
|
||
"placeholder": "Введите порт сервера",
|
||
"error": "Порт сервера обязателен",
|
||
"tooltip": "Фактический порт прослушивания на сервере.",
|
||
"sync": "Синхронизировать с портом сервера"
|
||
},
|
||
"parent": {
|
||
"label": "Родительский узел",
|
||
"placeholder": "Выберите родителя",
|
||
"none": "Нет"
|
||
},
|
||
"route": {
|
||
"label": "Группы маршрутов",
|
||
"placeholder": "Выберите маршруты",
|
||
"empty": "Ничего не найдено"
|
||
},
|
||
"submit": "Отправить",
|
||
"cancel": "Отмена",
|
||
"success": "Успешно отправлено"
|
||
},
|
||
"dynamic_form": {
|
||
"multiplex": {
|
||
"enabled": {
|
||
"label": "Multiplex",
|
||
"description": "Передача нескольких потоков через одно TCP-соединение"
|
||
},
|
||
"protocol": {
|
||
"label": "Протокол"
|
||
},
|
||
"max_connections": {
|
||
"label": "Макс. соединений"
|
||
},
|
||
"min_streams": {
|
||
"label": "Мин. потоков"
|
||
},
|
||
"padding": {
|
||
"label": "Включить Padding"
|
||
},
|
||
"brutal": {
|
||
"enabled": {
|
||
"label": "TCP Brutal"
|
||
},
|
||
"up_mbps": {
|
||
"label": "Upload Bandwidth"
|
||
},
|
||
"down_mbps": {
|
||
"label": "Download Bandwidth"
|
||
},
|
||
"description": "TCP Brutal — двусторонний алгоритм ускорения. Установите пропускную способность 80%-90% от реальной. BBR будет отключён при включении."
|
||
}
|
||
},
|
||
"anytls": {
|
||
"tls": {
|
||
"server_name": {
|
||
"label": "Server Name Indication (SNI)",
|
||
"placeholder": "Used for certificate verification when domain differs from node address"
|
||
},
|
||
"allow_insecure": "Allow Insecure"
|
||
},
|
||
"padding_scheme": {
|
||
"description": "Each line represents a padding rule, format: stop=8, 0=30-30",
|
||
"label": "Padding Scheme",
|
||
"placeholder": "Enter padding rules",
|
||
"use_default": "Use Default Scheme",
|
||
"edit_btn": "Edit Padding Scheme",
|
||
"configured": "{{count}} rules configured",
|
||
"not_configured": "Not configured"
|
||
}
|
||
},
|
||
"shadowsocks": {
|
||
"cipher": {
|
||
"label": "Encryption Method",
|
||
"placeholder": "Select encryption method",
|
||
"search_placeholder": "Search or enter custom encryption method...",
|
||
"description": "Select preset encryption method or enter custom encryption method",
|
||
"preset_group": "Preset Encryption Methods",
|
||
"custom_group": "Custom Encryption Method",
|
||
"current_value": "Current Value",
|
||
"use_custom": "Use",
|
||
"no_results": "No matching encryption method found",
|
||
"custom_hint": "You can directly enter a custom encryption method, such as: aes-256-cfb",
|
||
"custom_label": "Custom"
|
||
},
|
||
"plugin": {
|
||
"label": "Plugin",
|
||
"placeholder": "Select plugin",
|
||
"obfs_hint": "Hint: Configuration format like obfs=http;obfs-host=www.bing.com;path=/",
|
||
"v2ray_hint": "Hint: WebSocket mode format is mode=websocket;host=mydomain.me;path=/;tls=true, QUIC mode format is mode=quic;host=mydomain.me",
|
||
"gost_hint": "Hint: Configuration format like mode=websocket;host=mydomain.me;path=/;tls=true",
|
||
"shadow_tls_hint": "Hint: Configuration format like host=cloud.tencent.com;password=auth_password;version=3",
|
||
"restls_hint": "Hint: Configuration format like host=www.microsoft.com;password=auth_password;version-hint=tls13;restls-script=300?100<1,400~100",
|
||
"kcptun_hint": "Hint: Configuration format like key=psk;crypt=aes-128-gcm;mode=fast;mtu=1350"
|
||
},
|
||
"plugin_opts": {
|
||
"label": "Plugin Options",
|
||
"description": "Enter plugin options in key=value;key2=value2 format",
|
||
"placeholder": "Example: mode=tls;host=bing.com"
|
||
},
|
||
"client_fingerprint": "Client Fingerprint",
|
||
"client_fingerprint_placeholder": "Select client fingerprint",
|
||
"client_fingerprint_description": "Client spoofing fingerprint to reduce detection risk",
|
||
"obfs": {
|
||
"label": "Obfuscation",
|
||
"placeholder": "Select obfuscation method",
|
||
"none": "None",
|
||
"http": "HTTP"
|
||
},
|
||
"obfs_settings": {
|
||
"path": "Path",
|
||
"host": "Host"
|
||
},
|
||
"cert_config": {
|
||
"tab": "TLS Cert",
|
||
"cert_mode": {
|
||
"label": "Cert Mode",
|
||
"description": "Select how to manage certificates",
|
||
"self_description": "Self-signed: Valid for 10 years, auto-generated by node",
|
||
"http_description": "HTTP-01: Port 80 must be reachable",
|
||
"dns_description": "DNS-01: Authenticate via DNS records, supports wildcard certs",
|
||
"content_description": "Content: Push raw cert files to node"
|
||
},
|
||
"domain": {
|
||
"label": "Domain",
|
||
"placeholder": "example.com"
|
||
},
|
||
"email": {
|
||
"label": "Notification Email",
|
||
"placeholder": "admin@example.com"
|
||
},
|
||
"http_port": {
|
||
"label": "Challenge Port",
|
||
"description": "ACME challenge port (default 80)"
|
||
},
|
||
"dns_provider": {
|
||
"label": "DNS Provider",
|
||
"doc_link": "DNS provider configuration guide"
|
||
},
|
||
"dns_env": {
|
||
"label": "Env Vars (API Keys)",
|
||
"description_short": "One KEY=VALUE per line"
|
||
},
|
||
"cert_content": {
|
||
"label": "Public Key content"
|
||
},
|
||
"key_content": {
|
||
"label": "Private Key content"
|
||
},
|
||
"none_desc": "TLS config disabled"
|
||
}
|
||
},
|
||
"vmess": {
|
||
"tls": {
|
||
"label": "TLS",
|
||
"placeholder": "Please select security",
|
||
"disabled": "Disabled",
|
||
"enabled": "Enabled"
|
||
},
|
||
"tls_settings": {
|
||
"server_name": {
|
||
"label": "Server Name Indication (SNI)",
|
||
"placeholder": "Leave empty if not used"
|
||
},
|
||
"allow_insecure": "Allow Insecure?"
|
||
},
|
||
"network": {
|
||
"label": "Transport Protocol",
|
||
"placeholder": "Select transport protocol"
|
||
}
|
||
},
|
||
"trojan": {
|
||
"server_name": {
|
||
"label": "Server Name Indication (SNI)",
|
||
"placeholder": "Used for certificate verification when node address differs from certificate"
|
||
},
|
||
"allow_insecure": "Allow Insecure?",
|
||
"reality_settings": {
|
||
"server_name": {
|
||
"label": "Destination Site (dest)",
|
||
"placeholder": "e.g., example.com"
|
||
},
|
||
"server_port": {
|
||
"label": "Port",
|
||
"placeholder": "e.g., 443"
|
||
},
|
||
"allow_insecure": "Allow Insecure?",
|
||
"private_key": {
|
||
"label": "Private Key"
|
||
},
|
||
"public_key": {
|
||
"label": "Public Key"
|
||
},
|
||
"short_id": {
|
||
"label": "Short ID",
|
||
"placeholder": "Optional, length must be even, max 16 characters",
|
||
"description": "List of shortIds available to clients, can be used to distinguish different clients, using hexadecimal characters 0-f",
|
||
"generate": "Generate Short ID",
|
||
"success": "Short ID generated successfully"
|
||
},
|
||
"key_pair": {
|
||
"generate": "Generate Key Pair",
|
||
"success": "Key pair generated successfully",
|
||
"error": "Failed to generate key pair"
|
||
}
|
||
},
|
||
"network": {
|
||
"label": "Transport Protocol",
|
||
"placeholder": "Select transport protocol"
|
||
}
|
||
},
|
||
"hysteria": {
|
||
"version": {
|
||
"label": "Protocol Version",
|
||
"placeholder": "Protocol version"
|
||
},
|
||
"alpn": {
|
||
"label": "ALPN",
|
||
"placeholder": "ALPN"
|
||
},
|
||
"obfs": {
|
||
"label": "Obfuscation",
|
||
"type": {
|
||
"label": "Obfuscation Implementation",
|
||
"placeholder": "Select obfuscation implementation",
|
||
"salamander": "Salamander"
|
||
},
|
||
"password": {
|
||
"label": "Obfuscation Password",
|
||
"placeholder": "Please enter obfuscation password",
|
||
"generate_success": "Obfuscation password generated successfully"
|
||
}
|
||
},
|
||
"tls": {
|
||
"server_name": {
|
||
"label": "Server Name Indication (SNI)",
|
||
"placeholder": "Used for certificate verification when node address differs from certificate"
|
||
},
|
||
"allow_insecure": "Allow Insecure?"
|
||
},
|
||
"bandwidth": {
|
||
"up": {
|
||
"label": "Upload Bandwidth",
|
||
"placeholder": "Please enter upload bandwidth",
|
||
"suffix": "Mbps",
|
||
"bbr_tip": ", leave empty to use BBR"
|
||
},
|
||
"down": {
|
||
"label": "Download Bandwidth",
|
||
"placeholder": "Please enter download bandwidth",
|
||
"suffix": "Mbps",
|
||
"bbr_tip": ", leave empty to use BBR"
|
||
}
|
||
}
|
||
},
|
||
"vless": {
|
||
"tls": {
|
||
"label": "Security",
|
||
"placeholder": "Please select security",
|
||
"none": "None",
|
||
"tls": "TLS",
|
||
"reality": "Reality"
|
||
},
|
||
"tls_settings": {
|
||
"server_name": {
|
||
"label": "Server Name Indication (SNI)",
|
||
"placeholder": "Leave empty if not used"
|
||
},
|
||
"allow_insecure": "Allow Insecure?"
|
||
},
|
||
"reality_settings": {
|
||
"server_name": {
|
||
"label": "Destination Site (dest)",
|
||
"placeholder": "e.g., example.com"
|
||
},
|
||
"server_port": {
|
||
"label": "Port",
|
||
"placeholder": "e.g., 443"
|
||
},
|
||
"allow_insecure": "Allow Insecure?",
|
||
"private_key": {
|
||
"label": "Private Key"
|
||
},
|
||
"public_key": {
|
||
"label": "Public Key"
|
||
},
|
||
"short_id": {
|
||
"label": "Short ID",
|
||
"placeholder": "Optional, length must be even, max 16 characters",
|
||
"description": "List of shortIds available to clients, can be used to distinguish different clients, using hexadecimal characters 0-f",
|
||
"generate": "Generate Short ID",
|
||
"success": "Short ID generated successfully"
|
||
},
|
||
"key_pair": {
|
||
"generate": "Generate Key Pair",
|
||
"success": "Key pair generated successfully",
|
||
"error": "Failed to generate key pair"
|
||
}
|
||
},
|
||
"network": {
|
||
"label": "Transport Protocol",
|
||
"placeholder": "Select transport protocol"
|
||
},
|
||
"flow": {
|
||
"label": "Flow Control",
|
||
"placeholder": "Select flow control"
|
||
},
|
||
"encryption": {
|
||
"label": "VLESS Encryption",
|
||
"description": "Enable VLESS encryption",
|
||
"server_label": "decryption",
|
||
"server_placeholder": "./xray vlessenc",
|
||
"server_description": "",
|
||
"client_label": "encryption",
|
||
"client_placeholder": "./xray vlessenc",
|
||
"client_description": "",
|
||
"generate_hint": "./xray vlessenc"
|
||
}
|
||
},
|
||
"tuic": {
|
||
"version": {
|
||
"label": "Protocol Version",
|
||
"placeholder": "Select TUIC Version"
|
||
},
|
||
"password": {
|
||
"label": "Password",
|
||
"placeholder": "Enter Password",
|
||
"generate_success": "Password Generated Successfully"
|
||
},
|
||
"congestion_control": {
|
||
"label": "Congestion Control",
|
||
"placeholder": "Select Congestion Control Algorithm"
|
||
},
|
||
"udp_relay_mode": {
|
||
"label": "UDP Relay Mode",
|
||
"placeholder": "Select UDP Relay Mode"
|
||
},
|
||
"tls": {
|
||
"server_name": {
|
||
"label": "Server Name Indication (SNI)",
|
||
"placeholder": "Used for certificate verification when domain differs from node address"
|
||
},
|
||
"allow_insecure": "Allow Insecure?",
|
||
"alpn": {
|
||
"label": "ALPN",
|
||
"placeholder": "Select ALPN Protocols",
|
||
"empty": "No ALPN Protocols Available"
|
||
}
|
||
}
|
||
},
|
||
"socks": {
|
||
"version": {
|
||
"label": "Protocol Version",
|
||
"placeholder": "Select SOCKS Version"
|
||
},
|
||
"tls": {
|
||
"label": "TLS",
|
||
"placeholder": "Please select security",
|
||
"disabled": "Disabled",
|
||
"enabled": "Enabled"
|
||
},
|
||
"tls_settings": {
|
||
"server_name": {
|
||
"label": "Server Name Indication (SNI)",
|
||
"placeholder": "Leave empty if not used"
|
||
},
|
||
"allow_insecure": "Allow Insecure?"
|
||
},
|
||
"network": {
|
||
"label": "Transport Protocol",
|
||
"placeholder": "Select transport protocol"
|
||
}
|
||
},
|
||
"naive": {
|
||
"tls_settings": {
|
||
"server_name": {
|
||
"label": "Server Name Indication (SNI)",
|
||
"placeholder": "Used for certificate verification when domain differs from node address"
|
||
},
|
||
"allow_insecure": "Allow Insecure"
|
||
},
|
||
"tls": {
|
||
"label": "TLS",
|
||
"placeholder": "Please select security",
|
||
"disabled": "Disabled",
|
||
"enabled": "Enabled",
|
||
"server_name": {
|
||
"label": "Server Name Indication (SNI)",
|
||
"placeholder": "Used for certificate verification when domain differs from node address"
|
||
},
|
||
"allow_insecure": "Allow Insecure"
|
||
}
|
||
},
|
||
"http": {
|
||
"tls_settings": {
|
||
"server_name": {
|
||
"label": "Server Name Indication (SNI)",
|
||
"placeholder": "Used for certificate verification when domain differs from node address"
|
||
},
|
||
"allow_insecure": "Allow Insecure"
|
||
},
|
||
"tls": {
|
||
"label": "TLS",
|
||
"placeholder": "Please select security",
|
||
"disabled": "Disabled",
|
||
"enabled": "Enabled",
|
||
"server_name": {
|
||
"label": "Server Name Indication (SNI)",
|
||
"placeholder": "Used for certificate verification when domain differs from node address"
|
||
},
|
||
"allow_insecure": "Allow Insecure"
|
||
}
|
||
},
|
||
"mieru": {
|
||
"transport": {
|
||
"label": "Transport Protocol",
|
||
"placeholder": "Select transport protocol"
|
||
},
|
||
"traffic_pattern": {
|
||
"label": "Traffic Pattern (Base64)",
|
||
"placeholder": "Enter Base64 string for network fine-tuning",
|
||
"success": "Traffic pattern generated"
|
||
}
|
||
},
|
||
"advanced": {
|
||
"trigger_label": "Расширенная конфигурация",
|
||
"dialog_title": "Расширенная конфигурация протокола",
|
||
"tls_tab": "TLS",
|
||
"route_tab": "Маршрутизация",
|
||
"multiplex_tab": "Мультиплексирование"
|
||
}
|
||
},
|
||
"network_settings": {
|
||
"edit_protocol": "Edit Protocol",
|
||
"edit_protocol_config": "Edit Protocol Configuration",
|
||
"use_template": "Use {{template}} Template",
|
||
"json_config_placeholder": "Please enter JSON configuration",
|
||
"json_config_placeholder_with_template": "Please enter JSON configuration or select template above",
|
||
"validation": {
|
||
"must_be_object": "Configuration must be a JSON object",
|
||
"invalid_json": "Invalid JSON format"
|
||
},
|
||
"errors": {
|
||
"save_failed": "Error occurred while saving"
|
||
}
|
||
},
|
||
"common": {
|
||
"cancel": "Cancel",
|
||
"confirm": "Confirm"
|
||
}
|
||
},
|
||
"common": {
|
||
"loading": "Загрузка...",
|
||
"error": "Ошибка",
|
||
"success": "Успех",
|
||
"save": "Сохранить",
|
||
"cancel": "Отмена",
|
||
"confirm": "Подтвердить",
|
||
"close": "Закрыть",
|
||
"delete": {
|
||
"success": "Удалено успешно",
|
||
"failed": "Не удалось удалить"
|
||
},
|
||
"edit": "Редактировать",
|
||
"view": "Просмотр",
|
||
"toggleNavigation": "Переключить навигацию",
|
||
"toggleSidebar": "Переключить боковую панель",
|
||
"search": "Поиск...",
|
||
"theme": {
|
||
"light": "Светлая",
|
||
"dark": "Темная",
|
||
"system": "Системная"
|
||
},
|
||
"user": "Пользователь",
|
||
"defaultEmail": "user@example.com",
|
||
"settings": "Настройки",
|
||
"logout": "Выйти",
|
||
"copy": {
|
||
"success": "Скопировано успешно",
|
||
"failed": "Не удалось скопировать",
|
||
"error": "Ошибка копирования",
|
||
"errorLog": "Ошибка при копировании в буфер обмена"
|
||
},
|
||
"submit": "Отправить",
|
||
"saving": "Сохранение...",
|
||
"table": {
|
||
"noData": "Нет данных",
|
||
"pagination": {
|
||
"selected": "Выбрано {{selected}} из {{total}}",
|
||
"itemsPerPage": "На странице",
|
||
"page": "Страница",
|
||
"pageOf": "из {{total}}",
|
||
"firstPage": "На первую страницу",
|
||
"previousPage": "Предыдущая страница",
|
||
"nextPage": "Следующая страница",
|
||
"lastPage": "На последнюю страницу"
|
||
},
|
||
"viewOptions": {
|
||
"button": "Столбцы",
|
||
"label": "Переключить видимость столбцов"
|
||
}
|
||
},
|
||
"update": {
|
||
"title": "System Update",
|
||
"newVersion": "New Version Available",
|
||
"currentVersion": "Current Version",
|
||
"latestVersion": "Latest Version",
|
||
"updateLater": "Update Later",
|
||
"updateNow": "Update Now",
|
||
"updating": "Updating...",
|
||
"updateSuccess": "Update successful, system will restart shortly",
|
||
"updateFailed": "Update failed, please try again later"
|
||
},
|
||
"time": {
|
||
"day": "day",
|
||
"hour": " hour(s)"
|
||
},
|
||
"reset": "Reset",
|
||
"export": "Export",
|
||
"currency": {
|
||
"yuan": "Yuan"
|
||
},
|
||
"http": {
|
||
"notLoggedIn": "Not logged in",
|
||
"unknownError": "Unknown error",
|
||
"loginExpired": "Login expired",
|
||
"noPermission": "No permission",
|
||
"notFound": "Resource or API not found",
|
||
"unknownException": "Unknown exception"
|
||
}
|
||
},
|
||
"notice": {
|
||
"title": "Управление объявлениями",
|
||
"description": "Здесь вы можете настраивать объявления, включая добавление, удаление, редактирование и другие операции.",
|
||
"table": {
|
||
"columns": {
|
||
"id": "ID",
|
||
"show": "Статус показа",
|
||
"title": "Заголовок",
|
||
"actions": "Действия"
|
||
},
|
||
"toolbar": {
|
||
"search": "Поиск по заголовку...",
|
||
"reset": "Сброс",
|
||
"sort": {
|
||
"edit": "Изменить порядок",
|
||
"save": "Сохранить порядок"
|
||
}
|
||
},
|
||
"actions": {
|
||
"edit": "Изменить",
|
||
"delete": {
|
||
"title": "Подтверждение удаления",
|
||
"description": "Вы уверены, что хотите удалить это объявление? Это действие нельзя отменить.",
|
||
"success": "Успешно удалено"
|
||
}
|
||
}
|
||
},
|
||
"form": {
|
||
"add": {
|
||
"title": "Добавить объявление",
|
||
"button": "Добавить объявление"
|
||
},
|
||
"edit": {
|
||
"title": "Изменить объявление"
|
||
},
|
||
"fields": {
|
||
"title": {
|
||
"label": "Заголовок",
|
||
"placeholder": "Введите заголовок объявления"
|
||
},
|
||
"content": {
|
||
"label": "Содержимое"
|
||
},
|
||
"img_url": {
|
||
"label": "Фоновое изображение",
|
||
"placeholder": "Введите URL фонового изображения"
|
||
},
|
||
"show": {
|
||
"label": "Показывать"
|
||
},
|
||
"tags": {
|
||
"label": "Теги",
|
||
"placeholder": "Нажмите Enter для добавления тегов"
|
||
}
|
||
},
|
||
"buttons": {
|
||
"cancel": "Отмена",
|
||
"submit": "Отправить",
|
||
"success": "Успешно отправлено"
|
||
}
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "Системные настройки",
|
||
"description": "Управление основными конфигурациями системы, включая сайт, безопасность, подписки, реферальную программу, узлы и уведомления.",
|
||
"server": {
|
||
"title": "Конфигурация сервера",
|
||
"description": "Настройка связи и синхронизации узлов, включая ключи связи, интервалы опроса, балансировку нагрузки и другие параметры.",
|
||
"server_token": {
|
||
"title": "Токен связи",
|
||
"placeholder": "Введите токен связи",
|
||
"description": "Используется для аутентификации между серверами и панелью",
|
||
"generate_tooltip": "Нажмите для генерации случайного токена"
|
||
},
|
||
"server_pull_interval": {
|
||
"title": "Интервал получения данных (Pull)",
|
||
"description": "Частота, с которой узлы запрашивают данные из панели.",
|
||
"placeholder": "Введите интервал"
|
||
},
|
||
"server_push_interval": {
|
||
"title": "Интервал отправки данных (Push)",
|
||
"description": "Частота, с которой узлы отправляют статистику в панель.",
|
||
"placeholder": "Введите интервал"
|
||
},
|
||
"device_limit_mode": {
|
||
"title": "Режим лимита устройств",
|
||
"description": "В мягком режиме несколько узлов с одного IP считаются как одно устройство.",
|
||
"strict": "Строгий режим",
|
||
"relaxed": "Мягкий режим",
|
||
"placeholder": "Выберите режим лимита"
|
||
},
|
||
"server_ws_enable": {
|
||
"title": "Включить связь через WebSocket",
|
||
"description": "При включении узлы будут связываться с панелью через WebSocket для снижения задержки.",
|
||
"supported_clients": "Клиенты, поддерживающие WebSocket: Xboard Node"
|
||
},
|
||
"server_ws_url": {
|
||
"title": "URL WebSocket",
|
||
"description": "Адрес WebSocket для подключения узлов. Оставьте пустым, чтобы использовать URL сайта.",
|
||
"placeholder": "Оставьте пустым для URL сайта"
|
||
},
|
||
"saving": "Сохранение..."
|
||
},
|
||
"invite": {
|
||
"title": "Реферальная программа",
|
||
"description": "Настройка регистрации по приглашениям и комиссионных вознаграждений.",
|
||
"invite_force": {
|
||
"title": "Принудительное приглашение",
|
||
"description": "Если включено, регистрация доступна только по пригласительному коду."
|
||
},
|
||
"invite_commission": {
|
||
"title": "Процент комиссии",
|
||
"description": "Процент вознаграждения по умолчанию. Можно настроить индивидуально для каждого пользователя.",
|
||
"placeholder": "Введите процент"
|
||
},
|
||
"invite_gen_limit": {
|
||
"title": "Лимит генерации кодов",
|
||
"description": "Максимальное количество кодов, которое может создать пользователь.",
|
||
"placeholder": "Введите лимит"
|
||
},
|
||
"invite_never_expire": {
|
||
"title": "Бессрочные коды",
|
||
"description": "Если включено, коды не сгорают после использования."
|
||
},
|
||
"commission_first_time": {
|
||
"title": "Комиссия только за первую покупку",
|
||
"description": "Вознаграждение начисляется только за первый платеж приглашенного."
|
||
},
|
||
"commission_auto_check": {
|
||
"title": "Автоматическое подтверждение",
|
||
"description": "Комиссия подтверждается автоматически через 3 дня после завершения заказа."
|
||
},
|
||
"commission_withdraw_limit": {
|
||
"title": "Минимальная сумма вывода",
|
||
"description": "Запросы на вывод ниже этой суммы не принимаются.",
|
||
"placeholder": "Введите сумму"
|
||
},
|
||
"commission_withdraw_method": {
|
||
"title": "Методы вывода",
|
||
"description": "Поддерживаемые способы вывода средств, разделяйте запятыми.",
|
||
"placeholder": "Введите методы (напр. USDT, Карта)"
|
||
},
|
||
"withdraw_close": {
|
||
"title": "Отключить вывод средств",
|
||
"description": "Если включено, пользователи не могут запрашивать вывод, комиссия идет сразу на баланс."
|
||
},
|
||
"commission_distribution": {
|
||
"title": "Трехуровневая система",
|
||
"description": "Распределение комиссии по трем уровням пригласителей. Сумма не должна превышать 100%.",
|
||
"l1": "Уровень 1 (%)",
|
||
"l2": "Уровень 2 (%)",
|
||
"l3": "Уровень 3 (%)",
|
||
"placeholder": "Введите процент"
|
||
},
|
||
"saving": "Сохранение..."
|
||
},
|
||
"site": {
|
||
"title": "Настройки сайта",
|
||
"description": "Базовая информация о сайте: название, описание, валюта и другие параметры.",
|
||
"form": {
|
||
"siteName": {
|
||
"label": "Название сайта",
|
||
"placeholder": "Введите название",
|
||
"description": "Отображается в заголовках и интерфейсе."
|
||
},
|
||
"siteDescription": {
|
||
"label": "Описание сайта",
|
||
"placeholder": "Введите описание",
|
||
"description": "Используется для SEO и подзаголовков."
|
||
},
|
||
"siteUrl": {
|
||
"label": "URL сайта",
|
||
"placeholder": "Напр. https://domain.com (без / в конце)",
|
||
"description": "Используется в ссылках, письмах и API."
|
||
},
|
||
"forceHttps": {
|
||
"label": "Принудительный HTTPS",
|
||
"description": "Включите, если сайт за прокси/CDN с HTTPS, но сам сервер работает без него."
|
||
},
|
||
"logo": {
|
||
"label": "Логотип (URL)",
|
||
"placeholder": "URL вашего логотипа",
|
||
"description": "Ссылка на изображение логотипа."
|
||
},
|
||
"subscribeUrl": {
|
||
"label": "URL подписки (кастомный)",
|
||
"placeholder": "Разделяйте ',', оставьте пустым для URL сайта",
|
||
"description": "URL для генерации ссылок подписки."
|
||
},
|
||
"tosUrl": {
|
||
"label": "URL условий (TOS)",
|
||
"placeholder": "Ссылка на правила сервиса",
|
||
"description": "Ссылка на страницу правил использования."
|
||
},
|
||
"stopRegister": {
|
||
"label": "Отключить регистрацию",
|
||
"description": "Запретить регистрацию новых пользователей."
|
||
},
|
||
"ticketMustWaitReply": {
|
||
"label": "Ожидание ответа в тикетах",
|
||
"description": "Пользователь не может отправить новое сообщение, пока админ не ответит."
|
||
},
|
||
"tryOut": {
|
||
"label": "Тестовый период",
|
||
"placeholder": "Отключено",
|
||
"description": "Выберите тариф для триала при регистрации.",
|
||
"duration": {
|
||
"label": "Длительность (часов)",
|
||
"placeholder": "0",
|
||
"description": "Время действия пробного периода."
|
||
}
|
||
},
|
||
"currency": {
|
||
"label": "Код валюты",
|
||
"placeholder": "RUB",
|
||
"description": "Отображаемый код (влияет на весь интерфейс)."
|
||
},
|
||
"currencySymbol": {
|
||
"label": "Символ валюты",
|
||
"placeholder": "₽",
|
||
"description": "Отображаемый символ (влияет на весь интерфейс)."
|
||
}
|
||
}
|
||
},
|
||
"safe": {
|
||
"title": "Безопасность",
|
||
"description": "Настройки защиты: капча, лимиты паролей, белые списки Email и другие параметры.",
|
||
"form": {
|
||
"emailVerify": {
|
||
"label": "Верификация Email",
|
||
"description": "Обязательное подтверждение почты при регистрации."
|
||
},
|
||
"gmailLimit": {
|
||
"label": "Запретить алиасы Gmail",
|
||
"description": "Запретить регистрацию с использованием '+' в адресах Gmail."
|
||
},
|
||
"safeMode": {
|
||
"label": "Безопасный режим домена",
|
||
"description": "Доступ к сайту только через указанный URL (остальные 403)."
|
||
},
|
||
"securePath": {
|
||
"label": "Путь к админ-панели",
|
||
"placeholder": "admin",
|
||
"description": "Изменение стандартного адреса входа в админку."
|
||
},
|
||
"emailWhitelist": {
|
||
"label": "Белый список доменов почты",
|
||
"description": "Разрешить регистрацию только для указанных доменов.",
|
||
"suffixes": {
|
||
"label": "Домены почты",
|
||
"placeholder": "Один домен на строку (напр. gmail.com)",
|
||
"description": "Список разрешенных почтовых сервисов."
|
||
}
|
||
},
|
||
"captcha": {
|
||
"enable": {
|
||
"label": "Включить капчу",
|
||
"description": "Проверка пользователя при регистрации."
|
||
},
|
||
"type": {
|
||
"label": "Тип капчи",
|
||
"description": "Выберите сервис проверки",
|
||
"options": {
|
||
"recaptcha": "Google reCAPTCHA v2",
|
||
"recaptcha-v3": "Google reCAPTCHA v3",
|
||
"turnstile": "Cloudflare Turnstile"
|
||
}
|
||
},
|
||
"recaptcha": {
|
||
"key": {
|
||
"label": "Secret Key",
|
||
"placeholder": "Введите Secret Key",
|
||
"description": "Ваш секретный ключ reCAPTCHA"
|
||
},
|
||
"siteKey": {
|
||
"label": "Site Key",
|
||
"placeholder": "Введите Site Key",
|
||
"description": "Ваш публичный ключ reCAPTCHA"
|
||
}
|
||
},
|
||
"recaptcha_v3": {
|
||
"secretKey": {
|
||
"label": "v3 Secret Key",
|
||
"placeholder": "Введите v3 Secret Key",
|
||
"description": "Секретный ключ v3"
|
||
},
|
||
"siteKey": {
|
||
"label": "v3 Site Key",
|
||
"placeholder": "Введите v3 Site Key",
|
||
"description": "Публичный ключ v3"
|
||
},
|
||
"scoreThreshold": {
|
||
"label": "Порог оценки (Score)",
|
||
"placeholder": "0.5",
|
||
"description": "Порог (0-1), где выше — более вероятно человек."
|
||
}
|
||
},
|
||
"turnstile": {
|
||
"secretKey": {
|
||
"label": "Turnstile Secret Key",
|
||
"placeholder": "Введите секретный ключ",
|
||
"description": "Ключ от Cloudflare Turnstile"
|
||
},
|
||
"siteKey": {
|
||
"label": "Turnstile Site Key",
|
||
"placeholder": "Введите Site Key",
|
||
"description": "Публичный ключ Turnstile"
|
||
}
|
||
}
|
||
},
|
||
"registerLimit": {
|
||
"enable": {
|
||
"label": "Лимит регистраций по IP",
|
||
"description": "Ограничение количества аккаунтов с одного адреса."
|
||
},
|
||
"count": {
|
||
"label": "Кол-во регистраций",
|
||
"placeholder": "Максимум аккаунтов",
|
||
"description": "Сколько раз можно зарегистрироваться с одного IP."
|
||
},
|
||
"expire": {
|
||
"label": "Длительность (мин)",
|
||
"placeholder": "Время блокировки",
|
||
"description": "Через сколько минут лимит сбросится."
|
||
}
|
||
},
|
||
"passwordLimit": {
|
||
"enable": {
|
||
"label": "Лимит попыток входа",
|
||
"description": "Защита от брутфорса паролей."
|
||
},
|
||
"count": {
|
||
"label": "Кол-во попыток",
|
||
"placeholder": "Макс. попыток входа",
|
||
"description": "Допустимое количество неверных паролей."
|
||
},
|
||
"expire": {
|
||
"label": "Время блокировки (мин)",
|
||
"placeholder": "Длительность бана",
|
||
"description": "На сколько минут блокируется вход."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"subscribe": {
|
||
"title": "Настройки подписки",
|
||
"description": "Управление форматом ссылок, частотой обновления, статистикой трафика и другими параметрами подписок.",
|
||
"plan_change_enable": {
|
||
"title": "Разрешить смену тарифа",
|
||
"description": "Позволить пользователям переходить на другие планы самостоятельно."
|
||
},
|
||
"reset_traffic_method": {
|
||
"title": "Метод глобального сброса трафика",
|
||
"description": "Настройка сброса по умолчанию (1-е число месяца). Можно переопределить в тарифах.",
|
||
"options": {
|
||
"monthly_first": "1-е число месяца",
|
||
"monthly_reset": "Ежемесячно (день покупки)",
|
||
"no_reset": "Без сброса",
|
||
"yearly_first": "1 января каждого года",
|
||
"yearly_reset": "Раз в год (день покупки)"
|
||
}
|
||
},
|
||
"surplus_enable": {
|
||
"title": "Режим зачета средств",
|
||
"description": "При смене тарифа остаток средств со старого плана пойдет в счет нового."
|
||
},
|
||
"new_order_event": {
|
||
"title": "Событие при новой подписке",
|
||
"description": "Что сделать, когда пользователь покупает новый тариф.",
|
||
"options": {
|
||
"no_action": "Ничего",
|
||
"reset_traffic": "Сбросить использованный трафик"
|
||
}
|
||
},
|
||
"renew_order_event": {
|
||
"title": "Событие при продлении",
|
||
"description": "Что сделать при оплате продления тарифа.",
|
||
"options": {
|
||
"no_action": "Ничего",
|
||
"reset_traffic": "Сбросить использованный трафик"
|
||
}
|
||
},
|
||
"change_order_event": {
|
||
"title": "Событие при смене тарифа",
|
||
"description": "Что сделать при переходе на другой тариф.",
|
||
"options": {
|
||
"no_action": "Ничего",
|
||
"reset_traffic": "Сбросить использованный трафик"
|
||
}
|
||
},
|
||
"subscribe_path": {
|
||
"title": "Путь подписки",
|
||
"description": "Формат ссылки. Изменение повлияет на все существующие ссылки.",
|
||
"current_format": "Текущий формат: {path}/xxxxxxxxxx",
|
||
"restart_tip": "Может потребоваться перезапуск сервиса для применения."
|
||
},
|
||
"show_info_to_server": {
|
||
"title": "Инфо в подписке (клиент)",
|
||
"description": "Показывать информацию о трафике и сроке действия в приложении пользователя."
|
||
},
|
||
"show_protocol_to_server": {
|
||
"title": "Протокол в имени узла",
|
||
"description": "Добавлять название протокола к узлам (напр. [Hy2] Hong Kong)."
|
||
},
|
||
"saving": "Сохранение...",
|
||
"plan": {
|
||
"title": "Тарифные планы",
|
||
"add": "Добавить",
|
||
"search": "Поиск...",
|
||
"sort": {
|
||
"edit": "Сортировка",
|
||
"save": "Сохранить"
|
||
},
|
||
"columns": {
|
||
"id": "ID",
|
||
"show": "Показ",
|
||
"sell": "Продажа",
|
||
"renew": "Продл.",
|
||
"renew_tooltip": "Можно ли продлевать, если тариф снят с продажи",
|
||
"name": "Название",
|
||
"stats": "Стат.",
|
||
"group": "Группа",
|
||
"price": "Цена",
|
||
"actions": "Действия",
|
||
"edit": "Изм.",
|
||
"delete": "Уд.",
|
||
"delete_confirm": {
|
||
"title": "Удаление",
|
||
"description": "Это действие нельзя отменить. Продолжить?",
|
||
"success": "Удалено"
|
||
},
|
||
"price_period": {
|
||
"monthly": "Месяц",
|
||
"quarterly": "Квартал",
|
||
"half_yearly": "Полгода",
|
||
"yearly": "Год",
|
||
"two_yearly": "2 Года",
|
||
"three_yearly": "3 Года",
|
||
"onetime": "Единоразово",
|
||
"reset_traffic": "Сброс трафика",
|
||
"unit": {
|
||
"month": "/мес",
|
||
"quarter": "/кв",
|
||
"half_year": "/п-года",
|
||
"year": "/год",
|
||
"two_year": "/2г",
|
||
"three_year": "/3г",
|
||
"times": "/раз"
|
||
}
|
||
}
|
||
},
|
||
"form": {
|
||
"add_title": "Добавить тариф",
|
||
"edit_title": "Изменить тариф",
|
||
"name": {
|
||
"label": "Название",
|
||
"placeholder": "Введите название"
|
||
},
|
||
"group": {
|
||
"label": "Группа доступа",
|
||
"placeholder": "Выберите группу",
|
||
"add": "Добавить"
|
||
},
|
||
"transfer": {
|
||
"label": "Трафик",
|
||
"placeholder": "Объем трафика",
|
||
"unit": "ГБ"
|
||
},
|
||
"speed": {
|
||
"label": "Лимит скорости",
|
||
"placeholder": "Макс. скорость",
|
||
"unit": "Мбит/с"
|
||
},
|
||
"price": {
|
||
"title": "Настройка цены",
|
||
"base_price": "Базовая цена",
|
||
"clear": {
|
||
"button": "Очистить",
|
||
"tooltip": "Удалить все цены"
|
||
}
|
||
},
|
||
"device": {
|
||
"label": "Лимит устройств",
|
||
"placeholder": "Без лимита",
|
||
"unit": "шт"
|
||
},
|
||
"capacity": {
|
||
"label": "Лимит емкости",
|
||
"placeholder": "Без лимита",
|
||
"unit": "чел"
|
||
},
|
||
"reset_method": {
|
||
"label": "Способ сброса",
|
||
"placeholder": "Выберите способ",
|
||
"description": "Как будет считаться трафик для этого тарифа.",
|
||
"options": {
|
||
"follow_system": "Как в системе",
|
||
"monthly_first": "1-е число месяца",
|
||
"monthly_reset": "День покупки",
|
||
"no_reset": "Без сброса",
|
||
"yearly_first": "1 января",
|
||
"yearly_reset": "Раз в год"
|
||
}
|
||
},
|
||
"content": {
|
||
"label": "Описание тарифа",
|
||
"placeholder": "Введите описание...",
|
||
"description": "Markdown разрешен. Списки, жирный текст и т.д.",
|
||
"preview": "Предпросмотр",
|
||
"preview_button": {
|
||
"show": "Показать",
|
||
"hide": "Скрыть"
|
||
},
|
||
"template": {
|
||
"button": "Шаблон",
|
||
"tooltip": "Вставить стандартное описание",
|
||
"content": "## Особенности тарифа\n• Высокая скорость и стабильность\n• Поддержка нескольких устройств\n• Регулярный сброс трафика\n\n## Инструкции\n1. Поддержка: iOS, Android, Windows, macOS\n2. Техподдержка 24/7\n3. Автообновление трафика\n\n## Важно\n- Запрещен абуз\n- Соблюдайте законодательство\n- Можно сменить тариф в любой момент"
|
||
}
|
||
},
|
||
"force_update": {
|
||
"label": "Принудительно обновить у всех"
|
||
},
|
||
"submit": {
|
||
"submitting": "Сохранение...",
|
||
"submit": "Применить",
|
||
"cancel": "Отмена",
|
||
"success": {
|
||
"add": "Тариф добавлен",
|
||
"update": "Тариф обновлен"
|
||
}
|
||
}
|
||
},
|
||
"page": {
|
||
"description": "Настройка тарифных планов: лимиты, цены и видимость."
|
||
}
|
||
}
|
||
},
|
||
"email": {
|
||
"title": "Настройки почты",
|
||
"description": "Настройка SMTP для отправки кодов подтверждения, восстановления пароля и системных уведомлений.",
|
||
"email_host": {
|
||
"title": "SMTP Сервер",
|
||
"description": "Адрес сервера, напр. smtp.gmail.com"
|
||
},
|
||
"email_port": {
|
||
"title": "SMTP Порт",
|
||
"description": "Обычно: 465 (SSL) или 587 (TLS)"
|
||
},
|
||
"email_username": {
|
||
"title": "Имя пользователя SMTP",
|
||
"description": "Ваш Email или логин"
|
||
},
|
||
"email_password": {
|
||
"title": "Пароль SMTP",
|
||
"description": "Пароль приложения или основной пароль"
|
||
},
|
||
"email_encryption": {
|
||
"title": "Шифрование",
|
||
"description": "Способ защиты соединения",
|
||
"none": "Нет",
|
||
"ssl": "SSL/TLS",
|
||
"tls": "STARTTLS"
|
||
},
|
||
"email_from": {
|
||
"title": "Email отправителя",
|
||
"description": "Будет отображаться в заголовке письма"
|
||
},
|
||
"email_from_name": {
|
||
"title": "Имя отправителя",
|
||
"description": "Напр. 'Администрация Xboard'"
|
||
},
|
||
"email_template": {
|
||
"title": "Шаблон письма",
|
||
"description": "Выберите стиль оформления уведомлений",
|
||
"placeholder": "Выберите шаблон"
|
||
},
|
||
"remind_mail": {
|
||
"title": "Email напоминания",
|
||
"description": "Уведомлять пользователей об окончании трафика или срока действия."
|
||
},
|
||
"test": {
|
||
"title": "Тестовое письмо",
|
||
"sending": "Отправка...",
|
||
"description": "Проверить настройки, отправив письмо себе",
|
||
"success": "Письмо успешно отправлено",
|
||
"error": "Ошибка при отправке теста"
|
||
}
|
||
},
|
||
"telegram": {
|
||
"title": "Настройки Telegram",
|
||
"description": "Связь с Telegram ботом: уведомления, привязка аккаунтов и команды.",
|
||
"bot_token": {
|
||
"title": "Токен бота",
|
||
"description": "Получите у @BotFather.",
|
||
"placeholder": "0000000000:xxxxxxxxx_xxxxxxxxxxxxxxx"
|
||
},
|
||
"webhook_url": {
|
||
"title": "Webhook Base URL",
|
||
"description": "Оставьте пустым для URL сайта. Система сама добавит нужные пути.",
|
||
"docs": "Документация Telegram Webhook",
|
||
"placeholder": "https://example.com"
|
||
},
|
||
"webhook": {
|
||
"title": "Установить Webhook",
|
||
"description": "Без этой настройки бот не будет получать сообщения от пользователей.",
|
||
"button": "Настройка в 1 клик",
|
||
"setting": "Настройка...",
|
||
"success": "Webhook установлен успешно",
|
||
"target_default": "Используется основной URL сайта.",
|
||
"target_custom": "Используется кастомный URL: {{url}}",
|
||
"debug": {
|
||
"title": "Отладка Webhook",
|
||
"success": "Успех",
|
||
"url": "Полный URL",
|
||
"baseUrl": "Base URL"
|
||
}
|
||
},
|
||
"bot_enable": {
|
||
"title": "Гайд по привязке",
|
||
"description": "Показывать инструкцию по подключению Telegram на стороне пользователя."
|
||
},
|
||
"discuss_link": {
|
||
"title": "Ссылка на группу/чат",
|
||
"description": "Будет отображаться в личном кабинете.",
|
||
"placeholder": "https://t.me/your_chat"
|
||
}
|
||
},
|
||
"app": {
|
||
"title": "Настройки приложений",
|
||
"description": "Конфигурация ссылок на скачивание и версий клиентов для различных платформ.",
|
||
"common": {
|
||
"placeholder": "Введите значение"
|
||
},
|
||
"windows": {
|
||
"version": {
|
||
"title": "Версия Windows",
|
||
"description": "Текущая версия клиента для Windows"
|
||
},
|
||
"download": {
|
||
"title": "Ссылка скачивания Windows",
|
||
"description": "URL для загрузки .exe файла"
|
||
}
|
||
},
|
||
"macos": {
|
||
"version": {
|
||
"title": "Версия macOS",
|
||
"description": "Текущая версия клиента для macOS"
|
||
},
|
||
"download": {
|
||
"title": "Ссылка скачивания macOS",
|
||
"description": "URL для загрузки .dmg файла"
|
||
}
|
||
},
|
||
"android": {
|
||
"version": {
|
||
"title": "Версия Android",
|
||
"description": "Текущая версия .apk"
|
||
},
|
||
"download": {
|
||
"title": "Ссылка скачивания Android",
|
||
"description": "URL для загрузки APK"
|
||
}
|
||
}
|
||
},
|
||
"common": {
|
||
"saving": "Сохранение...",
|
||
"saveFailed": "Не удалось сохранить",
|
||
"save_success": "Автоматически сохранено",
|
||
"placeholder": "Текст...",
|
||
"autoSaved": "Сохранено"
|
||
},
|
||
"subscribe_template": {
|
||
"title": "Шаблоны подписки",
|
||
"description": "Конфигурация форматов выдачи для различных клиентов.",
|
||
"singbox": {
|
||
"title": "Шаблон Sing-box",
|
||
"description": "Формат конфига для Sing-box"
|
||
},
|
||
"clash": {
|
||
"title": "Шаблон Clash",
|
||
"description": "Формат конфига для Clash"
|
||
},
|
||
"clashmeta": {
|
||
"title": "Шаблон Clash Meta",
|
||
"description": "Формат конфига для Clash Meta (Mihomo)"
|
||
},
|
||
"stash": {
|
||
"title": "Шаблон Stash",
|
||
"description": "Формат конфига для Stash (iOS)"
|
||
},
|
||
"surge": {
|
||
"title": "Шаблон Surge",
|
||
"description": "Формат конфига для Surge"
|
||
},
|
||
"surfboard": {
|
||
"title": "Шаблон Surfboard",
|
||
"description": "Формат конфига для Surfboard"
|
||
}
|
||
}
|
||
},
|
||
"traffic": {
|
||
"trafficRecord": {
|
||
"title": "Записи использования трафика",
|
||
"time": "Время",
|
||
"upload": "Отдача",
|
||
"download": "Загрузка",
|
||
"rate": "Множитель",
|
||
"total": "Всего",
|
||
"noRecords": "Записей не найдено",
|
||
"perPage": "Показывать по",
|
||
"records": "записей",
|
||
"page": "Страница {{current}} / {{total}}",
|
||
"multiplier": "{{value}}x"
|
||
}
|
||
},
|
||
"ticket": {
|
||
"title": "Управление тикетами",
|
||
"description": "Просмотр и управление обращениями пользователей, включая ответы и закрытие тикетов.",
|
||
"columns": {
|
||
"id": "ID тикета",
|
||
"subject": "Тема",
|
||
"level": "Приоритет",
|
||
"status": "Статус",
|
||
"updated_at": "Обновлен",
|
||
"created_at": "Создан",
|
||
"actions": "Действия"
|
||
},
|
||
"status": {
|
||
"closed": "Закрыт",
|
||
"replied": "Отвечен",
|
||
"pending": "Ожидание",
|
||
"processing": "В обработке"
|
||
},
|
||
"level": {
|
||
"low": "Низкий",
|
||
"medium": "Средний",
|
||
"high": "Высокий"
|
||
},
|
||
"filter": {
|
||
"placeholder": "Поиск {field}...",
|
||
"no_results": "Результатов не найдено",
|
||
"selected": "Выбрано: {count}",
|
||
"clear": "Очистить фильтры"
|
||
},
|
||
"actions": {
|
||
"view_details": "Детали",
|
||
"close_ticket": "Закрыть тикет",
|
||
"close_confirm_title": "Подтверждение закрытия",
|
||
"close_confirm_description": "Вы уверены, что хотите закрыть этот тикет? После закрытия ответы будут невозможны.",
|
||
"close_confirm_button": "Закрыть тикет",
|
||
"close_success": "Тикет успешно закрыт",
|
||
"view_ticket": "Посмотреть тикет"
|
||
},
|
||
"detail": {
|
||
"no_messages": "Сообщений нет",
|
||
"created_at": "Создан",
|
||
"user_info": "Инфо о пользователе",
|
||
"traffic_records": "История трафика",
|
||
"order_records": "История заказов",
|
||
"input": {
|
||
"closed_placeholder": "Тикет закрыт",
|
||
"reply_placeholder": "Введите ваш ответ...",
|
||
"sending": "Отправка...",
|
||
"send": "Отправить"
|
||
}
|
||
},
|
||
"list": {
|
||
"title": "Список тикетов",
|
||
"search_placeholder": "Поиск по теме или email",
|
||
"no_tickets": "Тикетов нет",
|
||
"no_open_tickets": "Нет открытых тикетов",
|
||
"no_closed_tickets": "Нет закрытых тикетов",
|
||
"no_search_results": "Тикеты не найдены",
|
||
"collapse": "Свернуть список",
|
||
"expand": "Развернуть список"
|
||
}
|
||
},
|
||
"coupon": {
|
||
"title": "Управление купонами",
|
||
"description": "Здесь вы можете управлять купонами на скидку, включая их добавление, просмотр и удаление.",
|
||
"table": {
|
||
"columns": {
|
||
"id": "ID",
|
||
"show": "Включен",
|
||
"name": "Название",
|
||
"type": "Тип",
|
||
"code": "Код",
|
||
"limitUse": "Осталось исп.",
|
||
"limitUseWithUser": "Исп. на чел.",
|
||
"validity": "Срок действия",
|
||
"actions": "Действия"
|
||
},
|
||
"validity": {
|
||
"expired": "Истек {{days}} дн. назад",
|
||
"notStarted": "Начнется через {{days}} дн.",
|
||
"remaining": "Осталось {{days}} дн.",
|
||
"startTime": "Начало",
|
||
"endTime": "Конец",
|
||
"unlimited": "Бессрочно",
|
||
"noLimit": "Без лимита"
|
||
},
|
||
"actions": {
|
||
"edit": "Изменить",
|
||
"delete": "Удалить",
|
||
"deleteConfirm": {
|
||
"title": "Подтверждение удаления",
|
||
"description": "Это действие навсегда удалит этот купон. Вы уверены, что хотите продолжить?",
|
||
"confirmText": "Удалить"
|
||
}
|
||
},
|
||
"toolbar": {
|
||
"search": "Поиск купонов...",
|
||
"type": "Тип",
|
||
"reset": "Сбросить",
|
||
"types": {
|
||
"1": "Фиксированная сумма",
|
||
"2": "Процент"
|
||
}
|
||
}
|
||
},
|
||
"form": {
|
||
"add": "Добавить купон",
|
||
"edit": "Изменить купон",
|
||
"name": {
|
||
"label": "Название купона",
|
||
"placeholder": "Введите название купона",
|
||
"required": "Пожалуйста, введите название купона"
|
||
},
|
||
"type": {
|
||
"label": "Тип и значение купона",
|
||
"placeholder": "Выберите тип купона"
|
||
},
|
||
"value": {
|
||
"placeholder": "Введите значение"
|
||
},
|
||
"validity": {
|
||
"label": "Срок действия",
|
||
"to": "до",
|
||
"endTimeError": "Время окончания должно быть позже времени начала"
|
||
},
|
||
"limitUse": {
|
||
"label": "Максимальное количество использований",
|
||
"placeholder": "Оставьте пустым для неограниченного использования",
|
||
"description": "Установите общее количество раз, которое этот купон может быть использован"
|
||
},
|
||
"limitUseWithUser": {
|
||
"label": "Лимит на пользователя",
|
||
"placeholder": "Оставьте пустым для неограниченного использования",
|
||
"description": "Ограничьте, сколько раз каждый пользователь может использовать этот купон"
|
||
},
|
||
"limitPeriod": {
|
||
"label": "Периоды подписки",
|
||
"placeholder": "Ограничить конкретными периодами, оставьте пустым для всех",
|
||
"description": "Выберите периоды подписки, для которых применим этот купон",
|
||
"empty": "Периоды не найдены"
|
||
},
|
||
"limitPlan": {
|
||
"label": "Тарифные планы",
|
||
"placeholder": "Ограничить конкретными тарифами, оставьте пустым для всех",
|
||
"description": "Выберите тарифные планы, для которых применим этот купон, оставьте пустым для всех",
|
||
"empty": "Тарифы не найдены"
|
||
},
|
||
"code": {
|
||
"label": "Кастомный код купона",
|
||
"placeholder": "Оставьте пустым для автогенерации",
|
||
"description": "Вы можете задать свой код купона или оставить поле пустым"
|
||
},
|
||
"generateCount": {
|
||
"label": "Количество для генерации",
|
||
"placeholder": "Сколько купонов создать, оставьте пустым для одного",
|
||
"description": "Сгенерировать несколько кодов купонов за один раз"
|
||
},
|
||
"submit": {
|
||
"saving": "Сохранение...",
|
||
"save": "Сохранить"
|
||
},
|
||
"error": {
|
||
"saveFailed": "Не удалось сохранить купон"
|
||
},
|
||
"timeRange": {
|
||
"quickSet": "Быстрая установка",
|
||
"presets": {
|
||
"1week": "1 Неделя",
|
||
"2weeks": "2 Недели",
|
||
"1month": "1 Месяц",
|
||
"3months": "3 Месяца",
|
||
"6months": "6 Месяцев",
|
||
"1year": "1 Год"
|
||
}
|
||
}
|
||
},
|
||
"period": {
|
||
"monthly": "Ежемесячно",
|
||
"quarterly": "Ежеквартально",
|
||
"half_yearly": "Раз в полгода",
|
||
"yearly": "Ежегодно",
|
||
"two_yearly": "Раз в 2 года",
|
||
"three_yearly": "Раз в 3 года",
|
||
"onetime": "Единоразово",
|
||
"reset_traffic": "Сброс трафика"
|
||
}
|
||
},
|
||
"search": {
|
||
"placeholder": "Поиск меню и функций...",
|
||
"title": "Навигация по меню",
|
||
"noResults": "Результатов не найдено",
|
||
"shortcut": {
|
||
"label": "Поиск",
|
||
"key": "⌘K"
|
||
}
|
||
},
|
||
"subscribe": {
|
||
"plan": {
|
||
"title": "Тарифные планы",
|
||
"add": "Добавить план",
|
||
"search": "Поиск планов...",
|
||
"sort": {
|
||
"edit": "Изменить порядок",
|
||
"save": "Сохранить порядок"
|
||
},
|
||
"columns": {
|
||
"id": "ID",
|
||
"show": "Показывать",
|
||
"sell": "Продавать",
|
||
"renew": "Продление",
|
||
"renew_tooltip": "Могут ли существующие пользователи продлевать подписку, когда она снята с продажи",
|
||
"name": "Название",
|
||
"stats": "Статистика",
|
||
"group": "Группа доступа",
|
||
"price": "Цена",
|
||
"actions": "Действия",
|
||
"edit": "Изменить",
|
||
"delete": "Удалить",
|
||
"delete_confirm": {
|
||
"title": "Подтверждение удаления",
|
||
"description": "Это действие навсегда удалит этот тарифный план. Вы уверены, что хотите продолжить?",
|
||
"success": "Тариф успешно удален"
|
||
},
|
||
"price_period": {
|
||
"monthly": "Ежемесячно",
|
||
"quarterly": "Ежеквартально",
|
||
"half_yearly": "Раз в полгода",
|
||
"yearly": "Ежегодно",
|
||
"two_yearly": "Раз в 2 года",
|
||
"three_yearly": "Раз в 3 года",
|
||
"onetime": "Единоразово",
|
||
"reset_traffic": "Сброс трафика",
|
||
"no_price": "Нет цены",
|
||
"unit": {
|
||
"month": "/мес",
|
||
"quarter": "/квартал",
|
||
"half_year": "/полгода",
|
||
"year": "/год",
|
||
"two_year": "/2 года",
|
||
"three_year": "/3 года",
|
||
"times": "/раз"
|
||
}
|
||
}
|
||
},
|
||
"form": {
|
||
"add_title": "Добавить тариф",
|
||
"edit_title": "Изменить тариф",
|
||
"name": {
|
||
"label": "Название тарифа",
|
||
"placeholder": "Введите название тарифа"
|
||
},
|
||
"group": {
|
||
"label": "Группа серверов",
|
||
"add": "Добавить группу",
|
||
"placeholder": "Выберите группу серверов"
|
||
},
|
||
"transfer": {
|
||
"label": "Трафик",
|
||
"placeholder": "Введите лимит трафика",
|
||
"unit": "ГБ"
|
||
},
|
||
"speed": {
|
||
"label": "Ограничение скорости",
|
||
"placeholder": "Введите лимит скорости",
|
||
"unit": "Мбит/с"
|
||
},
|
||
"price": {
|
||
"title": "Настройки цены",
|
||
"base_price": "Базовая цена",
|
||
"clear": {
|
||
"button": "Очистить",
|
||
"tooltip": "Очистить все цены"
|
||
},
|
||
"period": {
|
||
"monthly": "Добавить",
|
||
"months": "{{count}} Мес."
|
||
},
|
||
"onetime_desc": "Единоразовый пакет трафика, без ограничения по времени",
|
||
"reset_desc": "Пакет сброса трафика, может быть использован многократно"
|
||
},
|
||
"device": {
|
||
"label": "Лимит устройств",
|
||
"placeholder": "Введите лимит устройств",
|
||
"unit": "Устройств"
|
||
},
|
||
"capacity": {
|
||
"label": "Лимит пользователей",
|
||
"placeholder": "Введите лимит емкости",
|
||
"unit": "Пользователей"
|
||
},
|
||
"tags": {
|
||
"label": "Теги",
|
||
"placeholder": "Введите тег и нажмите Enter"
|
||
},
|
||
"reset_method": {
|
||
"label": "Метод сброса трафика",
|
||
"placeholder": "Выберите метод сброса",
|
||
"description": "Метод сброса определяет, когда и как будет сброшен трафик пользователя",
|
||
"options": {
|
||
"follow_system": "Следовать системным настройкам",
|
||
"monthly_first": "Первое число каждого месяца",
|
||
"monthly_reset": "Ежемесячно (в день покупки)",
|
||
"no_reset": "Без сброса",
|
||
"yearly_first": "Первое число года",
|
||
"yearly_reset": "Ежегодно (в день покупки)"
|
||
}
|
||
},
|
||
"content": {
|
||
"label": "Описание тарифа",
|
||
"placeholder": "Введите описание тарифа",
|
||
"description": "Поддерживается формат Markdown",
|
||
"preview": "Предпросмотр",
|
||
"preview_button": {
|
||
"show": "Показать предпросмотр",
|
||
"hide": "Скрыть предпросмотр"
|
||
},
|
||
"template": {
|
||
"button": "Использовать шаблон",
|
||
"tooltip": "Использовать стандартный шаблон",
|
||
"content": "## Детали плана\n\n- Трафик: {{transfer}} ГБ\n- Скорость: {{speed}} Мбит/с\n- Устройств: {{devices}}\n\n## Информация о сервисе\n\n1. Сброс трафика: {{reset_method}}\n2. Поддержка всех платформ\n3. Техподдержка 24/7"
|
||
}
|
||
},
|
||
"force_update": {
|
||
"label": "Принудительно обновить планы пользователей"
|
||
},
|
||
"submit": {
|
||
"cancel": "Отмена",
|
||
"submit": "Отправить",
|
||
"submitting": "Отправка...",
|
||
"success": {
|
||
"add": "Тариф успешно добавлен",
|
||
"update": "Тариф успешно обновлен"
|
||
},
|
||
"error": {
|
||
"validation": "Ошибка валидации формы. Пожалуйста, проверьте данные."
|
||
}
|
||
}
|
||
},
|
||
"page": {
|
||
"description": "Здесь вы можете настраивать тарифные планы, включая операции добавления, удаления и редактирования."
|
||
}
|
||
}
|
||
},
|
||
"theme": {
|
||
"title": "Конфигурация тем",
|
||
"description": "Конфигурация тем, включая цвета, размеры шрифтов и т.д. Если вы развернули Xboard с раздельным фронтендом и бэкендом, конфигурация тем не вступит в силу.",
|
||
"upload": {
|
||
"button": "Загрузить тему",
|
||
"title": "Загрузить тему",
|
||
"description": "Пожалуйста, загрузите корректный пакет темы (формат .zip). Пакет должен содержать полную структуру файлов темы.",
|
||
"dragText": "Перетащите файл темы сюда или",
|
||
"clickText": "нажмите для выбора",
|
||
"supportText": "Поддерживаются пакеты тем в формате .zip",
|
||
"uploading": "Загрузка...",
|
||
"error": {
|
||
"format": "Поддерживаются только файлы тем в формате ZIP"
|
||
}
|
||
},
|
||
"preview": {
|
||
"title": "Предпросмотр темы",
|
||
"imageCount": "{{current}} / {{total}}"
|
||
},
|
||
"card": {
|
||
"version": "Версия: {{version}}",
|
||
"currentTheme": "Текущая тема",
|
||
"activateTheme": "Активировать тему",
|
||
"configureTheme": "Настройки темы",
|
||
"preview": "Предпросмотр",
|
||
"delete": {
|
||
"title": "Удалить тему",
|
||
"description": "Вы уверены, что хотите удалить эту тему? Это действие нельзя отменить.",
|
||
"button": "Удалить",
|
||
"error": {
|
||
"active": "Нельзя удалить активную тему"
|
||
}
|
||
}
|
||
},
|
||
"config": {
|
||
"title": "Настройка темы {{name}}",
|
||
"description": "Изменение стилей темы, макетов и других параметров отображения.",
|
||
"cancel": "Отмена",
|
||
"save": "Сохранить",
|
||
"success": "Настройки успешно сохранены"
|
||
}
|
||
},
|
||
"auth": {
|
||
"signIn": {
|
||
"title": "Вход",
|
||
"description": "Введите свой email и пароль для входа",
|
||
"email": "Email",
|
||
"emailPlaceholder": "name@example.com",
|
||
"password": "Пароль",
|
||
"passwordPlaceholder": "Введите ваш пароль",
|
||
"forgotPassword": "Забыли пароль?",
|
||
"submit": "Войти",
|
||
"rememberMe": "Запомнить меня",
|
||
"resetPassword": {
|
||
"title": "Сброс пароля",
|
||
"description": "Выполните следующую команду в директории сайта, чтобы сбросить пароль",
|
||
"command": "php artisan reset:password admin-email"
|
||
},
|
||
"validation": {
|
||
"emailRequired": "Пожалуйста, введите адрес электронной почты",
|
||
"emailInvalid": "Пожалуйста, введите корректный адрес электронной почты",
|
||
"passwordRequired": "Пожалуйста, введите пароль",
|
||
"passwordLength": "Пароль должен содержать не менее 7 символов"
|
||
}
|
||
}
|
||
},
|
||
"dashboard": {
|
||
"title": "Панель управления",
|
||
"stats": {
|
||
"newUsers": "Новые пользователи",
|
||
"totalScore": "Общий балл",
|
||
"monthlyUpload": "Загружено за месяц",
|
||
"vsLastMonth": "к прошлому месяцу",
|
||
"vsYesterday": "со вчера",
|
||
"todayIncome": "Доход за сегодня",
|
||
"monthlyIncome": "Доход за месяц",
|
||
"totalIncome": "Общий доход",
|
||
"totalUsers": "Всего пользователей",
|
||
"activeUsers": "Активных: {{count}}",
|
||
"totalOrders": "Всего заказов",
|
||
"revenue": "Выручка",
|
||
"todayRegistered": "Зарегистрировано сегодня",
|
||
"monthlyRegistered": "Зарегистрировано за месяц",
|
||
"onlineUsers": "Онлайн",
|
||
"pendingTickets": "Открытых тикетов",
|
||
"hasPendingTickets": "Есть тикеты, требующие ответа",
|
||
"noPendingTickets": "Нет открытых тикетов",
|
||
"pendingCommission": "Комиссии на выплату",
|
||
"hasPendingCommission": "Есть комиссии, требующие подтверждения",
|
||
"noPendingCommission": "Нет комиссий на выплату",
|
||
"monthlyNewUsers": "Новых за месяц",
|
||
"monthlyDownload": "Скачано за месяц",
|
||
"todayTraffic": "Сегодня: {{value}}",
|
||
"activeUserTrend": "Тренды активности",
|
||
"realtimeUsers": "Пользователи в реальном времени",
|
||
"todayPeak": "Пик за сегодня",
|
||
"vsLastWeek": "к прошлой неделе"
|
||
},
|
||
"trafficRank": {
|
||
"nodeTrafficRank": "Рейтинг узлов",
|
||
"userTrafficRank": "Рейтинг пользователей",
|
||
"today": "Сегодня",
|
||
"last7days": "7 дней",
|
||
"last30days": "30 дней",
|
||
"customRange": "Свой диапазон",
|
||
"selectTimeRange": "Выбрать период",
|
||
"selectDateRange": "Выбрать даты",
|
||
"currentTraffic": "Трафик за период",
|
||
"previousTraffic": "Трафик ранее",
|
||
"changeRate": "Изменение",
|
||
"recordTime": "Время записи"
|
||
},
|
||
"overview": {
|
||
"title": "Обзор доходов",
|
||
"thisMonth": "Этот месяц",
|
||
"lastMonth": "Прошлый месяц",
|
||
"to": "по",
|
||
"selectTimeRange": "Выбрать диапазон",
|
||
"selectDate": "Выбрать дату",
|
||
"last7Days": "7 дней",
|
||
"last30Days": "30 дней",
|
||
"last90Days": "90 дней",
|
||
"last180Days": "180 дней",
|
||
"lastYear": "Год",
|
||
"customRange": "Свой диапазон",
|
||
"amount": "Сумма",
|
||
"count": "Количество",
|
||
"transactions": "Транзакций: {{count}}",
|
||
"orderAmount": "Сумма заказов",
|
||
"commissionAmount": "Сумма комиссий",
|
||
"orderCount": "Заказов",
|
||
"commissionCount": "Комиссий",
|
||
"totalIncome": "Прибыль",
|
||
"totalCommission": "Всего комиссий",
|
||
"totalTransactions": "Транзакций: {{count}}",
|
||
"avgOrderAmount": "Средний чек:",
|
||
"commissionRate": "Доля комиссий:"
|
||
},
|
||
"traffic": {
|
||
"title": "Рейтинг трафика",
|
||
"rank": "Место",
|
||
"domain": "Домен",
|
||
"todayTraffic": "Трафик сегодня",
|
||
"monthlyTraffic": "Трафик за месяц"
|
||
},
|
||
"queue": {
|
||
"title": "Очереди",
|
||
"jobDetails": "Детали задачи",
|
||
"status": {
|
||
"description": "Текущий статус выполнения очередей",
|
||
"running": "Статус",
|
||
"normal": "Норма",
|
||
"abnormal": "Ошибка",
|
||
"waitTime": "Ожидание: {{seconds}} сек.",
|
||
"pending": "В очереди",
|
||
"processing": "В процессе",
|
||
"completed": "Завершено",
|
||
"failed": "Ошибка",
|
||
"cancelled": "Отменено"
|
||
},
|
||
"details": {
|
||
"description": "Технические детали очередей",
|
||
"recentJobs": "Последние задачи",
|
||
"statisticsPeriod": "Период статистики: {{hours}} ч.",
|
||
"jobsPerMinute": "Задач в минуту",
|
||
"maxThroughput": "Пиковая нагрузка: {{value}}",
|
||
"failedJobs7Days": "Ошибки (7 дней)",
|
||
"retentionPeriod": "Период хранения: {{hours}} ч.",
|
||
"longestRunningQueue": "Самая длинная очередь",
|
||
"activeProcesses": "Активные процессы",
|
||
"id": "ID задачи",
|
||
"type": "Тип задачи",
|
||
"status": "Статус",
|
||
"progress": "Прогресс",
|
||
"createdAt": "Создано",
|
||
"updatedAt": "Обновлено",
|
||
"error": "Ошибка",
|
||
"data": "Данные задачи",
|
||
"result": "Результат",
|
||
"duration": "Длительность",
|
||
"attempts": "Попыток",
|
||
"nextRetry": "Минут до повтора",
|
||
"failedJobsDetailTitle": "Ошибки очередей",
|
||
"viewFailedJobs": "Ошибки",
|
||
"jobDetailTitle": "Детали выполнения",
|
||
"time": "Время",
|
||
"queue": "Очередь",
|
||
"name": "Имя задачи",
|
||
"exception": "Исключение",
|
||
"noFailedJobs": "Ошибок не найдено",
|
||
"connection": "Соединение",
|
||
"payload": "Payload",
|
||
"viewDetail": "Детали",
|
||
"action": "Действие"
|
||
},
|
||
"actions": {
|
||
"retry": "Повтор",
|
||
"cancel": "Отмена",
|
||
"delete": "Удалить",
|
||
"viewDetails": "Подробнее"
|
||
},
|
||
"empty": "Задач не найдено",
|
||
"loading": "Загрузка статуса очередей...",
|
||
"error": "Ошибка загрузки статуса"
|
||
},
|
||
"common": {
|
||
"refresh": "Обновить",
|
||
"close": "Закрыть",
|
||
"pagination": "Страница {{current}}/{{total}}, всего {{count}}"
|
||
},
|
||
"search": {
|
||
"placeholder": "Поиск меню и функций...",
|
||
"title": "Навигация",
|
||
"noResults": "Ничего не найдено",
|
||
"loading": "Поиск..."
|
||
}
|
||
},
|
||
"payment": {
|
||
"title": "Способы оплаты",
|
||
"description": "Настройка способов оплаты, включая Alipay, WeChat Pay и др.",
|
||
"table": {
|
||
"columns": {
|
||
"id": "ID",
|
||
"enable": "Включено",
|
||
"name": "Название",
|
||
"payment": "Шлюз",
|
||
"notify_url": "URL уведомления",
|
||
"notify_url_tooltip": "Шлюз будет отправлять уведомления на этот адрес. Убедитесь, что он доступен через ваш брандмауэр.",
|
||
"actions": "Действия"
|
||
},
|
||
"actions": {
|
||
"edit": "Изменить",
|
||
"delete": {
|
||
"title": "Подтверждение удаления",
|
||
"description": "Вы уверены, что хотите удалить этот способ оплаты? Это действие нельзя отменить.",
|
||
"success": "Успешно удалено"
|
||
}
|
||
},
|
||
"toolbar": {
|
||
"search": "Поиск способов оплаты...",
|
||
"reset": "Сбросить",
|
||
"sort": {
|
||
"hint": "Перетаскивайте для сортировки, затем нажмите сохранить",
|
||
"save": "Сохранить порядок",
|
||
"edit": "Изменить порядок"
|
||
}
|
||
}
|
||
},
|
||
"form": {
|
||
"add": {
|
||
"button": "Добавить способ оплаты",
|
||
"title": "Добавить способ оплаты"
|
||
},
|
||
"edit": {
|
||
"title": "Изменить способ оплаты"
|
||
},
|
||
"fields": {
|
||
"name": {
|
||
"label": "Отображаемое название",
|
||
"placeholder": "Введите название",
|
||
"description": "Используется для отображения пользователям"
|
||
},
|
||
"icon": {
|
||
"label": "URL иконки",
|
||
"placeholder": "https://example.com/icon.svg",
|
||
"description": "URL иконки для отображения"
|
||
},
|
||
"notify_domain": {
|
||
"label": "Домен уведомлений",
|
||
"placeholder": "https://example.com",
|
||
"description": "Домен для получения уведомлений от шлюза"
|
||
},
|
||
"handling_fee_percent": {
|
||
"label": "Комиссия (%)",
|
||
"placeholder": "0-100"
|
||
},
|
||
"handling_fee_fixed": {
|
||
"label": "Фиксированная комиссия",
|
||
"placeholder": "0"
|
||
},
|
||
"payment": {
|
||
"label": "Платежный шлюз",
|
||
"placeholder": "Выберите шлюз",
|
||
"description": "Выберите технический шлюз для обработки оплаты"
|
||
}
|
||
},
|
||
"validation": {
|
||
"name": {
|
||
"min": "Название должно содержать минимум 2 символа",
|
||
"max": "Название не может превышать 30 символов"
|
||
},
|
||
"notify_domain": {
|
||
"url": "Пожалуйста, введите корректный URL"
|
||
},
|
||
"payment": {
|
||
"required": "Пожалуйста, выберите платежный шлюз"
|
||
}
|
||
},
|
||
"buttons": {
|
||
"cancel": "Отмена",
|
||
"submit": "Отправить"
|
||
},
|
||
"sections": {
|
||
"payment_config": "Конфигурация шлюза"
|
||
},
|
||
"messages": {
|
||
"success": "Успешно сохранено"
|
||
}
|
||
}
|
||
},
|
||
"order": {
|
||
"title": "Управление заказами",
|
||
"description": "Здесь вы можете просматривать заказы пользователей, включая назначение, просмотр, удаление и другие операции.",
|
||
"table": {
|
||
"columns": {
|
||
"tradeNo": "№ Заказа",
|
||
"type": "Тип",
|
||
"plan": "Тарифный план",
|
||
"period": "Период",
|
||
"amount": "Сумма оплаты",
|
||
"status": "Статус заказа",
|
||
"commission": "Сумма комиссии",
|
||
"commissionStatus": "Статус комиссии",
|
||
"createdAt": "Создан"
|
||
}
|
||
},
|
||
"type": {
|
||
"NEW": "Новая покупка",
|
||
"RENEWAL": "Продление",
|
||
"UPGRADE": "Апгрейд (Переход)",
|
||
"RESET_FLOW": "Сброс трафика"
|
||
},
|
||
"period": {
|
||
"month_price": "Ежемесячно",
|
||
"quarter_price": "Ежеквартально",
|
||
"half_year_price": "Раз в полгода",
|
||
"year_price": "Ежегодно",
|
||
"two_year_price": "Раз в 2 года",
|
||
"three_year_price": "Раз в 3 года",
|
||
"onetime_price": "Единоразово",
|
||
"reset_price": "Пакет сброса"
|
||
},
|
||
"status": {
|
||
"PENDING": "Ожидание",
|
||
"PROCESSING": "В обработке",
|
||
"CANCELLED": "Отменен",
|
||
"COMPLETED": "Завершен",
|
||
"DISCOUNTED": "Скидка",
|
||
"tooltip": "После пометки [Оплачено] система выполнит активацию и завершит заказ"
|
||
},
|
||
"commission": {
|
||
"PENDING": "Ожидание",
|
||
"PROCESSING": "В обработке",
|
||
"VALID": "Действительна",
|
||
"INVALID": "Недействительна"
|
||
},
|
||
"actions": {
|
||
"markAsPaid": "Пометить как оплаченный",
|
||
"cancel": "Отменить заказ",
|
||
"openMenu": "Открыть меню",
|
||
"reset": "Сбросить"
|
||
},
|
||
"search": {
|
||
"placeholder": "Поиск заказов..."
|
||
},
|
||
"dialog": {
|
||
"title": "Информация о заказе",
|
||
"basicInfo": "Основная информация",
|
||
"amountInfo": "Информация о стоимости",
|
||
"timeInfo": "Временные метки",
|
||
"commissionInfo": "Информация о комиссии",
|
||
"commissionStatusActive": "Активна",
|
||
"addOrder": "Добавить заказ",
|
||
"assignOrder": "Назначить заказ",
|
||
"fields": {
|
||
"userEmail": "Email пользователя",
|
||
"orderPeriod": "Период заказа",
|
||
"subscriptionPlan": "Тарифный план",
|
||
"callbackNo": "№ Транзакции (Callback)",
|
||
"paymentAmount": "Сумма к оплате",
|
||
"balancePayment": "Оплата с баланса",
|
||
"discountAmount": "Сумма скидки",
|
||
"refundAmount": "Сумма возврата",
|
||
"deductionAmount": "Сумма вычета",
|
||
"createdAt": "Дата создания",
|
||
"updatedAt": "Дата обновления",
|
||
"commissionStatus": "Статус комиссии",
|
||
"commissionAmount": "Заработок комиссии",
|
||
"actualCommissionAmount": "Фактическая комиссия",
|
||
"inviteUser": "Пригласитель",
|
||
"inviteUserId": "ID пригласителя"
|
||
},
|
||
"placeholders": {
|
||
"email": "Введите email пользователя",
|
||
"plan": "Выберите тарифный план",
|
||
"period": "Выберите период подписки",
|
||
"amount": "Введите сумму оплаты"
|
||
},
|
||
"actions": {
|
||
"cancel": "Отмена",
|
||
"confirm": "Подтвердить"
|
||
},
|
||
"messages": {
|
||
"addOrder": "Заказ успешно добавлен",
|
||
"addSuccess": "Успешно добавлено"
|
||
}
|
||
}
|
||
},
|
||
"plugin": {
|
||
"title": "Управление плагинами",
|
||
"description": "Управление и настройка системных плагинов",
|
||
"search": {
|
||
"placeholder": "Поиск по названию или описанию..."
|
||
},
|
||
"type": {
|
||
"placeholder": "Выберите тип плагина",
|
||
"all": "Все типы"
|
||
},
|
||
"tabs": {
|
||
"all": "Все плагины",
|
||
"installed": "Установленные",
|
||
"available": "Доступные"
|
||
},
|
||
"status": {
|
||
"enabled": "Включено",
|
||
"disabled": "Отключено",
|
||
"not_installed": "Не установлено",
|
||
"protected": "Защищено",
|
||
"filter_placeholder": "Статус управления",
|
||
"all": "Все статусы",
|
||
"installed": "Установленные",
|
||
"available": "Доступные"
|
||
},
|
||
"button": {
|
||
"install": "Установить",
|
||
"upgrade": "Обновить",
|
||
"config": "Настроить",
|
||
"enable": "Включить",
|
||
"disable": "Отключить",
|
||
"uninstall": "Удалить",
|
||
"readme": "Документация"
|
||
},
|
||
"upload": {
|
||
"button": "Загрузить плагин",
|
||
"title": "Загрузить плагин",
|
||
"description": "Загрузите пакет плагина (.zip)",
|
||
"dragText": "Перетащите пакет плагина сюда или",
|
||
"clickText": "выберите файл",
|
||
"supportText": "Поддерживаются только .zip файлы",
|
||
"uploading": "Загрузка...",
|
||
"error": {
|
||
"format": "Поддерживаются только .zip файлы"
|
||
}
|
||
},
|
||
"delete": {
|
||
"title": "Удалить плагин",
|
||
"description": "Вы уверены, что хотите удалить этот плагин? Это действие нельзя отменить.",
|
||
"button": "Удалить"
|
||
},
|
||
"uninstall": {
|
||
"title": "Удалить плагин из системы",
|
||
"description": "Вы уверены, что хотите удалить этот плагин? Все данные плагина будут стерты.",
|
||
"button": "Удалить"
|
||
},
|
||
"upgrade": {
|
||
"title": "Обновить плагин",
|
||
"description": "Вы уверены, что хотите обновить этот плагин? Он будет временно недоступен в процессе.",
|
||
"button": "Обновить"
|
||
},
|
||
"config": {
|
||
"title": "Конфигурация",
|
||
"description": "Изменение настроек плагина",
|
||
"save": "Сохранить",
|
||
"cancel": "Отмена"
|
||
},
|
||
"readme": {
|
||
"title": "Документация плагина"
|
||
},
|
||
"author": "Автор",
|
||
"messages": {
|
||
"installSuccess": "Плагин успешно установлен",
|
||
"installError": "Ошибка при установке плагина",
|
||
"upgradeSuccess": "Плагин успешно обновлен",
|
||
"upgradeError": "Ошибка при обновлении плагина",
|
||
"uninstallSuccess": "Плагин успешно удален",
|
||
"uninstallError": "Ошибка при удалении плагина",
|
||
"enableSuccess": "Плагин включен",
|
||
"enableError": "Ошибка включения плагина",
|
||
"disableSuccess": "Плагин отключен",
|
||
"disableError": "Ошибка отключения плагина",
|
||
"configLoadError": "Ошибка загрузки конфигурации плагина",
|
||
"configSaveSuccess": "Конфигурация сохранена",
|
||
"configSaveError": "Ошибка сохранения конфигурации",
|
||
"uploadSuccess": "Плагин загружен",
|
||
"uploadError": "Ошибка загрузки плагина",
|
||
"deleteSuccess": "Плагин удален",
|
||
"deleteError": "Ошибка удаления плагина"
|
||
}
|
||
}
|
||
};
|