{ "common": { "back": "Back", "save": "Save", "cancel": "Cancel", "edit": "Edit", "viewDetail": "View Details", "delete": "Delete", "add": "Add", "search": "Search", "refresh": "Refresh", "loading": "Loading...", "success": "Success", "failed": "Failed", "confirm": "Confirm", "submit": "Submit", "reset": "Reset", "close": "Close", "create": "Create", "copy": "Copy", "copySuccess": "Copied successfully", "copyFailed": "Copy failed", "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", "previous": "Previous", "next": "Next", "page": "Page", "pageOf": "Page", "ascending": "Ascending", "descending": "Descending", "day": "day" }, "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", "walletType": "Wallet Type", "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", "walletType": "Wallet Type", "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", "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.)", "loadingProxyOptions": "Loading proxy addresses and asset information...", "selectProxyOption": "Please select account type", "proxyOptionRequired": "Please select a proxy address", "proxyOption": { "magic": { "description": "Email/Social Login Account (Magic)", "title": "Magic Proxy Address" }, "safe": { "description": "MetaMask Browser Wallet Account (Safe)", "title": "Safe Proxy Address" }, "proxyAddress": "Proxy Address", "proxyAddressHelp": "The proxy address is the wallet address you actually use on Polymarket: Magic for email/social login accounts, Safe for browser wallet (e.g. MetaMask) accounts. Please select the one that matches how you log in to Polymarket.", "availableBalance": "Available Balance", "positionBalance": "Position Balance", "totalBalance": "Total Balance", "positionCount": "Position Count", "noAssets": "No Assets", "hasAssets": "Has Assets", "error": "Failed to fetch", "select": "Select this proxy address" } }, "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", "cryptoTailStrategy": "Tail Strategy", "positions": "Position Management", "backtest": "Backtest", "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", "backtestCount": "Backtest Count", "copyTradingRelations": "{{count}} copy trading relations", "viewCopyTradings": "View Copy Tradings", "viewBacktests": "View Backtests", "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", "openDetailFailed": "Failed to open detail", "noCopyTradings": "No copy trading configs", "noBacktests": "No backtests" }, "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" }, "leaderDetail": { "title": "Leader Details", "loading": "Loading...", "invalidId": "Invalid Leader ID", "fetchFailed": "Failed to get Leader details", "fetchBalanceFailed": "Failed to get balance", "noBalanceData": "No balance data", "basicInfo": "Basic Information", "leaderName": "Leader Name", "leaderAddress": "Wallet Address", "category": "Category", "copyTradingCount": "Copy Trading Count", "remark": "Remark", "createdAt": "Created At", "updatedAt": "Updated At", "website": "Website", "openWebsite": "Open Website", "balanceInfo": "Balance Information", "refresh": "Refresh", "availableBalance": "Available Balance", "positionBalance": "Position Asset", "totalBalance": "Total Balance", "positions": "Positions", "noPositions": "No positions", "market": "Market", "marketId": "Market ID", "side": "Side", "quantity": "Quantity", "avgPrice": "Avg Price", "currentValue": "Current Value", "pnl": "PnL" }, "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", "pushFilteredOrders": "Push Filtered Orders", "pushFilteredOrdersTooltip": "When enabled, filtered orders will be pushed to Telegram", "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.", "pushFilteredOrders": "Push Filtered Orders", "pushFilteredOrdersTooltip": "When enabled, filtered orders will be pushed to Telegram", "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)", "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.", "pushFilteredOrders": "Push Filtered Orders", "pushFilteredOrdersTooltip": "When enabled, filtered orders will be pushed to Telegram", "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)", "keywordFilter": "Keyword Filter", "keywordFilterMode": "Filter Mode", "keywordFilterModeTooltip": "Select keyword filter mode. Whitelist: only copy markets containing keywords; Blacklist: do not copy markets containing keywords; Disabled: no keyword filtering. Keyword matching is case-insensitive.", "disabled": "Disabled", "whitelist": "Whitelist", "blacklist": "Blacklist", "keywords": "Keywords", "keywordPlaceholder": "Enter keyword, press Enter to add", "keywordExists": "Keyword already exists", "whitelistTooltip": "💡 Whitelist mode: only copy markets whose titles contain any of the above keywords (case-insensitive)", "blacklistTooltip": "💡 Blacklist mode: do not copy markets whose titles contain any of the above keywords (case-insensitive)", "marketEndDateFilter": "Market End Date Limit", "maxMarketEndDate": "Max Market End Date", "maxMarketEndDateTooltip": "Only copy orders with market end time less than the set time. For example: 24 hours means only copy markets with less than 24 hours remaining until settlement", "maxMarketEndDatePlaceholder": "Enter time value (optional)", "timeUnit": "Unit", "hour": "Hours", "day": "Days", "maxMarketEndDateNote": "💡 Note: Leave blank to disable this filter", "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", "pushFilteredOrders": "Push Filtered Orders", "pushFilteredOrdersTooltip": "When enabled, filtered 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", "leaderAssetInfo": "Leader Asset Info", "loadingAssetInfo": "Loading asset info...", "totalAsset": "Total Assets", "availableBalance": "Available Balance", "positionAsset": "Position Assets", "fetchAssetInfoFailed": "Failed to fetch asset info" }, "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)", "keywordFilter": "Keyword Filter", "keywordFilterMode": "Filter Mode", "keywordFilterModeTooltip": "Select keyword filter mode. Whitelist: only copy markets containing keywords; Blacklist: do not copy markets containing keywords; Disabled: no keyword filtering. Keyword matching is case-insensitive.", "disabled": "Disabled", "whitelist": "Whitelist", "blacklist": "Blacklist", "keywords": "Keywords", "keywordPlaceholder": "Enter keyword, press Enter to add", "keywordExists": "Keyword already exists", "whitelistTooltip": "💡 Whitelist mode: only copy markets whose titles contain any of the above keywords (case-insensitive)", "blacklistTooltip": "💡 Blacklist mode: do not copy markets whose titles contain any of the above keywords (case-insensitive)", "marketEndDateFilter": "Market End Date Limit", "maxMarketEndDate": "Max Market End Date", "maxMarketEndDateTooltip": "Only copy orders with market end time less than the set time. For example: 24 hours means only copy markets with less than 24 hours remaining until settlement", "maxMarketEndDatePlaceholder": "Enter time value (optional)", "timeUnit": "Unit", "hour": "Hours", "day": "Days", "maxMarketEndDateNote": "💡 Note: Leave blank to disable this filter", "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", "pushFilteredOrders": "Push Filtered Orders", "pushFilteredOrdersTooltip": "When enabled, filtered 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", "marketEndDate": "Market End Date Exceeds Limit", "keywordFilter": "Keyword Filter", "unknown": "Unknown Reason" }, "orderDetails": "Order Details", "noData": "No filtered orders", "noFilteredOrders": "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", "filterMarketTitle": "Filter Market Title", "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", "groupByMarket": "Group by Market", "expandAll": "Expand All", "collapseAll": "Collapse All", "allFullySold": "All Fully Sold", "notSold": "Not Sold", "partiallySold": "Partially Sold", "orderCount": "Order Count", "totalAmount": "Total Amount", "statusBreakdown": "Status", "allFullyMatched": "All Fully Sold", "partiallyMatched": "Partially Sold", "totalPnl": "Total PnL", "markets": "markets", "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", "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" }, "backtest": { "title": "Backtest", "taskName": "Task Name", "leader": "Leader", "initialBalance": "Initial Balance", "backtestDays": "Backtest Days", "status": "Status", "progress": "Progress", "startTime": "Start Time", "endTime": "End Time", "finalBalance": "Final Balance", "profitAmount": "Profit Amount", "profitRate": "Profit Rate", "totalTrades": "Total Trades", "buyTrades": "Buy Trades", "sellTrades": "Sell Trades", "winTrades": "Win Trades", "lossTrades": "Loss Trades", "winRate": "Win Rate", "maxProfit": "Max Profit", "maxLoss": "Max Loss", "maxDrawdown": "Max Drawdown", "avgHoldingTime": "Avg Holding Time", "statusPending": "Pending", "statusRunning": "Running", "statusCompleted": "Completed", "statusStopped": "Stopped", "statusFailed": "Failed", "createTask": "Create Backtest Task", "taskList": "Backtest Task List", "taskDetail": "Backtest Task Detail", "tradeRecords": "Trade Records", "config": "Configuration", "statistics": "Statistics", "chart": "Balance Chart", "createSuccess": "Created successfully", "createFailed": "Failed to create", "deleteSuccess": "Deleted successfully", "deleteFailed": "Failed to delete", "stop": "Stop", "stopSuccess": "Stopped successfully", "stopFailed": "Failed to stop", "retry": "Retry", "retrySuccess": "Retry successfully", "retryFailed": "Failed to retry", "retryConfirm": "Are you sure you want to retry this backtest task? It will continue from the breakpoint and preserve processed trades.", "deleteConfirm": "Are you sure you want to delete this backtest task?", "stopConfirm": "Are you sure you want to stop this backtest task?", "createCopyTrading": "Create Copy Trading", "createCopyTradingSuccess": "Copy trading config created successfully", "noTasks": "No backtest tasks", "noTrades": "No trade records", "fetchTasksFailed": "Failed to fetch task list", "fetchTaskDetailFailed": "Failed to fetch task detail", "fetchTradesFailed": "Failed to fetch trade records", "balanceChart": "Balance Change", "pnlChart": "PnL Change", "executionTime": "Execution Time", "runningDuration": "Running Duration", "estimatedRemaining": "Estimated Remaining", "leaderAddress": "Leader Address", "leaderName": "Leader Name", "copyMode": "Copy Mode", "copyModeRatio": "Ratio", "copyModeFixed": "Fixed Amount", "copyRatio": "Copy Ratio", "fixedAmount": "Fixed Amount", "maxOrderSize": "Max Order Size", "minOrderSize": "Min Order Size", "maxDailyLoss": "Max Daily Loss", "maxDailyOrders": "Max Daily Orders", "priceTolerance": "Price Tolerance", "delaySeconds": "Delay Seconds", "supportSell": "Copy Sell", "minOrderDepth": "Min Order Depth", "maxSpread": "Max Spread", "minPrice": "Min Price", "maxPrice": "Max Price", "maxPositionValue": "Max Position Value", "keywordFilterMode": "Keyword Filter Mode", "keywordFilterModeDisabled": "Disabled", "keywordFilterModeWhitelist": "Whitelist", "keywordFilterModeBlacklist": "Blacklist", "keywords": "Keywords", "maxMarketEndDate": "Market End Date Limit", "tradeTime": "Trade Time", "marketId": "Market ID", "marketTitle": "Market Title", "side": "Side", "sideBuy": "Buy", "sideSell": "Sell", "sideSettlement": "Settlement", "outcome": "Outcome", "quantity": "Quantity", "price": "Price", "amount": "Amount", "fee": "Fee", "profitLoss": "Profit/Loss", "balanceAfter": "Balance After", "leaderTradeId": "Leader Trade ID", "loading": "Loading...", "refreshing": "Refreshing...", "starting": "Starting...", "stopping": "Stopping...", "errorOccurred": "Error occurred", "retry": "Retry", "taskNameRequired": "Please enter task name", "leaderRequired": "Please select Leader", "initialBalanceRequired": "Please enter initial balance", "initialBalanceInvalid": "Initial balance must be greater than 0", "backtestDaysRequired": "Please enter backtest days", "backtestDaysInvalid": "Backtest days must be between 1-15", "copyRatioRequired": "Please enter copy ratio", "copyRatioInvalid": "Copy ratio must be between 0.01-10000", "copyRatioPlaceholder": "For example: 100 means 100% (1:1 copy), default 100%", "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", "fixedAmountRequired": "Please enter fixed amount", "fixedAmountInvalid": "Fixed amount must be greater than 0", "priceFilters": "Price Filters", "priceRange": "Price Range", "priceRangeTooltip": "Only copy Leader orders with price within the specified range. Leave empty to disable. Example: Enter 0.11 and 0.89 to only copy orders with price between 0.11 and 0.89; enter only max price 0.89 to only copy orders with price below 0.89; enter only min price 0.11 to only copy orders with price above 0.11.", "minPricePlaceholder": "Min price (leave empty to disable)", "maxPricePlaceholder": "Max price (leave empty to disable)", "keywordsPlaceholder": "Please enter keywords, press Enter to add", "maxPositionValuePlaceholder": "Leave empty to disable max position limit", "delaySecondsHint": "Delay execution to simulate real copy trading delay", "supportSellHint": "Whether to follow Leader sell orders", "sortBy": "Sort By", "sortOrder": "Sort Order", "createdAt": "Created At", "rerun": "Re-run", "rerunConfirm": "Create a new backtest task with the same config?", "rerunTaskNamePlaceholder": "New task name (leave empty for \"Original name (copy)\")", "rerunSuccess": "New backtest task created", "rerunFailed": "Re-run failed" }, "cryptoTailStrategy": { "list": { "title": "Crypto Tail Strategy", "walletTip": "Use a dedicated wallet for tail strategy. Do not use it for manual trading or copy trading to avoid balance/position issues.", "addStrategy": "Add Strategy", "strategyName": "Strategy Name", "market": "Market", "timeWindow": "Time Window", "priceRange": "Price Range", "amountMode": "Amount Mode", "ratio": "Ratio", "fixed": "Fixed", "recentTrigger": "Last Trigger", "totalRealizedPnl": "Total PnL", "winRate": "Win Rate", "actions": "Actions", "edit": "Edit", "enable": "Enable", "disable": "Disable", "delete": "Delete", "viewTriggers": "Trigger Records", "deleteConfirm": "Delete this strategy?", "fetchFailed": "Failed to fetch list" }, "form": { "walletTip": "Use a dedicated wallet to avoid balance or order issues.", "strategyName": "Strategy Name", "strategyNamePlaceholder": "Auto", "selectAccount": "Select Account", "selectMarket": "Select Market", "timeWindowStart": "Window Start", "timeWindowEnd": "Window End", "minute": "min", "second": "sec", "minPrice": "Min Price", "maxPrice": "Max Price", "maxPricePlaceholder": "Default 1", "amountMode": "Amount Mode", "ratioPercent": "Ratio %", "fixedUsdc": "Fixed (USDC)", "enabled": "Enabled", "create": "Create", "update": "Update", "timeWindowStartLEEnd": "Window start must not be greater than end", "timeWindowExceed": "Time window must not exceed period length", "minSpreadMode": "Min spread", "minSpreadModeTip": "Whether to place an order is based on the spread between open and close in the current period. Auto: system computes a suggested spread from the last 20 klines (updated each period); Fixed: you enter a value (e.g. 30), order only when spread ≥ that value; None: no spread check, order when price is in range.", "minSpreadModeNone": "None", "minSpreadModeFixed": "Fixed", "minSpreadModeAuto": "Auto", "minSpreadValue": "Min spread value (USDC)", "minSpreadValuePlaceholder": "e.g. 30" }, "redeemRequiredModal": { "title": "Configure Auto Redeem First", "description": "Tail strategy requires auto redeem. Please configure Builder API Key and enable auto redeem in System Settings.", "goToSettings": "Go to Settings", "cancel": "Cancel" }, "triggerRecords": { "title": "Trigger Records", "triggerTime": "Time", "market": "Market", "direction": "Direction", "up": "Up", "down": "Down", "triggerPrice": "Trigger Price", "amount": "Amount", "orderId": "Order ID", "status": "Status", "success": "Success", "fail": "Fail", "realizedPnl": "PnL", "resolved": "Settled" } } }