feat: tune visual of web app admin panel, tune limit messages and etc

This commit is contained in:
3252a8
2026-05-12 15:42:17 +03:00
parent 8af59750c6
commit 475a1953d1
34 changed files with 2777 additions and 114 deletions
+93 -1
View File
@@ -289,6 +289,38 @@
"admin_user_view_logs_button": "📜 User Actions",
"admin_user_refresh_button": "🔄 Refresh",
"admin_user_delete_button": "❌ Delete User",
"admin_user_premium_override_button": "⭐ Premium override",
"admin_user_premium_override_label": "🌟 Premium override:",
"admin_user_premium_override_unlimited": "Unlimited",
"admin_user_premium_override_bonus_value": "+{gb} GB",
"admin_premium_override_title": "🌟 Premium override",
"admin_premium_override_hint": "Grant free extra premium traffic or unlimited premium access for this user.",
"admin_premium_override_current": "Current: {current}",
"admin_premium_override_state_unlimited": "unlimited",
"admin_premium_override_state_bonus": "+{gb} GB bonus",
"admin_premium_override_state_none": "not set",
"admin_premium_override_btn_unlimited": "♾ Make unlimited",
"admin_premium_override_btn_bonus": " Set bonus GB",
"admin_premium_override_btn_clear": "🗑 Clear override",
"admin_premium_override_no_subscription": "User has no active subscription",
"admin_premium_override_bonus_prompt": "Enter additional premium GB for user {user_id} (number, decimals allowed):",
"admin_premium_override_invalid_gb": "❌ Invalid value. Enter a non-negative number of GB.",
"admin_premium_override_state_missing": "⚠️ Target user missing in state. Open the user card again.",
"admin_premium_override_bonus_set": "✅ Premium override: +{gb} GB for user {user_id}",
"admin_premium_override_saved": "✅ Premium override saved",
"admin_premium_override_save_error": "❌ Failed to save premium override",
"admin_user_traffic_grant_button": "🎁 Grant GB",
"admin_traffic_grant_title": "🎁 Grant traffic",
"admin_traffic_grant_hint": "Credit GB to the user's balance — same effect as a top-up purchase, but without payment. The panel limit and squads refresh immediately.",
"admin_traffic_grant_btn_regular": "🟢 Regular traffic",
"admin_traffic_grant_btn_premium": "⭐ Premium traffic",
"admin_traffic_grant_prompt_regular": "Enter the amount of regular traffic in GB for user {user_id} (number, decimals allowed):",
"admin_traffic_grant_prompt_premium": "Enter the amount of premium traffic in GB for user {user_id} (number, decimals allowed):",
"admin_traffic_grant_invalid_gb": "❌ Enter a positive number of GB (up to 1,000,000).",
"admin_traffic_grant_no_user": "⚠️ No target user selected. Open the user card again.",
"admin_traffic_grant_failed": "❌ Failed to grant traffic. Make sure the user has an active subscription and the tariff supports premium squads.",
"admin_traffic_grant_regular_done": "✅ +{gb} GB of regular traffic granted to user {user_id}",
"admin_traffic_grant_premium_done": "✅ +{gb} GB of premium traffic granted to user {user_id}",
"admin_user_delete_not_allowed": "❌ You are not permitted to delete users.",
"admin_user_delete_confirmation_prompt": "⚠️ You are about to delete user {user_id} completely.\n\nSend the exact Telegram ID of this user to confirm.\nAny other reply will cancel the operation.",
"admin_user_delete_state_missing": "⚠️ No active delete operation. Start again.",
@@ -340,7 +372,21 @@
"log_account_email_linked": "📧 <b>Email linked</b>\n\n🆔 User ID: <code>{user_id}</code>\n📨 Telegram ID: <code>{telegram_id}</code>\n👤 User: {user_display}\n📧 Email: <code>{email}</code>\n🕐 Time: {timestamp}",
"log_account_telegram_linked": "📨 <b>Telegram linked</b>\n\n🆔 User ID: <code>{user_id}</code>\n📨 Telegram ID: <code>{telegram_id}</code>\n👤 User: {user_display}\n📧 Email: <code>{email}</code>\n🕐 Time: {timestamp}",
"log_payment_received": "{provider_emoji} <b>Payment Received</b>\n\n👤 User: {user_display}\n💰 Amount: <b>{amount} {currency}</b>\n📅 Period: <b>{months} mo.</b>\n🏦 Provider: {payment_provider}\n🕐 Time: {timestamp}",
"log_payment_received_traffic": "{provider_emoji} <b>Payment Received</b>\n\n👤 User: {user_display}\n💰 Amount: <b>{amount} {currency}</b>\n🗂 Traffic: <b>{traffic_gb} GB</b>\n🏦 Provider: {payment_provider}\n🕐 Time: {timestamp}",
"log_payment_received_traffic": "{provider_emoji} <b>Payment Received (traffic top-up)</b>\n\n👤 User: {user_display}\n💰 Amount: <b>{amount} {currency}</b>\n🗂 {traffic_summary}\n{tariff_line}🏦 Provider: {payment_provider}\n🕐 Time: {timestamp}",
"log_payment_traffic_purchase_line": "<b>{gb} GB</b> · {kind}",
"log_payment_traffic_kind_regular": "regular traffic",
"log_payment_traffic_kind_premium": "premium traffic",
"log_payment_tariff_line": "📋 Plan: <b>{name}</b>\n",
"traffic_warning_regular_almost": "⚠️ Traffic for plan <b>{tariff_name}</b> is almost used up.\nAbout <b>{left_pct}%</b> remains.\n\n<b>Current period:</b>\nused — <b>{used}</b>\navailable — <b>{remaining}</b>\nlimit — <b>{limit_total}</b>\n\nUse the button below to buy more regular traffic in the mini app.",
"traffic_warning_regular_depleted": "⛔️ Traffic for plan <b>{tariff_name}</b> is depleted.\n\n<b>Current period:</b>\nused — <b>{used}</b>\navailable — <b>{remaining}</b>\nlimit — <b>{limit_total}</b>\n\nAccess may be limited until the period resets or you top up.\n\nUse the button below to buy traffic.",
"traffic_warning_premium_almost": "⚠️ The <b>premium</b> server quota for plan <b>{tariff_name}</b> is almost used up.\nAbout <b>{left_pct}%</b> remains.\n\n<b>Current period:</b>\nused — <b>{used}</b>\navailable — <b>{remaining}</b>\nlimit — <b>{limit_total}</b>\n\nThis limit applies to:\n{servers}\n\nUse the button below to buy premium traffic in the mini app; unused purchased balance carries over to later months.",
"traffic_warning_premium_depleted": "⛔️ The <b>premium</b> server quota for plan <b>{tariff_name}</b> is used up.\n\n<b>Current period:</b>\nused — <b>{used}</b>\navailable — <b>{remaining}</b>\nlimit — <b>{limit_total}</b>\n\nThis limit applies to:\n{servers}\n\nAccess may be limited until the period resets or you buy more premium traffic.\n\nUse the button below to top up.",
"traffic_warning_premium_generic_servers": "• servers with premium access under your plan",
"traffic_warning_premium_servers_more": "… and {count} more servers",
"traffic_warn_btn_topup_webapp_regular": "Top up traffic (mini app)",
"traffic_warn_btn_topup_webapp_premium": "Top up premium traffic (mini app)",
"traffic_warn_btn_topup_regular": "Top up traffic",
"traffic_warn_btn_topup_premium": "Top up premium traffic",
"log_promo_activation": "🎁 <b>Promo Code Activated</b>\n\n👤 User: {user_display}\n🏷 Code: <code>{promo_code}</code>\n🎯 Bonus: <b>+{bonus_days}d</b>\n🕐 Time: {timestamp}",
"log_trial_activation": "🆓 <b>Trial Activated</b>\n\n👤 User: {user_display}\n⏰ Valid until: <b>{end_date}</b>\n🕐 Time: {timestamp}",
"log_panel_sync": "{status_emoji} <b>Panel Synchronization</b>\n\n📊 Status: <b>{status}</b>\n👥 Users processed: <b>{users_processed}</b>\n📋 Subscriptions synced: <b>{subs_synced}</b>\n🕐 Time: {timestamp}\n\n📝 Details:\n{details}",
@@ -639,6 +685,7 @@
"wa_premium_traffic_title": "Premium servers",
"wa_premium_reset_monthly": "Separate monthly limit",
"wa_premium_access_limited": "Premium access is temporarily limited",
"wa_premium_unlimited": "Unlimited premium access",
"wa_premium_left": "Left",
"wa_premium_topup_balance": "Top-up balance",
"wa_premium_servers_limited": "Separate limit applies to",
@@ -860,6 +907,13 @@
"admin_status": "Status",
"admin_date": "Date",
"admin_payments_empty": "No payments",
"admin_payments_col_telegram_id": "Telegram ID",
"admin_payments_col_traffic_regular": "Main traffic",
"admin_payments_col_traffic_premium": "Premium traffic",
"admin_payments_col_actions": "",
"admin_payments_open_user": "Open user card",
"admin_payments_desc_traffic_package_regular": "Traffic package {gb} GB (standard)",
"admin_payments_desc_traffic_package_premium": "Traffic package {gb} GB (premium)",
"admin_logs_user_filter_placeholder": "Filter by user ID",
"admin_apply": "Apply",
"admin_reset": "Reset",
@@ -988,6 +1042,44 @@
"admin_user_label_main_traffic": "Main Traffic",
"admin_user_traffic_left": "Left: {left}",
"admin_user_label_premium_squads": "Premium Squads",
"user_override_unlimited_short": "Unlimited",
"user_premium_override_card_title": "Premium traffic",
"user_premium_override_card_hint": "Unlimited access and extra volume for premium squads on top of the tariff.",
"user_regular_override_card_title": "Main traffic",
"user_regular_override_card_hint": "Unlimited-style ceiling and a persistent bonus on the main traffic limit.",
"user_regular_override_save": "Save",
"user_regular_override_status_unlimited": "Current: unlimited",
"regular_override_saved": "Main traffic override saved",
"user_traffic_override_title": "Traffic overrides",
"user_traffic_override_hint": "Extra main or premium traffic limits on top of the tariff; unlimited applies to premium squads only.",
"user_regular_override_bonus": "Extra main traffic, GB",
"user_regular_override_bonus_hint": "Persistent bonus bytes added to the main traffic limit (not a balance top-up).",
"user_regular_override_status_bonus": "Main traffic now: +{gb} GB",
"user_regular_override_status_none": "No main-traffic bonus override",
"regular_override_invalid_bonus": "Invalid GB value for main traffic",
"user_premium_override_title": "Premium override",
"user_premium_override_hint": "Grant free unlimited access or extra premium traffic on top of the tariff limit.",
"user_premium_override_bonus_hint": "Ignored while unlimited premium is enabled.",
"user_premium_override_unlimited": "Unlimited premium",
"user_premium_override_bonus": "Extra premium traffic, GB",
"user_premium_override_save": "Save override",
"user_premium_override_status_unlimited": "Current: unlimited",
"user_premium_override_status_bonus": "Current: +{gb} GB",
"user_premium_override_status_none": "No premium override",
"user_premium_unlimited_value": "∞ (used {used})",
"user_premium_unlimited_hint": "Unlimited (admin override)",
"premium_override_saved": "Premium override saved",
"premium_override_invalid_bonus": "Invalid GB value",
"user_traffic_grant_title": "Grant traffic",
"user_traffic_grant_hint": "Credit GB to the user's balance — same effect as a top-up purchase, but without payment. The panel limit and squads refresh immediately.",
"user_traffic_grant_kind": "Traffic kind",
"user_traffic_grant_kind_regular": "Regular",
"user_traffic_grant_kind_premium": "Premium",
"user_traffic_grant_gb": "GB to grant",
"user_traffic_grant_submit": "Grant",
"traffic_grant_invalid_gb": "Enter a positive number of GB",
"traffic_grant_regular_done": "+{gb} GB of regular traffic granted",
"traffic_grant_premium_done": "+{gb} GB of premium traffic granted",
"admin_user_no_active_subscription": "No active subscription",
"admin_user_history_title": "Subscription History · {count}",
"admin_user_history_no_tariff": "No tariff",
+93 -1
View File
@@ -289,6 +289,38 @@
"admin_user_view_logs_button": "📜 Логи",
"admin_user_refresh_button": "🔄 Обновить",
"admin_user_delete_button": "❌ Удалить пользователя",
"admin_user_premium_override_button": "⭐ Премиум-оверрайд",
"admin_user_premium_override_label": "🌟 Премиум-оверрайд:",
"admin_user_premium_override_unlimited": "Безлимит",
"admin_user_premium_override_bonus_value": "+{gb} GB",
"admin_premium_override_title": "🌟 Премиум-оверрайд",
"admin_premium_override_hint": "Бесплатно увеличьте лимит премиум-трафика или сделайте его безлимитным для этого пользователя.",
"admin_premium_override_current": "Сейчас: {current}",
"admin_premium_override_state_unlimited": "безлимит",
"admin_premium_override_state_bonus": "+{gb} GB бонусом",
"admin_premium_override_state_none": "не задан",
"admin_premium_override_btn_unlimited": "♾ Включить безлимит",
"admin_premium_override_btn_bonus": "➕ Задать бонусные GB",
"admin_premium_override_btn_clear": "🗑 Снять оверрайд",
"admin_premium_override_no_subscription": "У пользователя нет активной подписки",
"admin_premium_override_bonus_prompt": "Введите количество дополнительных премиум-GB для пользователя {user_id} (число, можно дробное):",
"admin_premium_override_invalid_gb": "❌ Неверное значение. Введите неотрицательное число GB.",
"admin_premium_override_state_missing": "⚠️ Целевой пользователь не найден в состоянии. Откройте карточку пользователя заново.",
"admin_premium_override_bonus_set": "✅ Премиум-оверрайд: +{gb} GB для пользователя {user_id}",
"admin_premium_override_saved": "✅ Премиум-оверрайд сохранён",
"admin_premium_override_save_error": "❌ Не удалось сохранить премиум-оверрайд",
"admin_user_traffic_grant_button": "🎁 Выдать ГБ",
"admin_traffic_grant_title": "🎁 Выдать трафик",
"admin_traffic_grant_hint": "Зачисление ГБ на баланс пользователя — как при докупке, но без оплаты. Лимит и сквады в панели обновятся сразу.",
"admin_traffic_grant_btn_regular": "🟢 Обычный трафик",
"admin_traffic_grant_btn_premium": "⭐ Премиум-трафик",
"admin_traffic_grant_prompt_regular": "Введите количество ГБ обычного трафика для пользователя {user_id} (число, можно дробное):",
"admin_traffic_grant_prompt_premium": "Введите количество ГБ премиум-трафика для пользователя {user_id} (число, можно дробное):",
"admin_traffic_grant_invalid_gb": "❌ Введите положительное число ГБ (до 1 000 000).",
"admin_traffic_grant_no_user": "⚠️ Целевой пользователь не выбран. Откройте карточку заново.",
"admin_traffic_grant_failed": "❌ Не удалось выдать трафик. Проверьте, что у пользователя активная подписка и тариф поддерживает премиум-сквады.",
"admin_traffic_grant_regular_done": "✅ +{gb} ГБ обычного трафика выдано пользователю {user_id}",
"admin_traffic_grant_premium_done": "✅ +{gb} ГБ премиум-трафика выдано пользователю {user_id}",
"admin_user_delete_not_allowed": "❌ У вас нет прав для удаления пользователей.",
"admin_user_delete_confirmation_prompt": "⚠️ Вы хотите полностью удалить пользователя {user_id}.\n\nОтправьте точный Telegram ID этого пользователя, чтобы подтвердить удаление.\nЛюбой другой ответ отменит операцию.",
"admin_user_delete_state_missing": "⚠️ Нет активной операции удаления. Начните заново.",
@@ -340,7 +372,21 @@
"log_account_email_linked": "📧 <b>Привязана почта</b>\n\n🆔 ID пользователя: <code>{user_id}</code>\n📨 Telegram ID: <code>{telegram_id}</code>\n👤 Пользователь: {user_display}\n📧 Email: <code>{email}</code>\n🕐 Время: {timestamp}",
"log_account_telegram_linked": "📨 <b>Привязан Telegram</b>\n\n🆔 ID пользователя: <code>{user_id}</code>\n📨 Telegram ID: <code>{telegram_id}</code>\n👤 Пользователь: {user_display}\n📧 Email: <code>{email}</code>\n🕐 Время: {timestamp}",
"log_payment_received": "{provider_emoji} <b>Получен платеж</b>\n\n👤 Пользователь: {user_display}\n💰 Сумма: <b>{amount} {currency}</b>\n📅 Период: <b>{months} мес.</b>\n🏦 Провайдер: {payment_provider}\n🕐 Время: {timestamp}",
"log_payment_received_traffic": "{provider_emoji} <b>Получен платеж</b>\n\n👤 Пользователь: {user_display}\n💰 Сумма: <b>{amount} {currency}</b>\n🗂 Трафик: <b>{traffic_gb} ГБ</b>\n🏦 Провайдер: {payment_provider}\n🕐 Время: {timestamp}",
"log_payment_received_traffic": "{provider_emoji} <b>Получен платеж (докупка трафика)</b>\n\n👤 Пользователь: {user_display}\n💰 Сумма: <b>{amount} {currency}</b>\n🗂 {traffic_summary}\n{tariff_line}🏦 Провайдер: {payment_provider}\n🕐 Время: {timestamp}",
"log_payment_traffic_purchase_line": "<b>{gb} ГБ</b> · {kind}",
"log_payment_traffic_kind_regular": "основной трафик",
"log_payment_traffic_kind_premium": "премиум-трафик",
"log_payment_tariff_line": "📋 Тариф: <b>{name}</b>\n",
"traffic_warning_regular_almost": "⚠️ Трафик тарифа <b>{tariff_name}</b> почти израсходован.\nОсталось примерно <b>{left_pct}%</b>.\n\n<b>Текущий период:</b>\nизрасходовано — <b>{used}</b>\nдоступно — <b>{remaining}</b>\nлимит — <b>{limit_total}</b>\n\nДокупить основной трафик можно через кнопку ниже.",
"traffic_warning_regular_depleted": "⛔️ Трафик тарифа <b>{tariff_name}</b> израсходован.\n\n<b>Текущий период:</b>\nизрасходовано — <b>{used}</b>\nдоступно — <b>{remaining}</b>\nлимит — <b>{limit_total}</b>\n\nДоступ может быть ограничен до сброса периода или докупки пакета.\n\nДокупить трафик можно через кнопку ниже.",
"traffic_warning_premium_almost": "⚠️ Лимит премиум-серверов тарифа <b>{tariff_name}</b> почти израсходован.\nОсталось примерно <b>{left_pct}%</b>.\n\n<b>Текущий период:</b>\nизрасходовано — <b>{used}</b>\nдоступно — <b>{remaining}</b>\nлимит — <b>{limit_total}</b>\n\nЛимит действует на:\n{servers}\n\nДокупить премиум-трафик можно через кнопку ниже; неизрасходованный остаток переносится на следующие месяцы.",
"traffic_warning_premium_depleted": "⛔️ Лимит премиум-серверов тарифа <b>{tariff_name}</b> израсходован.\n\n<b>Текущий период:</b>\nизрасходовано — <b>{used}</b>\nдоступно — <b>{remaining}</b>\nлимит — <b>{limit_total}</b>\n\nЛимит действует на:\n{servers}\n\nДоступ может быть ограничен до сброса периода или докупки премиум-трафика.\n\nДокупить можно через кнопку ниже.",
"traffic_warning_premium_generic_servers": "• серверы с премиум-доступом по вашему тарифу",
"traffic_warning_premium_servers_more": "… и ещё серверов: {count}",
"traffic_warn_btn_topup_webapp_regular": "Докупить трафик (мини-приложение)",
"traffic_warn_btn_topup_webapp_premium": "Докупить премиум-трафик (мини-приложение)",
"traffic_warn_btn_topup_regular": "Докупить трафик",
"traffic_warn_btn_topup_premium": "Докупить премиум-трафик",
"log_promo_activation": "🎁 <b>Активирован промокод</b>\n\n👤 Пользователь: {user_display}\n🏷 Код: <code>{promo_code}</code>\n🎯 Бонус: <b>+{bonus_days} дн.</b>\n🕐 Время: {timestamp}",
"log_trial_activation": "🆓 <b>Активирован триал</b>\n\n👤 Пользователь: {user_display}\n⏰ Действует до: <b>{end_date}</b>\n🕐 Время: {timestamp}",
"log_panel_sync": "{status_emoji} <b>Синхронизация с панелью</b>\n\n📊 Статус: <b>{status}</b>\n👥 Обработано пользователей: <b>{users_processed}</b>\n📋 Синхронизировано подписок: <b>{subs_synced}</b>\n🕐 Время: {timestamp}\n\n📝 Детали:\n{details}",
@@ -639,6 +685,7 @@
"wa_premium_traffic_title": "Premium-серверы",
"wa_premium_reset_monthly": "Отдельный лимит на месяц",
"wa_premium_access_limited": "Доступ к premium временно ограничен",
"wa_premium_unlimited": "Безлимит на premium-сервера",
"wa_premium_left": "Осталось",
"wa_premium_topup_balance": "Докупленный остаток",
"wa_premium_servers_limited": "Отдельный лимит действует на",
@@ -860,6 +907,13 @@
"admin_status": "Статус",
"admin_date": "Дата",
"admin_payments_empty": "Нет платежей",
"admin_payments_col_telegram_id": "Telegram ID",
"admin_payments_col_traffic_regular": "Основной трафик",
"admin_payments_col_traffic_premium": "Премиум трафик",
"admin_payments_col_actions": "",
"admin_payments_open_user": "Открыть карточку пользователя",
"admin_payments_desc_traffic_package_regular": "Пакет трафика {gb} ГБ (обычный)",
"admin_payments_desc_traffic_package_premium": "Пакет трафика {gb} ГБ (премиум)",
"admin_logs_user_filter_placeholder": "Фильтр по ID пользователя",
"admin_apply": "Применить",
"admin_reset": "Сбросить",
@@ -988,6 +1042,44 @@
"admin_user_label_main_traffic": "Основной трафик",
"admin_user_traffic_left": "Осталось: {left}",
"admin_user_label_premium_squads": "Premium-сквады",
"user_override_unlimited_short": "Безлимит",
"user_premium_override_card_title": "Премиум-трафик",
"user_premium_override_card_hint": "Безлимит и дополнительный объём для премиум-сквадов поверх тарифа.",
"user_regular_override_card_title": "Основной трафик",
"user_regular_override_card_hint": "Режим безлимита и постоянный бонус к лимиту основного трафика.",
"user_regular_override_save": "Сохранить",
"user_regular_override_status_unlimited": "Сейчас: безлимит",
"regular_override_saved": "Оверрайд основного трафика сохранён",
"user_traffic_override_title": "Оверрайд трафика",
"user_traffic_override_hint": "Дополнительный лимит основного и премиум-трафика поверх тарифа; безлимит только для премиум-сквадов.",
"user_regular_override_bonus": "Доп. основной трафик, GB",
"user_regular_override_bonus_hint": "Постоянный бонус к лимиту основного трафика (не то же самое, что докупка ГБ).",
"user_regular_override_status_bonus": "Основной сейчас: +{gb} GB",
"user_regular_override_status_none": "Бонус основного трафика не задан",
"regular_override_invalid_bonus": "Некорректное значение GB для основного трафика",
"user_premium_override_title": "Премиум-оверрайд",
"user_premium_override_hint": "Подарите пользователю бесплатный безлимит или дополнительный премиум-трафик сверх лимита тарифа.",
"user_premium_override_bonus_hint": "Не используется, пока включён безлимит на премиум.",
"user_premium_override_unlimited": "Безлимит на премиум",
"user_premium_override_bonus": "Доп. премиум-трафик, GB",
"user_premium_override_save": "Сохранить оверрайд",
"user_premium_override_status_unlimited": "Сейчас: безлимит",
"user_premium_override_status_bonus": "Сейчас: +{gb} GB",
"user_premium_override_status_none": "Премиум-оверрайд не задан",
"user_premium_unlimited_value": "∞ (использовано {used})",
"user_premium_unlimited_hint": "Безлимит (админ-оверрайд)",
"premium_override_saved": "Премиум-оверрайд сохранён",
"premium_override_invalid_bonus": "Некорректное значение GB",
"user_traffic_grant_title": "Выдать трафик",
"user_traffic_grant_hint": "Зачисление ГБ на баланс пользователя — как при докупке, но без оплаты. Лимит и сквады в панели обновятся сразу.",
"user_traffic_grant_kind": "Тип трафика",
"user_traffic_grant_kind_regular": "Обычный",
"user_traffic_grant_kind_premium": "Премиум",
"user_traffic_grant_gb": "ГБ к выдаче",
"user_traffic_grant_submit": "Выдать",
"traffic_grant_invalid_gb": "Введите положительное число ГБ",
"traffic_grant_regular_done": "+{gb} ГБ обычного трафика выдано",
"traffic_grant_premium_done": "+{gb} ГБ премиум-трафика выдано",
"admin_user_no_active_subscription": "Активной подписки нет",
"admin_user_history_title": "История подписок · {count}",
"admin_user_history_no_tariff": "Без тарифа",