Add files via upload

This commit is contained in:
Egor
2026-01-15 19:18:17 +03:00
committed by GitHub
parent b118008cdc
commit 7be6b5c0ae
70 changed files with 21835 additions and 0 deletions

788
src/locales/en.json Normal file
View File

@@ -0,0 +1,788 @@
{
"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",
"and": "and",
"edit": "Edit",
"delete": "Delete",
"currency": "$"
},
"nav": {
"dashboard": "Dashboard",
"subscription": "Subscription",
"balance": "Balance",
"referral": "Referrals",
"support": "Support",
"profile": "Profile",
"logout": "Logout",
"contests": "Contests",
"polls": "Polls",
"info": "Info",
"wheel": "Fortune Wheel"
},
"auth": {
"login": "Login",
"register": "Register",
"logout": "Logout",
"email": "Email",
"password": "Password",
"confirmPassword": "Confirm password",
"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?",
"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"
},
"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.",
"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",
"servers": "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",
"hours": "h",
"minutes": "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",
"selectPeriod": "Select Period",
"selectTraffic": "Select Traffic",
"selectServers": "Select Servers",
"selectDevices": "Devices",
"perDevice": "/ device",
"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",
"description": "Try our VPN service for free!",
"days": "days",
"devices": "devices",
"price": "Activation price",
"activate": "Activate Free Trial",
"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"
},
"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",
"pausedInfo": "Subscription paused",
"pausedDescription": "Charges stopped. Subscription will be active until",
"nextCharge": "Until next charge",
"willBeCharged": "Will be charged",
"days_one": "day",
"days_few": "days",
"days_many": "days",
"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"
},
"switchTraffic": {
"title": "Change Traffic",
"currentPackage": "Current package",
"newPackage": "New package",
"switch": "Change",
"switched": "Traffic changed"
}
},
"balance": {
"title": "Balance",
"currentBalance": "Current Balance",
"topUp": "Top Up",
"topUpBalance": "Top Up Balance",
"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}} ₽",
"paymentMethods": {
"yookassa": {
"name": "YooKassa (Bank Card)",
"description": "Pay with bank card via YooKassa"
},
"cryptobot": {
"name": "CryptoBot",
"description": "Pay with cryptocurrency via CryptoBot"
},
"telegram_stars": {
"name": "Telegram Stars",
"description": "Pay with Telegram Stars"
}
}
},
"referral": {
"title": "Referral Program",
"yourLink": "Your Referral Link",
"copyLink": "Copy Link",
"copied": "Copied!",
"shareButton": "Share",
"shareMessage": "Join me on 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",
"earningsHistory": "Earnings History",
"reason": "Reason"
},
"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",
"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",
"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.",
"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": {
"nav": {
"title": "Admin",
"dashboard": "Dashboard",
"tickets": "Tickets",
"settings": "Settings",
"apps": "Apps",
"wheel": "Wheel",
"tariffs": "Tariffs",
"servers": "Servers"
},
"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"
},
"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",
"topWins": "Top Wins"
}
},
"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"
},
"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"
}
},
"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"
},
"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",
"servers": "servers",
"subscriptions": "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",
"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"
},
"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"
}
},
"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"
},
"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"
}
},
"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",
"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.",
"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",
"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",
"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",
"question": "Question",
"of": "of",
"start": "Start",
"continue": "Continue",
"completed": "Completed",
"reward": "$"
},
"info": {
"title": "Information",
"faq": "FAQ",
"rules": "Rules",
"privacy": "Privacy Policy",
"offer": "Public Offer",
"noFaq": "No FAQ available",
"noContent": "No content available",
"updatedAt": "Updated"
},
"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."
}
}
}
}

711
src/locales/fa.json Normal file
View File

