feat: add new payment icons for Alipay and WeChat Pay, update asset paths

- Added SVG icons for Alipay and WeChat Pay in the payment assets directory.
- Updated paths for Lottie animations in various components to use relative paths.
- Changed QR code image sources in payment-related components to point to the new asset paths.
- Adjusted i18n configuration to load translation files from the updated assets directory.
This commit is contained in:
web
2025-11-29 20:03:41 -08:00
parent 8260fe37d7
commit 2ce0572283
103 changed files with 24 additions and 14 deletions
@@ -0,0 +1,39 @@
{
"cancel": "Cancel",
"confirm": "Confirm",
"confirmDelete": "Confirm Delete",
"create": "Create",
"createAds": "Create Ad",
"createSuccess": "Created successfully",
"delete": "Delete",
"deleteSuccess": "Deleted successfully",
"deleteWarning": "Are you sure you want to delete this ad? This action cannot be undone.",
"disabled": "Disabled",
"edit": "Edit",
"editAds": "Edit Ad",
"enabled": "Enabled",
"form": {
"cancel": "Cancel",
"confirm": "Confirm",
"content": "Content",
"description": "Description",
"endTime": "End Time",
"enterDescription": "Enter description",
"enterEndTime": "Select end time",
"enterStartTime": "Select start time",
"enterTargetUrl": "Enter target URL",
"enterTitle": "Enter title",
"startTime": "Start Time",
"targetUrl": "Target URL",
"title": "Title",
"type": "Type",
"typeImage": "Image",
"typeVideo": "Video"
},
"status": "Status",
"targetUrl": "Target URL",
"title": "Title",
"type": "Type",
"updateSuccess": "Updated successfully",
"validityPeriod": "Validity Period"
}
@@ -0,0 +1,30 @@
{
"announcementList": "Announcement List",
"cancel": "Cancel",
"confirm": "Confirm",
"confirmDelete": "Confirm Delete",
"content": "Content",
"create": "Create",
"createAnnouncement": "Create Announcement",
"createSuccess": "Created successfully",
"delete": "Delete",
"deleteDescription": "This action cannot be undone.",
"deleteSuccess": "Deleted successfully",
"edit": "Edit",
"editAnnouncement": "Edit Announcement",
"enable": "Enable",
"form": {
"cancel": "Cancel",
"confirm": "Confirm",
"content": "Content",
"title": "Title",
"titlePlaceholder": "Enter title"
},
"hide": "Hide",
"pinned": "Pinned",
"popup": "Popup",
"show": "Show",
"title": "Title",
"updatedAt": "Updated At",
"updateSuccess": "Updated successfully"
}
@@ -0,0 +1,179 @@
{
"apple": {
"clientId": "Service ID",
"clientIdDescription": "Apple Service ID, available from Apple Developer Portal",
"clientSecret": "Private Key",
"clientSecretDescription": "Private key content (.p8 file) for authenticating with Apple",
"description": "Authenticate users with Apple accounts",
"enable": "Enable",
"enableDescription": "When enabled, users can sign in with their Apple ID",
"keyId": "Key ID",
"keyIdDescription": "Your private key ID from Apple Developer Portal",
"redirectUri": "Redirect URL",
"redirectUriDescription": "API address for redirect URL after successful Apple authentication. Do not end with /",
"teamId": "Team ID",
"teamIdDescription": "Apple Developer Team ID",
"title": "Apple Sign-In"
},
"common": {
"cancel": "Cancel",
"save": "Save",
"saveFailed": "Save failed",
"saveSuccess": "Saved successfully"
},
"communicationMethods": "Communication Methods",
"device": {
"blockVirtualMachine": "Block Virtual Machine",
"blockVirtualMachineDescription": "Block virtual machine login, only allow real device",
"communicationKey": "Communication Key",
"communicationKeyDescription": "The key used for secure communication between application and server",
"description": "Authenticate users with device",
"enable": "Enable",
"enableDescription": "When enabled, users can sign in with device",
"enableSecurity": "Enable Security",
"enableSecurityDescription": "When enabled, application requests must carry communication key",
"showAds": "Show Ads",
"showAdsDescription": "When enabled, ads will be shown",
"title": "Device Sign-In"
},
"deviceAuthMethods": "Device Authentication Methods",
"email": {
"basicSettings": "Basic Settings",
"description": "Configure email authentication and templates",
"emailSuffixWhitelist": "Email Suffix Whitelist",
"emailSuffixWhitelistDescription": "Only allow emails from whitelisted domains",
"emailVerification": "Email Verification",
"emailVerificationDescription": "Require email verification for new users",
"enable": "Enable",
"enableDescription": "When enabled, users can sign in with email",
"expirationEmailTemplate": "Expiration Email Template",
"expirationTemplate": "Expiration Template",
"inputPlaceholder": "Please enter",
"maintenanceEmailTemplate": "Maintenance Email Template",
"maintenanceTemplate": "Maintenance Template",
"senderAddress": "Sender Address",
"senderAddressDescription": "The email address that appears in the From field",
"sendFailure": "Email send failed",
"sendSuccess": "Email sent successfully",
"sendTestEmail": "Send Test Email",
"sendTestEmailDescription": "Send a test email to verify your SMTP configuration",
"smtpAccount": "SMTP Account",
"smtpAccountDescription": "The SMTP authentication username",
"smtpEncryptionMethod": "SSL/TLS Encryption",
"smtpEncryptionMethodDescription": "Enable SSL/TLS encryption for SMTP connection",
"smtpPassword": "SMTP Password",
"smtpPasswordDescription": "The SMTP authentication password",
"smtpServerAddress": "SMTP Server Address",
"smtpServerAddressDescription": "The SMTP server hostname",
"smtpServerPort": "SMTP Server Port",
"smtpServerPortDescription": "The SMTP server port (usually 25, 465, or 587)",
"smtpSettings": "SMTP Settings",
"templateVariables": {
"code": {
"description": "Verification code"
},
"expire": {
"description": "Code expiration time"
},
"expireDate": {
"description": "Subscription expiration date"
},
"maintenanceDate": {
"description": "Maintenance date"
},
"maintenanceTime": {
"description": "Maintenance time"
},
"siteLogo": {
"description": "Site logo URL"
},
"siteName": {
"description": "Site name"
},
"title": "Template Variables",
"type": {
"conditionalSyntax": "Use conditional syntax to display different content",
"description": "Email type (1: Register, 2: Reset Password)"
}
},
"title": "Email Settings",
"trafficExceedEmailTemplate": "Traffic Exceed Email Template",
"trafficTemplate": "Traffic Template",
"verifyEmailTemplate": "Verify Email Template",
"verifyTemplate": "Verify Template",
"whitelistSuffixes": "Whitelist Suffixes",
"whitelistSuffixesDescription": "One domain suffix per line",
"whitelistSuffixesPlaceholder": "gmail.com, outlook.com"
},
"facebook": {
"clientId": "App ID",
"clientIdDescription": "Facebook App ID, available from Facebook Developer Portal",
"clientSecret": "App Secret",
"clientSecretDescription": "Facebook App Secret, available from Facebook Developer Portal",
"description": "Authenticate users with Facebook accounts",
"enable": "Enable",
"enableDescription": "When enabled, users can sign in with their Facebook account",
"title": "Facebook Sign-In"
},
"github": {
"clientId": "Client ID",
"clientIdDescription": "GitHub OAuth App Client ID, available from GitHub Developer Settings",
"clientSecret": "Client Secret",
"clientSecretDescription": "GitHub OAuth App Client Secret, available from GitHub Developer Settings",
"description": "Authenticate users with GitHub accounts",
"enable": "Enable",
"enableDescription": "When enabled, users can sign in with their GitHub account",
"title": "GitHub Sign-In"
},
"google": {
"clientId": "Client ID",
"clientIdDescription": "Google OAuth Client ID, available from Google Cloud Console",
"clientSecret": "Client Secret",
"clientSecretDescription": "Google OAuth Client Secret, available from Google Cloud Console",
"description": "Authenticate users with Google accounts",
"enable": "Enable",
"enableDescription": "When enabled, users can sign in with their Google account",
"title": "Google Sign-In"
},
"phone": {
"accessLabel": "Access Key",
"applyPlatform": "Apply",
"description": "Configure SMS authentication",
"enable": "Enable",
"enableTip": "When enabled, users can sign in with their phone number",
"endpointLabel": "Endpoint",
"phoneNumberLabel": "Phone Number",
"placeholders": {
"template": "Use {{code}} for verification code"
},
"platform": "SMS Platform",
"platformConfigTip": "Please enter {{key}}",
"platformTip": "Select SMS service provider",
"secretLabel": "Secret Key",
"sendFailed": "SMS send failed",
"sendSuccess": "SMS sent successfully",
"signNameLabel": "Sign Name",
"template": "Template",
"templateCodeLabel": "Template Code",
"templateTip": "Use {{code}} variable for the verification code",
"testSms": "Test SMS",
"testSmsPhone": "Phone number",
"testSmsTip": "Send a test SMS to verify configuration",
"title": "SMS Settings",
"whitelistAreaCode": "Whitelist Area Codes",
"whitelistAreaCodeTip": "Enter area codes separated by commas",
"whitelistValidation": "Whitelist Validation",
"whitelistValidationTip": "Only allow phone numbers with whitelisted area codes"
},
"socialAuthMethods": "Social Authentication Methods",
"telegram": {
"clientId": "Bot ID",
"clientIdDescription": "Telegram Bot ID, available from @BotFather",
"clientSecret": "Bot Token",
"clientSecretDescription": "Telegram Bot Token, available from @BotFather",
"description": "Authenticate users with Telegram accounts",
"enable": "Enable",
"enableDescription": "When enabled, users can sign in with their Telegram account",
"title": "Telegram Sign-In"
}
}
@@ -0,0 +1,45 @@
{
"check": {
"description": "Verify your identity",
"title": "Verify"
},
"get": "Get Code",
"login": {
"description": "Enter your credentials to continue",
"email": "Please enter a valid email address",
"emailPlaceholder": "Enter your email...",
"forgotPassword": "Forgot Password?",
"passwordPlaceholder": "Enter your password...",
"registerAccount": "Register Account",
"success": "Login successful!",
"title": "Login"
},
"logout": "Logout",
"register": {
"codePlaceholder": "Enter code...",
"description": "Create a new account",
"email": "Please enter a valid email address",
"emailPlaceholder": "Enter your email...",
"existingAccount": "Already have an account?",
"invite": "Invitation Code (Optional)",
"message": "Registration is currently disabled",
"passwordMismatch": "Passwords do not match",
"passwordPlaceholder": "Enter your password...",
"repeatPasswordPlaceholder": "Enter password again...",
"success": "Registration successful!",
"switchToLogin": "Login",
"title": "Register",
"whitelist": "This email domain is not in the whitelist"
},
"reset": {
"codePlaceholder": "Enter code...",
"description": "Reset your password",
"email": "Please enter a valid email address",
"emailPlaceholder": "Enter your email...",
"existingAccount": "Remember your password?",
"passwordPlaceholder": "Enter your new password...",
"success": "Password reset successful!",
"switchToLogin": "Login",
"title": "Reset Password"
}
}
@@ -0,0 +1,65 @@
{
"empty": {
"tips": {
"0": "Imagine this space filled with exciting content! For now, you'll have to use your imagination...",
"1": "This area mysteriously disappeared, but we're summoning it back!",
"2": "Oh no, nothing happened... Feel free to fill in the blank!",
"3": "It's like discovering an empty stage at a concert... Why not go up and perform?",
"4": "You've found a blank canvas! How about building a house?",
"5": "This area is currently empty, but creativity starts here!",
"6": "Nothing here... but don't worry, it's just the beginning!",
"7": "This place was supposed to have a big surprise, but the surprise slipped away!",
"8": "There's nothing here for now, like an empty snack cabinet.",
"9": "This empty space is waiting for its protagonist to take the stage!"
}
},
"error": {
"400": "The request parameters are incorrect, please check and resubmit.",
"401": "Request is too frequent, please try again later.",
"500": "The server is having some issues, please try again later.",
"10001": "Query was not successful, please try again later or check your conditions.",
"10002": "Update operation was not successful, please try again later.",
"10003": "Insert operation cannot be completed at the moment, please try again later.",
"10004": "Deletion operation could not be completed, please try again later.",
"20001": "The user information already exists, please retry with different information.",
"20002": "User not found, please check the information and try again.",
"20003": "Incorrect password, please re-enter.",
"20004": "The user is disabled, please contact customer service if you have questions.",
"20005": "Insufficient balance, please recharge and try again.",
"20006": "The registration function is temporarily unavailable, please try again later.",
"20008": "User information is incorrect, please check and try again.",
"30001": "The node already exists, please do not add it again.",
"30002": "Related node not found, please check and try again.",
"30003": "Group already exists, please try using a different name.",
"30004": "Group not found, please verify the information and try again.",
"30005": "There is still content in the group, please clear it and try again.",
"40002": "Valid Token not found, please log in before retrying.",
"40003": "Current Token is invalid, please reacquire before trying again.",
"40004": "Token has expired, please log in again.",
"40005": "You do not have access permission, please contact the administrator if you have any questions.",
"50001": "Corresponding coupon information not found, please check and try again.",
"50002": "The coupon has been used, cannot be used again.",
"60001": "Subscription has expired, please renew before using.",
"60002": "Unable to use the subscription at the moment, please try again later.",
"60003": "An existing subscription is detected. Please cancel it before proceeding.",
"60004": "Unable to delete at the moment as the subscription has active users.",
"60005": "Single subscription mode has exceeded user limit",
"70001": "Incorrect verification code, please re-enter.",
"80001": "Task was not successfully queued, please try again later.",
"90001": "Please disable DEBUG mode and try again.",
"90015": "This account has reached the limit of sending times today, please try again tomorrow.",
"unknown": "An error occurred in the system, please try again later."
},
"language": "Language",
"pagination": {
"pageInfo": "Page {{page}} of {{total}}",
"rowsPerPage": "Rows per page"
},
"theme": {
"dark": "Dark",
"light": "Light",
"system": "System",
"toggle": "Toggle theme"
},
"unlimited": "unlimited"
}
@@ -0,0 +1,47 @@
{
"amount": "Amount",
"cancel": "Cancel",
"code": "Code",
"confirm": "Confirm",
"confirmDelete": "Are you sure you want to delete?",
"count": "Count",
"create": "Create",
"createCoupon": "Create Coupon",
"createSuccess": "Create Success",
"delete": "Delete",
"deleteSuccess": "Delete Success",
"deleteWarning": "Once deleted, data cannot be recovered. Please proceed with caution.",
"discount": "Discount",
"edit": "Edit",
"editCoupon": "Edit Coupon",
"enable": "Enable",
"form": {
"amountDiscount": "Amount Discount",
"cancel": "Cancel",
"confirm": "Confirm",
"count": "Max Usage Count",
"countPlaceholder": "Max Usage Count (leave blank for no limit)",
"customCouponCode": "Custom Coupon Code",
"customCouponCodePlaceholder": "Custom Coupon Code (leave blank for auto-generation)",
"enterCouponName": "Enter Coupon Name",
"enterValue": "Enter Value",
"expireTime": "Expire Time",
"name": "Name",
"percentageDiscount": "Percentage Discount",
"selectServer": "Select Subscription",
"specifiedServer": "Specified Subscription",
"startTime": "Start Time",
"type": "Coupon Type",
"userLimit": "Max Usage Count per User",
"userLimitPlaceholder": "Max Usage Count per User (leave blank for no limit)"
},
"name": "Name",
"percentage": "Percentage",
"remainingTimes": "Remaining",
"subscribe": "Subscribe",
"type": "Type",
"unlimited": "Unlimited",
"updateSuccess": "Update Success",
"usedTimes": "Usage Times",
"validityPeriod": "Validity Period"
}
@@ -0,0 +1,33 @@
{
"billing": {
"description": "Sponsoring helps PPanel to continue releasing updates!",
"title": "Sponsor"
},
"currentlyOnline": "Currently Online",
"month": "Month",
"monthTraffic": "Month Traffic",
"newPurchase": "New Purchase",
"nodes": "Nodes",
"nodeTraffic": "Node Traffic",
"offline": "Offline",
"online": "Online",
"onlineUsersCount": "Online Users",
"pending": "Pending",
"pendingTickets": "Pending Tickets",
"register": "Register",
"repurchase": "Repurchase",
"revenueTitle": "Revenue Statistics",
"selectTypePlaceholder": "Select Type",
"today": "Today",
"todayTraffic": "Today Traffic",
"total": "Total",
"totalIncome": "Total Income",
"totalServers": "Total Servers",
"traffic": "Traffic",
"trafficRank": "Traffic Rank",
"type": "Type",
"users": "Users",
"userTitle": "User Statistics",
"userTraffic": "User Traffic",
"yesterday": "Yesterday"
}
@@ -0,0 +1,28 @@
{
"cancel": "Cancel",
"confirm": "Confirm",
"confirmDelete": "Confirm Delete",
"create": "Create",
"createDocument": "Create Document",
"createSuccess": "Created successfully",
"delete": "Delete",
"deleteDescription": "Are you sure you want to delete this document? This action cannot be undone.",
"deleteSuccess": "Deleted successfully",
"DocumentList": "Document List",
"edit": "Edit",
"editDocument": "Edit Document",
"form": {
"cancel": "Cancel",
"confirm": "Confirm",
"content": "Content",
"tags": "Tags",
"tagsPlaceholder": "Enter tags",
"title": "Title",
"titlePlaceholder": "Enter document title"
},
"show": "Show",
"tags": "Tags",
"title": "Title",
"updatedAt": "Updated At",
"updateSuccess": "Updated successfully"
}
@@ -0,0 +1,66 @@
{
"column": {
"amount": "Amount",
"balance": "Balance",
"content": "Content",
"date": "Date",
"download": "Download",
"identifier": "Identifier",
"ip": "IP",
"orderNo": "Order No.",
"platform": "Platform",
"remark": "Remark",
"server": "Server",
"serverId": "Server ID",
"status": "Status",
"subject": "Subject",
"subscribe": "Subscribe",
"subscribeId": "Subscribe ID",
"success": "Success",
"time": "Time",
"to": "To",
"total": "Total",
"type": "Type",
"upload": "Upload",
"user": "User",
"userAgent": "User Agent",
"userId": "User ID"
},
"detail": "Detail",
"failed": "Failed",
"sent": "Sent",
"success": "Success",
"title": {
"balance": "Balance Log",
"commission": "Commission Log",
"email": "Email Log",
"gift": "Gift Log",
"login": "Login Log",
"mobile": "SMS Log",
"register": "Register Log",
"resetSubscribe": "Reset Subscribe Log",
"serverTraffic": "Server Traffic Log",
"subscribe": "Subscribe Log",
"subscribeTraffic": "Subscribe Traffic Log",
"trafficDetails": "Traffic Details"
},
"type": {
"231": "Auto Reset",
"232": "Advance Reset",
"233": "Paid Reset",
"321": "Recharge",
"322": "Withdraw",
"323": "Payment",
"324": "Refund",
"325": "Reward",
"326": "Admin Adjust",
"331": "Purchase",
"332": "Renewal",
"333": "Refund",
"334": "Withdraw",
"335": "Admin Adjust",
"341": "Increase",
"342": "Reduce"
},
"unknown": "Unknown"
}
@@ -0,0 +1,107 @@
{
"additional": "Additional",
"additionalRecipientEmails": "Additional recipient emails",
"additionalRecipients": "Additional Recipients",
"additionalRecipientsDescription": "These emails will receive the broadcast in addition to the user filter above",
"allUsers": "All Users",
"cancel": "Cancel",
"cannotBeEmpty": "cannot be empty",
"completed": "Completed",
"content": "Email Content",
"createAndSendQuotaTasks": "Create and Distribute Quota Tasks",
"createBroadcast": "Create Broadcast",
"createdAt": "Created At",
"createNewEmailBroadcastCampaign": "Create new email broadcast campaign",
"createQuotaTask": "Create Quota Task",
"dailyLimit": "Daily limit must be at least 1",
"dailySendLimit": "Daily Send Limit",
"days": "Days",
"emailAddedToScheduledQueue": "Email added to scheduled send queue",
"emailBroadcast": "Email Broadcast",
"emailBroadcastTaskCreatedSuccessfully": "Email broadcast task created successfully",
"emailBroadcastTasks": "Email Broadcast Tasks",
"emailContent": "Email Content",
"emailInterval": "Email Interval (seconds)",
"emailIntervalMinimum": "Email interval must be at least 0.1 seconds",
"emailMarketing": "Email Marketing",
"emailTaskManager": "Email Task Manager",
"endTime": "End Time",
"enterAmount": "Enter amount",
"enterPercentage": "Enter percentage",
"estimatedRecipients": "Estimated recipients",
"expiredSubscriptionUsersOnly": "Expired subscription users only",
"expiredUsers": "Expired Users",
"failedToCalculateRecipients": "Failed to calculate recipients",
"failedToCreateQuotaTask": "Failed to create quota task",
"failedToStopTask": "Failed to stop task",
"fixedAmount": "Fixed Amount",
"giftAmount": "Gift Amount",
"giftType": "Gift Amount Type",
"includeSubscriptionsValidAfter": "Include subscriptions valid on or after this date",
"includeSubscriptionsValidBefore": "Include subscriptions valid on or before this date",
"includeUsersRegisteredAfter": "Include users registered on or after this date",
"includeUsersRegisteredBefore": "Include users registered on or before this date",
"inProgress": "In Progress",
"intervalTimeBetweenEmails": "Interval time between each email",
"leaveEmptyForImmediateSend": "Leave empty for immediate send",
"maximumNumberPerDay": "Maximum number of emails to send per day",
"no": "No",
"nonSubscribers": "Non-subscribers",
"noSubscriptions": "No Subscriptions",
"noSubscriptionUsersOnly": "No subscription users only",
"noTimeLimit": "No Time Limit",
"notStarted": "Not Started",
"numberOfDaysForTheQuota": "Number of days to extend subscription expiration",
"onePerLine": "one per line",
"percentageAmount": "Percentage Amount",
"percentageAmountDescription": "Gift percentage amount based on current package price",
"pleaseEnter": "Please enter",
"pleaseEnterValidEmailAddresses": "Please enter valid email addresses, one per line",
"pleaseSelectSubscribers": "Please select packages",
"processing": "Processing...",
"progress": "Progress",
"quotaBroadcast": "Quota Distribution",
"quotaDays": "Extend Expiration Days",
"quotaService": "Quota Service",
"quotaTaskCreatedSuccessfully": "Quota task created successfully",
"quotaTaskManager": "Quota Task Manager",
"quotaTasks": "Quota Tasks",
"recipientType": "Recipient Type",
"registrationEndDate": "Registration End Date",
"registrationStartDate": "Registration Start Date",
"resetTraffic": "Reset Traffic",
"resetTrafficDescription": "Whether to reset subscription used traffic",
"scheduledSend": "Schedule Send",
"scheduledSendTimeMustBeLater": "Scheduled send time must be later than current time",
"scheduleSend": "Schedule Send",
"scope": "Send Scope",
"selectSendScope": "Select send scope",
"selectSendTime": "Select send time, leave empty for immediate send",
"selectValidSubscriptionsOnly": "Select currently valid subscriptions only",
"sendFailed": "Send failed, please try again",
"sendNow": "Send Now",
"sendScope": "Send Scope",
"sendScopeDescription": "Choose the user scope for email sending. Select \"Additional emails only\" to send only to the email addresses filled below",
"sendSettings": "Send Settings",
"sendTime": "Send Time",
"specificUsers": "Specific Users",
"specificUsersOnly": "Additional emails only (skip platform users)",
"startTime": "Start Time",
"status": "Status",
"stop": "Stop",
"subject": "Email Subject",
"subscribedUsers": "Subscribed Users",
"subscribedUsersOnly": "Subscribed users only",
"subscribers": "Packages",
"subscriptionCount": "Subscription Count",
"subscriptionValidityEndDate": "Subscription Validity End Date",
"subscriptionValidityStartDate": "Subscription Validity Start Date",
"taskStoppedSuccessfully": "Task stopped successfully",
"timeRange": "Time Range",
"useMarkdownEditor": "Use Markdown editor to write email content with preview functionality",
"users": "users",
"validOnly": "Valid Only",
"viewAndManageEmailBroadcastTasks": "View and manage email broadcast tasks",
"viewAndManageQuotaTasks": "View and manage quota tasks",
"yes": "Yes"
}
@@ -0,0 +1,35 @@
{
"ADS Config": "ADS Config",
"Announcement Management": "Announcement Management",
"Auth Control": "Auth Control",
"Balance": "Balance",
"Commerce": "Commerce",
"Commission": "Commission",
"Coupon Management": "Coupon Management",
"Dashboard": "Dashboard",
"Document Management": "Document Management",
"Email": "Email",
"Gift": "Gift",
"Login": "Login",
"Logs & Analytics": "Logs & Analytics",
"Maintenance": "Maintenance",
"Marketing Management": "Marketing Management",
"Mobile": "Mobile",
"Node Management": "Node Management",
"Order Management": "Order Management",
"Payment Config": "Payment Config",
"Product Management": "Product Management",
"Register": "Register",
"Reset Subscribe": "Reset Subscribe",
"Server Management": "Server Management",
"Server Traffic": "Server Traffic",
"Subscribe": "Subscribe",
"Subscribe Config": "Subscribe Config",
"Subscribe Traffic": "Subscribe Traffic",
"System": "System",
"System Config": "System Config",
"Ticket Management": "Ticket Management",
"Traffic Details": "Traffic Details",
"User Management": "User Management",
"Users & Support": "Users & Support"
}
@@ -0,0 +1,31 @@
{
"address": "Address",
"cancel": "Cancel",
"confirm": "Confirm",
"confirmDeleteDesc": "This action cannot be undone.",
"confirmDeleteTitle": "Delete this node?",
"copied": "Copied",
"copy": "Copy",
"create": "Create",
"created": "Created",
"delete": "Delete",
"deleted": "Deleted",
"drawerCreateTitle": "Create Node",
"drawerEditTitle": "Edit Node",
"edit": "Edit",
"enabled": "Enabled",
"enabled_off": "Disabled",
"enabled_on": "Enabled",
"name": "Name",
"pageTitle": "Nodes",
"port": "Port",
"protocol": "Protocol",
"select_protocol": "Select protocol…",
"select_server": "Select server…",
"server": "Server",
"sorted_success": "Sorted successfully",
"tags": "Tags",
"tags_description": "Permission grouping tag (incl. plan binding and delivery policies).",
"tags_placeholder": "Use Enter or comma (,) to add multiple tags",
"updated": "Updated"
}
@@ -0,0 +1,29 @@
{
"amount": "Amount",
"couponDiscount": "Coupon Discount",
"discount": "Discount Amount",
"feeAmount": "Fee Amount",
"method": "Payment Method",
"orderNumber": "Order Number",
"status": {
"0": "Status",
"1": "Pending",
"2": "Paid",
"3": "Cancelled",
"4": "Closed",
"5": "Completed"
},
"subscribe": "Subscribe",
"subscribePrice": "Subscription Price",
"total": "Total",
"tradeNo": "Transaction Number",
"type": {
"0": "Type",
"1": "New Purchase",
"2": "Renewal",
"3": "Reset Traffic",
"4": "Recharge"
},
"updateTime": "Update Time",
"user": "User"
}
@@ -0,0 +1,39 @@
{
"applyForPayment": "Apply for Payment",
"batchDelete": "Batch Delete",
"cancel": "Cancel",
"configPlaceholder": "Please fill in the provided {{field}} configuration",
"confirm": "Confirm",
"confirmDelete": "Confirm Delete",
"copy": "Copy",
"copySuccess": "Copied successfully",
"create": "Add Payment Method",
"createPayment": "Add Payment Method",
"createSuccess": "Created successfully",
"delete": "Delete",
"deleteSuccess": "Deleted successfully",
"deleteWarning": "Are you sure you want to delete this payment method? This action cannot be undone.",
"description": "Description",
"domain": "Domain",
"edit": "Edit",
"editPayment": "Edit Payment Method",
"enable": "Enable",
"feeAmount": "Fixed Amount",
"feePercent": "Fee Percentage",
"fixedFee": "Fixed Amount",
"handlingFee": "Handling Fee",
"icon": "Icon",
"iconPlaceholder": "Enter icon URL",
"name": "Name",
"namePlaceholder": "Enter payment method name",
"nameRequired": "Name is required",
"noFee": "No Fee",
"notify_url": "Notify URL",
"paymentManagement": "Payment Management",
"percentFee": "Percentage",
"platform": "Platform",
"searchPlaceholder": "Enter search terms",
"selectPlatform": "Select Platform",
"submit": "Submit",
"updateSuccess": "Updated successfully"
}
@@ -0,0 +1,73 @@
{
"cancel": "Cancel",
"confirm": "Confirm",
"confirmDelete": "Are you sure you want to delete?",
"copy": "Copy",
"copySuccess": "Copied successfully",
"create": "Create",
"createSubscribe": "Create Subscription",
"createSuccess": "Create Successful",
"delete": "Delete",
"deleteSuccess": "Delete Successful",
"deleteWarning": "Data cannot be recovered after deletion. Please proceed with caution.",
"deviceLimit": "Device Limit/Unit",
"edit": "Edit",
"editSubscribe": "Edit Subscription",
"form": {
"annualReset": "Annual Reset",
"basic": "Basic",
"cancel": "Cancel",
"confirm": "Confirm",
"Day": "Day",
"deductionRatio": "Automatic/Manual Deduction Configuration",
"deductionRatioDescription": "Used for deduction. By default, the system adopts an automatic calculation algorithm. When a manual ratio is provided, the system calculates proportions based on the time and traffic ratio, ensuring the total equals 100%.",
"description": "Description",
"deviceLimit": "Device Limit",
"discount": "Discount",
"discount_price": "Discount Price",
"discountDescription": "Set discount based on unit price",
"discountPercent": "Discount Percentage",
"Hour": "Hour",
"inventory": "Subscription Limit",
"language": "Language",
"languageDescription": "Leave empty for default without language restriction",
"languagePlaceholder": "Language identifier for the subscription, e.g., en-US, zh-CN",
"Minute": "Minute",
"Month": "Month",
"monthlyReset": "Monthly Reset",
"name": "Name",
"node": "Node",
"nodeGroup": "Node Group",
"nodes": "Nodes",
"noLimit": "No Limit",
"NoLimit": "No Limit",
"noReset": "No Reset",
"pricing": "Pricing",
"purchaseWithDiscount": "Allow Deduction",
"purchaseWithDiscountDescription": "Enable or disable unsubscribe functionality. After activation, the system will perform deduction processing according to the configured rules and proportions, and the remaining value will be returned to the balance",
"quota": "Purchase Limit",
"renewalReset": "Renewal Reset",
"renewalResetDescription": "Reset cycle upon renewal",
"replacement": "Reset Price (per time)",
"resetCycle": "Reset Cycle",
"resetOn1st": "Reset on the 1st",
"selectResetCycle": "Please select a reset cycle",
"selectUnitTime": "Please select a unit of time",
"speedLimit": "Speed Limit ",
"traffic": "Traffic",
"unitPrice": "Unit Price",
"unitTime": "Unit Time",
"Year": "Year"
},
"inventory": "Subscription Limit",
"language": "Language",
"name": "Name",
"quota": "Purchase Limit/Time",
"replacement": "Reset Price/Time",
"sell": "Sell",
"show": "Display",
"sold": "Subscription Count",
"traffic": "Traffic",
"unitPrice": "Unit Price",
"updateSuccess": "Update Successful"
}
@@ -0,0 +1,156 @@
{
"actions": {
"cancel": "Cancel",
"save": "Save"
},
"address": "Address",
"address_placeholder": "Server address",
"apiHost": "API Host",
"apiHostPlaceholder": "http(s)://example.com",
"bandwidth_placeholder": "Enter bandwidth, leave empty for BBR",
"basic": "Basic Configuration",
"cancel": "Cancel",
"cert_dns_env": "DNS Environment Variables",
"cert_dns_provider": "DNS Provider",
"cert_mode": "Certificate Mode",
"cipher": "Encryption Algorithm",
"city": "City",
"close": "Close",
"confirm": "Confirm",
"confirmDeleteDesc": "This action cannot be undone.",
"confirmDeleteTitle": "Delete this server?",
"congestion_controller": "Congestion Controller",
"connect": "Connect",
"copied": "Copied",
"copy": "Copy",
"copyAndClose": "Copy and Close",
"copyFailed": "Copy failed",
"country": "Country",
"cpu": "CPU",
"create": "Create",
"created": "Created",
"delete": "Delete",
"deleted": "Deleted",
"disable_sni": "Disable SNI",
"disabled": "Disabled",
"disk": "Disk",
"down_mbps": "Download Bandwidth",
"drawerCreateTitle": "Create Server",
"drawerEditTitle": "Edit Server",
"edit": "Edit",
"enabled": "Enabled",
"encryption": "Encryption",
"encryption_client_padding": "Client Padding",
"encryption_mode": "Mode",
"encryption_password": "Password",
"encryption_password_placeholder": "Leave empty for auto-generation",
"encryption_private_key": "Private Key",
"encryption_private_key_placeholder": "Leave empty for auto-generation",
"encryption_rtt": "RTT",
"encryption_server_padding": "Server Padding",
"encryption_ticket": "Ticket Time",
"expired": "Expired",
"expireTime": "Expire Time",
"extra": "Extra",
"flow": "Flow",
"generate_quantum_resistant_key": "Generate Quantum-Resistant Key",
"generate_standard_encryption_key": "Generate Standard Key",
"hop_interval": "Hop Interval",
"hop_ports": "Hop Ports",
"hop_ports_placeholder": "e.g. 1-65535",
"host": "Host",
"id": "ID",
"installCommand": "Install command",
"ipAddresses": "IP Addresses",
"memory": "Memory",
"mode": "Mode",
"multiplex": "Multiplex",
"name": "Name",
"notAvailable": "Not Available",
"obfs": "Obfuscation",
"obfs_password": "Obfuscation Password",
"obfs_password_placeholder": "Enter obfuscation password",
"offline": "Offline",
"oneClickInstall": "One-click Install",
"online": "Online",
"onlineUsers": "Online Users",
"padding_scheme": "Padding Scheme",
"padding_scheme_placeholder": "One padding rule per line, format: stop=8, 0=30-30",
"pageTitle": "Servers",
"path": "Path",
"port": "Port",
"protocol_configurations": "Protocol Configurations",
"protocol_configurations_desc": "Enable and configure the required protocol types",
"protocols": "Protocols",
"reality": "Reality",
"reduce_rtt": "Reduce RTT",
"security": "Security",
"security_allow_insecure": "Allow Insecure",
"security_fingerprint": "Fingerprint",
"security_private_key": "Reality Private Key",
"security_private_key_placeholder": "Enter private key",
"security_public_key": "Reality Public Key",
"security_public_key_placeholder": "Enter public key",
"security_server_address": "Reality Server Address",
"security_server_address_placeholder": "e.g. 1.2.3.4 or domain",
"security_server_port": "Reality Server Port",
"security_short_id": "Reality Short ID",
"security_sni": "SNI",
"server_config": {
"description": "Manage node communication keys, pull/push intervals.",
"dynamic_multiplier": "Dynamic multiplier",
"dynamic_multiplier_desc": "Define time slots and multipliers to adjust traffic accounting.",
"fields": {
"block_rules_placeholder": "One domain rule per line",
"communication_key": "Communication key",
"communication_key_desc": "Used for node authentication.",
"communication_key_placeholder": "Please enter",
"dns_config": "DNS Configuration",
"dns_domains_placeholder": "One domain rule per line",
"dns_proto_placeholder": "Select type",
"end_time": "End time",
"ip_strategy": "IP Strategy",
"ip_strategy_desc": "Choose IP version preference for network connections",
"ip_strategy_ipv4": "Prefer IPv4",
"ip_strategy_ipv6": "Prefer IPv6",
"ip_strategy_placeholder": "Select IP strategy",
"multiplier": "Multiplier",
"node_pull_interval": "Node pull interval",
"node_pull_interval_desc": "How often the node pulls configuration (seconds).",
"node_push_interval": "Node push interval",
"node_push_interval_desc": "How often the node pushes stats (seconds).",
"outbound_address_placeholder": "Server address",
"outbound_name_placeholder": "Configuration name",
"outbound_password_placeholder": "Password (optional)",
"outbound_port_placeholder": "Port number",
"outbound_protocol_placeholder": "Select protocol",
"outbound_rules_placeholder": "One rule per line",
"reset": "Reset",
"start_time": "Start time",
"traffic_report_threshold": "Traffic Report Threshold",
"traffic_report_threshold_desc": "Set the minimum threshold for traffic reporting."
},
"saveSuccess": "Saved successfully",
"tabs": {
"basic": "Basic Configuration",
"block": "Block Rules",
"dns": "DNS Configuration",
"outbound": "Outbound Rules"
},
"title": "Node configuration"
},
"server_key": "Server Key",
"service_name": "Service Name",
"sorted_success": "Sorted successfully",
"status": "Status",
"subscribeId": "Subscribe ID",
"subscription": "Subscription",
"traffic": "Traffic",
"traffic_ratio": "Ratio",
"transport": "Transport",
"udp_relay_mode": "UDP Relay Mode",
"unlimited": "Unlimited",
"up_mbps": "Upload Bandwidth",
"updated": "Updated",
"user": "User"
}
@@ -0,0 +1,121 @@
{
"actions": {
"add": "Add",
"batchDelete": "Batch Delete",
"batchDeleteSuccess_one": "Successfully deleted {count} clients",
"batchDeleteSuccess_other": "Successfully deleted {count} clients",
"batchDeleteWarning_one": "Are you sure you want to delete the selected {count} clients?",
"batchDeleteWarning_other": "Are you sure you want to delete the selected {count} clients?",
"cancel": "Cancel",
"confirm": "Confirm",
"confirmDelete": "Confirm Delete",
"createSuccess": "Created successfully",
"delete": "Delete",
"deleteFailed": "Delete failed",
"deleteSuccess": "Deleted successfully",
"deleteWarning": "This operation cannot be undone. Are you sure you want to delete this client?",
"edit": "Edit",
"save": "Save",
"saveFailed": "Save failed",
"update": "Update",
"updateSuccess": "Updated successfully"
},
"config": {
"description": "Manage subscription system settings",
"singleSubscriptionMode": "Single Subscription Mode",
"singleSubscriptionModeDescription": "Limit users to one active subscription. Existing subscriptions unaffected",
"subscriptionDomain": "Subscription Domain",
"subscriptionDomainDescription": "Custom domain for subscription links",
"subscriptionDomainPlaceholder": "Enter subscription domain, one per line",
"subscriptionPath": "Subscription Path",
"subscriptionPathDescription": "Custom path for subscription endpoints (better performance after system restart)",
"subscriptionPathPlaceholder": "Enter subscription path",
"title": "Subscription Configuration",
"updateError": "Update failed",
"updateSuccess": "Settings updated successfully",
"userAgentLimit": "{userAgent} Restriction",
"userAgentLimitDescription": "Enable access restrictions based on {userAgent}",
"userAgentList": "{userAgent} Whitelist",
"userAgentListDescription": "Allowed {userAgent} for subscription access, one per line. Configured application {userAgent} will be automatically included",
"userAgentListPlaceholder": "Enter allowed {userAgent}, one per line",
"wildcardResolution": "Wildcard Resolution",
"wildcardResolutionDescription": "Enable wildcard domain resolution for subscriptions"
},
"form": {
"addTitle": "Add Client",
"descriptions": {
"description": "Detailed client description",
"downloadLink": "platform download URL",
"icon": "Icon URL or base64 encoding",
"name": "Client display name",
"outputFormat": "Subscription configuration file format",
"scheme": {
"base64Encoding": "Base64 encoding",
"functions": "Supports functions:",
"jsonStringify": "JSON object to string",
"nameVariable": "site name",
"title": "URL Scheme template",
"urlEncoding": "URL encoding",
"urlVariable": "subscription URL",
"variables": "Supports variables:"
},
"template": {
"functions": "Template functions:",
"if": "conditional statements",
"nodes": "proxy nodes list",
"range": "iterate arrays",
"siteName": "site name",
"sprig": "Sprig function library (string processing, dates, etc.)",
"subscribeName": "subscription name",
"title": "Go Template Syntax",
"userInfo": "user info (traffic, expiry, etc.)",
"variables": "Available variables:"
},
"userAgentPrefix": "Client identifier for distinguishing different clients"
},
"editTitle": "Edit Client",
"fields": {
"description": "Description",
"icon": "Icon",
"name": "Name",
"outputFormat": "Output Format",
"scheme": "URL Scheme",
"template": "Subscription File Template"
},
"tabs": {
"basic": "Basic Info",
"download": "Downloads",
"template": "Templates"
}
},
"outputFormats": {
"base64": "Base64",
"conf": "CONF",
"json": "JSON",
"plain": "Plain Text",
"yaml": "YAML"
},
"protocol": {
"title": "Client Management"
},
"table": {
"columns": {
"default": "Default",
"description": "Description",
"name": "Client Name",
"outputFormat": "Output Format",
"supportedPlatforms": "Supported Platforms"
}
},
"templatePreview": {
"base64": {
"decodedContent": "Decoded Content",
"decodeError": "Base64 decode error",
"originalContent": "Original Content"
},
"failed": "Failed to load template",
"loading": "Loading...",
"preview": "Preview",
"title": "Template Preview"
}
}
@@ -0,0 +1,136 @@
{
"basicSettings": "Basic Settings",
"common": {
"cancel": "Cancel",
"save": "Save Settings",
"saveFailed": "Save Failed",
"saveSuccess": "Save Successful"
},
"currency": {
"accessKey": "API Key",
"accessKeyDescription": "Free exchange rate API key provided by {{url}}",
"accessKeyPlaceholder": "Enter API key",
"currencySymbol": "Currency Symbol",
"currencySymbolDescription": "Used for display purposes only; changing this will affect all currency units in the system",
"currencySymbolPlaceholder": "$",
"currencyUnit": "Currency Unit",
"currencyUnitDescription": "Used for display purposes only; changing this will affect all currency units in the system",
"currencyUnitPlaceholder": "USD",
"description": "Configure currency units, symbols, and exchange rate API settings",
"title": "Currency Configuration"
},
"invite": {
"description": "Configure user invitation and referral reward settings",
"forcedInvite": "Require Invitation to Register",
"forcedInviteDescription": "When enabled, users must register through an invitation link",
"inputPlaceholder": "Please enter",
"onlyFirstPurchase": "First Purchase Reward Only",
"onlyFirstPurchaseDescription": "When enabled, referrers only receive rewards for the first purchase by referred users",
"referralPercentage": "Referral Reward Percentage",
"referralPercentageDescription": "Percentage of reward given to referrers",
"saveFailed": "Save Failed",
"saveSuccess": "Save Successful",
"title": "Invitation Settings"
},
"logCleanup": {
"autoClear": "Enable Auto Cleanup",
"autoClearDescription": "When enabled, the system will automatically clear expired log records",
"clearDays": "Retention Days",
"clearDaysDescription": "Number of days to retain logs; logs older than this will be cleaned up",
"clearDaysPlaceholder": "Enter retention days",
"description": "Configure automatic log cleanup rules and retention period",
"title": "Log Cleanup Settings"
},
"logSettings": "Log Settings",
"privacyPolicy": {
"description": "Edit and manage privacy policy content",
"title": "Privacy Policy"
},
"register": {
"day": "Day(s)",
"description": "Configure user registration related settings",
"enableTrial": "Enable Trial",
"enableTrialDescription": "When enabled, new users will receive a trial subscription upon registration",
"hour": "Hour(s)",
"inputPlaceholder": "Please enter",
"ipRegistrationLimit": "IP Registration Limit",
"ipRegistrationLimitDescription": "Limit the number of registrations from a single IP address",
"minute": "Minute(s)",
"month": "Month(s)",
"none": "None",
"registrationLimitCount": "Registration Limit Count",
"registrationLimitCountDescription": "Number of registrations allowed per IP within the limit period",
"registrationLimitExpire": "Limit Period",
"registrationLimitExpireDescription": "Duration for IP registration limit (minutes)",
"saveFailed": "Save Failed",
"saveSuccess": "Save Successful",
"selectPlaceholder": "Please select",
"stopNewUserRegistration": "Stop New User Registration",
"stopNewUserRegistrationDescription": "When enabled, new user registration will be disabled",
"title": "Registration Settings",
"trialConfig": "Trial Configuration",
"trialConfigDescription": "Configure trial subscription, duration and time unit for new users upon registration",
"year": "Year(s)"
},
"site": {
"customData": "Custom Data",
"customDataDescription": "Custom data for website customization",
"customHtml": "Custom HTML",
"customHtmlDescription": "Custom HTML code to be injected into the bottom of the site's body tag",
"description": "Configure basic site information, logo, domain and other settings",
"keywords": "Keywords",
"keywordsDescription": "Used for SEO purposes",
"keywordsPlaceholder": "keyword1, keyword2, keyword3",
"logo": "Site Logo",
"logoDescription": "Used for displaying the logo in designated locations",
"logoPlaceholder": "Enter the URL of the logo, without ending with '/'",
"siteDesc": "Site Description",
"siteDescDescription": "Used for displaying the site description in designated locations",
"siteDescPlaceholder": "Enter site description",
"siteDomain": "Site Domain",
"siteDomainDescription": "Domain address of the current website, e.g., used in emails",
"siteDomainPlaceholder": "Please enter the domain address. For multiple domains, please enter one per line.",
"siteName": "Site Name",
"siteNameDescription": "Used for displaying the site name in designated locations",
"siteNamePlaceholder": "Enter site name",
"title": "Site Configuration"
},
"tos": {
"description": "Edit and manage terms of service content",
"title": "Terms of Service"
},
"userSecuritySettings": "User & Security",
"verify": {
"description": "Configure Turnstile CAPTCHA and verification settings",
"enableLoginVerify": "Enable Verification on Login",
"enableLoginVerifyDescription": "When enabled, users must pass human verification during login",
"enablePasswordVerify": "Enable Verification on Password Reset",
"enablePasswordVerifyDescription": "When enabled, users must pass human verification during password reset",
"enableRegisterVerify": "Enable Verification on Registration",
"enableRegisterVerifyDescription": "When enabled, users must pass human verification during registration",
"saveFailed": "Save Failed",
"saveSuccess": "Save Successful",
"title": "Security Verification",
"turnstileSecret": "Turnstile Secret Key",
"turnstileSecretDescription": "Cloudflare Turnstile secret key for backend verification",
"turnstileSecretPlaceholder": "Enter Turnstile secret key",
"turnstileSiteKey": "Turnstile Site Key",
"turnstileSiteKeyDescription": "Cloudflare Turnstile site key for frontend verification",
"turnstileSiteKeyPlaceholder": "Enter Turnstile site key"
},
"verifyCode": {
"dailyLimit": "Daily Sending Limit",
"dailyLimitDescription": "Maximum number of verification codes each user can send per day",
"description": "Configure email verification code sending rules and limits",
"expireTime": "Verification Code Validity",
"expireTimeDescription": "Validity period of verification codes (seconds)",
"inputPlaceholder": "Please enter",
"interval": "Sending Interval",
"intervalDescription": "Minimum interval between two verification code sends (seconds)",
"saveFailed": "Save Failed",
"saveSuccess": "Save Successful",
"seconds": "seconds",
"times": "time(s)",
"title": "Verification Code Settings"
}
}
@@ -0,0 +1,22 @@
{
"cancel": "Cancel",
"check": "Check",
"close": "Close",
"closeSuccess": "Closed successfully",
"closeWarning": "Once closed, the ticket cannot be operated on. Please proceed with caution.",
"confirm": "Confirm",
"confirmClose": "Are you sure you want to close?",
"inputPlaceholder": "Please enter your question, we will reply as soon as possible.",
"reply": "Reply",
"status": {
"0": "Status",
"1": "Pending Follow-up",
"2": "Pending Reply",
"3": "Resolved",
"4": "Closed"
},
"ticketList": "Ticket List",
"title": "Title",
"updatedAt": "Updated At",
"user": "User"
}
@@ -0,0 +1,14 @@
{
"cancel": "Cancel",
"confirmReboot": "Confirm Reboot",
"confirmSystemReboot": "Confirm System Reboot",
"newVersionAvailable": "New Version Available",
"rebootDescription": "Are you sure you want to reboot the system? This action cannot be undone.",
"rebooting": "Rebooting...",
"refreshLogs": "Refresh Logs",
"serverVersion": "Server Version",
"systemLogs": "System Logs",
"systemReboot": "System Reboot",
"systemServices": "System Services",
"webVersion": "Web Version"
}
@@ -0,0 +1,16 @@
{
"errors": {
"nameRequired": "Please enter a name",
"portRange": "Port must be between 1 and 65535",
"protocolRequired": "Please select a protocol",
"serverAddrRequired": "Please enter an entry address",
"serverRequired": "Please select a server"
},
"form": {
"validation": {
"nameRequired": "Client name is required",
"userAgentRequiredSuffix": "is required"
}
},
"tos": "tos"
}
@@ -0,0 +1,108 @@
{
"accountEnable": "Account Enable",
"add": "Add",
"administrator": "Administrator",
"areaCodePlaceholder": "Area code",
"authMethodsTitle": "Auth Methods",
"avatar": "Avatar",
"balance": "Balance",
"balanceLogs": "Balance Logs",
"balanceNotifications": "Balance Notifications",
"balancePlaceholder": "Enter balance",
"basicInfoTitle": "Basic Info",
"cancel": "Cancel",
"commission": "Commission",
"commissionLogs": "Commission Logs",
"commissionPlaceholder": "Enter commission",
"confirm": "Confirm",
"confirmDelete": "Confirm Delete",
"confirmOffline": "Confirm Offline",
"copySubscription": "Copy Subscription",
"copySuccess": "Copied successfully",
"create": "Create",
"createdAt": "Created At",
"createSubscription": "Create Subscription",
"createSuccess": "Created successfully",
"createUser": "Create User",
"delete": "Delete",
"deleteDescription": "This action cannot be undone.",
"deleteSubscriptionDescription": "This action cannot be undone.",
"deleteSuccess": "Deleted successfully",
"deviceLimit": "Device Limit",
"download": "Download",
"downloadTraffic": "Download Traffic",
"edit": "Edit",
"editSubscription": "Edit Subscription",
"enable": "Enable",
"expiredAt": "Expired At",
"expireTime": "expireTime",
"giftAmount": "Gift Amount",
"giftAmountPlaceholder": "Enter gift amount",
"giftLogs": "Gift Logs",
"invalidEmailFormat": "Invalid email format",
"inviteCode": "Invite Code",
"inviteCodePlaceholder": "Enter invite code",
"kickOfflineConfirm": "kickOfflineConfirm",
"kickOfflineSuccess": "Device kicked offline",
"lastSeen": "Last Seen",
"loading": "Loading...",
"loginLogs": "Login Logs",
"loginNotifications": "Login Notifications",
"loginStatus": "Login Status",
"manager": "Administrator",
"more": "More",
"notifySettingsTitle": "Notify Settings",
"offline": "Offline",
"online": "Online",
"onlineDevices": "Online Devices",
"onlyFirstPurchase": "First Purchase Only",
"orderList": "Order List",
"password": "Password",
"passwordPlaceholder": "Enter password",
"permanent": "Permanent",
"pleaseEnterEmail": "Enter email",
"referer": "Referer",
"refererId": "Referer ID",
"refererIdPlaceholder": "Enter referer ID",
"referralCode": "Referral Code",
"referralPercentage": "Referral Percentage",
"referralPercentagePlaceholder": "Enter percentage",
"referrerUserId": "Referrer User ID",
"remove": "Remove",
"resetLogs": "Reset Logs",
"resetTime": "Reset Time",
"save": "Save",
"speedLimit": "Speed Limit",
"startTime": "startTime",
"subscription": "Subscription",
"subscriptionId": "subscriptionId",
"subscriptionInfo": "subscriptionInfo",
"subscriptionList": "Subscription List",
"subscriptionLogs": "Subscription Logs",
"subscriptionName": "subscriptionName",
"subscriptionNotifications": "Subscription Notifications",
"telephone": "Phone",
"telephonePlaceholder": "Enter phone number",
"token": "token",
"totalTraffic": "Total Traffic",
"tradeNotifications": "Trade Notifications",
"trafficDetails": "Traffic Details",
"trafficLimit": "Traffic Limit",
"trafficStats": "Traffic Stats",
"trafficUsage": "trafficUsage",
"unlimited": "unlimited",
"unverified": "Unverified",
"update": "Update",
"updateSuccess": "Updated successfully",
"upload": "Upload",
"uploadTraffic": "Upload Traffic",
"userAgent": "User Agent",
"userEmail": "Email",
"userEmailPlaceholder": "Enter email",
"userId": "userId",
"userInfo": "userInfo",
"userList": "User List",
"userName": "Username",
"userProfile": "User Profile",
"verified": "Verified"
}