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