@@ -0,0 +1,711 @@
{
"common": {
"loading": "در حال بارگذاری...",
"error": "خطا",
"success": "موفق",
"save": "ذخیره",
"cancel": "لغو",
"confirm": "تایید",
"back": "بازگشت",
"next": "بعدی",
"close": "بستن",
"search": "جستجو",
"noData": "داده‌ای موجود نیست",
"actions": "عملیات",
"yes": "بله",
"no": "خیر",
"or": "یا",
"and": "و",
"edit": "ویرایش",
"delete": "حذف",
"currency": "تومان"
},
"nav": {
"dashboard": "داشبورد",
"subscription": "اشتراک",
"balance": "موجودی",
"referral": "معرفی",
"support": "پشتیبانی",
"profile": "پروفایل",
"logout": "خروج",
"contests": "مسابقات",
"polls": "نظرسنجی",
"info": "اطلاعات",
"wheel": "چرخ شانس"
},
"auth": {
"login": "ورود",
"register": "ثبت نام",
"logout": "خروج",
"email": "ایمیل",
"password": "رمز عبور",
"confirmPassword": "تایید رمز عبور",
"forgotPassword": "رمز عبور را فراموش کردید؟",
"resetPassword": "بازنشانی رمز عبور",
"loginWithTelegram": "ورود با تلگرام",
"loginWithEmail": "ورود با ایمیل",
"noAccount": "حساب کاربری ندارید؟",
"hasAccount": "قبلاً حساب دارید؟",
"registerHint": "برای ثبت نام با ایمیل، ابتدا با تلگرام وارد شوید، سپس ایمیل خود را در تنظیمات متصل کنید.",
"telegramRequired": "نیاز به تایید تلگرام",
"telegramNotConfigured": "ربات تلگرام پیکربندی نشده",
"authenticating": "در حال تایید هویت...",
"orOpenInApp": "یا ربات را در برنامه باز کنید",
"loginFailed": "ورود ناموفق",
"tryAgain": "تلاش مجدد",
"welcomeBack": "خوش آمدید!",
"loginTitle": "ورود به کابین",
"loginSubtitle": "با تلگرام یا ایمیل وارد شوید"
},
"emailVerification": {
"title": "تایید ایمیل",
"verifying": "در حال تایید ایمیل...",
"pleaseWait": "لطفاً صبر کنید تا ایمیل شما تایید شود.",
"success": "ایمیل تایید شد!",
"successMessage": "ایمیل شما با موفقیت تایید شد. اکنون می‌توانید با ایمیل و رمز عبور وارد شوید.",
"failed": "تایید ناموفق",
"goToLogin": "رفتن به صفحه ورود"
},
"dashboard": {
"title": "داشبورد",
"welcome": "خوش آمدید، {{name}}!",
"yourSubscription": "اشتراک شما",
"quickActions": "دسترسی سریع",
"viewSubscription": "مدیریت اشتراک",
"topUpBalance": "شارژ موجودی",
"inviteFriends": "دعوت دوستان",
"getSupport": "دریافت پشتیبانی",
"currentBalance": "موجودی فعلی",
"activeUntil": "فعال تا",
"noActiveSubscription": "اشتراک فعال ندارید",
"devicesUsed": "دستگاه‌ها: {{used}} از {{total}}",
"trafficUsed": "ترافیک: {{used}} از {{total}} گیگ",
"unlimitedTraffic": "ترافیک نامحدود"
},
"subscription": {
"title": "اشتراک",
"currentPlan": "پلن فعلی",
"status": "وضعیت",
"active": "فعال",
"inactive": "غیرفعال",
"trialStatus": "دوره آزمایشی",
"expired": "منقضی شده",
"expiresAt": "تاریخ انقضا",
"daysLeft": "روز باقی‌مانده",
"devices": "دستگاه‌ها",
"servers": "سرورها",
"traffic": "ترافیک",
"unlimited": "نامحدود",
"used": "استفاده شده",
"of": "از",
"renew": "تمدید",
"extend": "تمدید اشتراک",
"buyTraffic": "خرید ترافیک",
"buyDevices": "خرید دستگاه",
"renewalOptions": "گزینه‌های تمدید",
"days": "روز",
"hours": "ساعت",
"minutes": "دقیقه",
"price": "قیمت",
"noSubscription": "اشتراک فعال ندارید",
"getSubscription": "خرید اشتراک",
"connectionInfo": "اطلاعات اتصال",
"copyLink": "کپی لینک",
"copied": "کپی شد!",
"showQR": "نمایش QR کد",
"downloadConfig": "دانلود تنظیمات",
"trafficUsed": "ترافیک استفاده شده",
"timeLeft": "زمان باقی‌مانده",
"getConfig": "اتصال دستگاه‌ها",
"autoRenewal": "تمدید خودکار",
"daysBeforeExpiry": "روز قبل از انقضا",
"selectPeriod": "انتخاب دوره",
"selectTraffic": "انتخاب ترافیک",
"selectServers": "انتخاب سرورها",
"selectDevices": "انتخاب دستگاه‌ها",
"perDevice": "/ دستگاه",
"summary": "خلاصه",
"total": "جمع کل",
"purchase": "خرید",
"step": "مرحله {{current}} از {{total}}",
"stepPeriod": "دوره",
"stepTraffic": "ترافیک",
"stepServers": "سرورها",
"stepDevices": "دستگاه‌ها",
"stepConfirm": "تایید",
"trial": {
"title": "دوره آزمایشی رایگان",
"description": "سرویس VPN ما را رایگان امتحان کنید!",
"days": "روز",
"devices": "دستگاه",
"price": "هزینه فعال‌سازی",
"activate": "فعال‌سازی دوره آزمایشی",
"unavailable": "دوره آزمایشی در دسترس نیست"
},
"connection": {
"title": "اتصال VPN",
"selectDevice": "دستگاه خود را انتخاب کنید",
"selectApp": "برنامه را انتخاب کنید",
"installApp": "۱. نصب برنامه",
"addSubscription": "۲. افزودن اشتراک",
"connectVpn": "۳. اتصال VPN",
"addToApp": "افزودن به {{appName}}",
"connect": "اتصال",
"noApps": "برنامه‌ای برای این پلتفرم موجود نیست",
"noSubscription": "برای اتصال نیاز به اشتراک فعال دارید",
"featured": "پیشنهادی",
"yourDevice": "دستگاه شما",
"copyLink": "کپی لینک اشتراک",
"copied": "لینک کپی شد!",
"openLink": "باز کردن لینک"
}
},
"balance": {
"title": "موجودی",
"currentBalance": "موجودی فعلی",
"topUp": "شارژ",
"topUpBalance": "شارژ موجودی",
"paymentMethods": {
"yookassa": {
"name": "کارت بانکی",
"description": "پرداخت با کارت بانکی"
},
"cryptobot": {
"name": "CryptoBot",
"description": "پرداخت با ارز دیجیتال"
},
"telegram_stars": {
"name": "Telegram Stars",
"description": "پرداخت با Telegram Stars"
}
},
"transactionHistory": "تاریخچه تراکنش‌ها",
"noTransactions": "تراکنشی موجود نیست",
"date": "تاریخ",
"type": "نوع",
"description": "توضیحات",
"amount": "مبلغ",
"deposit": "واریز",
"withdrawal": "برداشت",
"subscriptionPayment": "پرداخت اشتراک",
"referralReward": "پاداش معرفی",
"minAmount": "حداقل",
"maxAmount": "حداکثر",
"notAvailable": "در دسترس نیست",
"useBot": "لطفاً برای شارژ از ربات تلگرام استفاده کنید.",
"page": "صفحه {{current}} از {{total}}",
"invalidAmount": "مبلغ نامعتبر",
"promocode": {
"title": "کد تخفیف",
"placeholder": "کد تخفیف را وارد کنید",
"activate": "فعال‌سازی",
"activating": "در حال فعال‌سازی...",
"success": "کد تخفیف با موفقیت فعال شد!",
"balanceAdded": "موجودی اضافه شده: {{amount}}",
"errors": {
"not_found": "کد تخفیف یافت نشد",
"expired": "کد تخفیف منقضی شده",
"used": "کد تخفیف قبلاً استفاده شده",
"already_used_by_user": "شما قبلاً از این کد استفاده کرده‌اید",
"user_not_found": "کاربر یافت نشد",
"server_error": "خطای سرور"
}
},
"minAmountError": "حداقل مبلغ: {{amount}}",
"maxAmountError": "حداکثر مبلغ: {{amount}}"
},
"referral": {
"title": "برنامه معرفی",
"yourLink": "لینک معرفی شما",
"copyLink": "کپی لینک",
"copied": "کپی شد!",
"shareButton": "اشتراک‌گذاری",
"shareMessage": "از طریق لینک من به Cabinet بپیوند و تا {{percent}}٪ پاداش بگیر!",
"shareHint": "این لینک را با دوستان به اشتراک بگذارید. وقتی ثبت نام کنند و خرید کنند، {{percent}}% کمیسیون دریافت می‌کنید!",
"stats": {
"totalReferrals": "کل معرفی‌ها",
"activeReferrals": "فعال",
"totalEarnings": "کل درآمد",
"commissionRate": "نرخ کمیسیون"
},
"terms": {
"title": "شرایط برنامه",
"commission": "کمیسیون",
"minTopup": "حداقل شارژ",
"newUserBonus": "جایزه کاربر جدید",
"inviterBonus": "جایزه معرف"
},
"yourReferrals": "معرفی‌های شما",
"noReferrals": "هنوز معرفی ندارید. لینک را به اشتراک بگذارید!",
"user": "کاربر",
"joined": "تاریخ عضویت",
"hasPaid": "پرداخت کرده",
"earningsHistory": "تاریخچه درآمد",
"reason": "دلیل"
},
"support": {
"title": "پشتیبانی",
"newTicket": "تیکت جدید",
"yourTickets": "تیکت‌های شما",
"noTickets": "تیکتی موجود نیست",
"createTicket": "ایجاد تیکت",
"subject": "موضوع",
"subjectPlaceholder": "مشکل را به طور خلاصه توضیح دهید",
"message": "پیام",
"messagePlaceholder": "مشکل خود را به طور کامل توضیح دهید...",
"send": "ارسال",
"sending": "در حال ارسال...",
"creating": "در حال ایجاد...",
"reply": "پاسخ",
"replyPlaceholder": "پاسخ خود را بنویسید...",
"sendReply": "ارسال پاسخ",
"you": "شما",
"supportTeam": "پشتیبانی",
"selectTicket": "یک تیکت انتخاب کنید یا جدید ایجاد کنید",
"created": "ایجاد شده",
"repliesDisabled": "پاسخ‌گویی به این تیکت غیرفعال است",
"status": {
"open": "باز",
"answered": "پاسخ داده شده",
"pending": "در انتظار",
"closed": "بسته"
},
"attachImage": "پیوست تصویر",
"invalidFileType": "نوع فایل نامعتبر. از JPEG، PNG، GIF یا WebP استفاده کنید.",
"fileTooLarge": "فایل خیلی بزرگ است. حداکثر 10MB.",
"uploadFailed": "آپلود تصویر ناموفق",
"imageLoadFailed": "بارگذاری تصویر ناموفق"
},
"wheel": {
"title": "چرخ شانس",
"disabled": "چرخ شانس فعلاً در دسترس نیست",
"spinsRemaining": "تعداد چرخش باقی‌مانده امروز",
"choosePayment": "روش پرداخت را انتخاب کنید",
"stars": "Stars",
"telegramStars": "Telegram Stars",
"days": "روز",
"subscriptionDays": "روز اشتراک",
"day": "روز",
"spin": "بچرخان!",
"spinning": "در حال چرخش...",
"history": "تاریخچه",
"recentSpins": "چرخش‌های اخیر",
"congratulations": "تبریک!",
"noLuck": "شانس نیاوردید!",
"oops": "اوه!",
"yourPromoCode": "کد تخفیف شما:",
"close": "بستن",
"errors": {
"networkError": "خطای شبکه رخ داد",
"loadFailed": "بارگذاری تنظیمات چرخ ناموفق",
"dailyLimitReached": "به محدودیت روزانه رسیدید",
"cannotSpin": "فعلاً امکان چرخش نیست",
"insufficientBalance": "موجودی کافی نیست",
"topUpRequired": "برای پرداخت شارژ کنید"
},
"payWithStars": "پرداخت {stars} Stars",
"processingPayment": "در حال پردازش...",
"starsPaymentSuccess": "پرداخت موفق! نتیجه به تلگرام ارسال شد.",
"starsPaymentFailed": "پرداخت ناموفق. دوباره تلاش کنید.",
"noHistory": "هنوز تاریخچه‌ای نیست",
"banner": {
"title": "شانس خود را امتحان کنید!",
"description": "چرخ را بچرخانید و جایزه ببرید: روز اشتراک، موجودی، ترافیک و بیشتر!",
"button": "برو به چرخ"
}
},
"admin": {
"nav": {
"title": "مدیریت",
"dashboard": "آمار",
"tickets": "تیکت‌ها",
"settings": "تنظیمات",
"apps": "برنامه‌ها",
"wheel": "چرخ",
"tariffs": "تعرفه‌ها",
"servers": "سرورها"
},
"panel": {
"title": "پنل مدیریت",
"subtitle": "مدیریت سیستم",
"dashboardDesc": "آمار و مانیتورینگ سیستم",
"ticketsDesc": "مدیریت تیکت‌های کاربران",
"settingsDesc": "تنظیمات و پارامترهای سیستم",
"appsDesc": "مدیریت برنامه‌های اتصال",
"wheelDesc": "تنظیم چرخ شانس و جوایز",
"tariffsDesc": "مدیریت طرح‌های تعرفه",
"serversDesc": "تنظیم سرورهای VPN"
},
"wheel": {
"title": "تنظیمات چرخ شانس",
"enabled": "فعال",
"disabled": "غیرفعال",
"tabs": {
"settings": "تنظیمات",
"prizes": "جوایز",
"statistics": "آمار"
},
"settings": {
"enableWheel": "فعال‌سازی چرخ",
"allowSpins": "اجازه چرخش به کاربران",
"costInStars": "هزینه Stars",
"costInDays": "هزینه روز",
"rtpPercent": "درصد RTP",
"dailyLimit": "محدودیت روزانه (0 = نامحدود)",
"minSubDays": "حداقل روز اشتراک برای پرداخت روزانه",
"promoPrefix": "پیشوند کد تخفیف"

788
src/locales/ru.json Normal file
View File

@@ -0,0 +1,788 @@
{
"common": {
"loading": "Загрузка...",
"error": "Ошибка",
"success": "Успешно",
"save": "Сохранить",
"cancel": "Отмена",
"confirm": "Подтвердить",
"back": "Назад",
"next": "Далее",
"close": "Закрыть",
"search": "Поиск",
"noData": "Нет данных",
"actions": "Действия",
"yes": "Да",
"no": "Нет",
"or": "или",
"and": "и",
"edit": "Редактировать",
"delete": "Удалить",
"currency": "₽"
},
"nav": {
"dashboard": "Главная",
"subscription": "Подписка",
"balance": "Баланс",
"referral": "Рефералы",
"support": "Поддержка",
"profile": "Профиль",
"logout": "Выйти",
"contests": "Конкурсы",
"polls": "Опросы",
"info": "Информация",
"wheel": "Колесо удачи"
},
"auth": {
"login": "Вход",
"register": "Регистрация",
"logout": "Выход",
"email": "Email",
"password": "Пароль",
"confirmPassword": "Подтвердите пароль",
"forgotPassword": "Забыли пароль?",
"resetPassword": "Сбросить пароль",
"loginWithTelegram": "Войти через Telegram",
"loginWithEmail": "Войти по Email",
"noAccount": "Нет аккаунта?",
"hasAccount": "Уже есть аккаунт?",
"registerHint": "Для регистрации по email сначала авторизуйтесь через Telegram, затем привяжите email в настройках.",
"telegramRequired": "Требуется авторизация через Telegram",
"telegramNotConfigured": "Telegram бот не настроен",
"authenticating": "Авторизация...",
"orOpenInApp": "Или откройте бота в приложении",
"loginFailed": "Ошибка входа",
"tryAgain": "Попробовать снова",
"welcomeBack": "Добро пожаловать!",
"loginTitle": "Вход в личный кабинет",
"loginSubtitle": "Войдите через Telegram или используйте email"
},
"emailVerification": {
"title": "Подтверждение email",
"verifying": "Проверяем email...",
"pleaseWait": "Пожалуйста, подождите пока мы проверяем ваш email.",
"success": "Email подтверждён!",
"successMessage": "Ваш email успешно подтверждён. Теперь вы можете входить с помощью email и пароля.",
"failed": "Ошибка подтверждения",
"goToLogin": "Перейти к входу"
},
"dashboard": {
"title": "Личный кабинет",
"welcome": "Добро пожаловать, {{name}}!",
"yourSubscription": "Ваша подписка",
"quickActions": "Быстрые действия",
"viewSubscription": "Управление подпиской",
"topUpBalance": "Пополнить баланс",
"inviteFriends": "Пригласить друзей",
"getSupport": "Получить поддержку",
"currentBalance": "Текущий баланс",
"activeUntil": "Активна до",
"noActiveSubscription": "Нет активной подписки",
"devicesUsed": "Устройств: {{used}} из {{total}}",
"trafficUsed": "Трафик: {{used}} из {{total}} ГБ",
"unlimitedTraffic": "Безлимитный трафик"
},
"subscription": {
"title": "Подписка",
"currentPlan": "Текущий тариф",
"status": "Статус",
"active": "Активна",
"inactive": "Неактивна",
"trialStatus": "Пробный период",
"expired": "Истекла",
"expiresAt": "Действует до",
"daysLeft": "Осталось дней",
"devices": "Устройства",
"servers": "Серверы",
"traffic": "Трафик",
"unlimited": "Безлимит",
"used": "Использовано",
"of": "из",
"renew": "Продлить",
"extend": "Продлить подписку",
"buyTraffic": "Докупить трафик",
"buyDevices": "Докупить устройства",
"renewalOptions": "Варианты продления",
"days": "дней",
"hours": "ч",
"minutes": "м",
"price": "Цена",
"noSubscription": "У вас нет активной подписки",
"getSubscription": "Оформить подписку",
"connectionInfo": "Данные для подключения",
"copyLink": "Копировать ссылку",
"copied": "Скопировано!",
"showQR": "Показать QR-код",
"downloadConfig": "Скачать конфиг",
"trafficUsed": "Использовано трафика",
"timeLeft": "Осталось времени",
"getConfig": "Подключить устройства",
"autoRenewal": "Автопродление",
"daysBeforeExpiry": "дней до окончания",
"selectPeriod": "Выберите период",
"selectTraffic": "Выберите трафик",
"selectServers": "Выберите серверы",
"selectDevices": "Устройства",
"perDevice": "/ устройство",
"summary": "Итого",
"total": "К оплате",
"purchase": "Купить",
"step": "Шаг {{current}} из {{total}}",
"stepPeriod": "Период",
"stepTraffic": "Трафик",
"stepServers": "Серверы",
"stepDevices": "Устройства",
"stepConfirm": "Подтверждение",
"currentTariff": "Текущий",
"from": "от",
"month": "мес",
"insufficientBalance": "Недостаточно средств. Не хватает {{missing}} ₽",
"trial": {
"title": "Бесплатный пробный период",
"description": "Попробуйте наш VPN сервис бесплатно!",
"days": "дней",
"devices": "устройств",
"price": "Стоимость активации",
"activate": "Активировать пробный период",
"unavailable": "Пробный период недоступен"
},
"connection": {
"title": "Подключить VPN",
"selectDevice": "Выберите устройство",
"selectApp": "Выберите приложение",
"installApp": "1. Установите приложение",
"addSubscription": "2. Добавьте подписку",
"connectVpn": "3. Подключитесь к VPN",
"addToApp": "Добавить в {{appName}}",
"connect": "Подключить",
"noApps": "Нет приложений для этой платформы",
"noSubscription": "Для подключения нужна активная подписка",
"featured": "Рекомендуем",
"yourDevice": "Ваше устройство",
"copyLink": "Скопировать ссылку",
"copied": "Ссылка скопирована!",
"openLink": "Открыть ссылку"
},
"myDevices": "Мои устройства",
"noDevices": "Нет подключенных устройств",
"deleteDevice": "Удалить устройство",
"deleteAllDevices": "Удалить все",
"confirmDeleteDevice": "Удалить это устройство?",
"confirmDeleteAllDevices": "Удалить все устройства?",
"deviceDeleted": "Устройство удалено",
"allDevicesDeleted": "Все устройства удалены",
"platform": "Платформа",
"model": "Модель",
"connectedAt": "Подключено",
"pause": {
"title": "Пауза подписки",
"paused": "На паузе",
"active": "Активна",
"pauseBtn": "Приостановить",
"resumeBtn": "Возобновить",
"pausedMessage": "Подписка приостановлена",
"resumedMessage": "Подписка возобновлена",
"dailyOnly": "Пауза доступна только для суточных тарифов",
"pausedInfo": "Подписка приостановлена",
"pausedDescription": "Списания остановлены. Подписка будет действовать до",
"nextCharge": "До следующего списания",
"willBeCharged": "Будет списано",
"days_one": "день",
"days_few": "дня",
"days_many": "дней",
"hours": "ч",
"minutes": "м"
},
"dailyPurchase": {
"costPerDay": "Стоимость в день",
"chargedDaily": "Оплата списывается ежедневно с баланса",
"canPause": "Можно приостановить в любой момент",
"pausedOnLowBalance": "При недостатке баланса подписка будет приостановлена",
"activate": "Активировать за {{price}}"
},
"switchTariff": {
"title": "Сменить тариф",
"preview": "Предпросмотр",
"currentTariff": "Текущий тариф",
"newTariff": "Новый тариф",
"remainingDays": "Осталось дней",
"upgradeCost": "Доплата",
"free": "Бесплатно",
"switch": "Перейти",
"switched": "Тариф изменён",
"notEnoughBalance": "Недостаточно средств"
},
"switchTraffic": {
"title": "Изменить трафик",
"currentPackage": "Текущий пакет",
"newPackage": "Новый пакет",
"switch": "Изменить",
"switched": "Трафик изменён"
}
},
"balance": {
"title": "Баланс",
"currentBalance": "Текущий баланс",
"topUp": "Пополнить",
"topUpBalance": "Пополнение баланса",
"paymentMethods": "Способы оплаты",
"transactionHistory": "История операций",
"noTransactions": "Нет операций",
"date": "Дата",
"type": "Тип",
"description": "Описание",
"amount": "Сумма",
"deposit": "Пополнение",
"withdrawal": "Списание",
"subscriptionPayment": "Оплата подписки",
"referralReward": "Реферальный бонус",
"minAmount": "Мин.",
"maxAmount": "Макс.",
"notAvailable": "Недоступно",
"useBot": "Для пополнения используйте Telegram бота.",
"page": "Страница {{current}} из {{total}}",
"invalidAmount": "Некорректная сумма",
"promocode": {
"title": "Промокод",
"placeholder": "Введите промокод",
"activate": "Активировать",
"activating": "Активация...",
"success": "Промокод успешно активирован!",
"balanceAdded": "На баланс начислено: {{amount}} ₽",
"errors": {
"not_found": "Промокод не найден",
"expired": "Срок действия промокода истёк",
"used": "Промокод уже использован",
"already_used_by_user": "Вы уже использовали этот промокод",
"user_not_found": "Пользователь не найден",
"server_error": "Ошибка сервера"
}
},
"minAmountError": "Минимальная сумма: {{amount}} ₽",
"maxAmountError": "Максимальная сумма: {{amount}} ₽",
"paymentMethods": {
"yookassa": {
"name": "ЮKassa (Банковская карта)",
"description": "Оплата банковской картой через ЮKassa"
},
"cryptobot": {
"name": "CryptoBot",
"description": "Оплата криптовалютой через CryptoBot"
},
"telegram_stars": {
"name": "Telegram Stars",
"description": "Оплата через Telegram Stars"
}
}
},
"referral": {
"title": "Реферальная программа",
"yourLink": "Ваша реферальная ссылка",
"copyLink": "Копировать ссылку",
"copied": "Скопировано!",
"shareButton": "Поделиться",
"shareMessage": "Заходи в Cabinet по моей ссылке и получай до {{percent}}% кешбэка!",
"shareHint": "Поделитесь ссылкой с друзьями. Когда они зарегистрируются и оплатят, вы получите {{percent}}% комиссии!",
"stats": {
"totalReferrals": "Всего рефералов",
"activeReferrals": "Активных",
"totalEarnings": "Общий заработок",
"commissionRate": "Комиссия"
},
"terms": {
"title": "Условия программы",
"commission": "Комиссия",
"minTopup": "Мин. пополнение",
"newUserBonus": "Бонус новому пользователю",
"inviterBonus": "Бонус пригласившему"
},
"yourReferrals": "Ваши рефералы",
"noReferrals": "Пока нет рефералов. Поделитесь ссылкой, чтобы пригласить друзей!",
"user": "Пользователь",
"joined": "Присоединился",
"hasPaid": "Оплатил",
"earningsHistory": "История начислений",
"reason": "Причина"
},
"support": {
"title": "Поддержка",
"newTicket": "Новый тикет",
"yourTickets": "Ваши обращения",
"noTickets": "Нет обращений",
"createTicket": "Создать обращение",
"subject": "Тема",
"subjectPlaceholder": "Кратко опишите проблему",
"message": "Сообщение",
"messagePlaceholder": "Подробно опишите вашу проблему...",
"send": "Отправить",
"sending": "Отправка...",
"creating": "Создание...",
"reply": "Ответить",
"replyPlaceholder": "Введите ваш ответ...",
"sendReply": "Отправить ответ",
"you": "Вы",
"supportTeam": "Поддержка",
"selectTicket": "Выберите обращение или создайте новое",
"created": "Создано",
"repliesDisabled": "Ответы на это обращение отключены",
"status": {
"open": "Открыт",
"answered": "Отвечен",
"pending": "Ожидает",
"closed": "Закрыт"
},
"attachImage": "Прикрепить изображение",
"invalidFileType": "Неверный тип файла. Используйте JPEG, PNG, GIF или WebP.",
"fileTooLarge": "Файл слишком большой. Максимальный размер 10МБ.",
"uploadFailed": "Не удалось загрузить изображение",
"imageLoadFailed": "Не удалось загрузить изображение",
"ticketsDisabled": "Тикеты отключены",
"useProfile": "Для получения поддержки перейдите в профиль бота",
"goToProfile": "Перейти в профиль",
"useExternalLink": "Для получения поддержки воспользуйтесь внешней ссылкой",
"openSupport": "Открыть поддержку",
"contactSupport": "Для получения поддержки обратитесь к {username}",
"contactUs": "Связаться с поддержкой"
},
"wheel": {
"title": "Колесо удачи",
"disabled": "Колесо удачи временно недоступно",
"spinsRemaining": "Осталось вращений сегодня",
"choosePayment": "Выберите способ оплаты",
"stars": "Stars",
"telegramStars": "Telegram Stars",
"days": "дней",
"subscriptionDays": "Дни подписки",
"day": "День",
"spin": "КРУТИТЬ!",
"spinning": "Крутится...",
"history": "История",
"recentSpins": "Последние вращения",
"congratulations": "Поздравляем!",
"noLuck": "Не повезло!",
"oops": "Упс!",
"yourPromoCode": "Ваш промокод:",
"close": "Закрыть",
"errors": {
"networkError": "Произошла ошибка сети",
"loadFailed": "Не удалось загрузить конфигурацию колеса",
"dailyLimitReached": "Достигнут дневной лимит вращений",
"cannotSpin": "Сейчас нельзя крутить",
"insufficientBalance": "Недостаточно средств на балансе",
"topUpRequired": "Пополните баланс для оплаты спина",
"starsNotAvailable": "Оплата Stars недоступна. Откройте приложение через Telegram."
},
"payWithStars": "Оплатить Stars",
"payWithDays": "Оплатить днями",
"processingPayment": "Обработка...",
"starsPaymentSuccess": "Оплата прошла! Результат спина отправлен в Telegram.",
"starsPaymentSuccessCheckHistory": "Оплата прошла! Проверьте историю или Telegram для результата.",
"starsPaymentFailed": "Ошибка оплаты. Попробуйте еще раз.",
"youWon": "Вы выиграли",
"noPrize": "В этот раз не повезло...",
"noHistory": "История вращений пуста",
"banner": {
"title": "Испытай удачу!",
"description": "Крути колесо и выигрывай призы: дни подписки, баланс, трафик и многое другое!",
"button": "Перейти к колесу"
}
},
"admin": {
"nav": {
"title": "Админка",
"dashboard": "Статистика",
"tickets": "Тикеты",
"settings": "Настройки",
"apps": "Приложения",
"wheel": "Колесо",
"tariffs": "Тарифы",
"servers": "Серверы"
},
"panel": {
"title": "Панель администратора",
"subtitle": "Управление системой",
"dashboardDesc": "Статистика и мониторинг системы",
"ticketsDesc": "Обработка обращений пользователей",
"settingsDesc": "Настройки системы и параметры",
"appsDesc": "Управление приложениями для подключения",
"wheelDesc": "Настройка колеса удачи и призов",
"tariffsDesc": "Управление тарифными планами",
"serversDesc": "Настройка VPN серверов"
},
"wheel": {
"title": "Настройки колеса удачи",
"enabled": "Включено",
"disabled": "Выключено",
"tabs": {
"settings": "Настройки",
"prizes": "Призы",
"statistics": "Статистика"
},
"settings": {
"enableWheel": "Включить колесо",
"allowSpins": "Разрешить пользователям крутить колесо",
"costInStars": "Стоимость в Stars",
"costInDays": "Стоимость в днях",
"rtpPercent": "RTP (Return to Player) %",
"dailyLimit": "Дневной лимит вращений (0 = безлимит)",
"minSubDays": "Мин. дней подписки для оплаты днями",
"promoPrefix": "Префикс промокодов"
},
"prizes": {
"addPrize": "Добавить приз",
"editPrize": "Редактировать приз",
"noPrizes": "Призы не настроены. Добавьте призы для активации колеса.",
"deletePrize": "Удалить этот приз?",
"types": {
"subscription_days": "Дни подписки",
"balance_bonus": "Бонус баланса",
"traffic_gb": "Трафик ГБ",
"promocode": "Промокод",
"nothing": "Ничего (пусто)"
},
"fields": {
"type": "Тип",
"displayName": "Название",
"value": "Значение",
"valueKopeks": "Стоимость в копейках (для RTP)",
"emoji": "Эмодзи",
"color": "Цвет",
"active": "Активен",
"worth": "Стоимость"
},
"promo": {
"title": "Настройки промокода",
"balanceBonus": "Бонус баланса (копейки)",
"subscriptionDays": "Дни подписки"
}
},
"statistics": {
"totalSpins": "Всего вращений",
"revenue": "Доход",
"payouts": "Выплаты",
"actualRtp": "Фактический RTP",
"targetRtp": "цель",
"prizeDistribution": "Распределение призов",
"times": "раз",
"topWins": "Топ выигрышей"
}
},
"settings": {
"title": "Настройки системы",
"allCategories": "Все категории",
"noSettings": "Настройки не найдены",
"modified": "Изменено",
"readOnly": "Только чтение",
"reset": "Сбросить",
"categoriesCount": "категорий",
"settingsCount": "настроек",
"expandAll": "Развернуть все",
"collapseAll": "Свернуть все",
"searchPlaceholder": "Поиск настроек...",
"searchCategoriesPlaceholder": "Поиск категорий...",
"noSearchResults": "Ничего не найдено",
"example": "Пример"
},
"apps": {
"title": "Управление приложениями",
"addApp": "Добавить приложение",
"addFirstApp": "Добавить первое приложение",
"noApps": "Нет приложений для этой платформы",
"createApp": "Создать приложение",
"editApp": "Редактировать приложение",
"confirmDelete": "Вы уверены, что хотите удалить это приложение?",
"copyTo": "Копировать в...",
"appId": "ID приложения",
"appName": "Название",
"urlScheme": "URL схема",
"featured": "Рекомендованное",
"base64Encoding": "Base64 кодирование",
"buttons": "Кнопки",
"button": "Кнопка",
"addButton": "Добавить кнопку",
"buttonText": "Текст кнопки",
"installDescription": "Описание установки",
"subscriptionDescription": "Описание добавления подписки",
"connectDescription": "Описание подключения",
"beforeSubscription": "До добавления подписки",
"afterSubscription": "После добавления подписки",
"stepTitle": "Заголовок",
"stepDescription": "Описание",
"tabs": {
"basic": "Основное",
"installation": "Установка",
"subscription": "Подписка",
"connect": "Подключение",
"additional": "Дополнительно"
}
},
"tickets": {
"title": "Управление тикетами",
"total": "Всего",
"list": "Тикеты",
"noTickets": "Нет тикетов",
"selectTicket": "Выберите тикет из списка",
"allStatuses": "Все статусы",
"statusOpen": "Открыт",
"statusPending": "Ожидает",
"statusAnswered": "Отвечен",
"statusClosed": "Закрыт",
"from": "От",
"created": "Создан",
"user": "Пользователь",
"you": "Вы",
"userLabel": "Пользователь",
"adminLabel": "Админ",
"replyPlaceholder": "Введите ваш ответ...",
"sendReply": "Отправить"
},
"tariffs": {
"title": "Управление тарифами",
"subtitle": "Настройка тарифных планов",
"create": "Создать тариф",
"edit": "Редактировать тариф",
"noTariffs": "Нет тарифов",
"name": "Название",
"namePlaceholder": "Введите название тарифа",
"description": "Описание",
"descriptionPlaceholder": "Введите описание тарифа",
"trafficLimit": "Лимит трафика",
"trafficHint": "0 = безлимитный трафик",
"deviceLimit": "Лимит устройств",
"tierLevel": "Уровень тарифа",
"tierHint": "1-10, влияет на приоритет при переходе",
"unlimited": "Безлимит",
"devices": "устр.",
"servers": "серверов",
"subscriptions": "подписок",
"trial": "Триал",
"inactive": "Неактивен",
"activate": "Активировать",
"deactivate": "Деактивировать",
"toggleTrial": "Переключить триал",
"delete": "Удалить",
"confirmDelete": "Удалить тариф?",
"confirmDeleteText": "Это действие нельзя отменить. Тариф будет удален навсегда.",
"days": "дней",
"tabs": {
"basic": "Основное",
"prices": "Цены",
"servers": "Серверы"
},
"pricesHint": "Включите нужные периоды и установите цены (в рублях)",
"periodDisabled": "Отключено",
"serversHint": "Выберите серверы, доступные для этого тарифа. Для каждого сервера можно указать индивидуальный лимит трафика.",
"noServers": "Нет доступных серверов",
"serverTrafficLimit": "Лимит трафика",
"useDefault": "по умолчанию"
},
"servers": {
"title": "Управление серверами",
"subtitle": "Настройка серверов VPN",
"sync": "Синхронизировать",
"syncing": "Синхронизация...",
"syncNow": "Синхронизировать сейчас",
"noServers": "Нет серверов. Синхронизируйте с RemnaWave.",
"edit": "Редактировать сервер",
"originalName": "Оригинальное название",
"displayName": "Отображаемое название",
"displayNamePlaceholder": "Введите название",
"description": "Описание",
"descriptionPlaceholder": "Введите описание сервера",
"countryCode": "Код страны",
"price": "Цена",
"priceHint": "Дополнительная стоимость сервера",
"maxUsers": "Максимум пользователей",
"sortOrder": "Порядок сортировки",
"unlimited": "Без лимита",
"stats": "Статистика",
"currentUsers": "Текущих пользователей",
"activeSubscriptions": "Активных подписок",
"usedByTariffs": "Используется в тарифах",
"trial": "Триал",
"unavailable": "Недоступен",
"full": "Заполнен",
"enable": "Включить",
"disable": "Отключить",
"toggleTrial": "Переключить триал",
"loadError": "Не удалось загрузить сервер"
}
},
"adminDashboard": {
"title": "Панель статистики",
"subtitle": "Обзор системы в реальном времени",
"refresh": "Обновить",
"loadError": "Не удалось загрузить статистику",
"stats": {
"usersOnline": "Пользователей онлайн",
"activeSubscriptions": "Активных подписок",
"incomeToday": "Доход за сегодня",
"incomeMonth": "Доход за месяц",
"incomeTotal": "Общий доход",
"subscriptionIncome": "Доход от подписок",
"total": "всего"
},
"nodes": {
"title": "Ноды",
"online": "Онлайн",
"offline": "Оффлайн",
"disabled": "Отключена",
"noNodes": "Нет доступных нод",
"usersOnline": "Онлайн",
"traffic": "Трафик",
"enable": "Включить",
"disable": "Отключить"
},
"revenue": {
"title": "Доходы",
"last7Days": "За последние 7 дней"
},
"subscriptions": {
"title": "Подписки",
"subtitle": "Статистика подписок",
"active": "Активных",
"trial": "Пробных",
"paid": "Оплаченных",
"expired": "Истекших",
"newSubscriptions": "Новые подписки",
"today": "Сегодня",
"week": "Неделя",
"month": "Месяц",
"conversion": "Конверсия триал→платные"
},
"servers": {
"title": "Серверы",
"total": "Всего серверов",
"available": "Доступных",
"withConnections": "С подключениями",
"revenue": "Доход"
}
},
"profile": {
"title": "Профиль",
"accountInfo": "Информация об аккаунте",
"telegramId": "Telegram ID",
"username": "Имя пользователя",
"name": "Имя",
"registeredAt": "Дата регистрации",
"emailAuth": "Авторизация по Email",
"linkEmailDescription": "Привяжите email для входа без Telegram. После привязки на ваш email придёт письмо для подтверждения.",
"linkEmail": "Привязать Email",
"emailRequired": "Введите email",
"passwordMinLength": "Пароль должен быть минимум 8 символов",
"passwordsMismatch": "Пароли не совпадают",
"passwordPlaceholder": "Введите пароль",
"confirmPasswordPlaceholder": "Подтвердите пароль",
"passwordHint": "Минимум 8 символов",
"emailSent": "Письмо для подтверждения отправлено! Проверьте почту.",
"verified": "Подтверждён",
"notVerified": "Не подтверждён",
"verificationRequired": "Подтвердите email для использования входа по почте.",
"resendVerification": "Отправить письмо повторно",
"verificationResent": "Письмо отправлено повторно!",
"canLoginWithEmail": "Теперь вы можете входить с помощью email и пароля.",
"notifications": {
"title": "Настройки уведомлений",
"subscriptionExpiry": "Окончание подписки",
"subscriptionExpiryDesc": "Уведомлять о скором истечении подписки",
"daysBeforeExpiry": "Дней до окончания",
"trafficWarning": "Предупреждение о трафике",
"trafficWarningDesc": "Уведомлять при достижении лимита трафика",
"atPercent": "При использовании",
"balanceLow": "Низкий баланс",
"balanceLowDesc": "Уведомлять о низком балансе",
"threshold": "Порог",
"news": "Новости",
"newsDesc": "Получать новости и обновления сервиса",
"promoOffers": "Промо-предложения",
"promoOffersDesc": "Получать специальные предложения и скидки",
"unavailable": "Настройки уведомлений недоступны"
}
},
"theme": {
"colors": "Цвета темы",
"reset": "Сбросить",
"accent": "Акцентный цвет",
"accentDescription": "Основной цвет бренда для кнопок, ссылок и интерактивных элементов",
"darkTheme": "Тёмная тема",
"lightTheme": "Светлая тема",
"background": "Фон",
"surface": "Поверхность",
"text": "Текст",
"textSecondary": "Вторичный текст",
"statusColors": "Статусные цвета",
"success": "Успех",
"warning": "Предупреждение",
"error": "Ошибка",
"preview": "Предпросмотр",
"previewButton": "Основная кнопка",
"previewSecondary": "Вторичная кнопка",
"light": "Светлая тема",
"dark": "Тёмная тема"
},
"languages": {
"ru": "Русский",
"en": "English",
"zh": "中文",
"fa": "فارسی"
},
"contests": {
"title": "Конкурсы",
"error": "Ошибка загрузки конкурсов",
"noContests": "Нет доступных конкурсов",
"days": "дней",
"play": "Участвовать",
"alreadyPlayed": "Уже участвовали",
"enterAnswer": "Введите ответ",
"submit": "Отправить",
"imHere": "Я здесь!"
},
"polls": {
"title": "Опросы",
"error": "Ошибка загрузки опросов",
"noPolls": "Нет доступных опросов",
"questions": "вопросов",
"question": "Вопрос",
"of": "из",
"start": "Начать",
"continue": "Продолжить",
"completed": "Завершён",
"reward": "₽"
},
"info": {
"title": "Информация",
"faq": "FAQ",
"rules": "Правила",
"privacy": "Конфиденциальность",
"offer": "Оферта",
"noFaq": "Нет вопросов и ответов",
"noContent": "Нет контента",
"updatedAt": "Обновлено"
},
"onboarding": {
"skip": "Пропустить",
"finish": "Готово",
"steps": {
"welcome": {
"title": "Добро пожаловать!",
"description": "Это ваш личный кабинет. Здесь вы можете управлять подпиской, пополнять баланс и подключать устройства."
},
"connectDevices": {
"title": "Подключите устройства",
"description": "Нажмите эту кнопку, чтобы получить инструкции по подключению VPN на ваших устройствах."
},
"balance": {
"title": "Ваш баланс",
"description": "Здесь отображается ваш текущий баланс. Нажмите, чтобы пополнить его."
},
"subscription": {
"title": "Статус подписки",
"description": "Здесь вы видите сколько дней осталось до окончания подписки."
},
"quickActions": {
"title": "Быстрые действия",
"description": "Используйте эти кнопки для быстрого доступа к основным функциям: пополнению баланса, продлению подписки и приглашению друзей."
}
}
}
}

712
src/locales/zh.json Normal file
View File

@@ -0,0 +1,712 @@
{
"common": {
"loading": "加载中...",
"error": "错误",
"success": "成功",
"save": "保存",
"cancel": "取消",
"confirm": "确认",
"back": "返回",
"next": "下一步",
"close": "关闭",
"search": "搜索",
"noData": "暂无数据",
"actions": "操作",
"yes": "是",
"no": "否",
"or": "或",
"and": "和",
"edit": "编辑",
"delete": "删除",
"currency": "¥"
},
"nav": {
"dashboard": "首页",
"subscription": "订阅",
"balance": "余额",
"referral": "推荐",
"support": "支持",
"profile": "个人资料",
"logout": "退出",
"contests": "活动",
"polls": "问卷",
"info": "信息",
"wheel": "幸运转盘"
},
"auth": {
"login": "登录",
"register": "注册",
"logout": "退出",
"email": "邮箱",
"password": "密码",
"confirmPassword": "确认密码",
"forgotPassword": "忘记密码?",
"resetPassword": "重置密码",
"loginWithTelegram": "通过Telegram登录",
"loginWithEmail": "通过邮箱登录",
"noAccount": "没有账户?",
"hasAccount": "已有账户?",
"registerHint": "要通过邮箱注册请先通过Telegram登录然后在设置中绑定邮箱。",
"telegramRequired": "需要Telegram授权",
"telegramNotConfigured": "Telegram机器人未配置",
"authenticating": "正在验证...",
"orOpenInApp": "或在应用中打开机器人",
"loginFailed": "登录失败",
"tryAgain": "重试",
"welcomeBack": "欢迎回来!",
"loginTitle": "登录个人中心",
"loginSubtitle": "通过Telegram或邮箱登录"
},
"emailVerification": {
"title": "邮箱验证",
"verifying": "正在验证邮箱...",
"pleaseWait": "请稍候,我们正在验证您的邮箱。",
"success": "邮箱已验证!",
"successMessage": "您的邮箱已成功验证。现在您可以使用邮箱和密码登录。",
"failed": "验证失败",
"goToLogin": "前往登录"
},
"dashboard": {
"title": "个人中心",
"welcome": "欢迎,{{name}}",
"yourSubscription": "您的订阅",
"quickActions": "快捷操作",
"viewSubscription": "管理订阅",
"topUpBalance": "充值余额",
"inviteFriends": "邀请好友",
"getSupport": "获取支持",
"currentBalance": "当前余额",
"activeUntil": "有效期至",
"noActiveSubscription": "无有效订阅",
"devicesUsed": "设备:{{used}} / {{total}}",
"trafficUsed": "流量:{{used}} / {{total}} GB",
"unlimitedTraffic": "无限流量"
},
"subscription": {
"title": "订阅",
"currentPlan": "当前套餐",
"status": "状态",
"active": "有效",
"inactive": "无效",
"trialStatus": "试用期",
"expired": "已过期",
"expiresAt": "到期时间",
"daysLeft": "剩余天数",
"devices": "设备",
"servers": "服务器",
"traffic": "流量",
"unlimited": "无限",
"used": "已使用",
"of": "/",
"renew": "续费",
"extend": "延长订阅",
"buyTraffic": "购买流量",
"buyDevices": "增加设备",
"renewalOptions": "续费选项",
"days": "天",
"hours": "小时",
"minutes": "分钟",
"price": "价格",
"noSubscription": "您没有有效订阅",
"getSubscription": "获取订阅",
"connectionInfo": "连接信息",
"copyLink": "复制链接",
"copied": "已复制!",
"showQR": "显示二维码",
"downloadConfig": "下载配置",
"trafficUsed": "已用流量",
"timeLeft": "剩余时间",
"getConfig": "连接设备",
"autoRenewal": "自动续费",
"daysBeforeExpiry": "到期前天数",
"selectPeriod": "选择时长",
"selectTraffic": "选择流量",
"selectServers": "选择服务器",
"selectDevices": "选择设备",
"perDevice": "/ 设备",
"summary": "摘要",
"total": "总计",
"purchase": "购买",
"step": "第 {{current}} 步,共 {{total}} 步",
"stepPeriod": "时长",
"stepTraffic": "流量",
"stepServers": "服务器",
"stepDevices": "设备",
"stepConfirm": "确认",
"trial": {
"title": "免费试用",
"description": "免费试用我们的VPN服务",
"days": "天",
"devices": "设备",
"price": "激活费用",
"activate": "激活免费试用",
"unavailable": "试用不可用"
},
"connection": {
"title": "连接VPN",
"selectDevice": "选择您的设备",
"selectApp": "选择应用",
"installApp": "1. 安装应用",
"addSubscription": "2. 添加订阅",
"connectVpn": "3. 连接VPN",
"addToApp": "添加到 {{appName}}",
"connect": "连接",
"noApps": "此平台暂无可用应用",
"noSubscription": "需要有效订阅才能连接",
"featured": "推荐",
"yourDevice": "您的设备",
"copyLink": "复制订阅链接",
"copied": "链接已复制!",
"openLink": "打开链接"
}
},
"balance": {
"title": "余额",
"currentBalance": "当前余额",
"topUp": "充值",
"topUpBalance": "充值余额",
"paymentMethods": "支付方式",
"transactionHistory": "交易记录",
"noTransactions": "暂无交易",
"date": "日期",
"type": "类型",
"description": "描述",
"amount": "金额",
"deposit": "充值",
"withdrawal": "支出",
"subscriptionPayment": "订阅付款",
"referralReward": "推荐奖励",
"minAmount": "最小",
"maxAmount": "最大",
"notAvailable": "不可用",
"useBot": "请使用Telegram机器人充值。",
"page": "第 {{current}} 页,共 {{total}} 页",
"invalidAmount": "金额无效",
"promocode": {
"title": "优惠码",
"placeholder": "输入优惠码",
"activate": "激活",
"activating": "激活中...",
"success": "优惠码激活成功!",
"balanceAdded": "已添加余额:{{amount}}",
"errors": {
"not_found": "优惠码不存在",
"expired": "优惠码已过期",
"used": "优惠码已被使用",
"already_used_by_user": "您已使用过此优惠码",
"user_not_found": "用户不存在",
"server_error": "服务器错误"
}
},
"minAmountError": "最小金额:{{amount}}",
"maxAmountError": "最大金额:{{amount}}",
"paymentMethods": {
"yookassa": {
"name": "银行卡",
"description": "通过银行卡支付"
},
"cryptobot": {
"name": "CryptoBot",
"description": "通过CryptoBot加密货币支付"
},
"telegram_stars": {
"name": "Telegram Stars",
"description": "通过Telegram Stars支付"
}
}
},
"referral": {
"title": "推荐计划",
"yourLink": "您的推荐链接",
"copyLink": "复制链接",
"copied": "已复制!",
"shareButton": "分享",
"shareMessage": "通过我的链接加入 Cabinet获取高达 {{percent}}% 返现!",
"shareHint": "分享链接给朋友。当他们注册并付款后,您将获得 {{percent}}% 佣金!",
"stats": {
"totalReferrals": "总推荐数",
"activeReferrals": "活跃",
"totalEarnings": "总收益",
"commissionRate": "佣金比例"
},
"terms": {
"title": "计划条款",
"commission": "佣金",
"minTopup": "最低充值",
"newUserBonus": "新用户奖励",
"inviterBonus": "邀请人奖励"
},
"yourReferrals": "您的推荐",
"noReferrals": "暂无推荐。分享链接邀请好友!",
"user": "用户",
"joined": "加入时间",
"hasPaid": "已付款",
"earningsHistory": "收益记录",
"reason": "原因"
},
"support": {
"title": "支持",
"newTicket": "新工单",
"yourTickets": "您的工单",
"noTickets": "暂无工单",
"createTicket": "创建工单",
"subject": "主题",
"subjectPlaceholder": "简要描述问题",
"message": "消息",
"messagePlaceholder": "详细描述您的问题...",
"send": "发送",
"sending": "发送中...",
"creating": "创建中...",
"reply": "回复",
"replyPlaceholder": "输入您的回复...",
"sendReply": "发送回复",
"you": "您",
"supportTeam": "客服",
"selectTicket": "选择工单或创建新工单",
"created": "创建时间",
"repliesDisabled": "此工单已禁止回复",
"status": {
"open": "待处理",
"answered": "已回复",
"pending": "等待中",
"closed": "已关闭"
},
"attachImage": "附加图片",
"invalidFileType": "文件类型无效。请使用JPEG、PNG、GIF或WebP。",
"fileTooLarge": "文件过大。最大10MB。",
"uploadFailed": "图片上传失败",
"imageLoadFailed": "图片加载失败"
},
"wheel": {
"title": "幸运转盘",
"disabled": "幸运转盘暂时不可用",
"spinsRemaining": "今日剩余次数",
"choosePayment": "选择支付方式",
"stars": "Stars",
"telegramStars": "Telegram Stars",
"days": "天",
"subscriptionDays": "订阅天数",
"day": "天",
"spin": "开始抽奖!",
"spinning": "抽奖中...",
"history": "历史",
"recentSpins": "最近抽奖",
"congratulations": "恭喜!",
"noLuck": "未中奖!",
"oops": "哎呀!",
"yourPromoCode": "您的优惠码:",
"close": "关闭",
"errors": {
"networkError": "网络错误",
"loadFailed": "加载转盘配置失败",
"dailyLimitReached": "已达每日限制",
"cannotSpin": "当前无法抽奖",
"insufficientBalance": "余额不足",
"topUpRequired": "请充值以支付抽奖费用"
},
"payWithStars": "支付 {stars} Stars",
"processingPayment": "处理中...",
"starsPaymentSuccess": "支付成功抽奖结果已发送到Telegram。",
"starsPaymentFailed": "支付失败。请重试。",
"noHistory": "暂无抽奖记录",
"banner": {
"title": "试试运气!",
"description": "转动转盘赢取奖品:订阅天数、余额、流量等!",
"button": "前往转盘"
}
},
"admin": {
"nav": {
"title": "管理",
"dashboard": "统计",
"tickets": "工单",
"settings": "设置",
"apps": "应用",
"wheel": "转盘",
"tariffs": "套餐",
"servers": "服务器"
},
"panel": {
"title": "管理面板",
"subtitle": "系统管理",
"dashboardDesc": "统计和系统监控",
"ticketsDesc": "处理用户工单",
"settingsDesc": "系统设置和参数",
"appsDesc": "管理连接应用",
"wheelDesc": "配置幸运转盘和奖品",
"tariffsDesc": "管理套餐计划",
"serversDesc": "配置VPN服务器"
},
"wheel": {
"title": "幸运转盘设置",
"enabled": "已启用",
"disabled": "已禁用",
"tabs": {
"settings": "设置",
"prizes": "奖品",
"statistics": "统计"
},
"settings": {
"enableWheel": "启用转盘",
"allowSpins": "允许用户抽奖",
"costInStars": "Stars费用",
"costInDays": "天数费用",
"rtpPercent": "RTP (返还率) %",
"dailyLimit": "每日限制 (0 = 无限)",
"minSubDays": "天数支付最低订阅天数",
"promoPrefix": "优惠码前缀"
},
"prizes": {
"addPrize": "添加奖品",
"editPrize": "编辑奖品",
"noPrizes": "未配置奖品。添加奖品以启用转盘。",
"deletePrize": "删除此奖品?",
"types": {
"subscription_days": "订阅天数",
"balance_bonus": "余额奖励",
"traffic_gb": "流量 GB",
"promocode": "优惠码",
"nothing": "无奖品"
},
"fields": {
"type": "类型",
"displayName": "显示名称",
"value": "数值",
"valueKopeks": "价值戈比用于RTP",
"emoji": "表情",
"color": "颜色",
"active": "启用",
"worth": "价值"
},
"promo": {
"title": "优惠码设置",
"balanceBonus": "余额奖励(戈比)",
"subscriptionDays": "订阅天数"
}
},
"statistics": {
"totalSpins": "总抽奖次数",
"revenue": "收入",
"payouts": "支出",
"actualRtp": "实际RTP",
"targetRtp": "目标",
"prizeDistribution": "奖品分布",
"times": "次",
"topWins": "最高奖品"
}
},
"settings": {
"title": "系统设置",
"allCategories": "所有分类",
"noSettings": "未找到设置",
"modified": "已修改",
"readOnly": "只读",
"reset": "重置",
"categoriesCount": "个分类",
"settingsCount": "个设置",
"expandAll": "展开全部",
"collapseAll": "折叠全部",
"searchPlaceholder": "搜索设置...",
"searchCategoriesPlaceholder": "搜索分类...",
"noSearchResults": "未找到结果",
"example": "示例"
},
"apps": {
"title": "应用管理",
"addApp": "添加应用",
"addFirstApp": "添加第一个应用",
"noApps": "此平台暂无应用",
"createApp": "创建应用",
"editApp": "编辑应用",
"confirmDelete": "确定要删除此应用吗?",
"copyTo": "复制到...",
"appId": "应用ID",
"appName": "名称",
"urlScheme": "URL协议",
"featured": "推荐",
"base64Encoding": "Base64编码",
"buttons": "按钮",
"button": "按钮",
"addButton": "添加按钮",
"buttonText": "按钮文本",
"installDescription": "安装说明",
"subscriptionDescription": "添加订阅说明",
"connectDescription": "连接说明",
"beforeSubscription": "添加订阅前",
"afterSubscription": "添加订阅后",
"stepTitle": "标题",
"stepDescription": "描述",
"tabs": {
"basic": "基本",
"installation": "安装",
"subscription": "订阅",
"connect": "连接",
"additional": "附加"
}
},
"tickets": {
"title": "工单管理",
"total": "总计",
"list": "工单",
"noTickets": "暂无工单",
"selectTicket": "从列表中选择工单",
"allStatuses": "所有状态",
"statusOpen": "待处理",
"statusPending": "等待中",
"statusAnswered": "已回复",
"statusClosed": "已关闭",
"from": "来自",
"created": "创建时间",
"user": "用户",
"you": "您",
"userLabel": "用户",
"adminLabel": "管理员",
"replyPlaceholder": "输入您的回复...",
"sendReply": "发送回复"
},
"tariffs": {
"title": "套餐管理",
"subtitle": "配置套餐计划",
"create": "创建套餐",
"edit": "编辑套餐",
"noTariffs": "暂无套餐",
"name": "名称",
"namePlaceholder": "输入套餐名称",
"description": "描述",
"descriptionPlaceholder": "输入套餐描述",
"trafficLimit": "流量限制",
"trafficHint": "0 = 无限流量",
"deviceLimit": "设备限制",
"tierLevel": "套餐等级",
"tierHint": "1-10影响升级优先级",
"unlimited": "无限",
"devices": "设备",
"servers": "服务器",
"subscriptions": "订阅",
"trial": "试用",
"inactive": "未激活",
"activate": "激活",
"deactivate": "停用",
"toggleTrial": "切换试用",
"delete": "删除",
"confirmDelete": "删除套餐?",
"confirmDeleteText": "此操作不可撤销。套餐将被永久删除。",
"days": "天",
"tabs": {
"basic": "基本",
"prices": "价格",
"servers": "服务器"
},
"pricesHint": "设置每个周期的价格",
"serversHint": "选择此套餐可用的服务器",
"noServers": "暂无可用服务器"
},
"servers": {
"title": "服务器管理",
"subtitle": "配置VPN服务器",
"sync": "同步",
"syncing": "同步中...",
"syncNow": "立即同步",
"noServers": "暂无服务器。请与RemnaWave同步。",
"edit": "编辑服务器",
"originalName": "原始名称",
"displayName": "显示名称",
"displayNamePlaceholder": "输入显示名称",
"description": "描述",
"descriptionPlaceholder": "输入服务器描述",
"countryCode": "国家代码",
"price": "价格",
"priceHint": "服务器附加费用",
"maxUsers": "最大用户数",
"sortOrder": "排序",
"unlimited": "无限制",
"stats": "统计",
"currentUsers": "当前用户",
"activeSubscriptions": "活跃订阅",
"usedByTariffs": "套餐使用",
"trial": "试用",
"unavailable": "不可用",
"full": "已满",
"enable": "启用",
"disable": "禁用",
"toggleTrial": "切换试用"
}
},
"adminDashboard": {
"title": "统计面板",
"subtitle": "实时系统概览",
"refresh": "刷新",
"loadError": "加载统计失败",
"stats": {
"usersOnline": "在线用户",
"activeSubscriptions": "活跃订阅",
"incomeToday": "今日收入",
"incomeMonth": "本月收入",
"incomeTotal": "总收入",
"subscriptionIncome": "订阅收入",
"total": "总计"
},
"nodes": {
"title": "节点",
"online": "在线",
"offline": "离线",
"disabled": "已禁用",
"noNodes": "暂无可用节点",
"usersOnline": "在线",
"traffic": "流量",
"enable": "启用",
"disable": "禁用"
},
"revenue": {
"title": "收入",
"last7Days": "最近7天"
},
"subscriptions": {
"title": "订阅",
"subtitle": "订阅统计",
"active": "活跃",
"trial": "试用",
"paid": "付费",
"expired": "过期",
"newSubscriptions": "新订阅",
"today": "今日",
"week": "本周",
"month": "本月",
"conversion": "试用转付费率"
},
"servers": {
"title": "服务器",
"total": "服务器总数",
"available": "可用",
"withConnections": "有连接",
"revenue": "收入"
}
},
"profile": {
"title": "个人资料",
"accountInfo": "账户信息",
"telegramId": "Telegram ID",
"username": "用户名",
"name": "姓名",
"registeredAt": "注册时间",
"emailAuth": "邮箱认证",
"linkEmailDescription": "绑定邮箱以便无需Telegram登录。绑定后将收到验证邮件。",
"linkEmail": "绑定邮箱",
"emailRequired": "请输入邮箱",
"passwordMinLength": "密码至少8个字符",
"passwordsMismatch": "密码不匹配",
"passwordPlaceholder": "输入密码",
"confirmPasswordPlaceholder": "确认密码",
"passwordHint": "至少8个字符",
"emailSent": "验证邮件已发送!请查收。",
"verified": "已验证",
"notVerified": "未验证",
"verificationRequired": "请验证邮箱以使用邮箱登录。",
"resendVerification": "重新发送验证邮件",
"verificationResent": "验证邮件已重新发送!",
"canLoginWithEmail": "现在您可以使用邮箱和密码登录。",
"notifications": {
"title": "通知设置",
"subscriptionExpiry": "订阅到期",
"subscriptionExpiryDesc": "订阅即将到期时通知",
"daysBeforeExpiry": "到期前天数",
"trafficWarning": "流量警告",
"trafficWarningDesc": "接近流量限制时通知",
"atPercent": "使用率",
"balanceLow": "余额不足",
"balanceLowDesc": "余额不足时通知",
"threshold": "阈值",
"news": "新闻",
"newsDesc": "接收新闻和服务更新",
"promoOffers": "促销活动",
"promoOffersDesc": "接收特别优惠和折扣",
"unavailable": "通知设置不可用"
}
},
"theme": {
"colors": "主题颜色",
"reset": "重置",
"accent": "主题色",
"accentDescription": "用于按钮、链接和交互元素的主品牌颜色",
"darkTheme": "深色主题",
"lightTheme": "浅色主题",
"background": "背景",
"surface": "表面",
"text": "文字",
"textSecondary": "次要文字",
"statusColors": "状态颜色",
"success": "成功",
"warning": "警告",
"error": "错误",
"preview": "预览",
"previewButton": "主要按钮",
"previewSecondary": "次要按钮",
"light": "浅色主题",
"dark": "深色主题"
},
"languages": {
"ru": "Русский",
"en": "English",
"zh": "中文",
"fa": "فارسی"
},
"contests": {
"title": "活动",
"error": "加载活动失败",
"noContests": "暂无活动",
"days": "天",
"play": "参与",
"alreadyPlayed": "已参与",
"enterAnswer": "输入答案",
"submit": "提交",
"imHere": "我在这里!"
},
"polls": {
"title": "问卷",
"error": "加载问卷失败",
"noPolls": "暂无问卷",
"questions": "个问题",
"question": "问题",
"of": "/",
"start": "开始",
"continue": "继续",
"completed": "已完成",
"reward": "¥"
},
"info": {
"title": "信息",
"faq": "常见问题",
"rules": "规则",
"privacy": "隐私政策",
"offer": "服务条款",
"noFaq": "暂无常见问题",
"noContent": "暂无内容",
"updatedAt": "更新时间"
},
"onboarding": {
"skip": "跳过",
"finish": "完成",
"steps": {
"welcome": {
"title": "欢迎!",
"description": "这是您的个人中心。在这里您可以管理订阅、充值余额和连接设备。"
},
"connectDevices": {
"title": "连接设备",
"description": "点击此按钮获取在您的设备上连接VPN的说明。"
},
"balance": {
"title": "您的余额",
"description": "这里显示您的当前余额。点击可充值。"
},
"subscription": {
"title": "订阅状态",
"description": "在这里您可以看到订阅的剩余天数。"
},
"quickActions": {
"title": "快捷操作",
"description": "使用这些按钮快速访问主要功能:充值余额、延长订阅和邀请好友。"
}
}
}
}