From ffba49bd77a84af1069c26b1b0ae22d025a7206a Mon Sep 17 00:00:00 2001 From: admin Date: Fri, 1 May 2026 08:21:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=90=88=E5=B9=B6i18n=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E7=9A=84admin=20key=EF=BC=8C=E4=BF=AE=E5=A4=8D=E4=BE=A7?= =?UTF-8?q?=E8=BE=B9=E6=A0=8F=E5=92=8C=E7=BF=BB=E8=AF=91=E7=BC=BA=E5=A4=B1?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/plugins/i18n/en.json | 1557 ++++++++++++++-------------- frontend/src/plugins/i18n/zh.json | 1559 ++++++++++++++--------------- 2 files changed, 1501 insertions(+), 1615 deletions(-) diff --git a/frontend/src/plugins/i18n/en.json b/frontend/src/plugins/i18n/en.json index c9d0340..01d6ae9 100644 --- a/frontend/src/plugins/i18n/en.json +++ b/frontend/src/plugins/i18n/en.json @@ -149,7 +149,756 @@ }, "changeLanguage": "Change Language", "admin": { - "dashboard": "Dashboard", + "dashboard": { + "title": "Dashboard", + "welcomeBack": "Welcome back", + "totalUsers": "Total Users", + "totalApplications": "Total Applications", + "todayVerifications": "Today's Verifications", + "monthlyRevenue": "Monthly Revenue", + "todayNew": "Today New", + "successRate": "Success Rate", + "monthOverMonth": "Month over Month", + "recentUsers": "Recent Users", + "recentOrders": "Recent Orders", + "recentOrdersDesc": "Showing the last 5 orders", + "admin": "Admin", + "noOrders": "No orders", + "orderStatus": { + "pending": "Pending", + "paid": "Paid", + "cancelled": "Cancelled", + "refunded": "Refunded", + "expired": "Expired" + }, + "chart": { + "title": "Data Trends", + "description": "Showing visitor and verification trends", + "visitors": "Visitors", + "verifications": "Verifications", + "selectTimeRange": "Select time range", + "last3Months": "Last 3 months", + "last30Days": "Last 30 days", + "last7Days": "Last 7 days", + "noData": "No data" + }, + "loading": "Loading" + }, + "users": { + "title": "User Management", + "description": "Manage application users", + "addUser": "Add User", + "totalUsers": "Total Users", + "activeUsers": "Active Customers", + "newThisMonth": "New in Last 30 Days", + "activeRate": "Active Rate", + "searchPlaceholder": "Search username, email, device ID...", + "allRoles": "All Roles", + "developer": "Admin", + "agent": "Agent", + "allStatus": "All Status", + "active": "Active", + "inactive": "Inactive", + "suspended": "Suspended", + "noUsers": "No customers", + "userInfo": "User Info", + "role": "Role", + "status": "Status", + "registerTime": "Register Time", + "actions": "Actions", + "edit": { + "title": "Edit User", + "basicInfo": "Basic Information", + "basicInfoDesc": "Modify the user's basic information", + "application": "Application", + "selectApplication": "Select application", + "username": "Username", + "usernamePlaceholder": "Enter username", + "email": "Email", + "emailPlaceholder": "Enter email", + "password": "Password", + "passwordPlaceholder": "Leave empty to keep current", + "passwordHint": "Leave empty to keep current password", + "deviceId": "Device ID", + "deviceIdPlaceholder": "Device ID (optional)", + "preview": "Preview", + "app": "Application", + "usernameLabel": "Username", + "emailLabel": "Email", + "deviceIdLabel": "Device ID", + "status": "Account Status", + "onlineStatus": "Online Status", + "submit": "Save", + "cancel": "Cancel", + "fetchFailed": "Failed to fetch user information", + "success": "User updated successfully", + "failed": "Failed to update user", + "balanceManagement": "Balance Management", + "balanceManagementDesc": "Recharge or deduct user balance", + "subscriptionManagement": "Subscription Management", + "subscriptionManagementDesc": "Extend or reduce subscription time", + "expiryDate": "Expiry Date", + "expiryDateLabel": "Expiry Date", + "currentBalance": "Current Balance", + "operationType": "Operation Type", + "recharge": "Recharge", + "rechargeDesc": "Add balance to user", + "deduct": "Deduct", + "deductDesc": "Deduct balance from user", + "extendTime": "Extend Time", + "extendTimeDesc": "Extend subscription time", + "reduceTime": "Reduce Time", + "reduceTimeDesc": "Reduce subscription time", + "days": "Days", + "confirmRecharge": "Confirm Recharge", + "confirmDeduct": "Confirm Deduct", + "confirmExtend": "Confirm Extend", + "confirmReduce": "Confirm Reduce", + "permanentUserHint": "This user is a permanent member, no recharge needed", + "balanceUpdateSuccess": "Updated successfully", + "balanceUpdateFailed": "Failed to update", + "invalidAmount": "Please enter a valid value" + }, + "resetPassword": "Reset Password", + "resetPasswordDesc": "Set a new password for user \"{username}\"", + "newPassword": "New Password", + "newPasswordPlaceholder": "Enter new password", + "assignPackage": "Assign Package", + "assignPackageDesc": "Assign a package to user \"{username}\"", + "selectPackage": "Select Package", + "selectPackagePlaceholder": "Please select a package", + "selectExpiredAt": "Select expiration date", + "expiredAtHint": "Leave empty for permanent validity", + "confirmAssign": "Confirm Assignment", + "ban": "Ban", + "banConfirm": "Are you sure you want to ban user \"{username}\"? They will not be able to login.", + "unban": "Unban", + "batchBan": "Batch Ban", + "batchBanConfirm": "Are you sure you want to ban {count} selected users? They will not be able to login.", + "batchUnban": "Batch Unban", + "batchBanBtn": "Batch Ban", + "batchUnbanBtn": "Batch Unban", + "batchUpdateSuccess": "Batch updated successfully", + "batchUpdateFailed": "Failed to batch update", + "select": "Select", + "currentPackage": "Current Package", + "noPackage": "Not subscribed", + "expiredAt": "Expired At", + "permanent": "Permanent", + "expired": "Expired", + "daysLeft": "{days} days left", + "total": "Total {count} items", + "prevPage": "Previous", + "nextPage": "Next", + "columns": { + "username": "Username", + "email": "Email", + "role": "Role", + "status": "Status", + "createdAt": "Created At", + "actions": "Actions", + "deviceId": "Device ID", + "application": "Application", + "deviceCount": "Bound Devices", + "balance": "Balance", + "lastLoginAt": "Last Login" + }, + "roleFilter": "Role", + "statusFilter": "Status", + "filterResult": "Filter Result", + "online": "Online", + "onlineUsers": "Online Users", + "offline": "Offline", + "offlineUsers": "Offline Users", + "banned": "Banned", + "bannedUsers": "Banned Users", + "application": "Application", + "delete": "Delete", + "deleteUser": "Delete User", + "deleteConfirm": "Are you sure you want to delete user \"{username}\"? This action cannot be undone.", + "batchDeleteUsers": "Batch Delete Users", + "batchDeleteConfirm": "Are you sure you want to delete {count} selected users? This action cannot be undone.", + "statusUpdateSuccess": "Status updated successfully", + "statusUpdateFailed": "Failed to update status", + "deleteSuccess": "Deleted successfully", + "deleteFailed": "Failed to delete", + "reset": "Reset", + "batchDeleteBtn": "Batch Delete", + "onlineStatus": "Online Status", + "accountStatus": { + "title": "Account Status", + "active": "Active", + "banned": "Banned" + }, + "lastLoginTime": "Last Login", + "create": { + "title": "Add User", + "basicInfo": "Basic Information", + "basicInfoDesc": "Fill in the user's basic information", + "application": "Application", + "selectApplication": "Select application", + "username": "Username", + "usernamePlaceholder": "Enter username", + "email": "Email", + "emailPlaceholder": "Enter email", + "password": "Password", + "passwordPlaceholder": "Enter password", + "deviceId": "Device ID", + "deviceIdPlaceholder": "Device ID (optional)", + "preview": "Preview", + "app": "Application", + "usernameLabel": "Username", + "emailLabel": "Email", + "deviceIdLabel": "Device ID", + "submit": "Add User", + "cancel": "Cancel", + "usernameRequired": "Please enter username", + "emailRequired": "Please enter email", + "passwordRequired": "Please enter password", + "applicationRequired": "Please select application", + "success": "User created successfully", + "failed": "Failed to create user" + }, + "expiry": { + "permanent": "Unlimited", + "unlimitedTime": "Unlimited Time", + "unlimitedPoints": "Unlimited Points", + "expired": "Expired", + "daysLeft": "days left" + }, + "devices": "Device Management" + }, + "orders": { + "title": "Order Management", + "description": "Manage platform order records", + "totalOrders": "Total Orders", + "pendingOrders": "Pending", + "completedOrders": "Completed", + "totalAmount": "Total Amount", + "searchPlaceholder": "Search order number...", + "allStatus": "All Status", + "pending": "Pending", + "paid": "Paid", + "cancelled": "Cancelled", + "refunded": "Refunded", + "noOrders": "No orders", + "orderInfo": "Order Info", + "user": "User", + "amount": "Amount", + "status": "Status", + "createdAt": "Created At", + "actions": "Actions", + "view": "View Details", + "refund": "Refund", + "total": "Total {count} items", + "columns": { + "orderNo": "Order No.", + "user": "User", + "package": "Package", + "amount": "Amount", + "status": "Status", + "createdAt": "Created At", + "actions": "Actions" + }, + "statusFilter": "Status" + }, + "settings": { + "basic": { + "title": "Basic Settings", + "description": "Configure platform basic information and branding", + "brandSettings": "Brand Settings", + "brandSettingsDesc": "Set platform logo and icon to showcase your brand", + "lightModeLogo": "Light Mode Logo", + "darkModeLogo": "Dark Mode Logo", + "favicon": "Favicon", + "clickToUpload": "Click to upload", + "remove": "Remove", + "recommendedSize": "Recommended size: {size}, supports PNG, SVG", + "platformInfo": "Platform Information", + "platformInfoDesc": "Set basic platform information for SEO and page display", + "siteName": "Platform Name", + "siteNamePlaceholder": "Enter platform name", + "siteNameHint": "Displayed in browser tab and page header", + "siteUrl": "Platform URL", + "siteUrlPlaceholder": "https://example.com", + "siteUrlHint": "Full access URL of the platform", + "siteDescription": "Platform Description", + "siteDescriptionPlaceholder": "Enter platform description for SEO", + "siteDescriptionHint": "Brief description of platform features, recommended within 100 characters", + "siteKeywords": "SEO Keywords", + "siteKeywordsPlaceholder": "verification platform,software licensing,license key", + "siteKeywordsHint": "Multiple keywords separated by commas", + "contactEmail": "Contact Email", + "contactPhone": "Contact Phone", + "icp": "ICP Registration Number", + "icpHint": "Website registration number, displayed at page footer", + "loginSettings": "Login Settings", + "loginSettingsDesc": "Configure available login methods for users", + "accountPasswordLogin": "Account Password Login", + "accountPasswordLoginDesc": "Users login with username and password", + "emailCodeLogin": "Email Verification Login", + "emailCodeLoginDesc": "Users login with email verification code", + "smsCodeLogin": "SMS Verification Login", + "smsCodeLoginDesc": "Users login with phone verification code", + "emailServiceNotConfigured": "Email service not configured", + "smsServiceNotConfigured": "SMS service not configured", + "ready": "Ready", + "registerSettings": "Registration Settings", + "registerSettingsDesc": "Control user registration options", + "openRegister": "Open Registration", + "openRegisterDesc": "Allow new users to register accounts", + "registerMethods": "Registration Methods", + "accountPassword": "Account Password", + "accountPasswordDesc": "Username + password registration", + "emailRegister": "Email Registration", + "emailRegisterDesc": "Email + password registration", + "smsRegister": "Phone Registration", + "smsRegisterDesc": "Phone + verification code registration", + "enabled": "Enabled", + "disabled": "Disabled", + "saveSettings": "Save Settings", + "saving": "Saving...", + "securitySettings": "Security Settings", + "securitySettingsDesc": "Configure platform security options", + "emailVerification": "Email Verification", + "emailVerificationDesc": "Require email verification when users register", + "captchaProtection": "Captcha Protection", + "captchaProtectionDesc": "Require captcha for login and registration" + }, + "email": { + "title": "Email Service", + "description": "Configure SMTP email sending service", + "smtpConfig": "SMTP Configuration", + "smtpConfigDesc": "Configure email server information", + "smtpHost": "SMTP Server", + "smtpPort": "Port", + "smtpUser": "Username", + "smtpPassword": "Password", + "smtpFromName": "Sender Name", + "smtpFromEmail": "Sender Email", + "useSSL": "Use SSL Encryption", + "sendTestEmail": "Send Test Email", + "testEmailDialog": "Send Test Email", + "testEmailDialogDesc": "Enter email address to receive test email", + "emailAddress": "Email Address", + "testEmailSent": "Test email sent, please check your inbox", + "saveSettings": "Save Settings", + "saving": "Saving...", + "sending": "Sending...", + "send": "Send" + }, + "sms": { + "title": "SMS Service", + "description": "Configure SMS sending service", + "smsProviderConfig": "SMS Provider Configuration", + "smsProviderConfigDesc": "Configure SMS service information", + "provider": "Provider", + "selectProvider": "Select provider", + "aliyun": "Alibaba Cloud", + "tencent": "Tencent Cloud", + "huawei": "Huawei Cloud", + "accessKey": "AccessKey", + "secretKey": "SecretKey", + "signName": "SMS Signature", + "templateCode": "Verification Code Template ID", + "enableSms": "Enable SMS Service", + "sendTestSms": "Send Test SMS", + "testSmsDialog": "Send Test SMS", + "testSmsDialogDesc": "Enter phone number to receive test SMS", + "phoneNumber": "Phone Number", + "testSmsSent": "Test SMS sent, please check your phone", + "saveSettings": "Save Settings", + "saving": "Saving...", + "sending": "Sending...", + "send": "Send" + }, + "payment": { + "title": "Payment Configuration", + "description": "Manage payment channel configuration", + "addChannel": "Add Channel", + "totalChannels": "Total Channels", + "activeChannels": "Active", + "inactiveChannels": "Inactive", + "channelName": "Channel Name", + "channelType": "Channel Type", + "status": "Status", + "sort": "Sort", + "remark": "Remark", + "createdAt": "Created At", + "actions": "Actions", + "active": "Active", + "inactive": "Inactive", + "delete": "Delete", + "deleteChannel": "Delete Payment Channel", + "deleteChannelConfirm": "Are you sure you want to delete payment channel \"{name}\"? This action cannot be undone.", + "batchDeleteChannels": "Batch Delete Payment Channels", + "batchDeleteConfirm": "Are you sure you want to delete {count} selected payment channels?", + "batchEnableBtn": "Batch Enable", + "batchDisableBtn": "Batch Disable", + "batchDeleteBtn": "Batch Delete", + "statusUpdateSuccess": "Status updated successfully", + "batchUpdateSuccess": "Batch status update successful", + "batchDeleteSuccess": "Batch delete successful", + "searchPlaceholder": "Search channel name", + "allTypes": "All Types", + "allStatus": "All Status", + "statusActive": "Active", + "statusInactive": "Inactive", + "typeAlipay": "Alipay", + "typeWechat": "WeChat Pay", + "typeUnionpay": "UnionPay", + "typeEpay": "Epay", + "typeBepusdt": "BEpusdt", + "typeUsdt": "USDT", + "typeCard": "Card", + "typeSystem": "System", + "typeOther": "Other" + }, + "statistics": { + "title": "Statistics", + "description": "Real-time monitoring of site operation data", + "totalUsers": "Total Users", + "totalOrders": "Total Orders", + "totalRevenue": "Total Revenue", + "onlineUsers": "Online Users", + "totalDevelopers": "Admins", + "totalApps": "Applications", + "totalVisitors": "Visitors", + "totalKeys": "Keys", + "vsLastPeriod": "vs last period", + "realtimeOnline": "Real-time online", + "overview": "Overview", + "userAnalysis": "User Analysis", + "orderAnalysis": "Order Analysis", + "startDate": "Start Date", + "endDate": "End Date", + "to": "to", + "today": "Today", + "yesterday": "Yesterday", + "last7Days": "Last 7 Days", + "last30Days": "Last 30 Days", + "loading": "Loading...", + "charts": { + "userGrowth": "User Growth", + "userGrowthDesc": "Showing user and developer growth trends", + "orderTrend": "Order Trend", + "orderTrendDesc": "Showing order count and revenue trends", + "selectTimeRange": "Select time range", + "last3Months": "Last 3 Months", + "last30Days": "Last 30 Days", + "last7Days": "Last 7 Days", + "noData": "No data available" + } + } + }, + "docCategories": { + "title": "Document Categories", + "description": "Manage document categories", + "addCategory": "Add Category", + "createCategory": "Create Category", + "totalCategories": "Total Categories", + "activeCategories": "Active", + "inactiveCategories": "Inactive", + "allStatus": "All Status", + "active": "Active", + "inactive": "Inactive", + "status": "Status", + "icon": "Icon", + "name": "Category Name", + "slug": "Slug", + "categoryDescription": "Description", + "sort": "Sort", + "createdAt": "Created At", + "searchPlaceholder": "Search category name...", + "noCategories": "No categories", + "deleteCategory": "Delete Category", + "deleteConfirm": "Are you sure you want to delete category \"{name}\"? This action cannot be undone.", + "batchDeleteCategories": "Batch Delete Categories", + "batchDeleteConfirm": "Are you sure you want to delete {count} selected categories? This action cannot be undone.", + "batchEnableSuccess": "Batch enable successful", + "batchDisableSuccess": "Batch disable successful", + "batchDeleteSuccess": "Batch delete successful", + "batchEnableBtn": "Batch Enable", + "batchDisableBtn": "Batch Disable", + "batchDeleteBtn": "Batch Delete", + "selectToEnable": "Please select categories to enable", + "selectToDisable": "Please select categories to disable", + "selectToDelete": "Please select categories to delete", + "openMenu": "Open menu", + "activeBtn": "Enable", + "inactiveBtn": "Disable", + "edit": "Edit", + "delete": "Delete", + "columns": { + "name": "Category Name", + "slug": "Slug", + "status": "Status", + "sort": "Sort", + "createdAt": "Created At", + "actions": "Actions" + } + }, + "tickets": { + "title": "Ticket System", + "description": "View and manage tickets", + "ticketDetail": "Ticket Details", + "ticketNotFound": "Ticket not found", + "submitter": "Submitter", + "createTime": "Create Time", + "updateTime": "Update Time", + "category": "Category", + "problemDescription": "Problem Description", + "replyList": "Reply List", + "noReplies": "No replies yet", + "replyContent": "Reply Content", + "replyPlaceholder": "Enter reply content...", + "markProcessing": "Mark as Processing", + "markResolved": "Mark as Resolved", + "closeTicket": "Close Ticket", + "deleteTicket": "Delete Ticket", + "reply": "Reply", + "admin": "Admin", + "deleteConfirm": "Are you sure you want to delete ticket \"{title}\"? This action cannot be undone.", + "batchDelete": "Batch Delete Tickets", + "batchDeleteConfirm": "Are you sure you want to delete {count} selected tickets?", + "batchDeleteBtn": "Batch Delete", + "totalTickets": "Total Tickets", + "select": "Select", + "viewDetail": "View Details", + "replyTicket": "Reply Ticket", + "changeStatus": "Change Status", + "reopen": "Reopen", + "fetchError": "Failed to fetch ticket list", + "updateError": "Update failed", + "deleteSuccess": "Delete successful", + "deleteError": "Delete failed", + "statusUpdateSuccess": "Status updated successfully", + "columns": { + "category": "Category", + "title": "Title", + "priority": "Priority", + "status": "Status", + "submitter": "Submitter", + "createdAt": "Created At", + "updatedAt": "Updated At", + "ticketType": "Ticket Type", + "description": "Description", + "application": "Application", + "actions": "Actions" + }, + "categories": { + "technical": "Technical Issue", + "billing": "Billing Issue", + "feature": "Feature Request", + "other": "Other" + }, + "priority": { + "low": "Low", + "normal": "Normal", + "high": "High", + "urgent": "Urgent" + }, + "status": { + "open": "Open", + "processing": "Processing", + "resolved": "Resolved", + "closed": "Closed" + }, + "openCount": "Open", + "pendingCount": "Pending", + "resolvedCount": "Resolved", + "createTicket": "Create Ticket", + "allStatus": "All Status", + "allPriority": "All Priority", + "searchPlaceholder": "Search tickets...", + "noTickets": "No tickets", + "deleteTicketConfirm": "Are you sure you want to delete ticket \"{title}\"?", + "batchDeleteTickets": "Batch Delete Tickets", + "deleteFailed": "Delete failed", + "actions": { + "viewDetail": "View Detail", + "startProcess": "Start Process", + "markResolved": "Mark Resolved", + "closeTicket": "Close Ticket", + "delete": "Delete" + }, + "create": { + "title": "Create Ticket", + "description": "Submit a new ticket", + "config": "Ticket Information", + "configDesc": "Please fill in ticket details", + "ticketTypeLabel": "Ticket Type", + "ticketTypePlaceholder": "Select ticket type", + "ticketTypeSystem": "System Ticket", + "ticketTypeApplication": "Application Ticket", + "applicationLabel": "Select Application", + "selectApplication": "Please select application", + "noApplications": "No authorized applications", + "selectAppRequired": "Please select application", + "titleLabel": "Title", + "titlePlaceholder": "Enter ticket title", + "titleRequired": "Please enter ticket title", + "priorityLabel": "Priority", + "priorityPlaceholder": "Select priority", + "descriptionLabel": "Description", + "descriptionPlaceholder": "Please describe your issue or suggestion in detail", + "descriptionRequired": "Please enter ticket description", + "descriptionHint": "Please describe the issue in as much detail as possible so we can better assist you", + "imagesLabel": "Upload Images", + "imagesHint": "Upload up to 5 images, supports jpg, png, gif formats", + "maxImages": "Maximum 5 images allowed", + "tips": "Tips", + "tip1": "Please describe the issue in as much detail as possible, including reproduction steps", + "tip2": "If the issue involves a specific feature, please provide relevant screenshots or logs", + "tip3": "We will process your ticket as soon as possible after receiving it, please be patient", + "tip4": "Application tickets will directly notify the application owner", + "submit": "Submit Ticket", + "cancel": "Cancel", + "submitSuccess": "Ticket submitted successfully", + "submitFailed": "Failed to submit ticket" + }, + "detail": { + "title": "Ticket Detail", + "description": "View ticket details and replies", + "submitter": "Submitter", + "createdAt": "Created At", + "replies": "Replies", + "noReplies": "No replies yet", + "replyLabel": "Reply", + "replyPlaceholder": "Enter your reply...", + "submitReply": "Submit Reply", + "submitting": "Submitting...", + "notFound": "Ticket not found" + } + }, + "packages": { + "title": "Package Management", + "description": "Manage platform packages", + "createPackage": "Create Package", + "totalPackages": "Total Packages", + "activePackages": "Active", + "inactivePackages": "Inactive", + "searchPlaceholder": "Search package name...", + "allStatus": "All Status", + "active": "Active", + "inactive": "Inactive", + "noPackages": "No packages", + "deletePackage": "Delete Package", + "deleteConfirm": "Are you sure you want to delete package \"{name}\"? This action cannot be undone.", + "batchDeletePackages": "Batch Delete Packages", + "batchDeleteConfirm": "Are you sure you want to delete {count} selected packages? This action cannot be undone.", + "statusUpdateSuccess": "Status updated successfully", + "statusUpdateFailed": "Failed to update status", + "deleteSuccess": "Deleted successfully", + "deleteFailed": "Failed to delete", + "batchUpdateSuccess": "Batch update successful", + "batchUpdateFailed": "Batch update failed", + "batchEnable": "Batch Enable", + "batchDisable": "Batch Disable", + "batchDelete": "Batch Delete", + "batchEnableBtn": "Batch Enable", + "batchDisableBtn": "Batch Disable", + "batchDeleteBtn": "Batch Delete", + "enable": "Enable", + "disable": "Disable", + "edit": "Edit", + "recommended": "Recommended", + "unlimited": "Unlimited", + "columns": { + "name": "Package Name", + "price": "Price", + "maxApplications": "Applications", + "maxStorage": "Storage", + "maxApiCalls": "API Calls/Month", + "status": "Status", + "sort": "Sort", + "createdAt": "Created At", + "actions": "Actions" + }, + "period": { + "monthly": "Month", + "quarterly": "Quarter", + "yearly": "Year", + "permanent": "Permanent", + "month": "Month", + "quarter": "Quarter", + "year": "Year" + }, + "create": { + "title": "Create Package", + "editTitle": "Edit Package", + "basicInfo": "Basic Info", + "basicInfoDesc": "Fill in the basic information of the package", + "permissionConfig": "Permission Config", + "permissionConfigDesc": "Configure package permissions", + "name": "Package Name", + "namePlaceholder": "Enter package name", + "nameEn": "English Name", + "nameEnPlaceholder": "Enter English name", + "description": "Description", + "descriptionPlaceholder": "Enter package description", + "descriptionEn": "English Description", + "descriptionEnPlaceholder": "Enter English description", + "price": "Price", + "pricePlaceholder": "Enter price", + "currency": "Currency", + "period": "Period", + "sort": "Sort", + "isRecommended": "Recommended Package", + "allowUpgrade": "Allow Upgrade", + "maxApplications": "Max Applications", + "maxApplicationsPlaceholder": "-1 for unlimited", + "maxStorage": "Storage (MB)", + "maxStoragePlaceholder": "-1 for unlimited", + "maxApiCalls": "API Calls/Month", + "maxApiCallsPlaceholder": "-1 for unlimited", + "allowAgent": "Agent Permission", + "allowCloudData": "Cloud Data", + "allowDynamicCode": "Cloud Function", + "allowEmail": "Email Feature", + "allowExtension": "Extension API", + "prioritySupport": "Priority Support", + "submit": "Create Package", + "update": "Save Changes", + "cancel": "Cancel", + "nameRequired": "Please enter package name", + "createSuccess": "Created successfully", + "createFailed": "Failed to create", + "updateSuccess": "Updated successfully", + "updateFailed": "Failed to update" + } + }, + "docs": { + "title": "Document Management", + "description": "Manage platform documents", + "createDoc": "Create Document", + "totalDocs": "Total Documents", + "searchPlaceholder": "Search document title...", + "allCategories": "All Categories", + "allStatus": "All Status", + "active": "Active", + "inactive": "Inactive", + "noDocs": "No documents", + "deleteDoc": "Delete Document", + "deleteConfirm": "Are you sure you want to delete document \"{title}\"? This action cannot be undone.", + "batchDeleteDocs": "Batch Delete Documents", + "batchDeleteConfirm": "Are you sure you want to delete {count} selected documents? This action cannot be undone.", + "deleteSuccess": "Deleted successfully", + "deleteFailed": "Failed to delete", + "batchDeleteSuccess": "Batch delete successful", + "batchDeleteFailed": "Batch delete failed", + "batchDelete": "Batch Delete", + "batchDeleteBtn": "Batch Delete", + "edit": "Edit", + "columns": { + "title": "Title", + "category": "Category", + "status": "Status", + "sort": "Sort", + "createdAt": "Created At", + "actions": "Actions" + } + }, "welcomeBack": "Welcome back", "developer": "Admin", "loading": "Loading", @@ -688,149 +1437,6 @@ "year": "Year" } }, - "users": { - "title": "User Management", - "description": "Manage application users", - "addUser": "Add User", - "totalUsers": "Total Users", - "filterResult": "Filter Result", - "online": "Online", - "onlineUsers": "Online Users", - "offline": "Offline", - "offlineUsers": "Offline Users", - "banned": "Banned", - "bannedUsers": "Banned Users", - "application": "Application", - "status": "Status", - "delete": "Delete", - "deleteUser": "Delete User", - "deleteConfirm": "Are you sure you want to delete user \"{username}\"? This action cannot be undone.", - "batchDeleteUsers": "Batch Delete Users", - "batchDeleteConfirm": "Are you sure you want to delete {count} selected users? This action cannot be undone.", - "statusUpdateSuccess": "Status updated successfully", - "statusUpdateFailed": "Failed to update status", - "deleteSuccess": "Deleted successfully", - "deleteFailed": "Failed to delete", - "batchUpdateSuccess": "Batch updated successfully", - "batchUpdateFailed": "Failed to batch update", - "searchPlaceholder": "Search username, email, device ID...", - "reset": "Reset", - "batchUnban": "Batch Unban", - "batchBan": "Batch Ban", - "batchUnbanBtn": "Batch Unban", - "batchBanBtn": "Batch Ban", - "batchDeleteBtn": "Batch Delete", - "onlineStatus": "Online Status", - "accountStatus": { - "title": "Account Status", - "active": "Active", - "banned": "Banned" - }, - "lastLoginTime": "Last Login", - "registerTime": "Register Time", - "select": "Select", - "create": { - "title": "Add User", - "basicInfo": "Basic Information", - "basicInfoDesc": "Fill in the user's basic information", - "application": "Application", - "selectApplication": "Select application", - "username": "Username", - "usernamePlaceholder": "Enter username", - "email": "Email", - "emailPlaceholder": "Enter email", - "password": "Password", - "passwordPlaceholder": "Enter password", - "deviceId": "Device ID", - "deviceIdPlaceholder": "Device ID (optional)", - "preview": "Preview", - "app": "Application", - "usernameLabel": "Username", - "emailLabel": "Email", - "deviceIdLabel": "Device ID", - "submit": "Add User", - "cancel": "Cancel", - "usernameRequired": "Please enter username", - "emailRequired": "Please enter email", - "passwordRequired": "Please enter password", - "applicationRequired": "Please select application", - "success": "User created successfully", - "failed": "Failed to create user" - }, - "edit": { - "title": "Edit User", - "basicInfo": "Basic Information", - "basicInfoDesc": "Modify the user's basic information", - "application": "Application", - "selectApplication": "Select application", - "username": "Username", - "usernamePlaceholder": "Enter username", - "email": "Email", - "emailPlaceholder": "Enter email", - "password": "Password", - "passwordPlaceholder": "Leave empty to keep current", - "passwordHint": "Leave empty to keep current password", - "deviceId": "Device ID", - "deviceIdPlaceholder": "Device ID (optional)", - "preview": "Preview", - "app": "Application", - "usernameLabel": "Username", - "emailLabel": "Email", - "deviceIdLabel": "Device ID", - "status": "Account Status", - "onlineStatus": "Online Status", - "submit": "Save", - "cancel": "Cancel", - "fetchFailed": "Failed to fetch user information", - "success": "User updated successfully", - "failed": "Failed to update user", - "balanceManagement": "Balance Management", - "balanceManagementDesc": "Recharge or deduct user balance", - "subscriptionManagement": "Subscription Management", - "subscriptionManagementDesc": "Extend or reduce subscription time", - "expiryDate": "Expiry Date", - "expiryDateLabel": "Expiry Date", - "currentBalance": "Current Balance", - "operationType": "Operation Type", - "recharge": "Recharge", - "rechargeDesc": "Add balance to user", - "deduct": "Deduct", - "deductDesc": "Deduct balance from user", - "extendTime": "Extend Time", - "extendTimeDesc": "Extend subscription time", - "reduceTime": "Reduce Time", - "reduceTimeDesc": "Reduce subscription time", - "days": "Days", - "confirmRecharge": "Confirm Recharge", - "confirmDeduct": "Confirm Deduct", - "confirmExtend": "Confirm Extend", - "confirmReduce": "Confirm Reduce", - "permanentUserHint": "This user is a permanent member, no recharge needed", - "balanceUpdateSuccess": "Updated successfully", - "balanceUpdateFailed": "Failed to update", - "invalidAmount": "Please enter a valid value" - }, - "columns": { - "username": "Username", - "email": "Email", - "deviceId": "Device ID", - "application": "Application", - "status": "Status", - "deviceCount": "Bound Devices", - "balance": "Balance", - "lastLoginAt": "Last Login", - "createdAt": "Created At", - "actions": "Actions" - }, - "expiry": { - "permanent": "Unlimited", - "unlimitedTime": "Unlimited Time", - "unlimitedPoints": "Unlimited Points", - "expired": "Expired", - "daysLeft": "days left" - }, - "devices": "Device Management" - }, "devices": { "title": "Device Management", "description": "Manage user devices", @@ -1278,106 +1884,6 @@ "appRequired": "Please select application" } }, - "tickets": { - "title": "Ticket System", - "description": "View and manage tickets", - "openCount": "Open", - "pendingCount": "Pending", - "resolvedCount": "Resolved", - "totalTickets": "Total Tickets", - "createTicket": "Create Ticket", - "allStatus": "All Status", - "allPriority": "All Priority", - "searchPlaceholder": "Search tickets...", - "noTickets": "No tickets", - "select": "Select", - "batchDeleteBtn": "Batch Delete", - "deleteTicket": "Delete Ticket", - "deleteTicketConfirm": "Are you sure you want to delete ticket \"{title}\"?", - "batchDeleteTickets": "Batch Delete Tickets", - "batchDeleteConfirm": "Are you sure you want to delete {count} selected tickets?", - "deleteSuccess": "Delete successful", - "deleteFailed": "Delete failed", - "columns": { - "ticketType": "Ticket Type", - "title": "Title", - "description": "Description", - "priority": "Priority", - "status": "Status", - "application": "Application", - "submitter": "Submitter", - "createdAt": "Created At", - "updatedAt": "Updated At", - "actions": "Actions" - }, - "status": { - "open": "Open", - "processing": "Processing", - "resolved": "Resolved", - "closed": "Closed" - }, - "priority": { - "low": "Low", - "normal": "Normal", - "high": "High", - "urgent": "Urgent" - }, - "actions": { - "viewDetail": "View Detail", - "startProcess": "Start Process", - "markResolved": "Mark Resolved", - "closeTicket": "Close Ticket", - "delete": "Delete" - }, - "create": { - "title": "Create Ticket", - "description": "Submit a new ticket", - "config": "Ticket Information", - "configDesc": "Please fill in ticket details", - "ticketTypeLabel": "Ticket Type", - "ticketTypePlaceholder": "Select ticket type", - "ticketTypeSystem": "System Ticket", - "ticketTypeApplication": "Application Ticket", - "applicationLabel": "Select Application", - "selectApplication": "Please select application", - "noApplications": "No authorized applications", - "selectAppRequired": "Please select application", - "titleLabel": "Title", - "titlePlaceholder": "Enter ticket title", - "titleRequired": "Please enter ticket title", - "priorityLabel": "Priority", - "priorityPlaceholder": "Select priority", - "descriptionLabel": "Description", - "descriptionPlaceholder": "Please describe your issue or suggestion in detail", - "descriptionRequired": "Please enter ticket description", - "descriptionHint": "Please describe the issue in as much detail as possible so we can better assist you", - "imagesLabel": "Upload Images", - "imagesHint": "Upload up to 5 images, supports jpg, png, gif formats", - "maxImages": "Maximum 5 images allowed", - "tips": "Tips", - "tip1": "Please describe the issue in as much detail as possible, including reproduction steps", - "tip2": "If the issue involves a specific feature, please provide relevant screenshots or logs", - "tip3": "We will process your ticket as soon as possible after receiving it, please be patient", - "tip4": "Application tickets will directly notify the application owner", - "submit": "Submit Ticket", - "cancel": "Cancel", - "submitSuccess": "Ticket submitted successfully", - "submitFailed": "Failed to submit ticket" - }, - "detail": { - "title": "Ticket Detail", - "description": "View ticket details and replies", - "submitter": "Submitter", - "createdAt": "Created At", - "replies": "Replies", - "noReplies": "No replies yet", - "replyLabel": "Reply", - "replyPlaceholder": "Enter your reply...", - "submitReply": "Submit Reply", - "submitting": "Submitting...", - "notFound": "Ticket not found" - } - }, "cloudFunction": { "title": "Cloud Function", "description": "Manage application cloud function configurations", @@ -1627,569 +2133,6 @@ } } }, - "admin": { - "dashboard": { - "title": "Dashboard", - "welcomeBack": "Welcome back", - "totalUsers": "Total Users", - "totalApplications": "Total Applications", - "todayVerifications": "Today's Verifications", - "monthlyRevenue": "Monthly Revenue", - "todayNew": "Today New", - "successRate": "Success Rate", - "monthOverMonth": "Month over Month", - "recentUsers": "Recent Users", - "recentOrders": "Recent Orders", - "recentOrdersDesc": "Showing the last 5 orders", - "admin": "Admin", - "noOrders": "No orders", - "orderStatus": { - "pending": "Pending", - "paid": "Paid", - "cancelled": "Cancelled", - "refunded": "Refunded", - "expired": "Expired" - }, - "chart": { - "title": "Data Trends", - "description": "Showing visitor and verification trends", - "visitors": "Visitors", - "verifications": "Verifications", - "selectTimeRange": "Select time range", - "last3Months": "Last 3 months", - "last30Days": "Last 30 days", - "last7Days": "Last 7 days", - "noData": "No data" - }, - "loading": "Loading" - }, - "users": { - "title": "Customer Management", - "description": "Manage platform customer accounts", - "addUser": "Add Customer", - "totalUsers": "Total Customers", - "activeUsers": "Active Customers", - "newThisMonth": "New in Last 30 Days", - "activeRate": "Active Rate", - "searchPlaceholder": "Search username or email...", - "allRoles": "All Roles", - "developer": "Admin", - "agent": "Agent", - "allStatus": "All Status", - "active": "Active", - "inactive": "Inactive", - "suspended": "Suspended", - "noUsers": "No customers", - "userInfo": "User Info", - "role": "Role", - "status": "Status", - "registerTime": "Register Time", - "actions": "Actions", - "edit": "Edit", - "resetPassword": "Reset Password", - "resetPasswordDesc": "Set a new password for user \"{username}\"", - "newPassword": "New Password", - "newPasswordPlaceholder": "Enter new password", - "assignPackage": "Assign Package", - "assignPackageDesc": "Assign a package to user \"{username}\"", - "selectPackage": "Select Package", - "selectPackagePlaceholder": "Please select a package", - "selectExpiredAt": "Select expiration date", - "expiredAtHint": "Leave empty for permanent validity", - "confirmAssign": "Confirm Assignment", - "ban": "Ban", - "banConfirm": "Are you sure you want to ban user \"{username}\"? They will not be able to login.", - "unban": "Unban", - "batchBan": "Batch Ban", - "batchBanConfirm": "Are you sure you want to ban {count} selected users? They will not be able to login.", - "batchUnban": "Batch Unban", - "batchBanBtn": "Batch Ban", - "batchUnbanBtn": "Batch Unban", - "batchUpdateSuccess": "Batch operation successful", - "batchUpdateFailed": "Batch operation failed", - "select": "Please select users to operate", - "currentPackage": "Current Package", - "noPackage": "Not subscribed", - "expiredAt": "Expired At", - "permanent": "Permanent", - "expired": "Expired", - "daysLeft": "{days} days left", - "total": "Total {count} items", - "prevPage": "Previous", - "nextPage": "Next", - "columns": { - "username": "Username", - "email": "Email", - "role": "Role", - "status": "Status", - "createdAt": "Created At", - "actions": "Actions" - }, - "roleFilter": "Role", - "statusFilter": "Status" - }, - "orders": { - "title": "Order Management", - "description": "Manage platform order records", - "totalOrders": "Total Orders", - "pendingOrders": "Pending", - "completedOrders": "Completed", - "totalAmount": "Total Amount", - "searchPlaceholder": "Search order number...", - "allStatus": "All Status", - "pending": "Pending", - "paid": "Paid", - "cancelled": "Cancelled", - "refunded": "Refunded", - "noOrders": "No orders", - "orderInfo": "Order Info", - "user": "User", - "amount": "Amount", - "status": "Status", - "createdAt": "Created At", - "actions": "Actions", - "view": "View Details", - "refund": "Refund", - "total": "Total {count} items", - "columns": { - "orderNo": "Order No.", - "user": "User", - "package": "Package", - "amount": "Amount", - "status": "Status", - "createdAt": "Created At", - "actions": "Actions" - }, - "statusFilter": "Status" - }, - "settings": { - "basic": { - "title": "Basic Settings", - "description": "Configure platform basic information and branding", - "brandSettings": "Brand Settings", - "brandSettingsDesc": "Set platform logo and icon to showcase your brand", - "lightModeLogo": "Light Mode Logo", - "darkModeLogo": "Dark Mode Logo", - "favicon": "Favicon", - "clickToUpload": "Click to upload", - "remove": "Remove", - "recommendedSize": "Recommended size: {size}, supports PNG, SVG", - "platformInfo": "Platform Information", - "platformInfoDesc": "Set basic platform information for SEO and page display", - "siteName": "Platform Name", - "siteNamePlaceholder": "Enter platform name", - "siteNameHint": "Displayed in browser tab and page header", - "siteUrl": "Platform URL", - "siteUrlPlaceholder": "https://example.com", - "siteUrlHint": "Full access URL of the platform", - "siteDescription": "Platform Description", - "siteDescriptionPlaceholder": "Enter platform description for SEO", - "siteDescriptionHint": "Brief description of platform features, recommended within 100 characters", - "siteKeywords": "SEO Keywords", - "siteKeywordsPlaceholder": "verification platform,software licensing,license key", - "siteKeywordsHint": "Multiple keywords separated by commas", - "contactEmail": "Contact Email", - "contactPhone": "Contact Phone", - "icp": "ICP Registration Number", - "icpHint": "Website registration number, displayed at page footer", - "loginSettings": "Login Settings", - "loginSettingsDesc": "Configure available login methods for users", - "accountPasswordLogin": "Account Password Login", - "accountPasswordLoginDesc": "Users login with username and password", - "emailCodeLogin": "Email Verification Login", - "emailCodeLoginDesc": "Users login with email verification code", - "smsCodeLogin": "SMS Verification Login", - "smsCodeLoginDesc": "Users login with phone verification code", - "emailServiceNotConfigured": "Email service not configured", - "smsServiceNotConfigured": "SMS service not configured", - "ready": "Ready", - "registerSettings": "Registration Settings", - "registerSettingsDesc": "Control user registration options", - "openRegister": "Open Registration", - "openRegisterDesc": "Allow new users to register accounts", - "registerMethods": "Registration Methods", - "accountPassword": "Account Password", - "accountPasswordDesc": "Username + password registration", - "emailRegister": "Email Registration", - "emailRegisterDesc": "Email + password registration", - "smsRegister": "Phone Registration", - "smsRegisterDesc": "Phone + verification code registration", - "enabled": "Enabled", - "disabled": "Disabled", - "saveSettings": "Save Settings", - "saving": "Saving...", - "securitySettings": "Security Settings", - "securitySettingsDesc": "Configure platform security options", - "emailVerification": "Email Verification", - "emailVerificationDesc": "Require email verification when users register", - "captchaProtection": "Captcha Protection", - "captchaProtectionDesc": "Require captcha for login and registration" - }, - "email": { - "title": "Email Service", - "description": "Configure SMTP email sending service", - "smtpConfig": "SMTP Configuration", - "smtpConfigDesc": "Configure email server information", - "smtpHost": "SMTP Server", - "smtpPort": "Port", - "smtpUser": "Username", - "smtpPassword": "Password", - "smtpFromName": "Sender Name", - "smtpFromEmail": "Sender Email", - "useSSL": "Use SSL Encryption", - "sendTestEmail": "Send Test Email", - "testEmailDialog": "Send Test Email", - "testEmailDialogDesc": "Enter email address to receive test email", - "emailAddress": "Email Address", - "testEmailSent": "Test email sent, please check your inbox", - "saveSettings": "Save Settings", - "saving": "Saving...", - "sending": "Sending...", - "send": "Send" - }, - "sms": { - "title": "SMS Service", - "description": "Configure SMS sending service", - "smsProviderConfig": "SMS Provider Configuration", - "smsProviderConfigDesc": "Configure SMS service information", - "provider": "Provider", - "selectProvider": "Select provider", - "aliyun": "Alibaba Cloud", - "tencent": "Tencent Cloud", - "huawei": "Huawei Cloud", - "accessKey": "AccessKey", - "secretKey": "SecretKey", - "signName": "SMS Signature", - "templateCode": "Verification Code Template ID", - "enableSms": "Enable SMS Service", - "sendTestSms": "Send Test SMS", - "testSmsDialog": "Send Test SMS", - "testSmsDialogDesc": "Enter phone number to receive test SMS", - "phoneNumber": "Phone Number", - "testSmsSent": "Test SMS sent, please check your phone", - "saveSettings": "Save Settings", - "saving": "Saving...", - "sending": "Sending...", - "send": "Send" - }, - "payment": { - "title": "Payment Configuration", - "description": "Manage payment channel configuration", - "addChannel": "Add Channel", - "totalChannels": "Total Channels", - "activeChannels": "Active", - "inactiveChannels": "Inactive", - "channelName": "Channel Name", - "channelType": "Channel Type", - "status": "Status", - "sort": "Sort", - "remark": "Remark", - "createdAt": "Created At", - "actions": "Actions", - "active": "Active", - "inactive": "Inactive", - "delete": "Delete", - "deleteChannel": "Delete Payment Channel", - "deleteChannelConfirm": "Are you sure you want to delete payment channel \"{name}\"? This action cannot be undone.", - "batchDeleteChannels": "Batch Delete Payment Channels", - "batchDeleteConfirm": "Are you sure you want to delete {count} selected payment channels?", - "batchEnableBtn": "Batch Enable", - "batchDisableBtn": "Batch Disable", - "batchDeleteBtn": "Batch Delete", - "statusUpdateSuccess": "Status updated successfully", - "batchUpdateSuccess": "Batch status update successful", - "batchDeleteSuccess": "Batch delete successful", - "searchPlaceholder": "Search channel name", - "allTypes": "All Types", - "allStatus": "All Status", - "statusActive": "Active", - "statusInactive": "Inactive", - "typeAlipay": "Alipay", - "typeWechat": "WeChat Pay", - "typeUnionpay": "UnionPay", - "typeEpay": "Epay", - "typeBepusdt": "BEpusdt", - "typeUsdt": "USDT", - "typeCard": "Card", - "typeSystem": "System", - "typeOther": "Other" - }, - "statistics": { - "title": "Statistics", - "description": "Real-time monitoring of site operation data", - "totalUsers": "Total Users", - "totalOrders": "Total Orders", - "totalRevenue": "Total Revenue", - "onlineUsers": "Online Users", - "totalDevelopers": "Admins", - "totalApps": "Applications", - "totalVisitors": "Visitors", - "totalKeys": "Keys", - "vsLastPeriod": "vs last period", - "realtimeOnline": "Real-time online", - "overview": "Overview", - "userAnalysis": "User Analysis", - "orderAnalysis": "Order Analysis", - "startDate": "Start Date", - "endDate": "End Date", - "to": "to", - "today": "Today", - "yesterday": "Yesterday", - "last7Days": "Last 7 Days", - "last30Days": "Last 30 Days", - "loading": "Loading...", - "charts": { - "userGrowth": "User Growth", - "userGrowthDesc": "Showing user and developer growth trends", - "orderTrend": "Order Trend", - "orderTrendDesc": "Showing order count and revenue trends", - "selectTimeRange": "Select time range", - "last3Months": "Last 3 Months", - "last30Days": "Last 30 Days", - "last7Days": "Last 7 Days", - "noData": "No data available" - } - } - }, - "docCategories": { - "title": "Document Categories", - "description": "Manage document categories", - "addCategory": "Add Category", - "createCategory": "Create Category", - "totalCategories": "Total Categories", - "activeCategories": "Active", - "inactiveCategories": "Inactive", - "allStatus": "All Status", - "active": "Active", - "inactive": "Inactive", - "status": "Status", - "icon": "Icon", - "name": "Category Name", - "slug": "Slug", - "categoryDescription": "Description", - "sort": "Sort", - "createdAt": "Created At", - "searchPlaceholder": "Search category name...", - "noCategories": "No categories", - "deleteCategory": "Delete Category", - "deleteConfirm": "Are you sure you want to delete category \"{name}\"? This action cannot be undone.", - "batchDeleteCategories": "Batch Delete Categories", - "batchDeleteConfirm": "Are you sure you want to delete {count} selected categories? This action cannot be undone.", - "batchEnableSuccess": "Batch enable successful", - "batchDisableSuccess": "Batch disable successful", - "batchDeleteSuccess": "Batch delete successful", - "batchEnableBtn": "Batch Enable", - "batchDisableBtn": "Batch Disable", - "batchDeleteBtn": "Batch Delete", - "selectToEnable": "Please select categories to enable", - "selectToDisable": "Please select categories to disable", - "selectToDelete": "Please select categories to delete", - "openMenu": "Open menu", - "activeBtn": "Enable", - "inactiveBtn": "Disable", - "edit": "Edit", - "delete": "Delete", - "columns": { - "name": "Category Name", - "slug": "Slug", - "status": "Status", - "sort": "Sort", - "createdAt": "Created At", - "actions": "Actions" - } - }, - "tickets": { - "title": "Ticket Management", - "description": "Manage tickets submitted by developers", - "ticketDetail": "Ticket Details", - "ticketNotFound": "Ticket not found", - "submitter": "Submitter", - "createTime": "Create Time", - "updateTime": "Update Time", - "category": "Category", - "problemDescription": "Problem Description", - "replyList": "Reply List", - "noReplies": "No replies yet", - "replyContent": "Reply Content", - "replyPlaceholder": "Enter reply content...", - "markProcessing": "Mark as Processing", - "markResolved": "Mark as Resolved", - "closeTicket": "Close Ticket", - "deleteTicket": "Delete Ticket", - "reply": "Reply", - "admin": "Admin", - "deleteConfirm": "Are you sure you want to delete ticket \"{title}\"? This action cannot be undone.", - "batchDelete": "Batch Delete Tickets", - "batchDeleteConfirm": "Are you sure you want to delete {count} selected tickets? This action cannot be undone.", - "batchDeleteBtn": "Batch Delete", - "totalTickets": "Total Tickets", - "select": "Select", - "viewDetail": "View Details", - "replyTicket": "Reply Ticket", - "changeStatus": "Change Status", - "reopen": "Reopen", - "fetchError": "Failed to fetch ticket list", - "updateError": "Update failed", - "deleteSuccess": "Deleted successfully", - "deleteError": "Delete failed", - "statusUpdateSuccess": "Status updated successfully", - "columns": { - "category": "Category", - "title": "Title", - "priority": "Priority", - "status": "Status", - "submitter": "Submitter", - "createdAt": "Created At", - "updatedAt": "Updated At" - }, - "categories": { - "technical": "Technical Issue", - "billing": "Billing Issue", - "feature": "Feature Request", - "other": "Other" - }, - "priority": { - "low": "Low", - "normal": "Normal", - "high": "High", - "urgent": "Urgent" - }, - "status": { - "open": "Open", - "processing": "Processing", - "resolved": "Resolved", - "closed": "Closed" - } - }, - "packages": { - "title": "Package Management", - "description": "Manage platform packages", - "createPackage": "Create Package", - "totalPackages": "Total Packages", - "activePackages": "Active", - "inactivePackages": "Inactive", - "searchPlaceholder": "Search package name...", - "allStatus": "All Status", - "active": "Active", - "inactive": "Inactive", - "noPackages": "No packages", - "deletePackage": "Delete Package", - "deleteConfirm": "Are you sure you want to delete package \"{name}\"? This action cannot be undone.", - "batchDeletePackages": "Batch Delete Packages", - "batchDeleteConfirm": "Are you sure you want to delete {count} selected packages? This action cannot be undone.", - "statusUpdateSuccess": "Status updated successfully", - "statusUpdateFailed": "Failed to update status", - "deleteSuccess": "Deleted successfully", - "deleteFailed": "Failed to delete", - "batchUpdateSuccess": "Batch update successful", - "batchUpdateFailed": "Batch update failed", - "batchEnable": "Batch Enable", - "batchDisable": "Batch Disable", - "batchDelete": "Batch Delete", - "batchEnableBtn": "Batch Enable", - "batchDisableBtn": "Batch Disable", - "batchDeleteBtn": "Batch Delete", - "enable": "Enable", - "disable": "Disable", - "edit": "Edit", - "recommended": "Recommended", - "unlimited": "Unlimited", - "columns": { - "name": "Package Name", - "price": "Price", - "maxApplications": "Applications", - "maxStorage": "Storage", - "maxApiCalls": "API Calls/Month", - "status": "Status", - "sort": "Sort", - "createdAt": "Created At", - "actions": "Actions" - }, - "period": { - "monthly": "Month", - "quarterly": "Quarter", - "yearly": "Year", - "permanent": "Permanent", - "month": "Month", - "quarter": "Quarter", - "year": "Year" - }, - "create": { - "title": "Create Package", - "editTitle": "Edit Package", - "basicInfo": "Basic Info", - "basicInfoDesc": "Fill in the basic information of the package", - "permissionConfig": "Permission Config", - "permissionConfigDesc": "Configure package permissions", - "name": "Package Name", - "namePlaceholder": "Enter package name", - "nameEn": "English Name", - "nameEnPlaceholder": "Enter English name", - "description": "Description", - "descriptionPlaceholder": "Enter package description", - "descriptionEn": "English Description", - "descriptionEnPlaceholder": "Enter English description", - "price": "Price", - "pricePlaceholder": "Enter price", - "currency": "Currency", - "period": "Period", - "sort": "Sort", - "isRecommended": "Recommended Package", - "allowUpgrade": "Allow Upgrade", - "maxApplications": "Max Applications", - "maxApplicationsPlaceholder": "-1 for unlimited", - "maxStorage": "Storage (MB)", - "maxStoragePlaceholder": "-1 for unlimited", - "maxApiCalls": "API Calls/Month", - "maxApiCallsPlaceholder": "-1 for unlimited", - "allowAgent": "Agent Permission", - "allowCloudData": "Cloud Data", - "allowDynamicCode": "Cloud Function", - "allowEmail": "Email Feature", - "allowExtension": "Extension API", - "prioritySupport": "Priority Support", - "submit": "Create Package", - "update": "Save Changes", - "cancel": "Cancel", - "nameRequired": "Please enter package name", - "createSuccess": "Created successfully", - "createFailed": "Failed to create", - "updateSuccess": "Updated successfully", - "updateFailed": "Failed to update" - } - }, - "docs": { - "title": "Document Management", - "description": "Manage platform documents", - "createDoc": "Create Document", - "totalDocs": "Total Documents", - "searchPlaceholder": "Search document title...", - "allCategories": "All Categories", - "allStatus": "All Status", - "active": "Active", - "inactive": "Inactive", - "noDocs": "No documents", - "deleteDoc": "Delete Document", - "deleteConfirm": "Are you sure you want to delete document \"{title}\"? This action cannot be undone.", - "batchDeleteDocs": "Batch Delete Documents", - "batchDeleteConfirm": "Are you sure you want to delete {count} selected documents? This action cannot be undone.", - "deleteSuccess": "Deleted successfully", - "deleteFailed": "Failed to delete", - "batchDeleteSuccess": "Batch delete successful", - "batchDeleteFailed": "Batch delete failed", - "batchDelete": "Batch Delete", - "batchDeleteBtn": "Batch Delete", - "edit": "Edit", - "columns": { - "title": "Title", - "category": "Category", - "status": "Status", - "sort": "Sort", - "createdAt": "Created At", - "actions": "Actions" - } - } - }, "pricing": { "title": "Choose Your Plan", "subtitle": "Flexible pricing plans for businesses of all sizes", diff --git a/frontend/src/plugins/i18n/zh.json b/frontend/src/plugins/i18n/zh.json index 3023f1b..c117849 100644 --- a/frontend/src/plugins/i18n/zh.json +++ b/frontend/src/plugins/i18n/zh.json @@ -149,7 +149,757 @@ }, "changeLanguage": "语言切换", "admin": { - "dashboard": "控制台", + "dashboard": { + "title": "控制台", + "welcomeBack": "欢迎回来", + "totalUsers": "总用户数", + "totalApplications": "总应用数", + "todayVerifications": "今日验证", + "monthlyRevenue": "本月收入", + "todayNew": "今日新增", + "successRate": "成功率", + "monthOverMonth": "环比", + "recentUsers": "最近用户", + "recentOrders": "最近订单", + "recentOrdersDesc": "显示最近5笔订单", + "admin": "管理员", + "noOrders": "暂无订单", + "orderStatus": { + "pending": "待支付", + "paid": "已支付", + "cancelled": "已取消", + "refunded": "已退款", + "expired": "已超时" + }, + "chart": { + "title": "数据趋势", + "description": "显示访客数和验证次数的趋势", + "visitors": "访客数", + "verifications": "验证次数", + "selectTimeRange": "选择时间范围", + "last3Months": "最近3个月", + "last30Days": "最近30天", + "last7Days": "最近7天", + "noData": "暂无数据" + }, + "loading": "加载中" + }, + "users": { + "title": "用户管理", + "description": "管理应用用户", + "addUser": "添加用户", + "totalUsers": "用户总数", + "activeUsers": "活跃客户", + "newThisMonth": "近30天新增", + "activeRate": "活跃率", + "searchPlaceholder": "搜索用户名、邮箱、设备指纹...", + "allRoles": "全部角色", + "developer": "管理员", + "agent": "代理商", + "allStatus": "全部状态", + "active": "正常", + "inactive": "未激活", + "suspended": "已封禁", + "noUsers": "暂无客户", + "userInfo": "用户信息", + "role": "角色", + "status": "状态", + "registerTime": "注册时间", + "actions": "操作", + "edit": { + "title": "编辑用户", + "basicInfo": "基本信息", + "basicInfoDesc": "修改用户的基本信息", + "application": "所属应用", + "selectApplication": "选择应用", + "username": "用户名", + "usernamePlaceholder": "请输入用户名", + "email": "邮箱", + "emailPlaceholder": "请输入邮箱", + "password": "密码", + "passwordPlaceholder": "留空则不修改", + "passwordHint": "留空则不修改密码", + "deviceId": "设备指纹", + "deviceIdPlaceholder": "设备指纹(可选)", + "preview": "预览", + "app": "应用", + "usernameLabel": "用户名", + "emailLabel": "邮箱", + "deviceIdLabel": "设备指纹", + "status": "账户状态", + "onlineStatus": "在线状态", + "submit": "保存", + "cancel": "取消", + "fetchFailed": "获取用户信息失败", + "success": "保存成功", + "failed": "保存失败", + "balanceManagement": "余额管理", + "balanceManagementDesc": "充值或扣除用户余额", + "subscriptionManagement": "订阅管理", + "subscriptionManagementDesc": "延长或减少订阅时间", + "expiryDate": "到期时间", + "expiryDateLabel": "到期日期", + "currentBalance": "当前余额", + "operationType": "操作类型", + "recharge": "充值", + "rechargeDesc": "增加用户余额", + "deduct": "扣除", + "deductDesc": "减少用户余额", + "extendTime": "延长时间", + "extendTimeDesc": "延长订阅时间", + "reduceTime": "减少时间", + "reduceTimeDesc": "减少订阅时间", + "days": "天数", + "confirmRecharge": "确认充值", + "confirmDeduct": "确认扣除", + "confirmExtend": "确认延长", + "confirmReduce": "确认减少", + "permanentUserHint": "该用户为永久会员,无需充值", + "balanceUpdateSuccess": "更新成功", + "balanceUpdateFailed": "更新失败", + "invalidAmount": "请输入有效的数值" + }, + "resetPassword": "重置密码", + "resetPasswordDesc": "为用户「{username}」设置新密码", + "newPassword": "新密码", + "newPasswordPlaceholder": "请输入新密码", + "assignPackage": "授权套餐", + "assignPackageDesc": "为用户「{username}」授权套餐", + "selectPackage": "选择套餐", + "selectPackagePlaceholder": "请选择套餐", + "selectExpiredAt": "选择过期时间", + "expiredAtHint": "不选择日期则为永久有效", + "confirmAssign": "确认授权", + "ban": "封禁", + "banConfirm": "确定要封禁用户「{username}」吗?封禁后该用户将无法登录。", + "unban": "解封", + "batchBan": "批量封禁", + "batchBanConfirm": "确定要封禁选中的 {count} 个用户吗?封禁后这些用户将无法登录。", + "batchUnban": "批量解封", + "batchBanBtn": "批量封禁", + "batchUnbanBtn": "批量解封", + "batchUpdateSuccess": "批量更新成功", + "batchUpdateFailed": "批量更新失败", + "select": "选择", + "currentPackage": "当前套餐", + "noPackage": "未开通", + "expiredAt": "到期时间", + "permanent": "永久有效", + "expired": "已过期", + "daysLeft": "{days}天后过期", + "total": "共 {count} 条", + "prevPage": "上一页", + "nextPage": "下一页", + "columns": { + "username": "用户名", + "email": "邮箱", + "role": "角色", + "status": "状态", + "createdAt": "注册时间", + "actions": "操作", + "deviceId": "设备指纹", + "application": "所属应用", + "deviceCount": "绑定设备", + "balance": "余额", + "expiryAt": "到期时间", + "lastLoginAt": "最后登录" + }, + "roleFilter": "角色", + "statusFilter": "状态", + "filterResult": "筛选结果", + "online": "在线", + "onlineUsers": "在线用户", + "offline": "离线", + "offlineUsers": "离线用户", + "banned": "已封禁", + "bannedUsers": "已封禁用户", + "application": "应用", + "delete": "删除", + "deleteUser": "删除用户", + "deleteConfirm": "确定要删除用户\"{username}\"吗?此操作无法撤销。", + "batchDeleteUsers": "批量删除用户", + "batchDeleteConfirm": "确定要删除选中的 {count} 个用户吗?此操作无法撤销。", + "statusUpdateSuccess": "状态更新成功", + "statusUpdateFailed": "状态更新失败", + "deleteSuccess": "删除成功", + "deleteFailed": "删除失败", + "reset": "重置", + "batchDeleteBtn": "批量删除", + "onlineStatus": "在线状态", + "accountStatus": { + "title": "账户状态", + "active": "正常", + "banned": "已封禁" + }, + "lastLoginTime": "最后登录", + "create": { + "title": "添加用户", + "basicInfo": "基本信息", + "basicInfoDesc": "填写用户的基本信息", + "application": "所属应用", + "selectApplication": "选择应用", + "username": "用户名", + "usernamePlaceholder": "请输入用户名", + "email": "邮箱", + "emailPlaceholder": "请输入邮箱", + "password": "密码", + "passwordPlaceholder": "请输入密码", + "deviceId": "设备指纹", + "deviceIdPlaceholder": "设备指纹(可选)", + "preview": "预览", + "app": "应用", + "usernameLabel": "用户名", + "emailLabel": "邮箱", + "deviceIdLabel": "设备指纹", + "submit": "添加用户", + "cancel": "取消", + "usernameRequired": "请填写用户名", + "emailRequired": "请填写邮箱", + "passwordRequired": "请填写密码", + "applicationRequired": "请选择所属应用", + "success": "创建成功", + "failed": "创建失败" + }, + "expiry": { + "permanent": "无限制", + "unlimitedTime": "无限时长", + "unlimitedPoints": "无限点数", + "expired": "已过期", + "daysLeft": "天剩余" + }, + "devices": "设备管理" + }, + "orders": { + "title": "订单管理", + "description": "管理平台订单记录", + "totalOrders": "总订单数", + "pendingOrders": "待处理", + "completedOrders": "已完成", + "totalAmount": "总金额", + "searchPlaceholder": "搜索订单号...", + "allStatus": "全部状态", + "pending": "待支付", + "paid": "已支付", + "cancelled": "已取消", + "refunded": "已退款", + "noOrders": "暂无订单", + "orderInfo": "订单信息", + "user": "用户", + "amount": "金额", + "status": "状态", + "createdAt": "创建时间", + "actions": "操作", + "view": "查看详情", + "refund": "退款", + "total": "共 {count} 条", + "columns": { + "orderNo": "订单号", + "user": "用户", + "package": "套餐", + "amount": "金额", + "status": "状态", + "createdAt": "创建时间", + "actions": "操作" + }, + "statusFilter": "状态" + }, + "settings": { + "basic": { + "title": "基本设置", + "description": "配置平台基本信息和品牌形象", + "brandSettings": "品牌设置", + "brandSettingsDesc": "设置平台Logo和图标,展示您的品牌形象", + "lightModeLogo": "明亮模式Logo", + "darkModeLogo": "暗黑模式Logo", + "favicon": "网站图标", + "clickToUpload": "点击上传", + "remove": "移除", + "recommendedSize": "建议尺寸: {size},支持 PNG、SVG", + "platformInfo": "平台信息", + "platformInfoDesc": "设置平台的基本信息,用于SEO和页面展示", + "siteName": "平台名称", + "siteNamePlaceholder": "请输入平台名称", + "siteNameHint": "显示在浏览器标签页和页面顶部", + "siteUrl": "平台地址", + "siteUrlPlaceholder": "https://example.com", + "siteUrlHint": "平台的完整访问地址", + "siteDescription": "平台描述", + "siteDescriptionPlaceholder": "请输入平台描述,用于SEO优化", + "siteDescriptionHint": "简短描述平台功能,建议100字以内", + "siteKeywords": "SEO关键词", + "siteKeywordsPlaceholder": "验证平台,软件授权,卡密验证", + "siteKeywordsHint": "多个关键词用英文逗号分隔", + "contactEmail": "联系邮箱", + "contactPhone": "联系电话", + "icp": "ICP备案号", + "icpHint": "网站备案号,显示在页面底部", + "loginSettings": "登录设置", + "loginSettingsDesc": "配置用户可用的登录方式", + "accountPasswordLogin": "账号密码登录", + "accountPasswordLoginDesc": "用户使用用户名和密码登录", + "emailCodeLogin": "邮箱验证码登录", + "emailCodeLoginDesc": "用户使用邮箱验证码登录", + "smsCodeLogin": "手机验证码登录", + "smsCodeLoginDesc": "用户使用手机验证码登录", + "emailServiceNotConfigured": "邮件服务未配置", + "smsServiceNotConfigured": "短信服务未配置", + "ready": "已就绪", + "registerSettings": "注册设置", + "registerSettingsDesc": "控制用户注册相关选项", + "openRegister": "开放注册", + "openRegisterDesc": "允许新用户自主注册账号", + "registerMethods": "注册方式", + "accountPassword": "账号密码", + "accountPasswordDesc": "用户名+密码注册", + "emailRegister": "邮箱注册", + "emailRegisterDesc": "邮箱+密码注册", + "smsRegister": "手机注册", + "smsRegisterDesc": "手机+验证码注册", + "enabled": "已开启", + "disabled": "已关闭", + "saveSettings": "保存设置", + "saving": "保存中...", + "securitySettings": "安全设置", + "securitySettingsDesc": "配置平台安全相关选项", + "emailVerification": "邮箱验证", + "emailVerificationDesc": "用户注册时需要验证邮箱地址", + "captchaProtection": "验证码保护", + "captchaProtectionDesc": "登录、注册时需要输入图形验证码" + }, + "email": { + "title": "邮件服务", + "description": "配置SMTP邮件发送服务", + "smtpConfig": "SMTP配置", + "smtpConfigDesc": "配置邮件服务器信息", + "smtpHost": "SMTP服务器", + "smtpPort": "端口", + "smtpUser": "用户名", + "smtpPassword": "密码", + "smtpFromName": "发件人名称", + "smtpFromEmail": "发件人邮箱", + "useSSL": "使用SSL加密", + "sendTestEmail": "发送测试邮件", + "testEmailDialog": "发送测试邮件", + "testEmailDialogDesc": "输入接收测试邮件的邮箱地址", + "emailAddress": "邮箱地址", + "testEmailSent": "测试邮件已发送,请查收", + "saveSettings": "保存设置", + "saving": "保存中...", + "sending": "发送中...", + "send": "发送" + }, + "sms": { + "title": "短信服务", + "description": "配置短信发送服务", + "smsProviderConfig": "短信服务商配置", + "smsProviderConfigDesc": "配置短信服务相关信息", + "provider": "服务商", + "selectProvider": "选择服务商", + "aliyun": "阿里云", + "tencent": "腾讯云", + "huawei": "华为云", + "accessKey": "AccessKey", + "secretKey": "SecretKey", + "signName": "短信签名", + "templateCode": "验证码模板ID", + "enableSms": "启用短信服务", + "sendTestSms": "发送测试短信", + "testSmsDialog": "发送测试短信", + "testSmsDialogDesc": "输入接收测试短信的手机号码", + "phoneNumber": "手机号码", + "testSmsSent": "测试短信已发送,请查收", + "saveSettings": "保存设置", + "saving": "保存中...", + "sending": "发送中...", + "send": "发送" + }, + "payment": { + "title": "支付配置", + "description": "管理支付通道配置", + "addChannel": "添加通道", + "totalChannels": "通道总数", + "activeChannels": "已启用", + "inactiveChannels": "已禁用", + "channelName": "通道名称", + "channelType": "通道类型", + "status": "状态", + "sort": "排序", + "remark": "备注", + "createdAt": "创建时间", + "actions": "操作", + "active": "已启用", + "inactive": "已禁用", + "delete": "删除", + "deleteChannel": "删除支付通道", + "deleteChannelConfirm": "确定要删除支付通道\"{name}\"吗?此操作无法撤销。", + "batchDeleteChannels": "批量删除支付通道", + "batchDeleteConfirm": "确定要删除选中的 {count} 个支付通道吗?", + "batchEnableBtn": "批量启用", + "batchDisableBtn": "批量禁用", + "batchDeleteBtn": "批量删除", + "statusUpdateSuccess": "状态更新成功", + "batchUpdateSuccess": "批量更新状态成功", + "batchDeleteSuccess": "批量删除成功", + "searchPlaceholder": "搜索通道名称", + "allTypes": "全部类型", + "allStatus": "全部状态", + "statusActive": "启用", + "statusInactive": "禁用", + "typeAlipay": "支付宝", + "typeWechat": "微信支付", + "typeUnionpay": "云闪付", + "typeEpay": "易支付", + "typeBepusdt": "BEpusdt", + "typeUsdt": "USDT", + "typeCard": "卡密", + "typeSystem": "系统", + "typeOther": "其他" + }, + "statistics": { + "title": "数据统计", + "description": "全站运营数据实时监控", + "totalUsers": "总用户", + "totalOrders": "总订单", + "totalRevenue": "总收入", + "onlineUsers": "在线用户", + "totalDevelopers": "管理员", + "totalApps": "应用", + "totalVisitors": "访客", + "totalKeys": "卡密", + "vsLastPeriod": "较上期", + "realtimeOnline": "实时在线", + "overview": "概览", + "userAnalysis": "用户分析", + "orderAnalysis": "订单分析", + "startDate": "开始日期", + "endDate": "结束日期", + "to": "至", + "today": "今天", + "yesterday": "昨天", + "last7Days": "最近7天", + "last30Days": "最近30天", + "loading": "加载中...", + "charts": { + "userGrowth": "用户增长", + "userGrowthDesc": "显示用户和管理员增长趋势", + "orderTrend": "订单趋势", + "orderTrendDesc": "显示订单数和收入趋势", + "selectTimeRange": "选择时间范围", + "last3Months": "最近3个月", + "last30Days": "最近30天", + "last7Days": "最近7天", + "noData": "暂无数据" + } + } + }, + "docCategories": { + "title": "文档分类", + "description": "管理文档分类", + "addCategory": "添加分类", + "createCategory": "创建分类", + "totalCategories": "分类总数", + "activeCategories": "已启用", + "inactiveCategories": "已禁用", + "allStatus": "全部状态", + "active": "已启用", + "inactive": "已禁用", + "status": "状态", + "icon": "图标", + "name": "分类名称", + "slug": "标识", + "categoryDescription": "描述", + "sort": "排序", + "createdAt": "创建时间", + "searchPlaceholder": "搜索分类名称...", + "noCategories": "暂无分类", + "deleteCategory": "删除分类", + "deleteConfirm": "确定要删除分类「{name}」吗?此操作不可撤销。", + "batchDeleteCategories": "批量删除分类", + "batchDeleteConfirm": "确定要删除选中的 {count} 个分类吗?此操作不可撤销。", + "batchEnableSuccess": "批量启用成功", + "batchDisableSuccess": "批量禁用成功", + "batchDeleteSuccess": "批量删除成功", + "batchEnableBtn": "批量启用", + "batchDisableBtn": "批量禁用", + "batchDeleteBtn": "批量删除", + "selectToEnable": "请选择要启用的分类", + "selectToDisable": "请选择要禁用的分类", + "selectToDelete": "请选择要删除的分类", + "openMenu": "打开菜单", + "activeBtn": "启用", + "inactiveBtn": "禁用", + "edit": "编辑", + "delete": "删除", + "columns": { + "name": "分类名称", + "slug": "标识", + "status": "状态", + "sort": "排序", + "createdAt": "创建时间", + "actions": "操作" + } + }, + "tickets": { + "title": "工单系统", + "description": "查看和管理工单", + "ticketDetail": "工单详情", + "ticketNotFound": "工单不存在", + "submitter": "提交人", + "createTime": "创建时间", + "updateTime": "更新时间", + "category": "分类", + "problemDescription": "问题描述", + "replyList": "回复列表", + "noReplies": "暂无回复", + "replyContent": "回复内容", + "replyPlaceholder": "请输入回复内容...", + "markProcessing": "标记处理中", + "markResolved": "标记已解决", + "closeTicket": "关闭工单", + "deleteTicket": "删除工单", + "reply": "回复", + "admin": "管理员", + "deleteConfirm": "确定要删除工单「{title}」吗?此操作不可撤销。", + "batchDelete": "批量删除工单", + "batchDeleteConfirm": "确定要删除选中的 {count} 个工单吗?", + "batchDeleteBtn": "批量删除", + "totalTickets": "工单总数", + "select": "选择", + "viewDetail": "查看详情", + "replyTicket": "回复工单", + "changeStatus": "更改状态", + "reopen": "重新打开", + "fetchError": "获取工单列表失败", + "updateError": "更新失败", + "deleteSuccess": "删除成功", + "deleteError": "删除失败", + "statusUpdateSuccess": "状态更新成功", + "columns": { + "category": "分类", + "title": "标题", + "priority": "优先级", + "status": "状态", + "submitter": "提交人", + "createdAt": "创建时间", + "updatedAt": "更新时间", + "ticketType": "工单类型", + "description": "描述", + "application": "应用", + "actions": "操作" + }, + "categories": { + "technical": "技术问题", + "billing": "账单问题", + "feature": "功能建议", + "other": "其他" + }, + "priority": { + "low": "低", + "normal": "中", + "high": "高", + "urgent": "紧急" + }, + "status": { + "open": "待处理", + "processing": "处理中", + "resolved": "已解决", + "closed": "已关闭" + }, + "openCount": "待处理", + "pendingCount": "处理中", + "resolvedCount": "已解决", + "createTicket": "创建工单", + "allStatus": "全部状态", + "allPriority": "全部优先级", + "searchPlaceholder": "搜索工单...", + "noTickets": "暂无工单", + "deleteTicketConfirm": "确定要删除工单 \"{title}\" 吗?", + "batchDeleteTickets": "批量删除工单", + "deleteFailed": "删除失败", + "actions": { + "viewDetail": "查看详情", + "startProcess": "开始处理", + "markResolved": "标记解决", + "closeTicket": "关闭工单", + "delete": "删除" + }, + "create": { + "title": "创建工单", + "description": "提交新的工单", + "config": "工单信息", + "configDesc": "请填写工单的详细信息", + "ticketTypeLabel": "工单类型", + "ticketTypePlaceholder": "选择工单类型", + "ticketTypeSystem": "系统工单", + "ticketTypeApplication": "应用工单", + "applicationLabel": "选择应用", + "selectApplication": "请选择应用", + "noApplications": "暂无代理的应用", + "selectAppRequired": "请选择应用", + "titleLabel": "标题", + "titlePlaceholder": "请输入工单标题", + "titleRequired": "请输入工单标题", + "priorityLabel": "优先级", + "priorityPlaceholder": "选择优先级", + "descriptionLabel": "描述", + "descriptionPlaceholder": "请详细描述您遇到的问题或建议", + "descriptionRequired": "请输入工单描述", + "descriptionHint": "请尽可能详细地描述问题,以便我们更好地帮助您", + "imagesLabel": "上传图片", + "imagesHint": "最多上传5张图片,支持jpg、png、gif格式", + "maxImages": "最多只能上传5张图片", + "tips": "温馨提示", + "tip1": "请尽可能详细地描述问题,包括复现步骤", + "tip2": "如果问题涉及特定功能,请提供相关截图或日志", + "tip3": "我们会在收到工单后尽快处理,请耐心等待", + "tip4": "应用工单将直接通知应用所属管理员", + "submit": "提交工单", + "cancel": "取消", + "submitSuccess": "工单提交成功", + "submitFailed": "工单提交失败" + }, + "detail": { + "title": "工单详情", + "description": "查看工单详情和回复", + "submitter": "提交人", + "createdAt": "创建时间", + "replies": "回复记录", + "noReplies": "暂无回复", + "replyLabel": "回复内容", + "replyPlaceholder": "输入回复内容...", + "submitReply": "提交回复", + "submitting": "提交中...", + "notFound": "工单不存在" + } + }, + "packages": { + "title": "套餐管理", + "description": "管理平台套餐方案", + "createPackage": "创建套餐", + "totalPackages": "套餐总数", + "activePackages": "已启用", + "inactivePackages": "已禁用", + "searchPlaceholder": "搜索套餐名称...", + "allStatus": "全部状态", + "active": "已启用", + "inactive": "已禁用", + "noPackages": "暂无套餐", + "deletePackage": "删除套餐", + "deleteConfirm": "确定要删除套餐\"{name}\"吗?此操作无法撤销。", + "batchDeletePackages": "批量删除套餐", + "batchDeleteConfirm": "确定要删除选中的 {count} 个套餐吗?此操作无法撤销。", + "statusUpdateSuccess": "状态更新成功", + "statusUpdateFailed": "状态更新失败", + "deleteSuccess": "删除成功", + "deleteFailed": "删除失败", + "batchUpdateSuccess": "批量更新成功", + "batchUpdateFailed": "批量更新失败", + "batchEnable": "批量启用", + "batchDisable": "批量禁用", + "batchDelete": "批量删除", + "batchEnableBtn": "批量启用", + "batchDisableBtn": "批量禁用", + "batchDeleteBtn": "批量删除", + "enable": "启用", + "disable": "禁用", + "edit": "编辑", + "recommended": "推荐", + "unlimited": "不限", + "columns": { + "name": "套餐名称", + "price": "价格", + "maxApplications": "应用数量", + "maxStorage": "存储空间", + "maxApiCalls": "API调用/月", + "status": "状态", + "sort": "排序", + "createdAt": "创建时间", + "actions": "操作" + }, + "period": { + "monthly": "月", + "quarterly": "季", + "yearly": "年", + "permanent": "永久", + "month": "月", + "quarter": "季", + "year": "年" + }, + "create": { + "title": "创建套餐", + "editTitle": "编辑套餐", + "basicInfo": "基本信息", + "basicInfoDesc": "填写套餐的基本信息", + "permissionConfig": "权限配置", + "permissionConfigDesc": "配置套餐的权限限制", + "name": "套餐名称", + "namePlaceholder": "请输入套餐名称", + "nameEn": "英文名称", + "nameEnPlaceholder": "请输入英文名称", + "description": "描述", + "descriptionPlaceholder": "请输入套餐描述", + "descriptionEn": "英文描述", + "descriptionEnPlaceholder": "请输入英文描述", + "price": "价格", + "pricePlaceholder": "请输入价格", + "currency": "货币", + "period": "周期", + "sort": "排序", + "isRecommended": "推荐套餐", + "allowUpgrade": "允许升级", + "maxApplications": "最大应用数", + "maxApplicationsPlaceholder": "-1表示不限", + "maxStorage": "存储空间(MB)", + "maxStoragePlaceholder": "-1表示不限", + "maxApiCalls": "API调用次数/月", + "maxApiCallsPlaceholder": "-1表示不限", + "allowAgent": "代理权限", + "allowCloudData": "云端数据", + "allowDynamicCode": "云端函数", + "allowEmail": "邮件功能", + "allowExtension": "扩展接口", + "prioritySupport": "优先支持", + "submit": "创建套餐", + "update": "保存修改", + "cancel": "取消", + "nameRequired": "请填写套餐名称", + "createSuccess": "创建成功", + "createFailed": "创建失败", + "updateSuccess": "更新成功", + "updateFailed": "更新失败" + } + }, + "docs": { + "title": "文档管理", + "description": "管理平台文档", + "createDoc": "创建文档", + "totalDocs": "文档总数", + "searchPlaceholder": "搜索文档标题...", + "allCategories": "全部分类", + "allStatus": "全部状态", + "active": "已启用", + "inactive": "已禁用", + "noDocs": "暂无文档", + "deleteDoc": "删除文档", + "deleteConfirm": "确定要删除文档\"{title}\"吗?此操作无法撤销。", + "batchDeleteDocs": "批量删除文档", + "batchDeleteConfirm": "确定要删除选中的 {count} 个文档吗?此操作无法撤销。", + "deleteSuccess": "删除成功", + "deleteFailed": "删除失败", + "batchDeleteSuccess": "批量删除成功", + "batchDeleteFailed": "批量删除失败", + "batchDelete": "批量删除", + "batchDeleteBtn": "批量删除", + "edit": "编辑", + "columns": { + "title": "标题", + "category": "分类", + "status": "状态", + "sort": "排序", + "createdAt": "创建时间", + "actions": "操作" + } + }, "welcomeBack": "欢迎回来", "developer": "管理员", "loading": "加载中", @@ -669,150 +1419,6 @@ "year": "年" } }, - "users": { - "title": "用户管理", - "description": "管理应用用户", - "addUser": "添加用户", - "totalUsers": "用户总数", - "filterResult": "筛选结果", - "online": "在线", - "onlineUsers": "在线用户", - "offline": "离线", - "offlineUsers": "离线用户", - "banned": "已封禁", - "bannedUsers": "已封禁用户", - "application": "应用", - "status": "状态", - "delete": "删除", - "deleteUser": "删除用户", - "deleteConfirm": "确定要删除用户\"{username}\"吗?此操作无法撤销。", - "batchDeleteUsers": "批量删除用户", - "batchDeleteConfirm": "确定要删除选中的 {count} 个用户吗?此操作无法撤销。", - "statusUpdateSuccess": "状态更新成功", - "statusUpdateFailed": "状态更新失败", - "deleteSuccess": "删除成功", - "deleteFailed": "删除失败", - "batchUpdateSuccess": "批量更新成功", - "batchUpdateFailed": "批量更新失败", - "searchPlaceholder": "搜索用户名、邮箱、设备指纹...", - "reset": "重置", - "batchUnban": "批量解封", - "batchBan": "批量封禁", - "batchUnbanBtn": "批量解封", - "batchBanBtn": "批量封禁", - "batchDeleteBtn": "批量删除", - "onlineStatus": "在线状态", - "accountStatus": { - "title": "账户状态", - "active": "正常", - "banned": "已封禁" - }, - "lastLoginTime": "最后登录", - "registerTime": "注册时间", - "select": "选择", - "create": { - "title": "添加用户", - "basicInfo": "基本信息", - "basicInfoDesc": "填写用户的基本信息", - "application": "所属应用", - "selectApplication": "选择应用", - "username": "用户名", - "usernamePlaceholder": "请输入用户名", - "email": "邮箱", - "emailPlaceholder": "请输入邮箱", - "password": "密码", - "passwordPlaceholder": "请输入密码", - "deviceId": "设备指纹", - "deviceIdPlaceholder": "设备指纹(可选)", - "preview": "预览", - "app": "应用", - "usernameLabel": "用户名", - "emailLabel": "邮箱", - "deviceIdLabel": "设备指纹", - "submit": "添加用户", - "cancel": "取消", - "usernameRequired": "请填写用户名", - "emailRequired": "请填写邮箱", - "passwordRequired": "请填写密码", - "applicationRequired": "请选择所属应用", - "success": "创建成功", - "failed": "创建失败" - }, - "edit": { - "title": "编辑用户", - "basicInfo": "基本信息", - "basicInfoDesc": "修改用户的基本信息", - "application": "所属应用", - "selectApplication": "选择应用", - "username": "用户名", - "usernamePlaceholder": "请输入用户名", - "email": "邮箱", - "emailPlaceholder": "请输入邮箱", - "password": "密码", - "passwordPlaceholder": "留空则不修改", - "passwordHint": "留空则不修改密码", - "deviceId": "设备指纹", - "deviceIdPlaceholder": "设备指纹(可选)", - "preview": "预览", - "app": "应用", - "usernameLabel": "用户名", - "emailLabel": "邮箱", - "deviceIdLabel": "设备指纹", - "status": "账户状态", - "onlineStatus": "在线状态", - "submit": "保存", - "cancel": "取消", - "fetchFailed": "获取用户信息失败", - "success": "保存成功", - "failed": "保存失败", - "balanceManagement": "余额管理", - "balanceManagementDesc": "充值或扣除用户余额", - "subscriptionManagement": "订阅管理", - "subscriptionManagementDesc": "延长或减少订阅时间", - "expiryDate": "到期时间", - "expiryDateLabel": "到期日期", - "currentBalance": "当前余额", - "operationType": "操作类型", - "recharge": "充值", - "rechargeDesc": "增加用户余额", - "deduct": "扣除", - "deductDesc": "减少用户余额", - "extendTime": "延长时间", - "extendTimeDesc": "延长订阅时间", - "reduceTime": "减少时间", - "reduceTimeDesc": "减少订阅时间", - "days": "天数", - "confirmRecharge": "确认充值", - "confirmDeduct": "确认扣除", - "confirmExtend": "确认延长", - "confirmReduce": "确认减少", - "permanentUserHint": "该用户为永久会员,无需充值", - "balanceUpdateSuccess": "更新成功", - "balanceUpdateFailed": "更新失败", - "invalidAmount": "请输入有效的数值" - }, - "columns": { - "username": "用户名", - "email": "邮箱", - "deviceId": "设备指纹", - "application": "所属应用", - "status": "状态", - "deviceCount": "绑定设备", - "balance": "余额", - "expiryAt": "到期时间", - "lastLoginAt": "最后登录", - "createdAt": "注册时间", - "actions": "操作" - }, - "expiry": { - "permanent": "无限制", - "unlimitedTime": "无限时长", - "unlimitedPoints": "无限点数", - "expired": "已过期", - "daysLeft": "天剩余" - }, - "devices": "设备管理" - }, "devices": { "title": "设备管理", "description": "管理用户设备", @@ -1264,106 +1870,6 @@ "appRequired": "请选择应用" } }, - "tickets": { - "title": "工单系统", - "description": "查看和管理工单", - "openCount": "待处理", - "pendingCount": "处理中", - "resolvedCount": "已解决", - "totalTickets": "工单总数", - "createTicket": "创建工单", - "allStatus": "全部状态", - "allPriority": "全部优先级", - "searchPlaceholder": "搜索工单...", - "noTickets": "暂无工单", - "select": "选择", - "batchDeleteBtn": "批量删除", - "deleteTicket": "删除工单", - "deleteTicketConfirm": "确定要删除工单 \"{title}\" 吗?", - "batchDeleteTickets": "批量删除工单", - "batchDeleteConfirm": "确定要删除选中的 {count} 个工单吗?", - "deleteSuccess": "删除成功", - "deleteFailed": "删除失败", - "columns": { - "ticketType": "工单类型", - "title": "标题", - "description": "描述", - "priority": "优先级", - "status": "状态", - "application": "应用", - "submitter": "提交人", - "createdAt": "创建时间", - "updatedAt": "更新时间", - "actions": "操作" - }, - "status": { - "open": "待处理", - "processing": "处理中", - "resolved": "已解决", - "closed": "已关闭" - }, - "priority": { - "low": "低", - "normal": "中", - "high": "高", - "urgent": "紧急" - }, - "actions": { - "viewDetail": "查看详情", - "startProcess": "开始处理", - "markResolved": "标记解决", - "closeTicket": "关闭工单", - "delete": "删除" - }, - "create": { - "title": "创建工单", - "description": "提交新的工单", - "config": "工单信息", - "configDesc": "请填写工单的详细信息", - "ticketTypeLabel": "工单类型", - "ticketTypePlaceholder": "选择工单类型", - "ticketTypeSystem": "系统工单", - "ticketTypeApplication": "应用工单", - "applicationLabel": "选择应用", - "selectApplication": "请选择应用", - "noApplications": "暂无代理的应用", - "selectAppRequired": "请选择应用", - "titleLabel": "标题", - "titlePlaceholder": "请输入工单标题", - "titleRequired": "请输入工单标题", - "priorityLabel": "优先级", - "priorityPlaceholder": "选择优先级", - "descriptionLabel": "描述", - "descriptionPlaceholder": "请详细描述您遇到的问题或建议", - "descriptionRequired": "请输入工单描述", - "descriptionHint": "请尽可能详细地描述问题,以便我们更好地帮助您", - "imagesLabel": "上传图片", - "imagesHint": "最多上传5张图片,支持jpg、png、gif格式", - "maxImages": "最多只能上传5张图片", - "tips": "温馨提示", - "tip1": "请尽可能详细地描述问题,包括复现步骤", - "tip2": "如果问题涉及特定功能,请提供相关截图或日志", - "tip3": "我们会在收到工单后尽快处理,请耐心等待", - "tip4": "应用工单将直接通知应用所属管理员", - "submit": "提交工单", - "cancel": "取消", - "submitSuccess": "工单提交成功", - "submitFailed": "工单提交失败" - }, - "detail": { - "title": "工单详情", - "description": "查看工单详情和回复", - "submitter": "提交人", - "createdAt": "创建时间", - "replies": "回复记录", - "noReplies": "暂无回复", - "replyLabel": "回复内容", - "replyPlaceholder": "输入回复内容...", - "submitReply": "提交回复", - "submitting": "提交中...", - "notFound": "工单不存在" - } - }, "cloudFunction": { "title": "云端函数", "description": "管理应用的云端函数配置", @@ -1613,569 +2119,6 @@ } } }, - "admin": { - "dashboard": { - "title": "控制台", - "welcomeBack": "欢迎回来", - "totalUsers": "总用户数", - "totalApplications": "总应用数", - "todayVerifications": "今日验证", - "monthlyRevenue": "本月收入", - "todayNew": "今日新增", - "successRate": "成功率", - "monthOverMonth": "环比", - "recentUsers": "最近用户", - "recentOrders": "最近订单", - "recentOrdersDesc": "显示最近5笔订单", - "admin": "管理员", - "noOrders": "暂无订单", - "orderStatus": { - "pending": "待支付", - "paid": "已支付", - "cancelled": "已取消", - "refunded": "已退款", - "expired": "已超时" - }, - "chart": { - "title": "数据趋势", - "description": "显示访客数和验证次数的趋势", - "visitors": "访客数", - "verifications": "验证次数", - "selectTimeRange": "选择时间范围", - "last3Months": "最近3个月", - "last30Days": "最近30天", - "last7Days": "最近7天", - "noData": "暂无数据" - }, - "loading": "加载中" - }, - "users": { - "title": "客户管理", - "description": "管理平台客户账户", - "addUser": "添加客户", - "totalUsers": "总客户数", - "activeUsers": "活跃客户", - "newThisMonth": "近30天新增", - "activeRate": "活跃率", - "searchPlaceholder": "搜索用户名或邮箱...", - "allRoles": "全部角色", - "developer": "管理员", - "agent": "代理商", - "allStatus": "全部状态", - "active": "正常", - "inactive": "未激活", - "suspended": "已封禁", - "noUsers": "暂无客户", - "userInfo": "用户信息", - "role": "角色", - "status": "状态", - "registerTime": "注册时间", - "actions": "操作", - "edit": "编辑", - "resetPassword": "重置密码", - "resetPasswordDesc": "为用户「{username}」设置新密码", - "newPassword": "新密码", - "newPasswordPlaceholder": "请输入新密码", - "assignPackage": "授权套餐", - "assignPackageDesc": "为用户「{username}」授权套餐", - "selectPackage": "选择套餐", - "selectPackagePlaceholder": "请选择套餐", - "selectExpiredAt": "选择过期时间", - "expiredAtHint": "不选择日期则为永久有效", - "confirmAssign": "确认授权", - "ban": "封禁", - "banConfirm": "确定要封禁用户「{username}」吗?封禁后该用户将无法登录。", - "unban": "解封", - "batchBan": "批量封禁", - "batchBanConfirm": "确定要封禁选中的 {count} 个用户吗?封禁后这些用户将无法登录。", - "batchUnban": "批量解封", - "batchBanBtn": "批量封禁", - "batchUnbanBtn": "批量解封", - "batchUpdateSuccess": "批量操作成功", - "batchUpdateFailed": "批量操作失败", - "select": "请选择要操作的用户", - "currentPackage": "当前套餐", - "noPackage": "未开通", - "expiredAt": "到期时间", - "permanent": "永久有效", - "expired": "已过期", - "daysLeft": "{days}天后过期", - "total": "共 {count} 条", - "prevPage": "上一页", - "nextPage": "下一页", - "columns": { - "username": "用户名", - "email": "邮箱", - "role": "角色", - "status": "状态", - "createdAt": "注册时间", - "actions": "操作" - }, - "roleFilter": "角色", - "statusFilter": "状态" - }, - "orders": { - "title": "订单管理", - "description": "管理平台订单记录", - "totalOrders": "总订单数", - "pendingOrders": "待处理", - "completedOrders": "已完成", - "totalAmount": "总金额", - "searchPlaceholder": "搜索订单号...", - "allStatus": "全部状态", - "pending": "待支付", - "paid": "已支付", - "cancelled": "已取消", - "refunded": "已退款", - "noOrders": "暂无订单", - "orderInfo": "订单信息", - "user": "用户", - "amount": "金额", - "status": "状态", - "createdAt": "创建时间", - "actions": "操作", - "view": "查看详情", - "refund": "退款", - "total": "共 {count} 条", - "columns": { - "orderNo": "订单号", - "user": "用户", - "package": "套餐", - "amount": "金额", - "status": "状态", - "createdAt": "创建时间", - "actions": "操作" - }, - "statusFilter": "状态" - }, - "settings": { - "basic": { - "title": "基本设置", - "description": "配置平台基本信息和品牌形象", - "brandSettings": "品牌设置", - "brandSettingsDesc": "设置平台Logo和图标,展示您的品牌形象", - "lightModeLogo": "明亮模式Logo", - "darkModeLogo": "暗黑模式Logo", - "favicon": "网站图标", - "clickToUpload": "点击上传", - "remove": "移除", - "recommendedSize": "建议尺寸: {size},支持 PNG、SVG", - "platformInfo": "平台信息", - "platformInfoDesc": "设置平台的基本信息,用于SEO和页面展示", - "siteName": "平台名称", - "siteNamePlaceholder": "请输入平台名称", - "siteNameHint": "显示在浏览器标签页和页面顶部", - "siteUrl": "平台地址", - "siteUrlPlaceholder": "https://example.com", - "siteUrlHint": "平台的完整访问地址", - "siteDescription": "平台描述", - "siteDescriptionPlaceholder": "请输入平台描述,用于SEO优化", - "siteDescriptionHint": "简短描述平台功能,建议100字以内", - "siteKeywords": "SEO关键词", - "siteKeywordsPlaceholder": "验证平台,软件授权,卡密验证", - "siteKeywordsHint": "多个关键词用英文逗号分隔", - "contactEmail": "联系邮箱", - "contactPhone": "联系电话", - "icp": "ICP备案号", - "icpHint": "网站备案号,显示在页面底部", - "loginSettings": "登录设置", - "loginSettingsDesc": "配置用户可用的登录方式", - "accountPasswordLogin": "账号密码登录", - "accountPasswordLoginDesc": "用户使用用户名和密码登录", - "emailCodeLogin": "邮箱验证码登录", - "emailCodeLoginDesc": "用户使用邮箱验证码登录", - "smsCodeLogin": "手机验证码登录", - "smsCodeLoginDesc": "用户使用手机验证码登录", - "emailServiceNotConfigured": "邮件服务未配置", - "smsServiceNotConfigured": "短信服务未配置", - "ready": "已就绪", - "registerSettings": "注册设置", - "registerSettingsDesc": "控制用户注册相关选项", - "openRegister": "开放注册", - "openRegisterDesc": "允许新用户自主注册账号", - "registerMethods": "注册方式", - "accountPassword": "账号密码", - "accountPasswordDesc": "用户名+密码注册", - "emailRegister": "邮箱注册", - "emailRegisterDesc": "邮箱+密码注册", - "smsRegister": "手机注册", - "smsRegisterDesc": "手机+验证码注册", - "enabled": "已开启", - "disabled": "已关闭", - "saveSettings": "保存设置", - "saving": "保存中...", - "securitySettings": "安全设置", - "securitySettingsDesc": "配置平台安全相关选项", - "emailVerification": "邮箱验证", - "emailVerificationDesc": "用户注册时需要验证邮箱地址", - "captchaProtection": "验证码保护", - "captchaProtectionDesc": "登录、注册时需要输入图形验证码" - }, - "email": { - "title": "邮件服务", - "description": "配置SMTP邮件发送服务", - "smtpConfig": "SMTP配置", - "smtpConfigDesc": "配置邮件服务器信息", - "smtpHost": "SMTP服务器", - "smtpPort": "端口", - "smtpUser": "用户名", - "smtpPassword": "密码", - "smtpFromName": "发件人名称", - "smtpFromEmail": "发件人邮箱", - "useSSL": "使用SSL加密", - "sendTestEmail": "发送测试邮件", - "testEmailDialog": "发送测试邮件", - "testEmailDialogDesc": "输入接收测试邮件的邮箱地址", - "emailAddress": "邮箱地址", - "testEmailSent": "测试邮件已发送,请查收", - "saveSettings": "保存设置", - "saving": "保存中...", - "sending": "发送中...", - "send": "发送" - }, - "sms": { - "title": "短信服务", - "description": "配置短信发送服务", - "smsProviderConfig": "短信服务商配置", - "smsProviderConfigDesc": "配置短信服务相关信息", - "provider": "服务商", - "selectProvider": "选择服务商", - "aliyun": "阿里云", - "tencent": "腾讯云", - "huawei": "华为云", - "accessKey": "AccessKey", - "secretKey": "SecretKey", - "signName": "短信签名", - "templateCode": "验证码模板ID", - "enableSms": "启用短信服务", - "sendTestSms": "发送测试短信", - "testSmsDialog": "发送测试短信", - "testSmsDialogDesc": "输入接收测试短信的手机号码", - "phoneNumber": "手机号码", - "testSmsSent": "测试短信已发送,请查收", - "saveSettings": "保存设置", - "saving": "保存中...", - "sending": "发送中...", - "send": "发送" - }, - "payment": { - "title": "支付配置", - "description": "管理支付通道配置", - "addChannel": "添加通道", - "totalChannels": "通道总数", - "activeChannels": "已启用", - "inactiveChannels": "已禁用", - "channelName": "通道名称", - "channelType": "通道类型", - "status": "状态", - "sort": "排序", - "remark": "备注", - "createdAt": "创建时间", - "actions": "操作", - "active": "已启用", - "inactive": "已禁用", - "delete": "删除", - "deleteChannel": "删除支付通道", - "deleteChannelConfirm": "确定要删除支付通道\"{name}\"吗?此操作无法撤销。", - "batchDeleteChannels": "批量删除支付通道", - "batchDeleteConfirm": "确定要删除选中的 {count} 个支付通道吗?", - "batchEnableBtn": "批量启用", - "batchDisableBtn": "批量禁用", - "batchDeleteBtn": "批量删除", - "statusUpdateSuccess": "状态更新成功", - "batchUpdateSuccess": "批量更新状态成功", - "batchDeleteSuccess": "批量删除成功", - "searchPlaceholder": "搜索通道名称", - "allTypes": "全部类型", - "allStatus": "全部状态", - "statusActive": "启用", - "statusInactive": "禁用", - "typeAlipay": "支付宝", - "typeWechat": "微信支付", - "typeUnionpay": "云闪付", - "typeEpay": "易支付", - "typeBepusdt": "BEpusdt", - "typeUsdt": "USDT", - "typeCard": "卡密", - "typeSystem": "系统", - "typeOther": "其他" - }, - "statistics": { - "title": "数据统计", - "description": "全站运营数据实时监控", - "totalUsers": "总用户", - "totalOrders": "总订单", - "totalRevenue": "总收入", - "onlineUsers": "在线用户", - "totalDevelopers": "管理员", - "totalApps": "应用", - "totalVisitors": "访客", - "totalKeys": "卡密", - "vsLastPeriod": "较上期", - "realtimeOnline": "实时在线", - "overview": "概览", - "userAnalysis": "用户分析", - "orderAnalysis": "订单分析", - "startDate": "开始日期", - "endDate": "结束日期", - "to": "至", - "today": "今天", - "yesterday": "昨天", - "last7Days": "最近7天", - "last30Days": "最近30天", - "loading": "加载中...", - "charts": { - "userGrowth": "用户增长", - "userGrowthDesc": "显示用户和管理员增长趋势", - "orderTrend": "订单趋势", - "orderTrendDesc": "显示订单数和收入趋势", - "selectTimeRange": "选择时间范围", - "last3Months": "最近3个月", - "last30Days": "最近30天", - "last7Days": "最近7天", - "noData": "暂无数据" - } - } - }, - "docCategories": { - "title": "文档分类", - "description": "管理文档分类", - "addCategory": "添加分类", - "createCategory": "创建分类", - "totalCategories": "分类总数", - "activeCategories": "已启用", - "inactiveCategories": "已禁用", - "allStatus": "全部状态", - "active": "已启用", - "inactive": "已禁用", - "status": "状态", - "icon": "图标", - "name": "分类名称", - "slug": "标识", - "categoryDescription": "描述", - "sort": "排序", - "createdAt": "创建时间", - "searchPlaceholder": "搜索分类名称...", - "noCategories": "暂无分类", - "deleteCategory": "删除分类", - "deleteConfirm": "确定要删除分类「{name}」吗?此操作不可撤销。", - "batchDeleteCategories": "批量删除分类", - "batchDeleteConfirm": "确定要删除选中的 {count} 个分类吗?此操作不可撤销。", - "batchEnableSuccess": "批量启用成功", - "batchDisableSuccess": "批量禁用成功", - "batchDeleteSuccess": "批量删除成功", - "batchEnableBtn": "批量启用", - "batchDisableBtn": "批量禁用", - "batchDeleteBtn": "批量删除", - "selectToEnable": "请选择要启用的分类", - "selectToDisable": "请选择要禁用的分类", - "selectToDelete": "请选择要删除的分类", - "openMenu": "打开菜单", - "activeBtn": "启用", - "inactiveBtn": "禁用", - "edit": "编辑", - "delete": "删除", - "columns": { - "name": "分类名称", - "slug": "标识", - "status": "状态", - "sort": "排序", - "createdAt": "创建时间", - "actions": "操作" - } - }, - "tickets": { - "title": "工单管理", - "description": "管理管理员提交的工单", - "ticketDetail": "工单详情", - "ticketNotFound": "工单不存在", - "submitter": "提交人", - "createTime": "创建时间", - "updateTime": "更新时间", - "category": "分类", - "problemDescription": "问题描述", - "replyList": "回复列表", - "noReplies": "暂无回复", - "replyContent": "回复内容", - "replyPlaceholder": "请输入回复内容...", - "markProcessing": "标记处理中", - "markResolved": "标记已解决", - "closeTicket": "关闭工单", - "deleteTicket": "删除工单", - "reply": "回复", - "admin": "管理员", - "deleteConfirm": "确定要删除工单「{title}」吗?此操作不可撤销。", - "batchDelete": "批量删除工单", - "batchDeleteConfirm": "确定要删除选中的 {count} 个工单吗?此操作不可撤销。", - "batchDeleteBtn": "批量删除", - "totalTickets": "总工单", - "select": "选择", - "viewDetail": "查看详情", - "replyTicket": "回复工单", - "changeStatus": "更改状态", - "reopen": "重新打开", - "fetchError": "获取工单列表失败", - "updateError": "更新失败", - "deleteSuccess": "删除成功", - "deleteError": "删除失败", - "statusUpdateSuccess": "状态更新成功", - "columns": { - "category": "分类", - "title": "标题", - "priority": "优先级", - "status": "状态", - "submitter": "提交人", - "createdAt": "创建时间", - "updatedAt": "更新时间" - }, - "categories": { - "technical": "技术问题", - "billing": "账单问题", - "feature": "功能建议", - "other": "其他" - }, - "priority": { - "low": "低", - "normal": "中", - "high": "高", - "urgent": "紧急" - }, - "status": { - "open": "待处理", - "processing": "处理中", - "resolved": "已解决", - "closed": "已关闭" - } - }, - "packages": { - "title": "套餐管理", - "description": "管理平台套餐方案", - "createPackage": "创建套餐", - "totalPackages": "套餐总数", - "activePackages": "已启用", - "inactivePackages": "已禁用", - "searchPlaceholder": "搜索套餐名称...", - "allStatus": "全部状态", - "active": "已启用", - "inactive": "已禁用", - "noPackages": "暂无套餐", - "deletePackage": "删除套餐", - "deleteConfirm": "确定要删除套餐\"{name}\"吗?此操作无法撤销。", - "batchDeletePackages": "批量删除套餐", - "batchDeleteConfirm": "确定要删除选中的 {count} 个套餐吗?此操作无法撤销。", - "statusUpdateSuccess": "状态更新成功", - "statusUpdateFailed": "状态更新失败", - "deleteSuccess": "删除成功", - "deleteFailed": "删除失败", - "batchUpdateSuccess": "批量更新成功", - "batchUpdateFailed": "批量更新失败", - "batchEnable": "批量启用", - "batchDisable": "批量禁用", - "batchDelete": "批量删除", - "batchEnableBtn": "批量启用", - "batchDisableBtn": "批量禁用", - "batchDeleteBtn": "批量删除", - "enable": "启用", - "disable": "禁用", - "edit": "编辑", - "recommended": "推荐", - "unlimited": "不限", - "columns": { - "name": "套餐名称", - "price": "价格", - "maxApplications": "应用数量", - "maxStorage": "存储空间", - "maxApiCalls": "API调用/月", - "status": "状态", - "sort": "排序", - "createdAt": "创建时间", - "actions": "操作" - }, - "period": { - "monthly": "月", - "quarterly": "季", - "yearly": "年", - "permanent": "永久", - "month": "月", - "quarter": "季", - "year": "年" - }, - "create": { - "title": "创建套餐", - "editTitle": "编辑套餐", - "basicInfo": "基本信息", - "basicInfoDesc": "填写套餐的基本信息", - "permissionConfig": "权限配置", - "permissionConfigDesc": "配置套餐的权限限制", - "name": "套餐名称", - "namePlaceholder": "请输入套餐名称", - "nameEn": "英文名称", - "nameEnPlaceholder": "请输入英文名称", - "description": "描述", - "descriptionPlaceholder": "请输入套餐描述", - "descriptionEn": "英文描述", - "descriptionEnPlaceholder": "请输入英文描述", - "price": "价格", - "pricePlaceholder": "请输入价格", - "currency": "货币", - "period": "周期", - "sort": "排序", - "isRecommended": "推荐套餐", - "allowUpgrade": "允许升级", - "maxApplications": "最大应用数", - "maxApplicationsPlaceholder": "-1表示不限", - "maxStorage": "存储空间(MB)", - "maxStoragePlaceholder": "-1表示不限", - "maxApiCalls": "API调用次数/月", - "maxApiCallsPlaceholder": "-1表示不限", - "allowAgent": "代理权限", - "allowCloudData": "云端数据", - "allowDynamicCode": "云端函数", - "allowEmail": "邮件功能", - "allowExtension": "扩展接口", - "prioritySupport": "优先支持", - "submit": "创建套餐", - "update": "保存修改", - "cancel": "取消", - "nameRequired": "请填写套餐名称", - "createSuccess": "创建成功", - "createFailed": "创建失败", - "updateSuccess": "更新成功", - "updateFailed": "更新失败" - } - }, - "docs": { - "title": "文档管理", - "description": "管理平台文档", - "createDoc": "创建文档", - "totalDocs": "文档总数", - "searchPlaceholder": "搜索文档标题...", - "allCategories": "全部分类", - "allStatus": "全部状态", - "active": "已启用", - "inactive": "已禁用", - "noDocs": "暂无文档", - "deleteDoc": "删除文档", - "deleteConfirm": "确定要删除文档\"{title}\"吗?此操作无法撤销。", - "batchDeleteDocs": "批量删除文档", - "batchDeleteConfirm": "确定要删除选中的 {count} 个文档吗?此操作无法撤销。", - "deleteSuccess": "删除成功", - "deleteFailed": "删除失败", - "batchDeleteSuccess": "批量删除成功", - "batchDeleteFailed": "批量删除失败", - "batchDelete": "批量删除", - "batchDeleteBtn": "批量删除", - "edit": "编辑", - "columns": { - "title": "标题", - "category": "分类", - "status": "状态", - "sort": "排序", - "createdAt": "创建时间", - "actions": "操作" - } - } - }, "pricing": { "title": "选择适合您的方案", "subtitle": "灵活的定价方案,满足不同规模和需求的业务场景",