Files
bedolaga-cabinet/src/locales/ru.json
Fringg aa8bfc9d08 feat(topup): direct-open payment page when method.open_url_direct is set
User asked for the gift-style seamless flow on balance top-up: provider
checkout opens inside Telegram MiniApp WebView without a click-to-open link
panel. Made it an admin per-method toggle so it can be enabled selectively.

src/pages/TopUpAmount.tsx — on topup mutation success:
* Move saveTopUpPendingInfo to BEFORE any redirect so /balance/top-up/result
  can still pick up the pending payment after the provider's return_url fires
* If method?.open_url_direct === true AND the URL is not a t.me/ deep link
  (Stars/CryptoBot), window.location.href = redirectUrl and return early
* Otherwise fall through to the existing setPaymentUrl panel — preserves
  current behavior for methods without the flag enabled

The t.me/ guard is important: window.location.href to a Telegram deep link
inside a MiniApp WebView is unreliable (native shell cant always intercept).
Those URLs continue to go through openTelegramLink / openInvoice in the panel
path. Stars never reaches topUpMutation.onSuccess anyway (handled by the
separate starsPaymentMutation); the guard is defense-in-depth for CryptoBot
and any future t.me-deep-link providers.

src/pages/AdminPaymentMethodEdit.tsx — added Open URL directly toggle with
the same slider styling as the is_enabled toggle. Defaults to off.

src/types/index.ts
* PaymentMethod.open_url_direct?: boolean (user-facing)
* PaymentMethodConfig.open_url_direct: boolean (admin shape)

Translations added for ru/en/zh/fa with a hint clarifying behavior and the
t.me/ exemption.
2026-05-13 10:50:31 +03:00

