{
  "common": {
    "loading": "Loading...",
    "error": "Error",
    "success": "Success",
    "save": "Save",
    "cancel": "Cancel",
    "confirm": "Confirm",
    "back": "Back",
    "next": "Next",
    "close": "Close",
    "search": "Search",
    "noData": "No data",
    "actions": "Actions",
    "yes": "Yes",
    "no": "No",
    "or": "or",
    "add": "Add",
    "and": "and",
    "edit": "Edit",
    "delete": "Delete",
    "collapse": "Collapse",
    "currency": "$",
    "refresh": "Refresh",
    "copy": "Copy",
    "all": "All",
    "units": {
      "gb": "GB",
      "perGb": "/GB",
      "days": "days",
      "mo": "mo"
    },
    "retry": "Retry",
    "saving": "Saving...",
    "understand": "Got it",
    "balance": "Balance",
    "copied": "Copied",
    "no_results": "No results",
    "ok": "OK",
    "processing": "Processing…",
    "rangeTo": "to"
  },
  "nav": {
    "dashboard": "Dashboard",
    "subscription": "Subscription",
    "balance": "Balance",
    "referral": "Referrals",
    "support": "Support",
    "profile": "Profile",
    "logout": "Logout",
    "contests": "Contests",
    "polls": "Polls",
    "info": "Info",
    "wheel": "Fortune Wheel",
    "menu": "Menu",
    "gift": "Gift",
    "navigation": "Navigation"
  },
  "notifications": {
    "ticketNotifications": "Ticket Notifications",
    "markAllRead": "Mark all read",
    "noNotifications": "No notifications",
    "justNow": "Just now",
    "minutesAgo": "{{count}} min ago",
    "minutesAgo_one": "{{count}} min ago",
    "minutesAgo_other": "{{count}} min ago",
    "hoursAgo": "{{count}} h ago",
    "hoursAgo_one": "{{count}} h ago",
    "hoursAgo_other": "{{count}} h ago",
    "daysAgo": "{{count}} d ago",
    "daysAgo_one": "{{count}} d ago",
    "daysAgo_other": "{{count}} d ago",
    "viewAll": "View all tickets",
    "newNotification": "New notification",
    "clickToView": "Click to view",
    "newTicket": "New ticket: {{title}}",
    "newReply": "New reply in ticket: {{title}}",
    "newTicketTitle": "New Ticket",
    "newReplyTitle": "New Reply",
    "newUserReply": "User replied in ticket: {{title}}",
    "newUserReplyTitle": "User Reply"
  },
  "campaignBonus": {
    "title": "Bonus activated!",
    "balance": "You received {{amount}} RUB from campaign \"{{name}}\"",
    "subscription": "You received a {{days}}-day subscription from campaign \"{{name}}\"",
    "tariff": "You received tariff \"{{tariff}}\" from campaign \"{{name}}\""
  },
  "wsNotifications": {
    "balance": {
      "topupTitle": "Balance topped up",
      "topupMessage": "Your balance has been topped up by {{amount}} {{currency}}",
      "changeTitle": "Balance updated",
      "changeMessage": "Your balance has changed by {{amount}} {{currency}}"
    },
    "subscription": {
      "activatedTitle": "Subscription activated",
      "activatedMessage": "Your subscription is now active!",
      "activatedWithTariff": "Your subscription \"{{tariff}}\" is now active!",
      "renewedTitle": "Subscription renewed",
      "renewedMessage": "Your subscription has been renewed!",
      "renewedWithAmount": "Your subscription has been renewed for {{amount}} {{currency}}",
      "expiringTitle": "Subscription expiring soon",
      "expiringMessage": "Your subscription expires in {{days}} days",
      "expiredTitle": "Subscription expired",
      "expiredMessage": "Your subscription has expired. Renew to continue using the service.",
      "dailyDebitTitle": "Daily charge",
      "dailyDebitMessage": "Daily subscription fee: {{amount}} {{currency}}",
      "trafficResetTitle": "Traffic reset",
      "trafficResetMessage": "Your traffic limit has been reset"
    },
    "autopay": {
      "successTitle": "Auto-renewal successful",
      "successMessage": "Your subscription was auto-renewed for {{amount}} {{currency}}",
      "failedTitle": "Auto-renewal failed",
      "failedMessage": "Failed to auto-renew your subscription",
      "insufficientTitle": "Insufficient funds",
      "insufficientMessage": "Need {{required}} {{currency}} for renewal, but balance is {{balance}} {{currency}}"
    },
    "account": {
      "bannedTitle": "Account blocked",
      "bannedMessage": "Your account has been blocked",
      "unbannedTitle": "Account unblocked",
      "unbannedMessage": "Your account has been unblocked",
      "warningTitle": "Warning",
      "warningMessage": "You have received a warning"
    },
    "referral": {
      "bonusTitle": "Referral bonus",
      "bonusMessage": "You received {{amount}} {{currency}} referral bonus!",
      "bonusWithName": "You received {{amount}} {{currency}} bonus from {{name}}!",
      "registeredTitle": "New referral",
      "registeredMessage": "Someone joined using your referral link!",
      "registeredWithName": "{{name}} joined using your referral link!"
    },
    "payment": {
      "receivedTitle": "Payment received",
      "receivedMessage": "Payment of {{amount}} {{currency}} received"
    }
  },
  "successNotification": {
    "balanceTopup": {
      "title": "Balance topped up!"
    },
    "subscriptionActivated": {
      "title": "Subscription activated!"
    },
    "subscriptionRenewed": {
      "title": "Subscription renewed!"
    },
    "subscriptionPurchased": {
      "title": "Subscription purchased!"
    },
    "amount": "Amount",
    "price": "Price",
    "newBalance": "New balance",
    "tariff": "Tariff",
    "validUntil": "Valid until",
    "goToSubscription": "Go to Subscription",
    "goToBalance": "Go to Balance",
    "devicesAdded": "+{{count}} devices",
    "devicesPurchased": {
      "title": "Devices added"
    },
    "totalDevices": "Total devices: {{count}}",
    "totalTraffic": "Total traffic: {{value}}",
    "trafficAdded": "+{{value}} traffic",
    "trafficPurchased": {
      "title": "Traffic added"
    }
  },
  "auth": {
    "login": "Login",
    "register": "Register",
    "logout": "Logout",
    "email": "Email",
    "password": "Password",
    "confirmPassword": "Confirm Password",
    "firstName": "First Name",
    "firstNamePlaceholder": "Your name (optional)",
    "forgotPassword": "Forgot password?",
    "resetPassword": "Reset password",
    "loginWithTelegram": "Login with Telegram",
    "loginWithEmail": "Login with Email",
    "noAccount": "Don't have an account?",
    "hasAccount": "Already have an account?",
    "or": "or",
    "registerHint": "To register with email, first log in via Telegram, then link your email in settings.",
    "telegramRequired": "Telegram authorization required",
    "telegramRetryFailed": "Authorization failed. Close the app and try again.",
    "telegramReopenHint": "If the problem persists, close and reopen the app",
    "telegramNotConfigured": "Telegram bot is not configured",
    "telegramUnavailable": "Telegram login is temporarily unavailable",
    "authenticating": "Authenticating...",
    "orOpenInApp": "Or open the bot in the app",
    "loginFailed": "Login Failed",
    "telegramWidgetBlocked": "Telegram login widget is unavailable. Use the bot to sign in:",
    "openBotToLogin": "Open bot to sign in",
    "waitingForConfirmation": "Waiting for confirmation...",
    "deepLinkExpired": "Link expired. Please try again.",
    "tryAgain": "Try Again",
    "scanQrToLogin": "Scan QR code with your phone camera",
    "orSendCommand": "Or send the bot this command:",
    "commandCopied": "Command copied",
    "welcomeBack": "Welcome back!",
    "loginTitle": "Login to Cabinet",
    "loginSubtitle": "Sign in with Telegram or use your email",
    "referralInvite": "You've been invited via referral link!",
    "passwordMismatch": "Passwords do not match",
    "passwordTooShort": "Password must be at least 8 characters",
    "invalidEmail": "Please enter a valid email address",
    "emailAlreadyRegistered": "This email is already registered",
    "invalidCredentials": "Invalid email or password",
    "tooManyAttempts": "Too many attempts. Please try again later",
    "verificationEmailNotice": "After registration, a verification email will be sent to your address",
    "checkEmail": "Check your email",
    "verificationSent": "We sent a verification link to:",
    "clickLinkToVerify": "Click the link in the email to verify your account and log in.",
    "backToLogin": "Back to login",
    "emailNotVerified": "Please verify your email first",
    "forgotPasswordHint": "Enter your email to receive a reset link",
    "loginSuccess": "Login successful",
    "passwordResetSent": "Password reset link sent to your email",
    "sendResetLink": "Send reset link",
    "continueWithGoogle": "Continue with Google",
    "continueWithYandex": "Continue with Yandex",
    "continueWithDiscord": "Continue with Discord",
    "continueWithVk": "Continue with VK",
    "oauthError": "Authorization was denied or failed",
    "oauthExpired": "OAuth session expired. Please try again."
  },
  "emailVerification": {
    "title": "Email Verification",
    "verifying": "Verifying email...",
    "pleaseWait": "Please wait while we verify your email address.",
    "success": "Email Verified!",
    "successMessage": "Your email has been successfully verified. You can now log in with your email and password.",
    "redirecting": "Redirecting to dashboard...",
    "failed": "Verification Failed",
    "goToLogin": "Go to Login"
  },
  "dashboard": {
    "title": "Dashboard",
    "welcome": "Welcome, {{name}}!",
    "yourSubscription": "Your Subscription",
    "quickActions": "Quick Actions",
    "viewSubscription": "Manage Subscription",
    "topUpBalance": "Top Up Balance",
    "inviteFriends": "Invite Friends",
    "getSupport": "Get Support",
    "currentBalance": "Current Balance",
    "activeUntil": "Active until",
    "noActiveSubscription": "No active subscription",
    "devicesUsed": "Devices: {{used}} of {{total}}",
    "trafficUsed": "Traffic: {{used}} of {{total}} GB",
    "unlimitedTraffic": "Unlimited traffic",
    "zone": {
      "normal": "Normal",
      "warning": "Moderate",
      "danger": "High",
      "critical": "Critical"
    },
    "connectDevice": "Connect Device",
    "devicesConnected": "{{count}} connected",
    "devicesOfMax": "{{used}} of {{max}} connected",
    "devicesConnectedUnlimited": "{{used}} connected · unlimited",
    "devicesShort": "dev.",
    "trafficUsage": "{{used}} / {{limit}} GB",
    "trafficUsageTitle": "Traffic Usage",
    "usedTraffic": "used {{amount}}",
    "usedSuffix": "used",
    "unlimited": "Unlimited",
    "tariff": "Tariff",
    "validUntil": "until {{date}}",
    "remaining": "Remaining",
    "daysRemaining": "Days left",
    "usageLast14Days": "Usage last 14 days",
    "maxUsage": "max {{amount}}",
    "deviceLimitReached": "Disconnect devices to add new ones",
    "expired": {
      "title": "Subscription Expired",
      "trialTitle": "Trial Expired",
      "trialSubtitle": "Trial period ended",
      "paidSubtitle": "Subscription has expired",
      "renew": "Renew Subscription",
      "quickRenew": "Quick Renew",
      "insufficientFunds": "Insufficient balance",
      "renewError": "Renewal error, try again",
      "topUp": "Top up balance",
      "balance": "Balance",
      "tariffs": "Tariffs",
      "traffic": "Traffic",
      "devices": "Devices",
      "expiredDate": "Expired",
      "activeUntil": "Active until"
    },
    "suspended": {
      "title": "Subscription Suspended",
      "resume": "Resume"
    },
    "trialOffer": {
      "freeTitle": "Free Trial Available",
      "paidTitle": "Trial Subscription",
      "freeDesc": "Try our VPN for free, no commitment required",
      "paidDesc": "Get started with a trial subscription"
    },
    "stats": {
      "balance": "Balance",
      "subscription": "Subscription",
      "referrals": "Referrals",
      "earnings": "Earnings"
    },
    "manageAll": "Manage all",
    "showAll": "Show all",
    "subscriptions": "Subscriptions"
  },
  "subscription": {
    "title": "Subscription",
    "currentPlan": "Current Plan",
    "status": "Status",
    "active": "Active",
    "inactive": "Inactive",
    "trialStatus": "Trial",
    "expired": "Expired",
    "trafficLimited": "Traffic Exhausted",
    "trafficLimitedTitle": "Traffic Limit Reached",
    "trafficLimitedDescription": "Your traffic has been exhausted. Purchase additional traffic below to continue using VPN.",
    "expiresAt": "Expires at",
    "daysLeft": "Days left",
    "devices": "Devices",
    "devices_one": "{{count}} device",
    "devices_other": "{{count}} devices",
    "serversLabel": "Servers",
    "servers_one": "{{count}} server",
    "servers_other": "{{count}} servers",
    "locationsLabel": "Locations",
    "locations_one": "{{count}} location",
    "locations_other": "{{count}} locations",
    "trafficReset": {
      "DAY": "Resets daily",
      "WEEK": "Resets weekly",
      "MONTH": "Resets monthly",
      "MONTH_ROLLING": "Resets every 30 days"
    },
    "traffic": "Traffic",
    "unlimited": "Unlimited",
    "used": "Used",
    "of": "of",
    "renew": "Renew",
    "free": "Free",
    "extend": "Extend Subscription",
    "buyTraffic": "Buy Traffic",
    "buyDevices": "Buy Devices",
    "renewalOptions": "Renewal Options",
    "days": "days",
    "daysShort": "d.",
    "days_one": "{{count}} day",
    "days_other": "{{count}} days",
    "hours": "h",
    "hours_one": "{{count}} h",
    "hours_other": "{{count}} h",
    "minutes": "m",
    "minutes_one": "{{count}} m",
    "minutes_other": "{{count}} m",
    "price": "Price",
    "noSubscription": "You don't have an active subscription",
    "getSubscription": "Get Subscription",
    "cta": {
      "expiredHint": "Choose a plan and pay",
      "trialHint": "More traffic and devices",
      "activeHint": "Renewal and plan change",
      "renewHint": "Subscription expired — renew to continue using"
    },
    "connectionInfo": "Connection Info",
    "copyLink": "Copy Link",
    "copied": "Copied!",
    "showQR": "Show QR Code",
    "downloadConfig": "Download Config",
    "trafficUsed": "Traffic used",
    "timeLeft": "Time left",
    "getConfig": "Connect Devices",
    "autoRenewal": "Auto-renewal",
    "daysBeforeExpiry": "days before expiry",
    "daysBeforeExpiry_one": "{{count}} day before expiry",
    "daysBeforeExpiry_other": "{{count}} days before expiry",
    "selectPeriod": "Select Period",
    "noPeriodsAvailable": "No available periods for renewal",
    "noPeriodsAvailableHint": "The administrator has changed this plan's settings. Please choose a different plan to renew your subscription.",
    "chooseDifferentTariff": "Choose a different plan",
    "selectTraffic": "Select Traffic",
    "selectServers": "Select Servers",
    "selectDevices": "Devices",
    "perDevice": "/ device",
    "devicesFree": "devices free",
    "devicesFree_one": "{{count}} device free",
    "devicesFree_other": "{{count}} devices free",
    "perExtraDevice": "/ extra device",
    "extraDevices": "Extra devices",
    "extraDevicesIncluded": "Incl. {{count}} extra dev.",
    "extraDevicesIncluded_one": "Incl. {{count}} extra dev.",
    "extraDevicesIncluded_other": "Incl. {{count}} extra dev.",
    "baseTariff": "Tariff",
    "perMonth": "/mo",
    "summary": {
      "period": "Period: {{label}}",
      "traffic": "Traffic: {{gb}} GB"
    },
    "total": "Total",
    "purchase": "Purchase",
    "step": "Step {{current}} of {{total}}",
    "stepPeriod": "Period",
    "stepTraffic": "Traffic",
    "stepServers": "Servers",
    "stepDevices": "Devices",
    "stepConfirm": "Confirm",
    "currentTariff": "Current",
    "from": "from",
    "month": "mo",
    "insufficientBalance": "Insufficient balance. Missing {{missing}} ₽",
    "trial": {
      "title": "Free Trial",
      "titlePaid": "Trial Subscription",
      "description": "Try our VPN service!",
      "days": "days",
      "days_one": "{{count}} day",
      "days_other": "{{count}} days",
      "devices": "devices",
      "devices_one": "{{count}} device",
      "devices_other": "{{count}} devices",
      "price": "Price",
      "activate": "Activate Free",
      "payAndActivate": "Pay & Activate",
      "topUpToActivate": "Top Up Balance",
      "insufficientBalance": "Top up your balance to activate",
      "unavailable": "Trial is not available"
    },
    "trialBanner": {
      "title": "Trial period active",
      "description": "You have {{days}} days left in your trial. Subscribe to continue using the service.",
      "upgrade": "Choose a plan"
    },
    "trialInfo": {
      "title": "Trial Period",
      "description": "You are using a trial version. Choose a plan below for full access.",
      "remaining": "remaining",
      "upgradeNow": "Choose a plan"
    },
    "trialUpgrade": {
      "title": "Choose a plan to continue",
      "description": "Your trial period is ending soon. Select a plan to continue using VPN without restrictions."
    },
    "expiredBanner": {
      "title": "Subscription expired",
      "selectTariff": "Your subscription has expired. Choose a plan below to restore access to VPN."
    },
    "connection": {
      "title": "Connect VPN",
      "selectDevice": "Select your device",
      "selectApp": "Select app",
      "installApp": "1. Install the app",
      "addSubscription": "2. Add subscription",
      "connectVpn": "3. Connect VPN",
      "addToApp": "Add to {{appName}}",
      "connect": "Connect",
      "noApps": "No apps available for this platform",
      "noSubscription": "You need an active subscription to connect",
      "featured": "Recommended",
      "yourDevice": "Your device",
      "copyLink": "Copy subscription link",
      "copied": "Link copied!",
      "openLink": "Open link",
      "instructions": "Instructions",
      "changeApp": "Change app",
      "selectPlatform": "Select platform",
      "app": "app",
      "apps": "apps",
      "tutorial": "Tutorial",
      "notConfigured": "Connection methods are not configured yet",
      "notConfiguredUser": "Connection setup is in progress. Please check back later.",
      "notConfiguredAdmin": "No connection apps have been configured. Set them up in the Apps settings.",
      "goToApps": "Go to Apps settings",
      "qrTitle": "Subscription QR Code",
      "qrScanHint": "Scan to connect",
      "qrButton": "QR Code",
      "openQr": "Open QR code"
    },
    "myDevices": "My Devices",
    "noDevices": "No connected devices",
    "deleteDevice": "Delete device",
    "deleteAllDevices": "Delete all",
    "confirmDeleteDevice": "Delete this device?",
    "confirmDeleteAllDevices": "Delete all devices?",
    "deviceDeleted": "Device deleted",
    "allDevicesDeleted": "All devices deleted",
    "renameDevice": "Rename",
    "renameDeviceSave": "Save",
    "renameDeviceCancel": "Cancel",
    "renameDevicePlaceholder": "Device name",
    "deviceRenamed": "Device name updated",
    "platform": "Platform",
    "model": "Model",
    "connectedAt": "Connected",
    "pause": {
      "title": "Subscription Pause",
      "paused": "Paused",
      "suspended": "Suspended (insufficient funds)",
      "active": "Active",
      "pauseBtn": "Pause",
      "resumeBtn": "Resume",
      "pausedMessage": "Subscription paused",
      "resumedMessage": "Subscription resumed",
      "dailyOnly": "Pause is only available for daily tariffs",
      "insufficientBalance": "Insufficient balance to resume subscription",
      "pausedInfo": "Subscription paused",
      "pausedDescription": "Charges stopped. Subscription will be active until",
      "nextCharge": "Until next charge",
      "willBeCharged": "Will be charged",
      "days_one": "{{count}} day",
      "days_few": "{{count}} days",
      "days_many": "{{count}} days",
      "days": "d.",
      "hours": "h",
      "minutes": "m"
    },
    "dailyPurchase": {
      "costPerDay": "Cost per day",
      "chargedDaily": "Payment is charged daily from balance",
      "canPause": "Can be paused at any time",
      "pausedOnLowBalance": "Subscription will be paused if balance is insufficient",
      "activate": "Activate for {{price}}"
    },
    "switchTariff": {
      "title": "Switch Tariff",
      "preview": "Preview",
      "currentTariff": "Current tariff",
      "newTariff": "New tariff",
      "remainingDays": "Days remaining",
      "upgradeCost": "Upgrade cost",
      "free": "Free",
      "switch": "Switch",
      "switched": "Tariff switched",
      "notEnoughBalance": "Insufficient balance",
      "dailyPayment": "Daily payment",
      "dailyChargeDescription": "Charged daily from your balance"
    },
    "switchTraffic": {
      "title": "Change Traffic",
      "currentPackage": "Current package",
      "newPackage": "New package",
      "switch": "Change",
      "switched": "Traffic changed"
    },
    "purchasedTraffic": "Purchased Traffic",
    "trafficResetAt": "Reset",
    "additionalOptions": {
      "title": "Additional options",
      "buyDevices": "Buy more devices",
      "currentDeviceLimit_one": "Current limit: {{count}} device",
      "currentDeviceLimit_other": "Current limit: {{count}} devices",
      "maxDevices": "max {{count}}",
      "devicesUnavailable": "Device purchase is not available",
      "devicesUnit": "devices",
      "buy": "Buy",
      "reduceDevices": "Reduce devices",
      "reduceDevicesTitle": "Reduce device limit",
      "reduceDevicesDescription": "You can reduce the number of devices to the tariff minimum",
      "minDeviceLimit_one": "Tariff minimum: {{count}} device",
      "minDeviceLimit_other": "Tariff minimum: {{count}} devices",
      "connectedDevices_one": "Connected devices: {{count}}",
      "connectedDevices_other": "Connected devices: {{count}}",
      "disconnectDevicesFirst_one": "Disconnect devices first to reduce the limit below {{count}} device",
      "disconnectDevicesFirst_other": "Disconnect devices first to reduce the limit below {{count}} devices",
      "reduceUnavailable": "Device reduction is not available",
      "alreadyAtMinDeviceLimit": "Already at minimum device limit for your tariff",
      "reduce": "Reduce",
      "reducing": "Reducing...",
      "newDeviceLimit_one": "New limit: {{count}} device",
      "newDeviceLimit_other": "New limit: {{count}} devices",
      "buyTraffic": "Buy more traffic",
      "currentTrafficLimit": "Current limit: {{limit}} GB (used {{used}} GB)",
      "buyTrafficTitle": "Buy more traffic",
      "trafficWarning": "Purchased traffic is added to your current limit and is valid for 30 days from purchase",
      "trafficUnavailable": "Traffic purchase is not available for your tariff",
      "unlimited": "Unlimited",
      "buyTrafficGb": "Buy {{gb}} GB",
      "buyUnlimited": "Buy Unlimited",
      "manageServers": "Squad management",
      "manageServersTitle": "Squad management",
      "connectedDevices": "Connected devices",
      "currentDeviceLimit": "Current device limit",
      "decrementDevices": "Decrease devices",
      "disconnectDevicesFirst": "Disconnect extra devices first",
      "incrementDevices": "Add devices",
      "minDeviceLimit": "Minimum device limit",
      "newDeviceLimit": "New device limit"
    },
    "serverManagement": {
      "statusLegend": "✅ — connected • ➕ — will be added (paid) • ➖ — will be disconnected",
      "discountBanner": "Your server discount: -{{percent}}%",
      "forDays": "(for {{days}} days)",
      "perMonth": "/mo",
      "unavailable": "Unavailable",
      "toAdd": "Add:",
      "toDisconnect": "Disconnect:",
      "paymentProrated": "Payment (prorated for remaining days):",
      "applyChanges": "Apply changes",
      "selectServersHint": "Select servers to connect or disconnect",
      "noServersAvailable": "No servers available to manage"
    },
    "revoke": {
      "title": "Reissue Subscription",
      "button": "Reissue Subscription",
      "description": "New link, device reset",
      "warning": "This will generate a new connection link, reset all connected devices, and invalidate the old link. Continue?",
      "confirmBtn": "Reissue",
      "cooldown": "Available in {{minutes}} min {{seconds}} sec"
    },
    "legacy": {
      "selectTariffTitle": "Select a tariff to renew",
      "selectTariffDescription": "Your current subscription was created before tariffs were introduced. To renew, please select one of the available tariffs.",
      "currentSubContinues": "Your current subscription will remain active until it expires."
    },
    "promoGroup": {
      "yourGroup": "Your group: {{name}}",
      "personalDiscountsApplied": "Personal discounts applied to prices"
    },
    "tariff": {
      "perDay": "/ day",
      "flexiblePayment": "Flexible payment",
      "selectForRenewal": "Select for renewal"
    },
    "customDays": {
      "title": "Custom number of days",
      "perDay": "/day"
    },
    "customTraffic": {
      "label": "Traffic",
      "selectVolume": "Select traffic volume",
      "default": "Default: {{label}}"
    },
    "tvQuickConnect": {
      "title": "Connect TV",
      "description": "Enter the 5-character code from your TV screen",
      "sendBtn": "Send to TV",
      "badCode": "Enter a 5-character code (letters and digits)",
      "sent": "Sent to TV!",
      "error": "Failed to send to TV",
      "scanTitle": "Scan QR Code",
      "scanDescription": "Scan the QR code from your TV screen",
      "scanBtn": "Scan QR from TV",
      "stopScan": "Close camera",
      "noCamera": "Camera access denied",
      "codeFound": "Code found"
    },
    "allTariffsPurchased": "All tariffs already purchased",
    "autopay": "Auto-renew",
    "backToList": "Back to subscriptions",
    "confirmDelete": "Delete subscription?",
    "dailyAutoCharge": "Daily auto-charge",
    "defaultName": "Subscription",
    "delete": "Delete",
    "deleteTitle": "Delete subscription",
    "get_config": "Get config",
    "loadError": "Failed to load subscription",
    "newTariff": "New tariff",
    "noOptionsAvailable": "No options available",
    "noRenewalOptions": "No renewal options",
    "notFound": "Subscription not found",
    "notFoundDesc": "It may have been deleted or not yet activated",
    "servers": "Servers",
    "statusActive": "Active",
    "statusExpired": "Expired",
    "statusLimited": "Limited",
    "statusTrial": "Trial"
  },
  "balance": {
    "title": "Balance",
    "currentBalance": "Current Balance",
    "topUp": "Top Up",
    "topUpBalance": "Top Up Balance",
    "enterAmount": "Enter amount",
    "paymentMethod": "Payment Method",
    "paymentMethods": {
      "yookassa": {
        "description": "Pay via YooKassa"
      },
      "cryptobot": {
        "description": "Pay with cryptocurrency via CryptoBot"
      },
      "telegram_stars": {
        "description": "Pay with Telegram Stars"
      },
      "heleket": {
        "description": "Pay with cryptocurrency via Heleket"
      },
      "mulenpay": {
        "description": "Pay via MulenPay"
      },
      "pal24": {
        "description": "Pay via PAL24"
      },
      "platega": {
        "description": "Pay via Platega"
      },
      "wata": {
        "description": "Pay via Wata"
      },
      "cloudpayments": {
        "description": "Pay with bank card via CloudPayments"
      },
      "freekassa": {
        "description": "Pay via FreeKassa"
      },
      "freekassa_sbp": {
        "description": "Pay via SBP (QR code)"
      },
      "freekassa_card": {
        "description": "Pay with Russian bank card"
      },
      "tribute": {
        "description": "Pay with bank card via Tribute"
      },
      "severpay": {
        "description": "Pay via SeverPay"
      },
      "riopay": {
        "description": "Pay via RioPay"
      },
      "kassa_ai": {
        "description": "Pay via Kassa AI"
      },
      "paypear": {
        "description": "Pay via PayPear"
      },
      "rollypay": {
        "description": "Pay via RollyPay (SBP)"
      },
      "aurapay": {
        "description": "Pay via AuraPay"
      },
      "etoplatezhi": {
        "description": "Pay via Etoplatezhi"
      },
      "antilopay": {
        "description": "Pay via Antilopay"
      },
      "jupiter": {
        "description": "Pay via SBP through Jupiter (FPGate P2P)"
      },
      "donut": {
        "description": "Pay by card or SBP through Donut P2P"
      },
      "lava": {
        "description": "Pay by card or SBP through Lava Business"
      },
      "apple_iap": {
        "description": "Pay via Apple In-App Purchase"
      }
    },
    "transactionHistory": "Transaction History",
    "noTransactions": "No transactions",
    "date": "Date",
    "type": "Type",
    "description": "Description",
    "amount": "Amount",
    "deposit": "Deposit",
    "withdrawal": "Withdrawal",
    "subscriptionPayment": "Subscription Payment",
    "referralReward": "Referral Reward",
    "minAmount": "Min.",
    "maxAmount": "Max.",
    "notAvailable": "Not available",
    "useBot": "Please use the Telegram bot to top up your balance.",
    "page": "Page {{current}} of {{total}}",
    "invalidAmount": "Invalid amount",
    "promocode": {
      "title": "Promo Code",
      "placeholder": "Enter promo code",
      "activate": "Activate",
      "activating": "Activating...",
      "success": "Promo code activated successfully!",
      "balanceAdded": "Balance added: {{amount}} ₽",
      "errors": {
        "not_found": "Promo code not found",
        "expired": "Promo code has expired",
        "inactive": "Promo code is deactivated",
        "not_yet_valid": "Promo code is not yet active",
        "used": "Promo code has already been used",
        "already_used_by_user": "You have already used this promo code",
        "active_discount_exists": "You already have an active discount. Deactivate it first.",
        "no_subscription_for_days": "This promo code requires an active or expired subscription",
        "subscription_not_found": "Subscription not found",
        "not_first_purchase": "This promo code is only available for your first purchase",
        "daily_limit": "Too many promo code activations today",
        "trial_subscription_exists": "You already have a subscription, so this trial code can't be applied",
        "trial_provisioning_failed": "Couldn't provision the trial right now, please try again later",
        "user_not_found": "User not found",
        "server_error": "Server error"
      },
      "daysLeft": "Days left: {{count}}",
      "selectSubscription": "Select a subscription"
    },
    "minAmountError": "Minimum amount: {{amount}} ₽",
    "maxAmountError": "Maximum amount: {{amount}} ₽",
    "paymentOption": "Payment option",
    "selectPaymentOption": "Select payment option",
    "selectPaymentMethod": "Select payment method",
    "insufficientFunds": "Insufficient funds",
    "topUpToComplete": "Top up your balance to complete the purchase",
    "missing": "Missing",
    "noPaymentMethods": "No payment methods available",
    "pendingPayments": {
      "title": "Pending Payments",
      "pay": "Pay",
      "checkStatus": "Check Status",
      "checking": "Checking..."
    },
    "savedCards": {
      "title": "Saved Cards",
      "card": "Card",
      "unlink": "Unlink",
      "confirmUnlink": "Are you sure you want to unlink this card? Automatic balance top-up will no longer be possible.",
      "unlinkSuccess": "Card unlinked successfully",
      "unlinkError": "Failed to unlink card",
      "linkedAt": "Linked {{date}}",
      "noCards": "Card will be saved automatically on next top-up",
      "pageTitle": "Saved Cards",
      "backToBalance": "Back",
      "empty": "No saved cards. A card will be saved automatically on your next top-up.",
      "loadError": "Failed to load saved cards. Please try again later."
    },
    "paymentReady": "Payment link is ready",
    "clickToOpenPayment": "Click the button below to open the payment page in a new tab",
    "openPaymentPage": "Open payment page",
    "errors": {
      "noPaymentLink": "Server did not return a payment link",
      "starsOnlyInTelegram": "Stars payment is only available in Telegram Mini App",
      "generic": "Error: {{details}}",
      "invoiceFailed": "Failed to create invoice",
      "rateLimit": "Please wait {{seconds}} sec.",
      "selectMethod": "Select a method",
      "enterAmount": "Enter an amount",
      "amountRange": "Amount: {{min}} – {{max}} ₽"
    },
    "paymentSuccess": {
      "title": "Payment Successful",
      "message": "Your balance has been topped up successfully. The funds are now available."
    },
    "topUpResult": {
      "awaitingPayment": "Awaiting Payment",
      "awaitingPaymentDesc": "We are waiting for your payment confirmation. This may take a few minutes.",
      "topUpAmount": "Top-up amount",
      "success": "Balance Topped Up!",
      "successDesc": "Your balance has been topped up successfully. The funds are now available.",
      "failed": "Payment Failed",
      "failedDesc": "Unfortunately, the payment was not completed. Please try again or choose a different payment method.",
      "timeout": "Taking Longer Than Expected",
      "timeoutDesc": "Payment processing is taking longer than usual. You can try checking the status again.",
      "goToBalance": "Go to Balance",
      "tryAgain": "Try Again"
    },
    "top_up": "Top up balance"
  },
  "referral": {
    "title": "Referral Program",
    "yourLink": "Your Referral Links",
    "botLink": "Bot link",
    "cabinetLink": "Cabinet link",
    "copyLink": "Copy",
    "copied": "Copied!",
    "shareButton": "Share",
    "shareMessage": "Join me on {{botName}} and earn up to {{percent}}% cashback!",
    "shareHint": "Share this link with friends. When they sign up and make a purchase, you'll earn {{percent}}% commission!",
    "stats": {
      "totalReferrals": "Total Referrals",
      "activeReferrals": "Active",
      "totalEarnings": "Total Earnings",
      "commissionRate": "Commission Rate"
    },
    "terms": {
      "title": "Program Terms",
      "commission": "Commission",
      "minTopup": "Min. Top-up",
      "newUserBonus": "New User Bonus",
      "inviterBonus": "Inviter Bonus"
    },
    "yourReferrals": "Your Referrals",
    "noReferrals": "No referrals yet. Share your link to invite friends!",
    "anonymousUser": "User #{{id}}",
    "anonymousReferral": "Referral",
    "user": "User",
    "joined": "Joined",
    "hasPaid": "Has Paid",
    "status": {
      "pending": "Pending",
      "paid": "Paid"
    },
    "earningsHistory": "Earnings History",
    "reason": "Reason",
    "reasons": {
      "referral_registration_pending": "Referral Registration",
      "referral_registration": "Referral Registration",
      "referral_first_payment": "Referral First Payment",
      "referral_subscription_renewal": "Referral Subscription Renewal",
      "referral_bonus": "Referral Bonus"
    },
    "disabled": "Referral program is currently disabled",
    "partner": {
      "becomePartner": "Become a Partner",
      "becomePartnerDesc": "Apply for the partner program to get higher commission rates and the ability to withdraw your earnings.",
      "applyButton": "Apply",
      "applyTitle": "Partner Application",
      "applyDesc": "Fill out the form below to apply for our partner program. All fields are optional.",
      "underReview": "Application Under Review",
      "underReviewDesc": "Your partner application is being reviewed. We'll notify you once a decision is made.",
      "submittedAt": "Submitted on {{date}}",
      "partnerStatus": "Partner",
      "active": "Active",
      "commissionInfo": "Your partner commission rate is {{percent}}%",
      "rejected": "Application Rejected",
      "reapplyButton": "Reapply",
      "applying": "Submitting...",
      "submitApplication": "Submit Application",
      "applyError": "Failed to submit application. Please try again.",
      "yourCampaigns": "Your campaigns",
      "campaignLinks": {
        "bot": "Bot link",
        "web": "Cabinet link"
      },
      "campaignBonus": {
        "title": "Referral bonus",
        "balance": "+{{amount}} to balance",
        "balanceDesc": "{{amount}} credited on signup",
        "subscription": "{{days}} days subscription",
        "subscriptionDesc": "{{days}} days free subscription",
        "tariff": "Bonus tariff",
        "tariffDesc": "Free tariff plan"
      },
      "stats": {
        "registrations": "Registrations",
        "referrals": "Referrals",
        "earnings": "Earnings",
        "conversionRate": "Conversion",
        "today": "Today",
        "week": "Week",
        "month": "Month",
        "showDetails": "Details",
        "hideDetails": "Collapse",
        "vsLastWeek": "vs last week",
        "topReferrals": "Top Referrals",
        "noData": "No data",
        "dailyChart": "30-day trends",
        "periodComparison": "Period comparison",
        "noReferrals": "No referrals yet",
        "paid": "Paid",
        "pending": "Pending",
        "active": "Active",
        "referralsCount": "Referrals",
        "earningsAmount": "Earned"
      },
      "fields": {
        "companyName": "Company Name",
        "companyNamePlaceholder": "Your company or brand name",
        "telegramChannel": "Telegram Channel",
        "telegramChannelPlaceholder": "@yourchannel",
        "websiteUrl": "Website URL",
        "websiteUrlPlaceholder": "https://example.com",
        "description": "Description",
        "descriptionPlaceholder": "Tell us about your audience and how you plan to promote...",
        "expectedReferrals": "Expected Monthly Referrals",
        "expectedReferralsPlaceholder": "Estimated number per month",
        "desiredCommission": "Desired Commission (%)",
        "desiredCommissionPlaceholder": "From 1 to 100%"
      }
    },
    "withdrawal": {
      "title": "Withdrawal",
      "goToWithdrawal": "Withdraw",
      "available": "Available",
      "totalEarned": "Total Earned",
      "withdrawn": "Withdrawn",
      "spent": "Spent on Services",
      "pending": "Pending",
      "requestButton": "Request Withdrawal",
      "minAmount": "Minimum withdrawal amount: {{amount}}",
      "history": "Withdrawal History",
      "noHistory": "No withdrawal requests yet",
      "requestTitle": "Request Withdrawal",
      "requestDesc": "Available for withdrawal: {{available}}",
      "requesting": "Submitting...",
      "submitRequest": "Submit Request",
      "requestError": "Failed to create withdrawal request. Please try again.",
      "fields": {
        "amount": "Amount",
        "amountPlaceholder": "Enter amount in {{currency}}",
        "amountHint": "Minimum: {{min}} {{currency}}",
        "paymentDetails": "Payment Details",
        "paymentDetailsPlaceholder": "Card number, wallet address, or other payment info..."
      },
      "status": {
        "pending": "Pending",
        "approved": "Approved",
        "completed": "Completed",
        "rejected": "Rejected",
        "cancelled": "Cancelled"
      }
    }
  },
  "support": {
    "title": "Support",
    "newTicket": "New Ticket",
    "yourTickets": "Your Tickets",
    "noTickets": "No tickets yet",
    "createTicket": "Create New Ticket",
    "subject": "Subject",
    "subjectPlaceholder": "Brief description of your issue",
    "message": "Message",
    "messagePlaceholder": "Describe your issue in detail...",
    "send": "Send",
    "sending": "Sending...",
    "creating": "Creating...",
    "reply": "Reply",
    "replyPlaceholder": "Type your reply...",
    "sendReply": "Send Reply",
    "you": "You",
    "supportTeam": "Support",
    "selectTicket": "Select a ticket or create a new one",
    "created": "Created",
    "repliesDisabled": "Replies to this ticket are disabled",
    "status": {
      "open": "Open",
      "answered": "Answered",
      "pending": "Pending",
      "closed": "Closed"
    },
    "attachImage": "Attach image",
    "invalidFileType": "Invalid file type. Use JPEG, PNG, GIF or WebP.",
    "fileTooLarge": "File is too large. Maximum size is 10MB.",
    "uploadFailed": "Failed to upload image",
    "imageLoadFailed": "Failed to load image",
    "tooManyRequests": "Too many requests. Please wait {{seconds}} sec.",
    "ticketsDisabled": "Tickets Disabled",
    "useProfile": "Please go to the bot profile to get support",
    "goToProfile": "Go to Profile",
    "useExternalLink": "Please use the external link to get support",
    "openSupport": "Open Support",
    "contactSupport": "Please contact {{username}} for support",
    "contactUs": "Contact Support",
    "create_ticket": "Create ticket"
  },
  "wheel": {
    "title": "Fortune Wheel",
    "disabled": "Fortune Wheel is currently unavailable",
    "prizes": "Prizes",
    "spinsRemaining": "Spins remaining today",
    "choosePayment": "Choose payment method",
    "stars": "Stars",
    "telegramStars": "Telegram Stars",
    "days": "days",
    "days_one": "{{count}} day",
    "days_other": "{{count}} days",
    "subscriptionDays": "Subscription days",
    "day": "Day",
    "spinCost": "Spin cost",
    "spin": "SPIN!",
    "spinning": "Spinning...",
    "history": "History",
    "recentSpins": "Recent spins",
    "congratulations": "Congratulations!",
    "noLuck": "No luck!",
    "oops": "Oops!",
    "yourPromoCode": "Your promo code:",
    "close": "Close",
    "errors": {
      "networkError": "A network error occurred",
      "loadFailed": "Failed to load wheel configuration",
      "dailyLimitReached": "Daily spin limit reached",
      "cannotSpin": "Cannot spin right now",
      "insufficientBalance": "Insufficient balance",
      "topUpRequired": "Top up your balance to pay for spin",
      "starsNotAvailable": "Stars payment not available. Open the app via Telegram.",
      "noSubscription": "An active subscription is required to spin the wheel. Activate your subscription first.",
      "selectSubscription": "Select a subscription first"
    },
    "payWithStars": "Pay with Stars",
    "payWithDays": "Pay with days",
    "processingPayment": "Processing...",
    "starsPaymentSuccess": "Payment successful! Spin result sent to Telegram.",
    "starsPaymentSuccessCheckHistory": "Payment successful! Check history or Telegram for the result.",
    "starsPaymentFailed": "Payment failed. Please try again.",
    "starsPaymentRedirected": "Telegram will open for payment. Refresh the page after payment.",
    "starsNotAvailable": "Star payments are currently unavailable. Contact support.",
    "confirmStarsPayment": "You will be redirected to Telegram to pay for one wheel spin.",
    "payStars": "Pay {{count}} ⭐",
    "youWon": "You won",
    "noPrize": "No luck this time...",
    "noHistory": "No spin history yet",
    "banner": {
      "title": "Try your luck!",
      "description": "Spin the wheel and win prizes: subscription days, balance, traffic and more!",
      "button": "Go to wheel"
    },
    "selectSubscription": "Select subscription"
  },
  "admin": {
    "backgrounds": {
      "title": "Animated Background",
      "description": "Choose a type and configure animation settings",
      "selectType": "Background Type",
      "preview": "Preview",
      "settings": "Settings",
      "save": "Save",
      "saved": "Saved",
      "saving": "Saving...",
      "enabled": "Background enabled",
      "disabled": "Background disabled",
      "reducedOnMobile": "Reduced mode on mobile",
      "reducedOnMobileDesc": "Reduces particle count and disables interactivity",
      "globalOpacity": "Opacity",
      "globalBlur": "Blur",
      "categoryCSS": "CSS",
      "categoryCanvas": "Canvas",
      "categorySVG": "SVG",
      "aurora": "Aurora",
      "auroraDesc": "Northern lights with smooth gradients",
      "sparkles": "Sparkles",
      "sparklesDesc": "Twinkling particles on the background",
      "vortex": "Vortex",
      "vortexDesc": "Spinning particle vortex",
      "shootingStars": "Shooting Stars",
      "shootingStarsDesc": "Falling stars on a starry sky",
      "beams": "Beams",
      "beamsDesc": "Light beams along SVG paths",
      "beamsCollision": "Beams Collision",
      "beamsCollisionDesc": "Exploding light beams",
      "gradientAnimation": "Gradient Animation",
      "gradientAnimationDesc": "Smoothly moving gradient blobs",
      "wavy": "Wavy",
      "wavyDesc": "Waves based on simplex noise",
      "lines": "Lines",
      "linesDesc": "Animated SVG waves",
      "boxes": "Boxes",
      "boxesDesc": "Grid of interactive blocks",
      "meteors": "Meteors",
      "meteorsDesc": "Flying meteors",
      "grid": "Grid",
      "gridDesc": "Minimalist grid pattern",
      "dots": "Dots",
      "dotsDesc": "Dot pattern",
      "spotlight": "Spotlight",
      "spotlightDesc": "Spotlight beam",
      "noise": "Noise",
      "noiseDesc": "Noise gradients with motion",
      "ripple": "Ripple",
      "rippleDesc": "Ripple wave effect",
      "geminiEffect": "Gemini Effect",
      "geminiEffectDesc": "SVG effect like Google Gemini",
      "speed": "Speed",
      "density": "Particle Density",
      "particles": "Particle Count",
      "count": "Count",
      "hue": "Hue",
      "rangeY": "Y Range",
      "minSize": "Min Size",
      "maxSize": "Max Size",
      "minSpeed": "Min Speed",
      "maxSpeed": "Max Speed",
      "particleColor": "Particle Color",
      "starColor": "Star Color",
      "trailColor": "Trail Color",
      "bgColor": "Background Color",
      "fillColor": "Fill Color",
      "color1": "Color 1",
      "color2": "Color 2",
      "color3": "Color 3",
      "color4": "Color 4",
      "color5": "Color 5",
      "interactive": "Interactive (mouse)",
      "size": "Size",
      "radialGradient": "Radial Gradient",
      "waveWidth": "Wave Width",
      "blurAmount": "Blur",
      "waveOpacity": "Wave Opacity",
      "duration": "Duration",
      "intensity": "Intensity",
      "rows": "Rows",
      "cols": "Columns",
      "gridSize": "Grid Size",
      "small": "Small",
      "normal": "Normal",
      "slow": "Slow",
      "fast": "Fast",
      "none": "No Background",
      "noneDesc": "Disable animated background"
    },
    "groups": {
      "analytics": "Analytics",
      "marketing": "Marketing",
      "system": "System",
      "tariffs": "Tariffs & Sales",
      "users": "Users",
      "security": "Security"
    },
    "nav": {
      "title": "Admin",
      "dashboard": "Dashboard",
      "tickets": "Tickets",
      "settings": "Settings",
      "apps": "Apps",
      "wheel": "Wheel",
      "tariffs": "Tariffs",
      "servers": "Squads",
      "banSystem": "Ban Monitoring",
      "broadcasts": "Broadcasts",
      "users": "Users",
      "payments": "Payments",
      "remnawave": "Remnawave",
      "emailTemplates": "Email Templates",
      "paymentMethods": "Payment Methods",
      "campaigns": "Campaigns",
      "promoOffers": "Promo Offers",
      "promocodes": "Promo Codes",
      "promoGroups": "Discount Groups",
      "trafficUsage": "Traffic Usage",
      "updates": "Updates",
      "pinnedMessages": "Pinned Messages",
      "partners": "Partners",
      "withdrawals": "Withdrawals",
      "channelSubscriptions": "Required Channels",
      "roles": "Roles",
      "roleAssign": "Role Assignment",
      "policies": "Access Policies",
      "auditLog": "Audit Log",
      "salesStats": "Sales Statistics",
      "landings": "Landings",
      "referralNetwork": "Referral Network",
      "news": "News",
      "bulkActions": "Bulk Actions",
      "infoPages": "Info Pages"
    },
    "panel": {
      "title": "Admin Panel",
      "subtitle": "System management",
      "statsUptime": "Uptime",
      "statsBot": "Bot",
      "statsCabinet": "Cabinet",
      "statsTrials": "Trials",
      "statsPaid": "Paid",
      "statsOnline": "Online",
      "statsToday": "today",
      "searchPlaceholder": "Search...",
      "searchEmpty": "Nothing found",
      "searchEmptyHint": "Try a different query",
      "searchClear": "Clear search",
      "dashboardDesc": "Statistics and system monitoring",
      "ticketsDesc": "Handle user support tickets",
      "settingsDesc": "System settings and parameters",
      "appsDesc": "Manage connection apps",
      "wheelDesc": "Configure fortune wheel and prizes",
      "tariffsDesc": "Manage tariff plans",
      "serversDesc": "Configure VPN servers",
      "banSystemDesc": "Ban monitoring and violations",
      "broadcastsDesc": "Mass messaging to users",
      "usersDesc": "Manage bot users",
      "paymentsDesc": "Payment verification",
      "remnawaveDesc": "Panel management and statistics",
      "emailTemplatesDesc": "Manage email notification templates",
      "paymentMethodsDesc": "Configure payment methods and order",
      "campaignsDesc": "Advertising campaigns",
      "promoOffersDesc": "Personal discounts",
      "promocodesDesc": "Manage promo codes",
      "promoGroupsDesc": "Discount groups for users",
      "trafficUsageDesc": "Per-user traffic by nodes",
      "updatesDesc": "Bot & cabinet versions",
      "pinnedMessagesDesc": "Manage pinned messages for users",
      "partnersDesc": "Manage partner applications and commissions",
      "withdrawalsDesc": "Review and process withdrawal requests",
      "channelSubscriptionsDesc": "Manage required channel subscriptions",
      "rolesDesc": "Manage admin roles and permissions",
      "roleAssignDesc": "Assign and revoke user roles",
      "policiesDesc": "Configure ABAC access policies",
      "auditLogDesc": "Review system activity and access history",
      "salesStatsDesc": "Sales analytics and trends",
      "landingsDesc": "Quick purchase landing pages",
      "referralNetworkDesc": "Referral graph and campaign visualization",
      "newsDesc": "Manage news articles and publications"
    },
    "salesStats": {
      "title": "Sales Statistics",
      "subtitle": "Revenue, trials, subscriptions, and renewals",
      "period": {
        "thisMonth": "This month",
        "from": "From",
        "to": "To",
        "week": "7 days",
        "month": "30 days",
        "quarter": "90 days",
        "all": "All time",
        "custom": "Custom"
      },
      "tabs": {
        "trials": "Trials",
        "sales": "Sales",
        "renewals": "Renewals",
        "addons": "Add-ons",
        "deposits": "Deposits",
        "payment": "Payments"
      },
      "summary": {
        "revenue": "Revenue",
        "activeSubs": "Active Subs",
        "activeTrials": "Active Trials",
        "newTrials": "New Trials",
        "newPaid": "New Paid Subscriptions",
        "conversion": "Conversion",
        "renewals": "Renewals",
        "addonRevenue": "Add-on Revenue",
        "manualTopup": "Manual Top-ups"
      },
      "trials": {
        "total": "Total Trials",
        "totalRegistrations": "Registrations",
        "trialsIssued": "Trials Issued",
        "conversion": "Conversion Rate",
        "byProvider": "By Registration Source",
        "dailyChart": "Daily Registrations & Trials",
        "registrations": "Registrations"
      },
      "sales": {
        "totalSales": "Total Sales",
        "totalRevenue": "Subscription turnover",
        "avgOrder": "Avg Order",
        "topTariff": "Top Tariff",
        "byTariff": "Sales by Tariff",
        "byPeriod": "By Subscription Period",
        "dailyChart": "Daily Sales",
        "dailyByTariff": "Sales by Tariff per Day",
        "subscriptions": "Subscriptions"
      },
      "renewals": {
        "total": "Total Renewals",
        "rate": "Renewal Rate",
        "revenue": "Revenue",
        "comparison": "Period Comparison",
        "currentPeriod": "Current Period",
        "previousPeriod": "Previous Period",
        "dailyChart": "Daily Renewals",
        "renewals": "Renewals"
      },
      "addons": {
        "totalPurchases": "Total Purchases",
        "totalGb": "Total Traffic",
        "revenue": "Revenue",
        "devicePurchases": "Device Purchases",
        "deviceRevenue": "Device Revenue",
        "trafficPurchases": "Traffic",
        "devicePurchasesDaily": "Devices",
        "byPackage": "By Package Size",
        "dailyChart": "Daily Add-on Purchases",
        "purchases": "Purchases"
      },
      "deposits": {
        "totalDeposits": "Total Deposits",
        "totalAmount": "Total Amount",
        "avgDeposit": "Avg Deposit",
        "byMethod": "By Payment Method",
        "dailyChart": "Daily Deposits",
        "dailyByMethod": "Daily Deposits by Payment Method",
        "revenue": "Revenue"
      },
      "payments": {
        "successRate": "Payment success rate",
        "attempts": "Payment attempts",
        "failedPurchases": "Failed purchases",
        "byGateway": "Success rate by gateway"
      },
      "loadError": "Failed to load statistics"
    },
    "referralNetwork": {
      "title": "Referral Network",
      "subtitle": "Referral graph and advertising campaign visualization",
      "search": {
        "placeholder": "Search by TG ID, @username, email, campaign...",
        "noResults": "Nothing found",
        "resultsCount": "Found: {{count}}",
        "clear": "Clear search"
      },
      "filters": {
        "title": "Filters",
        "campaigns": "Campaigns",
        "partnersOnly": "Partners only",
        "minReferrals": "Min referrals",
        "reset": "Reset"
      },
      "stats": {
        "totalUsers": "Users",
        "totalReferrers": "Referrers",
        "totalCampaigns": "Campaigns",
        "subscriptionRevenue": "Subscription revenue",
        "totalEarnings": "Ref. earnings"
      },
      "legend": {
        "title": "Legend",
        "fillTitle": "Subscription",
        "borderTitle": "Referral role",
        "regularUser": "No subscription",
        "activeReferrer": "Active referrer",
        "partner": "Partner",
        "topReferrer": "Top referrer (10+)",
        "campaignUser": "From campaign",
        "partnerCampaignEdge": "Partner → Campaign",
        "campaignNode": "Ad campaign",
        "paidActive": "Paid subscription",
        "trialActive": "Trial",
        "paidExpired": "Paid expired",
        "trialExpired": "Trial expired"
      },
      "user": {
        "tgId": "TG ID",
        "email": "Email",
        "partner": "Partner",
        "subscription": "Subscription",
        "validUntil": "until {{date}}",
        "noSubscription": "No subscription",
        "personalStats": "Personal statistics",
        "totalSpent": "Total spent",
        "referralEarnings": "Referral earnings",
        "referralBranch": "Referral branch",
        "directReferrals": "Direct referrals",
        "branchSize": "Total in branch",
        "branchRevenue": "Branch revenue",
        "source": "Source",
        "referredBy": "Referred by",
        "fromCampaign": "Campaign",
        "organic": "Organic",
        "subscriptionStatus": {
          "trial_active": "Trial",
          "paid_active": "Paid",
          "trial_expired": "Trial expired",
          "paid_expired": "Paid expired"
        }
      },
      "campaign": {
        "startParam": "Parameter",
        "active": "Active",
        "inactive": "Inactive",
        "directUsers": "Direct",
        "totalNetwork": "Total network",
        "totalRevenue": "Total revenue",
        "conversionRate": "Conversion",
        "avgCheck": "Avg check",
        "topReferrers": "Top referrers from campaign"
      },
      "controls": {
        "zoomIn": "Zoom in",
        "zoomOut": "Zoom out",
        "resetZoom": "Reset zoom",
        "fullscreen": "Fullscreen"
      },
      "scope": {
        "title": "Scope",
        "campaign": "Campaign",
        "partner": "Partner",
        "user": "User",
        "searchPlaceholder": "Search...",
        "selectCampaign": "Select campaign",
        "selectPartner": "Select partner",
        "selectUser": "Search user",
        "emptyState": "Select a campaign, partner, or user to view their network",
        "users": "users",
        "campaigns": "campaigns",
        "active": "Active",
        "inactive": "Inactive",
        "noResults": "Nothing found",
        "removeItem": "Remove {{label}}",
        "clearAll": "Clear all selections",
        "addScope": "Add scope",
        "maxReached": "Maximum {{max}} items"
      },
      "loading": "Loading graph...",
      "error": "Failed to load network data",
      "empty": "No data to display"
    },
    "trafficUsage": {
      "title": "Traffic Usage",
      "subtitle": "Per-user traffic statistics by nodes",
      "period": "Period",
      "days": "d",
      "exportCsv": "Export CSV",
      "exportSuccess": "CSV sent to your Telegram",
      "exportError": "Failed to export",
      "user": "User",
      "tariff": "Tariff",
      "devices": "Devices",
      "trafficLimit": "Limit",
      "total": "Total",
      "noData": "No traffic data",
      "loading": "Loading traffic data...",
      "noTariff": "—",
      "search": "Search by name or username",
      "allTariffs": "All tariffs",
      "nodes": "Nodes",
      "allNodes": "All nodes",
      "status": "Status",
      "allStatuses": "All",
      "statusActive": "Active",
      "statusTrial": "Trial",
      "statusExpired": "Expired",
      "statusDisabled": "Disabled",
      "customDates": "Custom dates",
      "dateFrom": "From",
      "dateTo": "To",
      "totalThreshold": "Total GB/d",
      "nodeThreshold": "Node GB/d",
      "risk": "Risk",
      "riskLow": "Low",
      "riskMedium": "Medium",
      "riskHigh": "High",
      "riskCritical": "Critical",
      "connected": "Conn.",
      "totalSpent": "Spent",
      "subStart": "Start",
      "subEnd": "End",
      "lastNode": "Last Node"
    },
    "emailTemplates": {
      "title": "Email Templates",
      "description": "Manage email notification templates",
      "subject": "Subject",
      "subjectPlaceholder": "Email subject line...",
      "body": "Body (HTML)",
      "bodyHint": "HTML content that will be wrapped in the base email template with header and footer.",
      "preview": "Preview",
      "sendTest": "Send Test",
      "resetDefault": "Reset to Default",
      "resetConfirm": "Reset this template to the default version?",
      "unsavedWarning": "Unsaved changes will be lost. Continue?",
      "custom": "Custom",
      "default": "Default",
      "saved": "Template saved",
      "resetted": "Template reset to default",
      "testSent": "Test email sent",
      "variables": "Available Variables",
      "clickToCopy": "Click to copy",
      "previewDesktopOnly": "Preview is only available in the desktop web version",
      "previewNotAvailable": "Preview not available"
    },
    "payments": {
      "title": "Payments",
      "description": "Search and manage payments",
      "searchPlaceholder": "Search: invoice, TG ID, @username, email...",
      "searchHint": "Examples: SP-78291, @username, 123456789, user@mail.ru",
      "searchResults": "Results for: {{query}}. Found {{count}}",
      "resetSearch": "Reset",
      "statusAll": "All",
      "statusPending": "Pending",
      "statusPaid": "Paid",
      "statusCancelled": "Cancelled",
      "period24h": "24h",
      "period7d": "7d",
      "period30d": "30d",
      "periodAll": "All",
      "periodCustom": "Range",
      "dateFrom": "From",
      "dateTo": "To",
      "applyDate": "Apply",
      "allMethods": "All methods",
      "totalCount": "Total",
      "pendingCount": "Pending",
      "paidCount": "Paid",
      "cancelledCount": "Cancelled",
      "totalPending": "Total pending",
      "filterByMethod": "Filter by method",
      "noPayments": "No payments found",
      "paid": "Paid",
      "user": "User",
      "openLink": "Open link",
      "checkStatus": "Check status",
      "checking": "Checking...",
      "prev": "Prev",
      "next": "Next",
      "checkError": "Status check failed"
    },
    "paymentMethods": {
      "title": "Payment Methods",
      "description": "Configure display order and conditions",
      "enabled": "On",
      "disabled": "Off",
      "notConfigured": "Not configured",
      "dragToReorder": "Drag to reorder",
      "dragHint": "Drag cards to change order. Click to configure.",
      "saveOrder": "Save Order",
      "orderSaved": "Order saved",
      "saved": "Settings saved",
      "noMethods": "No payment methods configured",
      "methodEnabled": "Method enabled",
      "providerNotConfigured": "Provider not configured in env",
      "openUrlDirect": "Open payment page directly",
      "openUrlDirectHint": "ON — the payment link opens immediately, without the intermediate button panel. OFF — an \"Open payment\" button is shown. Inside Telegram the link opens in the external browser either way (otherwise paying via a bank app/SBP fails); after payment the user returns to the result page. Stars/CryptoBot (t.me/ links) always open natively and ignore this flag.",
      "displayName": "Display name",
      "displayNameHint": "Leave empty for default name",
      "subOptions": "Payment options",
      "minAmount": "Min amount (kopeks)",
      "maxAmount": "Max amount (kopeks)",
      "conditions": "Display conditions",
      "userTypeFilter": "User type",
      "userTypeAll": "All",
      "userTypeTelegram": "Telegram",
      "userTypeEmail": "Email",
      "firstTopupFilter": "First top-up",
      "firstTopupAny": "Any",
      "firstTopupYes": "Made",
      "firstTopupNo": "Not made",
      "firstTopupWas": "Was",
      "firstTopupWasNot": "Was not",
      "promoGroupFilter": "Promo groups",
      "promoGroupAll": "All groups",
      "promoGroupSelected": "Selected",
      "promoGroupsShort": "groups",
      "noPromoGroups": "No promo groups",
      "cancelButton": "Cancel",
      "saveButton": "Save",
      "notFound": "Payment method not found"
    },
    "remnawave": {
      "title": "Remnawave",
      "subtitle": "Panel management and statistics",
      "connected": "Connected",
      "disconnected": "Not configured",
      "noData": "Failed to load data",
      "tabs": {
        "overview": "Overview",
        "nodes": "Nodes",
        "traffic": "Traffic",
        "squads": "Squads",
        "sync": "Sync"
      },
      "traffic": {
        "noData": "No traffic data available",
        "totalDownload": "Download",
        "totalUpload": "Upload",
        "totalTraffic": "Total",
        "online": "online",
        "inbounds": "Inbounds",
        "outbounds": "Outbounds"
      },
      "overview": {
        "system": "System",
        "usersOnline": "Online",
        "totalUsers": "Total Users",
        "nodesOnline": "Nodes Online",
        "connections": "Connections",
        "bandwidth": "Inbound Traffic",
        "download": "Download",
        "upload": "Upload",
        "total": "Total",
        "server": "Server",
        "cpu": "CPU Cores",
        "memory": "Memory",
        "uptime": "Uptime",
        "traffic": "Traffic Statistics",
        "traffic2days": "2 days",
        "traffic7days": "7 days",
        "traffic30days": "30 days",
        "trafficMonth": "Month",
        "trafficYear": "Year",
        "usersByStatus": "Users by Status"
      },
      "nodes": {
        "online": "Online",
        "offline": "Offline",
        "disabled": "Disabled",
        "noNodes": "No nodes found",
        "restart": "Restart",
        "enable": "Enable",
        "disable": "Disable",
        "restartAll": "Restart All",
        "confirmRestartAll": "Are you sure you want to restart all nodes?",
        "usersOnline": "online",
        "usersOnlineCount_one": "{{count}} online",
        "usersOnlineCount_other": "{{count}} online",
        "trafficUsed": "used",
        "uptimeLabel": "Uptime",
        "stats": {
          "total": "Total",
          "online": "Online",
          "offline": "Offline",
          "disabled": "Disabled",
          "users": "Users"
        },
        "usersOnlineCount": "{{count}} online"
      },
      "squads": {
        "synced": "Synced",
        "notSynced": "Not synced",
        "noSquads": "No squads found",
        "syncServers": "Sync Servers",
        "members": "members",
        "membersCount_one": "{{count}} member",
        "membersCount_other": "{{count}} members",
        "inbounds": "inbounds",
        "inboundsCount_one": "{{count}} inbound",
        "inboundsCount_other": "{{count}} inbounds",
        "available": "Available",
        "unavailable": "Unavailable",
        "stats": {
          "total": "Total",
          "synced": "Synced",
          "available": "Available",
          "members": "Members"
        },
        "detail": "Squad Details",
        "loadError": "Failed to load squad",
        "info": "Information",
        "originalName": "Original Name",
        "countryCode": "Country",
        "statsTitle": "Statistics",
        "inboundsList": "Inbounds",
        "localSettings": "Local Settings",
        "trialEligible": "Trial Eligible",
        "price": "Price",
        "users": "Users",
        "inboundsCount": "{{count}} inbounds",
        "membersCount": "{{count}} members"
      },
      "sync": {
        "autoSync": "Auto Sync",
        "runNow": "Run",
        "run": "Run",
        "running": "Running...",
        "schedule": "Schedule",
        "status": "Status",
        "lastRun": "Last Run",
        "nextRun": "Next Run",
        "enabled": "Enabled",
        "disabled": "Disabled",
        "success": "Success",
        "runAutoSyncNow": "Run Auto Sync Now",
        "fromPanel": "From Panel",
        "fromPanelDesc": "Import users from Remnawave to bot",
        "toPanel": "To Panel",
        "toPanelDesc": "Export users from bot to Remnawave"
      }
    },
    "wheel": {
      "title": "Fortune Wheel Settings",
      "enabled": "Enabled",
      "disabled": "Disabled",
      "tabs": {
        "settings": "Settings",
        "prizes": "Prizes",
        "statistics": "Statistics"
      },
      "preview": "Preview",
      "settings": {
        "enableWheel": "Enable Wheel",
        "allowSpins": "Allow users to spin the wheel",
        "spinCost": "Spin Cost",
        "costInStars": "Cost in Stars",
        "costInDays": "Cost in Days",
        "limitsAndRtp": "Limits & RTP",
        "rtpPercent": "RTP (Return to Player) %",
        "dailyLimit": "Daily Spin Limit (0 = unlimited)",
        "minSubDays": "Min subscription days for day payment",
        "promocodes": "Promocodes",
        "promoPrefix": "Promo code prefix",
        "promoValidityDays": "Promo code validity (days)"
      },
      "starsNotEnabledGlobally": "Star payments are not enabled in Payment Methods. Enable \"Telegram Stars\" in the Payment Methods section.",
      "prizes": {
        "addPrize": "Add Prize",
        "editPrize": "Edit Prize",
        "noPrizes": "No prizes configured. Add some prizes to enable the wheel.",
        "deletePrize": "Delete Prize",
        "confirmDelete": "Are you sure you want to delete this prize? This action cannot be undone.",
        "dragToReorder": "Drag to reorder",
        "unsavedOrder": "Unsaved order changes",
        "unsavedOrderHint": "Save or discard your changes",
        "types": {
          "subscription_days": "Subscription Days",
          "balance_bonus": "Balance Bonus",
          "traffic_gb": "Traffic GB",
          "promocode": "Promo Code",
          "nothing": "Nothing (Empty)"
        },
        "fields": {
          "type": "Type",
          "displayName": "Display Name",
          "value": "Value",
          "valueKopeks": "Value in Kopeks (for RTP)",
          "emoji": "Emoji",
          "color": "Color",
          "active": "Active",
          "worth": "Worth",
          "probability": "Manual probability (0–1)",
          "probabilityHint": "Empty = auto by RTP"
        },
        "promo": {
          "title": "Promo Code Settings",
          "balanceBonus": "Balance bonus (kopeks)",
          "subscriptionDays": "Subscription days"
        }
      },
      "statistics": {
        "totalSpins": "Total Spins",
        "revenue": "Revenue",
        "payouts": "Payouts",
        "actualRtp": "Actual RTP",
        "targetRtp": "target",
        "prizeDistribution": "Prize Distribution",
        "times": "times",
        "times_one": "{{count}} time",
        "times_other": "{{count}} times",
        "topWins": "Top Wins",
        "loadError": "Failed to load statistics",
        "empty": "No spins yet"
      }
    },
    "broadcasts": {
      "title": "Broadcasts",
      "subtitle": "History and management",
      "create": "Create Broadcast",
      "empty": "No broadcasts",
      "selectFilter": "Select audience",
      "selectFilterPlaceholder": "Select filter...",
      "recipients": "recip.",
      "messageText": "Message text",
      "messageTextPlaceholder": "Enter broadcast message...",
      "media": "Media file",
      "addMedia": "Add media",
      "uploading": "Uploading...",
      "buttons": "Buttons",
      "willBeSent": "Will be sent to",
      "users": "users",
      "send": "Send",
      "stop": "Stop",
      "progress": "Progress",
      "total": "Total",
      "sent": "Sent",
      "failed": "Failed",
      "blocked": "Blocked",
      "blockedShort": "blocked",
      "filter": "Filter",
      "message": "Message",
      "unknownAdmin": "Unknown",
      "detail": "Broadcast",
      "createdBy": "Created by",
      "notFound": "Broadcast not found",
      "prev": "Previous",
      "next": "Next",
      "status": {
        "queued": "Queued",
        "inProgress": "Sending",
        "completed": "Completed",
        "partial": "Partial",
        "failed": "Failed",
        "cancelled": "Cancelled",
        "cancelling": "Cancelling"
      },
      "filterGroups": {
        "basic": "Basic",
        "subscription": "By subscription",
        "traffic": "By traffic",
        "registration": "By registration",
        "activity": "By activity",
        "source": "By source",
        "tariff": "By tariff",
        "email": "Email users"
      },
      "channel": {
        "telegram": "Telegram",
        "email": "Email",
        "both": "Both"
      },
      "selectChannel": "Broadcast channel",
      "telegramSection": "Telegram broadcast",
      "emailSection": "Email broadcast",
      "selectEmailFilter": "Select email audience",
      "selectEmailFilterPlaceholder": "Select filter...",
      "emailSubject": "Email subject",
      "emailSubjectPlaceholder": "Enter email subject...",
      "emailContent": "Email content",
      "emailContentHint": "HTML supported",
      "emailContentPlaceholder": "<p>Hello, {{user_name}}!</p>\n<p>Your message here...</p>",
      "emailVariables": "Available variables",
      "enableTelegram": "Telegram",
      "enableEmail": "Email",
      "sendingBoth": "2 broadcasts will be created",
      "bothCreated": "Broadcasts created",
      "atLeastOneChannel": "Select at least one channel",
      "customButtons": "Custom buttons",
      "addCustomButton": "Add button",
      "customButtonLabelPlaceholder": "Button text",
      "customButtonTypeCallback": "Callback",
      "customButtonTypeUrl": "URL",
      "customButtonCallbackPlaceholder": "callback_data (e.g. back_to_menu)",
      "customButtonUrlPlaceholder": "https://example.com",
      "preview": "Preview",
      "previewEmpty": "— empty —",
      "emailSubjectLabel": "Subject",
      "btnBalance": "Top up balance",
      "btnPartners": "Referral program",
      "btnPromocode": "Promo code",
      "btnConnect": "Connect",
      "btnSubscription": "Subscription",
      "btnSupport": "Support",
      "btnHome": "Home",
      "category": "Category",
      "categoryNews": "News",
      "categoryPromo": "Promo",
      "categorySystem": "System",
      "stopping": "Stopping…"
    },
    "pinnedMessages": {
      "title": "Pinned Messages",
      "subtitle": "Manage pinned messages for users",
      "create": "Create",
      "empty": "No pinned messages",
      "content": "Message text",
      "contentPlaceholder": "Enter pinned message text...",
      "noContent": "No text",
      "media": "Media file",
      "addMedia": "Add media",
      "uploading": "Uploading...",
      "settings": "Settings",
      "sendBeforeMenu": "Send before menu",
      "sendOnEveryStart": "Send on every start",
      "broadcast": "Broadcast",
      "broadcastOnCreate": "Broadcast on create",
      "broadcastConfirm": "Broadcast pinned message to all active users?",
      "broadcastToAll": "Broadcast to all",
      "activate": "Activate",
      "deactivate": "Deactivate",
      "unpin": "Unpin",
      "unpinAll": "Unpin for everyone",
      "unpinConfirm": "Unpin message for all users?",
      "delete": "Delete",
      "deleteConfirm": "Delete this pinned message?",
      "active": "Active",
      "inactive": "Inactive",
      "prev": "Previous",
      "next": "Next",
      "createSuccess": "Pinned message created",
      "updateSuccess": "Message updated",
      "deleteSuccess": "Message deleted",
      "activateSuccess": "Message activated",
      "deactivateSuccess": "Message deactivated",
      "broadcastSuccess": "Broadcast completed",
      "unpinSuccess": "Messages unpinned",
      "sentCount": "Sent",
      "failedCount": "Failed",
      "unpinnedCount": "Unpinned",
      "editMessage": "Edit",
      "cantDeleteActive": "Cannot delete active message"
    },
    "channelSubscriptions": {
      "title": "Required Channels",
      "subtitle": "Users must subscribe to these channels",
      "addChannel": "Add Channel",
      "empty": "No channels configured",
      "enabled": "Enabled",
      "disabled": "Disabled",
      "enable": "Enable",
      "disable": "Disable",
      "edit": "Edit",
      "editing": "Editing",
      "delete": "Delete",
      "deleteConfirm": "Delete this channel?",
      "sortOrder": "Order",
      "form": {
        "title": "Display Name",
        "channelId": "Channel ID",
        "channelIdHint": "-100XXXXXXXXXX",
        "channelLink": "Channel Link",
        "channelLinkHint": "https://t.me/channel",
        "submit": "Add",
        "save": "Save",
        "cancel": "Cancel"
      },
      "globalSettings": {
        "title": "Channel Settings",
        "channelRequired": "Require subscription",
        "channelRequiredDesc": "Users must subscribe to channels to use the bot",
        "disableTrialOnUnsub": "Disable trial on unsubscribe",
        "disableTrialOnUnsubDesc": "Revoke trial access when user unsubscribes from any channel",
        "requiredForAll": "Required for all users",
        "requiredForAllDesc": "Apply channel subscription check to all users, including paid"
      },
      "perChannel": {
        "disableTrial": "Disable trial on leave",
        "disableTrialDesc": "Revoke trial when user leaves this channel",
        "disablePaid": "Disable paid on leave",
        "disablePaidDesc": "Revoke paid access when user leaves this channel"
      }
    },
    "settings": {
      "title": "System Settings",
      "allCategories": "All categories",
      "noSettings": "No settings found",
      "quickToggles": "Quick Toggles",
      "modified": "Modified",
      "readOnly": "Read only",
      "badgeDb": "DB",
      "badgeEnv": "ENV",
      "reset": "Reset",
      "categoriesCount": "categories",
      "settingsCount": "settings",
      "expandAll": "Expand all",
      "collapseAll": "Collapse all",
      "searchPlaceholder": "Search settings...",
      "searchCategoriesPlaceholder": "Search categories...",
      "noSearchResults": "Nothing found",
      "example": "Example",
      "analytics": "Analytics",
      "buttons": "Buttons",
      "notConfigured": "Not configured",
      "counterActive": "Active",
      "counterInactive": "Inactive",
      "yandexMetrika": "Yandex Metrika",
      "yandexMetrikaDesc": "Track visitors and analyze website behavior",
      "counterId": "Counter ID",
      "yandexIdPlaceholder": "e.g. 87654321",
      "yandexIdHint": "Numeric ID from metrika.yandex.ru",
      "googleAds": "Google Ads",
      "googleAdsDesc": "Conversion tracking for ad campaigns",
      "conversionId": "Conversion ID",
      "googleIdPlaceholder": "e.g. AW-123456789",
      "googleIdHint": "Conversion ID in AW-XXXXXXXXX format",
      "conversionLabel": "Conversion Label (optional)",
      "googleLabelPlaceholder": "e.g. AbCdEfGhIjKl",
      "googleLabelHint": "Conversion label for event tracking",
      "analyticsHint": "Counters are automatically embedded on all cabinet pages. After saving an ID, scripts are loaded on the next page load. To remove a counter, clear the field and save.",
      "inputPlaceholder": "Enter value...",
      "ctrlEnterHint": "Ctrl+Enter to save",
      "cancelButton": "Cancel",
      "saveButton": "Save",
      "saveHint": "Save (Enter)",
      "cancelHint": "Cancel (Esc)",
      "removeFromFavorites": "Remove from favorites",
      "addToFavorites": "Add to favorites",
      "enabled": "Enabled",
      "disabled": "Disabled",
      "foundCount": "Found: {{count}}",
      "notFound": "Nothing found",
      "byQuery": "by query \"{{query}}\"",
      "accentColor": "Accent color",
      "animatedBackground": "Animated background",
      "animatedBackgroundDesc": "Show animated background effects",
      "autoFullscreen": "Auto fullscreen",
      "autoFullscreenDesc": "Auto expand in Telegram",
      "availableThemes": "Available themes",
      "colors": {
        "background": "Background",
        "error": "Error",
        "success": "Success",
        "surface": "Surface",
        "text": "Text",
        "textSecondary": "Secondary text",
        "warning": "Warning"
      },
      "customColors": "Custom colors",
      "darkTheme": "Dark theme",
      "emailAuth": "Email auth",
      "emailAuthDesc": "Allow login via email",
      "giftEnabled": "Gift subscription",
      "giftEnabledDesc": "Allow users to gift a subscription to another user",
      "favoritesEmpty": "No favorites yet",
      "favoritesHint": "Star settings to add them here",
      "interfaceOptions": "Interface options",
      "lightTheme": "Light theme",
      "logoAndName": "Logo & name",
      "notSpecified": "Not specified",
      "projectName": "Project name",
      "quickPresets": "Quick presets",
      "resetAllColors": "Reset all colors",
      "statusColors": "Status colors",
      "favorites": "Favorites",
      "branding": "Branding",
      "theme": "Theme",
      "payments": "Payments",
      "subscriptions": "Subscriptions",
      "interface": "Interface",
      "notifications": "Notifications",
      "database": "Database",
      "system": "System",
      "users": "Users",
      "customization": "Customization",
      "settingsLabel": "Settings",
      "backToAdmin": "Back to admin",
      "totalCount": "{{count}} total",
      "modifiedCount": "{{count}} modified",
      "groups": {
        "payments": "Payments",
        "subscriptions": "Subscriptions",
        "interface": "Interface",
        "users": "Users",
        "notifications": "Notifications",
        "database": "Database",
        "system": "System"
      },
      "tree": {
        "payments_general": "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": "Core",
        "subs_trial": "Trial",
        "subs_pricing": "Pricing",
        "subs_periods": "Periods",
        "subs_traffic": "Traffic",
        "subs_simple": "Simple subscription",
        "subs_autopay": "Auto-pay",
        "iface_general": "General",
        "iface_connect": "Connect button",
        "iface_miniapp": "MiniApp",
        "iface_happ": "HAPP",
        "iface_widget": "Login Widget",
        "iface_oidc": "OIDC",
        "iface_skip": "Skip steps",
        "iface_additional": "Additional",
        "users_support": "Support",
        "users_referral": "Referral",
        "users_channel": "Channel",
        "users_localization": "Localization",
        "users_moderation": "Moderation",
        "notif_user": "User notifications",
        "notif_admin": "Admin notifications",
        "notif_reports": "Reports",
        "db_general": "General",
        "db_postgres": "PostgreSQL",
        "db_sqlite": "SQLite",
        "db_redis": "Redis",
        "sys_core": "Core & Debug",
        "sys_remnawave": "Remnawave",
        "sys_webapi": "Web API",
        "sys_webhook": "Webhook",
        "sys_server": "Server status",
        "sys_monitoring": "Monitoring",
        "sys_maintenance": "Maintenance",
        "sys_backup": "Backup",
        "sys_version": "Version",
        "sys_logging": "Logging"
      },
      "categories": {
        "TELEGRAM_WIDGET": "Telegram Login Widget",
        "TELEGRAM_OIDC": "Telegram Login (OIDC)"
      },
      "settingNames": {
        "Telegram Widget Size": "Widget Size",
        "Telegram Widget Radius": "Corner Radius",
        "Telegram Widget Userpic": "Show User Photo",
        "Telegram Widget Request Access": "Request Access",
        "telegramOidcEnabled": "OIDC Enabled",
        "telegramOidcClientId": "Client ID (Bot ID)",
        "telegramOidcClientSecret": "Client Secret"
      },
      "offlineConv": "Offline Conversions",
      "apiKey": "API Key"
    },
    "bulkActions": {
      "title": "Bulk Actions",
      "subtitle": "User management",
      "selectedCount": "Selected: {{count}}",
      "selectAll": "Select all",
      "deselectAll": "Deselect all",
      "selectUser": "Select user {{name}}",
      "deselectUser": "Deselect user {{name}}",
      "noResults": "No users found",
      "perPage": "Per page",
      "actions": {
        "extend": "Extend subscription",
        "cancel": "Deactivate subscriptions",
        "activate": "Activate subscriptions",
        "changeTariff": "Change tariff",
        "addTraffic": "Add traffic",
        "addBalance": "Add balance",
        "assignPromoGroup": "Assign promo group",
        "grantSubscription": "Grant subscription",
        "setDevices": "Set devices",
        "deleteSubscription": "Delete subscriptions",
        "deleteUser": "Delete users"
      },
      "deleteSubscription": {
        "warning": "Selected subscriptions will be permanently deleted from the bot and Remnawave panel!",
        "hint": "Users will lose VPN access for deleted subscriptions. This action cannot be undone.",
        "activePaidWarning": "{{count}} of {{total}} selected subscriptions are active paid",
        "forceDeleteConfirm": "I confirm deletion of active paid subscriptions"
      },
      "deleteUser": {
        "warning": "Selected users will be permanently deleted from the bot! All their subscriptions, balance, and data will be lost!",
        "hint": "This action cannot be undone. Users will need to restart the bot to create a new account.",
        "deleteFromPanel": "Also delete from Remnawave panel"
      },
      "params": {
        "days": "Number of days",
        "tariff": "Select tariff",
        "trafficGb": "Traffic amount (GB)",
        "balanceRub": "Amount (RUB)",
        "promoGroup": "Promo group",
        "removePromoGroup": "Remove promo group",
        "deviceLimit": "Device count"
      },
      "grantSubscription": {
        "warning": "Users who already have a subscription on the selected tariff will be skipped"
      },
      "confirm": "Apply",
      "cancel": "Cancel",
      "executing": "Executing...",
      "complete": "Complete",
      "successCount": "Succeeded: {{count}}",
      "errorCount": "Errors: {{count}}",
      "progress": {
        "processed": "Processed: {{current}} / {{total}}",
        "succeeded": "succeeded",
        "failed": "failed",
        "ok": "OK",
        "errorGeneric": "Error",
        "doNotClose": "Please do not close this window while the operation is in progress",
        "summarySuccess": "{{count}} succeeded",
        "summaryErrors": "{{count}} errors"
      },
      "errors": {
        "title": "{{count}} errors. Show details"
      },
      "filters": {
        "search": "Search by ID, username, email",
        "status": "Subscription status",
        "tariff": "Tariff",
        "promoGroup": "Promo group",
        "allStatuses": "All statuses",
        "allTariffs": "All tariffs",
        "allGroups": "All groups",
        "allCampaigns": "All campaigns",
        "allPartners": "All partners",
        "trialOnly": "Trial only",
        "tariffsSelected": "{{count}} tariffs",
        "selectAll": "Select all",
        "deselectAll": "Deselect all"
      },
      "statuses": {
        "active": "Active",
        "expired": "Expired",
        "trial": "Trial",
        "limited": "Limited",
        "disabled": "Disabled"
      },
      "columns": {
        "user": "User",
        "status": "Status",
        "tariff": "Tariff",
        "balance": "Balance",
        "daysRemaining": "Days",
        "promoGroup": "Group",
        "spent": "Spent"
      },
      "subscriptionsSelected": "{{count}} subscriptions selected",
      "usersSelected": "{{count}} users selected",
      "expandSubscriptions": "Show subscriptions",
      "collapseSubscriptions": "Hide subscriptions",
      "noSubscriptions": "No subscriptions",
      "subscriptionTarget": "Target: subscriptions",
      "userTarget": "Target: users",
      "daysUnit": "d",
      "trafficOf": "of",
      "trafficGbUnit": "GB",
      "selectAllSubs": "Select all subscriptions",
      "deselectAllSubs": "Deselect all subscriptions"
    },
    "theme": {
      "accentColor": "Accent color",
      "customizeColors": "Customize colors",
      "hexCode": "HEX code",
      "hue": "Hue",
      "lightness": "Lightness",
      "quickPresets": "Quick presets",
      "saturation": "Saturation"
    },
    "buttons": {
      "color": "Button color",
      "emojiId": "Custom Emoji ID",
      "emojiPlaceholder": "Custom emoji ID (optional)",
      "resetAll": "Reset all styles",
      "resetConfirm": "Reset all button styles to defaults?",
      "hidden": "Hidden",
      "customLabels": "Button labels",
      "labelPlaceholder": "Custom button text",
      "labelsHint": "Empty = default label",
      "sections": {
        "home": "Home",
        "subscription": "Subscription",
        "balance": "Balance",
        "referral": "Referrals",
        "support": "Support",
        "info": "Info",
        "admin": "Admin Panel",
        "language": "Language"
      },
      "descriptions": {
        "home": "Personal cabinet button",
        "subscription": "Subscription management",
        "balance": "Top-up and balance",
        "referral": "Referral program",
        "support": "Support tickets",
        "info": "Information section",
        "admin": "Web admin panel",
        "language": "Language selection"
      },
      "styles": {
        "default": "No color",
        "primary": "Blue",
        "success": "Green",
        "danger": "Red"
      }
    },
    "menuEditor": {
      "dragHint": "Drag rows to reorder them",
      "dragToReorder": "Drag to reorder",
      "row": "Row",
      "addRow": "Add row",
      "addButton": "Add button",
      "addUrlButton": "URL button (link)",
      "builtinButtons": "Built-in buttons",
      "resetConfirm": "Reset menu layout to defaults?",
      "buttonTextPlaceholder": "Custom button text",
      "customLabelsHint": "Empty = default label",
      "moveUp": "Move up",
      "moveDown": "Move down",
      "openIn": "Open in",
      "openMode": {
        "external": "External browser",
        "webapp": "Telegram miniapp"
      },
      "invalidUrl": "Please provide a valid URL (http:// or https://) for all custom buttons"
    },
    "apps": {
      "title": "App Management",
      "addApp": "Add App",
      "addFirstApp": "Add First App",
      "noApps": "No apps for this platform",
      "createApp": "Create App",
      "editApp": "Edit App",
      "confirmDelete": "Are you sure you want to delete this app?",
      "copyTo": "Copy to...",
      "appId": "App ID",
      "appName": "Name",
      "urlScheme": "URL Scheme",
      "featured": "Featured",
      "base64Encoding": "Base64 Encoding",
      "buttons": "Buttons",
      "button": "Button",
      "addButton": "Add Button",
      "buttonText": "Button Text",
      "installDescription": "Installation Description",
      "subscriptionDescription": "Add Subscription Description",
      "connectDescription": "Connect Description",
      "beforeSubscription": "Before Add Subscription",
      "afterSubscription": "After Add Subscription",
      "stepTitle": "Title",
      "stepDescription": "Description",
      "tabs": {
        "basic": "Basic",
        "installation": "Installation",
        "subscription": "Subscription",
        "connect": "Connect",
        "additional": "Additional"
      },
      "import": "Import",
      "export": "Export",
      "importApps": "Import apps from JSON",
      "exportApps": "Export apps to JSON",
      "importPreview": "Import Preview",
      "confirmImport": "Import Apps",
      "importError": "Invalid JSON file format",
      "importCreateError": "Failed to create some apps",
      "noAppsToImport": "No apps to import",
      "remnaWaveToggle": "Toggle Remnawave source",
      "refreshRemnaWave": "Refresh from Remnawave",
      "remnaWaveMode": "Showing apps from Remnawave panel. Read-only mode.",
      "remnaWaveSettings": "Remnawave Settings",
      "remnaWaveConfigUuid": "Config UUID",
      "remnaWaveConfigUuidHint": "UUID of subscription page config from Remnawave panel",
      "availableConfigs": "Available configs",
      "noConfigs": "No configs",
      "remnaWaveConnected": "Remnawave connected",
      "remnaWaveDisconnected": "Remnawave disconnected"
    },
    "tickets": {
      "title": "Ticket Management",
      "total": "Total",
      "list": "Tickets",
      "noTickets": "No tickets",
      "selectTicket": "Select a ticket from the list",
      "allStatuses": "All statuses",
      "statusOpen": "Open",
      "statusPending": "Pending",
      "statusAnswered": "Answered",
      "statusClosed": "Closed",
      "from": "From",
      "created": "Created",
      "user": "User",
      "you": "You",
      "userLabel": "User",
      "adminLabel": "Admin",
      "replyPlaceholder": "Type your reply...",
      "sendReply": "Send Reply",
      "attachMedia": "Attach media",
      "invalidFileType": "Invalid file type. Use images, videos (MP4, WebM) or documents (PDF, DOC, TXT, ZIP).",
      "fileTooLarge": "File is too large. Maximum size is 10MB.",
      "uploadFailed": "Failed to upload file",
      "uploading": "Uploading...",
      "uploadComplete": "Uploaded",
      "settings": "Settings",
      "settingsSubtitle": "Configure ticket system and SLA",
      "settingsLoadError": "Failed to load settings",
      "supportMode": "Support mode",
      "supportModeDesc": "Choose how users can contact support",
      "modeBoth": "Tickets and contact",
      "modeTickets": "Tickets only",
      "modeContact": "Contact only",
      "slaSettings": "SLA Settings",
      "slaEnabled": "Enable SLA (response time monitoring)",
      "slaEnabledDesc": "Automatic notifications for overdue tickets",
      "slaMinutes": "Response time (minutes)",
      "slaMinutesDesc": "Maximum time to respond to a ticket (1-1440 minutes)",
      "checkInterval": "Check interval (seconds)",
      "checkIntervalDesc": "How often to check for overdue tickets (30-600 seconds)",
      "reminderCooldown": "Reminder interval (minutes)",
      "reminderCooldownDesc": "Minimum time between reminders (1-120 minutes)",
      "settingsUpdateError": "Error saving settings",
      "copyTelegramId": "Click to copy Telegram ID",
      "viewUser": "Profile",
      "cabinetNotifications": "Cabinet Notifications",
      "userNotificationsEnabled": "User Notifications",
      "userNotificationsEnabledDesc": "Send notifications to users about admin replies",
      "adminNotificationsEnabled": "Admin Notifications",
      "adminNotificationsEnabledDesc": "Send notifications to admins about new tickets and replies",
      "replyFailed": "Failed to send reply",
      "validation": {
        "checkIntervalRange": "Check interval must be between 1 and 1440 minutes",
        "reminderCooldownRange": "Reminder cooldown must be between 0 and 1440 minutes",
        "slaMinutesRange": "SLA must be between 1 and 10080 minutes"
      }
    },
    "tariffs": {
      "title": "Tariff Management",
      "subtitle": "Configure tariff plans",
      "create": "Create Tariff",
      "edit": "Edit Tariff",
      "noTariffs": "No tariffs",
      "name": "Name",
      "namePlaceholder": "Enter tariff name",
      "description": "Description",
      "descriptionPlaceholder": "Enter tariff description",
      "trafficLimit": "Traffic Limit",
      "trafficHint": "0 = unlimited traffic",
      "deviceLimit": "Device Limit",
      "tierLevel": "Tier Level",
      "tierHint": "1-10, affects priority during upgrade",
      "unlimited": "Unlimited",
      "devices": "devices",
      "devices_one": "{{count}} device",
      "devices_other": "{{count}} devices",
      "servers": "servers",
      "servers_one": "{{count}} server",
      "servers_other": "{{count}} servers",
      "subscriptions": "subscriptions",
      "subscriptions_one": "{{count}} subscription",
      "subscriptions_other": "{{count}} subscriptions",
      "trial": "Trial",
      "inactive": "Inactive",
      "activate": "Activate",
      "deactivate": "Deactivate",
      "toggleTrial": "Toggle Trial",
      "delete": "Delete",
      "confirmDelete": "Delete tariff?",
      "confirmDeleteText": "This action cannot be undone. The tariff will be permanently deleted.",
      "confirmDeleteWithSubscriptions": "This tariff has {{count}} active subscriptions. After deletion, users will need to select a new tariff when renewing.",
      "deleteSuccess": "Tariff deleted successfully",
      "deleteSuccessWithSubscriptions": "Tariff deleted. {{count}} subscriptions reset. Users will choose a new tariff on renewal.",
      "saveOrder": "Save order",
      "orderSaved": "Order saved",
      "dragToReorder": "Drag to reorder",
      "days": "days",
      "days_one": "{{count}} day",
      "days_other": "{{count}} days",
      "tabs": {
        "basic": "Basic",
        "prices": "Prices",
        "servers": "Servers"
      },
      "pricesHint": "Enable required periods and set prices (in rubles)",
      "periodDisabled": "Disabled",
      "serversHint": "Select servers available for this tariff. You can set individual traffic limits for each server.",
      "noServers": "No servers available",
      "serverTrafficLimit": "Traffic limit",
      "useDefault": "default",
      "selectType": "Select tariff type",
      "selectTypeDesc": "Choose the billing method for your new tariff",
      "periodTariff": "Period-based tariff",
      "periodTariffDesc": "Payment for period (7, 30, 90 days, etc.). Flexible periods and prices.",
      "dailyTariff": "Daily tariff",
      "dailyTariffDesc": "Daily deduction from balance. Can be paused.",
      "editTitle": "Edit tariff",
      "newPeriodTitle": "New period-based tariff",
      "newDailyTitle": "New daily tariff",
      "periodPayment": "Payment for period",
      "dailyDeduction": "Daily deduction",
      "tabBasic": "Basic",
      "tabPeriods": "Periods",
      "tabServers": "Servers",
      "tabExtra": "Additional",
      "nameLabel": "Tariff name",
      "nameExamplePeriod": "E.g.: Standard",
      "nameExampleDaily": "E.g.: Daily",
      "nameHint": "2 to 50 characters",
      "descriptionLabel": "Description",
      "descriptionPlaceholder2": "Brief tariff description",
      "trafficLimitLabel": "Traffic limit",
      "gbUnit": "GB",
      "trafficLimitHint": "0 = unlimited traffic",
      "deviceLimitLabel": "Devices in tariff",
      "tierLevelLabel": "Tariff tier level",
      "tierLevelHint": "Affects upgrade availability between tariffs",
      "fieldRequired": "Required field",
      "periodsTabHint": "Add periods and prices for the tariff. Users will be able to choose from the added periods.",
      "addPeriodTitle": "Add period",
      "daysLabel": "Days",
      "priceLabel": "Price (₽)",
      "addButton": "Add",
      "noPeriodsHint": "No added periods. Add at least one period.",
      "daysShort": "d.",
      "serversTitle": "Servers",
      "externalSquadTitle": "External Squad",
      "externalSquadHint": "Assign a Remnawave external squad for users on this tariff. When a subscription is created, the user will be automatically added to the selected squad.",
      "noExternalSquad": "No external squad",
      "externalSquadUsers": "users",
      "serversTabHint": "Select servers available on this tariff.",
      "noServersAvailable": "No servers available",
      "promoGroupsTitle": "Promo Groups",
      "promoGroupsHint": "Select promo groups that have access to this tariff. If none selected, available to everyone.",
      "noPromoGroups": "No promo groups",
      "extraDeviceTitle": "Additional devices",
      "devicePriceLabel": "Device price (30 days):",
      "devicePriceHint": "0 = device purchase unavailable",
      "maxDeviceLabel": "Max. devices on tariff:",
      "noLimitHint": "0 = no limits",
      "extraTrafficTitle": "Additional traffic",
      "trafficMaxLimitLabel": "Max. limit:",
      "trafficLimitHint2": "(0 = no limits)",
      "trafficPackagesLabel": "Traffic packages:",
      "addPackageTitle": "Add package",
      "noPackagesHint": "No packages added. Add at least one package.",
      "gbPackageUnit": "GB:",
      "customDaysTitle": "Custom number of days",
      "customDaysDesc": "User selects subscription duration",
      "pricePerDayLabel": "Price per day:",
      "minDaysLabel": "Min. days:",
      "maxDaysLabel": "Max. days:",
      "customTrafficTitle": "Custom traffic volume",
      "customTrafficDesc": "User selects traffic volume when purchasing",
      "pricePerGbLabel": "Price per 1 GB:",
      "minTrafficLabel": "Min. GB:",
      "maxTrafficLabel": "Max. GB:",
      "trafficResetModeTitle": "Traffic reset mode",
      "trafficResetModeDesc": "Defines when used traffic resets for subscribers of this tariff",
      "resetModeGlobal": "Global setting",
      "resetModeGlobalDesc": "Use value from bot config",
      "resetModeDaily": "Daily",
      "resetModeDailyDesc": "Reset every day",
      "resetModeWeekly": "Weekly",
      "resetModeWeeklyDesc": "Reset every week",
      "resetModeMonthly": "Monthly",
      "resetModeMonthlyDesc": "Reset every month",
      "resetModeMonthRolling": "Rolling month",
      "resetModeMonthRollingDesc": "Reset every 30 days from first connection",
      "resetModeNever": "Never",
      "resetModeNeverDesc": "Traffic is not reset",
      "cancelButton": "Cancel",
      "savingButton": "Saving...",
      "saveButton": "Save",
      "dailyType": "Daily",
      "periodType": "Period-based",
      "dailyPriceLabel": "Price per day",
      "currencyPerDay": "₽/day",
      "dailyDeductionDesc": "Charged daily from user's balance",
      "dailyPriceRequired": "Enter a price per day greater than 0",
      "cannotSave": "Cannot save tariff:",
      "statusTitle": "Tariff Status",
      "isActiveLabel": "Active",
      "isActiveHint": "Inactive tariffs are not shown to users",
      "showInGiftLabel": "Show in gifts",
      "showInGiftHint": "Tariff will be available for purchase in the gifts section",
      "giftBadge": "Gift",
      "isTrialLabel": "Trial tariff",
      "isTrialHint": "Available for free trial period",
      "validation": {
        "nameRequired": "Enter tariff name",
        "nameLength": "Name must be 2 to 50 characters",
        "deviceLimitRequired": "Specify number of devices (minimum 1)",
        "tierLevelInvalid": "Tier level must be between 1 and 10",
        "fieldsRequired": "Fill in required fields (devices, tier level)",
        "periodsRequired": "Add at least one period",
        "dailyPriceRequired": "Enter a price per day greater than 0",
        "trafficPackagesRequired": "Add at least one traffic package (or disable traffic topup)"
      }
    },
    "servers": {
      "title": "Squad Management",
      "subtitle": "Configure squads",
      "sync": "Sync",
      "syncing": "Syncing...",
      "syncNow": "Sync now",
      "noServers": "No servers. Sync with Remnawave.",
      "edit": "Edit Server",
      "originalName": "Original Name",
      "displayName": "Display Name",
      "displayNamePlaceholder": "Enter display name",
      "description": "Description",
      "descriptionPlaceholder": "Enter server description",
      "countryCode": "Country Code",
      "price": "Price",
      "priceHint": "Additional server cost",
      "maxUsers": "Max Users",
      "sortOrder": "Sort Order",
      "unlimited": "Unlimited",
      "stats": "Statistics",
      "currentUsers": "Current Users",
      "activeSubscriptions": "Active Subscriptions",
      "usedByTariffs": "Used by Tariffs",
      "trial": "Trial",
      "unavailable": "Unavailable",
      "full": "Full",
      "enable": "Enable",
      "disable": "Disable",
      "toggleTrial": "Toggle Trial",
      "loadError": "Failed to load server",
      "mainSettings": "Main Settings",
      "pricingAndLimits": "Pricing & Limits",
      "updateError": "Failed to save changes"
    },
    "campaigns": {
      "title": "Ad Campaigns",
      "subtitle": "Manage advertising links",
      "createButton": "Create",
      "noData": "No ad campaigns",
      "loadMore": "Load more",
      "bonusType": {
        "balance": "Balance",
        "subscription": "Subscription",
        "tariff": "Tariff",
        "none": "Link only"
      },
      "overview": {
        "totalCampaigns": "Total campaigns",
        "active": "Active",
        "registrations": "Registrations",
        "bonusesIssued": "Bonuses issued"
      },
      "table": {
        "inactive": "Inactive",
        "registrations_one": "{{count}} registration",
        "registrations_other": "{{count}} registrations",
        "revenue": "{{amount}} revenue",
        "conversion": "{{rate}}% conversion",
        "statistics": "Statistics",
        "deactivate": "Deactivate",
        "activate": "Activate",
        "edit": "Edit",
        "delete": "Delete",
        "registrations": "Registrations"
      },
      "modal": {
        "editTitle": "Edit Campaign",
        "createTitle": "New Campaign",
        "close": "Close"
      },
      "form": {
        "name": "Name",
        "namePlaceholder": "E.g.: Instagram Ad",
        "startParameter": "Label (start parameter)",
        "startParameterHint": "Latin letters, digits, _ and - only",
        "bonusType": "Bonus type",
        "balanceBonus": "Balance bonus",
        "trialSubscription": "Trial subscription",
        "days": "Days",
        "trafficGb": "Traffic (GB)",
        "devices": "Devices",
        "servers": "Servers",
        "tariff": "Tariff",
        "selectTariff": "Select tariff",
        "notSelected": "Not selected",
        "tariffOption": "{{traffic}} GB, {{devices}} dev.",
        "durationDays": "Duration (days)",
        "noBonusDescription": "Campaign without bonuses: only for tracking clicks and registrations.",
        "active": "Active",
        "cancel": "Cancel",
        "save": "Save",
        "saving": "Saving...",
        "partner": "Partner",
        "noPartner": "No partner",
        "selectPartner": "Select partner",
        "partnerAutoAssign": "Campaign will be automatically assigned to partner {{name}}"
      },
      "stats": {
        "title": "Campaign Statistics",
        "loadError": "Failed to load statistics",
        "detailedStats": "Detailed Statistics",
        "registrations": "Registrations",
        "revenue": "Revenue",
        "paidUsers": "Paid",
        "conversion": "Conversion",
        "bonusesIssued": "Bonuses issued",
        "subscriptionsIssued_one": "{{count}} subscription",
        "subscriptionsIssued_other": "{{count}} subscriptions",
        "tariffsIssued_one": "{{count}} tariff",
        "tariffsIssued_other": "{{count}} tariffs",
        "avgRevenuePerUser": "Avg revenue per user",
        "avgFirstPayment": "Avg first payment",
        "trialSubscriptions": "Trial subscriptions",
        "trialCount": "{{total}} (active: {{active}})",
        "trialConversion": "Trial conversion",
        "lastRegistration": "Last registration",
        "active": "Active",
        "inactive": "Inactive",
        "copy": "Copy",
        "copied": "Copied!",
        "botLink": "Bot link",
        "webLink": "Web link",
        "users": "Users",
        "noUsers": "No registered users",
        "paid": "Paid",
        "hasSub": "Has sub",
        "dailyChart": "30-day trends",
        "chartRegistrations": "Registrations",
        "chartRevenue": "Revenue",
        "totalDeposits": "Total Deposits",
        "totalSpending": "Subscription Spending",
        "periodComparison": "Period comparison",
        "vsLastWeek": "vs last week",
        "topRegistrations": "Top registrations",
        "subscriptionsIssued": "Subscriptions issued",
        "tariffsIssued": "Tariffs issued"
      },
      "users": {
        "title": "Campaign Users",
        "campaignRegistrations": "{{name}}: {{count}} registrations",
        "noUsers": "No registered users",
        "user": "User",
        "bonus": "Bonus",
        "balance": "Balance",
        "status": "Status",
        "date": "Date",
        "noName": "No name",
        "paid": "Paid",
        "prev": "Prev",
        "next": "Next",
        "pageOf": "{{page}} of {{totalPages}}"
      },
      "confirm": {
        "deleteTitle": "Delete campaign?",
        "deleteText": "This action cannot be undone. Campaigns with registrations cannot be deleted.",
        "cancel": "Cancel",
        "delete": "Delete"
      },
      "loadError": "Failed to load campaign",
      "updateError": "Failed to save changes",
      "validation": {
        "nameRequired": "Name is required"
      }
    },
    "withdrawals": {
      "title": "Withdrawals",
      "subtitle": "Manage withdrawal requests",
      "noData": "No withdrawal requests",
      "risk": "Risk:",
      "overview": {
        "pendingCount": "Pending",
        "pendingAmount": "Pending amount",
        "approvedCount": "Approved",
        "completedCount": "Completed"
      },
      "filter": {
        "all": "All",
        "pending": "Pending",
        "approved": "Approved",
        "rejected": "Rejected",
        "completed": "Completed",
        "cancelled": "Cancelled"
      },
      "status": {
        "pending": "Pending",
        "approved": "Approved",
        "rejected": "Rejected",
        "completed": "Completed",
        "cancelled": "Cancelled",
        "unknown": "Unknown"
      },
      "detail": {
        "title": "Withdrawal",
        "loadError": "Failed to load withdrawal details",
        "userInfo": "User Information",
        "username": "Username",
        "telegramId": "Telegram ID",
        "balance": "Balance",
        "totalReferrals": "Total referrals",
        "totalEarnings": "Total earnings",
        "requestedAmount": "Requested Amount",
        "createdAt": "Created",
        "paymentDetails": "Payment Details",
        "noPaymentDetails": "No payment details provided",
        "riskAnalysis": "Risk Analysis",
        "riskScore": "Risk score",
        "riskLevel": {
          "low": "Low",
          "medium": "Medium",
          "high": "High",
          "critical": "Critical"
        },
        "flags": "Flags",
        "balanceStats": "Balance Statistics",
        "referralDeposits": "Referral Deposits",
        "suspiciousReferrals": "Suspicious Referrals",
        "earningsByReason": "Earnings by Reason",
        "adminComment": "Admin Comment",
        "processedAt": "Processed at",
        "approve": "Approve",
        "approving": "Approving...",
        "reject": "Reject",
        "rejecting": "Rejecting...",
        "complete": "Mark as Completed",
        "completing": "Completing...",
        "rejectTitle": "Reject withdrawal?",
        "rejectDescription": "Optionally add a comment explaining the reason for rejection.",
        "commentPlaceholder": "Reason for rejection (optional)...",
        "confirmReject": "Confirm Rejection"
      }
    },
    "partners": {
      "title": "Partners",
      "subtitle": "Partner management and applications",
      "totalPartners": "Total partners",
      "pendingApplications": "Pending applications",
      "totalReferrals": "Total referrals",
      "totalEarnings": "Total earnings",
      "tabs": {
        "partners": "Partners",
        "applications": "Applications"
      },
      "noPartners": "No partners yet",
      "noApplications": "No pending applications",
      "commission": "{{percent}}% commission",
      "referrals": "{{count}} referrals",
      "actions": {
        "approve": "Approve",
        "reject": "Reject",
        "review": "Review"
      },
      "applicationFields": {
        "companyName": "Company",
        "website": "Website",
        "channel": "Channel",
        "description": "Description",
        "expectedReferrals": "Expected referrals/mo",
        "desiredCommission": "Desired commission"
      },
      "approveDialog": {
        "title": "Approve Application",
        "description": "Approve partner application from {{name}}",
        "commissionLabel": "Commission (%)"
      },
      "rejectDialog": {
        "title": "Reject Application",
        "description": "Reject partner application from {{name}}",
        "commentLabel": "Comment (optional)",
        "commentPlaceholder": "Reason for rejection..."
      },
      "settings": "Settings",
      "settingsSubtitle": "Partner program and withdrawal settings",
      "settingsLoadError": "Failed to load settings",
      "settingsUpdateError": "Failed to save settings",
      "settingsSection": {
        "referralProgram": "Referral Program",
        "withdrawalSettings": "Withdrawal Settings"
      },
      "settingsFields": {
        "programEnabled": "Referral program enabled",
        "programEnabledDesc": "Enable/disable referral program for all users",
        "partnerVisible": "Partner section visible in cabinet",
        "partnerVisibleDesc": "Show/hide partner application and withdrawal sections for users",
        "withdrawalEnabled": "Withdrawal enabled",
        "withdrawalEnabledDesc": "Allow partners to request withdrawal of referral balance",
        "minAmount": "Min. withdrawal amount (kopeks)",
        "minAmountDesc": "Minimum amount for a withdrawal request (100 kopeks = 1 ₽)",
        "cooldownDays": "Cooldown between withdrawals (days)",
        "cooldownDaysDesc": "How many days must pass between withdrawal requests",
        "requisitesText": "Requisites field prompt",
        "requisitesTextDesc": "Custom text shown to users to describe what payment details to provide",
        "requisitesTextPlaceholder": "E.g.: Provide your bank card number or USDT TRC-20 address"
      }
    },
    "partnerDetail": {
      "title": "Partner Details",
      "loadError": "Failed to load partner details",
      "status": {
        "approved": "Active",
        "pending": "Pending",
        "rejected": "Rejected",
        "none": "Not a partner"
      },
      "stats": {
        "totalReferrals": "Total referrals",
        "paidReferrals": "Paid referrals",
        "activeReferrals": "Active referrals",
        "conversionRate": "Conversion"
      },
      "earnings": {
        "title": "Earnings",
        "allTime": "All time",
        "today": "Today",
        "week": "This week",
        "month": "This month"
      },
      "commission": {
        "title": "Commission",
        "update": "Update"
      },
      "campaigns": {
        "title": "Assigned Campaigns",
        "noCampaigns": "No campaigns assigned",
        "active": "Active",
        "inactive": "Inactive",
        "assign": "Assign",
        "unassign": "Unassign",
        "createNew": "Create",
        "assignTitle": "Assign Campaign",
        "noAvailable": "No available campaigns to assign",
        "createTitle": "Create Campaign",
        "createSubtitle": "Campaign will be auto-assigned to the partner",
        "autoAssignNote": "Campaign will be automatically assigned to partner {{name}}",
        "createAndAssign": "Create & Assign",
        "earnings": "Earnings",
        "referrals": "Referrals",
        "registrations": "Registrations"
      },
      "dangerZone": {
        "title": "Danger Zone",
        "revokeButton": "Revoke Partner Status"
      },
      "commissionDialog": {
        "title": "Update Commission",
        "description": "Set a new commission percentage for this partner.",
        "label": "Commission (%)"
      },
      "revokeDialog": {
        "title": "Revoke Partner Status?",
        "description": "This will remove partner privileges. The partner will no longer earn commissions from referrals."
      }
    },
    "promocodes": {
      "title": "Promo Codes",
      "subtitle": "Manage promo codes and discount groups",
      "addPromocode": "Add promo code",
      "addGroup": "Add group",
      "noPromocodes": "No promo codes",
      "noGroups": "No discount groups",
      "firstPurchase": "First purchase",
      "used": "Used",
      "until": "Until",
      "discountForHours": "-{{percent}}% for {{hours}}h",
      "tabs": {
        "promocodes_one": "Promo codes ({{count}} code)",
        "promocodes_other": "Promo codes ({{count}} codes)",
        "groups_one": "Discount groups ({{count}} group)",
        "groups_other": "Discount groups ({{count}} groups)"
      },
      "type": {
        "balance": "Balance",
        "subscriptionDays": "Subscription days",
        "trialSubscription": "Trial subscription",
        "promoGroup": "Discount group",
        "discount": "Discount %"
      },
      "modal": {
        "editPromocode": "Edit promo code",
        "newPromocode": "New promo code",
        "editGroup": "Edit group",
        "newGroup": "New discount group",
        "close": "Close",
        "edit": "Edit"
      },
      "form": {
        "code": "Promo code",
        "type": "Promo code type",
        "typeBalance": "Balance top-up",
        "typeSubscriptionDays": "Subscription days",
        "typeTrialSubscription": "Trial subscription",
        "typePromoGroup": "Discount group",
        "typeDiscount": "Percentage discount",
        "bonusAmount": "Bonus amount",
        "rub": "RUB",
        "daysCount": "Number of days",
        "days": "days",
        "discountGroup": "Discount group",
        "selectGroup": "Select group...",
        "discountPercent": "Discount percent",
        "discountHint": "Discount is applied once at payment",
        "validityPeriod": "Validity period",
        "hours": "hours",
        "validityHint": "How many hours after activation the discount is valid",
        "maxUses": "Max uses",
        "unlimitedHint": "0 = unlimited",
        "validUntil": "Valid until",
        "validUntilHint": "Leave empty for unlimited promo code",
        "active": "Active",
        "firstPurchaseOnly": "First purchase only",
        "cancel": "Cancel",
        "saving": "Saving...",
        "save": "Save",
        "defaultTrialTariff": "Default trial tariff",
        "selectTariff": "Select tariff",
        "tariff": "Tariff"
      },
      "stats": {
        "title": "Promo code statistics",
        "notFound": "Promo code not found",
        "totalUses": "Total uses",
        "today": "Today",
        "remaining": "Remaining",
        "details": "Promo code details",
        "type": "Type",
        "bonus": "Bonus",
        "daysLabel": "Days",
        "discountLabel": "Discount",
        "validFor": "Valid for",
        "hoursValue_one": "{{count}} hour",
        "hoursValue_other": "{{count}} hours",
        "limit": "Limit",
        "status": "Status",
        "active": "Active",
        "inactive": "Inactive",
        "created": "Created",
        "validUntil": "Valid until",
        "unlimited": "Unlimited",
        "restriction": "Restriction",
        "firstPurchaseOnly": "First purchase only",
        "usageHistory": "Usage history",
        "noUsages": "Promo code has not been used yet",
        "totalPromocodes": "Total promo codes",
        "activeCount": "Active",
        "usagesCount": "Uses",
        "exhausted": "Exhausted",
        "hoursValue": "{{count}}h"
      },
      "actions": {
        "stats": "Statistics",
        "edit": "Edit",
        "delete": "Delete"
      },
      "groups": {
        "name": "Group name",
        "namePlaceholder": "VIP clients",
        "categoryDiscounts": "Category discounts",
        "servers": "Servers",
        "traffic": "Traffic",
        "devices": "Devices",
        "periodDiscounts": "Period discounts",
        "add": "Add",
        "periodDiscountsHint": "Discount is applied when purchasing a subscription for the specified number of days",
        "noPeriodDiscounts": "No period discounts",
        "daysPlaceholder": "Days",
        "daysArrow": "days →",
        "autoAssign": "Auto-assign when spending from",
        "autoAssignHint": "0 = do not assign automatically",
        "applyToAddons": "Apply to additional services",
        "default": "Default",
        "daysShort": "{{days}} d.",
        "autoFrom": "Auto from {{amount}} RUB",
        "members_one": "{{count}} member",
        "members_other": "{{count}} members"
      },
      "confirm": {
        "deletePromocode": "Delete promo code?",
        "deleteGroup": "Delete group?",
        "deletePromocodeText": "The promo code will be permanently deleted.",
        "deleteGroupText": "The group will be deleted. Users will lose discounts from this group.",
        "deleteButton": "Delete"
      },
      "validation": {
        "codeRequired": "Enter promo code",
        "balanceRequired": "Bonus amount must be greater than 0",
        "daysRequired": "Number of days must be greater than 0",
        "groupRequired": "Select a discount group",
        "discountPercentInvalid": "Discount percent must be between 1 and 100",
        "discountHoursRequired": "Specify the discount validity period in hours"
      }
    },
    "promoGroups": {
      "title": "Discount Groups",
      "subtitle": "Manage discount groups for users",
      "addGroup": "Add Group",
      "noGroups": "No discount groups",
      "default": "Default",
      "servers": "Servers",
      "traffic": "Traffic",
      "devices": "Devices",
      "daysShort": "{{days}} days",
      "autoFrom": "Auto from {{amount}} rub.",
      "members": "{{count}} members",
      "createTitle": "Create Discount Group",
      "editTitle": "Edit Group",
      "stats": {
        "total": "Total groups",
        "members": "Members",
        "autoAssign": "With auto-assign"
      },
      "actions": {
        "edit": "Edit",
        "delete": "Delete"
      },
      "confirm": {
        "title": "Delete group?",
        "text": "The group will be deleted. Users will lose discounts from this group.",
        "cancel": "Cancel",
        "delete": "Delete"
      },
      "form": {
        "name": "Group name",
        "namePlaceholder": "VIP customers",
        "nameRequired": "Enter group name",
        "categoryDiscounts": "Category discounts",
        "periodDiscounts": "Period discounts",
        "add": "Add",
        "periodHint": "Discount is applied when purchasing a subscription for the specified number of days",
        "noPeriods": "No period discounts",
        "daysPlaceholder": "Days",
        "arrow": "days →",
        "autoAssign": "Auto-assign when spent from",
        "rub": "rub.",
        "autoAssignHint": "0 = don't auto-assign",
        "applyToAddons": "Apply to additional services",
        "isDefault": "Default group",
        "cancel": "Cancel",
        "saving": "Saving...",
        "save": "Save"
      }
    },
    "users": {
      "title": "Users",
      "subtitle": "Bot user management",
      "search": "Search by ID, name, username...",
      "searchEmail": "Search by email...",
      "noData": "No users found",
      "purchaseCount_one": "{{count}} purchase",
      "purchaseCount_other": "{{count}} purchases",
      "noPurchases": "No purchases",
      "stats": {
        "total": "Total",
        "active": "Active",
        "withSubscription": "With subscription",
        "newToday": "New today",
        "blocked": "Blocked"
      },
      "status": {
        "active": "Active",
        "blocked": "Blocked",
        "deleted": "Deleted",
        "subscription": "Subscription",
        "trial": "Trial",
        "expired": "Expired"
      },
      "filters": {
        "allStatuses": "All statuses",
        "byDate": "By date",
        "byBalance": "By balance",
        "byActivity": "By activity",
        "bySpent": "By spending"
      },
      "pagination": {
        "showing": "Showing {{from}}-{{to}} of {{total}}"
      },
      "actions": {
        "block": "Block",
        "unblock": "Unblock",
        "apply": "Apply",
        "applying": "Applying..."
      },
      "confirm": {
        "block": "Block this user?"
      },
      "userActions": {
        "delete": "Delete user",
        "resetTrial": "Reset trial",
        "resetSubscription": "Reset subscription",
        "disable": "Disable user",
        "error": "Failed to perform action",
        "success": {
          "delete": "User successfully deleted",
          "resetTrial": "Trial successfully reset",
          "resetSubscription": "Subscription successfully reset",
          "disable": "User successfully disabled"
        },
        "confirmDelete": {
          "title": "Delete user?",
          "message": "Are you sure? This action is irreversible. The user will be fully deleted from the bot and from the Remnawave panel."
        },
        "confirmResetTrial": {
          "title": "Reset trial?",
          "message": "The user will be able to use the trial period again."
        },
        "confirmResetSubscription": {
          "title": "Reset subscription?",
          "message": "The user's current subscription will be cancelled."
        },
        "confirmDisable": {
          "title": "Disable user?",
          "message": "The user will not be able to use the service until reactivated."
        }
      },
      "detail": {
        "tabs": {
          "info": "Information",
          "subscription": "Subscription",
          "balance": "Balance",
          "sync": "Synchronization",
          "tickets": "Tickets",
          "gifts": "Gifts",
          "referrals": "Referrals"
        },
        "noTickets": "No tickets from this user",
        "ticketsCount": "tickets",
        "messagesCount": "messages",
        "status": "Status",
        "language": "Language",
        "registration": "Registration",
        "lastActivity": "Last activity",
        "botActivity": "Bot activity",
        "cabinetLastLogin": "Last cabinet login",
        "vpnConnection": "VPN connection",
        "lastConnection": "Last connection",
        "firstConnection": "First connection",
        "online": "Online",
        "noVpnData": "No connection data available",
        "requestHistory": "Subscription request history",
        "requestHistoryTotal": "Total requests",
        "requestAt": "Date",
        "requestIp": "IP address",
        "requestUserAgent": "Device",
        "loadMore": "Show more",
        "noRequests": "No requests",
        "totalSpent": "Total spent",
        "purchases": "Purchases",
        "campaign": "Advertising campaign",
        "referralsList": "Referrals list",
        "referralEarnings": "Referral earnings",
        "noReferrals": "No referrals",
        "panelConfig": "Panel configuration",
        "trojanPassword": "Trojan password",
        "vlessUuid": "VLESS UUID",
        "ssPassword": "SS password",
        "subscriptionUrl": "Subscription URL",
        "happLink": "HAPP link",
        "firstConnected": "First connected",
        "lastOnline": "Last online",
        "lastNode": "Last node",
        "liveTraffic": "Current traffic",
        "lifetime": "Lifetime",
        "nodeUsage": "Node usage",
        "copied": "Copied",
        "panelNotFound": "User not found in panel",
        "devices": {
          "title": "Devices",
          "none": "No connected devices",
          "resetAll": "Reset all",
          "deleted": "Device removed",
          "allDeleted": "All devices reset",
          "rename": "Rename",
          "renameSave": "Save",
          "renamed": "Device name updated"
        },
        "referral": {
          "title": "Referral program",
          "referrals": "Referrals",
          "earned": "Earned",
          "commission": "Commission",
          "default": "Default",
          "invalidPercent": "Commission must be between 0 and 100"
        },
        "restrictions": {
          "title": "Restrictions",
          "topup": "• Top-up prohibited",
          "subscription": "• Subscription purchase prohibited",
          "reason": "Reason"
        },
        "actions": {
          "title": "Actions",
          "areYouSure": "Are you sure?"
        },
        "promoGroup": "Promo group",
        "noPromoGroup": "Not set",
        "changePromoGroup": "Change",
        "selectPromoGroup": "Select group",
        "removePromoGroup": "Remove",
        "activePromoOffer": "Active promo offer",
        "discount": "Discount",
        "source": "Source",
        "expiresAt": "Expires",
        "deactivateOffer": "Deactivate",
        "sendOffer": "Send offer",
        "discountPercent": "Discount %",
        "validHours": "Valid hours",
        "offerSent": "Offer sent",
        "offerSendError": "Failed to send offer",
        "offerDeactivated": "Offer deactivated",
        "subscription": {
          "current": "Current subscription",
          "tariff": "Tariff",
          "notSpecified": "Not specified",
          "validUntil": "Valid until",
          "traffic": "Traffic",
          "devices": "Devices",
          "actions": "Actions",
          "extend": "Extend",
          "shorten": "Deduct days",
          "changeTariff": "Change tariff",
          "cancel": "Cancel",
          "activate": "Activate",
          "days": "Days",
          "selectTariff": "Select tariff",
          "unavailable": "(unavailable)",
          "noActive": "No active subscription",
          "create": "Create subscription",
          "creating": "Creating...",
          "trafficPackages": "Traffic packages",
          "addTraffic": "Add traffic",
          "selectPackage": "Select package",
          "addButton": "Add",
          "addTrafficNote": "Admin: free, valid 30 days",
          "trafficRemoved": "Traffic package removed",
          "trafficAdded": "Traffic package added",
          "expired": "expired",
          "daysLeft": "d left",
          "deviceLimitUpdated": "Device limit updated",
          "invalidDays": "Please enter a valid number of days (greater than 0)",
          "backToList": "Back to subscriptions",
          "createNew": "Create new"
        },
        "balance": {
          "current": "Current balance",
          "amountPlaceholder": "Amount in rubles",
          "descriptionPlaceholder": "Description (optional)",
          "add": "Add",
          "subtract": "Deduct",
          "addByAdmin": "Added by admin",
          "subtractByAdmin": "Deducted by admin",
          "recentTransactions": "Recent transactions"
        },
        "sync": {
          "selectSubscription": "Select subscription",
          "hasDifferences": "Differences found",
          "synced": "Synchronized",
          "bot": "Bot",
          "panel": "Panel",
          "statusLabel": "Status",
          "until": "Until",
          "traffic": "Traffic",
          "devices": "Devices",
          "squads": "Squads",
          "notLinked": "Not linked",
          "fromPanel": "From panel to bot",
          "toPanel": "From bot to panel"
        },
        "gifts": {
          "title": "User Gifts",
          "sentTitle": "Sent Gifts",
          "receivedTitle": "Received Gifts",
          "noSent": "No gifts sent by this user",
          "noReceived": "No gifts received by this user",
          "noGifts": "No gifts",
          "token": "Code",
          "tariff": "Tariff",
          "period": "Period",
          "devices": "Devices",
          "amount": "Amount",
          "paymentMethod": "Payment method",
          "recipient": "Recipient",
          "sender": "Sender",
          "message": "Message",
          "createdAt": "Created",
          "paidAt": "Paid",
          "deliveredAt": "Activated",
          "status": {
            "pending": "Pending",
            "paid": "Paid",
            "delivered": "Delivered",
            "pending_activation": "Pending activation",
            "failed": "Failed",
            "expired": "Expired"
          },
          "days": "d",
          "codeOnly": "Code only",
          "via": "via",
          "balance": "balance",
          "unknownUser": "Unknown",
          "totalSent": "Total sent",
          "totalReceived": "Total received"
        },
        "referrals": {
          "referredBy": "Referred By",
          "noReferrer": "No referrer assigned",
          "assignReferrer": "Assign Referrer",
          "removeReferrer": "Remove",
          "referrerAssigned": "Referrer assigned successfully",
          "referrerRemoved": "Referrer removed successfully",
          "totalReferrals": "Total Referrals",
          "totalEarnings": "Total Earnings",
          "commission": "Commission",
          "referralCode": "Referral Code",
          "default": "default",
          "referralsList": "Referrals",
          "noReferrals": "No referrals yet",
          "removeReferral": "Remove referral",
          "referralRemoved": "Referral removed successfully",
          "addReferral": "Add Referral",
          "referralAdded": "Referral added successfully",
          "searchPlaceholder": "Search by name, email, or Telegram ID...",
          "alreadyReferred": "already has referrer",
          "noUsersFound": "No users found"
        }
      },
      "notFound": "User not found",
      "purchaseCount": "Purchases: {{count}}"
    },
    "promoOffers": {
      "title": "Promo Offers",
      "subtitle": "Templates, broadcasts and offer logs",
      "sendButton": "Send",
      "tabs": {
        "templates_one": "Templates ({{count}} template)",
        "templates_other": "Templates ({{count}} templates)",
        "logs": "Logs",
        "templates": "Templates"
      },
      "noData": {
        "templates": "No templates",
        "logs": "No records"
      },
      "status": {
        "active": "Active",
        "inactive": "Inactive"
      },
      "table": {
        "discount": "Discount",
        "offerDuration": "Offer duration",
        "hoursShort": "{{hours}}h",
        "discountDuration": "Discount duration",
        "testAccess": "Test access"
      },
      "form": {
        "editTemplate": "Edit template",
        "templateName": "Template name",
        "messageText": "Message text",
        "buttonText": "Button text",
        "validHours": "Offer duration (hours)",
        "activationTime": "Time to activate",
        "discountPercent": "Discount (%)",
        "testDurationHours": "Access duration (hours)",
        "defaultZero": "0 = default",
        "activeDiscountHours": "Discount validity (hours)",
        "discountDurationHint": "How long the discount lasts after activation",
        "templateActive": "Template active",
        "saving": "Saving...",
        "noServers": "No servers",
        "testSquads": "Test squads"
      },
      "send": {
        "title": "Send promo offer",
        "offerTemplate": "Offer template",
        "discountLabel": "{{percent}}% discount",
        "hoursToActivate": "{{hours}}h to activate",
        "sendTo": "Send to",
        "segment": "Segment",
        "user": "User",
        "userIdPlaceholder": "Telegram ID or User ID",
        "searchUserPlaceholder": "Search by name, username or Telegram ID...",
        "noUsersFound": "No users found",
        "hasSubscription": "Sub",
        "preview": "Preview",
        "sending": "Sending...",
        "sendButton": "Send"
      },
      "result": {
        "sentTitle": "Sent!",
        "offersCreated_one": "Offer created: {{count}}",
        "offersCreated_other": "Offers created: {{count}}",
        "notificationsSent_one": "Notification sent: {{count}}",
        "notificationsSent_other": "Notifications sent: {{count}}",
        "notificationsFailed_one": "(failed: {{count}})",
        "notificationsFailed_other": "(failed: {{count}})",
        "sendError": "Failed to send offer",
        "notificationsSent": "Notifications sent",
        "offersCreated": "Offers created",
        "notificationsFailed": "(failed: {{count}})"
      },
      "notFound": "Template not found",
      "noActiveTemplates": "No active templates",
      "backToList": "Back to offers",
      "sendAnother": "Send another",
      "actions": {
        "created": "Created",
        "claimed": "Claimed",
        "consumed": "Consumed",
        "disabled": "Disabled"
      },
      "segments": {
        "all": "All users",
        "active": "Active subscribers",
        "trial": "Trial users",
        "trialEnding": "Trial ending",
        "expiring": "Subscription expiring",
        "expired": "Expired subscription",
        "zero": "Zero balance",
        "autopayFailed": "Autopay failed",
        "lowBalance": "Low balance",
        "inactive30d": "Inactive 30 days",
        "inactive60d": "Inactive 60 days",
        "inactive90d": "Inactive 90 days",
        "customToday": "Registered today",
        "customWeek": "Registered this week",
        "customMonth": "Registered this month",
        "customActiveToday": "Active today"
      },
      "offerType": {
        "testAccess": "Test access",
        "testAccessDesc": "Temporary access to additional servers",
        "extendDiscount": "Renewal discount",
        "extendDiscountDesc": "Discount for current subscribers",
        "purchaseDiscount": "Purchase discount",
        "purchaseDiscountDesc": "Discount for new users"
      }
    },
    "roles": {
      "title": "Roles & Permissions",
      "subtitle": "Manage admin roles and their permissions",
      "createRole": "Create Role",
      "noRoles": "No roles found",
      "systemBadge": "System",
      "inactiveBadge": "Inactive",
      "levelLabel": "Level",
      "usersCount_one": "{{count}} user",
      "usersCount_other": "{{count}} users",
      "permissionsCount_one": "{{count}} permission",
      "permissionsCount_other": "{{count}} permissions",
      "stats": {
        "totalRoles": "Total roles",
        "active": "Active",
        "system": "System"
      },
      "actions": {
        "edit": "Edit",
        "delete": "Delete"
      },
      "modal": {
        "createTitle": "Create Role",
        "editTitle": "Edit Role",
        "close": "Close"
      },
      "form": {
        "name": "Role name",
        "namePlaceholder": "e.g. Moderator",
        "description": "Description",
        "descriptionPlaceholder": "What this role is for...",
        "level": "Priority level",
        "levelValue": "Level value",
        "levelHint": "Higher level = more authority. Users can only manage roles with a lower level than their own.",
        "color": "Color",
        "presets": "Permission presets",
        "permissions": "Permissions",
        "permissionSections": {
          "users": "Users",
          "tickets": "Tickets",
          "stats": "Statistics",
          "sales_stats": "Sales statistics",
          "broadcasts": "Broadcasts",
          "tariffs": "Tariffs",
          "promocodes": "Promo codes",
          "promo_groups": "Promo groups",
          "promo_offers": "Promo offers",
          "campaigns": "Campaigns",
          "partners": "Partners",
          "withdrawals": "Withdrawals",
          "payments": "Payments",
          "payment_methods": "Payment methods",
          "servers": "Servers",
          "remnawave": "Remnawave",
          "traffic": "Traffic",
          "settings": "Settings",
          "roles": "Roles",
          "audit_log": "Audit log",
          "channels": "Channels",
          "ban_system": "Ban system",
          "wheel": "Lucky wheel",
          "apps": "Apps",
          "email_templates": "Email templates",
          "pinned_messages": "Pinned messages",
          "landings": "Landing pages",
          "updates": "Updates"
        },
        "permissionActions": {
          "read": "Read",
          "edit": "Edit",
          "create": "Create",
          "delete": "Delete",
          "block": "Block",
          "sync": "Sync",
          "reply": "Reply",
          "close": "Close",
          "settings": "Settings",
          "export": "Export",
          "send": "Send",
          "stats": "Stats",
          "approve": "Approve",
          "revoke": "Revoke",
          "reject": "Reject",
          "manage": "Manage",
          "ban": "Ban",
          "unban": "Unban",
          "assign": "Assign",
          "promo_group": "Promo group",
          "balance": "Balance",
          "subscription": "Subscription",
          "send_offer": "Send offer",
          "referral": "Referral %"
        },
        "toggleSection": "Toggle all {{section}} permissions",
        "selectedPermissions_one": "{{count}} permission selected",
        "selectedPermissions_other": "{{count}} permissions selected",
        "cancel": "Cancel",
        "saving": "Saving...",
        "save": "Save",
        "selectedPermissions": "Selected permissions"
      },
      "presets": {
        "moderator": "Moderator",
        "marketer": "Marketer",
        "support": "Support"
      },
      "confirm": {
        "title": "Delete role?",
        "text": "This role will be permanently deleted. Users with this role will lose its permissions.",
        "cancel": "Cancel",
        "delete": "Delete",
        "deleting": "Deleting..."
      },
      "errors": {
        "loadFailed": "Failed to load roles",
        "createFailed": "Failed to create role",
        "updateFailed": "Failed to update role",
        "nameRequired": "Role name is required",
        "deleteFailed": "Failed to delete role"
      },
      "permissionsCount": "{{count}} permissions",
      "usersCount": "{{count}} users"
    },
    "roleAssign": {
      "title": "Role Assignment",
      "subtitle": "Assign and manage user roles",
      "assignSection": "Assign Role",
      "userLabel": "User",
      "searchPlaceholder": "Search by name, username, Telegram ID, or email...",
      "clearUser": "Clear selected user",
      "noUsersFound": "No users found",
      "roleLabel": "Role",
      "selectRole": "Select a role...",
      "expiresLabel": "Expires at (optional)",
      "expiresHint": "Leave empty for permanent assignment",
      "assignButton": "Assign",
      "assigning": "Assigning...",
      "assignSuccess": "Role assigned successfully",
      "currentAssignments": "Current Assignments",
      "totalAssignments_one": "{{count}} assignment total",
      "totalAssignments_other": "{{count}} assignments total",
      "noAssignments": "No role assignments found",
      "unknownUser": "Unknown user",
      "system": "System",
      "permanent": "Permanent",
      "expired": "expired",
      "envManaged": "Managed via ADMIN_IDS / ADMIN_EMAILS in env",
      "revoke": "Revoke",
      "revokeAriaLabel": "Revoke role {{role}} from {{user}}",
      "table": {
        "user": "User",
        "role": "Role",
        "assignedBy": "Assigned by",
        "assignedAt": "Assigned at",
        "expires": "Expires",
        "actions": "Actions"
      },
      "pagination": {
        "showing": "{{from}}-{{to}} of {{total}}",
        "prev": "Previous page",
        "next": "Next page"
      },
      "confirm": {
        "title": "Revoke role?",
        "text": "This user will immediately lose all permissions associated with this role.",
        "cancel": "Cancel",
        "revoke": "Revoke",
        "revoking": "Revoking..."
      },
      "errors": {
        "userRequired": "Please select a user",
        "roleRequired": "Please select a role",
        "assignFailed": "Failed to assign role",
        "revokeFailed": "Failed to revoke role"
      },
      "totalAssignments": "Total assignments: {{count}}"
    },
    "policies": {
      "title": "Access Policies",
      "subtitle": "Manage ABAC access control policies",
      "createPolicy": "Create Policy",
      "noPolicies": "No policies found",
      "inactiveBadge": "Inactive",
      "effectAllow": "Allow",
      "effectDeny": "Deny",
      "global": "Global",
      "unknownRole": "Unknown role",
      "roleLabel": "Role",
      "priorityLabel": "Priority",
      "stats": {
        "total": "Total policies",
        "allow": "Allow",
        "deny": "Deny",
        "active": "Active"
      },
      "actions": {
        "edit": "Edit",
        "delete": "Delete"
      },
      "modal": {
        "createTitle": "Create Policy",
        "editTitle": "Edit Policy",
        "close": "Close"
      },
      "form": {
        "name": "Policy name",
        "namePlaceholder": "e.g. Block night access",
        "description": "Description",
        "descriptionPlaceholder": "What this policy does...",
        "effect": "Effect",
        "resource": "Resource",
        "selectResource": "Select a resource...",
        "actions": "Actions",
        "role": "Role (optional)",
        "globalOption": "Global (all roles)",
        "roleHint": "Leave as Global to apply the policy to all roles.",
        "priority": "Priority",
        "priorityHint": "Higher priority policies are evaluated first. Deny overrides Allow at equal priority.",
        "conditions": "Conditions",
        "cancel": "Cancel",
        "saving": "Saving...",
        "save": "Save"
      },
      "conditions": {
        "timeRange": "Time range",
        "timeStart": "Start time",
        "timeEnd": "End time",
        "ipWhitelist": "IP whitelist",
        "ipPlaceholder": "Enter IP and press Enter...",
        "removeIp": "Remove {{ip}}",
        "ipCount_one": "{{count}} IP",
        "ipCount_other": "{{count}} IPs",
        "rateLimit": "Rate limit",
        "rateLimitValue": "Rate limit value",
        "rateValue": "{{count}}/hr",
        "perHour": "actions per hour",
        "weekdays": "Days of week",
        "day0": "Sun",
        "day1": "Mon",
        "day2": "Tue",
        "day3": "Wed",
        "day4": "Thu",
        "day5": "Fri",
        "day6": "Sat",
        "ipCount": "IP count"
      },
      "confirm": {
        "title": "Delete policy?",
        "text": "This policy will be permanently deleted. Access control rules will be recalculated.",
        "cancel": "Cancel",
        "delete": "Delete",
        "deleting": "Deleting..."
      },
      "errors": {
        "loadFailed": "Failed to load policies",
        "createFailed": "Failed to create policy",
        "updateFailed": "Failed to update policy",
        "nameRequired": "Policy name is required",
        "resourceRequired": "Please select a resource",
        "actionsRequired": "Please select at least one action",
        "deleteFailed": "Failed to delete policy"
      }
    },
    "auditLog": {
      "title": "Audit Log",
      "subtitle": "Review system activity and access history",
      "back": "Back",
      "exportCsv": "Export CSV",
      "exportError": "Failed to export",
      "exporting": "Exporting...",
      "refresh": "Refresh",
      "unknownUser": "Unknown user",
      "noEntries": "No audit log entries found",
      "totalEntries_one": "{{count}} entry",
      "totalEntries_other": "{{count}} entries",
      "autoRefresh": {
        "label": "Auto-refresh",
        "tooltip": "Auto-refresh every 30 seconds"
      },
      "filters": {
        "title": "Filters",
        "active": "Active",
        "user": "User",
        "action": "Action",
        "actionPlaceholder": "Search by action...",
        "resource": "Resource type",
        "allResources": "All resources",
        "status": "Status",
        "allStatuses": "All statuses",
        "dateFrom": "Date from",
        "dateTo": "Date to",
        "apply": "Apply",
        "clear": "Clear"
      },
      "status": {
        "success": "Success",
        "denied": "Denied",
        "error": "Error"
      },
      "resourceTypes": {
        "users": "Users",
        "tickets": "Tickets",
        "roles": "Roles",
        "policies": "Policies",
        "settings": "Settings",
        "broadcasts": "Broadcasts",
        "tariffs": "Tariffs",
        "servers": "Servers",
        "payments": "Payments",
        "campaigns": "Campaigns",
        "promocodes": "Promo Codes"
      },
      "details": {
        "userAgent": "User Agent",
        "requestPath": "Request Path",
        "ipAddress": "IP Address",
        "timestamp": "Timestamp",
        "before": "Before",
        "after": "After",
        "queryParams": "Query Parameters",
        "requestBody": "Request Body",
        "fullDetails": "Full Details"
      },
      "time": {
        "justNow": "Just now",
        "minutesAgo_one": "{{count}} min ago",
        "minutesAgo_other": "{{count}} min ago",
        "hoursAgo_one": "{{count}} hr ago",
        "hoursAgo_other": "{{count}} hrs ago",
        "daysAgo_one": "{{count}} day ago",
        "daysAgo_other": "{{count}} days ago",
        "daysAgo": "{{count}}d ago",
        "hoursAgo": "{{count}}h ago",
        "minutesAgo": "{{count}}m ago"
      },
      "pagination": {
        "pageSize": "Per page:",
        "pageOf": "{{current}} / {{total}}",
        "first": "First page",
        "previous": "Previous page",
        "next": "Next page",
        "last": "Last page"
      },
      "errors": {
        "loadFailed": "Failed to load audit log",
        "retry": "Try again"
      },
      "totalEntries": "Total entries: {{count}}"
    },
    "landings": {
      "title": "Landing Pages",
      "create": "Create Landing",
      "edit": "Edit",
      "slug": "URL Identifier",
      "slugHint": "Lowercase, numbers and hyphens",
      "pageTitle": "Title",
      "subtitle": "Subtitle",
      "footerText": "Footer (HTML)",
      "features": "Features",
      "addFeature": "Add",
      "featureIcon": "Icon",
      "featureTitle": "Title",
      "featureDesc": "Description",
      "tariffs": "Plans",
      "selectTariffs": "Select plans",
      "periods": "Periods",
      "paymentMethods": "Payment Methods",
      "addMethod": "Add method",
      "methodId": "Method ID",
      "methodName": "Name",
      "methodDesc": "Description",
      "methodIcon": "Icon URL",
      "gifts": "Gifts",
      "giftEnabled": "Gift purchases",
      "customCss": "CSS",
      "seo": "SEO",
      "metaTitle": "Meta Title",
      "metaDesc": "Meta Description",
      "active": "Active",
      "inactive": "Inactive",
      "purchaseCount": "purchases",
      "copyUrl": "Copy URL",
      "urlCopied": "URL copied",
      "deleteConfirm": "Delete landing \"{{title}}\"?",
      "created": "Landing created",
      "updated": "Landing updated",
      "deleted": "Landing deleted",
      "saveOrder": "Save order",
      "orderSaved": "Order saved",
      "general": "General",
      "content": "Content",
      "save": "Save",
      "back": "Back",
      "invalidSlug": "Slug can only contain lowercase letters, numbers, and hyphens",
      "titleRequired": "Title is required",
      "noTariffs": "Select at least one tariff",
      "noPaymentMethods": "Add at least one payment method",
      "selectMethods": "Select available methods",
      "noSystemMethods": "No payment methods configured in the system",
      "methodOrder": "Drag to reorder",
      "methodSubOptions": "Payment sub-options",
      "loadingPeriods": "Loading...",
      "periodDaySuffix": "d",
      "localeTab": "Language",
      "localeHint": "Switch language to edit text in that language",
      "discount": "Discount",
      "discountEnabled": "Enable discount",
      "discountPercent": "Discount %",
      "discountStartsAt": "Start date",
      "discountEndsAt": "End date",
      "discountBadge": "Banner text (optional)",
      "discountBadgePlaceholder": "e.g. Spring sale!",
      "discountOverrides": "Per-tariff overrides",
      "discountOverridesHint": "Leave empty to use global discount",
      "discountPreview": "Preview",
      "discountActive": "Discount",
      "background": "Animated background",
      "analytics": "Analytics",
      "viewGoal": "View goal",
      "clickGoal": "Payment click goal",
      "statistics": "Statistics",
      "stats": {
        "title": "Landing Statistics",
        "totalPurchases": "Purchases",
        "revenue": "Revenue",
        "giftPurchases": "Gifts",
        "regularPurchases": "Regular",
        "conversionRate": "Conversion",
        "avgPurchase": "Avg. Check",
        "dailyChart": "Purchases & Revenue by Day",
        "tariffChart": "Tariff Distribution",
        "giftBreakdown": "Gifts vs Regular",
        "funnelTitle": "Conversion funnel",
        "giftClaimTitle": "Gift activation",
        "giftClaimLabel": "claimed / sent",
        "dailyRevenue": "Daily revenue",
        "byPaymentMethod": "By payment method",
        "bySource": "Traffic sources",
        "purchases": "Purchases",
        "revenueLabel": "Revenue",
        "gifts": "Gifts",
        "regular": "Regular",
        "created": "Created",
        "successful": "Successful",
        "funnel": "Funnel",
        "loadError": "Failed to load statistics",
        "noPurchases": "No purchases",
        "paid": "paid",
        "dailyPurchases": "Purchases per day"
      },
      "purchases": {
        "title": "Purchases",
        "contact": "Contact",
        "recipient": "Recipient",
        "tariff": "Tariff",
        "period": "Period",
        "days": "days",
        "price": "Price",
        "method": "Method",
        "date": "Date",
        "gift": "Gift",
        "forSelf": "For self",
        "allStatuses": "All statuses",
        "status_pending": "Pending",
        "status_paid": "Paid",
        "status_delivered": "Delivered",
        "status_pending_activation": "Pending activation",
        "status_failed": "Failed",
        "status_expired": "Expired",
        "noPurchases": "No purchases",
        "showing": "Showing {{from}}–{{to}} of {{total}}",
        "page": "Page {{current}} of {{total}}",
        "prev": "Previous",
        "next": "Next"
      },
      "methodCurrency": "Currency",
      "methodDescPlaceholder": "Short description shown to the user",
      "methodDescription": "Method description",
      "methodDisplayName": "Display name",
      "methodIconUrl": "Icon URL",
      "methodMaxAmount": "Maximum amount",
      "methodMinAmount": "Minimum amount",
      "methodReturnUrl": "Return URL",
      "stickyPayButton": "Sticky pay button"
    },
    "infoPages": {
      "title": "Information Pages",
      "subtitle": "Manage static information pages",
      "create": "Create Page",
      "createFaq": "Create FAQ",
      "edit": "Edit",
      "save": "Save",
      "saving": "Saving...",
      "saved": "Page saved",
      "delete": "Delete",
      "confirmDelete": "Delete this page?",
      "saveError": "Failed to save page. Please try again.",
      "noPages": "No information pages yet",
      "notFound": "Page not found",
      "active": "Active",
      "inactive": "Inactive",
      "typePage": "Page",
      "localeLabel": "Content Language",
      "fields": {
        "slug": "URL Slug",
        "title": "Title",
        "content": "Content",
        "isActive": "Active",
        "sortOrder": "Sort Order",
        "icon": "Icon (emoji)",
        "pageType": "Page Type",
        "replacesTab": "Replaces Tab"
      },
      "replacesTabNone": "None",
      "replacesTabOptions": {
        "faq": "FAQ",
        "rules": "Rules",
        "privacy": "Privacy",
        "offer": "Offer"
      },
      "replacesTabConflict": "already assigned",
      "replacesTabWarning": "Another page already replaces this tab. It will be unassigned on save.",
      "filter": {
        "all": "All",
        "page": "Pages",
        "faq": "FAQ"
      },
      "pageTypes": {
        "page": "Page",
        "faq": "FAQ"
      },
      "faq": {
        "questions": "Questions & Answers",
        "questionsCount": "questions",
        "noQuestions": "No questions yet. Click the button below to add one.",
        "questionNumber": "Question #{{n}}",
        "question": "Question",
        "answer": "Answer",
        "questionPlaceholder": "Enter question...",
        "answerPlaceholder": "Enter answer (HTML supported)...",
        "htmlHint": "HTML markup is supported",
        "addQuestion": "Add Question",
        "removeQuestion": "Remove question",
        "moveUp": "Move up",
        "moveDown": "Move down",
        "searchPlaceholder": "Search questions...",
        "noResults": "No results found"
      },
      "locales": {
        "ru": "Russian",
        "en": "English",
        "zh": "Chinese",
        "fa": "Persian"
      }
    }
  },
  "adminUpdates": {
    "title": "Updates",
    "subtitle": "Bot and cabinet release history",
    "bot": "Bot",
    "cabinet": "Cabinet",
    "currentVersion": "Current version",
    "upToDate": "Up to date",
    "updateAvailable": "Update available",
    "published": "Published",
    "prerelease": "Pre-release",
    "refresh": "Check for updates",
    "noReleases": "No release data"
  },
  "adminDashboard": {
    "title": "Statistics Dashboard",
    "subtitle": "Real-time system overview",
    "refresh": "Refresh",
    "loadError": "Failed to load statistics",
    "stats": {
      "usersOnline": "Users Online",
      "activeSubscriptions": "Active Subscriptions",
      "incomeToday": "Today's Income",
      "incomeMonth": "Monthly Income",
      "incomeTotal": "Total Income",
      "subscriptionIncome": "Subscription Income",
      "total": "total"
    },
    "nodes": {
      "title": "Nodes",
      "online": "Online",
      "offline": "Offline",
      "disabled": "Disabled",
      "noNodes": "No nodes available",
      "usersOnline": "Online",
      "traffic": "Traffic",
      "enable": "Enable",
      "disable": "Disable",
      "hide": "Hide ({{count}})",
      "showMore_one": "Show {{count}} more node",
      "showMore_other": "Show {{count}} more nodes",
      "showMore": "Show more"
    },
    "topReferrers": {
      "title": "Top referrers",
      "stats": "ref., {{count}} invites",
      "byEarnings": "By earnings",
      "byInvited": "By invites",
      "invites": "invites",
      "people": "people"
    },
    "period": {
      "today": "Today",
      "week": "Week",
      "month": "Month"
    },
    "topCampaigns": {
      "title": "Top campaign links",
      "stats": "camp., {{count}} reg.",
      "total": "Total from campaigns"
    },
    "recentPayments": {
      "title": "Recent payments",
      "today": "Today: {{amount}}",
      "week": "For the week: {{amount}}"
    },
    "table": {
      "user": "User",
      "type": "Type",
      "amount": "Amount",
      "method": "Method",
      "date": "Date"
    },
    "revenue": {
      "title": "Revenue",
      "last7Days": "Last 7 days"
    },
    "subscriptions": {
      "title": "Subscriptions",
      "subtitle": "Subscription statistics",
      "active": "Active",
      "trial": "Trial",
      "paid": "Paid",
      "expired": "Expired",
      "newSubscriptions": "New Subscriptions",
      "today": "Today",
      "week": "Week",
      "month": "Month",
      "conversion": "Trial to Paid Conversion"
    },
    "servers": {
      "title": "Servers",
      "total": "Total Servers",
      "available": "Available",
      "withConnections": "With Connections",
      "revenue": "Revenue"
    },
    "tariffs": {
      "title": "Tariff Statistics",
      "subtitle": "Subscription distribution by tariffs",
      "tariffName": "Tariff",
      "activeSubscriptions": "Active",
      "trialSubscriptions": "Trial",
      "purchasedToday": "Today",
      "purchasedWeek": "Week",
      "purchasedMonth": "Month",
      "noTariffs": "No tariffs"
    },
    "systemInfo": {
      "title": "System",
      "cabinet": "Cabinet",
      "bot": "Bot",
      "python": "Python",
      "uptime": "Uptime",
      "users": "Users",
      "activeSubs": "Active Subs"
    }
  },
  "banSystem": {
    "title": "Ban Monitoring",
    "subtitle": "BedolagaBan system management",
    "contactTelegram": "Write in Telegram",
    "notConfigured": "Ban system is not configured",
    "configureHint": "Set BAN_SYSTEM_API_URL and BAN_SYSTEM_API_TOKEN in configuration",
    "loadError": "Failed to load data",
    "tabs": {
      "dashboard": "Dashboard",
      "users": "Users",
      "punishments": "Bans",
      "nodes": "Nodes",
      "agents": "Agents",
      "violations": "Violations",
      "traffic": "Traffic",
      "reports": "Reports",
      "settings": "Settings",
      "health": "Health"
    },
    "stats": {
      "activeUsers": "Active Users",
      "total": "Total",
      "usersOverLimit": "Over Limit",
      "activeBans": "Active Bans",
      "nodesOnline": "Nodes Online",
      "agentsOnline": "Agents Online",
      "totalRequests": "Total Requests",
      "panelStatus": "Panel Status",
      "connected": "Connected",
      "disconnected": "Disconnected",
      "uptime": "Uptime"
    },
    "dashboard": {
      "totalUsers": "Total Users",
      "activeUsers": "Active Users",
      "usersOverLimit": "Over Limit",
      "totalRequests": "Total Requests",
      "totalPunishments": "Total Punishments",
      "activePunishments": "Active Bans",
      "nodesOnline": "Nodes Online",
      "agentsOnline": "Agents Online",
      "panelConnected": "Panel Connected",
      "panelDisconnected": "Panel Disconnected",
      "uptime": "Uptime"
    },
    "users": {
      "title": "Users",
      "searchPlaceholder": "Search by email...",
      "email": "Email",
      "uniqueIps": "Unique IPs",
      "ipCount": "IPs",
      "requests": "Requests",
      "limit": "Limit",
      "status": "Status",
      "bans": "Bans",
      "lastSeen": "Last Seen",
      "overLimit": "Over Limit",
      "ok": "OK",
      "normal": "Normal",
      "noLimit": "No Limit",
      "noUsers": "No users found",
      "viewDetails": "View Details",
      "networkType": "Network Type",
      "filter": {
        "all": "All",
        "overLimit": "Over Limit",
        "normal": "Normal"
      }
    },
    "userDetail": {
      "title": "User Details",
      "email": "Email",
      "uniqueIps": "Unique IPs",
      "totalRequests": "Total Requests",
      "limit": "Device Limit",
      "status": "Status",
      "networkType": "Network Type",
      "ipHistory": "IP History",
      "recentRequests": "Recent Requests",
      "ip": "IP Address",
      "firstSeen": "First Seen",
      "lastSeen": "Last Seen",
      "node": "Node",
      "requestCount": "Requests",
      "requests": "Requests",
      "country": "Country",
      "city": "City",
      "timestamp": "Timestamp",
      "sourceIp": "Source IP",
      "destination": "Destination",
      "port": "Port",
      "protocol": "Protocol",
      "action": "Action",
      "noIps": "No IP data",
      "noRequests": "No request data",
      "ban": "Ban",
      "close": "Close"
    },
    "punishments": {
      "title": "Active Bans",
      "user": "User",
      "username": "User",
      "reason": "Reason",
      "punishedAt": "Banned At",
      "bannedAt": "Banned At",
      "enableAt": "Unban At",
      "ipCount": "IPs",
      "limit": "Limit",
      "node": "Node",
      "actions": "Actions",
      "unban": "Unban",
      "noPunishments": "No active bans",
      "noBans": "No active bans",
      "unbanConfirm": "Unban user {{username}}?",
      "unbanSuccess": "User unbanned",
      "unbanError": "Unban failed",
      "history": "Ban History",
      "searchHistory": "Search history...",
      "noHistory": "No history found"
    },
    "banModal": {
      "title": "Ban User",
      "username": "Username",
      "usernamePlaceholder": "Enter username",
      "duration": "Duration (minutes)",
      "durationPlaceholder": "Enter duration in minutes",
      "reason": "Reason",
      "reasonPlaceholder": "Enter ban reason (optional)",
      "cancel": "Cancel",
      "ban": "Ban",
      "success": "User banned",
      "error": "Ban failed"
    },
    "nodes": {
      "title": "Nodes",
      "name": "Name",
      "address": "Address",
      "status": "Status",
      "lastSeen": "Last Seen",
      "usersCount": "Users",
      "users": "Users",
      "online": "Online",
      "offline": "Offline",
      "noNodes": "No nodes found",
      "total": "Total",
      "onlineCount": "Online"
    },
    "agents": {
      "title": "Agents",
      "nodeName": "Node",
      "node": "Node",
      "status": "Status",
      "health": "Health",
      "sent": "Sent",
      "dropped": "Dropped",
      "totalSent": "Total Sent",
      "totalDropped": "Total Dropped",
      "batches": "Batches",
      "reconnects": "Reconnects",
      "failures": "Failures",
      "queue": "Queue",
      "dedup": "Deduplication",
      "filter": "Filtering",
      "lastReport": "Last Report",
      "online": "Online",
      "offline": "Offline",
      "healthy": "Healthy",
      "warning": "Warning",
      "critical": "Critical",
      "noAgents": "No agents found",
      "summary": {
        "title": "Summary",
        "totalAgents": "Total Agents",
        "onlineAgents": "Online",
        "totalSent": "Total Sent",
        "totalDropped": "Total Dropped",
        "avgQueueSize": "Avg Queue Size",
        "healthyCount": "Healthy",
        "warningCount": "Warning",
        "criticalCount": "Critical"
      }
    },
    "violations": {
      "title": "Traffic Violations",
      "user": "User",
      "username": "User",
      "email": "Email",
      "type": "Type",
      "description": "Description",
      "bytesUsed": "Used",
      "bytesLimit": "Limit",
      "detectedAt": "Detected At",
      "status": "Status",
      "resolved": "Resolved",
      "active": "Active",
      "noViolations": "No violations found",
      "yes": "Yes",
      "no": "No"
    },
    "traffic": {
      "title": "Traffic Statistics",
      "enabled": "Traffic Monitoring",
      "topUsers": "Top by Traffic",
      "username": "User",
      "bytesTotal": "Total",
      "bytesLimit": "Limit",
      "status": "Status",
      "overLimit": "Over Limit",
      "ok": "OK",
      "recentViolations": "Recent Violations"
    },
    "reports": {
      "title": "Period Reports",
      "period": "Period",
      "currentUsers": "Active Users",
      "currentIps": "Unique IPs",
      "topViolators": "Top Violators",
      "username": "User",
      "count": "Violations"
    },
    "settings": {
      "title": "System Settings",
      "general": "General",
      "limits": "Limits",
      "notifications": "Notifications",
      "whitelist": "Whitelist",
      "saved": "Setting saved",
      "error": "Error saving",
      "categories": {
        "general": "General Settings",
        "punishment": "Punishments",
        "progressive_bans": "Progressive Bans",
        "traffic": "Traffic Monitoring",
        "network": "Network Detection",
        "notifications": "Notifications",
        "rate_limit": "Rate Limits"
      },
      "punishment_enabled": "Enable auto-ban",
      "punishment_minutes": "Ban duration (minutes)",
      "ip_window_seconds": "IP counting window (seconds)",
      "notify_on_punishment": "Notify on bans",
      "notify_on_node_status": "Notify on node status",
      "daily_report_enabled": "Daily report",
      "daily_report_hour": "Report hour",
      "rate_limit_max": "Max requests",
      "rate_limit_window": "Rate limit window (sec)",
      "heartbeat_timeout": "Heartbeat timeout (sec)",
      "progressive_bans_enabled": "Progressive bans",
      "progressive_ban_1": "1st ban (minutes)",
      "progressive_ban_2": "2nd ban (minutes)",
      "progressive_ban_3": "3rd ban (minutes)",
      "progressive_ban_window_hours": "Reset window (hours)",
      "traffic_monitor_enabled": "Traffic monitoring",
      "traffic_limit_gb": "Traffic limit (GB)",
      "traffic_window_minutes": "Check window (min)",
      "traffic_check_interval": "Check interval (min)",
      "traffic_ban_minutes": "Traffic ban (min)",
      "network_detection_enabled": "Network type detection",
      "network_detection_nodes": "Detection nodes",
      "network_detection_monitor_all": "Monitor all nodes",
      "network_detection_collect_all": "Collect from all nodes",
      "network_notify_mobile": "Notify on mobile",
      "network_block_mobile": "Block mobile",
      "network_block_mobile_minutes": "Block mobile (min)",
      "network_notify_wifi": "Notify on WiFi",
      "network_block_wifi": "Block WiFi",
      "network_block_wifi_minutes": "Block WiFi (min)"
    },
    "health": {
      "title": "System Health",
      "systemStatus": "System Status",
      "healthy": "Healthy",
      "degraded": "Degraded",
      "unhealthy": "Unhealthy",
      "components": "Components",
      "uptime": "Uptime"
    }
  },
  "profile": {
    "title": "Profile",
    "accountInfo": "Account Information",
    "telegramId": "Telegram ID",
    "username": "Username",
    "name": "Name",
    "registeredAt": "Registered",
    "emailAuth": "Email Authentication",
    "linkEmailDescription": "Link your email to log in without Telegram. After linking, you'll receive a verification email.",
    "linkEmail": "Link Email",
    "emailRequired": "Email is required",
    "invalidEmail": "Please enter a valid email address",
    "passwordMinLength": "Password must be at least 8 characters",
    "passwordsMismatch": "Passwords do not match",
    "passwordPlaceholder": "Enter password",
    "confirmPasswordPlaceholder": "Confirm password",
    "passwordHint": "Minimum 8 characters",
    "emailSent": "Verification email sent! Please check your inbox.",
    "verified": "Verified",
    "notVerified": "Not verified",
    "verificationRequired": "Please verify your email to use email login.",
    "resendVerification": "Resend Verification Email",
    "resendIn": "Resend in {{seconds}} sec.",
    "verificationResent": "Verification email resent!",
    "canLoginWithEmail": "You can now log in using your email and password.",
    "emailAlreadyRegistered": "This email is already linked to another account. If this is your email, log in with it or contact support.",
    "alreadyHaveEmail": "You already have a verified email linked.",
    "changeEmail": {
      "button": "Change email",
      "title": "Change Email",
      "description": "Enter your new email address. A verification code will be sent to it.",
      "currentEmail": "Current email",
      "newEmail": "New email",
      "sendCode": "Send code",
      "enterCode": "Enter code",
      "enterCodeDescription": "Enter the verification code sent to your new email.",
      "verificationCode": "Verification code",
      "codeSentTo": "Code sent to {{email}}",
      "verify": "Verify",
      "resendCode": "Resend code",
      "resendIn": "Resend in {{seconds}} sec.",
      "success": "Email changed successfully!",
      "successDescription": "Your email has been successfully updated.",
      "emailAlreadyUsed": "This email is already used by another account.",
      "sameEmail": "New email is the same as current.",
      "invalidCode": "Invalid verification code.",
      "codeExpired": "Code has expired. Please request a new one.",
      "tooManyRequests": "Too many requests. Please try again later."
    },
    "notifications": {
      "title": "Notification Settings",
      "subscriptionExpiry": "Subscription Expiry",
      "subscriptionExpiryDesc": "Notify about expiring subscription",
      "daysBeforeExpiry": "Days before expiry",
      "trafficWarning": "Traffic Warning",
      "trafficWarningDesc": "Notify when approaching traffic limit",
      "atPercent": "At usage",
      "balanceLow": "Low Balance",
      "balanceLowDesc": "Notify about low balance",
      "threshold": "Threshold",
      "news": "News",
      "newsDesc": "Receive news and service updates",
      "promoOffers": "Promo Offers",
      "promoOffersDesc": "Receive special offers and discounts",
      "unavailable": "Notification settings unavailable"
    },
    "accounts": {
      "title": "Connected Accounts",
      "subtitle": "Manage your sign-in methods",
      "linked": "Connected",
      "notLinked": "Not connected",
      "link": "Connect",
      "unlink": "Disconnect",
      "unlinkConfirm": "Are you sure? You won't be able to sign in with this service after disconnecting.",
      "unlinkConfirmBtn": "Confirm disconnect?",
      "cannotUnlinkLast": "Cannot disconnect the last sign-in method",
      "linkSuccess": "Account connected successfully",
      "unlinkSuccess": "Account disconnected successfully",
      "linkError": "Failed to connect account",
      "telegramLinkUnavailable": "Telegram linking is temporarily unavailable. Use the bot:",
      "unlinkError": "Failed to disconnect account",
      "goToAccounts": "Connected Accounts",
      "linking": "Linking account...",
      "linkingTelegram": "Connecting Telegram...",
      "returnToTelegram": "Return to Telegram to continue",
      "openTelegram": "Open Telegram",
      "continueInBrowser": "Continue authorization in the opened browser",
      "pollingTimeout": "Authorization check timed out. Refresh the page if you completed linking.",
      "providers": {
        "telegram": "Telegram",
        "email": "Email",
        "google": "Google",
        "yandex": "Yandex",
        "discord": "Discord",
        "vk": "VK"
      },
      "backToAccounts": "Back to accounts"
    },
    "emailMergePasswordRequired": "This email already belongs to another account. To merge the accounts, enter that account's password.",
    "emailMergeCodeSent": "A confirmation code was sent to that email.",
    "emailMergeCodeDescription": "This email already belongs to another account. We sent a code to it — enter it to confirm ownership and merge the accounts.",
    "emailMergeCodeLabel": "Code from the email",
    "emailMergeConfirm": "Confirm and merge",
    "emailMergeCodeInvalid": "Invalid or expired code"
  },
  "theme": {
    "colors": "Theme Colors",
    "reset": "Reset",
    "quickPresets": "Quick Presets",
    "quickPresetsDescription": "Choose a ready-made color scheme",
    "customColors": "Custom Colors",
    "customColorsDescription": "Customize each color individually",
    "accent": "Accent Color",
    "accentDescription": "Main brand color for buttons, links and interactive elements",
    "darkTheme": "Dark Theme",
    "lightTheme": "Light Theme",
    "background": "Background",
    "surface": "Surface",
    "text": "Text",
    "textSecondary": "Secondary Text",
    "statusColors": "Status Colors",
    "success": "Success",
    "warning": "Warning",
    "error": "Error",
    "preview": "Preview",
    "previewButton": "Primary Button",
    "previewSecondary": "Secondary Button",
    "light": "Light Theme",
    "dark": "Dark Theme"
  },
  "languages": {
    "ru": "Русский",
    "en": "English",
    "zh": "中文",
    "fa": "فارسی"
  },
  "contests": {
    "title": "Contests",
    "error": "Failed to load contests",
    "noContests": "No contests available",
    "days": "days",
    "days_one": "{{count}} day",
    "days_other": "{{count}} days",
    "play": "Play",
    "alreadyPlayed": "Already played",
    "enterAnswer": "Enter your answer",
    "submit": "Submit",
    "imHere": "I'm here!"
  },
  "polls": {
    "title": "Polls",
    "error": "Failed to load polls",
    "noPolls": "No polls available",
    "questions": "questions",
    "questions_one": "{{count}} question",
    "questions_other": "{{count}} questions",
    "question": "Question",
    "of": "of",
    "start": "Start",
    "continue": "Continue",
    "completed": "Completed",
    "reward": "$"
  },
  "info": {
    "title": "Information",
    "faq": "FAQ",
    "rules": "Rules",
    "privacy": "Privacy Policy",
    "offer": "Public Offer",
    "loyalty": "Loyalty",
    "noFaq": "No FAQ available",
    "noContent": "No content available",
    "updatedAt": "Updated",
    "noLoyaltyTiers": "Loyalty program is not available yet",
    "yourProgress": "Your Progress",
    "totalSpent": "Total spent",
    "currentStatus": "Current status",
    "nextStatus": "Next status",
    "toNextStatus": "To next status",
    "allStatusesAchieved": "You have achieved the maximum status!",
    "statusAchieved": "Achieved",
    "statusCurrent": "Current",
    "statusLocked": "Locked",
    "threshold": "Threshold",
    "discounts": "Discounts",
    "serverDiscount": "Servers",
    "trafficDiscount": "Traffic",
    "deviceDiscount": "Devices",
    "periodDiscount": "{{days}} days",
    "noDiscounts": "No discounts"
  },
  "onboarding": {
    "skip": "Skip",
    "finish": "Finish",
    "steps": {
      "welcome": {
        "title": "Welcome!",
        "description": "This is your personal cabinet. Here you can manage your subscription, top up balance and connect devices."
      },
      "connectDevices": {
        "title": "Connect Devices",
        "description": "Click this button to get instructions on how to connect VPN on your devices."
      },
      "balance": {
        "title": "Your Balance",
        "description": "Your current balance is displayed here. Click to top it up."
      },
      "subscription": {
        "title": "Subscription Status",
        "description": "Here you can see how many days are left until your subscription expires."
      },
      "quickActions": {
        "title": "Quick Actions",
        "description": "Use these buttons for quick access to main features: top up balance, extend subscription, and invite friends."
      }
    }
  },
  "promo": {
    "activeDiscount": "Active discount",
    "discountActive": "Discount active!",
    "discountDescription": "Your personal discount is applied to subscription purchases",
    "expiresIn": "Expires in",
    "source": "Source",
    "useNow": "Use discount now",
    "discountApplied": "Discount applied",
    "time": {
      "days": "d",
      "hours": "h",
      "minutes": "m"
    },
    "offers": {
      "expired": "Expired",
      "testAccess": "Test access",
      "discountPercent": "{{percent}}% off",
      "specialOffer": "Special offer",
      "serverAccess_one": "Access to {{count}} server",
      "serverAccess_other": "Access to {{count}} servers",
      "additionalServers": "Access to additional servers",
      "activateDiscountHint": "Activate discount on subscription purchase",
      "activationFailed": "Failed to activate offer",
      "discountActiveTitle": "{{percent}}% discount active",
      "statusActive": "Active",
      "expires": "Expires: {{time}}",
      "remaining": "Remaining: {{time}}",
      "test": "Test",
      "activating": "Activating...",
      "activate": "Activate",
      "serverAccess": "Server access"
    },
    "deactivate": {
      "button": "Cancel promo code",
      "confirmTitle": "Cancel promo code?",
      "confirmDescription": "Are you sure you want to cancel the {{percent}}% discount? After cancellation, you will be able to activate another promo code.",
      "warning": "A cancelled promo code cannot be reused. The discount will stop working immediately.",
      "confirm": "Cancel discount",
      "deactivating": "Cancelling...",
      "error": "Failed to cancel promo code. Please try again later.",
      "success": "Offer deactivated"
    }
  },
  "telegramRedirect": {
    "maxRetries": "Maximum retry attempts exceeded. Please try again later.",
    "redirecting": "Redirecting...",
    "loginAlternative": "Sign in another way",
    "openInTelegram": "Open in Telegram",
    "openInTelegramDesc": "To sign in automatically, open this app through the Telegram bot",
    "redirectToLogin": "Redirecting to login page..."
  },
  "deepLink": {
    "connecting": "Connecting to",
    "redirecting": "Redirecting in",
    "seconds": "sec",
    "manual": "If nothing happens, click the button below.",
    "openApp": "Open App",
    "copyLink": "Copy subscription link",
    "copied": "Copied!",
    "tryAgain": "Try again",
    "backToCabinet": "Back to cabinet",
    "errorTitle": "Error",
    "errorDesc": "Connection link is missing",
    "goToSubscription": "Go to subscription",
    "howToAdd": "How to add manually:",
    "step1": "Copy the link using the button above",
    "step2": "Open the app",
    "step3": "Find \"+\" or \"Add subscription\"",
    "step4": "Select \"From clipboard\" or \"Paste link\""
  },
  "blocking": {
    "maintenance": {
      "title": "Maintenance",
      "defaultMessage": "Service is temporarily unavailable. Maintenance in progress.",
      "reason": "Reason",
      "waitMessage": "Please wait..."
    },
    "channel": {
      "title": "Channel Subscription",
      "defaultMessage": "Please subscribe to our channel to continue",
      "openChannel": "Open Channel",
      "checkSubscription": "Check Subscription",
      "checking": "Checking...",
      "waitSeconds": "Wait {{seconds}} sec.",
      "hint": "Click check button after subscribing",
      "notSubscribed": "You haven't subscribed to the channel yet",
      "checkError": "Check failed. Please try again later.",
      "subscribed": "Subscribed",
      "channelsRequired": "Subscribe to all channels below to continue"
    },
    "blacklisted": {
      "title": "Access Denied",
      "defaultMessage": "Your account has been blocked.",
      "reason": "Reason",
      "contactSupport": "If you believe this is an error, please contact support."
    },
    "accountDeleted": {
      "title": "Account deactivated",
      "description": "Your account was deactivated after a long period of inactivity. To restore access, open the bot in Telegram and send /start.",
      "openBot": "Open the bot",
      "retry": "I pressed /start, retry",
      "hint": "After running /start, return here and tap «Retry»."
    },
    "serviceUnavailable": {
      "title": "Service unavailable",
      "description": "We can't reach the service right now. It may be undergoing maintenance or there's a temporary connection issue.",
      "retry": "Try again",
      "checking": "Checking connection...",
      "hint": "This page will refresh automatically as soon as the service is back.",
      "close": "Close"
    }
  },
  "merge": {
    "title": "Merge Accounts",
    "description": "This sign-in method is already linked to another account. You can merge both accounts into one.",
    "currentAccount": "Your current account",
    "foundAccount": "Found account",
    "authMethods": "Sign-in methods",
    "subscription": "Subscription",
    "noSubscription": "No subscription",
    "traffic": "Traffic",
    "devices": "Devices",
    "balance": "Balance",
    "until": "until {{date}}",
    "keepThisSubscription": "Keep this subscription",
    "chooseSubscription": "Choose which subscription to keep",
    "afterMerge": "After merging",
    "allAuthMethodsMerged": "All sign-in methods will be combined",
    "balanceSummed": "Balance: {{amount}} ₽ (combined)",
    "unselectedSubscriptionDeleted": "The unselected subscription will be deleted",
    "historyPreserved": "Transaction history will be preserved",
    "confirm": "Merge Accounts",
    "cancel": "Cancel",
    "expired": "The merge link has expired. Please try again.",
    "success": "Accounts merged successfully!",
    "error": "Failed to merge accounts. Please try again later.",
    "expiresIn": "Expires in {{minutes}}",
    "merging": "Merging..."
  },
  "landing": {
    "giftClaim": {
      "title": "You have a gift!",
      "error": "Could not activate the gift.",
      "notFoundTitle": "Gift not found",
      "notFoundDesc": "This gift link is invalid or no longer available.",
      "alreadyTitle": "Gift already activated",
      "alreadyDesc": "This gift has already been claimed.",
      "successTitle": "Gift activated!",
      "connectDesc": "Use this link to connect:",
      "copyLink": "Copy link",
      "pendingTitle": "Almost ready…",
      "pendingDesc": "The payment is still being confirmed. This page will update automatically.",
      "replaceWarning": "You already have a subscription — activating this gift will replace it.",
      "activateTelegram": "Activate in Telegram",
      "activateWeb": "Activate by email",
      "emailLabel": "Your email",
      "claimNow": "Get my gift",
      "failedTitle": "Gift unavailable",
      "failedDesc": "The payment for this gift did not go through, so it cannot be activated."
    },
    "giftLink": {
      "shareText": "I have a gift for you! Activate it here:",
      "viaTelegram": "Telegram:",
      "title": "Gift is ready!",
      "subtitle": "Send this link to whoever you want to receive the gift — they activate it themselves.",
      "linkLabel": "Gift link",
      "telegramLabel": "Telegram link",
      "alsoSent": "We also emailed it to {{contact}}.",
      "copyMessage": "Copy message"
    },
    "notFound": "Page not found",
    "forMe": "For me",
    "asGift": "As a gift",
    "contactLabel": "Your email or @username",
    "yourContact": "Your email or @username",
    "contactPlaceholder": "email@example.com or @username",
    "contactHint": "Enter email or Telegram @username",
    "recipientLabel": "Gift recipient",
    "recipientPlaceholder": "Recipient email or @username",
    "giftMessageLabel": "Greeting (optional)",
    "giftMessagePlaceholder": "Write a greeting...",
    "chooseTariff": "Choose a plan",
    "devices": "devices",
    "paymentMethod": "Payment method",
    "processing": "Processing...",
    "payButton": "Pay {{price}}",
    "accessFor": "Access for {{period}}",
    "purchaseError": "Failed to create payment",
    "purchaseNotFound": "Purchase not found",
    "awaitingPayment": "Awaiting payment",
    "awaitingPaymentDesc": "Complete the payment in the opened window",
    "purchaseSuccess": "Payment successful!",
    "keySentTo": "Subscription key sent to {{contact}}",
    "giftSentTo": "Gift sent to {{contact}}",
    "purchaseFailed": "Payment failed",
    "purchaseFailedDesc": "Payment was unsuccessful. Try again.",
    "subscriptionLink": "Subscription link",
    "daysAccess": "days of access",
    "error": "Error",
    "gb": "GB",
    "selectedTariff": "Tariff",
    "period": "Period",
    "total": "Total",
    "pay": "Pay",
    "choosePeriod": "Choose period",
    "copy": "Copy",
    "copied": "Copied!",
    "copyLink": "Copy link",
    "giftToggleLabel": "Purchase type",
    "pollTimedOut": "Taking longer than expected",
    "pollTimedOutDesc": "Payment processing is taking longer than usual. You can try checking again.",
    "pendingActivation": "Subscription ready to activate",
    "pendingActivationDesc": "You already have an active subscription. Activating will replace it.",
    "activateNow": "Activate now",
    "activating": "Activating...",
    "activationFailed": "Activation failed",
    "giftMessage": "Message",
    "cabinetReady": "Your account is ready",
    "cabinetEmail": "Email",
    "cabinetPassword": "Password",
    "goToCabinet": "Go to Cabinet",
    "saveCredentials": "Save these login credentials",
    "credentialsSentToEmail": "Login credentials sent to your email",
    "giftSentSuccess": "Gift sent!",
    "giftSentDesc": "Recipient will be notified by email",
    "giftPendingActivationDesc": "The recipient already has an active subscription. They will receive a link to activate the gift.",
    "giftTelegramSent": "Gift notification sent to recipient via Telegram",
    "giftTelegramNotInBot": "Recipient hasn't started the bot yet. Send them this link:",
    "giftTelegramPendingSent": "Activation request sent to recipient via Telegram",
    "giftTelegramPendingNotInBot": "Recipient hasn't started the bot yet. Send them the bot link so they can activate the gift:",
    "openBot": "Open bot",
    "autoLoginFailed": "Auto-login failed",
    "autoLoginProcessing": "Signing in...",
    "discount": {
      "days": "d",
      "hours": "h",
      "minutes": "m",
      "seconds": "s"
    },
    "periodLabels": {
      "d1": "1 day",
      "d2": "2 days",
      "d3": "3 days",
      "d5": "5 days",
      "d7": "1 week",
      "d14": "2 weeks",
      "d30": "1 month",
      "d60": "2 months",
      "d90": "3 months",
      "d180": "6 months",
      "d365": "1 year",
      "d456": "1 year + 3 mo.",
      "nDays_one": "{{count}} day",
      "nDays_other": "{{count}} days",
      "nMonths_one": "{{count}} month",
      "nMonths_other": "{{count}} months",
      "nDays": "{{count}} days",
      "nMonths": "{{count}} months"
    }
  },
  "gift": {
    "title": "Gift Subscription",
    "subtitle": "Send a VPN subscription as a gift",
    "choosePeriod": "Choose period",
    "chooseTariff": "Choose tariff",
    "recipient": "Recipient",
    "recipientPlaceholder": "Email or @telegram",
    "recipientHint": "Enter email or Telegram username",
    "giftMessage": "Greeting",
    "giftMessagePlaceholder": "Add a personal message (optional)",
    "paymentMode": "Payment method",
    "fromBalance": "From balance",
    "viaGateway": "Via payment gateway",
    "yourBalance": "Your balance",
    "insufficientBalance": "Insufficient funds",
    "topUpBalance": "Top up balance",
    "total": "Total",
    "giftButton": "Send Gift",
    "sending": "Sending gift...",
    "gb": "GB",
    "devices": "devices",
    "paymentMethod": "Payment method",
    "processing": "Processing...",
    "successTitle": "Gift sent!",
    "successDesc": "Recipient {{contact}} will be notified",
    "pendingTitle": "Awaiting payment",
    "pendingDesc": "Complete the payment in the payment system",
    "pendingActivationTitle": "Pending activation",
    "pendingActivationDesc": "Recipient has an active subscription. Gift is pending activation.",
    "failedTitle": "Error",
    "failedDesc": "Failed to send gift. Please try again.",
    "backToGift": "Go back",
    "backToDashboard": "Back to dashboard",
    "tryAgain": "Try again",
    "pollTimeout": "Processing is taking longer than usual",
    "pollTimeoutDesc": "Try checking the status later",
    "pollErrorTitle": "Could not check gift status",
    "pollErrorDesc": "Your purchase was successful. Check your dashboard for details.",
    "retry": "Check again",
    "notFound": "Gift configuration not found",
    "noToken": "Invalid link",
    "noTokenDesc": "This gift link is invalid or has expired.",
    "days": "days",
    "tariff": "Tariff",
    "period": "Period",
    "giftMessageLabel": "Message",
    "recipientLabel": "Recipient",
    "featureDisabled": "Gift feature is temporarily unavailable",
    "redirecting": "Redirecting...",
    "pending": {
      "title": "You received a gift!",
      "from": "from {{sender}}",
      "activate": "Activate"
    },
    "warning": {
      "telegram_unresolvable": "Could not verify this Telegram username. The recipient may not receive a notification about the gift."
    },
    "pageTitle": "Gifts",
    "tabBuy": "Buy",
    "tabActivate": "Activate",
    "tabMyGifts": "My Gifts",
    "selectTariff": "SELECT TARIFF",
    "selectPeriod": "SUBSCRIPTION PERIOD",
    "deviceCount": "{{count}} device",
    "deviceCount_other": "{{count}} devices",
    "activateTitle": "Enter gift code",
    "activateDescription": "Enter the gift code you received from a friend",
    "activateCodePlaceholder": "GIFT-XXXXXXXXXXXX",
    "activateButton": "Activate gift",
    "activating": "Activating...",
    "activateSuccess": "Gift activated!",
    "activateSuccessDesc": "{{tariff}}: {{days}} days added to your subscription",
    "activateError": "Failed to activate gift",
    "activateSelfError": "You cannot activate your own gift",
    "myGiftsEmpty": "No gifts yet",
    "myGiftsEmptyDesc": "Buy a gift for a friend or activate a received code",
    "sentGiftsTitle": "Sent",
    "activeGiftsTitle": "Active gifts",
    "activatedGiftsTitle": "Activated",
    "receivedGiftsTitle": "Received",
    "statusAvailable": "AVAILABLE",
    "statusActivated": "ACTIVATED",
    "statusPending": "PENDING",
    "statusDelivered": "DELIVERED",
    "statusFailed": "FAILED",
    "statusExpired": "EXPIRED",
    "statusPendingActivation": "PENDING ACTIVATION",
    "copyCode": "COPY",
    "codeCopied": "Code copied!",
    "shareGift": "SHARE",
    "shareText": "I have a gift for you! Activate it here:",
    "codeReadyTitle": "Gift code is ready!",
    "codeLabel": "Gift code",
    "sharePreview": "Message to share",
    "activatedBy": "Activated by {{username}}",
    "sentTo": "Sent to {{recipient}}",
    "daysShort": "days",
    "devicesShort": "dev.",
    "gbShort": "GB",
    "unlimitedTraffic": "Unlimited",
    "shareModalActivateVia": "Activate via bot:",
    "shareModalActivateViaCabinet": "Or via website:",
    "copyMessage": "Copy message",
    "shareToastCopied": "Message copied"
  },
  "news": {
    "title": "News & Updates",
    "filterAll": "All",
    "readMore": "Read more",
    "readTime": "min read",
    "loadMore": "Load more",
    "noNews": "No news yet",
    "backToHome": "Back",
    "views": "views",
    "admin": {
      "title": "News Management",
      "create": "Create Article",
      "edit": "Edit",
      "delete": "Delete",
      "confirmDelete": "Delete this article?",
      "published": "Published",
      "draft": "Draft",
      "featured": "Featured",
      "titleLabel": "Title",
      "slugLabel": "URL Slug",
      "categoryLabel": "Category",
      "categoryColorLabel": "Category Color",
      "tagLabel": "Tag",
      "excerptLabel": "Short Description",
      "contentLabel": "Content",
      "imageLabel": "Featured Image",
      "readTimeLabel": "Read Time (min)",
      "save": "Save",
      "saving": "Saving...",
      "saveError": "Failed to save article. Please try again.",
      "saved": "Article saved",
      "deleted": "Article deleted",
      "selectColor": "Select color {{color}}",
      "uploading": "Uploading...",
      "dropMedia": "Drop image or video here",
      "uploadError": "Upload failed",
      "fileTooLarge": "File is too large",
      "uploadFeaturedImage": "Upload image",
      "combobox": {
        "selectCategory": "Select category",
        "selectTag": "Select tag",
        "create": "Create",
        "createNew": "Create new",
        "searchOrCreate": "Search or create...",
        "noItems": "Nothing found",
        "placeholder": "Select...",
        "clear": "Clear",
        "delete": "Delete {{name}}"
      },
      "toolbar": {
        "bold": "Bold",
        "italic": "Italic",
        "underline": "Underline",
        "strikethrough": "Strikethrough",
        "heading1": "Heading 1",
        "heading2": "Heading 2",
        "heading3": "Heading 3",
        "bulletList": "Bullet List",
        "orderedList": "Ordered List",
        "blockquote": "Blockquote",
        "codeBlock": "Code Block",
        "alignLeft": "Align Left",
        "alignCenter": "Align Center",
        "highlight": "Highlight",
        "link": "Link",
        "image": "Image",
        "imageUrlPrompt": "Image URL:",
        "linkUrlPrompt": "URL:"
      }
    }
  },
  "subscriptions": {
    "buy": "Buy subscription",
    "buyAnother": "Buy another subscription",
    "browsePlans": "View plans and subscribe",
    "empty": "You have no subscriptions yet",
    "emptyDesc": "Choose a tariff to get started",
    "title": "My subscriptions"
  }
}
