2025-12-04 10:36:28 +08:00
{
"common" : {
"back" : "Back" ,
"save" : "Save" ,
"cancel" : "Cancel" ,
"edit" : "Edit" ,
"delete" : "Delete" ,
"add" : "Add" ,
"search" : "Search" ,
"refresh" : "Refresh" ,
"loading" : "Loading..." ,
"success" : "Success" ,
"failed" : "Failed" ,
"confirm" : "Confirm" ,
"submit" : "Submit" ,
"reset" : "Reset" ,
"close" : "Close" ,
"yes" : "Yes" ,
"no" : "No"
},
"account" : {
"title" : "Account Management" ,
"list" : "Account List" ,
"detail" : "Account Details" ,
"import" : "Import Account" ,
"update" : "Update Account" ,
"delete" : "Delete Account" ,
"accountId" : "Account ID" ,
"accountName" : "Account Name" ,
"walletAddress" : "Wallet Address" ,
"balance" : "Account Balance" ,
"refreshBalance" : "Refresh Balance" ,
"apiCredentials" : "API Credentials Configuration" ,
"apiKey" : "API Key" ,
"apiSecret" : "API Secret" ,
"apiPassphrase" : "API Passphrase" ,
"configured" : "Configured" ,
"notConfigured" : "Not Configured" ,
"fullConfig" : "Full Configuration" ,
"partialConfig" : "Partial Configuration" ,
"statistics" : "Trading Statistics" ,
"totalOrders" : "Total Orders" ,
"activeOrders" : "Active Orders" ,
"completedOrders" : "Completed Orders" ,
"positionCount" : "Position Count" ,
"totalPnl" : "Total P&L" ,
"editTip" : "Edit Tip" ,
"editTipDesc" : "Leave API credential fields empty to keep unchanged. Enter new values to update API credentials." ,
"accountNamePlaceholder" : "Account Name (Optional)" ,
"leaveEmptyToNotModify" : "Leave empty to not modify" ,
"updateSuccess" : "Account updated successfully" ,
"updateFailed" : "Failed to update account" ,
"getDetailFailed" : "Failed to get account details" ,
"accountIdRequired" : "Account ID cannot be empty"
},
"message" : {
"loginSuccess" : "Login successful" ,
"loginFailed" : "Login failed" ,
"createUserSuccess" : "User created successfully" ,
"createUserFailed" : "Failed to create user" ,
"updatePasswordSuccess" : "Password updated successfully" ,
"updatePasswordFailed" : "Failed to update password"
},
"login" : {
"title" : "Login" ,
"username" : "Username" ,
"password" : "Password" ,
"usernamePlaceholder" : "Username" ,
"passwordPlaceholder" : "Password" ,
"usernameRequired" : "Please enter username" ,
"passwordRequired" : "Please enter password" ,
"forgotPassword" : "Forgot password? Reset password"
},
"order" : {
"create" : "Order Created" ,
"update" : "Order Updated" ,
"cancel" : "Order Cancelled" ,
"event" : "Order Event" ,
"buy" : "Buy" ,
"sell" : "Sell" ,
"market" : "Market" ,
"status" : "Status" ,
"filled" : "Filled" ,
"remaining" : "Remaining"
},
"accountList" : {
"title" : "Account Management" ,
"importAccount" : "Import Account" ,
"accountName" : "Account Name" ,
"walletAddress" : "Wallet Address" ,
"proxyAddress" : "Proxy Wallet Address" ,
"apiCredentials" : "API Credentials" ,
"balance" : "Balance" ,
"activeOrders" : "Active Orders" ,
"action" : "Actions" ,
"detail" : "Detail" ,
"edit" : "Edit" ,
"delete" : "Delete" ,
"viewDetail" : "View Detail" ,
"deleteConfirm" : "Are you sure you want to delete this account?" ,
"deleteConfirmDesc" : "Before deleting the account, please make sure all active orders are cancelled. This action cannot be undone!" ,
"deleteConfirmDescSimple" : "This action cannot be undone!" ,
"deleteConfirmOk" : "Confirm Delete" ,
"deleteSuccess" : "Account deleted successfully" ,
"deleteFailed" : "Failed to delete account" ,
"copySuccess" : "Copied to clipboard" ,
"copyFailed" : "Copy failed" ,
"fullConfig" : "Full Config" ,
"partialConfig" : "Partial Config" ,
"notConfigured" : "Not Configured" ,
"totalBalance" : "Total Balance" ,
"available" : "Available" ,
"position" : "Position" ,
"refreshBalance" : "Refresh Balance" ,
"refreshBalanceSuccess" : "Balance refreshed successfully" ,
"refreshBalanceFailed" : "Failed to refresh balance" ,
"getDetailFailed" : "Failed to get account detail" ,
"openDetailFailed" : "Failed to open detail" ,
"accountDetail" : "Account Detail" ,
"accountId" : "Account ID" ,
"apiKey" : "API Key" ,
"apiSecret" : "API Secret" ,
"apiPassphrase" : "API Passphrase" ,
"configured" : "Configured" ,
"notConfiguredStatus" : "Not Configured" ,
"configStatus" : "Config Status" ,
"statistics" : "Trading Statistics" ,
"totalOrders" : "Total Orders" ,
"activeOrdersCount" : "Active Orders" ,
"completedOrders" : "Completed Orders" ,
"positionCount" : "Position Count" ,
"totalPnl" : "Total PnL" ,
"editAccount" : "Edit Account" ,
"editTip" : "Edit Tip" ,
"editTipDesc" : "Leave API credential fields empty to keep unchanged. Enter new values to update API credentials." ,
"accountNamePlaceholder" : "Account Name (Optional)" ,
"leaveEmptyToNotModify" : "Leave empty to keep unchanged" ,
"updateSuccess" : "Account updated successfully" ,
"updateFailed" : "Failed to update account" ,
"getDetailFailedForEdit" : "Failed to get account detail" ,
"loading" : "Loading..."
},
"accountImport" : {
"title" : "Import Account" ,
"back" : "Back" ,
"securityTip" : "Security Tip" ,
"securityTipDesc" : "Private keys will be stored in the backend database. Please ensure database access is secure. HTTPS is recommended." ,
"importMethod" : "Import Method" ,
"privateKey" : "Private Key" ,
"mnemonic" : "Mnemonic" ,
"privateKeyLabel" : "Private Key" ,
"privateKeyPlaceholder" : "Enter private key (64-character hex string, 0x prefix optional)" ,
"privateKeyRequired" : "Please enter private key" ,
"privateKeyInvalid" : "Invalid private key format (should be 64-character hex string)" ,
"walletAddress" : "Wallet Address" ,
"walletAddressPlaceholder" : "Wallet address (will be derived from private key)" ,
"walletAddressRequired" : "Please enter wallet address" ,
"walletAddressInvalid" : "Invalid wallet address format" ,
"walletAddressMismatch" : "Wallet address does not match private key" ,
"mnemonicLabel" : "Mnemonic" ,
"mnemonicPlaceholder" : "Enter 12 or 24 words mnemonic (space-separated)" ,
"mnemonicRequired" : "Please enter mnemonic" ,
"mnemonicInvalid" : "Invalid mnemonic format (should be 12 or 24 words, space-separated)" ,
"walletAddressMismatchMnemonic" : "Wallet address does not match mnemonic" ,
"accountName" : "Account Name" ,
"accountNamePlaceholder" : "Optional, for identifying account" ,
"importAccount" : "Import Account" ,
"importSuccess" : "Account imported successfully" ,
"importFailed" : "Failed to import account" ,
"derivedAddress" : "Derived Address" ,
"addressError" : "Cannot derive address from private key" ,
"addressErrorMnemonic" : "Cannot derive address from mnemonic"
},
"leader" : {
"title" : "Leader Management" ,
"leaderName" : "Leader Name" ,
"walletAddress" : "Wallet Address" ,
"category" : "Category" ,
"all" : "All" ,
"copyTradingCount" : "Copy Trading Count" ,
"createdAt" : "Created At" ,
"action" : "Actions" ,
"add" : "Add" ,
"edit" : "Edit" ,
"delete" : "Delete" ,
"listFailed" : "Failed to get Leader list" ,
"deleteSuccess" : "Leader deleted successfully" ,
"deleteFailed" : "Failed to delete Leader" ,
"deleteConfirm" : "Are you sure you want to delete this Leader?" ,
"deleteConfirmDesc" : "This action cannot be undone!" ,
"deleteConfirmOk" : "Confirm Delete"
},
"menu" : {
"accounts" : "Account Management" ,
"copyTrading" : "Copy Trading" ,
"leaders" : "Leader Management" ,
"templates" : "Templates" ,
"copyTradingConfig" : "Copy Trading Config" ,
"positions" : "Position Management" ,
"statistics" : "Statistics" ,
"users" : "User Management" ,
"systemSettings" : "System" ,
"language" : "Language" ,
"apiHealth" : "API Health" ,
"proxy" : "Proxy" ,
2025-12-05 02:20:46 +08:00
"notifications" : "Notifications" ,
2025-12-04 10:36:28 +08:00
"logout" : "Logout" ,
"logoutConfirm" : "Confirm Logout" ,
"logoutConfirmDesc" : "Are you sure you want to logout?" ,
"navigation" : "Navigation Menu"
},
"languageSettings" : {
"title" : "Language Settings" ,
"currentLanguage" : "Current Language" ,
"followSystem" : "Follow System" ,
"currentSystemLanguage" : "Current System Language" ,
"description" : "After changing the language, the interface will update immediately." ,
"changeSuccess" : "Language changed successfully" ,
"changeFailed" : "Failed to change language"
},
"apiHealthStatus" : {
"title" : "API Health Status" ,
"normal" : "Normal" ,
"notConfigured" : "Not Configured" ,
"abnormal" : "Abnormal" ,
"responseTime" : "Response Time"
},
"proxySettings" : {
"title" : "Proxy Settings" ,
"enabled" : "Enable Proxy" ,
"host" : "Proxy Host" ,
"port" : "Proxy Port" ,
"username" : "Proxy Username (Optional)" ,
"password" : "Proxy Password (Optional)" ,
"hostRequired" : "Please enter proxy host address" ,
"hostInvalid" : "Please enter a valid host address" ,
"hostPlaceholder" : "e.g., 127.0.0.1 or proxy.example.com" ,
"portRequired" : "Please enter proxy port" ,
"portInvalid" : "Port must be between 1-65535" ,
"portPlaceholder" : "e.g., 8888" ,
"usernamePlaceholder" : "Enter username if proxy requires authentication" ,
"passwordPlaceholder" : "Enter password if proxy requires authentication" ,
"passwordPlaceholderUpdate" : "Leave empty to keep password unchanged" ,
"passwordHelp" : "Enter password if proxy requires authentication" ,
"passwordHelpUpdate" : "Leave empty to keep password unchanged, enter new password to update" ,
"check" : "Check Proxy" ,
"checkSuccess" : "Proxy check successful" ,
"checkFailed" : "Proxy check failed" ,
"saveSuccess" : "Configuration saved successfully" ,
"saveFailed" : "Failed to save configuration" ,
"getFailed" : "Failed to get proxy configuration" ,
"latency" : "Latency"
},
"configPage" : {
"title" : "Global Configuration" ,
"message" : "Configuration Function Migrated" ,
"description" : "Global configuration function has been migrated to the following pages:" ,
"templates" : "Templates" ,
"templatesDesc" : "Manage copy trading parameters (ratio, amount, risk control, etc.)" ,
"copyTrading" : "Copy Trading Config" ,
"copyTradingDesc" : "Associate accounts, templates and Leaders to enable copy trading relationships" ,
"systemSettings" : "System Settings" ,
"systemSettingsDesc" : "Configure proxy, view API health status" ,
"footer" : "Please use the above pages for configuration management."
},
"resetPassword" : {
"title" : "Reset Password" ,
"firstUse" : "First Time Using System" ,
"firstUseDesc" : "Please use the reset key provided by the administrator to set the initial password" ,
"resetKey" : "Reset Key" ,
"resetKeyRequired" : "Please enter reset key" ,
"resetKeyPlaceholder" : "Please enter reset key" ,
"username" : "Username" ,
"usernameRequired" : "Please enter username" ,
"usernamePlaceholder" : "Please enter username" ,
"newPassword" : "New Password" ,
"newPasswordRequired" : "Please enter new password" ,
"passwordPlaceholder" : "At least 6 characters" ,
"passwordMinLength" : "Password must be at least 6 characters" ,
"passwordStrength" : "Password Strength" ,
"weak" : "Weak" ,
"fair" : "Fair" ,
"medium" : "Medium" ,
"strong" : "Strong" ,
"veryStrong" : "Very Strong" ,
"confirmPassword" : "Confirm Password" ,
"confirmPasswordRequired" : "Please confirm password" ,
"confirmPasswordPlaceholder" : "Please enter password again" ,
"passwordMismatch" : "Passwords do not match" ,
"submit" : "Reset Password" ,
"success" : "Password reset successfully" ,
"failed" : "Password reset failed"
},
"leaderList" : {
"title" : "Leader Management" ,
"addLeader" : "Add Leader" ,
"leaderName" : "Leader Name" ,
"walletAddress" : "Wallet Address" ,
"category" : "Category" ,
"all" : "All" ,
"copyTradingCount" : "Copy Trading Count" ,
"copyTradingRelations" : "{{count}} copy trading relations" ,
"createdAt" : "Created At" ,
"noData" : "No Leader data" ,
"fetchFailed" : "Failed to get Leader list" ,
"deleteSuccess" : "Leader deleted successfully" ,
"deleteFailed" : "Failed to delete Leader" ,
"deleteConfirm" : "Are you sure you want to delete this Leader?" ,
"deleteConfirmDesc" : "This Leader has {{count}} copy trading relations, please delete them first"
},
"userList" : {
"title" : "User Management" ,
"username" : "Username" ,
"role" : "Role" ,
"defaultAccount" : "Default Account" ,
"normalUser" : "Normal User" ,
"updateMyPassword" : "Update My Password" ,
"addUser" : "Add User" ,
"createUser" : "Create User" ,
"updatePassword" : "Update Password" ,
"updateMyPasswordTitle" : "Update My Password" ,
"newPassword" : "New Password" ,
"password" : "Password" ,
"passwordRequired" : "Please enter password" ,
"passwordMinLength" : "Password must be at least 6 characters" ,
"passwordPlaceholder" : "At least 6 characters" ,
"usernameRequired" : "Please enter username" ,
"usernamePlaceholder" : "Please enter username" ,
"newPasswordRequired" : "Please enter new password" ,
"fetchFailed" : "Failed to get user list" ,
"createSuccess" : "User created successfully" ,
"createFailed" : "Failed to create user" ,
"updatePasswordSuccess" : "Password updated successfully" ,
"updatePasswordFailed" : "Failed to update password" ,
"updateOwnPasswordSuccess" : "Password updated successfully, please login again" ,
"updateOwnPasswordFailed" : "Failed to update password" ,
"deleteSuccess" : "User deleted successfully" ,
"deleteFailed" : "Failed to delete user" ,
"deleteConfirm" : "Are you sure you want to delete this user?" ,
"total" : "Total {{total}} items"
},
"statistics" : {
"title" : "Statistics" ,
"totalOrders" : "Total Orders" ,
"totalPnl" : "Total P&L" ,
"winRate" : "Win Rate" ,
"avgPnl" : "Average P&L" ,
"maxProfit" : "Max Profit" ,
"maxLoss" : "Max Loss" ,
"startDate" : "Start Date" ,
"endDate" : "End Date" ,
"fetchFailed" : "Failed to get statistics" ,
"refresh" : "Refresh" ,
"reset" : "Reset"
},
"orderList" : {
"title" : "Order Management" ,
"leader" : "Leader" ,
"market" : "Market" ,
"category" : "Category" ,
"side" : "Side" ,
"price" : "Price" ,
"size" : "Size" ,
"status" : "Status" ,
"pnl" : "P&L" ,
"createdAt" : "Created At" ,
"fetchFailed" : "Failed to get order list"
},
"templateList" : {
"title" : "Template Management" ,
"addTemplate" : "Add Template" ,
"searchPlaceholder" : "Search template name" ,
"templateName" : "Template Name" ,
"copyMode" : "Copy Mode" ,
"ratio" : "Ratio" ,
"fixedAmount" : "Fixed Amount" ,
"ratioMode" : "Ratio Mode" ,
"fixedAmountMode" : "Fixed Amount Mode" ,
"copyConfig" : "Copy Config" ,
"supportSell" : "Support Sell" ,
"notSupportSell" : "Not Support Sell" ,
"useCount" : "Use Count" ,
"timesUsed" : " times used" ,
"amountLimit" : "Amount Limit" ,
"max" : "Max" ,
"min" : "Min" ,
"notSet" : "Not Set" ,
"otherConfig" : "Other Config" ,
"maxDailyOrders" : "Max Daily Orders" ,
"priceTolerance" : "Price Tolerance" ,
"copy" : "Copy" ,
"copySuffix" : "Copy" ,
"noData" : "No template data" ,
"fetchFailed" : "Failed to get template list" ,
"deleteSuccess" : "Template deleted successfully" ,
"deleteFailed" : "Failed to delete template" ,
"deleteConfirm" : "Are you sure you want to delete this template?" ,
"deleteConfirmDesc" : "This action cannot be undone. Please ensure no copy trading relationships are using this template" ,
"copySuccess" : "Template copied successfully" ,
"copyFailed" : "Failed to copy template" ,
"minAmountError" : "Minimum amount must be >= 1" ,
"fixedAmountRequired" : "Please enter fixed copy trading amount" ,
"invalidNumber" : "Please enter a valid number" ,
"fixedAmountError" : "Fixed amount must be >= 1, please re-enter"
},
"copyTradingList" : {
"title" : "Copy Trading Config Management" ,
"addCopyTrading" : "Add Copy Trading" ,
"wallet" : "Wallet" ,
"account" : "Account" ,
"template" : "Template" ,
"leader" : "Leader" ,
"enabled" : "Enabled" ,
"disabled" : "Disabled" ,
"totalPnl" : "Total P&L" ,
"statistics" : "Statistics" ,
"orders" : "Orders" ,
"viewStatistics" : "View Statistics" ,
"buyOrders" : "Buy Orders" ,
"sellOrders" : "Sell Orders" ,
"matchedOrders" : "Matched Orders" ,
"filterWallet" : "Filter Wallet" ,
"filterTemplate" : "Filter Template" ,
"filterLeader" : "Filter Leader" ,
"fetchFailed" : "Failed to get copy trading list" ,
"startSuccess" : "Copy trading started successfully" ,
"stopSuccess" : "Copy trading stopped successfully" ,
"updateStatusFailed" : "Failed to update copy trading status" ,
"deleteSuccess" : "Copy trading deleted successfully" ,
"deleteFailed" : "Failed to delete copy trading" ,
"deleteConfirm" : "Are you sure you want to delete this copy trading relationship?"
2025-12-05 02:20:46 +08:00
},
"notificationSettings" : {
"title" : "Notification Settings" ,
"addConfig" : "Add Configuration" ,
"editConfig" : "Edit Configuration" ,
"configName" : "Configuration Name" ,
"configNamePlaceholder" : "e.g., My Telegram Bot" ,
"configNameRequired" : "Please enter configuration name" ,
"type" : "Notification Type" ,
"typeRequired" : "Please select notification type" ,
"enabled" : "Enabled Status" ,
"status" : "Status" ,
"enabledStatus" : "Enabled" ,
"disabledStatus" : "Disabled" ,
"chatIds" : "Chat IDs" ,
"chatIdsPlaceholder" : "Chat IDs (click button above to auto-fetch, or enter manually, separate multiple with commas)" ,
"chatIdsRequired" : "Please enter at least one Chat ID" ,
"chatIdsExtra" : "Multiple Chat IDs separated by commas, e.g., 123456789,987654321. Click button above to auto-fetch (need to send message to bot first)" ,
"chatIdsCount" : " recipients" ,
"chatIdsNotConfigured" : "Not Configured" ,
"edit" : "Edit" ,
"test" : "Test" ,
"delete" : "Delete" ,
"deleteConfirm" : "Are you sure you want to delete this configuration?" ,
"enableSuccess" : "Enabled" ,
"disableSuccess" : "Disabled" ,
"updateStatusFailed" : "Failed to update" ,
"deleteSuccess" : "Deleted successfully" ,
"deleteFailed" : "Failed to delete" ,
"createSuccess" : "Created successfully" ,
"createFailed" : "Failed to create" ,
"updateSuccess" : "Updated successfully" ,
"updateFailed" : "Failed to update" ,
"fetchFailed" : "Failed to get configuration list" ,
"testSuccess" : "Test message sent successfully, please check Telegram" ,
"testFailed" : "Failed to send test message" ,
"getChatIdsSuccess" : "Successfully fetched {count} Chat ID(s)" ,
"getChatIdsFailed" : "Failed to get Chat IDs" ,
"getChatIdsNoToken" : "Please enter Bot Token first" ,
"getChatIdsNoMessage" : "Chat ID not found, please send a message to the bot first (e.g., /start), then retry" ,
"getChatIdsButton" : "Get Chat ID"
},
"telegramConfig" : {
"title" : "Telegram Configuration Guide" ,
"step1" : "Create a Telegram bot via <strong>@BotFather</strong> and get Bot Token" ,
"step2" : "After entering Bot Token, click 'Get Chat ID' button to auto-fetch (need to send message to bot first)" ,
"step3" : "Or manually get Chat ID via <strong>@userinfobot</strong>" ,
"step4" : "Support multiple Chat IDs (separated by commas), all configured users will receive notifications" ,
"step5" : "Telegram messages will be sent automatically when orders succeed or fail" ,
"botToken" : "Bot Token" ,
"botTokenPlaceholder" : "Bot Token (from @BotFather)" ,
"botTokenRequired" : "Please enter Bot Token"
},
"discordConfig" : {
"title" : "Discord Configuration Guide" ,
"step1" : "Create a Webhook in Discord server" ,
"step2" : "Copy Webhook URL and enter in configuration" ,
"step3" : "Discord messages will be sent automatically when orders succeed or fail" ,
"webhookUrl" : "Webhook URL" ,
"webhookUrlPlaceholder" : "Webhook URL (from Discord server settings)" ,
"webhookUrlRequired" : "Please enter Webhook URL"
},
"slackConfig" : {
"title" : "Slack Configuration Guide" ,
"step1" : "Create an Incoming Webhook in Slack workspace" ,
"step2" : "Copy Webhook URL and enter in configuration" ,
"step3" : "Slack messages will be sent automatically when orders succeed or fail" ,
"webhookUrl" : "Webhook URL" ,
"webhookUrlPlaceholder" : "Webhook URL (from Slack App settings)" ,
"webhookUrlRequired" : "Please enter Webhook URL"
2025-12-04 10:36:28 +08:00
}
}