Files
bedolaga-cabinet/src/locales/en.json

2392 lines
84 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

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

{
"common": {
"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",
"currency": "$",
"refresh": "Refresh",
"copy": "Copy",
"all": "All",
"units": {
"gb": "GB",
"perGb": "/GB"
},
"retry": "Retry",
"saving": "Saving...",
"understand": "Got it"
},
"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"
},
"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"
},
"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"
},
"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",
"telegramNotConfigured": "Telegram bot is not configured",
"authenticating": "Authenticating...",
"orOpenInApp": "Or open the bot in the app",
"loginFailed": "Login Failed",
"tryAgain": "Try Again",
"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"
},
"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"
},
"subscription": {
"title": "Subscription",
"currentPlan": "Current Plan",
"status": "Status",
"active": "Active",
"inactive": "Inactive",
"trialStatus": "Trial",
"expired": "Expired",
"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",
"traffic": "Traffic",
"unlimited": "Unlimited",
"used": "Used",
"of": "of",
"renew": "Renew",
"extend": "Extend Subscription",
"buyTraffic": "Buy Traffic",
"buyDevices": "Buy Devices",
"renewalOptions": "Renewal Options",
"days": "days",
"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",
"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",
"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": "Summary",
"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"
},
"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"
},
"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",
"platform": "Platform",
"model": "Model",
"connectedAt": "Connected",
"pause": {
"title": "Subscription Pause",
"paused": "Paused",
"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": "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": "Tariff minimum: {{count}} devices",
"connectedDevices": "Connected devices: {{count}}",
"disconnectDevicesFirst": "Disconnect devices first to reduce the limit below {{count}}",
"reduceUnavailable": "Device reduction is not available",
"alreadyAtMinDeviceLimit": "Already at minimum device limit for your tariff",
"reduce": "Reduce",
"reducing": "Reducing...",
"newDeviceLimit": "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 does not carry over to the next period",
"trafficUnavailable": "Traffic purchase is not available for your tariff",
"unlimited": "Unlimited",
"buyTrafficGb": "Buy {{gb}} GB",
"manageServers": "Server management",
"manageServersTitle": "Server management"
},
"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"
},
"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}}"
},
"summary": {
"period": "Period: {{label}}",
"traffic": "Traffic: {{gb}} GB"
}
},
"balance": {
"title": "Balance",
"currentBalance": "Current Balance",
"topUp": "Top Up",
"topUpBalance": "Top Up Balance",
"enterAmount": "Enter amount",
"paymentMethod": "Payment Method",
"paymentMethods": "Payment Methods",
"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",
"used": "Promo code has already been used",
"already_used_by_user": "You have already used this promo code",
"user_not_found": "User not found",
"server_error": "Server error"
}
},
"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",
"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"
},
"tribute": {
"description": "Pay with bank card via Tribute"
}
},
"pendingPayments": {
"title": "Pending Payments",
"pay": "Pay",
"checkStatus": "Check Status",
"checking": "Checking..."
},
"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."
}
},
"referral": {
"title": "Referral Program",
"yourLink": "Your Referral Link",
"copyLink": "Copy Link",
"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!",
"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"
},
"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"
},
"wheel": {
"title": "Fortune Wheel",
"disabled": "Fortune Wheel is currently unavailable",
"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",
"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."
},
"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.",
"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"
}
},
"admin": {
"groups": {
"analytics": "Analytics",
"marketing": "Marketing",
"system": "System",
"tariffs": "Tariffs & Sales",
"users": "Users"
},
"nav": {
"title": "Admin",
"dashboard": "Dashboard",
"tickets": "Tickets",
"settings": "Settings",
"apps": "Apps",
"wheel": "Wheel",
"tariffs": "Tariffs",
"servers": "Servers",
"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"
},
"panel": {
"title": "Admin Panel",
"subtitle": "System management",
"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"
},
"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": "Payment verification",
"description": "Pending payments in the last 24 hours",
"totalPending": "Total pending",
"filterByMethod": "Filter by method",
"noPayments": "No pending payments",
"paid": "Paid",
"user": "User",
"openLink": "Open link",
"checkStatus": "Check status",
"checking": "Checking...",
"prev": "Previous",
"next": "Next"
},
"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",
"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"
},
"remnawave": {
"title": "RemnaWave",
"subtitle": "Panel management and statistics",
"connected": "Connected",
"disconnected": "Not configured",
"noData": "Failed to load data",
"tabs": {
"overview": "Overview",
"nodes": "Nodes",
"squads": "Squads",
"sync": "Sync"
},
"overview": {
"system": "System",
"usersOnline": "Online",
"totalUsers": "Total Users",
"nodesOnline": "Nodes Online",
"connections": "Connections",
"bandwidth": "Realtime Bandwidth",
"download": "Download",
"upload": "Upload",
"total": "Total",
"server": "Server",
"cpu": "CPU Cores",
"memory": "Memory",
"uptime": "Uptime",
"traffic": "Traffic Statistics",
"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?"
},
"squads": {
"synced": "Synced",
"notSynced": "Not synced",
"noSquads": "No squads found",
"syncServers": "Sync Servers"
},
"sync": {
"autoSync": "Auto Sync",
"runNow": "Run Now",
"manual": "Manual Sync",
"fromPanel": "Sync from Panel",
"fromPanelDesc": "Import users from RemnaWave panel to bot database",
"toPanel": "Sync to Panel",
"toPanelDesc": "Export users from bot database to RemnaWave panel",
"subscriptions": "Subscriptions",
"validate": "Validate",
"validateDesc": "Check and fix subscription inconsistencies",
"cleanup": "Cleanup",
"cleanupDesc": "Remove orphaned subscriptions without users",
"statuses": "Sync Statuses",
"statusesDesc": "Synchronize subscription statuses with panel"
}
},
"wheel": {
"title": "Fortune Wheel Settings",
"enabled": "Enabled",
"disabled": "Disabled",
"tabs": {
"settings": "Settings",
"prizes": "Prizes",
"statistics": "Statistics"
},
"settings": {
"enableWheel": "Enable Wheel",
"allowSpins": "Allow users to spin the wheel",
"costInStars": "Cost in Stars",
"costInDays": "Cost in Days",
"rtpPercent": "RTP (Return to Player) %",
"dailyLimit": "Daily Spin Limit (0 = unlimited)",
"minSubDays": "Min subscription days for day payment",
"promoPrefix": "Promo code prefix"
},
"prizes": {
"addPrize": "Add Prize",
"editPrize": "Edit Prize",
"noPrizes": "No prizes configured. Add some prizes to enable the wheel.",
"deletePrize": "Delete this prize?",
"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"
},
"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"
}
},
"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",
"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"
},
"settings": {
"title": "System Settings",
"allCategories": "All categories",
"noSettings": "No settings found",
"modified": "Modified",
"readOnly": "Read only",
"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",
"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",
"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"
},
"theme": {
"accentColor": "Accent color",
"customizeColors": "Customize colors",
"hexCode": "HEX code",
"hue": "Hue",
"lightness": "Lightness",
"quickPresets": "Quick presets",
"saturation": "Saturation"
},
"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"
},
"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",
"settings": "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",
"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"
},
"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.",
"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",
"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",
"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 (\u20bd)",
"addButton": "Add",
"noPeriodsHint": "No added periods. Add at least one period.",
"daysShort": "d.",
"serversTabHint": "Select servers available on this tariff.",
"noServersAvailable": "No servers available",
"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:",
"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",
"resetModeNever": "Never",
"resetModeNeverDesc": "Traffic is not reset",
"cancelButton": "Cancel",
"savingButton": "Saving...",
"saveButton": "Save",
"dailyType": "Daily",
"periodType": "Period-based",
"dailyPriceLabel": "Price per day",
"currencyPerDay": "\u20bd/day",
"dailyDeductionDesc": "Charged daily from user's balance"
},
"servers": {
"title": "Server Management",
"subtitle": "Configure VPN servers",
"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"
},
"campaigns": {
"title": "Ad Campaigns",
"subtitle": "Manage advertising links",
"createButton": "Create",
"noData": "No ad campaigns",
"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": "{{count}} registrations",
"revenue": "{{amount}} revenue",
"conversion": "{{rate}}% conversion",
"statistics": "Statistics",
"deactivate": "Deactivate",
"activate": "Activate",
"edit": "Edit",
"delete": "Delete"
},
"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..."
},
"stats": {
"registrations": "Registrations",
"revenue": "Revenue",
"paidUsers": "Paid",
"conversion": "Conversion",
"bonusesIssued": "Bonuses issued",
"subscriptionsIssued": "{{count}} subscriptions",
"tariffsIssued": "{{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!",
"users": "Users"
},
"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"
}
},
"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": "Promo codes ({{count}})",
"groups": "Discount groups ({{count}})"
},
"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"
},
"stats": {
"totalUses": "Total uses",
"today": "Today",
"remaining": "Remaining",
"details": "Promo code details",
"type": "Type",
"bonus": "Bonus",
"daysLabel": "Days",
"discountLabel": "Discount",
"validFor": "Valid for",
"hoursValue": "{{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"
},
"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": "{{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"
}
},
"users": {
"title": "Users",
"subtitle": "Bot user management",
"search": "Search by ID, name, username...",
"searchEmail": "Search by email...",
"noData": "No users found",
"purchaseCount": "{{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?"
},
"detail": {
"tabs": {
"info": "Information",
"subscription": "Subscription",
"balance": "Balance",
"sync": "Synchronization"
},
"status": "Status",
"language": "Language",
"registration": "Registration",
"lastActivity": "Last activity",
"totalSpent": "Total spent",
"purchases": "Purchases",
"referral": {
"title": "Referral program",
"referrals": "Referrals",
"earned": "Earned",
"commission": "Commission"
},
"restrictions": {
"title": "Restrictions",
"topup": "• Top-up prohibited",
"subscription": "• Subscription purchase prohibited",
"reason": "Reason"
},
"subscription": {
"current": "Current subscription",
"tariff": "Tariff",
"notSpecified": "Not specified",
"validUntil": "Valid until",
"traffic": "Traffic",
"devices": "Devices",
"actions": "Actions",
"extend": "Extend",
"changeTariff": "Change tariff",
"cancel": "Cancel",
"activate": "Activate",
"days": "Days",
"selectTariff": "Select tariff",
"unavailable": "(unavailable)",
"noActive": "No active subscription",
"create": "Create subscription",
"creating": "Creating..."
},
"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": {
"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"
}
}
},
"promoOffers": {
"title": "Promo Offers",
"subtitle": "Templates, broadcasts and offer logs",
"sendButton": "Send",
"tabs": {
"templates": "Templates ({{count}})",
"logs": "Logs"
},
"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..."
},
"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",
"preview": "Preview",
"sending": "Sending...",
"sendButton": "Send"
},
"result": {
"sentTitle": "Sent!",
"offersCreated": "Offers created: {{count}}",
"notificationsSent": "Notifications sent: {{count}}",
"notificationsFailed": "(failed: {{count}})",
"sendError": "Failed to send offer"
},
"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"
}
}
},
"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": "Show {{count}} more nodes"
},
"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"
}
},
"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",
"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"
}
},
"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"
}
},
"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."
}
}
}