♻️ refactor: Refactoring and adding multiple features

This commit is contained in:
web
2025-08-05 06:42:39 -07:00
committed by speakeloudest
parent 5a2fa2e937
commit 47d19d1b44
106 changed files with 6893 additions and 4604 deletions
+39
View File
@@ -0,0 +1,39 @@
{
"allUsers": "All Users",
"broadcastList": "Broadcast List",
"broadcastLogs": "Broadcast Logs",
"cancel": "Cancel",
"completed": "Completed",
"confirm": "Confirm",
"confirmDelete": "Confirm Delete",
"content": "Email Content",
"create": "Create",
"createBroadcast": "Create Broadcast",
"createSuccess": "Created Successfully",
"createdAt": "Created At",
"delete": "Delete",
"deleteDescription": "This operation cannot be undone. Are you sure you want to delete?",
"deleteSuccess": "Deleted Successfully",
"edit": "Edit",
"emailBroadcast": "Email Broadcast",
"errorMessage": "Error Message",
"failCount": "Fail Count",
"failed": "Failed",
"logList": "Log List",
"marketingManagement": "Marketing Management",
"pending": "Pending",
"recipient": "Recipient",
"recipientEmail": "Recipient Email",
"recipientType": "Recipient Type",
"sendTime": "Send Time",
"sending": "Sending",
"sentAt": "Sent At",
"specificUsers": "Specific Users",
"status": "Status",
"subject": "Email Subject",
"subscribedUsers": "Subscribed Users",
"successCount": "Success Count",
"totalSent": "Total Sent",
"updateSuccess": "Updated Successfully",
"view": "View"
}
+5 -11
View File
@@ -1,32 +1,26 @@
{
"ADS Config": "ADS Config",
"Announcement Management": "Announcement Management",
"Apple": "Apple ID",
"Application Management": "Application Management",
"Auth Control": "Auth Control",
"Coupon Management": "Coupon Management",
"Dashboard": "Dashboard",
"Device": "Device",
"Document Management": "Document Management",
"Email": "Email",
"Facebook": "Facebook",
"Finance": "Finance",
"General": "General",
"GitHub": "GitHub",
"Google": "Google",
"Marketing Management": "Marketing Management",
"Order Management": "Order Management",
"Payment Config": "Payment Config",
"Phone Number": "Phone Number",
"Product Management": "Product Management",
"Protocol Management": "Protocol Management",
"Rule Management": "Rule Management",
"Server": "Server",
"Server Management": "Server Management",
"Settings": "Settings",
"Subscribe Management": "Subscribe Management",
"Subscribe Config": "Subscribe Config",
"System Config": "System Config",
"System Management": "System Management",
"System Tool": "System Tool",
"Telegram": "Telegram",
"Ticket Management": "Ticket Management",
"Twitter": "Twitter",
"User": "User",
"User Detail": "User Detail",
"User Management": "User Management"
+146
View File
@@ -0,0 +1,146 @@
{
"actions": "Actions",
"app": {
"appDownloadURL": "App Download URL",
"appIcon": "App Icon",
"appList": "App List",
"appName": "App Name",
"backupDomains": "Backup Domain List",
"backupDomainsDescription": "Backup domain list for domain resolution, one domain per line",
"batchDelete": "Batch Delete",
"cancel": "Cancel",
"communicationKey": "Communication Key",
"communicationKeyDescription": "Key used for client communication",
"config": "Config",
"configApp": "App Configuration",
"confirm": "Confirm",
"confirmDelete": "Are you sure you want to delete?",
"create": "Create",
"createApp": "Create App",
"createSuccess": "Created successfully",
"defaultVersion": "Default",
"delete": "Delete",
"deleteWarning": "Data cannot be recovered after deletion. Please proceed with caution.",
"describeDescription": "Used to describe the application, displayed in the app list",
"description": "Description",
"downloadLink": "Download Link",
"edit": "Edit",
"editApp": "Edit App",
"encryption": "Encryption Method",
"encryptionDescription": "Choose the encryption method for client communication. If selected, the client will use this method to communicate with the server",
"nameDescription": "Application name, displayed in the app list",
"platform": "Platform",
"selectApp": "Select App",
"selectAppDescription": "Select the app to configure, all settings will apply to the selected app",
"startupPicture": "Startup Picture",
"startupPictureDescription": "Startup picture, supports network and local images. For network images, please enter the complete image URL",
"startupPicturePreview": "Startup Picture Preview",
"startupPictureSkip": "Startup Picture Skip Time",
"startupPictureSkipDescription": "Startup picture display time in seconds, enter 0 to not display",
"subscriptionProtocol": "Subscription Protocol",
"updateSuccess": "Updated successfully",
"version": "Version"
},
"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": {
"Day": "Day",
"Hour": "Hour",
"Minute": "Minute",
"Month": "Month",
"NoLimit": "No Limit",
"Year": "Year",
"annualReset": "Annual Reset",
"basic": "Basic",
"cancel": "Cancel",
"confirm": "Confirm",
"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",
"discountDescription": "Set discount based on unit price",
"discountMonths": "Months",
"discountPercent": "Discount Percentage",
"discount_price": "Discount Price",
"duration": "Duration (months)",
"groupId": "Subscription Group",
"inventory": "Subscription Limit",
"monthlyReset": "Monthly Reset",
"name": "Name",
"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",
"selectSubscribeGroup": "Select Subscription Group",
"selectUnitTime": "Please select a unit of time",
"server": "Server",
"serverGroup": "Server Group",
"servers": "Servers",
"speedLimit": "Speed Limit ",
"traffic": "Traffic",
"unitPrice": "Unit Price",
"unitTime": "Unit Time"
},
"group": {
"actions": "Actions",
"cancel": "Cancel",
"confirm": "Confirm",
"confirmDelete": "Are you sure you want to delete?",
"create": "Create",
"createSubscribeGroup": "Create Subscription Group",
"createSuccess": "Create Successful",
"delete": "Delete",
"deleteSuccess": "Delete Successful",
"deleteWarning": "Data cannot be recovered after deletion. Please proceed with caution.",
"description": "Description",
"edit": "Edit",
"editSubscribeGroup": "Edit Subscription Group",
"form": {
"cancel": "Cancel",
"confirm": "Confirm",
"description": "Description",
"name": "Name"
},
"name": "Name",
"title": "Subscription Group List",
"updateSuccess": "Update Successful",
"updatedAt": "Updated At"
},
"inventory": "Subscription Limit",
"name": "Name",
"quota": "Purchase Limit/Time",
"replacement": "Reset Price/Time",
"sell": "Sell",
"show": "Display",
"sold": "Subscription Count",
"subscribe": "Subscribe",
"subscribeGroup": "Subscription Group",
"tabs": {
"subscribe": "Subscribe",
"subscribeGroup": "Subscription Group"
},
"traffic": "Traffic",
"unitPrice": "Unit Price",
"updateSuccess": "Update Successful"
}
+76 -148
View File
@@ -1,161 +1,89 @@
{
"actions": "Actions",
"app": {
"appDownloadURL": "App Download URL",
"appIcon": "App Icon",
"appList": "App List",
"appName": "App Name",
"backupDomains": "Backup Domain List",
"backupDomainsDescription": "Backup domain list for domain resolution, one domain per line",
"batchDelete": "Batch Delete",
"cancel": "Cancel",
"communicationKey": "Communication Key",
"communicationKeyDescription": "Key used for client communication",
"config": "Config",
"configApp": "App Configuration",
"confirm": "Confirm",
"confirmDelete": "Are you sure you want to delete?",
"create": "Create",
"createApp": "Create App",
"createSuccess": "Created successfully",
"defaultVersion": "Default",
"delete": "Delete",
"deleteWarning": "Data cannot be recovered after deletion. Please proceed with caution.",
"describeDescription": "Used to describe the application, displayed in the app list",
"description": "Description",
"downloadLink": "Download Link",
"actions": {
"edit": "Edit",
"editApp": "Edit App",
"encryption": "Encryption Method",
"encryptionDescription": "Choose the encryption method for client communication. If selected, the client will use this method to communicate with the server",
"nameDescription": "Application name, displayed in the app list",
"platform": "Platform",
"selectApp": "Select App",
"selectAppDescription": "Select the app to configure, all settings will apply to the selected app",
"startupPicture": "Startup Picture",
"startupPictureDescription": "Startup picture, supports network and local images. For network images, please enter the complete image URL",
"startupPicturePreview": "Startup Picture Preview",
"startupPictureSkip": "Startup Picture Skip Time",
"startupPictureSkipDescription": "Startup picture display time in seconds, enter 0 to not display",
"subscriptionProtocol": "Subscription Protocol",
"updateSuccess": "Updated successfully",
"version": "Version"
"delete": "Delete",
"save": "Save",
"cancel": "Cancel",
"saveTemplate": "Save Template"
},
"cancel": "Cancel",
"config": {
"title": "Subscription Configuration",
"description": "Manage subscription system settings",
"restrictUserAgent": "User-Agent Restriction",
"restrictUserAgentDescription": "Enable access restrictions based on User-Agent",
"singleSubscriptionMode": "Single Subscription Mode",
"singleSubscriptionModeDescription": "When enabled, all user subscriptions will be converted to balance",
"singleSubscriptionModeDescription": "Limit users to one active subscription. Existing subscriptions unaffected",
"subscriptionDomain": "Subscription Domain",
"subscriptionDomainDescription": "Used for subscription; leave blank to use site domain",
"subscriptionDomainDescription": "Custom domain for subscription links",
"subscriptionDomainPlaceholder": "Enter subscription domain, one per line",
"subscriptionPath": "Subscription Path",
"subscriptionPathDescription": "Used for subscription; be sure to restart the system after modification for optimal performance",
"subscriptionPathPlaceholder": "Enter",
"updateSuccess": "Updated successfully",
"subscriptionPathDescription": "Custom path for subscription endpoints (better performance after system restart)",
"subscriptionPathPlaceholder": "Enter subscription path",
"updateError": "Update failed",
"updateSuccess": "Settings updated successfully",
"userAgentWhitelist": "User-Agent Whitelist",
"userAgentWhitelistDescription": "Allowed User-Agents for subscription access, one per line. Built-in templates are automatically included in the whitelist",
"userAgentWhitelistPlaceholder": "Enter allowed User-Agents, one per line",
"wildcardResolution": "Wildcard Resolution",
"wildcardResolutionDescription": "Used for subscription"
"wildcardResolutionDescription": "Enable wildcard domain resolution for subscriptions"
},
"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": {
"Day": "Day",
"Hour": "Hour",
"Minute": "Minute",
"Month": "Month",
"NoLimit": "No Limit",
"Year": "Year",
"annualReset": "Annual Reset",
"basic": "Basic",
"cancel": "Cancel",
"confirm": "Confirm",
"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",
"discountDescription": "Set discount based on unit price",
"discountMonths": "Months",
"discountPercent": "Discount Percentage",
"discount_price": "Discount Price",
"duration": "Duration (months)",
"groupId": "Subscription Group",
"inventory": "Subscription Limit",
"monthlyReset": "Monthly Reset",
"name": "Name",
"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",
"selectSubscribeGroup": "Select Subscription Group",
"selectUnitTime": "Please select a unit of time",
"server": "Server",
"serverGroup": "Server Group",
"servers": "Servers",
"speedLimit": "Speed Limit ",
"traffic": "Traffic",
"unitPrice": "Unit Price",
"unitTime": "Unit Time"
"description": "Configure subscription settings and client templates",
"messages": {
"noClients": "No Client Templates",
"noClientsDescription": "No client templates configured yet. Add your first template to get started."
},
"group": {
"actions": "Actions",
"cancel": "Cancel",
"confirm": "Confirm",
"confirmDelete": "Are you sure you want to delete?",
"create": "Create",
"createSubscribeGroup": "Create Subscription Group",
"createSuccess": "Create Successful",
"delete": "Delete",
"deleteSuccess": "Delete Successful",
"deleteWarning": "Data cannot be recovered after deletion. Please proceed with caution.",
"description": "Description",
"edit": "Edit",
"editSubscribeGroup": "Edit Subscription Group",
"form": {
"cancel": "Cancel",
"confirm": "Confirm",
"description": "Description",
"name": "Name"
},
"name": "Name",
"title": "Subscription Group List",
"updateSuccess": "Update Successful",
"updatedAt": "Updated At"
"protocol": {
"title": "Client Subscription Templates",
"description": "Manage subscription configuration templates for proxy clients",
"subscribeTemplate": "Subscription Template Configuration",
"templateContent": "Template Content",
"templatePlaceholder": "Enter client configuration template...",
"platforms": "Platforms",
"features": "Key Features",
"clients": {
"clash": {
"features": "Large ecosystem, comprehensive rules, active community"
},
"hiddify": {
"features": "Multi-platform, comprehensive protocols, beginner-friendly"
},
"singbox": {
"features": "Latest kernel, official GUI, multi-platform support"
},
"stash": {
"features": "Modern mobile UI, comprehensive protocols"
},
"surge": {
"features": "Premium iOS/Mac tool, powerful features"
},
"quantumult": {
"features": "iOS advanced client, flexible rules, rich scripts"
},
"shadowrocket": {
"features": "Classic iOS client, flexible configuration"
},
"surfboard": {
"features": "Free, active development, modern interface"
},
"v2box": {
"features": "User-friendly V2Ray client"
},
"v2rayn": {
"features": "Popular Windows client, feature-rich"
},
"v2rayng": {
"features": "Popular Android client, lightweight"
},
"netch": {
"features": "Gaming-focused proxy client"
},
"loon": {
"features": "iOS advanced client, rich rules, beautiful interface"
},
"egern": {
"features": "Modern iOS client, excellent performance"
}
}
},
"inventory": "Subscription Limit",
"name": "Name",
"quota": "Purchase Limit/Time",
"replacement": "Reset Price/Time",
"sell": "Sell",
"show": "Display",
"sold": "Subscription Count",
"subscribe": "Subscribe",
"subscribeGroup": "Subscription Group",
"tabs": {
"subscribe": "Subscribe",
"subscribeApp": "App Configuration",
"subscribeConfig": "Subscription Configuration",
"subscribeGroup": "Subscription Group"
},
"traffic": "Traffic",
"unitPrice": "Unit Price",
"updateSuccess": "Update Successful"
"title": "Subscription Management"
}