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"
}
}
@@ -0,0 +1,11 @@
{
"commissionInfo": "佣金信息",
"commissionRate": "佣金比例",
"copyInviteLink": "复制邀请链接",
"copySuccess": "复制成功",
"inviteCode": "邀请码",
"inviteRecords": "邀请记录",
"registrationTime": "注册时间",
"totalCommission": "累计佣金",
"userIdentifier": "用户标识"
}
@@ -0,0 +1,36 @@
{
"authenticating": "正在认证...",
"binding": "正在绑定账号...",
"get": "获取验证码",
"login": {
"codeLogin": "验证码登录",
"email": "请输入有效的邮箱地址",
"forgotPassword": "忘记密码?",
"passwordLogin": "密码登录",
"registerAccount": "注册账号",
"success": "登录成功!",
"title": "登录"
},
"privacyPolicy": "隐私政策",
"register": {
"email": "请输入有效的邮箱地址",
"existingAccount": "已有账号?",
"invite": "邀请码(可选)",
"message": "注册功能暂时不可用",
"passwordMismatch": "两次密码输入不一致",
"success": "注册成功!",
"switchToLogin": "登录",
"title": "注册",
"whitelist": "该邮箱域名不在白名单中"
},
"reset": {
"email": "请输入有效的邮箱地址",
"existingAccount": "记得密码了?",
"success": "密码重置成功!",
"switchToLogin": "登录",
"title": "重置密码"
},
"tos": "服务条款",
"verifyAccount": "验证您的账户",
"verifyAccountDesc": "请登录或注册以继续"
}
@@ -0,0 +1,87 @@
{
"empty": {
"tips": {
"0": "想象一下这里充满了精彩的内容!现在,你只能发挥你的想象力了...",
"1": "这个区域神秘消失了,但我们正在召唤它回来!",
"2": "哦不,什么都没发生... 随意填补空白吧!",
"3": "就像在音乐会上发现一个空舞台... 为什么不上去表演呢?",
"4": "你发现了一块空白画布!建个房子怎么样?",
"5": "这个区域目前是空的,但创造力从这里开始!",
"6": "这里什么都没有... 但别担心,这只是开始!",
"7": "这个地方本该有个大惊喜,但惊喜溜走了!",
"8": "暂时这里什么都没有,就像一个空的零食柜。",
"9": "这个空荡荡的空间正在等待它的主角登场!"
}
},
"error": {
"400": "请求参数不正确,请检查后重新提交。",
"401": "请求过于频繁,请稍后再试。",
"500": "服务器出现了一些问题,请稍后再试。",
"10001": "查询不成功,请稍后再试或检查查询条件。",
"10002": "更新操作不成功,请稍后再试。",
"10003": "插入操作暂时无法完成,请稍后再试。",
"10004": "删除操作无法完成,请稍后再试。",
"20001": "用户信息已存在,请使用不同的信息重试。",
"20002": "找不到用户,请检查信息后重试。",
"20003": "密码不正确,请重新输入。",
"20004": "用户已被禁用,如有疑问请联系客服。",
"20005": "余额不足,请充值后再试。",
"20006": "注册功能暂时不可用,请稍后再试。",
"20008": "用户信息不正确,请检查后重试。",
"30001": "该节点已存在,请勿重复添加。",
"30002": "找不到相关节点,请检查后重试。",
"30003": "分组已存在,请尝试使用不同的名称。",
"30004": "找不到分组,请验证信息后重试。",
"30005": "分组中还有内容,请清空后再试。",
"40002": "未找到有效的 Token,请登录后再试。",
"40003": "当前 Token 无效,请重新获取后再试。",
"40004": "Token 已过期,请重新登录。",
"40005": "您没有访问权限,如有疑问请联系管理员。",
"50001": "找不到对应的优惠券信息,请检查后重试。",
"50002": "该优惠券已被使用,无法再次使用。",
"60001": "订阅已过期,请续费后使用。",
"60002": "暂时无法使用该订阅,请稍后再试。",
"60003": "检测到现有订阅,请先取消后再继续。",
"60004": "由于订阅有活跃用户,暂时无法删除。",
"60005": "单一订阅模式已超过用户限制",
"70001": "验证码不正确,请重新输入。",
"80001": "任务未成功加入队列,请稍后再试。",
"90001": "请禁用 DEBUG 模式后再试。",
"90015": "该账户今日已达到发送次数限制,请明天再试。",
"unknown": "系统发生错误,请稍后再试。"
},
"footer": {
"copyright": "版权所有",
"privacyPolicy": "隐私政策",
"tos": "服务条款"
},
"language": "语言",
"loginRegister": "登录 / 注册",
"menu": {
"affiliate": "推广佣金",
"announcement": "公告管理",
"dashboard": "仪表盘",
"document": "文档管理",
"finance": "财务管理",
"help": "用户支持",
"logout": "退出登录",
"order": "订单管理",
"personal": "个人中心",
"profile": "用户详情",
"server": "服务器管理",
"subscribe": "订阅管理",
"ticket": "工单管理",
"wallet": "余额管理"
},
"pagination": {
"pageInfo": "第 {{page}} 页,共 {{total}} 页",
"rowsPerPage": "每页行数"
},
"theme": {
"dark": "深色",
"light": "浅色",
"system": "系统",
"toggle": "切换主题"
},
"unlimited": "无限制"
}
@@ -0,0 +1,29 @@
{
"cancel": "取消",
"confirm": "确认",
"confirmResetSubscription": "您确定要重置订阅吗?",
"copy": "复制",
"copySuccess": "复制成功",
"deducted": "已扣除",
"download": "下载",
"expirationDays": "过期天数",
"expired": "已过期",
"finished": "已完成",
"import": "一键导入",
"latestAnnouncement": "最新公告",
"manualImportMessage": "请手动导入",
"mySubscriptions": "我的订阅",
"nextResetDays": "距离下次重置天数",
"noLimit": "无限制",
"noReset": "不重置",
"prompt": "提示",
"purchaseSubscription": "购买订阅",
"qrCode": "二维码",
"resetSubscription": "重置订阅",
"resetSuccess": "重置成功",
"scanToSubscribe": "扫码订阅",
"subscriptionUrl": "订阅链接",
"totalTraffic": "总流量",
"unknown": "未知",
"used": "已使用"
}
@@ -0,0 +1,6 @@
{
"all": "全部",
"document": "文档",
"read": "阅读",
"tutorial": "教程"
}
@@ -0,0 +1,7 @@
{
"accountBalance": "账户余额",
"commission": "佣金",
"copySuccess": "邀请链接复制成功",
"giftAmount": "赠送金额",
"inviteCode": "邀请码"
}
@@ -0,0 +1,21 @@
{
"Day": "天",
"global_map_description": "探索无缝的全球连接。选择适合您需求的网络服务,随时随地保持连接。",
"global_map_itle": "全球连接,轻松无忧",
"Hour": "小时",
"locations": "节点位置",
"locations_description": "覆盖多个地区",
"Minute": "分钟",
"Month": "月",
"NoLimit": "无限制",
"product_showcase_description": "让我们帮助您选择最适合您的套餐,享受探索的乐趣。",
"product_showcase_title": "选择您的套餐",
"servers": "服务器",
"servers_description": "全球高性能服务器",
"started": "开始使用",
"subscribe": "订阅",
"users": "用户",
"users_description": "受到全球用户的信赖",
"welcome": "欢迎来到",
"Year": "年"
}
@@ -0,0 +1,40 @@
{
"balanceRecharge": "余额充值",
"cancel": "取消",
"createdAt": "创建时间",
"detail": "详情",
"goToPayment": "去支付",
"name": "商品名称",
"orderClosed": "订单已关闭",
"orderList": "订单列表",
"orderNo": "订单号",
"orderNumber": "订单编号",
"payment": "支付",
"paymentAmount": "支付金额",
"paymentMethod": "支付方式",
"paymentSuccess": "支付成功",
"productList": "商品列表",
"rechargeAmount": "充值金额",
"resetPrice": "重置价格",
"resetTraffic": "重置流量",
"scanToPay": "扫码支付",
"status": {
"0": "状态",
"1": "待支付",
"2": "已支付",
"3": "已取消",
"4": "已关闭",
"5": "已完成"
},
"subscribeNow": "立即订阅",
"timeExpired": "时间已过期",
"type": {
"0": "类型",
"1": "新购",
"2": "续费",
"3": "重置流量",
"4": "充值"
},
"viewDocument": "查看文档",
"waitingForPayment": "等待支付"
}
@@ -0,0 +1,27 @@
{
"stripe": {
"card": {
"loading": "正在加载 Stripe..."
},
"card_name": "",
"card_number": "",
"element_error": "",
"error": "发生错误",
"expiry_date": "",
"loading": "",
"name_placeholder": "",
"name_required": "",
"pay_button": "",
"payment_failed": "",
"processing": "",
"processing_button": "",
"qrcode": {
"alipay": "使用支付宝扫码支付",
"wechat_pay": "使用微信扫码支付"
},
"secure_notice": "",
"security_code": "",
"success_message": "",
"success_title": ""
}
}
@@ -0,0 +1,31 @@
{
"accountSettings": {
"accountSettings": "账户设置",
"newPassword": "新密码",
"passwordMismatch": "密码不匹配",
"repeatNewPassword": "重复新密码",
"updatePassword": "更新密码",
"updateSuccess": "密码更新成功"
},
"notify": {
"balanceChange": "余额变动通知",
"finance": "财务通知",
"login": "登录通知",
"notificationSettings": "通知设置",
"save": "保存",
"subscribe": "订阅通知",
"updateSuccess": "通知设置更新成功"
},
"thirdParty": {
"bind": "绑定",
"bindFailed": "绑定失败",
"bindMobile": "绑定手机",
"bindSuccess": "绑定成功",
"confirm": "确认",
"save": "保存",
"title": "第三方账户",
"unbind": "解绑",
"update": "更新",
"updateSuccess": "更新成功"
}
}
@@ -0,0 +1,63 @@
{
"balanceRecharge": "余额充值",
"billing": {
"billingTitle": "商品账单",
"couponDiscount": "折扣码优惠",
"duration": "套餐时长",
"fee": "手续费",
"gift": "赠金抵扣",
"price": "价格",
"productDiscount": "商品折扣",
"total": "总价"
},
"buy": "购买",
"buyNow": "立即购买",
"buySubscription": "购买订阅",
"coupon": "优惠券",
"Day": "天",
"detail": {
"availableTraffic": "可用流量",
"connectedDevices": "同时连接 IP 数",
"connectionSpeed": "连接速度",
"productDetail": "商品详情"
},
"discount": "折扣",
"discountInfo": "折扣信息",
"emailDomainNotAllowed": "邮箱域名不在白名单中",
"emailInputTitle": "输入您的 {{siteName}} 账户邮箱",
"emailRequired": "请输入您的邮箱地址。",
"enterAmount": "输入充值金额",
"enterCoupon": "输入优惠券代码",
"Hour": "小时",
"invalidEmail": "请输入有效的邮箱地址",
"Minute": "分钟",
"Month": "月",
"NoLimit": "无限制",
"passwordHint": "如果您不输入密码,我们将自动生成一个并发送到您的邮箱。",
"paymentMethod": "支付方式",
"productDescription": "商品描述",
"purchaseDuration": "购买时长",
"recharge": "充值",
"rechargeAmount": "充值金额",
"rechargeDescription": "一键充值,轻松处理",
"rechargeNow": "立即充值",
"renew": "续订",
"renewSubscription": "续订",
"resetPrice": "重置价格",
"resetTraffic": "重置流量",
"resetTrafficDescription": "将流量重置为零,并开始新的计费周期",
"resetTrafficTitle": "重置流量",
"subscriptionNotFound": "未找到订阅",
"unsubscribe": {
"cancel": "取消",
"confirm": "确认",
"confirmUnsubscribe": "确认取消订阅",
"confirmUnsubscribeDescription": "您确定要取消订阅吗?",
"failed": "取消订阅失败。请重试。",
"residualValue": "剩余价值:",
"success": "您已成功取消订阅。",
"unsubscribe": "取消订阅",
"unsubscribeDescription": "请注意:如果您现在取消订阅,订阅的剩余价值将退还到您的账户余额中,可用于您下次的订阅购买或续订。"
},
"Year": "年"
}
@@ -0,0 +1,26 @@
{
"cancel": "取消",
"check": "查看",
"close": "关闭",
"closeSuccess": "关闭成功",
"closeWarning": "您确定要关闭此工单吗?",
"confirm": "确认",
"confirmClose": "确认关闭",
"createSuccess": "创建成功",
"createTicket": "创建工单",
"createTicketDescription": "创建工单描述",
"description": "描述",
"inputPlaceholder": "请输入内容",
"reply": "回复",
"status": {
"0": "状态",
"1": "待回复",
"2": "待跟进",
"3": "已解决",
"4": "已关闭"
},
"submit": "提交",
"ticketList": "工单列表",
"title": "标题",
"updatedAt": "更新时间"
}
@@ -0,0 +1,34 @@
{
"amount": "金额",
"assetOverview": "资产概览",
"balance": "余额",
"commission": "佣金",
"createdAt": "创建时间",
"giftAmount": "赠送金额",
"totalAssets": "总资产",
"type": {
"0": "类型",
"1": "充值",
"2": "提现",
"3": "购买",
"4": "退款",
"5": "奖励",
"6": "佣金",
"231": "自动重置",
"232": "提前重置",
"233": "付费重置",
"321": "充值",
"322": "提现",
"323": "支付",
"324": "退款",
"325": "奖励",
"326": "管理员调整",
"331": "购买",
"332": "续费",
"333": "退款",
"334": "提现",
"335": "管理员调整",
"341": "增加",
"342": "减少"
}
}