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": "Ошибка удаления плагина" } } };