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,11 @@
{
"commissionInfo": "Commission Info",
"commissionRate": "Commission Rate",
"copyInviteLink": "Copy Invite Link",
"copySuccess": "Copy Success",
"inviteCode": "Invite Code",
"inviteRecords": "Invite Records",
"registrationTime": "Registration Time",
"totalCommission": "Total Commission",
"userIdentifier": "User Identifier"
}
@@ -0,0 +1,36 @@
{
"authenticating": "Authenticating...",
"binding": "Binding account...",
"get": "Get Code",
"login": {
"codeLogin": "Login with Code",
"email": "Please enter a valid email address",
"forgotPassword": "Forgot Password?",
"passwordLogin": "Login with Password",
"registerAccount": "Register Account",
"success": "Login successful!",
"title": "Login"
},
"privacyPolicy": "Privacy Policy",
"register": {
"email": "Please enter a valid email address",
"existingAccount": "Already have an account?",
"invite": "Invitation Code (Optional)",
"message": "Registration is currently disabled",
"passwordMismatch": "Passwords do not match",
"success": "Registration successful!",
"switchToLogin": "Login",
"title": "Register",
"whitelist": "This email domain is not in the whitelist"
},
"reset": {
"email": "Please enter a valid email address",
"existingAccount": "Remember your password?",
"success": "Password reset successful!",
"switchToLogin": "Login",
"title": "Reset Password"
},
"tos": "Terms of Service",
"verifyAccount": "Verify Your Account",
"verifyAccountDesc": "Please login or register to continue"
}
@@ -0,0 +1,87 @@
{
"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."
},
"footer": {
"copyright": "All rights reserved",
"privacyPolicy": "Privacy Policy",
"tos": "Terms of Service"
},
"language": "Language",
"loginRegister": "Login / Register",
"menu": {
"affiliate": "Commission",
"announcement": "Announcement Management",
"dashboard": "Dashboard",
"document": "Document Management",
"finance": "Commerce",
"help": "Users & Support",
"logout": "Logout",
"order": "Order Management",
"personal": "Personal",
"profile": "User Detail",
"server": "Server Management",
"subscribe": "Subscribe",
"ticket": "Ticket Management",
"wallet": "Balance"
},
"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,29 @@
{
"cancel": "Cancel",
"confirm": "Confirm",
"confirmResetSubscription": "Are you sure you want to reset your subscription?",
"copy": "Copy",
"copySuccess": "Copy Success",
"deducted": "Deducted",
"download": "Download",
"expirationDays": "Expiration Days",
"expired": "Expired",
"finished": "Finished",
"import": "Import",
"latestAnnouncement": "Latest Announcement",
"manualImportMessage": "Please import manually",
"mySubscriptions": "My Subscriptions",
"nextResetDays": "Next Reset Days",
"noLimit": "No Limit",
"noReset": "No Reset",
"prompt": "Prompt",
"purchaseSubscription": "Purchase Subscription",
"qrCode": "QR Code",
"resetSubscription": "Reset Subscription",
"resetSuccess": "Reset Success",
"scanToSubscribe": "Scan to Subscribe",
"subscriptionUrl": "Subscription URL",
"totalTraffic": "Total Traffic",
"unknown": "Unknown",
"used": "Used"
}
@@ -0,0 +1,6 @@
{
"all": "All",
"document": "Document",
"read": "Read",
"tutorial": "Tutorial"
}
@@ -0,0 +1,7 @@
{
"accountBalance": "Account Balance",
"commission": "Commission",
"copySuccess": "Copy Success",
"giftAmount": "Gift Amount",
"inviteCode": "Invite Code"
}
@@ -0,0 +1,21 @@
{
"Day": "Day",
"global_map_description": "Explore seamless global connectivity. Choose network services that suit your needs and stay connected anytime, anywhere.",
"global_map_itle": "Global Connection, Easy and Worry-free",
"Hour": "Hour",
"locations": "Locations",
"locations_description": "Available in multiple regions",
"Minute": "Minute",
"Month": "Month",
"NoLimit": "No Limit",
"product_showcase_description": "Let us help you select the package that best suits you and enjoy exploring it.",
"product_showcase_title": "Choose Your Package",
"servers": "Servers",
"servers_description": "High-performance servers globally",
"started": "Get Started",
"subscribe": "Subscribe",
"users": "Users",
"users_description": "Trusted by users worldwide",
"welcome": "Welcome to",
"Year": "Year"
}
@@ -0,0 +1,40 @@
{
"balanceRecharge": "Balance Recharge",
"cancel": "Cancel",
"createdAt": "Created At",
"detail": "Detail",
"goToPayment": "Go to Payment",
"name": "Product Name",
"orderClosed": "Order Closed",
"orderList": "Order List",
"orderNo": "Order No",
"orderNumber": "Order Number",
"payment": "Payment",
"paymentAmount": "Amount",
"paymentMethod": "Payment Method",
"paymentSuccess": "Payment Successful",
"productList": "Product List",
"rechargeAmount": "Recharge Amount",
"resetPrice": "Reset Price",
"resetTraffic": "Reset Traffic",
"scanToPay": "Scan to Pay",
"status": {
"0": "Status",
"1": "Pending",
"2": "Paid",
"3": "Cancelled",
"4": "Closed",
"5": "Completed"
},
"subscribeNow": "Subscribe Now",
"timeExpired": "Time Expired",
"type": {
"0": "Type",
"1": "New Purchase",
"2": "Renewal",
"3": "Reset Traffic",
"4": "Recharge"
},
"viewDocument": "View Document",
"waitingForPayment": "Waiting for Payment"
}
@@ -0,0 +1,27 @@
{
"stripe": {
"card": {
"loading": "Loading Stripe..."
},
"card_name": "Cardholder Name",
"card_number": "Card Number",
"element_error": "Please fill in all card details",
"error": "An error occurred",
"expiry_date": "Expiry Date",
"loading": "Loading Stripe...",
"name_placeholder": "Full Name on Card",
"name_required": "Cardholder name is required",
"pay_button": "Pay Now",
"payment_failed": "Payment failed",
"processing": "Processing payment...",
"processing_button": "Processing...",
"qrcode": {
"alipay": "Scan with Alipay to pay",
"wechat_pay": "Scan with WeChat to pay"
},
"secure_notice": "Payments are secure and encrypted",
"security_code": "CVC",
"success_message": "Thank you for your purchase. Your order has been processed.",
"success_title": "Payment Successful"
}
}
@@ -0,0 +1,31 @@
{
"accountSettings": {
"accountSettings": "Account Settings",
"newPassword": "New Password",
"passwordMismatch": "Passwords do not match",
"repeatNewPassword": "Repeat New Password",
"updatePassword": "Update Password",
"updateSuccess": "Password updated successfully"
},
"notify": {
"balanceChange": "Balance Change Notification",
"finance": "Finance Notification",
"login": "Login Notification",
"notificationSettings": "Notification Settings",
"save": "Save",
"subscribe": "Subscribe Notification",
"updateSuccess": "Notification settings updated successfully"
},
"thirdParty": {
"bind": "thirdParty.bind",
"bindFailed": "Bind failed",
"bindMobile": "Bind Mobile",
"bindSuccess": "Bind successfully",
"confirm": "Confirm",
"save": "thirdParty.save",
"title": "Third-party Accounts",
"unbind": "thirdParty.unbind",
"update": "thirdParty.update",
"updateSuccess": "Update successfully"
}
}
@@ -0,0 +1,63 @@
{
"balanceRecharge": "Balance Recharge",
"billing": {
"billingTitle": "Product Billing",
"couponDiscount": "Coupon Discount",
"duration": "Duration",
"fee": "Fee",
"gift": "gift Deduction",
"price": "Price",
"productDiscount": "Product Discount",
"total": "Total"
},
"buy": "Buy",
"buyNow": "Buy Now",
"buySubscription": "Buy Subscription",
"coupon": "Coupon",
"Day": "Day",
"detail": {
"availableTraffic": "Available Traffic",
"connectedDevices": "Connected Devices",
"connectionSpeed": "Connection Speed",
"productDetail": "Product Details"
},
"discount": "Discount",
"discountInfo": "Discount Info",
"emailDomainNotAllowed": "Email domain is not in the whitelist",
"emailInputTitle": "Enter the email address for your {{siteName}} account",
"emailRequired": "Please enter your email address.",
"enterAmount": "Enter recharge amount",
"enterCoupon": "Enter Coupon Code",
"Hour": "Hour",
"invalidEmail": "Please enter a valid email address",
"Minute": "Minute",
"Month": "Month",
"NoLimit": "No Limit",
"passwordHint": "If you do not enter a password, we will automatically generate one and send it to your email.",
"paymentMethod": "Payment Method",
"productDescription": "productDescription",
"purchaseDuration": "Purchase Duration",
"recharge": "Recharge",
"rechargeAmount": "Recharge Amount",
"rechargeDescription": "One-click recharge, easy to handle",
"rechargeNow": "Recharge Now",
"renew": "Renew",
"renewSubscription": "Renew Subscription",
"resetPrice": "Reset Price",
"resetTraffic": "Reset Traffic",
"resetTrafficDescription": "Reset traffic to zero, and start a new billing cycle",
"resetTrafficTitle": "Reset Traffic",
"subscriptionNotFound": "Subscription not found",
"unsubscribe": {
"cancel": "Cancel",
"confirm": "Confirm",
"confirmUnsubscribe": "Confirm Unsubscribe",
"confirmUnsubscribeDescription": "Are you sure you want to unsubscribe?",
"failed": "Failed to unsubscribe. Please try again.",
"residualValue": "Residual value:",
"success": "You have been unsubscribed successfully.",
"unsubscribe": "Unsubscribe",
"unsubscribeDescription": "Please note: If you unsubscribe now, the remaining value of the subscription will be refunded to your account balance, which can be used for your next subscription purchase or renewal."
},
"Year": "Year"
}
@@ -0,0 +1,26 @@
{
"cancel": "Cancel",
"check": "Check",
"close": "Close",
"closeSuccess": "Close Success",
"closeWarning": "Are you sure you want to close this ticket?",
"confirm": "Confirm",
"confirmClose": "Confirm Close",
"createSuccess": "Create Success",
"createTicket": "Create Ticket",
"createTicketDescription": "Create Ticket Description",
"description": "Description",
"inputPlaceholder": "Input Placeholder",
"reply": "Reply",
"status": {
"0": "Status",
"1": "Pending Reply",
"2": "Pending Follow-up",
"3": "Resolved",
"4": "Closed"
},
"submit": "Submit",
"ticketList": "Ticket List",
"title": "Title",
"updatedAt": "Updated At"
}
@@ -0,0 +1,34 @@
{
"amount": "Amount",
"assetOverview": "Asset Overview",
"balance": "Balance",
"commission": "Commission",
"createdAt": "Created At",
"giftAmount": "Gift Amount",
"totalAssets": "Total Assets",
"type": {
"0": "Type",
"1": "Recharge",
"2": "Withdrawal",
"3": "Purchase",
"4": "Refund",
"5": "Reward",
"6": "Commission",
"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"
}
}