{ "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", "actions": "Actions", "all": "All", "createdAt": "Created At", "updatedAt": "Updated At", "status": "Status", "enabled": "Enabled", "disabled": "Disabled", "noData": "No Data", "saveConfig": "Save Config", "refreshConfig": "Refresh Config" }, "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": { "success": "Operation successful", "error": "Operation failed", "loading": "Loading...", "noData": "No Data", "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", "usernameRequired": "Please enter username", "passwordRequired": "Please enter password", "usernamePlaceholder": "Please enter username", "passwordPlaceholder": "Please enter password", "forgotPassword": "Forgot password?", "loginFailed": "Login failed", "loginSuccess": "Login successful" }, "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", "addAccount": "Add Account", "actions": "Actions", "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...", "fetchFailed": "Failed to get account list" }, "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", "accountNameRequired": "Please enter account name", "accountNamePlaceholder": "Optional, for identifying account", "accountNameHelp": "Used to identify account for management", "privateKeyHelp": "Private key will be encrypted and stored, only used for signing transactions", "submit": "Import", "invalidPrivateKey": "Invalid private key", "duplicateAccount": "Account already exists", "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", "leaderAddress": "Wallet Address", "walletAddress": "Wallet Address", "category": "Category", "all": "All", "copyTradingCount": "Copy Trading Count", "createdAt": "Created At", "action": "Actions", "add": "Add", "addLeader": "Add Leader", "edit": "Edit", "editLeader": "Edit Leader", "delete": "Delete", "deleteLeader": "Delete Leader", "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", "notifications": "Notifications", "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", "checkFailed": "Check Failed", "status": "Status", "responseTime": "Response Time", "lastCheck": "Last Check", "healthy": "Healthy", "unhealthy": "Unhealthy", "unknown": "Unknown", "normal": "Normal", "notConfigured": "Not Configured", "abnormal": "Abnormal" }, "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" }, "templateAdd": { "title": "Create Copy Trading Template", "back": "Back", "templateName": "Template Name", "templateNamePlaceholder": "Please enter template name", "templateNameRequired": "Please enter template name", "templateNameTooltip": "Unique identifier name for the template, used to distinguish different copy trading configuration templates. Template name must be unique and cannot duplicate other templates.", "copyMode": "Copy Amount Mode", "copyModeTooltip": "Select the calculation method for copy amount. Ratio mode: copy amount changes proportionally with Leader order size; Fixed amount mode: copy amount remains fixed regardless of Leader order size.", "ratioMode": "Ratio Mode", "fixedAmountMode": "Fixed Amount Mode", "copyRatio": "Copy Ratio", "copyRatioTooltip": "Copy ratio represents the percentage of copy amount relative to Leader order amount. For example: 100% means 1:1 copy, 50% means half position copy, 200% means double copy", "copyRatioPlaceholder": "For example: 100 means 100% (1:1 copy), default 100%", "fixedAmount": "Fixed Copy Amount (USDC)", "fixedAmountPlaceholder": "Fixed amount, does not change with Leader order size, must be >= 1", "fixedAmountRequired": "Please enter fixed copy amount", "fixedAmountError": "Fixed amount must be >= 1, please re-enter", "maxOrderSize": "Max Order Size (USDC)", "maxOrderSizeTooltip": "In ratio mode, limits the maximum amount cap for single copy order, used to prevent excessive copy amount and control risk. For example: set to 1000, even if calculated copy amount exceeds 1000, it will be limited to 1000 USDC.", "maxOrderSizePlaceholder": "Only effective in ratio mode (optional)", "minOrderSize": "Min Order Size (USDC)", "minOrderSizeTooltip": "In ratio mode, limits the minimum amount floor for single copy order, used to filter out orders with too small amounts, avoiding frequent small trades. If filled, must be >= 1 USDC. For example: set to 10, if calculated copy amount is less than 10, skip this order.", "minOrderSizePlaceholder": "Only effective in ratio mode, must be >= 1 (optional)", "minOrderSizeError": "Minimum amount must be >= 1", "maxDailyOrders": "Max Daily Copy Orders", "maxDailyOrdersTooltip": "Limits the maximum number of copy orders per day, used for risk control and preventing overtrading. For example: set to 50, when daily copy orders reach 50, stop copying, reset next day.", "maxDailyOrdersPlaceholder": "Default 100 (optional)", "priceTolerance": "Price Tolerance (%)", "priceToleranceTooltip": "Allowed adjustment range for copy price based on Leader price, used to adjust price within Leader price ± tolerance range to improve fill rate. For example: set to 5%, Leader price is 0.5, then copy price can be in 0.475-0.525 range.", "priceTolerancePlaceholder": "Default 5% (optional)", "minOrderDepth": "Min Order Depth (USDC)", "minOrderDepthTooltip": "Minimum order depth (USDC amount), NULL means this filter is not enabled. Ensures market has sufficient liquidity", "minOrderDepthPlaceholder": "For example: 100 (optional, leave empty to disable)", "maxSpread": "Max Spread (Absolute Price)", "maxSpreadTooltip": "Maximum spread (absolute price), NULL means this filter is not enabled. Avoid copying in markets with excessive spreads", "maxSpreadPlaceholder": "For example: 0.05 (5 cents, optional, leave empty to disable)", "minOrderbookDepth": "Min Orderbook Depth (USDC)", "minOrderbookDepthTooltip": "Minimum orderbook depth (USDC amount), NULL means this filter is not enabled. Check depth of first N levels", "minOrderbookDepthPlaceholder": "For example: 50 (optional, leave empty to disable)", "supportSell": "Support Sell", "supportSellTooltip": "Whether to copy Leader's sell orders. Enabled: copy both Leader's buy and sell orders; Disabled: only copy Leader's buy orders, ignore sell orders.", "create": "Create Template", "createSuccess": "Template created successfully", "createFailed": "Failed to create template", "invalidNumber": "Please enter a valid number" }, "templateEdit": { "title": "Edit Copy Trading Template", "back": "Back", "save": "Save Changes", "saveSuccess": "Template updated successfully", "saveFailed": "Failed to update template", "fetchFailed": "Failed to get template details", "templateName": "Template Name", "templateNamePlaceholder": "Please enter template name", "templateNameRequired": "Please enter template name", "templateNameTooltip": "Unique identifier name for the template, used to distinguish different copy trading configuration templates. Template name must be unique and cannot duplicate other templates.", "copyMode": "Copy Amount Mode", "copyModeTooltip": "Select the calculation method for copy amount. Ratio mode: copy amount changes proportionally with Leader order size; Fixed amount mode: copy amount remains fixed regardless of Leader order size.", "ratioMode": "Ratio Mode", "fixedAmountMode": "Fixed Amount Mode", "copyRatio": "Copy Ratio", "copyRatioTooltip": "Copy ratio represents the percentage of copy amount relative to Leader order amount. For example: 100% means 1:1 copy, 50% means half position copy, 200% means double copy", "copyRatioPlaceholder": "For example: 100 means 100% (1:1 copy), default 100%", "fixedAmount": "Fixed Copy Amount (USDC)", "fixedAmountPlaceholder": "Fixed amount, does not change with Leader order size, must be >= 1", "fixedAmountRequired": "Please enter fixed copy amount", "fixedAmountError": "Fixed amount must be >= 1, please re-enter", "fixedAmountTooltip": "In fixed amount mode, the fixed amount for each copy, does not change with Leader order size. Must be >= 1 USDC. For example: set to 10, then regardless of how much Leader buys, copy amount is always 10 USDC.", "maxOrderSize": "Max Order Size (USDC)", "maxOrderSizeTooltip": "In ratio mode, limits the maximum amount cap for single copy order, used to prevent excessive copy amount and control risk. For example: set to 1000, even if calculated copy amount exceeds 1000, it will be limited to 1000 USDC.", "maxOrderSizePlaceholder": "Only effective in ratio mode (optional)", "minOrderSize": "Min Order Size (USDC)", "minOrderSizeTooltip": "In ratio mode, limits the minimum amount floor for single copy order, used to filter out orders with too small amounts, avoiding frequent small trades. If filled, must be >= 1 USDC. For example: set to 10, if calculated copy amount is less than 10, skip this order.", "minOrderSizePlaceholder": "Only effective in ratio mode, must be >= 1 (optional)", "minOrderSizeError": "Minimum amount must be >= 1", "maxDailyOrders": "Max Daily Copy Orders", "maxDailyOrdersTooltip": "Limits the maximum number of copy orders per day, used for risk control and preventing overtrading. For example: set to 50, when daily copy orders reach 50, stop copying, reset next day.", "maxDailyOrdersPlaceholder": "Default 100 (optional)", "priceTolerance": "Price Tolerance (%)", "priceToleranceTooltip": "Allowed adjustment range for copy price based on Leader price, used to adjust price within Leader price ± tolerance range to improve fill rate. For example: set to 5%, Leader price is 0.5, then copy price can be in 0.475-0.525 range.", "priceTolerancePlaceholder": "Default 5% (optional)", "minOrderDepth": "Min Order Depth (USDC)", "minOrderDepthTooltip": "Minimum order depth (USDC amount), NULL means this filter is not enabled. Ensures market has sufficient liquidity", "minOrderDepthPlaceholder": "For example: 100 (optional, leave empty to disable)", "maxSpread": "Max Spread (Absolute Price)", "maxSpreadTooltip": "Maximum spread (absolute price), NULL means this filter is not enabled. Avoid copying in markets with excessive spreads", "maxSpreadPlaceholder": "For example: 0.05 (5 cents, optional, leave empty to disable)", "minOrderbookDepth": "Min Orderbook Depth (USDC)", "minOrderbookDepthTooltip": "Minimum orderbook depth (USDC amount), NULL means this filter is not enabled. Check depth of first N levels", "minOrderbookDepthPlaceholder": "For example: 50 (optional, leave empty to disable)", "supportSell": "Support Sell", "supportSellTooltip": "Whether to copy Leader's sell orders. Enabled: copy both Leader's buy and sell orders; Disabled: only copy Leader's buy orders, ignore sell orders.", "invalidNumber": "Please enter a valid number" }, "copyTradingAdd": { "title": "Add Copy Trading Config", "back": "Back", "selectWallet": "Select Wallet", "selectWalletPlaceholder": "Please select wallet", "walletRequired": "Please select wallet", "selectLeader": "Select Leader", "selectLeaderPlaceholder": "Please select Leader", "leaderRequired": "Please select Leader", "enabled": "Enabled Status", "selectTemplate": "Select Template", "selectTemplateFromModal": "Fill Config from Template", "templateFilled": "Template content filled, you can modify", "basicConfig": "Basic Config", "copyMode": "Copy Amount Mode", "copyModeTooltip": "Select the calculation method for copy amount. Ratio mode: copy amount changes proportionally with Leader order size; Fixed amount mode: copy amount remains fixed regardless of Leader order size.", "ratioMode": "Ratio Mode", "fixedAmountMode": "Fixed Amount Mode", "ratio": "Ratio", "fixed": "Fixed", "copyRatio": "Copy Ratio", "copyRatioTooltip": "Copy ratio represents the percentage of copy amount relative to Leader order amount. For example: 100% means 1:1 copy, 50% means half position copy, 200% means double copy", "copyRatioPlaceholder": "For example: 100 means 100% (1:1 copy), default 100%", "fixedAmount": "Fixed Copy Amount (USDC)", "fixedAmountPlaceholder": "Fixed amount, does not change with Leader order size, must be >= 1", "fixedAmountRequired": "Please enter fixed copy amount", "fixedAmountMin": "Fixed amount must be >= 1", "maxOrderSize": "Max Order Size (USDC)", "maxOrderSizeTooltip": "In ratio mode, limits the maximum amount cap for single copy order", "maxOrderSizePlaceholder": "Only effective in ratio mode (optional)", "minOrderSize": "Min Order Size (USDC)", "minOrderSizeTooltip": "In ratio mode, limits the minimum amount floor for single copy order, must be >= 1", "minOrderSizePlaceholder": "Only effective in ratio mode, must be >= 1 (optional)", "minOrderSizeMin": "Minimum amount must be >= 1", "maxDailyLoss": "Max Daily Loss Limit (USDC)", "maxDailyLossTooltip": "Limits the maximum daily loss amount, used for risk control", "maxDailyLossPlaceholder": "Default 10000 USDC (optional)", "maxDailyOrders": "Max Daily Copy Orders", "maxDailyOrdersTooltip": "Limits the maximum number of copy orders per day", "maxDailyOrdersPlaceholder": "Default 100 (optional)", "priceTolerance": "Price Tolerance (%)", "priceToleranceTooltip": "Allowed adjustment range for copy price based on Leader price", "priceTolerancePlaceholder": "Default 5% (optional)", "delaySeconds": "Copy Delay (seconds)", "delaySecondsTooltip": "Copy delay time, 0 means copy immediately", "delaySecondsPlaceholder": "Default 0 (copy immediately)", "filterConditions": "Filter Conditions (Optional)", "minOrderDepth": "Min Order Depth (USDC)", "minOrderDepthTooltip": "Minimum order depth (USDC amount), NULL means this filter is not enabled. Ensures market has sufficient liquidity", "minOrderDepthPlaceholder": "For example: 100 (optional, leave empty to disable)", "maxSpread": "Max Spread (Absolute Price)", "maxSpreadTooltip": "Maximum spread (absolute price), NULL means this filter is not enabled. Avoid copying in markets with excessive spreads", "maxSpreadPlaceholder": "For example: 0.05 (5 cents, optional, leave empty to disable)", "minOrderbookDepth": "Min Orderbook Depth (USDC)", "minOrderbookDepthTooltip": "Minimum orderbook depth (USDC amount), NULL means this filter is not enabled. Check depth of first N levels", "minOrderbookDepthPlaceholder": "For example: 50 (optional, leave empty to disable)", "supportSell": "Support Sell", "supportSellTooltip": "Whether to copy Leader's sell orders", "create": "Create Copy Trading Config", "createSuccess": "Copy trading config created successfully", "createFailed": "Failed to create copy trading config", "invalidNumber": "Please enter a valid number", "fetchLeaderFailed": "Failed to get Leader list", "fetchTemplateFailed": "Failed to get template list", "templateName": "Template Name" }, "copyTradingEdit": { "title": "Edit Copy Trading Config", "back": "Back", "wallet": "Wallet", "leader": "Leader", "selectWallet": "Wallet", "selectLeader": "Leader", "basicConfig": "Basic Config", "copyMode": "Copy Amount Mode", "copyModeTooltip": "Select the calculation method for copy amount", "ratioMode": "Ratio Mode", "fixedAmountMode": "Fixed Amount Mode", "copyRatio": "Copy Ratio", "copyRatioTooltip": "Copy ratio represents the percentage of copy amount relative to Leader order amount", "copyRatioPlaceholder": "For example: 100 means 100% (1:1 copy)", "fixedAmount": "Fixed Copy Amount (USDC)", "fixedAmountPlaceholder": "Fixed amount, does not change with Leader order size, must be >= 1", "fixedAmountRequired": "Please enter fixed copy amount", "fixedAmountMin": "Fixed amount must be >= 1", "maxOrderSize": "Max Order Size (USDC)", "maxOrderSizeTooltip": "In ratio mode, limits the maximum amount cap for single copy order", "maxOrderSizePlaceholder": "Only effective in ratio mode (optional)", "minOrderSize": "Min Order Size (USDC)", "minOrderSizeTooltip": "In ratio mode, limits the minimum amount floor for single copy order, must be >= 1", "minOrderSizePlaceholder": "Only effective in ratio mode, must be >= 1 (optional)", "minOrderSizeMin": "Minimum amount must be >= 1", "maxDailyLoss": "Max Daily Loss Limit (USDC)", "maxDailyLossTooltip": "Limits the maximum daily loss amount, used for risk control", "maxDailyLossPlaceholder": "Default 10000 USDC (optional)", "maxDailyOrders": "Max Daily Copy Orders", "maxDailyOrdersTooltip": "Limits the maximum number of copy orders per day", "maxDailyOrdersPlaceholder": "Default 100 (optional)", "priceTolerance": "Price Tolerance (%)", "priceToleranceTooltip": "Allowed adjustment range for copy price based on Leader price", "priceTolerancePlaceholder": "Default 5% (optional)", "delaySeconds": "Copy Delay (seconds)", "delaySecondsTooltip": "Copy delay time, 0 means copy immediately", "delaySecondsPlaceholder": "Default 0 (copy immediately)", "filterConditions": "Filter Conditions (Optional)", "minOrderDepth": "Min Order Depth (USDC)", "minOrderDepthTooltip": "Minimum order depth (USDC amount), NULL means this filter is not enabled", "minOrderDepthPlaceholder": "For example: 100 (optional, leave empty to disable)", "maxSpread": "Max Spread (Absolute Price)", "maxSpreadTooltip": "Maximum spread (absolute price), NULL means this filter is not enabled", "maxSpreadPlaceholder": "For example: 0.05 (5 cents, optional, leave empty to disable)", "minOrderbookDepth": "Min Orderbook Depth (USDC)", "minOrderbookDepthTooltip": "Minimum orderbook depth (USDC amount), NULL means this filter is not enabled", "minOrderbookDepthPlaceholder": "For example: 50 (optional, leave empty to disable)", "supportSell": "Support Sell", "supportSellTooltip": "Whether to copy Leader's sell orders", "save": "Save", "saveSuccess": "Copy trading config updated successfully", "saveFailed": "Failed to update copy trading config", "fetchFailed": "Failed to get copy trading config", "invalidNumber": "Please enter a valid number" }, "filteredOrdersList": { "title": "Filtered Orders List", "fetchFailed": "Failed to fetch filtered orders list", "market": "Market", "outcome": "Outcome", "price": "Price", "size": "Size", "side": "Order Side", "calculatedQuantity": "Calculated Quantity", "filterType": "Filter Type", "filterReason": "Filter Reason", "createdAt": "Time", "filterByType": "Filter by Type", "filterTypes": { "orderDepth": "Insufficient Order Depth", "spread": "Spread Too Large", "orderbookDepth": "Insufficient Orderbook Depth", "priceValidity": "Invalid Price", "marketStatus": "Market Not Tradable", "orderbookError": "Orderbook Fetch Failed", "orderbookEmpty": "Orderbook Empty", "unknown": "Unknown Reason" } }, "copyTradingList": { "title": "Copy Trading Config Management", "addCopyTrading": "Add Copy Trading", "wallet": "Wallet", "account": "Account", "template": "Template", "leader": "Leader", "copyMode": "Copy Mode", "ratioMode": "Ratio", "fixedAmountMode": "Fixed", "enabled": "Enabled", "disabled": "Disabled", "totalPnl": "Total P&L", "statistics": "Statistics", "orders": "Orders", "viewStatistics": "View Statistics", "buyOrders": "Buy Orders", "sellOrders": "Sell Orders", "matchedOrders": "Matched Orders", "filteredOrders": "Filtered 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?" }, "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 @BotFather 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 @userinfobot", "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" } }