✨ 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:
@@ -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"
|
||||
}
|
||||
Reference in New Issue
Block a user