5515 lines
278 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"common": {
"all": "Все",
"loading": "Загрузка...",
"error": "Ошибка",
"success": "Успешно",
"save": "Сохранить",
"cancel": "Отмена",
"confirm": "Подтвердить",
"back": "Назад",
"next": "Далее",
"close": "Закрыть",
"search": "Поиск",
"noData": "Нет данных",
"actions": "Действия",
"yes": "Да",
"no": "Нет",
"or": "или",
"add": "Добавить",
"and": "и",
"edit": "Редактировать",
"delete": "Удалить",
"collapse": "Свернуть",
"currency": "₽",
"refresh": "Обновить",
"copy": "Копировать",
"retry": "Повторить",
"saving": "Сохранение...",
"understand": "Понятно",
"units": {
"gb": "ГБ",
"perGb": "/ГБ"
}
},
"nav": {
"dashboard": "Главная",
"subscription": "Подписка",
"balance": "Баланс",
"referral": "Рефералы",
"support": "Поддержка",
"profile": "Профиль",
"logout": "Выйти",
"contests": "Конкурсы",
"polls": "Опросы",
"info": "Информация",
"wheel": "Колесо удачи",
"menu": "Меню",
"gift": "Подарить"
},
"notifications": {
"ticketNotifications": "Уведомления о тикетах",
"markAllRead": "Прочитать все",
"noNotifications": "Нет уведомлений",
"justNow": "Только что",
"minutesAgo": "{{count}} мин. назад",
"minutesAgo_one": "{{count}} мин. назад",
"minutesAgo_few": "{{count}} мин. назад",
"minutesAgo_many": "{{count}} мин. назад",
"hoursAgo": "{{count}} ч. назад",
"hoursAgo_one": "{{count}} ч. назад",
"hoursAgo_few": "{{count}} ч. назад",
"hoursAgo_many": "{{count}} ч. назад",
"daysAgo": "{{count}} д. назад",
"daysAgo_one": "{{count}} д. назад",
"daysAgo_few": "{{count}} д. назад",
"daysAgo_many": "{{count}} д. назад",
"viewAll": "Все тикеты",
"newNotification": "Новое уведомление",
"clickToView": "Нажмите для просмотра",
"newTicket": "Новый тикет: {{title}}",
"newReply": "Новый ответ в тикете: {{title}}",
"newTicketTitle": "Новый тикет",
"newReplyTitle": "Новый ответ",
"newUserReply": "Ответ пользователя в тикете: {{title}}",
"newUserReplyTitle": "Ответ пользователя"
},
"campaignBonus": {
"title": "Бонус активирован!",
"balance": "Вам начислено {{amount}} руб. по акции «{{name}}»",
"subscription": "Вам предоставлена подписка на {{days}} дн. по акции «{{name}}»",
"tariff": "Вам предоставлен тариф «{{tariff}}» по акции «{{name}}»"
},
"wsNotifications": {
"balance": {
"topupTitle": "Баланс пополнен",
"topupMessage": "Ваш баланс пополнен на {{amount}} {{currency}}",
"changeTitle": "Баланс изменён",
"changeMessage": "Ваш баланс изменился на {{amount}} {{currency}}"
},
"subscription": {
"activatedTitle": "Подписка активирована",
"activatedMessage": "Ваша подписка теперь активна!",
"activatedWithTariff": "Ваша подписка «{{tariff}}» теперь активна!",
"renewedTitle": "Подписка продлена",
"renewedMessage": "Ваша подписка была продлена!",
"renewedWithAmount": "Ваша подписка продлена за {{amount}} {{currency}}",
"expiringTitle": "Подписка скоро истекает",
"expiringMessage": "Ваша подписка истекает через {{days}} дн.",
"expiredTitle": "Подписка истекла",
"expiredMessage": "Ваша подписка истекла. Продлите для продолжения использования.",
"dailyDebitTitle": "Ежедневное списание",
"dailyDebitMessage": "Списание за подписку: {{amount}} {{currency}}",
"trafficResetTitle": "Трафик сброшен",
"trafficResetMessage": "Ваш лимит трафика был сброшен"
},
"autopay": {
"successTitle": "Автопродление успешно",
"successMessage": "Подписка автоматически продлена за {{amount}} {{currency}}",
"failedTitle": "Ошибка автопродления",
"failedMessage": "Не удалось автоматически продлить подписку",
"insufficientTitle": "Недостаточно средств",
"insufficientMessage": "Для продления нужно {{required}} {{currency}}, на балансе {{balance}} {{currency}}"
},
"account": {
"bannedTitle": "Аккаунт заблокирован",
"bannedMessage": "Ваш аккаунт был заблокирован",
"unbannedTitle": "Аккаунт разблокирован",
"unbannedMessage": "Ваш аккаунт был разблокирован",
"warningTitle": "Предупреждение",
"warningMessage": "Вы получили предупреждение"
},
"referral": {
"bonusTitle": "Реферальный бонус",
"bonusMessage": "Вы получили реферальный бонус {{amount}} {{currency}}!",
"bonusWithName": "Вы получили бонус {{amount}} {{currency}} от {{name}}!",
"registeredTitle": "Новый реферал",
"registeredMessage": "Кто-то зарегистрировался по вашей ссылке!",
"registeredWithName": "{{name}} зарегистрировался по вашей ссылке!"
},
"payment": {
"receivedTitle": "Платёж получен",
"receivedMessage": "Получен платёж на сумму {{amount}} {{currency}}"
}
},
"successNotification": {
"balanceTopup": {
"title": "Баланс пополнен!"
},
"subscriptionActivated": {
"title": "Подписка активирована!"
},
"subscriptionRenewed": {
"title": "Подписка продлена!"
},
"subscriptionPurchased": {
"title": "Подписка оплачена!"
},
"amount": "Сумма",
"price": "Стоимость",
"newBalance": "Новый баланс",
"tariff": "Тариф",
"validUntil": "Действует до",
"goToSubscription": "Перейти к подписке",
"goToBalance": "Перейти к балансу"
},
"auth": {
"login": "Вход",
"register": "Регистрация",
"logout": "Выход",
"email": "Email",
"password": "Пароль",
"confirmPassword": "Подтвердите пароль",
"firstName": "Имя",
"firstNamePlaceholder": "Ваше имя (необязательно)",
"forgotPassword": "Забыли пароль?",
"resetPassword": "Сбросить пароль",
"loginWithTelegram": "Войти через Telegram",
"loginWithEmail": "Войти по Email",
"noAccount": "Нет аккаунта?",
"hasAccount": "Уже есть аккаунт?",
"or": "или",
"registerHint": "Для регистрации по email сначала авторизуйтесь через Telegram, затем привяжите email в настройках.",
"telegramRequired": "Требуется авторизация через Telegram",
"telegramRetryFailed": "Авторизация не удалась. Закройте приложение и откройте заново.",
"telegramReopenHint": "Если проблема повторяется — закройте и откройте приложение заново",
"telegramNotConfigured": "Telegram бот не настроен",
"telegramUnavailable": "Вход через Telegram временно недоступен",
"authenticating": "Авторизация...",
"orOpenInApp": "Или откройте бота в приложении",
"loginFailed": "Ошибка входа",
"telegramWidgetBlocked": "Виджет входа через Telegram недоступен. Войдите через бота:",
"openBotToLogin": "Открыть бота для входа",
"waitingForConfirmation": "Ожидание подтверждения...",
"deepLinkExpired": "Ссылка истекла. Попробуйте снова.",
"tryAgain": "Попробовать снова",
"scanQrToLogin": "Отсканируйте QR-код камерой телефона",
"orSendCommand": "Или отправьте боту команду:",
"commandCopied": "Команда скопирована",
"welcomeBack": "Добро пожаловать!",
"loginTitle": "Вход в личный кабинет",
"loginSubtitle": "Войдите через Telegram или используйте email",
"referralInvite": "Вы приглашены по реферальной ссылке!",
"passwordMismatch": "Пароли не совпадают",
"passwordTooShort": "Пароль должен быть минимум 8 символов",
"invalidEmail": "Введите корректный email адрес",
"emailAlreadyRegistered": "Этот email уже зарегистрирован",
"invalidCredentials": "Неверный email или пароль",
"forgotPasswordHint": "Введите email и мы отправим инструкции для сброса пароля.",
"passwordResetSent": "Если аккаунт с таким email существует, мы отправили инструкции по сбросу пароля.",
"sendResetLink": "Отправить ссылку",
"tooManyAttempts": "Слишком много попыток. Попробуйте позже",
"verificationEmailNotice": "После регистрации на вашу почту будет отправлено письмо для подтверждения",
"checkEmail": "Проверьте почту",
"verificationSent": "Мы отправили ссылку для подтверждения на:",
"clickLinkToVerify": "Перейдите по ссылке в письме, чтобы подтвердить аккаунт и войти.",
"backToLogin": "Вернуться ко входу",
"emailNotVerified": "Сначала подтвердите email",
"loginSuccess": "Авторизация успешна",
"continueWithGoogle": "Продолжить через Google",
"continueWithYandex": "Продолжить через Яндекс",
"continueWithDiscord": "Продолжить через Discord",
"continueWithVk": "Продолжить через VK",
"oauthError": "Авторизация отклонена или не удалась",
"oauthExpired": "Сессия OAuth истекла. Попробуйте снова."
},
"emailVerification": {
"title": "Подтверждение email",
"verifying": "Проверяем email...",
"pleaseWait": "Пожалуйста, подождите пока мы проверяем ваш email.",
"success": "Email подтверждён!",
"successMessage": "Ваш email успешно подтверждён. Теперь вы можете входить с помощью email и пароля.",
"redirecting": "Переходим в личный кабинет...",
"failed": "Ошибка подтверждения",
"goToLogin": "Перейти к входу"
},
"resetPassword": {
"title": "Новый пароль",
"enterNewPassword": "Введите новый пароль ниже.",
"success": "Пароль изменён!",
"redirectingToLogin": "Переходим на страницу входа...",
"setPassword": "Установить пароль",
"invalidToken": "Недействительная ссылка",
"tokenExpiredOrInvalid": "Ссылка для сброса пароля недействительна или истекла."
},
"dashboard": {
"title": "Личный кабинет",
"welcome": "Добро пожаловать, {{name}}!",
"yourSubscription": "Ваша подписка",
"quickActions": "Быстрые действия",
"viewSubscription": "Управление подпиской",
"topUpBalance": "Пополнить баланс",
"inviteFriends": "Пригласить друзей",
"getSupport": "Получить поддержку",
"currentBalance": "Текущий баланс",
"activeUntil": "Активна до",
"noActiveSubscription": "Нет активной подписки",
"devicesUsed": "Устройств: {{used}} из {{total}}",
"trafficUsed": "Трафик: {{used}} из {{total}} ГБ",
"unlimitedTraffic": "Безлимитный трафик",
"zone": {
"normal": "Норма",
"warning": "Умеренный",
"danger": "Высокий",
"critical": "Критический"
},
"connectDevice": "Подключить устройство",
"devicesConnected": "{{count}} подключено",
"devicesOfMax": "{{used}} из {{max}} подключено",
"devicesConnectedUnlimited": "{{used}} подключено · без лимита",
"devicesShort": "устр.",
"trafficUsage": "{{used}} / {{limit}} ГБ",
"trafficUsageTitle": "Расход трафика",
"usedTraffic": "использовано {{amount}}",
"usedSuffix": "израсходовано",
"unlimited": "Безлимит",
"tariff": "Тариф",
"validUntil": "до {{date}}",
"remaining": "Осталось",
"daysRemaining": "Дней осталось",
"usageLast14Days": "Расход за 14 дней",
"maxUsage": "макс {{amount}}",
"deviceLimitReached": "Отключите устройства для подключения новых",
"expired": {
"title": "Подписка истекла",
"trialTitle": "Пробный период истёк",
"trialSubtitle": "Пробный период завершён",
"paidSubtitle": "Срок действия закончился",
"renew": "Продлить подписку",
"quickRenew": "Продлить",
"topUp": "Пополнить баланс",
"balance": "Баланс",
"insufficientFunds": "Недостаточно средств на балансе",
"renewError": "Ошибка продления, попробуйте ещё раз",
"tariffs": "Тарифы",
"traffic": "Трафик",
"devices": "Устройства",
"expiredDate": "Истекла",
"expiredDate_trial": "Истёк",
"activeUntil": "Активна до"
},
"suspended": {
"title": "Подписка приостановлена",
"resume": "Возобновить"
},
"trialOffer": {
"freeTitle": "Бесплатный пробный период",
"paidTitle": "Пробная подписка",
"freeDesc": "Попробуйте наш VPN бесплатно — без обязательств",
"paidDesc": "Начните с пробной подписки"
},
"stats": {
"balance": "Баланс",
"subscription": "Подписка",
"referrals": "Рефералы",
"earnings": "Заработок"
}
},
"subscription": {
"title": "Подписка",
"currentPlan": "Текущий тариф",
"status": "Статус",
"active": "Активна",
"inactive": "Неактивна",
"trialStatus": "Пробный период",
"expired": "Истекла",
"trafficLimited": "Трафик исчерпан",
"trafficLimitedTitle": "Трафик закончился",
"trafficLimitedDescription": "Ваш трафик исчерпан. Докупите дополнительный трафик ниже, чтобы продолжить пользоваться VPN.",
"expiresAt": "Действует до",
"daysLeft": "Осталось дней",
"devices": "Устройства",
"devices_one": "{{count}} устройство",
"devices_few": "{{count}} устройства",
"devices_many": "{{count}} устройств",
"serversLabel": "Серверы",
"servers_one": "{{count}} сервер",
"servers_few": "{{count}} сервера",
"servers_many": "{{count}} серверов",
"locationsLabel": "Локации",
"locations_one": "{{count}} локация",
"locations_few": "{{count}} локации",
"locations_many": "{{count}} локаций",
"trafficReset": {
"DAY": "Сброс ежедневно",
"WEEK": "Сброс еженедельно",
"MONTH": "Сброс ежемесячно",
"MONTH_ROLLING": "Сброс раз в 30 дней"
},
"traffic": "Трафик",
"unlimited": "Безлимит",
"used": "Использовано",
"of": "из",
"renew": "Продлить",
"free": "Бесплатно",
"extend": "Продлить подписку",
"buyTraffic": "Докупить трафик",
"buyDevices": "Докупить устройства",
"renewalOptions": "Варианты продления",
"days": "дней",
"daysShort": "дн.",
"days_one": "{{count}} день",
"days_few": "{{count}} дня",
"days_many": "{{count}} дней",
"hours": "ч",
"hours_one": "{{count}} ч",
"hours_few": "{{count}} ч",
"hours_many": "{{count}} ч",
"minutes": "м",
"minutes_one": "{{count}} м",
"minutes_few": "{{count}} м",
"minutes_many": "{{count}} м",
"price": "Цена",
"noSubscription": "У вас нет активной подписки",
"getSubscription": "Оформить подписку",
"cta": {
"expiredHint": "Выберите тариф и оплатите",
"trialHint": "Больше трафика и устройств",
"activeHint": "Продление и смена тарифа"
},
"connectionInfo": "Данные для подключения",
"copyLink": "Копировать ссылку",
"copied": "Скопировано!",
"showQR": "Показать QR-код",
"downloadConfig": "Скачать конфиг",
"trafficUsed": "Использовано трафика",
"timeLeft": "Осталось времени",
"getConfig": "Подключить устройства",
"autoRenewal": "Автопродление",
"daysBeforeExpiry": "дней до окончания",
"daysBeforeExpiry_one": "{{count}} день до окончания",
"daysBeforeExpiry_few": "{{count}} дня до окончания",
"daysBeforeExpiry_many": "{{count}} дней до окончания",
"selectPeriod": "Выберите период",
"noPeriodsAvailable": "Нет доступных периодов для продления",
"noPeriodsAvailableHint": "Администратор изменил настройки этого тарифа. Выберите другой тариф для продления подписки.",
"chooseDifferentTariff": "Выбрать другой тариф",
"selectTraffic": "Выберите трафик",
"selectServers": "Выберите серверы",
"selectDevices": "Устройства",
"perDevice": "/ устройство",
"devicesFree": "устройств бесплатно",
"devicesFree_one": "{{count}} устройство бесплатно",
"devicesFree_few": "{{count}} устройства бесплатно",
"devicesFree_many": "{{count}} устройств бесплатно",
"perExtraDevice": "/ доп. устройство",
"extraDevices": "Доп. устройства",
"extraDevicesIncluded": "Вкл. {{count}} доп. устр.",
"extraDevicesIncluded_one": "Вкл. {{count}} доп. устр.",
"extraDevicesIncluded_few": "Вкл. {{count}} доп. устр.",
"extraDevicesIncluded_many": "Вкл. {{count}} доп. устр.",
"baseTariff": "Тариф",
"perMonth": "/мес",
"summary": {
"period": "Период: {{label}}",
"traffic": "Трафик: {{gb}} ГБ"
},
"total": "К оплате",
"purchase": "Купить",
"step": "Шаг {{current}} из {{total}}",
"stepPeriod": "Период",
"stepTraffic": "Трафик",
"stepServers": "Серверы",
"stepDevices": "Устройства",
"stepConfirm": "Подтверждение",
"currentTariff": "Текущий",
"from": "от",
"month": "мес",
"insufficientBalance": "Недостаточно средств. Не хватает {{missing}} ₽",
"trial": {
"title": "Бесплатный пробный период",
"titlePaid": "Пробная подписка",
"description": "Попробуйте наш VPN сервис!",
"days": "дней",
"days_one": "{{count}} день",
"days_few": "{{count}} дня",
"days_many": "{{count}} дней",
"devices": "устройств",
"devices_one": "{{count}} устройство",
"devices_few": "{{count}} устройства",
"devices_many": "{{count}} устройств",
"price": "Стоимость",
"activate": "Активировать бесплатно",
"payAndActivate": "Оплатить с баланса",
"topUpToActivate": "Пополнить баланс",
"insufficientBalance": "Пополните баланс для активации",
"unavailable": "Пробный период недоступен"
},
"trialBanner": {
"title": "Пробный период активен",
"description": "У вас осталось {{days}} дней пробного периода. Оформите подписку, чтобы продолжить пользоваться сервисом.",
"upgrade": "Выбрать тариф"
},
"trialInfo": {
"title": "Пробный период",
"description": "Вы используете пробную версию сервиса. Выберите тариф ниже для полного доступа.",
"remaining": "осталось",
"upgradeNow": "Выбрать тариф"
},
"trialUpgrade": {
"title": "Выберите тариф для продолжения",
"description": "Ваш пробный период скоро закончится. Выберите подходящий тариф, чтобы продолжить пользоваться VPN без ограничений."
},
"expiredBanner": {
"title": "Подписка истекла",
"selectTariff": "Ваша подписка истекла. Выберите тариф ниже, чтобы возобновить доступ к VPN."
},
"connection": {
"title": "Подключить VPN",
"selectDevice": "Выберите устройство",
"selectApp": "Выберите приложение",
"installApp": "1. Установите приложение",
"addSubscription": "2. Добавьте подписку",
"connectVpn": "3. Подключитесь к VPN",
"addToApp": "Добавить в {{appName}}",
"connect": "Подключить",
"noApps": "Нет приложений для этой платформы",
"noSubscription": "Для подключения нужна активная подписка",
"featured": "Рекомендуем",
"yourDevice": "Ваше устройство",
"copyLink": "Скопировать ссылку",
"copied": "Ссылка скопирована!",
"openLink": "Открыть ссылку",
"instructions": "Инструкция",
"changeApp": "Сменить приложение",
"selectPlatform": "Выберите платформу",
"app": "приложение",
"apps": "приложений",
"tutorial": "Инструкция",
"notConfigured": "Способы подключения ещё не настроены",
"notConfiguredUser": "Настройка подключения в процессе. Пожалуйста, загляните позже.",
"notConfiguredAdmin": "Приложения для подключения не настроены. Настройте их в разделе Приложения.",
"goToApps": "Перейти к настройке приложений",
"qrTitle": "QR-код подписки",
"qrScanHint": "Отсканируйте для подключения",
"qrButton": "QR-код"
},
"myDevices": "Мои устройства",
"noDevices": "Нет подключенных устройств",
"deleteDevice": "Удалить устройство",
"deleteAllDevices": "Удалить все",
"confirmDeleteDevice": "Удалить это устройство?",
"confirmDeleteAllDevices": "Удалить все устройства?",
"deviceDeleted": "Устройство удалено",
"allDevicesDeleted": "Все устройства удалены",
"platform": "Платформа",
"model": "Модель",
"connectedAt": "Подключено",
"pause": {
"title": "Пауза подписки",
"paused": "На паузе",
"suspended": "Приостановлена (недостаточно средств)",
"active": "Активна",
"pauseBtn": "Приостановить",
"resumeBtn": "Возобновить",
"pausedMessage": "Подписка приостановлена",
"resumedMessage": "Подписка возобновлена",
"dailyOnly": "Пауза доступна только для суточных тарифов",
"insufficientBalance": "Недостаточно средств для возобновления подписки",
"pausedInfo": "Подписка приостановлена",
"pausedDescription": "Списания остановлены. Подписка будет действовать до",
"nextCharge": "До следующего списания",
"willBeCharged": "Будет списано",
"days_one": "{{count}} день",
"days_few": "{{count}} дня",
"days_many": "{{count}} дней",
"hours": "ч",
"minutes": "м",
"days": "дн."
},
"dailyPurchase": {
"costPerDay": "Стоимость в день",
"chargedDaily": "Оплата списывается ежедневно с баланса",
"canPause": "Можно приостановить в любой момент",
"pausedOnLowBalance": "При недостатке баланса подписка будет приостановлена",
"activate": "Активировать за {{price}}"
},
"switchTariff": {
"title": "Сменить тариф",
"preview": "Предпросмотр",
"currentTariff": "Текущий тариф",
"newTariff": "Новый тариф",
"remainingDays": "Осталось дней",
"upgradeCost": "Доплата",
"free": "Бесплатно",
"switch": "Перейти",
"switched": "Тариф изменён",
"notEnoughBalance": "Недостаточно средств",
"dailyPayment": "Оплата за день",
"dailyChargeDescription": "Списывается ежедневно с баланса"
},
"switchTraffic": {
"title": "Изменить трафик",
"currentPackage": "Текущий пакет",
"newPackage": "Новый пакет",
"switch": "Изменить",
"switched": "Трафик изменён"
},
"purchasedTraffic": "Докупленный трафик",
"trafficResetAt": "Сброс",
"additionalOptions": {
"title": "Дополнительные опции",
"buyDevices": "Докупить устройства",
"currentDeviceLimit_one": "Текущий лимит: {{count}} устройство",
"currentDeviceLimit_few": "Текущий лимит: {{count}} устройства",
"currentDeviceLimit_many": "Текущий лимит: {{count}} устройств",
"maxDevices": "максимум {{count}}",
"devicesUnavailable": "Докупка устройств недоступна",
"devicesUnit": "устройств",
"buy": "Купить",
"reduceDevices": "Уменьшить устройства",
"reduceDevicesTitle": "Уменьшить лимит устройств",
"reduceDevicesDescription": "Вы можете уменьшить количество устройств до минимального на тарифе",
"minDeviceLimit_one": "Минимум на тарифе: {{count}} устройство",
"minDeviceLimit_few": "Минимум на тарифе: {{count}} устройства",
"minDeviceLimit_many": "Минимум на тарифе: {{count}} устройств",
"connectedDevices_one": "Подключено устройств: {{count}}",
"connectedDevices_few": "Подключено устройств: {{count}}",
"connectedDevices_many": "Подключено устройств: {{count}}",
"disconnectDevicesFirst_one": "Сначала отключите устройства, чтобы уменьшить лимит ниже {{count}} устройства",
"disconnectDevicesFirst_few": "Сначала отключите устройства, чтобы уменьшить лимит ниже {{count}} устройств",
"disconnectDevicesFirst_many": "Сначала отключите устройства, чтобы уменьшить лимит ниже {{count}} устройств",
"reduceUnavailable": "Уменьшение устройств недоступно",
"alreadyAtMinDeviceLimit": "Уже достигнут минимальный лимит устройств для вашего тарифа",
"reduce": "Уменьшить",
"reducing": "Уменьшение...",
"newDeviceLimit_one": "Новый лимит: {{count}} устройство",
"newDeviceLimit_few": "Новый лимит: {{count}} устройства",
"newDeviceLimit_many": "Новый лимит: {{count}} устройств",
"buyTraffic": "Докупить трафик",
"currentTrafficLimit": "Текущий лимит: {{limit}} ГБ (использовано {{used}} ГБ)",
"buyTrafficTitle": "Докупить трафик",
"trafficWarning": "Докупленный трафик добавляется к текущему лимиту и не переносится на следующий период",
"trafficUnavailable": "Докупка трафика недоступна для вашего тарифа",
"unlimited": "Безлимит",
"buyTrafficGb": "Купить {{gb}} ГБ",
"buyUnlimited": "Купить Безлимит",
"manageServers": "Управление сквадами",
"manageServersTitle": "Управление сквадами"
},
"serverManagement": {
"statusLegend": "✅ — подключено • — будет добавлено (платно) • — будет отключено",
"discountBanner": "Ваша скидка на серверы: -{{percent}}%",
"forDays": "(за {{days}} дн.)",
"perMonth": "/мес",
"unavailable": "Недоступен",
"toAdd": "Добавить:",
"toDisconnect": "Отключить:",
"paymentProrated": "К оплате (пропорционально оставшимся дням):",
"applyChanges": "Применить изменения",
"selectServersHint": "Выберите серверы для подключения или отключения",
"noServersAvailable": "Нет доступных серверов для управления"
},
"revoke": {
"title": "Перевыпуск подписки",
"button": "Перевыпустить подписку",
"description": "Новая ссылка, сброс устройств",
"warning": "Это действие сгенерирует новую ссылку подключения, сбросит все подключённые устройства и сделает старую ссылку недействительной. Продолжить?",
"confirmBtn": "Перевыпустить",
"cooldown": "Доступно через {{minutes}} мин. {{seconds}} сек."
},
"legacy": {
"selectTariffTitle": "Выберите тариф для продления",
"selectTariffDescription": "Ваша текущая подписка была создана до введения тарифов. Для продления необходимо выбрать один из доступных тарифов.",
"currentSubContinues": "Ваша текущая подписка продолжит действовать до окончания срока."
},
"promoGroup": {
"yourGroup": "Ваша группа: {{name}}",
"personalDiscountsApplied": "Персональные скидки применены к ценам"
},
"tariff": {
"perDay": "/ день",
"flexiblePayment": "Гибкая оплата",
"selectForRenewal": "Выбрать для продления"
},
"customDays": {
"title": "Произвольное кол-во дней",
"perDay": "/день"
},
"customTraffic": {
"label": "Трафик",
"selectVolume": "Выбрать объём трафика",
"default": "По умолчанию: {{label}}"
},
"tvQuickConnect": {
"title": "Подключить TV",
"description": "Введите 5-значный код с экрана телевизора",
"sendBtn": "Отправить на TV",
"badCode": "Введите 5-значный код (буквы и цифры)",
"sent": "Отправлено на TV!",
"error": "Ошибка отправки на TV",
"scanTitle": "Сканировать QR-код",
"scanDescription": "Отсканируйте QR-код с экрана телевизора",
"scanBtn": "Сканировать QR с TV",
"stopScan": "Закрыть камеру",
"noCamera": "Нет доступа к камере",
"codeFound": "Код найден"
}
},
"balance": {
"title": "Баланс",
"currentBalance": "Текущий баланс",
"topUp": "Пополнить",
"topUpBalance": "Пополнение баланса",
"enterAmount": "Введите сумму",
"paymentMethod": "Способ оплаты",
"paymentMethods": {
"yookassa": {
"description": "Оплата через ЮKassa"
},
"cryptobot": {
"description": "Оплата криптовалютой через CryptoBot"
},
"telegram_stars": {
"description": "Оплата через Telegram Stars"
},
"heleket": {
"description": "Оплата криптовалютой через Heleket"
},
"mulenpay": {
"description": "Оплата через MulenPay"
},
"pal24": {
"description": "Оплата через PAL24"
},
"platega": {
"description": "Оплата через Platega"
},
"wata": {
"description": "Оплата через Wata"
},
"cloudpayments": {
"description": "Оплата банковской картой через CloudPayments"
},
"freekassa": {
"description": "Оплата через FreeKassa"
},
"freekassa_sbp": {
"description": "Оплата через СБП (QR код)"
},
"freekassa_card": {
"description": "Оплата картой РФ"
},
"tribute": {
"description": "Оплата банковской картой через Tribute"
},
"severpay": {
"description": "Оплата через SeverPay"
},
"riopay": {
"description": "Оплата через RioPay"
},
"kassa_ai": {
"description": "Оплата через Kassa AI"
},
"paypear": {
"description": "Оплата через PayPear"
},
"rollypay": {
"description": "Оплата через RollyPay (СБП)"
},
"aurapay": {
"description": "Оплата через AuraPay"
},
"etoplatezhi": {
"description": "Оплата через Etoplatezhi"
},
"antilopay": {
"description": "Оплата через Antilopay"
},
"jupiter": {
"description": "Оплата СБП через Jupiter (FPGate P2P)"
},
"donut": {
"description": "Оплата картой и СБП через Donut P2P"
},
"lava": {
"description": "Оплата картой и СБП через Lava Business"
},
"apple_iap": {
"description": "Оплата через Apple In-App Purchase"
}
},
"transactionHistory": "История операций",
"noTransactions": "Нет операций",
"date": "Дата",
"type": "Тип",
"description": "Описание",
"amount": "Сумма",
"deposit": "Пополнение",
"withdrawal": "Списание",
"subscriptionPayment": "Оплата подписки",
"referralReward": "Реферальный бонус",
"minAmount": "Мин.",
"maxAmount": "Макс.",
"notAvailable": "Недоступно",
"useBot": "Для пополнения используйте Telegram бота.",
"page": "Страница {{current}} из {{total}}",
"invalidAmount": "Некорректная сумма",
"promocode": {
"title": "Промокод",
"placeholder": "Введите промокод",
"activate": "Активировать",
"activating": "Активация...",
"success": "Промокод успешно активирован!",
"balanceAdded": "На баланс начислено: {{amount}} ₽",
"errors": {
"not_found": "Промокод не найден",
"expired": "Срок действия промокода истёк",
"inactive": "Промокод деактивирован",
"not_yet_valid": "Промокод ещё не начал действовать",
"used": "Промокод уже использован",
"already_used_by_user": "Вы уже использовали этот промокод",
"user_not_found": "Пользователь не найден",
"server_error": "Ошибка сервера"
}
},
"minAmountError": "Минимальная сумма: {{amount}} ₽",
"maxAmountError": "Максимальная сумма: {{amount}} ₽",
"paymentOption": "Способ оплаты",
"selectPaymentOption": "Выберите способ оплаты",
"selectPaymentMethod": "Выберите способ оплаты",
"insufficientFunds": "Недостаточно средств",
"topUpToComplete": "Пополните баланс для завершения покупки",
"missing": "Не хватает",
"noPaymentMethods": "Способы оплаты недоступны",
"pendingPayments": {
"title": "Ожидающие платежи",
"pay": "Оплатить",
"checkStatus": "Проверить статус",
"checking": "Проверка..."
},
"savedCards": {
"title": "Сохранённые карты",
"card": "Карта",
"unlink": "Отвязать",
"confirmUnlink": "Вы уверены, что хотите отвязать эту карту? Автоматическое пополнение баланса с неё станет невозможным.",
"unlinkSuccess": "Карта успешно отвязана",
"unlinkError": "Не удалось отвязать карту",
"linkedAt": "Привязана {{date}}",
"noCards": "Карта будет сохранена автоматически при следующем пополнении",
"pageTitle": "Сохранённые карты",
"backToBalance": "Назад",
"empty": "Нет привязанных карт. Карта будет сохранена автоматически при следующем пополнении.",
"loadError": "Не удалось загрузить сохранённые карты. Попробуйте позже."
},
"paymentReady": "Ссылка на оплату готова",
"clickToOpenPayment": "Нажмите кнопку ниже, чтобы открыть страницу оплаты в новой вкладке",
"openPaymentPage": "Открыть страницу оплаты",
"errors": {
"noPaymentLink": "Сервер не вернул ссылку на оплату",
"starsOnlyInTelegram": "Оплата Stars доступна только в Telegram Mini App",
"generic": "Ошибка: {{details}}",
"invoiceFailed": "Не удалось создать счёт",
"rateLimit": "Подождите {{seconds}} сек.",
"selectMethod": "Выберите способ",
"enterAmount": "Введите сумму",
"amountRange": "Сумма: {{min}} {{max}} ₽"
},
"paymentSuccess": {
"title": "Оплата прошла успешно",
"message": "Ваш баланс успешно пополнен. Средства уже доступны."
},
"topUpResult": {
"awaitingPayment": "Ожидание оплаты",
"awaitingPaymentDesc": "Мы ожидаем подтверждение вашего платежа. Это может занять несколько минут.",
"topUpAmount": "Сумма пополнения",
"success": "Баланс пополнен!",
"successDesc": "Ваш баланс успешно пополнен. Средства уже доступны.",
"failed": "Оплата не прошла",
"failedDesc": "К сожалению, платёж не был завершён. Попробуйте ещё раз или выберите другой способ оплаты.",
"timeout": "Дольше, чем обычно",
"timeoutDesc": "Обработка платежа занимает больше времени. Вы можете проверить статус ещё раз.",
"goToBalance": "Перейти к балансу",
"tryAgain": "Попробовать снова"
}
},
"referral": {
"title": "Реферальная программа",
"yourLink": "Ваши реферальные ссылки",
"botLink": "Ссылка на бота",
"cabinetLink": "Ссылка на кабинет",
"copyLink": "Копировать",
"copied": "Скопировано!",
"shareButton": "Поделиться",
"shareMessage": "Заходи в {{botName}} по моей ссылке и получай до {{percent}}% кешбэка!",
"shareHint": "Поделитесь ссылкой с друзьями. Когда они зарегистрируются и оплатят, вы получите {{percent}}% комиссии!",
"stats": {
"totalReferrals": "Всего рефералов",
"activeReferrals": "Активных",
"totalEarnings": "Общий заработок",
"commissionRate": "Комиссия"
},
"terms": {
"title": "Условия программы",
"commission": "Комиссия",
"minTopup": "Мин. пополнение",
"newUserBonus": "Бонус новому пользователю",
"inviterBonus": "Бонус пригласившему"
},
"yourReferrals": "Ваши рефералы",
"noReferrals": "Пока нет рефералов. Поделитесь ссылкой, чтобы пригласить друзей!",
"anonymousUser": "Пользователь #{{id}}",
"anonymousReferral": "Реферал",
"user": "Пользователь",
"joined": "Присоединился",
"hasPaid": "Оплатил",
"status": {
"pending": "Ожидание",
"paid": "Оплачено"
},
"earningsHistory": "История начислений",
"reason": "Причина",
"reasons": {
"referral_registration_pending": "Регистрация реферала",
"referral_registration": "Регистрация реферала",
"referral_first_payment": "Первая оплата реферала",
"referral_subscription_renewal": "Продление подписки реферала",
"referral_bonus": "Бонус за реферала"
},
"disabled": "Реферальная программа временно отключена",
"partner": {
"becomePartner": "Стать партнером",
"becomePartnerDesc": "Подайте заявку на партнерскую программу, чтобы получить повышенную комиссию и возможность вывода заработка.",
"applyButton": "Подать заявку",
"applyTitle": "Заявка на партнерство",
"applyDesc": "Заполните форму ниже для подачи заявки на партнерскую программу. Все поля необязательные.",
"underReview": "Заявка на рассмотрении",
"underReviewDesc": "Ваша заявка на партнерство рассматривается. Мы уведомим вас, когда будет принято решение.",
"submittedAt": "Подана {{date}}",
"partnerStatus": "Партнер",
"active": "Активен",
"commissionInfo": "Ваша партнерская комиссия составляет {{percent}}%",
"rejected": "Заявка отклонена",
"reapplyButton": "Подать заново",
"applying": "Отправка...",
"submitApplication": "Отправить заявку",
"applyError": "Не удалось отправить заявку. Попробуйте снова.",
"yourCampaigns": "Ваши кампании",
"campaignLinks": {
"bot": "Ссылка в бот",
"web": "Ссылка в кабинет"
},
"campaignBonus": {
"title": "Бонус для реферала",
"balance": "+{{amount}} на баланс",
"balanceDesc": "{{amount}} на баланс при регистрации",
"subscription": "{{days}} дн. подписки",
"subscriptionDesc": "{{days}} дней бесплатной подписки",
"tariff": "Бонусный тариф",
"tariffDesc": "Бесплатный тарифный план"
},
"stats": {
"registrations": "Регистрации",
"referrals": "Рефералы",
"earnings": "Заработок",
"conversionRate": "Конверсия",
"today": "Сегодня",
"week": "Неделя",
"month": "Месяц",
"showDetails": "Подробнее",
"hideDetails": "Свернуть",
"vsLastWeek": "vs прошлая неделя",
"topReferrals": "Топ рефералы",
"noData": "Нет данных",
"dailyChart": "Динамика за 30 дней",
"periodComparison": "Сравнение периодов",
"noReferrals": "Пока нет рефералов",
"paid": "Оплатил",
"pending": "Ожидание",
"active": "Активен",
"referralsCount": "Рефералов",
"earningsAmount": "Заработано"
},
"fields": {
"companyName": "Название компании",
"companyNamePlaceholder": "Название вашей компании или бренда",
"telegramChannel": "Telegram-канал",
"telegramChannelPlaceholder": "@вашканал",
"websiteUrl": "Сайт",
"websiteUrlPlaceholder": "https://example.com",
"description": "Описание",
"descriptionPlaceholder": "Расскажите о вашей аудитории и планах продвижения...",
"expectedReferrals": "Ожидаемое количество рефералов в месяц",
"expectedReferralsPlaceholder": "Примерное количество в месяц",
"desiredCommission": "Желаемый процент комиссии",
"desiredCommissionPlaceholder": "От 1 до 100%"
}
},
"withdrawal": {
"title": "Вывод средств",
"goToWithdrawal": "Вывести",
"available": "Доступно",
"totalEarned": "Всего заработано",
"withdrawn": "Выведено",
"spent": "Потрачено на услуги",
"pending": "В обработке",
"requestButton": "Запросить вывод",
"minAmount": "Минимальная сумма вывода: {{amount}}",
"history": "История выводов",
"noHistory": "Запросов на вывод пока нет",
"requestTitle": "Запрос на вывод",
"requestDesc": "Доступно для вывода: {{available}}",
"requesting": "Отправка...",
"submitRequest": "Отправить запрос",
"requestError": "Не удалось создать запрос на вывод. Попробуйте снова.",
"fields": {
"amount": "Сумма",
"amountPlaceholder": "Введите сумму в {{currency}}",
"amountHint": "Минимум: {{min}} {{currency}}",
"paymentDetails": "Реквизиты для оплаты",
"paymentDetailsPlaceholder": "Номер карты, адрес кошелька или другие реквизиты..."
},
"status": {
"pending": "В обработке",
"approved": "Одобрен",
"completed": "Завершен",
"rejected": "Отклонен",
"cancelled": "Отменен"
}
}
},
"support": {
"title": "Поддержка",
"newTicket": "Новый тикет",
"yourTickets": "Ваши обращения",
"noTickets": "Нет обращений",
"createTicket": "Создать обращение",
"subject": "Тема",
"subjectPlaceholder": "Кратко опишите проблему",
"message": "Сообщение",
"messagePlaceholder": "Подробно опишите вашу проблему...",
"send": "Отправить",
"sending": "Отправка...",
"creating": "Создание...",
"reply": "Ответить",
"replyPlaceholder": "Введите ваш ответ...",
"sendReply": "Отправить ответ",
"you": "Вы",
"supportTeam": "Поддержка",
"selectTicket": "Выберите обращение или создайте новое",
"created": "Создано",
"repliesDisabled": "Ответы на это обращение отключены",
"status": {
"open": "Открыт",
"answered": "Отвечен",
"pending": "Ожидает",
"closed": "Закрыт"
},
"attachImage": "Прикрепить изображение",
"invalidFileType": "Неверный тип файла. Используйте JPEG, PNG, GIF или WebP.",
"fileTooLarge": "Файл слишком большой. Максимальный размер 10МБ.",
"uploadFailed": "Не удалось загрузить изображение",
"imageLoadFailed": "Не удалось загрузить изображение",
"tooManyRequests": "Слишком много запросов. Подождите {{seconds}} сек.",
"ticketsDisabled": "Тикеты отключены",
"useProfile": "Для получения поддержки перейдите в профиль бота",
"goToProfile": "Перейти в профиль",
"useExternalLink": "Для получения поддержки воспользуйтесь внешней ссылкой",
"openSupport": "Открыть поддержку",
"contactSupport": "Для получения поддержки обратитесь к {{username}}",
"contactUs": "Связаться с поддержкой"
},
"wheel": {
"title": "Колесо удачи",
"disabled": "Колесо удачи временно недоступно",
"prizes": "Призы",
"spinsRemaining": "Осталось вращений сегодня",
"choosePayment": "Выберите способ оплаты",
"stars": "Stars",
"telegramStars": "Telegram Stars",
"days": "дней",
"days_one": "{{count}} день",
"days_few": "{{count}} дня",
"days_many": "{{count}} дней",
"subscriptionDays": "Дни подписки",
"day": "День",
"spinCost": "Стоимость вращения",
"spin": "КРУТИТЬ!",
"spinning": "Крутится...",
"history": "История",
"recentSpins": "Последние вращения",
"congratulations": "Поздравляем!",
"noLuck": "Не повезло!",
"oops": "Упс!",
"yourPromoCode": "Ваш промокод:",
"close": "Закрыть",
"errors": {
"networkError": "Произошла ошибка сети",
"loadFailed": "Не удалось загрузить конфигурацию колеса",
"dailyLimitReached": "Достигнут дневной лимит вращений",
"cannotSpin": "Сейчас нельзя крутить",
"insufficientBalance": "Недостаточно средств на балансе",
"topUpRequired": "Пополните баланс для оплаты спина",
"starsNotAvailable": "Оплата Stars недоступна. Откройте приложение через Telegram.",
"noSubscription": "Для вращения колеса необходима активная подписка. Активируйте подписку в разделе «Подписка»."
},
"payWithStars": "Оплатить Stars",
"payWithDays": "Оплатить днями",
"processingPayment": "Обработка...",
"starsPaymentSuccess": "Оплата прошла! Результат спина отправлен в Telegram.",
"starsPaymentSuccessCheckHistory": "Оплата прошла! Проверьте историю или Telegram для результата.",
"starsPaymentFailed": "Ошибка оплаты. Попробуйте еще раз.",
"starsPaymentRedirected": "Откроется Telegram для оплаты. После оплаты обновите страницу.",
"starsNotAvailable": "Оплата звёздами сейчас недоступна. Обратитесь в поддержку.",
"confirmStarsPayment": "Вы будете перенаправлены в Telegram для оплаты одного вращения колеса.",
"payStars": "Оплатить {{count}} ⭐",
"youWon": "Вы выиграли",
"noPrize": "В этот раз не повезло...",
"noHistory": "История вращений пуста",
"banner": {
"title": "Испытай удачу!",
"description": "Крути колесо и выигрывай призы: дни подписки, баланс, трафик и многое другое!",
"button": "Перейти к колесу"
}
},
"admin": {
"backgrounds": {
"title": "Анимированный фон",
"description": "Выберите тип и настройте параметры анимации",
"selectType": "Тип фона",
"preview": "Предпросмотр",
"settings": "Настройки",
"save": "Сохранить",
"saved": "Сохранено",
"saving": "Сохранение...",
"enabled": "Фон включён",
"disabled": "Фон выключен",
"reducedOnMobile": "Облегчённый режим на мобильных",
"reducedOnMobileDesc": "Уменьшает количество частиц и отключает интерактивность",
"globalOpacity": "Прозрачность",
"globalBlur": "Размытие",
"categoryCSS": "CSS",
"categoryCanvas": "Canvas",
"categorySVG": "SVG",
"aurora": "Aurora",
"auroraDesc": "Северное сияние с плавными переливами",
"sparkles": "Sparkles",
"sparklesDesc": "Мерцающие частицы на фоне",
"vortex": "Vortex",
"vortexDesc": "Вращающийся водоворот частиц",
"shootingStars": "Shooting Stars",
"shootingStarsDesc": "Падающие звёзды на звёздном небе",
"beams": "Beams",
"beamsDesc": "Световые лучи по SVG-путям",
"beamsCollision": "Beams Collision",
"beamsCollisionDesc": "Взрывающиеся световые лучи",
"gradientAnimation": "Gradient Animation",
"gradientAnimationDesc": "Плавно движущиеся градиентные блобы",
"wavy": "Wavy",
"wavyDesc": "Волны на основе simplex noise",
"lines": "Lines",
"linesDesc": "Анимированные SVG-волны",
"boxes": "Boxes",
"boxesDesc": "Сетка интерактивных блоков",
"meteors": "Meteors",
"meteorsDesc": "Летящие метеоры",
"grid": "Grid",
"gridDesc": "Минималистичная сетка",
"dots": "Dots",
"dotsDesc": "Точечный паттерн",
"spotlight": "Spotlight",
"spotlightDesc": "Прожекторный луч",
"noise": "Noise",
"noiseDesc": "Шумовые градиенты с движением",
"ripple": "Ripple",
"rippleDesc": "Волновой эффект при клике",
"geminiEffect": "Gemini Effect",
"geminiEffectDesc": "SVG-эффект как на Google Gemini",
"speed": "Скорость",
"density": "Плотность частиц",
"particles": "Количество частиц",
"count": "Количество",
"hue": "Оттенок",
"rangeY": "Диапазон Y",
"minSize": "Мин. размер",
"maxSize": "Макс. размер",
"minSpeed": "Мин. скорость",
"maxSpeed": "Макс. скорость",
"particleColor": "Цвет частиц",
"starColor": "Цвет звёзд",
"trailColor": "Цвет следа",
"bgColor": "Цвет фона",
"fillColor": "Цвет заливки",
"color1": "Цвет 1",
"color2": "Цвет 2",
"color3": "Цвет 3",
"color4": "Цвет 4",
"color5": "Цвет 5",
"interactive": "Интерактивность (мышь)",
"size": "Размер",
"radialGradient": "Радиальный градиент",
"waveWidth": "Ширина волны",
"blurAmount": "Размытие",
"waveOpacity": "Прозрачность волн",
"duration": "Длительность",
"intensity": "Интенсивность",
"rows": "Строки",
"cols": "Столбцы",
"gridSize": "Размер сетки",
"small": "Мелкая",
"normal": "Обычная",
"slow": "Медленно",
"fast": "Быстро",
"none": "Без фона",
"noneDesc": "Отключить анимированный фон"
},
"nav": {
"title": "Админка",
"dashboard": "Статистика",
"tickets": "Тикеты",
"settings": "Настройки",
"apps": "Приложения",
"wheel": "Колесо",
"tariffs": "Тарифы",
"servers": "Сквады",
"banSystem": "Мониторинг банов",
"broadcasts": "Рассылки",
"users": "Пользователи",
"payments": "Платежи",
"remnawave": "RemnaWave",
"emailTemplates": "Email-шаблоны",
"paymentMethods": "Платёжные методы",
"campaigns": "Кампании",
"promoOffers": "Промопредложения",
"promocodes": "Промокоды",
"promoGroups": "Группы скидок",
"trafficUsage": "Расход трафика",
"updates": "Обновления",
"pinnedMessages": "Закреплённые",
"partners": "Партнёры",
"withdrawals": "Выводы",
"channelSubscriptions": "Обязательные каналы",
"roles": "Роли",
"roleAssign": "Назначение ролей",
"policies": "Политики доступа",
"auditLog": "Журнал аудита",
"salesStats": "Статистика продаж",
"landings": "Лендинги",
"referralNetwork": "Реферальная сеть",
"news": "Новости",
"bulkActions": "Массовые действия",
"infoPages": "Инфо-страницы"
},
"panel": {
"title": "Панель администратора",
"subtitle": "Управление системой",
"statsUptime": "Аптайм",
"statsBot": "Бот",
"statsCabinet": "Кабинет",
"statsTrials": "Триалы",
"statsPaid": "Платные",
"statsOnline": "Онлайн",
"statsToday": "сегодня",
"searchPlaceholder": "Поиск...",
"searchEmpty": "Ничего не найдено",
"searchEmptyHint": "Попробуйте другой запрос",
"searchClear": "Очистить поиск",
"dashboardDesc": "Статистика и мониторинг системы",
"ticketsDesc": "Обработка обращений пользователей",
"settingsDesc": "Настройки системы и параметры",
"appsDesc": "Управление приложениями для подключения",
"wheelDesc": "Настройка колеса удачи и призов",
"tariffsDesc": "Управление тарифными планами",
"serversDesc": "Настройка VPN серверов",
"banSystemDesc": "Мониторинг банов и нарушений",
"broadcastsDesc": "Массовая отправка сообщений",
"usersDesc": "Управление пользователями бота",
"paymentsDesc": "Проверка платежей",
"remnawaveDesc": "Управление панелью и статистика",
"emailTemplatesDesc": "Шаблоны email-уведомлений",
"paymentMethodsDesc": "Настройка и порядок платежек",
"campaignsDesc": "Рекламные кампании",
"promoOffersDesc": "Персональные скидки",
"promocodesDesc": "Управление промокодами",
"promoGroupsDesc": "Группы скидок для пользователей",
"trafficUsageDesc": "Трафик пользователей по нодам",
"updatesDesc": "Версии бота и кабинета",
"pinnedMessagesDesc": "Управление закреплёнными сообщениями",
"partnersDesc": "Управление заявками партнёров и комиссиями",
"withdrawalsDesc": "Проверка и обработка заявок на вывод",
"channelSubscriptionsDesc": "Управление обязательными подписками на каналы",
"rolesDesc": "Управление ролями и правами администраторов",
"roleAssignDesc": "Назначение и отзыв ролей пользователей",
"policiesDesc": "Настройка политик контроля доступа ABAC",
"auditLogDesc": "Просмотр активности системы и истории доступа",
"salesStatsDesc": "Аналитика продаж и тренды",
"landingsDesc": "Страницы быстрой покупки",
"referralNetworkDesc": "Визуализация графа рефералов и РК",
"newsDesc": "Управление новостями и статьями"
},
"salesStats": {
"title": "Статистика продаж",
"subtitle": "Доход, триалы, подписки и продления",
"period": {
"week": "7 дней",
"month": "30 дней",
"quarter": "90 дней",
"all": "Всё время",
"custom": "Свой период"
},
"tabs": {
"trials": "Триалы",
"sales": "Продажи",
"renewals": "Продления",
"addons": "Доп. услуги",
"deposits": "Пополнения"
},
"summary": {
"revenue": "Доход",
"activeSubs": "Активные подписки",
"activeTrials": "Активные триалы",
"newTrials": "Новые триалы",
"conversion": "Конверсия",
"renewals": "Продления",
"addonRevenue": "Доп. услуги",
"manualTopup": "Ручные пополнения"
},
"trials": {
"total": "Всего триалов",
"totalRegistrations": "Регистрации",
"trialsIssued": "Выданные триалы",
"conversion": "Конверсия",
"avgDuration": "Средняя длит.",
"byProvider": "По источнику регистрации",
"dailyChart": "Регистрации и триалы по дням",
"registrations": "Регистрации"
},
"sales": {
"totalSales": "Всего продаж",
"avgOrder": "Средний чек",
"topTariff": "Топ тариф",
"byTariff": "Продажи по тарифам",
"byPeriod": "По периоду подписки",
"dailyChart": "Продажи по дням",
"dailyByTariff": "Продажи по тарифам по дням",
"subscriptions": "Подписки"
},
"renewals": {
"total": "Всего продлений",
"rate": "Доля продлений",
"revenue": "Доход",
"comparison": "Сравнение периодов",
"currentPeriod": "Текущий период",
"previousPeriod": "Предыдущий период",
"dailyChart": "Продления по дням",
"renewals": "Продления"
},
"addons": {
"totalPurchases": "Всего покупок",
"totalGb": "Всего трафика",
"revenue": "Доход",
"devicePurchases": "Покупки устройств",
"deviceRevenue": "Доход от устройств",
"trafficPurchases": "Трафик",
"devicePurchasesDaily": "Устройства",
"byPackage": "По размеру пакета",
"dailyChart": "Покупки доп. услуг по дням",
"purchases": "Покупки"
},
"deposits": {
"totalDeposits": "Всего пополнений",
"totalAmount": "Общая сумма",
"avgDeposit": "Средний чек",
"byMethod": "По способу оплаты",
"dailyChart": "Пополнения по дням",
"dailyByMethod": "Пополнения по дням по платёжкам",
"revenue": "Доход"
},
"loadError": "Не удалось загрузить статистику"
},
"referralNetwork": {
"title": "Реферальная сеть",
"subtitle": "Визуализация графа рефералов и рекламных кампаний",
"search": {
"placeholder": "Поиск по TG ID, @username, email, кампании...",
"noResults": "Ничего не найдено",
"resultsCount": "Найдено: {{count}}",
"clear": "Очистить поиск"
},
"filters": {
"title": "Фильтры",
"campaigns": "Кампании",
"partnersOnly": "Только партнёры",
"minReferrals": "Мин. рефералов",
"reset": "Сбросить"
},
"stats": {
"totalUsers": "Пользователей",
"totalReferrers": "Рефереров",
"totalCampaigns": "Кампаний",
"subscriptionRevenue": "Доход с подписок",
"totalEarnings": "Реф. доход"
},
"legend": {
"title": "Легенда",
"fillTitle": "Подписка",
"borderTitle": "Роль реферера",
"regularUser": "Без подписки",
"activeReferrer": "Активный реферер",
"partner": "Партнёр",
"topReferrer": "Топ-реферер (10+)",
"campaignUser": "Из кампании",
"partnerCampaignEdge": "Партнёр → РК",
"campaignNode": "Рекламная кампания",
"paidActive": "Платная подписка",
"trialActive": "Триал",
"paidExpired": "Платная истекла",
"trialExpired": "Триал истёк"
},
"user": {
"tgId": "TG ID",
"email": "Email",
"partner": "Партнёр",
"subscription": "Подписка",
"validUntil": "до {{date}}",
"noSubscription": "Нет подписки",
"personalStats": "Личная статистика",
"totalSpent": "Оплачено всего",
"referralEarnings": "Реф. доход",
"referralBranch": "Реферальная ветка",
"directReferrals": "Привёл людей",
"branchSize": "Всего в ветке",
"branchRevenue": "Доход ветки",
"source": "Источник",
"referredBy": "Пришёл от",
"fromCampaign": "РК",
"organic": "Органический",
"subscriptionStatus": {
"trial_active": "Триал",
"paid_active": "Платная",
"trial_expired": "Триал истёк",
"paid_expired": "Платная истекла"
}
},
"campaign": {
"startParam": "Параметр",
"active": "Активна",
"inactive": "Неактивна",
"directUsers": "Напрямую",
"totalNetwork": "Вся сеть",
"totalRevenue": "Общий доход",
"conversionRate": "Конверсия",
"avgCheck": "Средний чек",
"topReferrers": "Топ-рефереры из кампании"
},
"controls": {
"zoomIn": "Приблизить",
"zoomOut": "Отдалить",
"resetZoom": "Сбросить зум",
"fullscreen": "Полный экран"
},
"scope": {
"title": "Область",
"campaign": "Кампания",
"partner": "Партнёр",
"user": "Пользователь",
"searchPlaceholder": "Поиск...",
"selectCampaign": "Выберите кампанию",
"selectPartner": "Выберите партнёра",
"selectUser": "Найти пользователя",
"emptyState": "Выберите кампанию, партнёра или пользователя для просмотра сети",
"users": "пользователей",
"campaigns": "кампаний",
"active": "Активна",
"inactive": "Неактивна",
"noResults": "Ничего не найдено",
"removeItem": "Удалить {{label}}",
"clearAll": "Очистить все выбранные",
"addScope": "Добавить область",
"maxReached": "Максимум {{max}} элементов"
},
"loading": "Загрузка графа...",
"error": "Ошибка загрузки данных сети",
"empty": "Нет данных для отображения"
},
"trafficUsage": {
"title": "Расход трафика",
"subtitle": "Статистика трафика по пользователям и нодам",
"period": "Период",
"days": "д",
"exportCsv": "Экспорт CSV",
"exportSuccess": "CSV отправлен в ваш Telegram",
"exportError": "Ошибка экспорта",
"user": "Пользователь",
"tariff": "Тариф",
"devices": "Устройства",
"trafficLimit": "Лимит",
"total": "Всего",
"noData": "Нет данных о трафике",
"loading": "Загрузка данных о трафике...",
"noTariff": "—",
"search": "Поиск по имени или юзернейму",
"allTariffs": "Все тарифы",
"nodes": "Ноды",
"allNodes": "Все ноды",
"status": "Статус",
"allStatuses": "Все",
"statusActive": "Активная",
"statusTrial": "Пробная",
"statusExpired": "Истекла",
"statusDisabled": "Отключена",
"customDates": "Выбрать даты",
"dateFrom": "От",
"dateTo": "До",
"totalThreshold": "Всего ГБ/д",
"nodeThreshold": "Нода ГБ/д",
"risk": "Риск",
"riskLow": "Низкий",
"riskMedium": "Средний",
"riskHigh": "Высокий",
"riskCritical": "Критический",
"connected": "Подкл.",
"totalSpent": "Траты",
"subStart": "Начало",
"subEnd": "Конец",
"lastNode": "Посл. нода"
},
"emailTemplates": {
"title": "Email-шаблоны",
"description": "Управление шаблонами email-уведомлений",
"subject": "Тема письма",
"subjectPlaceholder": "Тема письма...",
"body": "Содержимое (HTML)",
"bodyHint": "HTML-контент, который будет обёрнут в базовый шаблон письма с шапкой и подвалом.",
"preview": "Предпросмотр",
"sendTest": "Тестовое письмо",
"resetDefault": "Сбросить по умолчанию",
"resetConfirm": "Сбросить этот шаблон к версии по умолчанию?",
"unsavedWarning": "Несохранённые изменения будут потеряны. Продолжить?",
"custom": "Кастомный",
"default": "По умолчанию",
"saved": "Шаблон сохранён",
"resetted": "Шаблон сброшен к значению по умолчанию",
"testSent": "Тестовое письмо отправлено",
"variables": "Доступные переменные",
"clickToCopy": "Нажмите для копирования",
"previewDesktopOnly": "Предпросмотр доступен только в веб-версии на десктопе",
"previewNotAvailable": "Предпросмотр недоступен"
},
"payments": {
"title": "Платежи",
"description": "Поиск и управление платежами",
"searchPlaceholder": "Поиск: инвойс, TG ID, @username, email...",
"searchHint": "Примеры: SP-78291, @username, 123456789, user@mail.ru",
"searchResults": "Результаты по запросу: {{query}} — найдено {{count}}",
"resetSearch": "Сбросить",
"statusAll": "Все",
"statusPending": "В ожидании",
"statusPaid": "Оплачено",
"statusCancelled": "Отменено",
"period24h": "24ч",
"period7d": "7д",
"period30d": "30д",
"periodAll": "Все",
"periodCustom": "Период",
"dateFrom": "С",
"dateTo": "По",
"applyDate": "Применить",
"allMethods": "Все методы",
"totalCount": "Всего",
"pendingCount": "В ожидании",
"paidCount": "Оплачено",
"cancelledCount": "Отменено",
"totalPending": "Всего ожидает",
"filterByMethod": "Фильтр по методу",
"noPayments": "Платежи не найдены",
"paid": "Оплачено",
"user": "Пользователь",
"openLink": "Открыть ссылку",
"checkStatus": "Проверить статус",
"checking": "Проверка...",
"prev": "Назад",
"next": "Далее",
"checkError": "Ошибка проверки статуса"
},
"paymentMethods": {
"title": "Платёжные методы",
"description": "Настройка порядка и условий отображения",
"enabled": "Вкл",
"disabled": "Выкл",
"notConfigured": "Не настроен",
"dragToReorder": "Перетащите для изменения порядка",
"dragHint": "Перетаскивайте карточки для изменения порядка. Нажмите для настройки.",
"saveOrder": "Сохранить порядок",
"orderSaved": "Порядок сохранён",
"saved": "Настройки сохранены",
"noMethods": "Нет настроенных платёжных методов",
"methodEnabled": "Метод включён",
"providerNotConfigured": "Провайдер не настроен в env",
"openUrlDirect": "Открывать страницу оплаты сразу",
"openUrlDirectHint": "Без панели со ссылкой — провайдер открывается внутри MiniApp/вкладки сразу после клика. После оплаты юзер возвращается на /balance/top-up/result. Для Stars/CryptoBot и других t.me/-ссылок флаг игнорируется.",
"displayName": "Отображаемое имя",
"displayNameHint": "Оставьте пустым для имени по умолчанию",
"subOptions": "Варианты оплаты",
"minAmount": "Мин. сумма (коп.)",
"maxAmount": "Макс. сумма (коп.)",
"conditions": "Условия отображения",
"userTypeFilter": "Тип пользователя",
"userTypeAll": "Все",
"userTypeTelegram": "Telegram",
"userTypeEmail": "Email",
"firstTopupFilter": "Первое пополнение",
"firstTopupAny": "Не важно",
"firstTopupYes": "Было",
"firstTopupNo": "Не было",
"promoGroupFilter": "Промо-группы",
"promoGroupAll": "Все группы",
"promoGroupSelected": "Выбранные",
"promoGroupsShort": "групп",
"noPromoGroups": "Нет промо-групп",
"firstTopupWas": "Было",
"firstTopupWasNot": "Не было",
"cancelButton": "Отмена",
"saveButton": "Сохранить"
},
"remnawave": {
"title": "RemnaWave",
"subtitle": "Управление панелью и статистика",
"connected": "Подключено",
"disconnected": "Не настроено",
"noData": "Не удалось загрузить данные",
"tabs": {
"overview": "Обзор",
"nodes": "Ноды",
"traffic": "Трафик",
"squads": "Сквады",
"sync": "Синхронизация"
},
"traffic": {
"noData": "Нет данных о трафике",
"totalDownload": "Загрузка",
"totalUpload": "Отдача",
"totalTraffic": "Всего",
"online": "онлайн",
"inbounds": "Inbounds",
"outbounds": "Outbounds"
},
"overview": {
"system": "Система",
"usersOnline": "Онлайн",
"totalUsers": "Всего пользователей",
"nodesOnline": "Нод онлайн",
"connections": "Подключений",
"bandwidth": "Трафик по inbounds",
"download": "Загрузка",
"upload": "Отдача",
"total": "Всего",
"server": "Сервер",
"cpu": "CPU",
"memory": "Память",
"uptime": "Аптайм",
"traffic": "Статистика трафика",
"traffic2days": "2 дня",
"traffic7days": "7 дней",
"traffic30days": "30 дней",
"trafficMonth": "Месяц",
"trafficYear": "Год",
"usersByStatus": "Пользователи по статусу"
},
"nodes": {
"online": "Онлайн",
"offline": "Офлайн",
"disabled": "Отключена",
"noNodes": "Ноды не найдены",
"restart": "Перезапустить",
"enable": "Включить",
"disable": "Отключить",
"restartAll": "Перезапустить все",
"confirmRestartAll": "Вы уверены, что хотите перезапустить все ноды?",
"usersOnline": "онлайн",
"usersOnlineCount_one": "{{count}} онлайн",
"usersOnlineCount_few": "{{count}} онлайн",
"usersOnlineCount_many": "{{count}} онлайн",
"trafficUsed": "использовано",
"uptimeLabel": "Аптайм",
"stats": {
"total": "Всего",
"online": "Онлайн",
"offline": "Офлайн",
"disabled": "Отключены",
"users": "Пользователей"
}
},
"squads": {
"synced": "Синхронизирован",
"notSynced": "Не синхронизирован",
"noSquads": "Сквады не найдены",
"syncServers": "Синхронизировать серверы",
"members": "участников",
"membersCount_one": "{{count}} участник",
"membersCount_few": "{{count}} участника",
"membersCount_many": "{{count}} участников",
"inbounds": "inbounds",
"inboundsCount_one": "{{count}} inbound",
"inboundsCount_few": "{{count}} inbounds",
"inboundsCount_many": "{{count}} inbounds",
"available": "Доступен",
"unavailable": "Недоступен",
"stats": {
"total": "Всего",
"synced": "Синхр.",
"available": "Доступно",
"members": "Участников"
},
"detail": "Детали сквада",
"loadError": "Не удалось загрузить сквад",
"info": "Информация",
"originalName": "Оригинальное имя",
"countryCode": "Страна",
"statsTitle": "Статистика",
"inboundsList": "Inbounds",
"localSettings": "Локальные настройки",
"trialEligible": "Доступен триал",
"price": "Цена",
"users": "Пользователей"
},
"sync": {
"autoSync": "Автосинхронизация",
"runNow": "Запустить",
"run": "Запустить",
"running": "Выполняется...",
"schedule": "Расписание",
"status": "Статус",
"lastRun": "Посл. запуск",
"nextRun": "След. запуск",
"enabled": "Включено",
"disabled": "Выключено",
"success": "Успешно",
"runAutoSyncNow": "Запустить автосинхронизацию",
"fromPanel": "Из панели",
"fromPanelDesc": "Импорт пользователей из RemnaWave в бота",
"toPanel": "В панель",
"toPanelDesc": "Экспорт пользователей из бота в RemnaWave"
}
},
"wheel": {
"title": "Настройки колеса удачи",
"enabled": "Включено",
"disabled": "Выключено",
"tabs": {
"settings": "Настройки",
"prizes": "Призы",
"statistics": "Статистика"
},
"preview": "Предпросмотр",
"settings": {
"enableWheel": "Включить колесо",
"allowSpins": "Разрешить пользователям крутить колесо",
"spinCost": "Стоимость вращения",
"costInStars": "Стоимость в Stars",
"costInDays": "Стоимость в днях",
"limitsAndRtp": "Лимиты и RTP",
"rtpPercent": "RTP (Return to Player) %",
"dailyLimit": "Дневной лимит вращений (0 = безлимит)",
"minSubDays": "Мин. дней подписки для оплаты днями",
"promocodes": "Промокоды",
"promoPrefix": "Префикс промокодов"
},
"starsNotEnabledGlobally": "Оплата звёздами не включена в платёжных методах. Включите метод «Telegram Stars» в разделе «Платёжные методы».",
"prizes": {
"addPrize": "Добавить приз",
"editPrize": "Редактировать приз",
"noPrizes": "Призы не настроены. Добавьте призы для активации колеса.",
"deletePrize": "Удалить приз",
"confirmDelete": "Вы уверены, что хотите удалить этот приз? Это действие нельзя отменить.",
"dragToReorder": "Перетащите для изменения порядка",
"unsavedOrder": "Есть несохраненные изменения порядка",
"unsavedOrderHint": "Сохраните изменения или отмените их",
"types": {
"subscription_days": "Дни подписки",
"balance_bonus": "Бонус баланса",
"traffic_gb": "Трафик ГБ",
"promocode": "Промокод",
"nothing": "Ничего (пусто)"
},
"fields": {
"type": "Тип",
"displayName": "Название",
"value": "Значение",
"valueKopeks": "Стоимость в копейках (для RTP)",
"emoji": "Эмодзи",
"color": "Цвет",
"active": "Активен",
"worth": "Стоимость"
},
"promo": {
"title": "Настройки промокода",
"balanceBonus": "Бонус баланса (копейки)",
"subscriptionDays": "Дни подписки"
}
},
"statistics": {
"totalSpins": "Всего вращений",
"revenue": "Доход",
"payouts": "Выплаты",
"actualRtp": "Фактический RTP",
"targetRtp": "цель",
"prizeDistribution": "Распределение призов",
"times": "раз",
"times_one": "{{count}} раз",
"times_few": "{{count}} раза",
"times_many": "{{count}} раз",
"topWins": "Топ выигрышей"
}
},
"broadcasts": {
"title": "Рассылки",
"subtitle": "Массовая отправка сообщений пользователям",
"create": "Создать рассылку",
"empty": "Рассылок пока нет",
"selectFilter": "Выберите аудиторию",
"selectFilterPlaceholder": "Выберите фильтр...",
"recipients": "получ.",
"messageText": "Текст сообщения",
"messageTextPlaceholder": "Введите текст рассылки...",
"media": "Медиафайл",
"addMedia": "Добавить медиа",
"uploading": "Загрузка...",
"buttons": "Кнопки",
"willBeSent": "Будет отправлено",
"users": "пользователям",
"send": "Отправить",
"stop": "Остановить",
"progress": "Прогресс",
"total": "Всего",
"sent": "Отправлено",
"failed": "Ошибки",
"blocked": "Заблокировали",
"blockedShort": "заблок.",
"filter": "Фильтр",
"message": "Сообщение",
"unknownAdmin": "Неизвестный админ",
"detail": "Рассылка",
"createdBy": "Создал",
"notFound": "Рассылка не найдена",
"prev": "Назад",
"next": "Далее",
"status": {
"queued": "В очереди",
"inProgress": "Отправляется",
"completed": "Завершено",
"partial": "Частично",
"failed": "Ошибка",
"cancelled": "Отменено",
"cancelling": "Отменяется"
},
"filterGroups": {
"basic": "Основные",
"subscription": "По подписке",
"traffic": "По трафику",
"registration": "По регистрации",
"activity": "По активности",
"source": "По источнику",
"tariff": "По тарифу",
"email": "Email-пользователи"
},
"channel": {
"telegram": "Telegram",
"email": "Email",
"both": "Оба"
},
"selectChannel": "Канал рассылки",
"telegramSection": "Telegram-рассылка",
"emailSection": "Email-рассылка",
"selectEmailFilter": "Выберите email-аудиторию",
"selectEmailFilterPlaceholder": "Выберите фильтр...",
"emailSubject": "Тема письма",
"emailSubjectPlaceholder": "Введите тему письма...",
"emailContent": "Содержимое письма",
"emailContentHint": "Поддерживается HTML",
"emailContentPlaceholder": "<p>Здравствуйте, {{user_name}}!</p>\n<p>Текст вашего письма...</p>",
"emailVariables": "Доступные переменные",
"enableTelegram": "Telegram",
"enableEmail": "Email",
"sendingBoth": "Будет создано 2 рассылки",
"bothCreated": "Рассылки созданы",
"atLeastOneChannel": "Выберите хотя бы один канал",
"customButtons": "Кастомные кнопки",
"addCustomButton": "Добавить кнопку",
"customButtonLabelPlaceholder": "Текст кнопки",
"customButtonTypeCallback": "Callback",
"customButtonTypeUrl": "Ссылка",
"customButtonCallbackPlaceholder": "callback_data (например, back_to_menu)",
"customButtonUrlPlaceholder": "https://example.com",
"preview": "Предпросмотр",
"previewEmpty": "— пусто —",
"emailSubjectLabel": "Тема",
"btnBalance": "Пополнить баланс",
"btnPartners": "Партнёрка",
"btnPromocode": "Промокод",
"btnConnect": "Подключиться",
"btnSubscription": "Подписка",
"btnSupport": "Техподдержка",
"btnHome": "На главную"
},
"pinnedMessages": {
"title": "Закреплённые сообщения",
"subtitle": "Управление закреплёнными сообщениями для пользователей",
"create": "Создать",
"empty": "Нет закреплённых сообщений",
"content": "Текст сообщения",
"contentPlaceholder": "Введите текст закреплённого сообщения...",
"noContent": "Без текста",
"media": "Медиафайл",
"addMedia": "Добавить медиа",
"uploading": "Загрузка...",
"settings": "Настройки",
"sendBeforeMenu": "Отправлять перед меню",
"sendOnEveryStart": "Отправлять при каждом старте",
"broadcast": "Разослать",
"broadcastOnCreate": "Разослать при создании",
"broadcastConfirm": "Разослать закреплённое сообщение всем активным пользователям?",
"broadcastToAll": "Разослать всем",
"activate": "Активировать",
"deactivate": "Деактивировать",
"unpin": "Открепить",
"unpinAll": "Открепить у всех",
"unpinConfirm": "Открепить сообщение у всех пользователей?",
"delete": "Удалить",
"deleteConfirm": "Удалить это закреплённое сообщение?",
"active": "Активно",
"inactive": "Неактивно",
"prev": "Назад",
"next": "Далее",
"createSuccess": "Закреплённое сообщение создано",
"updateSuccess": "Сообщение обновлено",
"deleteSuccess": "Сообщение удалено",
"activateSuccess": "Сообщение активировано",
"deactivateSuccess": "Сообщение деактивировано",
"broadcastSuccess": "Рассылка завершена",
"unpinSuccess": "Сообщения откреплены",
"sentCount": "Отправлено",
"failedCount": "Ошибки",
"unpinnedCount": "Откреплено",
"editMessage": "Редактировать",
"cantDeleteActive": "Нельзя удалить активное сообщение"
},
"channelSubscriptions": {
"title": "Обязательные каналы",
"subtitle": "Пользователи должны подписаться на эти каналы",
"addChannel": "Добавить канал",
"empty": "Каналы не настроены",
"enabled": "Активен",
"disabled": "Отключён",
"enable": "Включить",
"disable": "Отключить",
"edit": "Изменить",
"editing": "Редактирование",
"delete": "Удалить",
"deleteConfirm": "Удалить этот канал?",
"sortOrder": "Порядок",
"form": {
"title": "Название",
"channelId": "ID канала",
"channelIdHint": "-100XXXXXXXXXX",
"channelLink": "Ссылка на канал",
"channelLinkHint": "https://t.me/channel",
"submit": "Добавить",
"save": "Сохранить",
"cancel": "Отмена"
},
"globalSettings": {
"title": "Настройки каналов",
"channelRequired": "Требовать подписку",
"channelRequiredDesc": "Пользователи должны подписаться на каналы для использования бота",
"disableTrialOnUnsub": "Отключать триал при отписке",
"disableTrialOnUnsubDesc": "Отзывать пробный доступ при отписке от любого канала",
"requiredForAll": "Обязательно для всех",
"requiredForAllDesc": "Проверять подписку для всех пользователей, включая платных"
},
"perChannel": {
"disableTrial": "Отключать триал при выходе",
"disableTrialDesc": "Отзывать пробный доступ при выходе из этого канала",
"disablePaid": "Отключать платный при выходе",
"disablePaidDesc": "Отзывать платный доступ при выходе из этого канала"
}
},
"settings": {
"title": "Настройки системы",
"allCategories": "Все категории",
"noSettings": "Настройки не найдены",
"quickToggles": "Быстрые переключатели",
"modified": "Изменено",
"readOnly": "Только чтение",
"badgeDb": "БД",
"badgeEnv": "ENV",
"reset": "Сбросить",
"categoriesCount": "категорий",
"settingsCount": "настроек",
"expandAll": "Развернуть все",
"collapseAll": "Свернуть все",
"searchPlaceholder": "Поиск настроек...",
"searchCategoriesPlaceholder": "Поиск категорий...",
"noSearchResults": "Ничего не найдено",
"inputPlaceholder": "Введите значение...",
"ctrlEnterHint": "Ctrl+Enter для сохранения",
"cancelButton": "Отмена",
"saveButton": "Сохранить",
"saveHint": "Сохранить (Enter)",
"cancelHint": "Отмена (Esc)",
"removeFromFavorites": "Убрать из избранного",
"addToFavorites": "В избранное",
"enabled": "Включено",
"disabled": "Выключено",
"foundCount": "Найдено: {{count}}",
"notFound": "Ничего не найдено",
"byQuery": "по запросу «{{query}}»",
"example": "Пример",
"favorites": "Избранное",
"favoritesEmpty": "Нет избранных настроек",
"favoritesHint": "Нажмите ⭐ рядом с настройкой, чтобы добавить её сюда",
"branding": "Брендинг",
"theme": "Тема",
"analytics": "Аналитика",
"buttons": "Кнопки",
"payments": "Платежи",
"subscriptions": "Подписки",
"interface": "Интерфейс",
"notifications": "Уведомления",
"database": "База данных",
"system": "Система",
"users": "Пользователи",
"logoAndName": "Логотип и название",
"projectName": "Название проекта",
"interfaceOptions": "Опции интерфейса",
"animatedBackground": "Анимированный фон",
"animatedBackgroundDesc": "Волны на фоне приложения",
"autoFullscreen": "Авто-Fullscreen",
"autoFullscreenDesc": "В Telegram WebApp",
"emailAuth": "Email авторизация",
"emailAuthDesc": "Регистрация и вход через email",
"giftEnabled": "Подписка в подарок",
"giftEnabledDesc": "Возможность отправить подписку в подарок другому пользователю",
"availableThemes": "Доступные темы",
"darkTheme": "Тёмная",
"lightTheme": "Светлая",
"quickPresets": "Быстрые пресеты",
"customColors": "Ручная настройка",
"accentColor": "Акцентный цвет",
"statusColors": "Статусные цвета",
"resetAllColors": "Сбросить все цвета",
"notSpecified": "Не указано",
"notConfigured": "Не настроено",
"counterActive": "Активен",
"counterInactive": "Не активен",
"yandexMetrika": "Яндекс Метрика",
"yandexMetrikaDesc": "Отслеживание посетителей и анализ поведения на сайте",
"counterId": "ID счётчика",
"yandexIdPlaceholder": "Например: 87654321",
"yandexIdHint": "Числовой ID из metrika.yandex.ru",
"googleAds": "Google Ads",
"googleAdsDesc": "Отслеживание конверсий для рекламных кампаний",
"conversionId": "Conversion ID",
"googleIdPlaceholder": "Например: AW-123456789",
"googleIdHint": "ID конверсии в формате AW-XXXXXXXXX",
"conversionLabel": "Conversion Label (необязательно)",
"googleLabelPlaceholder": "Например: AbCdEfGhIjKl",
"googleLabelHint": "Метка конверсии для отслеживания событий",
"analyticsHint": "Счётчики автоматически встраиваются на все страницы кабинета. После сохранения ID скрипты подключаются при следующей загрузке страницы. Для удаления счётчика очистите поле и сохраните.",
"customization": "Кастомизация",
"settingsLabel": "Настройки",
"backToAdmin": "Назад к админке",
"totalCount": "{{count}} всего",
"modifiedCount": "{{count}} изменено",
"groups": {
"payments": "Платежи",
"subscriptions": "Подписки",
"interface": "Интерфейс",
"users": "Пользователи",
"notifications": "Уведомления",
"database": "База данных",
"system": "Система"
},
"tree": {
"payments_general": "Основные",
"payments_stars": "Telegram Stars",
"payments_yookassa": "YooKassa",
"payments_cryptobot": "CryptoBot",
"payments_cloudpayments": "CloudPayments",
"payments_freekassa": "FreeKassa",
"payments_kassa_ai": "Kassa AI",
"payments_platega": "Platega",
"payments_pal24": "PAL24",
"payments_heleket": "Heleket",
"payments_mulenpay": "MulenPay",
"payments_tribute": "Tribute",
"payments_wata": "Wata",
"payments_riopay": "RioPay",
"payments_severpay": "SeverPay",
"payments_paypear": "PayPear",
"payments_rollypay": "RollyPay",
"payments_aurapay": "AuraPay",
"payments_etoplatezhi": "Etoplatezhi",
"payments_antilopay": "Antilopay",
"payments_jupiter": "Jupiter",
"payments_donut": "Donut",
"payments_lava": "Lava",
"payments_apple_iap": "Apple IAP",
"subs_core": "Основные",
"subs_trial": "Пробный период",
"subs_pricing": "Цены",
"subs_periods": "Периоды",
"subs_traffic": "Трафик",
"subs_simple": "Простая подписка",
"subs_autopay": "Автоплатёж",
"iface_general": "Основные",
"iface_connect": "Кнопка подключения",
"iface_miniapp": "MiniApp",
"iface_happ": "HAPP",
"iface_widget": "Виджет входа",
"iface_oidc": "OIDC",
"iface_skip": "Пропуск шагов",
"iface_additional": "Дополнительно",
"users_support": "Поддержка",
"users_referral": "Реферальная система",
"users_channel": "Канал",
"users_localization": "Локализация",
"users_moderation": "Модерация",
"notif_user": "Уведомления пользователей",
"notif_admin": "Уведомления админов",
"notif_reports": "Отчёты",
"db_general": "Основные",
"db_postgres": "PostgreSQL",
"db_sqlite": "SQLite",
"db_redis": "Redis",
"sys_core": "Ядро и отладка",
"sys_remnawave": "RemnaWave",
"sys_webapi": "Web API",
"sys_webhook": "Webhook",
"sys_server": "Статус сервера",
"sys_monitoring": "Мониторинг",
"sys_maintenance": "Обслуживание",
"sys_backup": "Бэкап",
"sys_version": "Версия",
"sys_logging": "Логи"
},
"presets": {
"standard": "Стандарт",
"ocean": "Океан",
"forest": "Лес",
"sunset": "Закат",
"violet": "Фиолет",
"rose": "Роза",
"midnight": "Полночь",
"turquoise": "Бирюза"
},
"colors": {
"background": "Фон",
"surface": "Поверхность",
"text": "Текст",
"textSecondary": "Вторичный текст",
"success": "Успех",
"warning": "Предупреждение",
"error": "Ошибка"
},
"settingNames": {
"Skip Referral Code": "Пропуск реф. кода",
"Skip Rules Accept": "Пропуск правил",
"Connect Button Happ Download Enabled": "Кнопка скачивания Happ",
"Happ Cryptolink Redirect Template": "Шаблон редиректа",
"Happ Download Link Android": "Ссылка (Android)",
"Happ Download Link Ios": "Ссылка (iOS)",
"Happ Download Link Macos": "Ссылка (macOS)",
"Happ Download Link Pc": "Ссылка (PC)",
"Happ Download Link Windows": "Ссылка (Windows)",
"Main Menu Mode": "Режим меню",
"Cabinet Remna Sub Config": "UUID конфига",
"Miniapp Purchase Url": "URL покупки",
"Miniapp Service Description En": "Описание (EN)",
"Miniapp Service Description Ru": "Описание (RU)",
"Miniapp Service Name En": "Название (EN)",
"Miniapp Service Name Ru": "Название (RU)",
"Miniapp Static Path": "Путь к статике",
"Miniapp Support Type": "Тип поддержки",
"Miniapp Support Url": "URL поддержки",
"Miniapp Tickets Enabled": "Тикеты",
"Bot Name": "Название бота",
"Logo Letter": "Буква логотипа",
"Branding Name": "Название бренда",
"Branding Logo Url": "URL логотипа",
"Connect Button Enabled": "Кнопка подключения",
"Connect Button Text": "Текст кнопки",
"Additional Menu Enabled": "Доп. меню",
"Additional Menu Items": "Элементы меню",
"Additional Menu Title": "Заголовок меню",
"Subscription Page Layout": "Макет страницы",
"Subscription Show Traffic": "Показывать трафик",
"Subscription Show Devices": "Показывать устройства",
"Telegram Stars Enabled": "Stars включены",
"Telegram Stars Rate Rub": "Курс Stars (₽)",
"Telegram Widget Size": "Размер виджета",
"Telegram Widget Radius": "Скругление углов",
"Telegram Widget Userpic": "Показывать аватар",
"Telegram Widget Request Access": "Запрос доступа",
"Tribute Api Key": "API ключ",
"Tribute Donate Link": "Ссылка доната",
"Tribute Enabled": "Tribute включен",
"Tribute Webhook Host": "Хост вебхука",
"Tribute Webhook Path": "Путь вебхука",
"Tribute Webhook Port": "Порт вебхука",
"Pal24 Api Token": "API токен",
"Pal24 Base Url": "Базовый URL",
"Pal24 Card Button Text": "Текст кнопки карты",
"Pal24 Card Button Visible": "Кнопка карты",
"Pal24 Enabled": "PAL24 включен",
"Pal24 Max Amount Kopeks": "Макс. сумма (коп.)",
"Pal24 Min Amount Kopeks": "Мин. сумма (коп.)",
"Pal24 Payment Description": "Описание платежа",
"Pal24 Request Timeout": "Таймаут запроса",
"Pal24 Sbp Button Text": "Текст кнопки СБП",
"Pal24 Sbp Button Visible": "Кнопка СБП",
"Pal24 Shop Id": "ID магазина",
"Pal24 Signature Token": "Токен подписи",
"Pal24 Webhook Path": "Путь вебхука",
"Pal24 Webhook Port": "Порт вебхука",
"Wata Access Token": "Токен доступа",
"Wata Base Url": "Базовый URL",
"Wata Enabled": "Wata включен",
"Wata Fail Redirect Url": "URL при ошибке",
"Wata Link Ttl Minutes": "Время жизни ссылки (мин)",
"Wata Max Amount Kopeks": "Макс. сумма (коп.)",
"Wata Min Amount Kopeks": "Мин. сумма (коп.)",
"Wata Payment Description": "Описание платежа",
"Wata Payment Type": "Тип платежа",
"Wata Public Key Cache Seconds": "Кэш ключа (сек)",
"Wata Public Key Url": "URL публичного ключа",
"Wata Request Timeout": "Таймаут запроса",
"Wata Success Redirect Url": "URL при успехе",
"Wata Terminal Public Id": "ID терминала",
"Wata Webhook Host": "Хост вебхука",
"Wata Webhook Path": "Путь вебхука",
"Wata Webhook Port": "Порт вебхука",
"Mulenpay Api Key": "API ключ",
"Mulenpay Base Url": "Базовый URL",
"Mulenpay Description": "Описание",
"Mulenpay Display Name": "Отображаемое имя",
"Mulenpay Enabled": "MulenPay включен",
"Mulenpay Iframe Expected Origin": "Origin iframe",
"Mulenpay Language": "Язык",
"Mulenpay Max Amount Kopeks": "Макс. сумма (коп.)",
"Mulenpay Min Amount Kopeks": "Мин. сумма (коп.)",
"Mulenpay Payment Mode": "Режим оплаты",
"Mulenpay Payment Subject": "Предмет оплаты",
"Mulenpay Secret Key": "Секретный ключ",
"Mulenpay Shop Id": "ID магазина",
"Mulenpay Vat Code": "Код НДС",
"Mulenpay Webhook Path": "Путь вебхука",
"Platega Active Methods": "Активные методы",
"Platega Base Url": "Базовый URL",
"Platega Currency": "Валюта",
"Platega Display Name": "Отображаемое имя",
"Platega Enabled": "Platega включен",
"Platega Failed Url": "URL при ошибке",
"Platega Max Amount Kopeks": "Макс. сумма (коп.)",
"Platega Merchant Id": "ID мерчанта",
"Platega Min Amount Kopeks": "Мин. сумма (коп.)",
"Platega Return Url": "URL возврата",
"Platega Secret": "Секрет",
"Platega Webhook Host": "Хост вебхука",
"Platega Webhook Path": "Путь вебхука",
"Platega Webhook Port": "Порт вебхука",
"Auto Purchase After Topup Enabled": "Автопокупка после пополнения",
"Disable Topup Buttons": "Отключить кнопки пополнения",
"Payment Balance Description": "Описание баланса",
"Payment Balance Template": "Шаблон баланса",
"Payment Service Name": "Название сервиса",
"Payment Subscription Description": "Описание подписки",
"Payment Subscription Template": "Шаблон подписки",
"Show Activation Prompt After Topup": "Промпт активации",
"Support Topup Enabled": "Поддержка пополнения",
"Payment Verification Auto Check Enabled": "Автопроверка платежей",
"Payment Verification Auto Check Interval Minutes": "Интервал проверки (мин)",
"Yookassa Default Receipt Email": "Email чека",
"Yookassa Enabled": "YooKassa включена",
"Yookassa Max Amount Kopeks": "Макс. сумма (коп.)",
"Yookassa Min Amount Kopeks": "Мин. сумма (коп.)",
"Yookassa Payment Mode": "Режим оплаты",
"Yookassa Payment Subject": "Предмет оплаты",
"Yookassa Quick Amount Selection Enabled": "Быстрый выбор суммы",
"Yookassa Return Url": "URL возврата",
"Yookassa Sbp Enabled": "СБП включен",
"Yookassa Secret Key": "Секретный ключ",
"Yookassa Shop Id": "ID магазина",
"Yookassa Trusted Proxy Networks": "Доверенные прокси",
"Yookassa Vat Code": "Код НДС",
"Yookassa Webhook Host": "Хост вебхука",
"Yookassa Webhook Path": "Путь вебхука",
"Yookassa Webhook Port": "Порт вебхука",
"Cryptobot Api Token": "API токен",
"Cryptobot Assets": "Активы",
"Cryptobot Base Url": "Базовый URL",
"Cryptobot Default Asset": "Актив по умолчанию",
"Cryptobot Enabled": "CryptoBot включен",
"Cryptobot Invoice Expires Hours": "Срок счёта (час)",
"Cryptobot Testnet": "Тестовая сеть",
"Cryptobot Webhook Path": "Путь вебхука",
"Cryptobot Webhook Port": "Порт вебхука",
"Cryptobot Webhook Secret": "Секрет вебхука",
"Heleket Api Key": "API ключ",
"Heleket Base Url": "Базовый URL",
"Heleket Callback Url": "URL callback",
"Heleket Default Currency": "Валюта по умолчанию",
"Heleket Default Network": "Сеть по умолчанию",
"Heleket Enabled": "Heleket включен",
"Heleket Invoice Lifetime": "Срок счёта (сек)",
"Heleket Markup Percent": "Наценка (%)",
"Heleket Merchant Id": "ID мерчанта",
"Heleket Return Url": "URL возврата",
"Heleket Success Url": "URL при успехе",
"Heleket Webhook Host": "Хост вебхука",
"Heleket Webhook Path": "Путь вебхука",
"Heleket Webhook Port": "Порт вебхука",
"Subscription Trial Enabled": "Триал включен",
"Subscription Trial Days": "Дней триала",
"Subscription Trial Traffic": "Трафик триала (ГБ)",
"Subscription Autopay Enabled": "Автоплатёж",
"Subscription Autopay Days Before": "Дней до автоплатежа",
"Traffic Enabled": "Трафик включен",
"Traffic Default Limit": "Лимит по умолчанию",
"Traffic Unlimited": "Безлимитный",
"Traffic Reset Day": "День сброса",
"Notifications Enabled": "Уведомления",
"Notifications Expiry Days": "Дней до истечения",
"Notifications Traffic Percent": "Процент трафика",
"Admin Reports Hour": "Час отчётов",
"Database Type": "Тип БД",
"Postgres Database": "Имя БД",
"Redis Enabled": "Redis",
"Redis Host": "Хост Redis",
"Redis Port": "Порт Redis",
"Redis Password": "Пароль Redis",
"Debug Mode": "Отладка",
"Api Url": "URL API",
"Api Key": "API ключ",
"Api Token": "API токен",
"Webhook Secret": "Секрет вебхука",
"Remnawave Url": "URL RemnaWave",
"Remnawave Token": "Токен RemnaWave",
"Server Status Enabled": "Статус сервера",
"Monitoring Enabled": "Мониторинг",
"Backup Enabled": "Бэкап",
"Backup Interval": "Интервал бэкапа",
"Support Enabled": "Поддержка",
"Support Username": "Username поддержки",
"Support Url": "URL поддержки",
"Referral Enabled": "Рефералы",
"Referral Percent": "Процент рефералов",
"Referral Min Topup": "Мин. пополнение",
"Moderation Enabled": "Модерация",
"Channel Required": "Требуется канал",
"Channel Id": "ID канала",
"Channel Url": "URL канала",
"Timezone": "Часовой пояс",
"Locale Default": "Язык",
"Simple Subscription Device Limit": "Лимит устройств",
"Simple Subscription Enabled": "Быстрая покупка",
"Simple Subscription Period Days": "Период (дни)",
"Simple Subscription Squad Uuid": "UUID сквада",
"Simple Subscription Traffic Gb": "Трафик (ГБ)",
"Trial Activation Price": "Цена активации",
"Trial Add Remaining Days To Paid": "Добавить дни к платной",
"Trial Device Limit": "Лимит устройств",
"Trial Duration Days": "Длительность (дни)",
"Trial Payment Enabled": "Платный триал",
"Trial Tariff Id": "ID тарифа",
"Trial Traffic Limit Gb": "Лимит трафика (ГБ)",
"Trial User Tag": "Тег пользователя",
"Trial Warning Hours": "Предупреждение (час)",
"Paid Subscription User Tag": "Тег платной подписки",
"Price 14 Days": "Цена 14 дней",
"Price 180 Days": "Цена 180 дней",
"Price 30 Days": "Цена 30 дней",
"Price 360 Days": "Цена 360 дней",
"Price 60 Days": "Цена 60 дней",
"Price 90 Days": "Цена 90 дней",
"Base Promo Group Period Discounts": "Скидки по периодам",
"Base Promo Group Period Discounts Enabled": "Скидки по периодам",
"Base Subscription Price": "Базовая цена",
"Default Device Limit": "Лимит устройств",
"Default Traffic Limit Gb": "Лимит трафика (ГБ)",
"Devices Selection Disabled Amount": "Устройств без выбора",
"Devices Selection Enabled": "Выбор устройств",
"Max Devices Limit": "Макс. устройств",
"Price Per Device": "Цена за устройство",
"Multi Tariff Enabled": "Мультитарифный режим",
"Max Active Subscriptions": "Макс. подписок",
"Sales Mode": "Режим продаж",
"Available Renewal Periods": "Периоды продления",
"Available Subscription Periods": "Периоды подписки",
"Default Traffic Reset Strategy": "Стратегия сброса",
"Fixed Traffic Limit Gb": "Фикс. лимит (ГБ)",
"Reset Traffic On Payment": "Сброс при оплате",
"Traffic Check Batch Size": "Размер пакета",
"Traffic Check Concurrency": "Параллелизм",
"Traffic Daily Check Enabled": "Ежедневная проверка",
"Traffic Daily Check Time": "Время проверки",
"Traffic Daily Threshold Gb": "Порог в день (ГБ)",
"Traffic Excluded User Uuids": "Исключённые UUID",
"Traffic Fast Check Enabled": "Быстрая проверка",
"Traffic Fast Check Interval Minutes": "Интервал (мин)",
"Traffic Fast Check Threshold Gb": "Порог (ГБ)",
"Traffic Ignored Nodes": "Игнор. ноды",
"Traffic Notification Cooldown Minutes": "Кулдаун уведомлений",
"Traffic Reset Base Price": "Цена сброса",
"Traffic Reset Price Mode": "Режим цены сброса",
"Traffic Selection Mode": "Режим выбора",
"Traffic Threshold Gb Per Day": "Порог в день (ГБ)",
"Traffic Topup Enabled": "Докупка трафика",
"Traffic Topup Packages Config": "Конфиг докупки",
"Price Traffic 1000gb": "Цена 1000 ГБ",
"Price Traffic 100gb": "Цена 100 ГБ",
"Price Traffic 10gb": "Цена 10 ГБ",
"Price Traffic 250gb": "Цена 250 ГБ",
"Price Traffic 25gb": "Цена 25 ГБ",
"Price Traffic 500gb": "Цена 500 ГБ",
"Price Traffic 50gb": "Цена 50 ГБ",
"Price Traffic 5gb": "Цена 5 ГБ",
"Price Traffic Unlimited": "Цена безлимита",
"Traffic Packages Config": "Конфиг пакетов",
"Autopay Warning Days": "Предупреждение (дни)",
"Default Autopay Days Before": "Дней до автоплатежа",
"Default Autopay Enabled": "Автоплатёж по умолчанию",
"Min Balance For Autopay Kopeks": "Мин. баланс (коп.)",
"App Config Cache Ttl": "Кэш конфига (сек)",
"App Config Path": "Путь к конфигу",
"Enable Deep Links": "Deep Links",
"Hide Subscription Link": "Скрыть ссылку подписки",
"Enable Logo Mode": "Режим логотипа",
"Logo File": "Файл логотипа",
"Connect Button Mode": "Режим кнопки",
"Miniapp Custom Url": "URL MiniApp",
"Subscription Page Show Traffic": "Показывать трафик",
"Subscription Page Show Devices": "Показывать устройства",
"Subscription Page Show Expiry": "Показывать истечение",
"Subscription Page Show Status": "Показывать статус",
"Interface Language": "Язык интерфейса",
"Interface Theme": "Тема интерфейса",
"Show Balance": "Показывать баланс",
"Show Referral": "Показывать рефералы",
"Show Support": "Показывать поддержку",
"Show Profile": "Показывать профиль",
"Menu Style": "Стиль меню",
"Menu Position": "Позиция меню",
"Keyboard Layout": "Раскладка клавиатуры",
"Button Style": "Стиль кнопок",
"Card Style": "Стиль карточек",
"Admin Notifications Chat Id": "ID чата уведомлений",
"Admin Notifications Enabled": "Уведомления админов",
"Admin Notifications Nalog Topic Id": "ID топика налогов",
"Admin Notifications Ticket Topic Id": "ID топика тикетов",
"Admin Notifications Topic Id": "ID топика",
"Enable Notifications": "Уведомления",
"Notification Cache Hours": "Кэш уведомлений (час)",
"Notification Retry Attempts": "Попытки повтора",
"Admin Reports Chat Id": "ID чата отчётов",
"Admin Reports Enabled": "Отчёты админов",
"Admin Reports Send Time": "Время отправки",
"Admin Reports Topic Id": "ID топика отчётов",
"Postgres Db": "Имя БД",
"Postgres Host": "Хост",
"Postgres Password": "Пароль",
"Postgres Port": "Порт",
"Postgres User": "Пользователь",
"Database Mode": "Режим БД",
"Database Url": "URL подключения",
"Redis Url": "URL Redis",
"Sqlite Path": "Путь SQLite",
"Available Languages": "Доступные языки",
"Default Language": "Язык по умолчанию",
"Language Selection Enabled": "Выбор языка",
"Locales Path": "Путь к локалям",
"Referral Commission Percent": "Комиссия (%)",
"Referral Contests Enabled": "Конкурсы рефералов",
"Referral First Topup Bonus Kopeks": "Бонус новичку (коп.)",
"Referral Inviter Bonus Kopeks": "Бонус пригласившему (коп.)",
"Referral Minimum Topup Kopeks": "Мин. пополнение (коп.)",
"Referral Notifications Enabled": "Уведомления рефералов",
"Referral Notification Retry Attempts": "Попытки уведомлений",
"Referral Program Enabled": "Реферальная программа",
"Referral Withdrawal Cooldown Days": "Кулдаун вывода (дни)",
"Referral Withdrawal Enabled": "Вывод средств",
"Referral Withdrawal Min Amount Kopeks": "Мин. сумма вывода (коп.)",
"Referral Withdrawal Notifications Topic Id": "ID топика уведомлений",
"Referral Withdrawal Only Referral Balance": "Только реферальный баланс",
"Referral Withdrawal Suspicious Max Deposits Per Month": "Макс. депозитов в месяц",
"Referral Withdrawal Suspicious Min Deposit Kopeks": "Мин. подозр. депозит (коп.)",
"Referral Withdrawal Suspicious No Purchases Ratio": "Коэф. без покупок",
"Referral Withdrawal Test Mode": "Тестовый режим вывода",
"Support Menu Enabled": "Меню поддержки",
"Support System Mode": "Режим поддержки",
"Support Ticket Sla Check Interval Seconds": "Интервал проверки SLA (сек)",
"Support Ticket Sla Enabled": "SLA тикетов",
"Support Ticket Sla Minutes": "Время SLA (мин)",
"Support Ticket Sla Reminder Cooldown Minutes": "Кулдаун напоминания (мин)",
"Channel Disable Trial On Unsubscribe": "Отключить триал при отписке",
"Channel Is Required Sub": "Требуется подписка",
"Channel Link": "Ссылка на канал",
"Channel Required For All": "Требуется для всех",
"Channel Sub Id": "ID канала",
"Display Name Banned Keywords": "Запрещённые слова",
"Web Api Allowed Origins": "Разрешённые origins",
"Web Api Default Token": "Токен по умолчанию",
"Web Api Default Token Name": "Название токена",
"Web Api Docs Enabled": "Документация API",
"Web Api Enabled": "API включен",
"Web Api Host": "Хост API",
"Web Api Port": "Порт API",
"Web Api Request Logging": "Логирование запросов",
"Web Api Title": "Название API",
"Web Api Token Hash Algorithm": "Алгоритм хеша",
"Web Api Version": "Версия API",
"Web Api Workers": "Воркеры API",
"Remnawave Api Key": "API ключ",
"Remnawave Api Url": "URL панели",
"Remnawave Auth Type": "Тип авторизации",
"Remnawave Auto Sync Enabled": "Автосинхронизация",
"Remnawave Auto Sync Times": "Время синхронизации",
"Remnawave Caddy Token": "Токен Caddy",
"Remnawave Password": "Пароль",
"Remnawave Secret Key": "Секретный ключ",
"Remnawave Username": "Имя пользователя",
"Remnawave User Delete Mode": "Режим удаления",
"Remnawave User Description Template": "Шаблон описания",
"Remnawave User Username Template": "Шаблон username",
"Webhook Drop Pending Updates": "Сбросить обновления",
"Webhook Enqueue Timeout": "Таймаут очереди",
"Webhook Max Queue Size": "Макс. очередь",
"Webhook Path": "Путь вебхука",
"Webhook Secret Token": "Секретный токен",
"Webhook Url": "URL вебхука",
"Webhook Workers": "Воркеры вебхука",
"Webhook Worker Shutdown Timeout": "Таймаут остановки",
"Backup Archive Password": "Пароль архива",
"Backup Auto Enabled": "Автобэкап",
"Backup Compression": "Сжатие",
"Backup Include Logs": "Включать логи",
"Backup Interval Hours": "Интервал (час)",
"Backup Location": "Путь бэкапов",
"Backup Max Keep": "Хранить бэкапов",
"Backup Send Chat Id": "ID чата отправки",
"Backup Send Enabled": "Отправка в Telegram",
"Backup Send Topic Id": "ID топика отправки",
"Backup Time": "Время бэкапа",
"Monitoring Interval": "Интервал мониторинга",
"Monitoring Logs Retention Days": "Хранить логи (дни)",
"Traffic Monitored Nodes": "Мониторимые ноды",
"Traffic Monitoring Enabled": "Мониторинг трафика",
"Traffic Monitoring Interval Hours": "Интервал (час)",
"Traffic Snapshot Ttl Hours": "TTL снапшота (час)",
"Server Status External Url": "Внешний URL",
"Server Status Items Per Page": "На странице",
"Server Status Metrics Password": "Пароль метрик",
"Server Status Metrics Url": "URL метрик",
"Server Status Metrics Username": "Логин метрик",
"Server Status Metrics Verify Ssl": "Проверка SSL",
"Server Status Mode": "Режим статуса",
"Server Status Request Timeout": "Таймаут запроса",
"Log Dir": "Папка логов",
"Log Error File": "Файл ошибок",
"Log File": "Файл логов",
"Log Info File": "Файл info",
"Log Level": "Уровень логов",
"Log Payments File": "Файл платежей",
"Log Rotation Chat Id": "ID чата ротации",
"Log Rotation Compress": "Сжатие ротации",
"Log Rotation Enabled": "Ротация логов",
"Log Rotation Keep Days": "Хранить (дни)",
"Log Rotation Send To Telegram": "Отправлять в Telegram",
"Log Rotation Time": "Время ротации",
"Log Rotation Topic Id": "ID топика ротации",
"Log Warning File": "Файл warning",
"Version Check Enabled": "Проверка версии",
"Version Check Interval Hours": "Интервал (час)",
"Version Check Repo": "Репозиторий",
"Inactive User Delete Months": "Удалять через (мес)",
"Maintenance Auto Enable": "Автовключение",
"Maintenance Check Interval": "Интервал проверки",
"Maintenance Message": "Сообщение",
"Maintenance Mode": "Обслуживание",
"Maintenance Monitoring Enabled": "Мониторинг панели",
"Maintenance Retry Attempts": "Попытки проверки",
"External Admin Token": "Токен внешней админки",
"External Admin Token Bot Id": "ID бота",
"Bot Username": "Username бота",
"Debug": "Отладка",
"telegramOidcEnabled": "OIDC включён",
"telegramOidcClientId": "Client ID (ID бота)",
"telegramOidcClientSecret": "Client Secret"
},
"categories": {
"PAYMENT": "Платежи",
"PAYMENT_VERIFICATION": "Верификация платежей",
"YOOKASSA": "YooKassa",
"CRYPTOBOT": "CryptoBot",
"HELEKET": "Heleket",
"PLATEGA": "Platega",
"TRIBUTE": "Tribute",
"MULENPAY": "MulenPay",
"PAL24": "PAL24",
"WATA": "Wata",
"TELEGRAM": "Telegram",
"TELEGRAM_WIDGET": "Telegram Login Widget",
"TELEGRAM_OIDC": "Telegram Login (OIDC)",
"SUBSCRIPTIONS_CORE": "Основные",
"SIMPLE_SUBSCRIPTION": "Простая подписка",
"PERIODS": "Периоды",
"SUBSCRIPTION_PRICES": "Цены",
"TRAFFIC": "Трафик",
"TRAFFIC_PACKAGES": "Пакеты трафика",
"TRIAL": "Пробный период",
"AUTOPAY": "Автоплатёж",
"INTERFACE": "Интерфейс",
"INTERFACE_BRANDING": "Брендинг",
"INTERFACE_SUBSCRIPTION": "Подписка",
"CONNECT_BUTTON": "Кнопка подключения",
"MINIAPP": "MiniApp",
"HAPP": "HAPP",
"SKIP": "Пропуск",
"ADDITIONAL": "Дополнительно",
"NOTIFICATIONS": "Уведомления",
"ADMIN_NOTIFICATIONS": "Уведомления админов",
"ADMIN_REPORTS": "Отчёты админов",
"DATABASE": "База данных",
"POSTGRES": "PostgreSQL",
"SQLITE": "SQLite",
"REDIS": "Redis",
"CORE": "Бот",
"REMNAWAVE": "RemnaWave",
"SERVER_STATUS": "Статус сервера",
"MONITORING": "Мониторинг",
"MAINTENANCE": "Обслуживание",
"BACKUP": "Бэкап",
"VERSION": "Версия",
"WEB_API": "Web API",
"WEBHOOK": "Webhook",
"LOG": "Логи",
"DEBUG": "Отладка",
"EXTERNAL_ADMIN": "Внешний админ",
"SUPPORT": "Поддержка",
"LOCALIZATION": "Локализация",
"CHANNEL": "Канал",
"TIMEZONE": "Часовой пояс",
"REFERRAL": "Реферальная система",
"MODERATION": "Модерация"
},
"offlineConv": "Офлайн-конверсии",
"apiKey": "API-ключ"
},
"buttons": {
"color": "Цвет кнопки",
"emojiId": "Custom Emoji ID",
"emojiPlaceholder": "ID кастомного эмодзи (необязательно)",
"resetAll": "Сбросить все стили",
"resetConfirm": "Сбросить все стили кнопок к значениям по умолчанию?",
"hidden": "Скрыта",
"customLabels": "Названия кнопки",
"labelPlaceholder": "Свой текст кнопки",
"labelsHint": "Пустое поле = название по умолчанию",
"sections": {
"home": "Главная",
"subscription": "Подписка",
"balance": "Баланс",
"referral": "Рефералы",
"support": "Поддержка",
"info": "Информация",
"admin": "Админка",
"language": "Язык"
},
"descriptions": {
"home": "Кнопка личного кабинета",
"subscription": "Управление подпиской",
"balance": "Пополнение и баланс",
"referral": "Реферальная программа",
"support": "Обращения в поддержку",
"info": "Информационный раздел",
"admin": "Веб-админка",
"language": "Выбор языка"
},
"styles": {
"default": "Без цвета",
"primary": "Синий",
"success": "Зелёный",
"danger": "Красный"
}
},
"menuEditor": {
"dragHint": "Перетаскивайте ряды для изменения порядка",
"dragToReorder": "Перетащите для сортировки",
"row": "Ряд",
"addRow": "Добавить ряд",
"addButton": "Добавить кнопку",
"addUrlButton": "URL-кнопка (ссылка)",
"builtinButtons": "Встроенные кнопки",
"resetConfirm": "Сбросить компоновку меню к значениям по умолчанию?",
"buttonTextPlaceholder": "Свой текст кнопки",
"customLabelsHint": "Пустое поле = название по умолчанию",
"moveUp": "Переместить вверх",
"moveDown": "Переместить вниз",
"openIn": "Открывать в",
"openMode": {
"external": "Внешний браузер",
"webapp": "Telegram miniapp"
},
"invalidUrl": "Укажите корректный URL (http:// или https://) для всех пользовательских кнопок"
},
"apps": {
"title": "Управление приложениями",
"addApp": "Добавить приложение",
"addFirstApp": "Добавить первое приложение",
"noApps": "Нет приложений для этой платформы",
"createApp": "Создать приложение",
"editApp": "Редактировать приложение",
"confirmDelete": "Вы уверены, что хотите удалить это приложение?",
"copyTo": "Копировать в...",
"appId": "ID приложения",
"appName": "Название",
"urlScheme": "URL схема",
"featured": "Рекомендованное",
"base64Encoding": "Base64 кодирование",
"buttons": "Кнопки",
"button": "Кнопка",
"addButton": "Добавить кнопку",
"buttonText": "Текст кнопки",
"installDescription": "Описание установки",
"subscriptionDescription": "Описание добавления подписки",
"connectDescription": "Описание подключения",
"beforeSubscription": "До добавления подписки",
"afterSubscription": "После добавления подписки",
"stepTitle": "Заголовок",
"stepDescription": "Описание",
"tabs": {
"basic": "Основное",
"installation": "Установка",
"subscription": "Подписка",
"connect": "Подключение",
"additional": "Дополнительно"
},
"import": "Импорт",
"export": "Экспорт",
"importApps": "Импорт приложений из JSON",
"exportApps": "Экспорт приложений в JSON",
"importPreview": "Предпросмотр импорта",
"confirmImport": "Импортировать",
"importError": "Неверный формат JSON файла",
"importCreateError": "Ошибка при создании приложений",
"noAppsToImport": "Нет приложений для импорта",
"remnaWaveToggle": "Переключить источник RemnaWave",
"refreshRemnaWave": "Обновить данные из RemnaWave",
"remnaWaveMode": "Отображаются приложения из панели RemnaWave. Режим только для чтения.",
"remnaWaveSettings": "Настройки RemnaWave",
"remnaWaveConfigUuid": "UUID конфигурации",
"remnaWaveConfigUuidHint": "UUID конфигурации страницы подписки из панели RemnaWave",
"availableConfigs": "Доступные конфигурации"
},
"tickets": {
"title": "Управление тикетами",
"total": "Всего",
"list": "Тикеты",
"noTickets": "Нет тикетов",
"selectTicket": "Выберите тикет из списка",
"allStatuses": "Все статусы",
"statusOpen": "Открыт",
"statusPending": "Ожидает",
"statusAnswered": "Отвечен",
"statusClosed": "Закрыт",
"from": "От",
"created": "Создан",
"user": "Пользователь",
"you": "Вы",
"userLabel": "Пользователь",
"adminLabel": "Админ",
"replyPlaceholder": "Введите ваш ответ...",
"sendReply": "Отправить",
"attachMedia": "Прикрепить медиа",
"invalidFileType": "Неверный тип файла. Используйте изображения, видео (MP4, WebM) или документы (PDF, DOC, TXT, ZIP).",
"fileTooLarge": "Файл слишком большой. Максимальный размер 10МБ.",
"uploadFailed": "Не удалось загрузить файл",
"uploading": "Загрузка...",
"uploadComplete": "Загружено",
"settings": "Настройки",
"settingsSubtitle": "Настройка тикетной системы и SLA",
"settingsLoadError": "Не удалось загрузить настройки",
"supportMode": "Режим поддержки",
"supportModeDesc": "Выберите, как пользователи могут связаться с поддержкой",
"modeBoth": "Тикеты и контакт",
"modeTickets": "Только тикеты",
"modeContact": "Только контакт",
"slaSettings": "Настройки SLA",
"slaEnabled": "Включить SLA (мониторинг времени ответа)",
"slaEnabledDesc": "Автоматические уведомления о просроченных тикетах",
"slaMinutes": "Время ответа (минуты)",
"slaMinutesDesc": "Максимальное время для ответа на тикет (1-1440 минут)",
"checkInterval": "Интервал проверки (секунды)",
"checkIntervalDesc": "Как часто проверять просроченные тикеты (30-600 секунд)",
"reminderCooldown": "Интервал напоминаний (минуты)",
"reminderCooldownDesc": "Минимальное время между напоминаниями (1-120 минут)",
"settingsUpdateError": "Ошибка сохранения настроек",
"copyTelegramId": "Нажмите чтобы скопировать Telegram ID",
"viewUser": "Карточка",
"cabinetNotifications": "Уведомления в кабинете",
"userNotificationsEnabled": "Уведомления для пользователей",
"userNotificationsEnabledDesc": "Отправлять уведомления пользователям об ответах админа",
"adminNotificationsEnabled": "Уведомления для админов",
"adminNotificationsEnabledDesc": "Отправлять уведомления админам о новых тикетах и ответах"
},
"tariffs": {
"title": "Управление тарифами",
"subtitle": "Настройка тарифных планов",
"create": "Создать тариф",
"edit": "Редактировать тариф",
"noTariffs": "Нет тарифов",
"name": "Название",
"namePlaceholder": "Введите название тарифа",
"description": "Описание",
"descriptionPlaceholder": "Краткое описание тарифа",
"trafficLimit": "Лимит трафика",
"trafficHint": "0 = безлимитный трафик",
"deviceLimit": "Лимит устройств",
"tierLevel": "Уровень тарифа",
"tierHint": "1-10, влияет на приоритет при переходе",
"unlimited": "Безлимит",
"devices": "устр.",
"devices_one": "{{count}} устр.",
"devices_few": "{{count}} устр.",
"devices_many": "{{count}} устр.",
"servers": "серверов",
"servers_one": "{{count}} сервер",
"servers_few": "{{count}} сервера",
"servers_many": "{{count}} серверов",
"subscriptions": "подписок",
"subscriptions_one": "{{count}} подписка",
"subscriptions_few": "{{count}} подписки",
"subscriptions_many": "{{count}} подписок",
"trial": "Триал",
"inactive": "Неактивен",
"activate": "Активировать",
"deactivate": "Деактивировать",
"toggleTrial": "Переключить триал",
"delete": "Удалить",
"confirmDelete": "Удалить тариф?",
"confirmDeleteText": "Это действие нельзя отменить. Тариф будет удалён навсегда.",
"confirmDeleteWithSubscriptions": "У этого тарифа {{count}} активных подписок. При удалении пользователям потребуется выбрать новый тариф при продлении.",
"deleteSuccess": "Тариф успешно удален",
"deleteSuccessWithSubscriptions": "Тариф удален. У {{count}} подписок сброшен тариф — при продлении пользователи выберут новый.",
"saveOrder": "Сохранить порядок",
"orderSaved": "Порядок сохранён",
"dragToReorder": "Перетащите для изменения порядка",
"days": "дней",
"days_one": "{{count}} день",
"days_few": "{{count}} дня",
"days_many": "{{count}} дней",
"tabs": {
"basic": "Основное",
"prices": "Цены",
"servers": "Серверы"
},
"pricesHint": "Включите нужные периоды и установите цены (в рублях)",
"periodDisabled": "Отключено",
"serversHint": "Выберите серверы, доступные для этого тарифа. Для каждого сервера можно указать индивидуальный лимит трафика.",
"noServers": "Нет доступных серверов",
"serverTrafficLimit": "Лимит трафика",
"useDefault": "по умолчанию",
"selectType": "Выберите тип тарифа",
"selectTypeDesc": "Выберите способ оплаты для нового тарифа",
"periodTariff": "Периодный тариф",
"periodTariffDesc": "Оплата за период (7, 30, 90 дней и т.д.). Произвольные периоды и цены.",
"dailyTariff": "Суточный тариф",
"dailyTariffDesc": "Ежедневное списание с баланса. Можно ставить на паузу.",
"editTitle": "Редактирование тарифа",
"newPeriodTitle": "Новый периодный тариф",
"newDailyTitle": "Новый суточный тариф",
"periodPayment": "Оплата за период",
"dailyDeduction": "Ежедневное списание",
"tabBasic": "Основное",
"tabPeriods": "Периоды",
"tabServers": "Серверы",
"tabExtra": "Дополнительно",
"nameLabel": "Название тарифа",
"nameExamplePeriod": "Например: Стандарт",
"nameExampleDaily": "Например: Суточный",
"nameHint": "От 2 до 50 символов",
"descriptionLabel": "Описание",
"trafficLimitLabel": "Лимит трафика",
"gbUnit": "ГБ",
"trafficLimitHint": "0 = безлимитный трафик",
"deviceLimitLabel": "Устройств в тарифе",
"tierLevelLabel": "Уровень тарифа",
"tierLevelHint": "Влияет на доступность перехода между тарифами",
"fieldRequired": "Обязательное поле",
"periodsTabHint": "Добавьте периоды и цены для тарифа. Пользователи смогут выбирать из добавленных периодов.",
"addPeriodTitle": "Добавить период",
"daysLabel": "Дней",
"priceLabel": "Цена (₽)",
"addButton": "Добавить",
"noPeriodsHint": "Нет добавленных периодов. Добавьте хотя бы один период.",
"daysShort": "дн.",
"serversTitle": "Серверы",
"externalSquadTitle": "Внешний сквад",
"externalSquadHint": "Назначьте внешний сквад RemnaWave для пользователей этого тарифа. При создании подписки пользователь будет автоматически добавлен в выбранный сквад.",
"noExternalSquad": "Без внешнего сквада",
"externalSquadUsers": "пользователей",
"serversTabHint": "Выберите серверы, доступные на этом тарифе.",
"noServersAvailable": "Нет доступных серверов",
"promoGroupsTitle": "Промо-группы",
"promoGroupsHint": "Выберите промо-группы, которым доступен этот тариф. Если не выбрано ничего — доступен всем.",
"noPromoGroups": "Нет промо-групп",
"extraDeviceTitle": "Докупка устройств",
"devicePriceLabel": "Цена за устройство (30 дней):",
"devicePriceHint": "0 = докупка недоступна",
"maxDeviceLabel": "Макс. устройств на тарифе:",
"noLimitHint": "0 = без ограничений",
"extraTrafficTitle": "Докупка трафика",
"trafficMaxLimitLabel": "Макс. лимит:",
"trafficLimitHint2": "(0 = без ограничений)",
"trafficPackagesLabel": "Пакеты трафика:",
"addPackageTitle": "Добавить пакет",
"noPackagesHint": "Нет добавленных пакетов. Добавьте хотя бы один пакет.",
"gbPackageUnit": "ГБ:",
"customDaysTitle": "Произвольное количество дней",
"customDaysDesc": "Пользователь сам выбирает срок подписки",
"pricePerDayLabel": "Цена за день:",
"minDaysLabel": "Мин. дней:",
"maxDaysLabel": "Макс. дней:",
"customTrafficTitle": "Произвольный объём трафика",
"customTrafficDesc": "Пользователь сам выбирает объём трафика при покупке",
"pricePerGbLabel": "Цена за 1 ГБ:",
"minTrafficLabel": "Мин. ГБ:",
"maxTrafficLabel": "Макс. ГБ:",
"trafficResetModeTitle": "Режим сброса трафика",
"trafficResetModeDesc": "Определяет, когда сбрасывается использованный трафик у подписчиков этого тарифа",
"resetModeGlobal": "Глобальная настройка",
"resetModeGlobalDesc": "Использовать значение из конфига бота",
"resetModeDaily": "Ежедневно",
"resetModeDailyDesc": "Сброс каждый день",
"resetModeWeekly": "Еженедельно",
"resetModeWeeklyDesc": "Сброс каждую неделю",
"resetModeMonthly": "Ежемесячно",
"resetModeMonthlyDesc": "Сброс каждый месяц",
"resetModeMonthRolling": "Скользящий месяц",
"resetModeMonthRollingDesc": "Сброс через 30 дней от первого подключения",
"resetModeNever": "Никогда",
"resetModeNeverDesc": "Трафик не сбрасывается",
"cancelButton": "Отмена",
"savingButton": "Сохранение...",
"saveButton": "Сохранить",
"dailyType": "Суточный",
"periodType": "Периодный",
"dailyPriceLabel": "Цена за день",
"currencyPerDay": "₽/день",
"dailyDeductionDesc": "Списывается ежедневно с баланса пользователя",
"dailyPriceRequired": "Укажите цену за день больше 0",
"cannotSave": "Невозможно сохранить тариф:",
"statusTitle": "Статус тарифа",
"isActiveLabel": "Активен",
"isActiveHint": "Неактивные тарифы не отображаются пользователям",
"showInGiftLabel": "Видимость в подарках",
"showInGiftHint": "Тариф будет доступен для покупки в разделе подарков",
"giftBadge": "Подарок",
"isTrialLabel": "Триальный тариф",
"isTrialHint": "Доступен для бесплатного пробного периода",
"validation": {
"nameRequired": "Введите название тарифа",
"nameLength": "Название должно быть от 2 до 50 символов",
"deviceLimitRequired": "Укажите количество устройств (минимум 1)",
"tierLevelInvalid": "Уровень тарифа должен быть от 1 до 10",
"fieldsRequired": "Заполните обязательные поля (устройства, уровень)",
"periodsRequired": "Добавьте хотя бы один период",
"dailyPriceRequired": "Укажите цену за день больше 0",
"trafficPackagesRequired": "Добавьте хотя бы один пакет трафика (или отключите докупку)"
}
},
"servers": {
"title": "Управление сквадами",
"subtitle": "Настройка сквадов",
"sync": "Синхронизировать",
"syncing": "Синхронизация...",
"syncNow": "Синхронизировать сейчас",
"noServers": "Нет серверов. Синхронизируйте с RemnaWave.",
"edit": "Редактировать сервер",
"originalName": "Оригинальное название",
"displayName": "Отображаемое название",
"displayNamePlaceholder": "Введите название",
"description": "Описание",
"descriptionPlaceholder": "Введите описание сервера",
"countryCode": "Код страны",
"price": "Цена",
"priceHint": "Дополнительная стоимость сервера",
"maxUsers": "Максимум пользователей",
"sortOrder": "Порядок сортировки",
"unlimited": "Без лимита",
"stats": "Статистика",
"currentUsers": "Текущих пользователей",
"activeSubscriptions": "Активных подписок",
"usedByTariffs": "Используется в тарифах",
"trial": "Триал",
"unavailable": "Недоступен",
"full": "Заполнен",
"enable": "Включить",
"disable": "Отключить",
"toggleTrial": "Переключить триал",
"loadError": "Не удалось загрузить сервер",
"mainSettings": "Основные настройки",
"pricingAndLimits": "Цены и лимиты",
"updateError": "Не удалось сохранить изменения"
},
"campaigns": {
"title": "Рекламные кампании",
"subtitle": "Управление рекламными ссылками",
"createButton": "Создать",
"noData": "Нет рекламных кампаний",
"loadMore": "Загрузить ещё",
"bonusType": {
"balance": "Баланс",
"subscription": "Подписка",
"tariff": "Тариф",
"none": "Только ссылка"
},
"overview": {
"totalCampaigns": "Всего кампаний",
"active": "Активных",
"registrations": "Регистраций",
"bonusesIssued": "Выдано бонусов"
},
"table": {
"inactive": "Неактивна",
"registrations_one": "{{count}} регистрация",
"registrations_few": "{{count}} регистрации",
"registrations_many": "{{count}} регистраций",
"revenue": "{{amount}} доход",
"conversion": "{{rate}}% конверсия",
"statistics": "Статистика",
"deactivate": "Деактивировать",
"activate": "Активировать",
"edit": "Редактировать",
"delete": "Удалить"
},
"modal": {
"editTitle": "Редактирование кампании",
"createTitle": "Новая кампания",
"close": "Закрыть"
},
"form": {
"name": "Название",
"namePlaceholder": "Например: Instagram Реклама",
"startParameter": "Метка (start параметр)",
"startParameterHint": "Только латиница, цифры, _ и -",
"bonusType": "Тип бонуса",
"balanceBonus": "Бонус на баланс",
"trialSubscription": "Пробная подписка",
"days": "Дней",
"trafficGb": "Трафик (ГБ)",
"devices": "Устройств",
"servers": "Серверы",
"tariff": "Тариф",
"selectTariff": "Выберите тариф",
"notSelected": "Не выбран",
"tariffOption": "{{traffic}} ГБ, {{devices}} уст.",
"durationDays": "Длительность (дней)",
"noBonusDescription": "Кампания без бонусов - только для отслеживания переходов и регистраций.",
"active": "Активна",
"cancel": "Отмена",
"save": "Сохранить",
"saving": "Сохранение...",
"partner": "Партнёр",
"noPartner": "Без партнёра",
"selectPartner": "Выберите партнёра",
"partnerAutoAssign": "Кампания будет автоматически привязана к партнёру {{name}}"
},
"stats": {
"title": "Статистика кампании",
"loadError": "Не удалось загрузить статистику",
"detailedStats": "Детальная статистика",
"registrations": "Регистраций",
"revenue": "Доход",
"paidUsers": "Оплатили",
"conversion": "Конверсия",
"bonusesIssued": "Бонусы выданы",
"subscriptionsIssued_one": "{{count}} подписка",
"subscriptionsIssued_few": "{{count}} подписки",
"subscriptionsIssued_many": "{{count}} подписок",
"tariffsIssued_one": "{{count}} тариф",
"tariffsIssued_few": "{{count}} тарифа",
"tariffsIssued_many": "{{count}} тарифов",
"avgRevenuePerUser": "Средний доход с пользователя",
"avgFirstPayment": "Средний первый платёж",
"trialSubscriptions": "Пробных подписок",
"trialCount": "{{total}} (активных: {{active}})",
"trialConversion": "Конверсия из триала",
"lastRegistration": "Последняя регистрация",
"active": "Активна",
"inactive": "Неактивна",
"copy": "Копировать",
"copied": "Скопировано!",
"botLink": "Ссылка для бота",
"webLink": "Веб-ссылка",
"users": "Пользователи",
"noUsers": "Нет зарегистрированных пользователей",
"paid": "Платил",
"hasSub": "Подписка",
"dailyChart": "Динамика за 30 дней",
"chartRegistrations": "Регистрации",
"chartRevenue": "Доход",
"totalDeposits": "Всего пополнений",
"totalSpending": "Расход на подписки",
"periodComparison": "Сравнение периодов",
"vsLastWeek": "vs прошлая неделя",
"topRegistrations": "Топ регистрации"
},
"users": {
"title": "Пользователи кампании",
"campaignRegistrations": "{{name}} - {{count}} регистраций",
"noUsers": "Нет зарегистрированных пользователей",
"user": "Пользователь",
"bonus": "Бонус",
"balance": "Баланс",
"status": "Статус",
"date": "Дата",
"noName": "Без имени",
"paid": "Платил",
"prev": "Назад",
"next": "Далее",
"pageOf": "{{page}} из {{totalPages}}"
},
"confirm": {
"deleteTitle": "Удалить кампанию?",
"deleteText": "Это действие нельзя отменить. Кампании с регистрациями удалить нельзя.",
"cancel": "Отмена",
"delete": "Удалить"
},
"loadError": "Не удалось загрузить кампанию",
"updateError": "Не удалось сохранить изменения"
},
"withdrawals": {
"title": "Выводы средств",
"subtitle": "Управление заявками на вывод",
"noData": "Нет заявок на вывод",
"risk": "Риск:",
"overview": {
"pendingCount": "Ожидают",
"pendingAmount": "Сумма ожидания",
"approvedCount": "Одобрено",
"completedCount": "Выполнено"
},
"filter": {
"all": "Все",
"pending": "Ожидание",
"approved": "Одобрено",
"rejected": "Отклонено",
"completed": "Выполнено",
"cancelled": "Отменено"
},
"status": {
"pending": "Ожидание",
"approved": "Одобрено",
"rejected": "Отклонено",
"completed": "Выполнено",
"cancelled": "Отменено",
"unknown": "Неизвестно"
},
"detail": {
"title": "Заявка на вывод",
"loadError": "Не удалось загрузить детали заявки",
"userInfo": "Информация о пользователе",
"username": "Имя пользователя",
"telegramId": "Telegram ID",
"balance": "Баланс",
"totalReferrals": "Всего рефералов",
"totalEarnings": "Общий заработок",
"requestedAmount": "Запрошенная сумма",
"createdAt": "Создано",
"paymentDetails": "Реквизиты для оплаты",
"noPaymentDetails": "Реквизиты не указаны",
"riskAnalysis": "Анализ рисков",
"riskScore": "Оценка риска",
"riskLevel": {
"low": "Низкий",
"medium": "Средний",
"high": "Высокий",
"critical": "Критический"
},
"flags": "Флаги",
"balanceStats": "Статистика баланса",
"referralDeposits": "Депозиты рефералов",
"suspiciousReferrals": "Подозрительные рефералы",
"earningsByReason": "Доходы по причинам",
"adminComment": "Комментарий администратора",
"processedAt": "Обработано",
"approve": "Одобрить",
"approving": "Одобрение...",
"reject": "Отклонить",
"rejecting": "Отклонение...",
"complete": "Отметить как выполнено",
"completing": "Завершение...",
"rejectTitle": "Отклонить заявку?",
"rejectDescription": "При необходимости добавьте комментарий с причиной отклонения.",
"commentPlaceholder": "Причина отклонения (необязательно)...",
"confirmReject": "Подтвердить отклонение"
}
},
"partners": {
"title": "Партнёры",
"subtitle": "Управление партнёрами и заявками",
"totalPartners": "Всего партнёров",
"pendingApplications": "Заявок на рассмотрении",
"totalReferrals": "Всего рефералов",
"totalEarnings": "Всего заработано",
"tabs": {
"partners": "Партнёры",
"applications": "Заявки"
},
"noPartners": "Партнёров пока нет",
"noApplications": "Нет заявок на рассмотрении",
"commission": "{{percent}}% комиссия",
"referrals": "{{count}} рефералов",
"actions": {
"approve": "Одобрить",
"reject": "Отклонить",
"review": "Рассмотреть"
},
"applicationFields": {
"companyName": "Компания",
"website": "Сайт",
"channel": "Канал",
"description": "Описание",
"expectedReferrals": "Ожидаемых рефералов/мес",
"desiredCommission": "Желаемая комиссия"
},
"approveDialog": {
"title": "Одобрить заявку",
"description": "Одобрить партнёрскую заявку от {{name}}",
"commissionLabel": "Комиссия (%)"
},
"rejectDialog": {
"title": "Отклонить заявку",
"description": "Отклонить партнёрскую заявку от {{name}}",
"commentLabel": "Комментарий (необязательно)",
"commentPlaceholder": "Причина отклонения..."
},
"settings": "Настройки",
"settingsSubtitle": "Настройки партнёрской программы и вывода средств",
"settingsLoadError": "Не удалось загрузить настройки",
"settingsUpdateError": "Не удалось сохранить настройки",
"settingsSection": {
"referralProgram": "Реферальная программа",
"withdrawalSettings": "Настройки вывода"
},
"settingsFields": {
"programEnabled": "Реферальная программа включена",
"programEnabledDesc": "Вкл/выкл реферальную программу для всех пользователей",
"partnerVisible": "Раздел партнёрки виден в кабинете",
"partnerVisibleDesc": "Показывать/скрывать секцию подачи заявки на партнёрство и вывода средств",
"withdrawalEnabled": "Вывод средств включён",
"withdrawalEnabledDesc": "Разрешить партнёрам запрашивать вывод реферального баланса",
"minAmount": "Мин. сумма вывода (копейки)",
"minAmountDesc": "Минимальная сумма для запроса вывода (100 коп. = 1 ₽)",
"cooldownDays": "Кулдаун между выводами (дни)",
"cooldownDaysDesc": "Сколько дней должно пройти между запросами на вывод",
"requisitesText": "Текст для поля реквизитов",
"requisitesTextDesc": "Кастомная подсказка пользователю, какие реквизиты указать при выводе",
"requisitesTextPlaceholder": "Например: Укажите номер карты Сбербанк / Тинькофф или USDT TRC-20 адрес"
}
},
"partnerDetail": {
"title": "Детали партнёра",
"loadError": "Не удалось загрузить данные партнёра",
"status": {
"approved": "Активен",
"pending": "На рассмотрении",
"rejected": "Отклонён",
"none": "Не партнёр"
},
"stats": {
"totalReferrals": "Всего рефералов",
"paidReferrals": "Оплативших",
"activeReferrals": "Активных",
"conversionRate": "Конверсия"
},
"earnings": {
"title": "Заработок",
"allTime": "За всё время",
"today": "Сегодня",
"week": "За неделю",
"month": "За месяц"
},
"commission": {
"title": "Комиссия",
"update": "Изменить"
},
"campaigns": {
"title": "Привязанные кампании",
"noCampaigns": "Нет привязанных кампаний",
"active": "Активна",
"inactive": "Неактивна",
"assign": "Привязать",
"unassign": "Отвязать",
"createNew": "Создать",
"assignTitle": "Привязать кампанию",
"noAvailable": "Нет доступных кампаний для привязки",
"createTitle": "Создать кампанию",
"createSubtitle": "Кампания будет автоматически привязана к партнёру",
"autoAssignNote": "Кампания будет автоматически привязана к партнёру {{name}}",
"createAndAssign": "Создать и привязать"
},
"dangerZone": {
"title": "Опасная зона",
"revokeButton": "Отозвать партнёрский статус"
},
"commissionDialog": {
"title": "Изменить комиссию",
"description": "Установите новый процент комиссии для этого партнёра.",
"label": "Комиссия (%)"
},
"revokeDialog": {
"title": "Отозвать статус партнёра?",
"description": "Это лишит партнёра привилегий. Партнёр больше не будет получать комиссию от рефералов."
}
},
"promocodes": {
"title": "Промокоды",
"subtitle": "Управление промокодами и группами скидок",
"addPromocode": "Добавить промокод",
"addGroup": "Добавить группу",
"noPromocodes": "Нет промокодов",
"noGroups": "Нет групп скидок",
"firstPurchase": "Первая покупка",
"used": "Использовано",
"until": "До",
"discountForHours": "-{{percent}}% на {{hours}}ч",
"tabs": {
"promocodes_one": "Промокоды ({{count}} промокод)",
"promocodes_few": "Промокоды ({{count}} промокода)",
"promocodes_many": "Промокоды ({{count}} промокодов)",
"groups_one": "Группы скидок ({{count}} группа)",
"groups_few": "Группы скидок ({{count}} группы)",
"groups_many": "Группы скидок ({{count}} групп)"
},
"type": {
"balance": "Баланс",
"subscriptionDays": "Дни подписки",
"trialSubscription": "Тестовая подписка",
"promoGroup": "Группа скидок",
"discount": "Скидка %"
},
"modal": {
"editPromocode": "Редактирование промокода",
"newPromocode": "Новый промокод",
"editGroup": "Редактирование группы",
"newGroup": "Новая группа скидок",
"close": "Закрыть",
"edit": "Редактировать"
},
"form": {
"code": "Код промокода",
"type": "Тип промокода",
"typeBalance": "Пополнение баланса",
"typeSubscriptionDays": "Дни подписки",
"typeTrialSubscription": "Тестовая подписка",
"typePromoGroup": "Группа скидок",
"typeDiscount": "Процентная скидка",
"bonusAmount": "Сумма бонуса",
"rub": "руб.",
"daysCount": "Количество дней",
"days": "дней",
"discountGroup": "Группа скидок",
"selectGroup": "Выберите группу...",
"discountPercent": "Процент скидки",
"discountHint": "Скидка применяется один раз при оплате",
"validityPeriod": "Время действия",
"hours": "часов",
"validityHint": "Сколько часов после активации скидка действует",
"maxUses": "Макс. использований",
"unlimitedHint": "0 = безлимит",
"validUntil": "Действует до",
"validUntilHint": "Оставьте пустым для бессрочного промокода",
"active": "Активен",
"firstPurchaseOnly": "Только для первой покупки",
"cancel": "Отмена",
"saving": "Сохранение...",
"save": "Сохранить"
},
"stats": {
"title": "Статистика промокода",
"notFound": "Промокод не найден",
"totalUses": "Всего использований",
"today": "Сегодня",
"remaining": "Осталось",
"details": "Детали промокода",
"type": "Тип",
"bonus": "Бонус",
"daysLabel": "Дней",
"discountLabel": "Скидка",
"validFor": "Действует",
"hoursValue_one": "{{count}} час",
"hoursValue_few": "{{count}} часа",
"hoursValue_many": "{{count}} часов",
"limit": "Лимит",
"status": "Статус",
"active": "Активен",
"inactive": "Неактивен",
"created": "Создан",
"validUntil": "Действует до",
"unlimited": "Бессрочно",
"restriction": "Ограничение",
"firstPurchaseOnly": "Только первая покупка",
"usageHistory": "История использования",
"noUsages": "Промокод еще не использовался",
"totalPromocodes": "Всего промокодов",
"activeCount": "Активных",
"usagesCount": "Использований",
"exhausted": "Исчерпано"
},
"actions": {
"stats": "Статистика",
"edit": "Редактировать",
"delete": "Удалить"
},
"groups": {
"name": "Название группы",
"namePlaceholder": "VIP клиенты",
"categoryDiscounts": "Скидки по категориям",
"servers": "На серверы",
"traffic": "На трафик",
"devices": "На устройства",
"periodDiscounts": "Скидки по периодам",
"add": "Добавить",
"periodDiscountsHint": "Скидка применяется при покупке подписки на указанное кол-во дней",
"noPeriodDiscounts": "Нет скидок по периодам",
"daysPlaceholder": "Дни",
"daysArrow": "дней →",
"autoAssign": "Авто-назначение при тратах от",
"autoAssignHint": "0 = не назначать автоматически",
"applyToAddons": "Применять к дополнительным услугам",
"default": "По умолчанию",
"daysShort": "{{days}} дн.",
"autoFrom": "Авто от {{amount}} руб.",
"members_one": "{{count}} участник",
"members_few": "{{count}} участника",
"members_many": "{{count}} участников"
},
"confirm": {
"deletePromocode": "Удалить промокод?",
"deleteGroup": "Удалить группу?",
"deletePromocodeText": "Промокод будет удален безвозвратно.",
"deleteGroupText": "Группа будет удалена. Пользователи потеряют скидки этой группы.",
"deleteButton": "Удалить"
},
"validation": {
"codeRequired": "Введите код промокода",
"balanceRequired": "Сумма бонуса должна быть больше 0",
"daysRequired": "Количество дней должно быть больше 0",
"groupRequired": "Выберите группу скидок",
"discountPercentInvalid": "Процент скидки должен быть от 1 до 100",
"discountHoursRequired": "Укажите время действия скидки в часах"
}
},
"promoGroups": {
"title": "Группы скидок",
"subtitle": "Управление группами скидок для пользователей",
"addGroup": "Добавить группу",
"noGroups": "Нет групп скидок",
"default": "По умолчанию",
"servers": "Серверы",
"traffic": "Трафик",
"devices": "Устройства",
"daysShort": "{{days}} дн.",
"autoFrom": "Авто от {{amount}} руб.",
"members": "{{count}} участников",
"createTitle": "Создание группы скидок",
"editTitle": "Редактирование группы",
"stats": {
"total": "Всего групп",
"members": "Участников",
"autoAssign": "С авто-назначением"
},
"actions": {
"edit": "Редактировать",
"delete": "Удалить"
},
"confirm": {
"title": "Удалить группу?",
"text": "Группа будет удалена. Пользователи потеряют скидки этой группы.",
"cancel": "Отмена",
"delete": "Удалить"
},
"form": {
"name": "Название группы",
"namePlaceholder": "VIP клиенты",
"nameRequired": "Введите название группы",
"categoryDiscounts": "Скидки по категориям",
"periodDiscounts": "Скидки по периодам",
"add": "Добавить",
"periodHint": "Скидка применяется при покупке подписки на указанное кол-во дней",
"noPeriods": "Нет скидок по периодам",
"daysPlaceholder": "Дни",
"arrow": "дней →",
"autoAssign": "Авто-назначение при тратах от",
"rub": "руб.",
"autoAssignHint": "0 = не назначать автоматически",
"applyToAddons": "Применять к дополнительным услугам",
"isDefault": "Группа по умолчанию",
"cancel": "Отмена",
"saving": "Сохранение...",
"save": "Сохранить"
}
},
"users": {
"title": "Пользователи",
"subtitle": "Управление пользователями бота",
"search": "Поиск по ID, имени, username...",
"searchEmail": "Поиск по email...",
"noData": "Пользователи не найдены",
"purchaseCount_one": "{{count}} покупка",
"purchaseCount_few": "{{count}} покупки",
"purchaseCount_many": "{{count}} покупок",
"noPurchases": "Нет покупок",
"stats": {
"total": "Всего",
"active": "Активных",
"withSubscription": "С подпиской",
"newToday": "Новых сегодня",
"blocked": "Заблокировано"
},
"status": {
"active": "Активные",
"blocked": "Заблокированные",
"deleted": "Удалённые",
"subscription": "Подписка",
"trial": "Триал",
"expired": "Истекла"
},
"filters": {
"allStatuses": "Все статусы",
"byDate": "По дате",
"byBalance": "По балансу",
"byActivity": "По активности",
"bySpent": "По расходам"
},
"pagination": {
"showing": "Показано {{from}}-{{to}} из {{total}}"
},
"actions": {
"block": "Заблокировать",
"unblock": "Разблокировать",
"apply": "Применить",
"applying": "Применение..."
},
"confirm": {
"block": "Заблокировать пользователя?"
},
"userActions": {
"delete": "Удалить пользователя",
"resetTrial": "Сбросить триал",
"resetSubscription": "Сбросить подписку",
"disable": "Отключить пользователя",
"error": "Не удалось выполнить действие",
"success": {
"delete": "Пользователь успешно удалён",
"resetTrial": "Триал успешно сброшен",
"resetSubscription": "Подписка успешно сброшена",
"disable": "Пользователь успешно отключён"
},
"confirmDelete": {
"title": "Удалить пользователя?",
"message": "Вы уверены? Это действие необратимо. Пользователь будет полностью удалён из бота и из панели Remnawave."
},
"confirmResetTrial": {
"title": "Сбросить триал?",
"message": "Пользователь сможет снова воспользоваться пробным периодом."
},
"confirmResetSubscription": {
"title": "Сбросить подписку?",
"message": "Текущая подписка пользователя будет отменена."
},
"confirmDisable": {
"title": "Отключить пользователя?",
"message": "Пользователь не сможет пользоваться сервисом до повторной активации."
}
},
"detail": {
"tabs": {
"info": "Информация",
"subscription": "Подписка",
"balance": "Баланс",
"sync": "Синхронизация",
"tickets": "Тикеты",
"gifts": "Подарки",
"referrals": "Рефералы"
},
"noTickets": "У пользователя нет тикетов",
"ticketsCount": "тикетов",
"messagesCount": "сообщений",
"status": "Статус",
"language": "Язык",
"registration": "Регистрация",
"lastActivity": "Последняя активность",
"botActivity": "Активность в боте",
"cabinetLastLogin": "Последний вход в кабинет",
"vpnConnection": "VPN подключение",
"lastConnection": "Последнее подключение",
"firstConnection": "Первое подключение",
"online": "Онлайн",
"noVpnData": "Нет данных о подключении",
"requestHistory": "История запросов подписки",
"requestHistoryTotal": "Всего запросов",
"requestAt": "Дата",
"requestIp": "IP адрес",
"requestUserAgent": "Устройство",
"loadMore": "Показать ещё",
"noRequests": "Нет запросов",
"totalSpent": "Всего потрачено",
"purchases": "Покупок",
"campaign": "Рекламная кампания",
"referralsList": "Список рефералов",
"noReferrals": "Нет рефералов",
"panelConfig": "Конфигурация панели",
"trojanPassword": "Trojan пароль",
"vlessUuid": "VLESS UUID",
"ssPassword": "SS пароль",
"subscriptionUrl": "Ссылка подписки",
"happLink": "HAPP ссылка",
"firstConnected": "Первое подключение",
"lastOnline": "Последний онлайн",
"lastNode": "Последняя нода",
"liveTraffic": "Текущий трафик",
"lifetime": "За всё время",
"nodeUsage": "Расход по нодам",
"copied": "Скопировано",
"panelNotFound": "Пользователь не найден в панели",
"devices": {
"title": "Устройства",
"none": "Нет подключённых устройств",
"resetAll": "Сбросить все",
"deleted": "Устройство удалено",
"allDeleted": "Все устройства сброшены"
},
"referral": {
"title": "Реферальная программа",
"referrals": "Рефералов",
"earned": "Заработано",
"commission": "Комиссия",
"default": "По умолч.",
"invalidPercent": "Процент должен быть от 0 до 100"
},
"restrictions": {
"title": "Ограничения",
"topup": "• Запрет пополнения",
"subscription": "• Запрет покупки подписки",
"reason": "Причина"
},
"promoGroup": "Промо-группа",
"noPromoGroup": "Не задана",
"changePromoGroup": "Изменить",
"selectPromoGroup": "Выберите группу",
"removePromoGroup": "Убрать",
"activePromoOffer": "Активное промо-предложение",
"discount": "Скидка",
"source": "Источник",
"expiresAt": "Истекает",
"deactivateOffer": "Отключить",
"sendOffer": "Отправить предложение",
"discountPercent": "Скидка %",
"validHours": "Срок действия (часы)",
"offerSent": "Предложение отправлено",
"offerSendError": "Ошибка отправки предложения",
"offerDeactivated": "Предложение отключено",
"actions": {
"title": "Действия",
"areYouSure": "Уверены?"
},
"subscription": {
"current": "Текущая подписка",
"tariff": "Тариф",
"notSpecified": "Не указан",
"validUntil": "Действует до",
"traffic": "Трафик",
"devices": "Устройств",
"actions": "Действия",
"extend": "Продлить",
"shorten": "Списать дни",
"changeTariff": "Сменить тариф",
"cancel": "Отменить",
"activate": "Активировать",
"days": "Дней",
"selectTariff": "Выберите тариф",
"unavailable": "(недоступен)",
"noActive": "Нет активной подписки",
"create": "Создать подписку",
"creating": "Создание...",
"trafficPackages": "Пакеты трафика",
"addTraffic": "Добавить трафик",
"selectPackage": "Выберите пакет",
"addButton": "Добавить",
"addTrafficNote": "Админ: бесплатно, действует 30 дней",
"trafficRemoved": "Пакет трафика удалён",
"trafficAdded": "Пакет трафика добавлен",
"expired": "истёк",
"daysLeft": "дн. осталось",
"deviceLimitUpdated": "Лимит устройств обновлён",
"invalidDays": "Введите корректное количество дней (больше 0)"
},
"balance": {
"current": "Текущий баланс",
"amountPlaceholder": "Сумма в рублях",
"descriptionPlaceholder": "Описание (опционально)",
"add": "Начислить",
"subtract": "Списать",
"addByAdmin": "Начисление админом",
"subtractByAdmin": "Списание админом",
"recentTransactions": "Последние транзакции"
},
"sync": {
"selectSubscription": "Выберите подписку",
"hasDifferences": "Есть расхождения",
"synced": "Синхронизировано",
"bot": "Бот",
"panel": "Панель",
"statusLabel": "Статус",
"until": "До",
"traffic": "Трафик",
"devices": "Устройства",
"squads": "Сквады",
"notLinked": "Не привязан",
"fromPanel": "Из панели в бота",
"toPanel": "Из бота в панель"
},
"gifts": {
"title": "Подарки пользователя",
"sentTitle": "Отправленные подарки",
"receivedTitle": "Полученные подарки",
"noSent": "Пользователь не отправлял подарков",
"noReceived": "Пользователь не получал подарков",
"noGifts": "Нет подарков",
"token": "Код",
"tariff": "Тариф",
"period": "Период",
"devices": "Устройств",
"amount": "Сумма",
"paymentMethod": "Способ оплаты",
"recipient": "Получатель",
"sender": "Отправитель",
"message": "Сообщение",
"createdAt": "Создан",
"paidAt": "Оплачен",
"deliveredAt": "Активирован",
"status": {
"pending": "Ожидание",
"paid": "Оплачен",
"delivered": "Доставлен",
"pending_activation": "Ожидает активации",
"failed": "Ошибка",
"expired": "Истёк"
},
"days": "дн.",
"codeOnly": "Только код",
"via": "через",
"balance": "баланс",
"unknownUser": "Неизвестный",
"totalSent": "Всего отправлено",
"totalReceived": "Всего получено"
},
"referrals": {
"referredBy": "Приглашён",
"noReferrer": "Реферер не назначен",
"assignReferrer": "Назначить реферера",
"removeReferrer": "Удалить",
"referrerAssigned": "Реферер назначен",
"referrerRemoved": "Реферер удалён",
"totalReferrals": "Всего рефералов",
"totalEarnings": "Всего заработано",
"commission": "Комиссия",
"referralCode": "Реферальный код",
"default": "стандарт",
"referralsList": "Рефералы",
"noReferrals": "Рефералов пока нет",
"removeReferral": "Удалить реферала",
"referralRemoved": "Реферал удалён",
"addReferral": "Добавить реферала",
"referralAdded": "Реферал добавлен",
"searchPlaceholder": "Поиск по имени, email или Telegram ID...",
"alreadyReferred": "уже чей-то реферал",
"noUsersFound": "Пользователи не найдены"
}
}
},
"promoOffers": {
"title": "Промопредложения",
"subtitle": "Шаблоны, рассылка и логи предложений",
"sendButton": "Отправить",
"tabs": {
"templates_one": "Шаблоны ({{count}} шаблон)",
"templates_few": "Шаблоны ({{count}} шаблона)",
"templates_many": "Шаблоны ({{count}} шаблонов)",
"logs": "Логи"
},
"noData": {
"templates": "Нет шаблонов",
"logs": "Нет записей"
},
"status": {
"active": "Активен",
"inactive": "Неактивен"
},
"table": {
"discount": "Скидка",
"offerDuration": "Срок предложения",
"hoursShort": "{{hours}}ч",
"discountDuration": "Действие скидки",
"testAccess": "Тестовый доступ"
},
"form": {
"editTemplate": "Редактирование шаблона",
"templateName": "Название шаблона",
"messageText": "Текст сообщения",
"buttonText": "Текст кнопки",
"validHours": "Срок предложения (часы)",
"activationTime": "Время на активацию",
"discountPercent": "Скидка (%)",
"testDurationHours": "Длительность доступа (часы)",
"defaultZero": "0 = по умолчанию",
"activeDiscountHours": "Действие скидки (часы)",
"discountDurationHint": "Сколько действует скидка после активации",
"templateActive": "Шаблон активен",
"saving": "Сохранение..."
},
"send": {
"title": "Отправка промопредложения",
"offerTemplate": "Шаблон предложения",
"discountLabel": "{{percent}}% скидка",
"hoursToActivate": "{{hours}}ч на активацию",
"sendTo": "Кому отправить",
"segment": "Сегмент",
"user": "Пользователь",
"userIdPlaceholder": "Telegram ID или User ID",
"searchUserPlaceholder": "Поиск по имени, username или Telegram ID...",
"noUsersFound": "Пользователи не найдены",
"hasSubscription": "Подп",
"preview": "Предпросмотр",
"sending": "Отправка...",
"sendButton": "Отправить"
},
"result": {
"sentTitle": "Отправлено!",
"offersCreated_one": "Создано предложение: {{count}}",
"offersCreated_few": "Создано предложения: {{count}}",
"offersCreated_many": "Создано предложений: {{count}}",
"notificationsSent_one": "Уведомление отправлено: {{count}}",
"notificationsSent_few": "Уведомления отправлено: {{count}}",
"notificationsSent_many": "Уведомлений отправлено: {{count}}",
"notificationsFailed_one": "(не доставлено: {{count}})",
"notificationsFailed_few": "(не доставлено: {{count}})",
"notificationsFailed_many": "(не доставлено: {{count}})",
"sendError": "Не удалось отправить предложение"
},
"notFound": "Шаблон не найден",
"noActiveTemplates": "Нет активных шаблонов",
"backToList": "К списку предложений",
"sendAnother": "Отправить еще",
"actions": {
"created": "Создано",
"claimed": "Активировано",
"consumed": "Использовано",
"disabled": "Деактивировано"
},
"segments": {
"all": "Все пользователи",
"active": "Активные подписчики",
"trial": "Триал пользователи",
"trialEnding": "Заканчивается триал",
"expiring": "Заканчивается подписка",
"expired": "Истекшая подписка",
"zero": "Нулевой баланс",
"autopayFailed": "Ошибка автоплатежа",
"lowBalance": "Низкий баланс",
"inactive30d": "Неактивны 30 дней",
"inactive60d": "Неактивны 60 дней",
"inactive90d": "Неактивны 90 дней",
"customToday": "Зарегистрированы сегодня",
"customWeek": "Зарегистрированы за неделю",
"customMonth": "Зарегистрированы за месяц",
"customActiveToday": "Активны сегодня"
},
"offerType": {
"testAccess": "Тестовый доступ",
"testAccessDesc": "Временный доступ к дополнительным серверам",
"extendDiscount": "Скидка на продление",
"extendDiscountDesc": "Скидка для текущих подписчиков",
"purchaseDiscount": "Скидка на покупку",
"purchaseDiscountDesc": "Скидка для новых пользователей"
}
},
"groups": {
"analytics": "Аналитика",
"marketing": "Маркетинг",
"system": "Система",
"tariffs": "Тарифы и продажи",
"users": "Пользователи",
"security": "Безопасность"
},
"bulkActions": {
"title": "Массовые действия",
"subtitle": "Управление пользователями",
"selectedCount": "Выбрано: {{count}}",
"selectAll": "Выбрать всех",
"deselectAll": "Снять выделение",
"selectUser": "Выбрать пользователя {{name}}",
"deselectUser": "Снять выбор пользователя {{name}}",
"noResults": "Пользователи не найдены",
"perPage": "На странице",
"actions": {
"extend": "Продлить подписку",
"cancel": "Деактивировать подписки",
"activate": "Активировать подписки",
"changeTariff": "Сменить тариф",
"addTraffic": "Начислить трафик",
"addBalance": "Начислить баланс",
"assignPromoGroup": "Назначить промогруппу",
"grantSubscription": "Выдать подписку",
"setDevices": "Изменить устройства",
"deleteSubscription": "Удалить подписки",
"deleteUser": "Удалить пользователей"
},
"deleteSubscription": {
"warning": "Выбранные подписки будут безвозвратно удалены из бота и панели RemnaWave!",
"hint": "Пользователи потеряют доступ к VPN по удалённым подпискам. Это действие нельзя отменить.",
"activePaidWarning": "{{count}} из {{total}} выбранных подписок — активные платные",
"forceDeleteConfirm": "Подтверждаю удаление активных платных подписок"
},
"deleteUser": {
"warning": "Выбранные пользователи будут безвозвратно удалены из бота! Все их подписки, баланс и данные будут потеряны!",
"hint": "Это действие нельзя отменить. Пользователям придётся заново запустить бота для создания нового аккаунта.",
"deleteFromPanel": "Также удалить из панели RemnaWave"
},
"params": {
"days": "Количество дней",
"tariff": "Выберите тариф",
"trafficGb": "Объём трафика (ГБ)",
"balanceRub": "Сумма (руб.)",
"promoGroup": "Промогруппа",
"removePromoGroup": "Убрать промогруппу",
"deviceLimit": "Кол-во устройств"
},
"grantSubscription": {
"warning": "Пользователи, у которых уже есть подписка на выбранный тариф, будут пропущены"
},
"confirm": "Применить",
"cancel": "Отмена",
"executing": "Выполнение...",
"complete": "Выполнено",
"successCount": "Успешно: {{count}}",
"errorCount": "Ошибок: {{count}}",
"progress": {
"processed": "Обработано: {{current}} / {{total}}",
"succeeded": "успешно",
"failed": "ошибок",
"ok": "ОК",
"errorGeneric": "Ошибка",
"doNotClose": "Не закрывайте это окно, пока операция выполняется",
"summarySuccess": "{{count}} успешно",
"summaryErrors": "{{count}} ошибок"
},
"errors": {
"title": "{{count}} ошибок — показать детали"
},
"filters": {
"search": "Поиск по ID, нику, email",
"status": "Статус подписки",
"tariff": "Тариф",
"promoGroup": "Промогруппа",
"allStatuses": "Все статусы",
"allTariffs": "Все тарифы",
"allGroups": "Все группы",
"allCampaigns": "Все кампании",
"allPartners": "Все партнёры",
"trialOnly": "Только триал",
"tariffsSelected": "{{count}} тарифов",
"selectAll": "Выбрать все",
"deselectAll": "Снять все"
},
"statuses": {
"active": "Активна",
"expired": "Истекла",
"trial": "Триал",
"limited": "Ограничена",
"disabled": "Отключена"
},
"columns": {
"user": "Пользователь",
"status": "Статус",
"tariff": "Тариф",
"balance": "Баланс",
"daysRemaining": "Дни",
"promoGroup": "Группа",
"spent": "Потрачено"
},
"subscriptionsSelected": "{{count}} подписок выбрано",
"usersSelected": "{{count}} пользователей выбрано",
"expandSubscriptions": "Показать подписки",
"collapseSubscriptions": "Скрыть подписки",
"noSubscriptions": "Нет подписок",
"subscriptionTarget": "Цель: подписки",
"userTarget": "Цель: пользователи",
"daysUnit": "дн.",
"trafficOf": "из",
"trafficGbUnit": "ГБ",
"selectAllSubs": "Выбрать все подписки",
"deselectAllSubs": "Снять все подписки"
},
"theme": {
"accentColor": "Акцентный цвет",
"customizeColors": "Настроить цвета",
"hexCode": "HEX код",
"hue": "Тон",
"lightness": "Яркость",
"quickPresets": "Быстрые пресеты",
"saturation": "Насыщенность"
},
"roles": {
"title": "Роли и права",
"subtitle": "Управление ролями администраторов и их правами",
"createRole": "Создать роль",
"noRoles": "Роли не найдены",
"systemBadge": "Системная",
"inactiveBadge": "Неактивна",
"levelLabel": "Уровень",
"usersCount_one": "{{count}} пользователь",
"usersCount_few": "{{count}} пользователя",
"usersCount_many": "{{count}} пользователей",
"permissionsCount_one": "{{count}} разрешение",
"permissionsCount_few": "{{count}} разрешения",
"permissionsCount_many": "{{count}} разрешений",
"stats": {
"totalRoles": "Всего ролей",
"active": "Активные",
"system": "Системные"
},
"actions": {
"edit": "Редактировать",
"delete": "Удалить"
},
"modal": {
"createTitle": "Создание роли",
"editTitle": "Редактирование роли",
"close": "Закрыть"
},
"form": {
"name": "Название роли",
"namePlaceholder": "например, Модератор",
"description": "Описание",
"descriptionPlaceholder": "Для чего нужна эта роль...",
"level": "Уровень приоритета",
"levelValue": "Значение уровня",
"levelHint": "Чем выше уровень, тем больше полномочий. Пользователи могут управлять только ролями с уровнем ниже своего.",
"color": "Цвет",
"presets": "Шаблоны прав",
"permissions": "Разрешения",
"permissionSections": {
"users": "Пользователи",
"tickets": "Тикеты",
"stats": "Статистика",
"sales_stats": "Статистика продаж",
"broadcasts": "Рассылки",
"tariffs": "Тарифы",
"promocodes": "Промокоды",
"promo_groups": "Промо-группы",
"promo_offers": "Промо-предложения",
"campaigns": "Кампании",
"partners": "Партнёры",
"withdrawals": "Выводы средств",
"payments": "Платежи",
"payment_methods": "Методы оплаты",
"servers": "Серверы",
"remnawave": "Remnawave",
"traffic": "Трафик",
"settings": "Настройки",
"roles": "Роли",
"audit_log": "Журнал аудита",
"channels": "Каналы",
"ban_system": "Система банов",
"wheel": "Колесо фортуны",
"apps": "Приложения",
"email_templates": "Шаблоны писем",
"pinned_messages": "Закреплённые сообщения",
"landings": "Лендинги",
"updates": "Обновления"
},
"permissionActions": {
"read": "Чтение",
"edit": "Редактирование",
"create": "Создание",
"delete": "Удаление",
"block": "Блокировка",
"sync": "Синхронизация",
"reply": "Ответ",
"close": "Закрытие",
"settings": "Настройки",
"export": "Экспорт",
"send": "Отправка",
"stats": "Статистика",
"approve": "Одобрение",
"revoke": "Отзыв",
"reject": "Отклонение",
"manage": "Управление",
"ban": "Бан",
"unban": "Разбан",
"assign": "Назначение",
"promo_group": "Промо-группа",
"balance": "Баланс",
"subscription": "Подписка",
"send_offer": "Промо-предложение",
"referral": "Реф. процент"
},
"toggleSection": "Переключить все права {{section}}",
"selectedPermissions_one": "{{count}} разрешение выбрано",
"selectedPermissions_few": "{{count}} разрешения выбрано",
"selectedPermissions_many": "{{count}} разрешений выбрано",
"cancel": "Отмена",
"saving": "Сохранение...",
"save": "Сохранить"
},
"presets": {
"moderator": "Модератор",
"marketer": "Маркетолог",
"support": "Поддержка"
},
"confirm": {
"title": "Удалить роль?",
"text": "Роль будет безвозвратно удалена. Пользователи с этой ролью потеряют её права.",
"cancel": "Отмена",
"delete": "Удалить",
"deleting": "Удаление..."
},
"errors": {
"loadFailed": "Не удалось загрузить роли",
"createFailed": "Не удалось создать роль",
"updateFailed": "Не удалось обновить роль",
"nameRequired": "Укажите название роли",
"deleteFailed": "Не удалось удалить роль"
}
},
"roleAssign": {
"title": "Назначение ролей",
"subtitle": "Назначение и управление ролями пользователей",
"assignSection": "Назначить роль",
"userLabel": "Пользователь",
"searchPlaceholder": "Поиск по имени, username, Telegram ID или email...",
"clearUser": "Очистить выбранного пользователя",
"noUsersFound": "Пользователи не найдены",
"roleLabel": "Роль",
"selectRole": "Выберите роль...",
"expiresLabel": "Истекает (необязательно)",
"expiresHint": "Оставьте пустым для бессрочного назначения",
"assignButton": "Назначить",
"assigning": "Назначение...",
"assignSuccess": "Роль успешно назначена",
"currentAssignments": "Текущие назначения",
"totalAssignments_one": "{{count}} назначение",
"totalAssignments_few": "{{count}} назначения",
"totalAssignments_many": "{{count}} назначений",
"noAssignments": "Назначения ролей не найдены",
"unknownUser": "Неизвестный пользователь",
"system": "Система",
"permanent": "Бессрочно",
"expired": "истекло",
"envManaged": "Управляется через ADMIN_IDS / ADMIN_EMAILS в env",
"revoke": "Отозвать",
"revokeAriaLabel": "Отозвать роль {{role}} у {{user}}",
"table": {
"user": "Пользователь",
"role": "Роль",
"assignedBy": "Назначил",
"assignedAt": "Дата назначения",
"expires": "Истекает",
"actions": "Действия"
},
"pagination": {
"showing": "{{from}}-{{to}} из {{total}}",
"prev": "Предыдущая страница",
"next": "Следующая страница"
},
"confirm": {
"title": "Отозвать роль?",
"text": "Пользователь немедленно потеряет все права, связанные с этой ролью.",
"cancel": "Отмена",
"revoke": "Отозвать",
"revoking": "Отзыв..."
},
"errors": {
"userRequired": "Выберите пользователя",
"roleRequired": "Выберите роль",
"assignFailed": "Не удалось назначить роль",
"revokeFailed": "Не удалось отозвать роль"
}
},
"policies": {
"title": "Политики доступа",
"subtitle": "Управление политиками контроля доступа ABAC",
"createPolicy": "Создать политику",
"noPolicies": "Политики не найдены",
"inactiveBadge": "Неактивна",
"effectAllow": "Разрешить",
"effectDeny": "Запретить",
"global": "Глобальная",
"unknownRole": "Неизвестная роль",
"roleLabel": "Роль",
"priorityLabel": "Приоритет",
"stats": {
"total": "Всего политик",
"allow": "Разрешающие",
"deny": "Запрещающие",
"active": "Активные"
},
"actions": {
"edit": "Редактировать",
"delete": "Удалить"
},
"modal": {
"createTitle": "Создание политики",
"editTitle": "Редактирование политики",
"close": "Закрыть"
},
"form": {
"name": "Название политики",
"namePlaceholder": "например, Блокировка ночного доступа",
"description": "Описание",
"descriptionPlaceholder": "Что делает эта политика...",
"effect": "Эффект",
"resource": "Ресурс",
"selectResource": "Выберите ресурс...",
"actions": "Действия",
"role": "Роль (необязательно)",
"globalOption": "Глобальная (все роли)",
"roleHint": "Оставьте Глобальная, чтобы политика применялась ко всем ролям.",
"priority": "Приоритет",
"priorityHint": "Политики с более высоким приоритетом проверяются первыми. Запрет перекрывает Разрешение при равном приоритете.",
"conditions": "Условия",
"cancel": "Отмена",
"saving": "Сохранение...",
"save": "Сохранить"
},
"conditions": {
"timeRange": "Временной диапазон",
"timeStart": "Время начала",
"timeEnd": "Время окончания",
"ipWhitelist": "Белый список IP",
"ipPlaceholder": "Введите IP и нажмите Enter...",
"removeIp": "Удалить {{ip}}",
"ipCount_one": "{{count}} IP",
"ipCount_few": "{{count}} IP",
"ipCount_many": "{{count}} IP",
"rateLimit": "Лимит запросов",
"rateLimitValue": "Значение лимита запросов",
"rateValue": "{{count}}/ч",
"perHour": "действий в час",
"weekdays": "Дни недели",
"day0": "Вс",
"day1": "Пн",
"day2": "Вт",
"day3": "Ср",
"day4": "Чт",
"day5": "Пт",
"day6": "Сб"
},
"confirm": {
"title": "Удалить политику?",
"text": "Политика будет безвозвратно удалена. Правила контроля доступа будут пересчитаны.",
"cancel": "Отмена",
"delete": "Удалить",
"deleting": "Удаление..."
},
"errors": {
"loadFailed": "Не удалось загрузить политики",
"createFailed": "Не удалось создать политику",
"updateFailed": "Не удалось обновить политику",
"nameRequired": "Укажите название политики",
"resourceRequired": "Выберите ресурс",
"actionsRequired": "Выберите хотя бы одно действие",
"deleteFailed": "Не удалось удалить политику"
}
},
"auditLog": {
"title": "Журнал аудита",
"subtitle": "Просмотр активности системы и истории доступа",
"back": "Назад",
"exportCsv": "Экспорт CSV",
"exportError": "Ошибка экспорта",
"exporting": "Экспорт...",
"refresh": "Обновить",
"unknownUser": "Неизвестный пользователь",
"noEntries": "Записи журнала аудита не найдены",
"totalEntries_one": "{{count}} запись",
"totalEntries_few": "{{count}} записи",
"totalEntries_many": "{{count}} записей",
"autoRefresh": {
"label": "Автообновление",
"tooltip": "Автообновление каждые 30 секунд"
},
"filters": {
"title": "Фильтры",
"active": "Активны",
"user": "Пользователь",
"action": "Действие",
"actionPlaceholder": "Поиск по действию...",
"resource": "Тип ресурса",
"allResources": "Все ресурсы",
"status": "Статус",
"allStatuses": "Все статусы",
"dateFrom": "Дата от",
"dateTo": "Дата до",
"apply": "Применить",
"clear": "Сбросить"
},
"status": {
"success": "Успешно",
"denied": "Отказано",
"error": "Ошибка"
},
"resourceTypes": {
"users": "Пользователи",
"tickets": "Тикеты",
"roles": "Роли",
"policies": "Политики",
"settings": "Настройки",
"broadcasts": "Рассылки",
"tariffs": "Тарифы",
"servers": "Серверы",
"payments": "Платежи",
"campaigns": "Кампании",
"promocodes": "Промокоды"
},
"details": {
"userAgent": "User Agent",
"requestPath": "Путь запроса",
"ipAddress": "IP-адрес",
"timestamp": "Время",
"before": "До",
"after": "После",
"queryParams": "Параметры запроса",
"requestBody": "Тело запроса",
"fullDetails": "Полные данные"
},
"time": {
"justNow": "Только что",
"minutesAgo_one": "{{count}} мин назад",
"minutesAgo_few": "{{count}} мин назад",
"minutesAgo_many": "{{count}} мин назад",
"hoursAgo_one": "{{count}} ч назад",
"hoursAgo_few": "{{count}} ч назад",
"hoursAgo_many": "{{count}} ч назад",
"daysAgo_one": "{{count}} день назад",
"daysAgo_few": "{{count}} дня назад",
"daysAgo_many": "{{count}} дней назад"
},
"pagination": {
"pageSize": "На странице:",
"pageOf": "{{current}} / {{total}}",
"first": "Первая страница",
"previous": "Предыдущая страница",
"next": "Следующая страница",
"last": "Последняя страница"
},
"errors": {
"loadFailed": "Не удалось загрузить журнал аудита",
"retry": "Попробовать снова"
}
},
"landings": {
"title": "Лендинги",
"create": "Создать лендинг",
"edit": "Редактировать",
"slug": "URL-идентификатор",
"slugHint": "Латиница, цифры и дефис",
"pageTitle": "Заголовок",
"subtitle": "Подзаголовок",
"footerText": "Текст внизу (HTML)",
"features": "Преимущества",
"addFeature": "Добавить",
"featureIcon": "Иконка",
"featureTitle": "Заголовок",
"featureDesc": "Описание",
"tariffs": "Тарифы",
"selectTariffs": "Выберите тарифы",
"periods": "Периоды",
"paymentMethods": "Способы оплаты",
"addMethod": "Добавить метод",
"methodId": "ID метода",
"methodName": "Название",
"methodDesc": "Описание",
"methodIcon": "URL иконки",
"gifts": "Подарки",
"giftEnabled": "Покупка в подарок",
"customCss": "CSS",
"seo": "SEO",
"metaTitle": "Meta Title",
"metaDesc": "Meta Description",
"active": "Активен",
"inactive": "Неактивен",
"purchaseCount": "покупок",
"copyUrl": "Скопировать URL",
"urlCopied": "URL скопирован",
"deleteConfirm": "Удалить лендинг «{{title}}»?",
"created": "Лендинг создан",
"updated": "Лендинг обновлён",
"deleted": "Лендинг удалён",
"saveOrder": "Сохранить порядок",
"orderSaved": "Порядок сохранён",
"general": "Основное",
"content": "Контент",
"save": "Сохранить",
"back": "Назад",
"invalidSlug": "Slug может содержать только строчные буквы, цифры и дефисы",
"titleRequired": "Заголовок обязателен",
"noTariffs": "Выберите хотя бы один тариф",
"noPaymentMethods": "Добавьте хотя бы один способ оплаты",
"selectMethods": "Выберите доступные методы",
"noSystemMethods": "В системе не настроено ни одного способа оплаты",
"methodOrder": "Перетащите для изменения порядка",
"methodSubOptions": "Варианты оплаты",
"loadingPeriods": "Загрузка...",
"periodDaySuffix": "д",
"localeTab": "Язык",
"localeHint": "Переключите язык для редактирования текста на этом языке",
"discount": "Скидка",
"discountEnabled": "Включить скидку",
"discountPercent": "Скидка %",
"discountStartsAt": "Дата начала",
"discountEndsAt": "Дата окончания",
"discountBadge": "Текст баннера (необязательно)",
"discountBadgePlaceholder": "напр. Весенняя распродажа!",
"discountOverrides": "Индивидуальные скидки по тарифам",
"discountOverridesHint": "Оставьте пустым для использования общей скидки",
"discountPreview": "Предпросмотр",
"discountActive": "Скидка",
"background": "Анимированный фон",
"analytics": "Аналитика",
"viewGoal": "Цель просмотра",
"clickGoal": "Цель клика оплаты",
"statistics": "Статистика",
"stats": {
"title": "Статистика лендинга",
"totalPurchases": "Покупки",
"revenue": "Доход",
"giftPurchases": "Подарки",
"regularPurchases": "Обычные",
"conversionRate": "Конверсия",
"avgPurchase": "Средний чек",
"dailyChart": "Покупки и доход по дням",
"tariffChart": "Распределение по тарифам",
"giftBreakdown": "Подарки vs обычные",
"purchases": "Покупки",
"revenueLabel": "Доход",
"gifts": "Подарки",
"regular": "Обычные",
"created": "Создано",
"successful": "Успешных",
"funnel": "Воронка",
"loadError": "Не удалось загрузить статистику",
"noPurchases": "Нет покупок",
"paid": "оплачено"
},
"purchases": {
"title": "Покупки",
"contact": "Контакт",
"recipient": "Получатель",
"tariff": "Тариф",
"period": "Период",
"days": "дн.",
"price": "Цена",
"method": "Метод",
"date": "Дата",
"gift": "Подарок",
"forSelf": "Для себя",
"allStatuses": "Все статусы",
"status_pending": "Ожидание",
"status_paid": "Оплачен",
"status_delivered": "Доставлен",
"status_pending_activation": "Ожидает активации",
"status_failed": "Ошибка",
"status_expired": "Истёк",
"noPurchases": "Нет покупок",
"showing": "Показано {{from}}{{to}} из {{total}}",
"page": "Стр. {{current}} из {{total}}",
"prev": "Назад",
"next": "Далее"
}
},
"infoPages": {
"title": "Информационные страницы",
"subtitle": "Управление статическими информационными страницами",
"create": "Создать страницу",
"createFaq": "Создать FAQ",
"edit": "Редактировать",
"save": "Сохранить",
"saving": "Сохранение...",
"saved": "Страница сохранена",
"delete": "Удалить",
"confirmDelete": "Удалить эту страницу?",
"saveError": "Не удалось сохранить страницу. Попробуйте ещё раз.",
"noPages": "Информационных страниц пока нет",
"notFound": "Страница не найдена",
"active": "Активна",
"inactive": "Неактивна",
"typePage": "Страница",
"localeLabel": "Язык контента",
"fields": {
"slug": "URL-адрес",
"title": "Заголовок",
"content": "Содержание",
"isActive": "Активна",
"sortOrder": "Порядок сортировки",
"icon": "Иконка (эмодзи)",
"pageType": "Тип страницы",
"replacesTab": "Заменяет таб"
},
"replacesTabNone": "Не заменяет",
"replacesTabOptions": {
"faq": "FAQ",
"rules": "Правила",
"privacy": "Конфиденциальность",
"offer": "Оферта"
},
"replacesTabConflict": "уже занят",
"replacesTabWarning": "Другая страница уже заменяет этот таб. При сохранении она будет снята.",
"filter": {
"all": "Все",
"page": "Страницы",
"faq": "FAQ"
},
"pageTypes": {
"page": "Страница",
"faq": "FAQ"
},
"faq": {
"questions": "Вопросы и ответы",
"questionsCount": "вопросов",
"noQuestions": "Вопросов пока нет. Нажмите кнопку ниже, чтобы добавить.",
"questionNumber": "Вопрос #{{n}}",
"question": "Вопрос",
"answer": "Ответ",
"questionPlaceholder": "Введите вопрос...",
"answerPlaceholder": "Введите ответ (поддерживается HTML)...",
"htmlHint": "Поддерживается HTML-разметка",
"addQuestion": "Добавить вопрос",
"removeQuestion": "Удалить вопрос",
"moveUp": "Переместить вверх",
"moveDown": "Переместить вниз",
"searchPlaceholder": "Поиск по вопросам...",
"noResults": "Ничего не найдено"
},
"locales": {
"ru": "Русский",
"en": "Английский",
"zh": "Китайский",
"fa": "Персидский"
}
}
},
"adminUpdates": {
"title": "Обновления",
"subtitle": "История релизов бота и кабинета",
"bot": "Бот",
"cabinet": "Кабинет",
"currentVersion": "Текущая версия",
"upToDate": "Актуальная версия",
"updateAvailable": "Доступно обновление",
"published": "Опубликовано",
"prerelease": "Предрелиз",
"refresh": "Проверить обновления",
"noReleases": "Нет данных о релизах"
},
"adminDashboard": {
"title": "Панель статистики",
"subtitle": "Обзор системы в реальном времени",
"refresh": "Обновить",
"loadError": "Не удалось загрузить статистику",
"stats": {
"usersOnline": "Пользователей онлайн",
"activeSubscriptions": "Активных подписок",
"incomeToday": "Доход за сегодня",
"incomeMonth": "Доход за месяц",
"incomeTotal": "Общий доход",
"subscriptionIncome": "Доход от подписок",
"total": "всего"
},
"nodes": {
"title": "Ноды",
"online": "Онлайн",
"offline": "Оффлайн",
"disabled": "Отключена",
"noNodes": "Нет доступных нод",
"usersOnline": "Онлайн",
"traffic": "Трафик",
"enable": "Включить",
"disable": "Отключить",
"hide": "Скрыть ({{count}})",
"showMore_one": "Показать еще {{count}} ноду",
"showMore_few": "Показать еще {{count}} ноды",
"showMore_many": "Показать еще {{count}} нод"
},
"revenue": {
"title": "Доходы",
"last7Days": "За последние 7 дней"
},
"subscriptions": {
"title": "Подписки",
"subtitle": "Статистика подписок",
"active": "Активных",
"trial": "Пробных",
"paid": "Оплаченных",
"expired": "Истекших",
"newSubscriptions": "Новые подписки",
"today": "Сегодня",
"week": "Неделя",
"month": "Месяц",
"conversion": "Конверсия триал→платные"
},
"servers": {
"title": "Серверы",
"total": "Всего серверов",
"available": "Доступных",
"withConnections": "С подключениями",
"revenue": "Доход"
},
"tariffs": {
"title": "Статистика по тарифам",
"subtitle": "Распределение подписок по тарифам",
"tariffName": "Тариф",
"activeSubscriptions": "Активных",
"trialSubscriptions": "Триал",
"purchasedToday": "Сегодня",
"purchasedWeek": "Неделя",
"purchasedMonth": "Месяц",
"noTariffs": "Нет тарифов"
},
"topReferrers": {
"title": "Топ рефералов",
"stats_one": "реф., {{count}} пригл.",
"stats_few": "реф., {{count}} пригл.",
"stats_many": "реф., {{count}} пригл.",
"byEarnings": "По доходу",
"byInvited": "По пригл.",
"invites": "пригл.",
"people": "чел."
},
"period": {
"today": "Сегодня",
"week": "Неделя",
"month": "Месяц"
},
"topCampaigns": {
"title": "Топ РК ссылок",
"stats_one": "камп., {{count}} рег.",
"stats_few": "камп., {{count}} рег.",
"stats_many": "камп., {{count}} рег.",
"total": "Всего от РК"
},
"recentPayments": {
"title": "Последние платежи",
"today": "Сегодня: {{amount}}",
"week": "За неделю: {{amount}}"
},
"table": {
"user": "Пользователь",
"type": "Тип",
"amount": "Сумма",
"method": "Метод",
"date": "Дата"
},
"systemInfo": {
"title": "Система",
"cabinet": "Кабинет",
"bot": "Бот",
"python": "Python",
"uptime": "Аптайм",
"users": "Юзеров",
"activeSubs": "Подписок"
}
},
"banSystem": {
"title": "Мониторинг банов",
"subtitle": "Управление системой банов BedolagaBan",
"contactTelegram": "Написать в Telegram",
"notConfigured": "Ban система не настроена",
"configureHint": "Укажите BAN_SYSTEM_API_URL и BAN_SYSTEM_API_TOKEN в конфигурации",
"loadError": "Не удалось загрузить данные",
"tabs": {
"dashboard": "Статистика",
"users": "Пользователи",
"punishments": "Баны",
"nodes": "Ноды",
"agents": "Агенты",
"violations": "Нарушения",
"traffic": "Трафик",
"reports": "Отчёты",
"settings": "Настройки",
"health": "Здоровье"
},
"stats": {
"activeUsers": "Активных пользователей",
"total": "Всего",
"usersOverLimit": "Превысили лимит",
"activeBans": "Активных банов",
"nodesOnline": "Нод онлайн",
"agentsOnline": "Агентов онлайн",
"totalRequests": "Всего запросов",
"panelStatus": "Статус панели",
"connected": "Подключена",
"disconnected": "Отключена",
"uptime": "Аптайм"
},
"dashboard": {
"totalUsers": "Всего пользователей",
"activeUsers": "Активных пользователей",
"usersOverLimit": "Превысили лимит",
"totalRequests": "Всего запросов",
"totalPunishments": "Всего наказаний",
"activePunishments": "Активных банов",
"nodesOnline": "Нод онлайн",
"agentsOnline": "Агентов онлайн",
"panelConnected": "Панель подключена",
"panelDisconnected": "Панель отключена",
"uptime": "Аптайм"
},
"users": {
"title": "Пользователи",
"searchPlaceholder": "Поиск по email...",
"email": "Email",
"uniqueIps": "Уникальных IP",
"ipCount": "IP",
"requests": "Запросов",
"limit": "Лимит",
"status": "Статус",
"bans": "Баны",
"lastSeen": "Последняя активность",
"overLimit": "Превышен лимит",
"ok": "OK",
"normal": "Норма",
"noLimit": "Без лимита",
"noUsers": "Пользователи не найдены",
"viewDetails": "Подробнее",
"networkType": "Тип сети",
"filter": {
"all": "Все",
"overLimit": "Превысили лимит",
"normal": "В норме"
}
},
"userDetail": {
"title": "Детали пользователя",
"email": "Email",
"uniqueIps": "Уникальных IP",
"totalRequests": "Всего запросов",
"limit": "Лимит устройств",
"status": "Статус",
"networkType": "Тип сети",
"ipHistory": "История IP",
"recentRequests": "Последние запросы",
"ip": "IP адрес",
"firstSeen": "Первое подключение",
"lastSeen": "Последнее подключение",
"node": "Нода",
"requestCount": "Запросов",
"requests": "Запросов",
"country": "Страна",
"city": "Город",
"timestamp": "Время",
"sourceIp": "IP источника",
"destination": "Назначение",
"port": "Порт",
"protocol": "Протокол",
"action": "Действие",
"noIps": "Нет данных об IP",
"noRequests": "Нет данных о запросах",
"ban": "Забанить",
"close": "Закрыть"
},
"punishments": {
"title": "Активные баны",
"user": "Пользователь",
"username": "Пользователь",
"reason": "Причина",
"punishedAt": "Забанен",
"bannedAt": "Забанен",
"enableAt": "Разбан в",
"ipCount": "IP",
"limit": "Лимит",
"node": "Нода",
"actions": "Действия",
"unban": "Разбанить",
"noPunishments": "Активных банов нет",
"noBans": "Активных банов нет",
"unbanConfirm": "Разбанить пользователя {{username}}?",
"unbanSuccess": "Пользователь разбанен",
"unbanError": "Ошибка разбана",
"history": "История банов",
"searchHistory": "Поиск истории...",
"noHistory": "История не найдена"
},
"banModal": {
"title": "Забанить пользователя",
"username": "Username",
"usernamePlaceholder": "Введите username",
"duration": "Длительность (минуты)",
"durationPlaceholder": "Введите длительность в минутах",
"reason": "Причина",
"reasonPlaceholder": "Введите причину бана (опционально)",
"cancel": "Отмена",
"ban": "Забанить",
"success": "Пользователь забанен",
"error": "Ошибка бана"
},
"nodes": {
"title": "Ноды",
"name": "Название",
"address": "Адрес",
"status": "Статус",
"lastSeen": "Последняя активность",
"usersCount": "Пользователей",
"users": "Пользователей",
"online": "Онлайн",
"offline": "Оффлайн",
"noNodes": "Ноды не найдены",
"total": "Всего",
"onlineCount": "Онлайн"
},
"agents": {
"title": "Агенты",
"nodeName": "Нода",
"node": "Нода",
"status": "Статус",
"health": "Здоровье",
"sent": "Отправлено",
"dropped": "Отброшено",
"totalSent": "Всего отправлено",
"totalDropped": "Всего отброшено",
"batches": "Пакетов",
"reconnects": "Переподключений",
"failures": "Ошибок",
"queue": "Очередь",
"dedup": "Дедупликация",
"filter": "Фильтрация",
"lastReport": "Последний отчёт",
"online": "Онлайн",
"offline": "Оффлайн",
"healthy": "Здоровых",
"warning": "Предупреждение",
"critical": "Критический",
"noAgents": "Агенты не найдены",
"summary": {
"title": "Сводка",
"totalAgents": "Всего агентов",
"onlineAgents": "Онлайн",
"totalSent": "Отправлено",
"totalDropped": "Отброшено",
"avgQueueSize": "Средний размер очереди",
"healthyCount": "Здоровых",
"warningCount": "С предупреждениями",
"criticalCount": "Критических"
}
},
"violations": {
"title": "Нарушения трафика",
"user": "Пользователь",
"username": "Пользователь",
"email": "Email",
"type": "Тип",
"description": "Описание",
"bytesUsed": "Использовано",
"bytesLimit": "Лимит",
"detectedAt": "Обнаружено",
"status": "Статус",
"resolved": "Решено",
"active": "Активно",
"noViolations": "Нарушений не обнаружено",
"yes": "Да",
"no": "Нет"
},
"traffic": {
"title": "Статистика трафика",
"enabled": "Мониторинг трафика",
"topUsers": "Топ по трафику",
"username": "Пользователь",
"bytesTotal": "Всего",
"bytesLimit": "Лимит",
"status": "Статус",
"overLimit": "Превышен",
"ok": "OK",
"recentViolations": "Последние нарушения"
},
"reports": {
"title": "Отчёты за период",
"period": "Период",
"currentUsers": "Активных пользователей",
"currentIps": "Уникальных IP",
"topViolators": "Топ нарушителей",
"username": "Пользователь",
"count": "Нарушений"
},
"settings": {
"title": "Настройки системы",
"general": "Общие",
"limits": "Лимиты",
"notifications": "Уведомления",
"whitelist": "Белый список",
"saved": "Настройка сохранена",
"error": "Ошибка сохранения",
"categories": {
"general": "Общие настройки",
"punishment": "Наказания",
"progressive_bans": "Прогрессивные баны",
"traffic": "Мониторинг трафика",
"network": "Детекция сети",
"notifications": "Уведомления",
"rate_limit": "Лимиты запросов"
},
"punishment_enabled": "Включить автобан",
"punishment_minutes": "Длительность бана (минуты)",
"ip_window_seconds": "Окно подсчёта IP (секунды)",
"notify_on_punishment": "Уведомлять о банах",
"notify_on_node_status": "Уведомлять о статусе нод",
"daily_report_enabled": "Ежедневный отчёт",
"daily_report_hour": "Час отправки отчёта",
"rate_limit_max": "Макс. запросов",
"rate_limit_window": "Окно лимита (сек)",
"heartbeat_timeout": "Таймаут heartbeat (сек)",
"progressive_bans_enabled": "Прогрессивные баны",
"progressive_ban_1": "1-й бан (минуты)",
"progressive_ban_2": "2-й бан (минуты)",
"progressive_ban_3": "3-й бан (минуты)",
"progressive_ban_window_hours": "Окно сброса (часы)",
"traffic_monitor_enabled": "Мониторинг трафика",
"traffic_limit_gb": "Лимит трафика (ГБ)",
"traffic_window_minutes": "Окно проверки (мин)",
"traffic_check_interval": "Интервал проверки (мин)",
"traffic_ban_minutes": "Бан за трафик (мин)",
"network_detection_enabled": "Детекция типа сети",
"network_detection_nodes": "Ноды для детекции",
"network_detection_monitor_all": "Мониторить все ноды",
"network_detection_collect_all": "Собирать со всех нод",
"network_notify_mobile": "Уведомлять о мобильных",
"network_block_mobile": "Блокировать мобильные",
"network_block_mobile_minutes": "Блок мобильных (мин)",
"network_notify_wifi": "Уведомлять о WiFi",
"network_block_wifi": "Блокировать WiFi",
"network_block_wifi_minutes": "Блок WiFi (мин)"
},
"health": {
"title": "Состояние системы",
"systemStatus": "Статус системы",
"healthy": "Здорова",
"degraded": "Деградация",
"unhealthy": "Проблема",
"components": "Компоненты",
"uptime": "Аптайм"
}
},
"profile": {
"title": "Профиль",
"accountInfo": "Информация об аккаунте",
"telegramId": "Telegram ID",
"username": "Имя пользователя",
"name": "Имя",
"registeredAt": "Дата регистрации",
"emailAuth": "Авторизация по Email",
"linkEmailDescription": "Привяжите email для входа без Telegram. После привязки на ваш email придёт письмо для подтверждения.",
"linkEmail": "Привязать Email",
"emailRequired": "Введите email",
"invalidEmail": "Введите корректный email адрес",
"passwordMinLength": "Пароль должен быть минимум 8 символов",
"passwordsMismatch": "Пароли не совпадают",
"passwordPlaceholder": "Введите пароль",
"confirmPasswordPlaceholder": "Подтвердите пароль",
"passwordHint": "Минимум 8 символов",
"emailSent": "Письмо для подтверждения отправлено! Проверьте почту.",
"verified": "Подтверждён",
"notVerified": "Не подтверждён",
"verificationRequired": "Подтвердите email для использования входа по почте.",
"resendVerification": "Отправить письмо повторно",
"resendIn": "Повторить через {{seconds}} сек.",
"verificationResent": "Письмо отправлено повторно!",
"canLoginWithEmail": "Теперь вы можете входить с помощью email и пароля.",
"emailAlreadyRegistered": "Этот email уже привязан к другому аккаунту. Если это ваш email, войдите через него или обратитесь в поддержку.",
"alreadyHaveEmail": "У вас уже привязан подтверждённый email.",
"changeEmail": {
"button": "Сменить почту",
"title": "Смена почты",
"description": "Введите новый email адрес. На него будет отправлен код подтверждения.",
"currentEmail": "Текущий email",
"newEmail": "Новый email",
"sendCode": "Отправить код",
"enterCode": "Введите код",
"enterCodeDescription": "Введите код подтверждения, отправленный на новую почту.",
"verificationCode": "Код подтверждения",
"codeSentTo": "Код отправлен на {{email}}",
"verify": "Подтвердить",
"resendCode": "Отправить код повторно",
"resendIn": "Повторить через {{seconds}} сек.",
"success": "Email успешно изменён!",
"successDescription": "Ваш email был успешно обновлён.",
"emailAlreadyUsed": "Этот email уже используется другим аккаунтом.",
"sameEmail": "Новый email совпадает с текущим.",
"invalidCode": "Неверный код подтверждения.",
"codeExpired": "Срок действия кода истёк. Запросите новый.",
"tooManyRequests": "Слишком много запросов. Попробуйте позже."
},
"notifications": {
"title": "Настройки уведомлений",
"subscriptionExpiry": "Окончание подписки",
"subscriptionExpiryDesc": "Уведомлять о скором истечении подписки",
"daysBeforeExpiry": "Дней до окончания",
"trafficWarning": "Предупреждение о трафике",
"trafficWarningDesc": "Уведомлять при достижении лимита трафика",
"atPercent": "При использовании",
"balanceLow": "Низкий баланс",
"balanceLowDesc": "Уведомлять о низком балансе",
"threshold": "Порог",
"news": "Новости",
"newsDesc": "Получать новости и обновления сервиса",
"promoOffers": "Промо-предложения",
"promoOffersDesc": "Получать специальные предложения и скидки",
"unavailable": "Настройки уведомлений недоступны"
},
"accounts": {
"title": "Привязанные аккаунты",
"subtitle": "Управляйте способами входа в кабинет",
"linked": "Привязан",
"notLinked": "Не привязан",
"link": "Привязать",
"unlink": "Отвязать",
"unlinkConfirm": "Вы уверены? После отвязки вы не сможете входить через этот сервис.",
"unlinkConfirmBtn": "Точно отвязать?",
"cannotUnlinkLast": "Нельзя отвязать последний способ входа",
"linkSuccess": "Аккаунт успешно привязан",
"unlinkSuccess": "Аккаунт успешно отвязан",
"linkError": "Не удалось привязать аккаунт",
"telegramLinkUnavailable": "Привязка Telegram временно недоступна. Используйте бота:",
"unlinkError": "Не удалось отвязать аккаунт",
"goToAccounts": "Привязанные аккаунты",
"linking": "Привязка аккаунта...",
"linkingTelegram": "Привязка Telegram...",
"returnToTelegram": "Вернитесь в Telegram, чтобы продолжить",
"openTelegram": "Открыть Telegram",
"continueInBrowser": "Продолжите авторизацию в открывшемся браузере",
"pollingTimeout": "Проверка авторизации истекла. Обновите страницу, если привязка завершена.",
"providers": {
"telegram": "Telegram",
"email": "Email",
"google": "Google",
"yandex": "Яндекс",
"discord": "Discord",
"vk": "VK"
}
}
},
"theme": {
"colors": "Цвета темы",
"reset": "Сбросить",
"quickPresets": "Быстрые пресеты",
"quickPresetsDescription": "Выберите готовую цветовую схему",
"customColors": "Ручная настройка",
"customColorsDescription": "Настройте каждый цвет отдельно",
"accent": "Акцентный цвет",
"accentDescription": "Основной цвет бренда для кнопок, ссылок и интерактивных элементов",
"darkTheme": "Тёмная тема",
"lightTheme": "Светлая тема",
"background": "Фон",
"surface": "Поверхность",
"text": "Текст",
"textSecondary": "Вторичный текст",
"statusColors": "Статусные цвета",
"success": "Успех",
"warning": "Предупреждение",
"error": "Ошибка",
"preview": "Предпросмотр",
"previewButton": "Основная кнопка",
"previewSecondary": "Вторичная кнопка",
"light": "Светлая тема",
"dark": "Тёмная тема"
},
"languages": {
"ru": "Русский",
"en": "English",
"zh": "中文",
"fa": "فارسی"
},
"contests": {
"title": "Конкурсы",
"error": "Ошибка загрузки конкурсов",
"noContests": "Нет доступных конкурсов",
"days": "дней",
"days_one": "{{count}} день",
"days_few": "{{count}} дня",
"days_many": "{{count}} дней",
"play": "Участвовать",
"alreadyPlayed": "Уже участвовали",
"enterAnswer": "Введите ответ",
"submit": "Отправить",
"imHere": "Я здесь!"
},
"polls": {
"title": "Опросы",
"error": "Ошибка загрузки опросов",
"noPolls": "Нет доступных опросов",
"questions": "вопросов",
"questions_one": "{{count}} вопрос",
"questions_few": "{{count}} вопроса",
"questions_many": "{{count}} вопросов",
"question": "Вопрос",
"of": "из",
"start": "Начать",
"continue": "Продолжить",
"completed": "Завершён",
"reward": "₽"
},
"info": {
"title": "Информация",
"faq": "FAQ",
"rules": "Правила",
"privacy": "Конфиденциальность",
"offer": "Оферта",
"loyalty": "Статусы",
"noFaq": "Нет вопросов и ответов",
"noContent": "Нет контента",
"updatedAt": "Обновлено",
"noLoyaltyTiers": "Программа лояльности пока недоступна",
"yourProgress": "Ваш прогресс",
"totalSpent": "Всего потрачено",
"currentStatus": "Текущий статус",
"nextStatus": "Следующий статус",
"toNextStatus": "До следующего статуса",
"allStatusesAchieved": "Вы достигли максимального статуса!",
"statusAchieved": "Достигнут",
"statusCurrent": "Текущий",
"statusLocked": "Недоступен",
"threshold": "Порог",
"discounts": "Скидки",
"serverDiscount": "На серверы",
"trafficDiscount": "На трафик",
"deviceDiscount": "На устройства",
"periodDiscount": "За {{days}} дн.",
"noDiscounts": "Нет скидок"
},
"onboarding": {
"skip": "Пропустить",
"finish": "Готово",
"steps": {
"welcome": {
"title": "Добро пожаловать!",
"description": "Это ваш личный кабинет. Здесь вы можете управлять подпиской, пополнять баланс и подключать устройства."
},
"connectDevices": {
"title": "Подключите устройства",
"description": "Нажмите эту кнопку, чтобы получить инструкции по подключению VPN на ваших устройствах."
},
"balance": {
"title": "Ваш баланс",
"description": "Здесь отображается ваш текущий баланс. Нажмите, чтобы пополнить его."
},
"subscription": {
"title": "Статус подписки",
"description": "Здесь вы видите сколько дней осталось до окончания подписки."
},
"quickActions": {
"title": "Быстрые действия",
"description": "Используйте эти кнопки для быстрого доступа к основным функциям: пополнению баланса, продлению подписки и приглашению друзей."
}
}
},
"promo": {
"activeDiscount": "Активная скидка",
"discountActive": "Скидка активна!",
"discountDescription": "Ваша персональная скидка применяется к покупке подписки",
"expiresIn": "Истекает через",
"source": "Источник",
"useNow": "Использовать сейчас",
"discountApplied": "Скидка применена",
"time": {
"days": "д",
"hours": "ч",
"minutes": "м"
},
"offers": {
"expired": "Истекло",
"testAccess": "Тестовый доступ",
"discountPercent": "Скидка {{percent}}%",
"specialOffer": "Специальное предложение",
"serverAccess": "Доступ к {{count}} серверам",
"serverAccess_one": "Доступ к {{count}} серверу",
"serverAccess_few": "Доступ к {{count}} серверам",
"serverAccess_many": "Доступ к {{count}} серверам",
"additionalServers": "Доступ к дополнительным серверам",
"activateDiscountHint": "Активируйте скидку на покупку подписки",
"activationFailed": "Не удалось активировать предложение",
"discountActiveTitle": "Скидка {{percent}}% активна",
"statusActive": "Действует",
"expires": "Истекает: {{time}}",
"remaining": "Осталось: {{time}}",
"test": "Тест",
"activating": "Активация...",
"activate": "Активировать"
},
"deactivate": {
"button": "Отменить промокод",
"confirmTitle": "Отменить промокод?",
"confirmDescription": "Вы уверены, что хотите отменить скидку {{percent}}%? После отмены вы сможете активировать другой промокод.",
"warning": "Отменённый промокод нельзя будет использовать повторно. Скидка перестанет действовать немедленно.",
"confirm": "Отменить",
"deactivating": "Отмена...",
"error": "Не удалось отменить промокод. Попробуйте позже."
}
},
"telegramRedirect": {
"maxRetries": "Превышено количество попыток. Попробуйте позже.",
"redirecting": "Перенаправление...",
"loginAlternative": "Войти другим способом",
"openInTelegram": "Откройте в Telegram",
"openInTelegramDesc": "Для автоматического входа откройте это приложение через бота в Telegram",
"redirectToLogin": "Перенаправление на страницу входа..."
},
"deepLink": {
"connecting": "Подключение к",
"redirecting": "Перенаправление через",
"seconds": "сек",
"manual": "Если ничего не происходит, нажмите кнопку ниже.",
"openApp": "Открыть приложение",
"copyLink": "Скопировать ссылку подписки",
"copied": "Скопировано!",
"tryAgain": "Попробовать снова",
"backToCabinet": "Вернуться в кабинет",
"errorTitle": "Ошибка",
"errorDesc": "Ссылка для подключения не найдена",
"goToSubscription": "Перейти к подписке",
"howToAdd": "Как добавить вручную:",
"step1": "Скопируйте ссылку кнопкой выше",
"step2": "Откройте приложение",
"step3": "Найдите \"+\" или \"Добавить подписку\"",
"step4": "Выберите \"Из буфера\" или \"Вставить ссылку\""
},
"blocking": {
"maintenance": {
"title": "Технические работы",
"defaultMessage": "Сервис временно недоступен. Проводятся технические работы.",
"reason": "Причина",
"waitMessage": "Пожалуйста, подождите..."
},
"channel": {
"title": "Подписка на канал",
"defaultMessage": "Для продолжения работы подпишитесь на наш канал",
"openChannel": "Открыть канал",
"checkSubscription": "Проверить подписку",
"checking": "Проверяем...",
"waitSeconds": "Подождите {{seconds}} сек.",
"hint": "После подписки нажмите кнопку проверки",
"notSubscribed": "Вы ещё не подписались на канал",
"checkError": "Ошибка проверки. Попробуйте позже.",
"subscribed": "Подписан",
"channelsRequired": "Подпишитесь на все каналы ниже для продолжения"
},
"blacklisted": {
"title": "Доступ запрещён",
"defaultMessage": "Ваш аккаунт заблокирован.",
"reason": "Причина",
"contactSupport": "Если вы считаете, что это ошибка, обратитесь в поддержку."
}
},
"merge": {
"title": "Объединение аккаунтов",
"description": "Этот способ входа уже привязан к другому аккаунту. Вы можете объединить два аккаунта в один.",
"currentAccount": "Ваш текущий аккаунт",
"foundAccount": "Найденный аккаунт",
"authMethods": "Способы входа",
"subscription": "Подписка",
"noSubscription": "Нет подписки",
"traffic": "Трафик",
"devices": "Устройства",
"balance": "Баланс",
"until": "до {{date}}",
"keepThisSubscription": "Оставить эту подписку",
"chooseSubscription": "Выберите подписку, которую хотите сохранить",
"afterMerge": "После объединения",
"allAuthMethodsMerged": "Все способы входа объединятся",
"balanceSummed": "Баланс: {{amount}} ₽ (сумма)",
"unselectedSubscriptionDeleted": "Невыбранная подписка будет удалена",
"historyPreserved": "История операций сохранится",
"confirm": "Объединить аккаунты",
"cancel": "Отмена",
"expired": "Время на объединение истекло. Попробуйте снова.",
"success": "Аккаунты успешно объединены!",
"error": "Ошибка при объединении. Попробуйте позже.",
"expiresIn": "Действует ещё {{minutes}}",
"merging": "Объединение..."
},
"landing": {
"notFound": "Страница не найдена",
"forMe": "Для себя",
"asGift": "В подарок",
"contactLabel": "Ваш email или @username Telegram",
"yourContact": "Ваш email или @username",
"contactPlaceholder": "email@example.com или @username",
"contactHint": "Введите email или Telegram @username",
"recipientLabel": "Кому подарить",
"recipientPlaceholder": "email или @username получателя",
"giftMessageLabel": "Поздравление (необязательно)",
"giftMessagePlaceholder": "Напишите поздравление...",
"chooseTariff": "Выберите тариф",
"devices": "устройств",
"paymentMethod": "Способ оплаты",
"processing": "Обработка...",
"payButton": "Оплатить {{price}}",
"accessFor": "Доступ на {{period}}",
"purchaseError": "Ошибка при создании оплаты",
"purchaseNotFound": "Покупка не найдена",
"awaitingPayment": "Ожидание оплаты",
"awaitingPaymentDesc": "Завершите оплату в открывшемся окне",
"purchaseSuccess": "Оплата прошла успешно!",
"keySentTo": "Ключ подписки отправлен на {{contact}}",
"giftSentTo": "Подарок отправлен на {{contact}}",
"purchaseFailed": "Ошибка оплаты",
"purchaseFailedDesc": "Оплата не прошла. Попробуйте снова.",
"subscriptionLink": "Ссылка подписки",
"daysAccess": "дней доступа",
"error": "Ошибка",
"gb": "ГБ",
"selectedTariff": "Тариф",
"period": "Период",
"total": "Итого",
"pay": "Оплатить",
"choosePeriod": "Выберите период",
"copy": "Скопировать",
"copied": "Скопировано!",
"copyLink": "Скопировать ссылку",
"giftToggleLabel": "Тип покупки",
"pollTimedOut": "Занимает больше времени, чем ожидалось",
"pollTimedOutDesc": "Обработка платежа занимает больше времени, чем обычно. Вы можете попробовать проверить ещё раз.",
"pendingActivation": "Подписка готова к активации",
"pendingActivationDesc": "У вас уже есть активная подписка. Активация новой заменит текущую.",
"activateNow": "Активировать",
"activating": "Активация...",
"activationFailed": "Ошибка активации",
"giftMessage": "Сообщение",
"cabinetReady": "Ваш аккаунт готов",
"cabinetEmail": "Email",
"cabinetPassword": "Пароль",
"goToCabinet": "Перейти в кабинет",
"saveCredentials": "Сохраните эти данные для входа",
"credentialsSentToEmail": "Данные для входа отправлены на email",
"giftSentSuccess": "Подарок отправлен!",
"giftSentDesc": "Получатель получит уведомление на email",
"giftPendingActivationDesc": "У получателя уже есть активная подписка. Ему будет отправлена ссылка для активации подарка.",
"giftTelegramSent": "Мы отправили получателю уведомление о подарке в Telegram",
"giftTelegramNotInBot": "Получатель пока не пользуется ботом. Отправьте ему эту ссылку, чтобы он мог забрать подарок:",
"giftTelegramPendingSent": "Мы отправили получателю предложение активировать подарок в Telegram",
"giftTelegramPendingNotInBot": "Получатель пока не пользуется ботом. Отправьте ему ссылку, чтобы он мог активировать подарок:",
"openBot": "Ссылка на бота",
"autoLoginFailed": "Не удалось выполнить автоматический вход",
"autoLoginProcessing": "Выполняется вход...",
"discount": {
"days": "д",
"hours": "ч",
"minutes": "м",
"seconds": "с"
},
"periodLabels": {
"d1": "1 день",
"d2": "2 дня",
"d3": "3 дня",
"d5": "5 дней",
"d7": "1 неделя",
"d14": "2 недели",
"d30": "1 месяц",
"d60": "2 месяца",
"d90": "3 месяца",
"d180": "6 месяцев",
"d365": "1 год",
"d456": "1 год + 3 мес.",
"nDays_one": "{{count}} день",
"nDays_few": "{{count}} дня",
"nDays_many": "{{count}} дней",
"nMonths_one": "{{count}} месяц",
"nMonths_few": "{{count}} месяца",
"nMonths_many": "{{count}} месяцев"
}
},
"gift": {
"title": "Подарить подписку",
"subtitle": "Отправьте VPN-подписку в подарок",
"choosePeriod": "Выберите период",
"chooseTariff": "Выберите тариф",
"recipient": "Получатель",
"recipientPlaceholder": "Email или @telegram",
"recipientHint": "Введите email или юзернейм в Telegram",
"giftMessage": "Поздравление",
"giftMessagePlaceholder": "Добавьте личное сообщение (необязательно)",
"paymentMode": "Способ оплаты",
"fromBalance": "С баланса",
"viaGateway": "Через платёжку",
"yourBalance": "Ваш баланс",
"insufficientBalance": "Недостаточно средств",
"topUpBalance": "Пополнить баланс",
"total": "Итого",
"giftButton": "Подарить",
"sending": "Отправляем подарок...",
"gb": "ГБ",
"devices": "устройств",
"paymentMethod": "Способ оплаты",
"processing": "Обработка...",
"successTitle": "Подарок отправлен!",
"successDesc": "Получатель {{contact}} получит уведомление",
"pendingTitle": "Ожидание оплаты",
"pendingDesc": "Завершите оплату в платёжной системе",
"pendingActivationTitle": "Ожидает активации",
"pendingActivationDesc": "У получателя есть активная подписка. Подарок ожидает активации.",
"failedTitle": "Ошибка",
"failedDesc": "Не удалось отправить подарок. Попробуйте снова.",
"backToGift": "Вернуться",
"backToDashboard": "На главную",
"tryAgain": "Попробовать снова",
"pollTimeout": "Обработка занимает больше времени, чем обычно",
"pollTimeoutDesc": "Попробуйте проверить статус позже",
"pollErrorTitle": "Не удалось проверить статус подарка",
"pollErrorDesc": "Ваша покупка прошла успешно. Проверьте статус на главной странице.",
"retry": "Проверить снова",
"notFound": "Конфигурация подарков не найдена",
"noToken": "Ссылка недействительна",
"noTokenDesc": "Ссылка на подарок недействительна или просрочена.",
"days": "дн.",
"tariff": "Тариф",
"period": "Период",
"giftMessageLabel": "Сообщение",
"recipientLabel": "Получатель",
"featureDisabled": "Функция подарков временно недоступна",
"redirecting": "Перенаправляем...",
"pending": {
"title": "Вам подарили подписку!",
"from": "от {{sender}}",
"activate": "Активировать"
},
"warning": {
"telegram_unresolvable": "Не удалось проверить этот Telegram-юзернейм. Получатель может не получить уведомление о подарке."
},
"pageTitle": "Подарки",
"tabBuy": "Купить",
"tabActivate": "Активировать",
"tabMyGifts": "Мои подарки",
"selectTariff": "ВЫБЕРИТЕ ТАРИФ",
"selectPeriod": "ПЕРИОД ПОДПИСКИ",
"deviceCount": "{{count}} устройств",
"deviceCount_one": "{{count}} устройство",
"deviceCount_few": "{{count}} устройства",
"deviceCount_many": "{{count}} устройств",
"activateTitle": "Введите код подарка",
"activateDescription": "Введите код подарка, полученный от друга или знакомого",
"activateCodePlaceholder": "GIFT-XXXXXXXXXXXX",
"activateButton": "Активировать подарок",
"activating": "Активация...",
"activateSuccess": "Подарок активирован!",
"activateSuccessDesc": "{{tariff}} — {{days}} дн. добавлено к вашей подписке",
"activateError": "Не удалось активировать подарок",
"activateSelfError": "Нельзя активировать свой собственный подарок",
"myGiftsEmpty": "У вас пока нет подарков",
"myGiftsEmptyDesc": "Купите подарок для друга или активируйте полученный код",
"sentGiftsTitle": "Отправленные",
"activeGiftsTitle": "Активные подарки",
"activatedGiftsTitle": "Активированные",
"receivedGiftsTitle": "Полученные",
"statusAvailable": "ДОСТУПЕН",
"statusActivated": "АКТИВИРОВАН",
"statusPending": "ОЖИДАЕТ",
"statusDelivered": "ДОСТАВЛЕН",
"statusFailed": "ОШИБКА",
"statusExpired": "ПРОСРОЧЕН",
"statusPendingActivation": "ОЖИДАЕТ АКТИВАЦИИ",
"copyCode": "КОПИРОВАТЬ",
"codeCopied": "Код скопирован!",
"shareGift": "ПОДЕЛИТЬСЯ",
"shareText": "У меня есть подарок для тебя! Активируй его здесь:",
"codeReadyTitle": "Код подарка готов!",
"codeLabel": "Код подарка",
"sharePreview": "Сообщение для отправки",
"activatedBy": "Активирован пользователем {{username}}",
"sentTo": "Отправлен {{recipient}}",
"daysShort": "дн.",
"devicesShort": "устр.",
"devicesShort_one": "устр.",
"devicesShort_few": "устр.",
"devicesShort_many": "устр.",
"gbShort": "ГБ",
"unlimitedTraffic": "Безлимит",
"shareModalActivateVia": "Активировать через бота:",
"shareModalActivateViaCabinet": "Или через сайт:",
"copyMessage": "Скопировать сообщение",
"shareToastCopied": "Сообщение скопировано"
},
"news": {
"title": "Новости и обновления",
"filterAll": "Все",
"readMore": "Читать подробнее",
"readTime": "мин чтения",
"loadMore": "Загрузить ещё",
"noNews": "Пока нет новостей",
"backToHome": "Назад",
"views": "просмотров",
"admin": {
"title": "Управление новостями",
"create": "Создать новость",
"edit": "Редактировать",
"delete": "Удалить",
"confirmDelete": "Удалить эту новость?",
"published": "Опубликовано",
"draft": "Черновик",
"featured": "Избранное",
"titleLabel": "Заголовок",
"slugLabel": "URL-адрес",
"categoryLabel": "Категория",
"categoryColorLabel": "Цвет категории",
"tagLabel": "Тег",
"excerptLabel": "Краткое описание",
"contentLabel": "Содержание",
"imageLabel": "Изображение",
"readTimeLabel": "Время чтения (мин)",
"save": "Сохранить",
"saving": "Сохранение...",
"saveError": "Не удалось сохранить статью. Попробуйте ещё раз.",
"saved": "Новость сохранена",
"deleted": "Новость удалена",
"selectColor": "Выбрать цвет {{color}}",
"uploading": "Загрузка...",
"dropMedia": "Перетащите изображение или видео сюда",
"uploadError": "Ошибка загрузки",
"fileTooLarge": "Файл слишком большой",
"uploadFeaturedImage": "Загрузить изображение",
"combobox": {
"selectCategory": "Выберите категорию",
"selectTag": "Выберите тег",
"create": "Создать",
"createNew": "Создать новый",
"searchOrCreate": "Поиск или создание...",
"noItems": "Ничего не найдено",
"placeholder": "Выберите...",
"clear": "Очистить",
"delete": "Удалить {{name}}"
},
"toolbar": {
"bold": "Жирный",
"italic": "Курсив",
"underline": "Подчёркнутый",
"strikethrough": "Зачёркнутый",
"heading1": "Заголовок 1",
"heading2": "Заголовок 2",
"heading3": "Заголовок 3",
"bulletList": "Маркированный список",
"orderedList": "Нумерованный список",
"blockquote": "Цитата",
"codeBlock": "Блок кода",
"alignLeft": "По левому краю",
"alignCenter": "По центру",
"highlight": "Выделение",
"link": "Ссылка",
"image": "Изображение",
"imageUrlPrompt": "URL изображения:",
"linkUrlPrompt": "URL ссылки:"
}
}
}
}