{ "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", "total": "Total", "items": "items", "prev": "Previous", "next": "Next" }, "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", "proxyAddress": "Proxy Wallet Address" }, "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", "walletType": "Wallet Type", "walletTypeHelp": "Web3 Wallet: Polymarket accounts connected via browser wallets like MetaMask\nMagic: Polymarket accounts logged in via email or social accounts (Google, Twitter, etc.)", "walletTypeMagic": "Magic (Email/Social Login)", "walletTypeSafe": "Web3 Wallet" }, "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", "announcements": "Announcements", "users": "User Management", "systemSettings": "System", "systemOverview": "Overview", "language": "Language", "rpcNodes": "RPC Nodes", "apiHealth": "API Health", "builderApiKey": "Builder API Key", "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." }, "systemSettings": { "title": "General Settings", "language": { "title": "Language Settings", "currentLanguage": "Current Language", "languageRequired": "Please select a language" }, "notification": { "title": "Notification Settings" }, "relayer": { "title": "Relayer Configuration" }, "proxy": { "title": "Proxy Settings" }, "autoRedeem": { "title": "Auto Redeem Configuration", "label": "Enable Auto Redeem", "tooltip": "When enabled, the system will automatically redeem all redeemable positions in all accounts. Requires Builder API Key configuration to take effect.", "builderApiKeyNotConfigured": "Builder API Key Not Configured", "builderApiKeyNotConfiguredDesc": "Auto redeem feature requires Builder API Key configuration to take effect.", "goToConfigure": "Go to Configure", "saveSuccess": "Auto redeem configuration saved", "saveFailed": "Failed to save auto redeem configuration" } }, "builderApiKey": { "title": "Builder API Key Configuration", "alertTitle": "What is Builder API Key?", "description": "Builder API Key is a system-level configuration, not related to your account. It is an API credential for Polymarket's Builder service, used to execute Gasless (no gas fee) transactions.", "purposeTitle": "Main purposes:", "purpose1": "Execute Gasless transactions: Operations like redeeming positions and creating orders don't require gas fees", "purpose2": "Improve user experience: No need to prepare MATIC tokens in wallet for gas fees", "purpose3": "Reduce transaction costs: Gas fees are covered by Builder service", "getApiKey": "Get API Key:", "openSettings": "Go to Polymarket Settings", "apiKey": "Builder API Key", "secret": "Builder Secret", "passphrase": "Builder Passphrase", "apiKeyPlaceholder": "Please enter Builder API Key", "secretPlaceholder": "Please enter Builder Secret", "passphrasePlaceholder": "Please enter Builder Passphrase", "apiKeyHelp": "Configured, enter new value to update", "secretHelp": "Configured, enter new value to update", "passphraseHelp": "Configured, enter new value to update", "saveSuccess": "Builder API Key configuration saved successfully", "saveFailed": "Failed to save Builder API Key configuration", "getFailed": "Failed to get Builder API Key configuration", "noChanges": "No fields to update", "notConfigured": "Builder API Key not configured, please go to System Settings to configure", "notConfiguredError": "Builder API Key not configured, cannot execute Gasless transactions. Please go to System Settings to configure Builder API Key.", "apiReference": "API Reference Documentation", "apiReferenceDesc": "Learn more about Builder API usage:", "relayerApiDocs": "Builder Relayer API Documentation", "builderDocs": "Builder Development Documentation", "apiTest": "API Test", "apiTestDesc": "Test if Builder API is working correctly", "testNonce": "Test Get Nonce", "testNonceHelp": "Enter Safe address (proxyAddress)", "testDeployed": "Test Check Deployed Status", "testDeployedHelp": "Enter Safe address (proxyAddress)", "testTransaction": "Test Get Transaction Status", "testTransactionHelp": "Enter transaction ID", "testAddressRequired": "Please enter address", "testTransactionIdRequired": "Please enter transaction ID", "testAddressPlaceholder": "Enter address, e.g., 0x...", "testTransactionIdPlaceholder": "Enter transaction ID", "testSuccess": "Test successful", "testFailed": "Test failed" }, "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", "remark": "Remark", "website": "Website", "openWebsite": "Open Website", "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" }, "leaderAdd": { "title": "Add Leader", "back": "Back", "leaderAddress": "Leader Wallet Address", "leaderAddressRequired": "Please enter Leader wallet address", "leaderAddressInvalid": "Invalid wallet address format (must be a 42-character address starting with 0x)", "leaderAddressTooltip": "The wallet address of the leader to be copied. The system will monitor transactions from this address and automatically copy trade", "leaderName": "Leader Name", "leaderNameTooltip": "Optional, used to identify the Leader for easier management", "leaderNamePlaceholder": "Optional, used to identify the Leader", "remark": "Leader Remark", "remarkTooltip": "Optional, used to record remarks about the Leader", "remarkPlaceholder": "Optional, used to record remarks about the Leader", "website": "Leader Website", "websiteTooltip": "Optional, Leader's website link", "websitePlaceholder": "Optional, e.g.: https://example.com", "websiteInvalid": "Please enter a valid URL address", "category": "Category Filter", "categoryTooltip": "Only copy trades of this category. Leave empty to copy all categories (sports or crypto)", "categoryPlaceholder": "Select category (optional)", "add": "Add Leader", "cancel": "Cancel", "addSuccess": "Leader added successfully", "addFailed": "Failed to add Leader" }, "leaderEdit": { "title": "Edit Leader", "leaderName": "Leader Name", "leaderNameTooltip": "Optional, used to identify the Leader for easier management", "leaderNamePlaceholder": "Optional, used to identify the Leader", "remark": "Leader Remark", "remarkTooltip": "Optional, used to record remarks about the Leader", "remarkPlaceholder": "Optional, used to record remarks about the Leader", "website": "Leader Website", "websiteTooltip": "Optional, Leader's website link", "websitePlaceholder": "Optional, e.g.: https://example.com", "websiteInvalid": "Please enter a valid URL address", "category": "Category Filter", "categoryTooltip": "Only copy trades of this category. Leave empty to copy all categories (sports or crypto)", "categoryPlaceholder": "Select category (optional)", "save": "Save", "cancel": "Cancel", "saveSuccess": "Leader updated successfully", "saveFailed": "Failed to update Leader", "fetchFailed": "Failed to get Leader details", "invalidId": "Invalid Leader ID" }, "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": "Check total order amount (bids + asks) in orderbook to ensure sufficient liquidity. Leave empty to disable", "minOrderDepthPlaceholder": "For example: 100 (optional, leave empty to disable)", "maxSpread": "Max Spread (Absolute Price)", "maxSpreadTooltip": "Maximum spread (absolute price). Avoid copying in markets with excessive spreads. Leave empty to disable", "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)", "priceRangeFilter": "Price Range Filter", "priceRange": "Price Range", "priceRangeTooltip": "Only copy orders where Leader's trade price is within the specified range. Leave empty to disable. Examples: Fill 0.11 and 0.89 means only copy orders with price between 0.11 and 0.89; Fill only max price 0.89 means only copy orders with price below 0.89; Fill only min price 0.11 means only copy orders with price above 0.11.", "minPricePlaceholder": "Min Price (leave empty for no limit)", "maxPricePlaceholder": "Max Price (leave empty for no limit)", "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": "Check total order amount (bids + asks) in orderbook to ensure sufficient liquidity. Leave empty to disable", "minOrderDepthPlaceholder": "For example: 100 (optional, leave empty to disable)", "maxSpread": "Max Spread (Absolute Price)", "maxSpreadTooltip": "Maximum spread (absolute price). Avoid copying in markets with excessive spreads. Leave empty to disable", "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)", "priceRangeFilter": "Price Range Filter", "priceRange": "Price Range", "priceRangeTooltip": "Only copy orders where Leader's trade price is within the specified range. Leave empty to disable. Examples: Fill 0.11 and 0.89 means only copy orders with price between 0.11 and 0.89; Fill only max price 0.89 means only copy orders with price below 0.89; Fill only min price 0.11 means only copy orders with price above 0.11.", "minPricePlaceholder": "Min Price (leave empty for no limit)", "maxPricePlaceholder": "Max Price (leave empty for no limit)", "positionLimitFilter": "Max Position Limit", "maxPositionValue": "Max Position Value (USDC)", "maxPositionValueTooltip": "Limit the maximum position value for a single market. If the current position value + copy order amount exceeds this limit, the order will not be placed. Leave empty to disable", "maxPositionValuePlaceholder": "For example: 100 (optional, leave empty to disable)", "maxPositionCount": "Max Position Count", "maxPositionCountTooltip": "Limit the maximum position count for a single market. If the current position count reaches or exceeds this limit, the order will not be placed. Leave empty to disable", "maxPositionCountPlaceholder": "For example: 10 (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": "Check total order amount (bids + asks) in orderbook to ensure sufficient liquidity. Leave empty to disable", "minOrderDepthPlaceholder": "For example: 100 (optional, leave empty to disable)", "maxSpread": "Max Spread (Absolute Price)", "maxSpreadTooltip": "Maximum spread (absolute price). Avoid copying in markets with excessive spreads. Leave empty to disable", "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)", "priceRangeFilter": "Price Range Filter", "priceRange": "Price Range", "priceRangeTooltip": "Only copy orders where Leader's trade price is within the specified range. Leave empty to disable. Examples: Fill 0.11 and 0.89 means only copy orders with price between 0.11 and 0.89; Fill only max price 0.89 means only copy orders with price below 0.89; Fill only min price 0.11 means only copy orders with price above 0.11.", "minPricePlaceholder": "Min Price (leave empty for no limit)", "maxPricePlaceholder": "Max Price (leave empty for no limit)", "positionLimitFilter": "Max Position Limit", "maxPositionValue": "Max Position Value (USDC)", "maxPositionValueTooltip": "Limit the maximum position value for a single market. If the current position value + copy order amount exceeds this limit, the order will not be placed. Leave empty to disable", "maxPositionValuePlaceholder": "For example: 100 (optional, leave empty to disable)", "maxPositionCount": "Max Position Count", "maxPositionCountTooltip": "Limit the maximum position count for a single market. If the current position count reaches or exceeds this limit, the order will not be placed. Leave empty to disable", "maxPositionCountPlaceholder": "For example: 10 (optional, leave empty to disable)", "configName": "Configuration Name", "configNameRequired": "Please enter configuration name", "configNamePlaceholder": "e.g., Copy Trading Config 1", "configNameTooltip": "Set a name for the copy trading configuration for easy identification and management", "advancedSettings": "Advanced Settings", "pushFailedOrders": "Push Failed Orders", "pushFailedOrdersTooltip": "When enabled, failed orders will be pushed to Telegram", "autoRedeem": "Auto Redeem", "autoRedeemTooltip": "When enabled, the system will automatically redeem redeemable positions. Requires Builder API Key configuration to take effect", "builderApiKeyNotConfigured": "Builder API Key Not Configured", "builderApiKeyNotConfiguredDesc": "Auto redeem feature requires Builder API Key configuration to take effect.", "goToConfigure": "Go to Configure", "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", "noAccounts": "No accounts", "importAccount": "Import Account", "noLeaders": "No Leaders", "addLeader": "Add Leader" }, "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": "Check total order amount (bids + asks) in orderbook to ensure sufficient liquidity. Leave empty to disable", "minOrderDepthPlaceholder": "For example: 100 (optional, leave empty to disable)", "maxSpread": "Max Spread (Absolute Price)", "maxSpreadTooltip": "Maximum spread (absolute price). Avoid copying in markets with excessive spreads. Leave empty to disable", "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)", "priceRangeFilter": "Price Range Filter", "priceRange": "Price Range", "priceRangeTooltip": "Only copy orders where Leader's trade price is within the specified range. Leave empty to disable. Examples: Fill 0.11 and 0.89 means only copy orders with price between 0.11 and 0.89; Fill only max price 0.89 means only copy orders with price below 0.89; Fill only min price 0.11 means only copy orders with price above 0.11.", "minPricePlaceholder": "Min Price (leave empty for no limit)", "maxPricePlaceholder": "Max Price (leave empty for no limit)", "positionLimitFilter": "Max Position Limit", "maxPositionValue": "Max Position Value (USDC)", "maxPositionValueTooltip": "Limit the maximum position value for a single market. If the current position value + copy order amount exceeds this limit, the order will not be placed. Leave empty to disable", "maxPositionValuePlaceholder": "For example: 100 (optional, leave empty to disable)", "maxPositionCount": "Max Position Count", "maxPositionCountTooltip": "Limit the maximum position count for a single market. If the current position count reaches or exceeds this limit, the order will not be placed. Leave empty to disable", "maxPositionCountPlaceholder": "For example: 10 (optional, leave empty to disable)", "configName": "Configuration Name", "configNameRequired": "Please enter configuration name", "configNamePlaceholder": "e.g., Copy Trading Config 1", "configNameTooltip": "Set a name for the copy trading configuration for easy identification and management", "advancedSettings": "Advanced Settings", "pushFailedOrders": "Push Failed Orders", "pushFailedOrdersTooltip": "When enabled, failed orders will be pushed to Telegram", "autoRedeem": "Auto Redeem", "autoRedeemTooltip": "When enabled, the system will automatically redeem redeemable positions. Requires Builder API Key configuration to take effect", "builderApiKeyNotConfigured": "Builder API Key Not Configured", "builderApiKeyNotConfiguredDesc": "Auto redeem feature requires Builder API Key configuration to take effect.", "goToConfigure": "Go to Configure", "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", "priceRange": "Price Range Mismatch", "maxPositionValue": "Exceeds Max Position Value", "maxPositionCount": "Exceeds Max Position Count", "unknown": "Unknown Reason" }, "noData": "No filtered orders" }, "copyTradingList": { "title": "Copy Trading Config Management", "addCopyTrading": "Add Copy Trading", "configName": "Config Name", "configNameNotProvided": "Not Provided", "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", "matchedOrders": "Matched Orders", "ordersButton": "Orders", "viewStatistics": "View Statistics", "buyOrders": "Buy Orders", "sellOrders": "Sell 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" }, "announcements": { "title": "Announcements", "noAnnouncements": "No announcements", "noDetail": "Please select an announcement to view details", "viewMore": "View more announcements", "author": "Author", "createdAt": "Published at", "noTitle": "No title", "expand": "Expand all", "collapse": "Collapse", "refresh": "Refresh", "list": "List" }, "copyTradingOrders": { "title": "Order List", "buyOrders": "Buy Orders", "sellOrders": "Sell Orders", "matchedOrders": "Matched Orders", "filteredOrders": "Filtered Orders", "statistics": "Copy Trading Statistics", "orderId": "Order ID", "leaderTradeId": "Leader Trade ID", "market": "Market", "marketId": "Market ID", "side": "Side", "buyQuantity": "Buy Quantity", "buyPrice": "Buy Price", "buyAmount": "Buy Amount", "sellQuantity": "Sell Quantity", "sellPrice": "Sell Price", "sellAmount": "Sell Amount", "matchedQuantity": "Matched", "remainingQuantity": "Remaining", "sellStatus": "Sell Status", "status": "Status", "statusFilled": "Filled", "statusPartiallySold": "Partially Sold", "statusFullySold": "Fully Sold", "realizedPnl": "Realized PnL", "createdAt": "Created At", "matchedAt": "Matched At", "sellOrderId": "Sell Order ID", "buyOrderId": "Buy Order ID", "priceInfo": "Price Info", "buy": "Buy", "sell": "Sell", "buyInfo": "Buy Info", "sellInfo": "Sell Info", "matchInfo": "Match Info", "matched": "Matched", "remaining": "Remaining", "quantity": "Quantity", "price": "Price", "amount": "Amount", "filterMarketId": "Filter Market ID", "filterSide": "Filter Side", "filterStatus": "Filter Status", "filterSellOrderId": "Filter Sell Order ID", "filterBuyOrderId": "Filter Buy Order ID", "noBuyOrders": "No buy orders", "noSellOrders": "No sell orders", "noMatchedOrders": "No matched orders", "fetchBuyOrdersFailed": "Failed to fetch buy orders", "fetchSellOrdersFailed": "Failed to fetch sell orders", "fetchMatchedOrdersFailed": "Failed to fetch matched orders", "fetchStatisticsFailed": "Failed to fetch statistics", "noStatistics": "No statistics available", "totalBuyOrders": "Total Buy Orders", "totalSellOrders": "Total Sell Orders", "totalMatchedOrders": "Total Matched Orders", "totalBuyAmount": "Total Buy Amount", "totalSellAmount": "Total Sell Amount", "totalPnl": "Total PnL", "totalRealizedPnl": "Total Realized PnL", "totalUnrealizedPnl": "Total Unrealized PnL", "winRate": "Win Rate", "averagePnl": "Average PnL", "maxPnl": "Max PnL", "minPnl": "Min PnL" }, "rpcNodeSettings": { "title": "Polygon RPC Node Configuration", "fetchFailed": "Failed to fetch node list", "checkHealthSuccess": "Health check completed", "checkHealthFailed": "Health check failed", "deleteSuccess": "Deleted successfully", "deleteFailed": "Failed to delete", "adjustPrioritySuccess": "Priority adjusted successfully", "adjustPriorityFailed": "Failed to adjust priority", "priority": "Priority", "providerType": "Provider", "name": "Name", "status": "Status", "statusHealthy": "Available", "statusUnhealthy": "Unavailable", "statusUnknown": "Unknown", "responseTime": "Response Time", "enabled": "Enabled", "actions": "Actions", "check": "Check", "enableSuccess": "Enabled successfully", "disableSuccess": "Disabled successfully", "updateFailed": "Update failed", "checkSuccess": "Check completed", "checkFailed": "Check failed", "deleteConfirm": "Are you sure you want to delete this node?", "deleteConfirmOk": "Confirm", "deleteConfirmCancel": "Cancel", "delete": "Delete", "batchCheck": "Batch Check", "addNode": "Add Node", "addNodeTitle": "Add RPC Node", "validateAndAdd": "Validate and Add", "providerTypeLabel": "Provider Type", "providerTypeRequired": "Please select provider type", "nodeNameLabel": "Node Name", "nodeNameRequired": "Please enter node name", "nodeNamePlaceholder": "e.g.: My Alchemy Node", "apiKeyLabel": "API Key", "getApiKey": "Get API Key", "apiKeyRequired": "Please enter API Key", "apiKeyPlaceholder": "Enter your API Key", "httpUrlLabel": "HTTP RPC URL", "httpUrlRequired": "Please enter HTTP RPC URL", "httpUrlInvalid": "Please enter a valid URL", "httpUrlPlaceholder": "https://polygon-rpc.com", "wsUrlLabel": "WebSocket URL (Optional)", "wsUrlInvalid": "Please enter a valid URL", "wsUrlPlaceholder": "wss://polygon-rpc.com", "validateFailed": "Node validation failed:", "addSuccess": "Added successfully", "addFailed": "Failed to add", "validateError": "Validation failed", "operationFailed": "Operation failed", "customNode": "Custom Node", "providerAlchemy": "Alchemy", "providerInfura": "Infura", "providerQuickNode": "QuickNode", "providerChainstack": "Chainstack", "providerGetBlock": "GetBlock" } }