Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
This commit is contained in:
TIANHE
2025-12-29 19:05:17 +08:00
parent 278b88ec71
commit 3337bcfc14
32 changed files with 5275 additions and 2770 deletions
+160 -1
View File
@@ -19,6 +19,7 @@ const locale = {
'menu.dashboard.indicator': 'Indicator Analysis',
'menu.dashboard.community': 'Indicator Community',
'menu.dashboard.tradingAssistant': 'Trading Assistant',
'menu.settings': 'Settings',
'menu.dashboard.aiTradingAssistant': 'AI Trading Assistant',
'menu.dashboard.signalRobot': 'Signal Robot',
'menu.dashboard.monitor': 'Monitor',
@@ -937,6 +938,41 @@ const locale = {
'dashboard.enabled': 'Enabled',
'dashboard.pnlHistory': 'P&L History',
'dashboard.strategyPerformance': 'Strategy Performance',
'dashboard.strategyRanking': 'Strategy Ranking',
// New KPI labels
'dashboard.winRate': 'Win Rate',
'dashboard.profitFactor': 'Profit Factor',
'dashboard.maxDrawdown': 'Max Drawdown',
'dashboard.totalTrades': 'Total Trades',
'dashboard.runningStrategies': 'Running Strategies',
'dashboard.equityCurve': 'Equity Curve',
'dashboard.strategyAllocation': 'Strategy Allocation',
'dashboard.drawdownCurve': 'Drawdown Curve',
'dashboard.drawdown': 'Drawdown',
'dashboard.hourlyDistribution': 'Hourly Distribution',
// Chart labels
'dashboard.dailyPnl': 'Daily P&L',
'dashboard.cumulativePnl': 'Cumulative P&L',
'dashboard.tradeCount': 'Trade Count',
'dashboard.profit': 'Profit',
'dashboard.noData': 'No Data',
'dashboard.noStrategyData': 'No strategy data',
// Ranking labels
'dashboard.ranking.totalProfit': 'Total Profit',
'dashboard.ranking.roi': 'ROI',
'dashboard.ranking.trades': 'Trades',
// Units and labels
'dashboard.unit.trades': '',
'dashboard.unit.strategies': '',
'dashboard.label.avgDaily': 'Avg Daily',
'dashboard.label.avgProfit': 'Avg Profit',
'dashboard.label.win': 'W',
'dashboard.label.lose': 'L',
'dashboard.label.trade': 'Trades',
'dashboard.label.indicator': 'Indicator',
'dashboard.label.totalPnl': 'Total P&L',
'dashboard.label.maxDrawdownPoint': 'Max DD',
'dashboard.profitCalendar': 'Profit Calendar',
'dashboard.recentTrades': 'Recent Trades',
'dashboard.currentPositions': 'Current Positions',
'dashboard.table.time': 'Time',
@@ -969,6 +1005,12 @@ const locale = {
'dashboard.orderTable.deleteConfirm': 'Delete this record?',
'dashboard.orderTable.deleteSuccess': 'Deleted',
'dashboard.orderTable.deleteFailed': 'Delete failed',
'dashboard.newOrderNotify': 'New Order Alert',
'dashboard.newOrderDesc': 'New order execution record',
'dashboard.soundEnabled': 'Sound notification enabled',
'dashboard.soundDisabled': 'Sound notification disabled',
'dashboard.clickToMute': 'Click to mute',
'dashboard.clickToUnmute': 'Click to unmute',
'dashboard.signalType.openLong': 'Open Long',
'dashboard.signalType.openShort': 'Open Short',
'dashboard.signalType.closeLong': 'Close Long',
@@ -1817,7 +1859,124 @@ const locale = {
'signal-robot.indicator.volume': 'Volume',
'signal-robot.indicator.changePct1h': '1H Change %',
'signal-robot.indicator.changePct24h': '24H Change %',
'signal-robot.indicator.signalLine': 'Signal Line'
'signal-robot.indicator.signalLine': 'Signal Line',
// Settings
'settings.title': 'System Settings',
'settings.description': 'Configure application settings, API keys, and system preferences',
'settings.save': 'Save Settings',
'settings.reset': 'Reset',
'settings.saveSuccess': 'Settings saved successfully',
'settings.saveFailed': 'Failed to save settings',
'settings.loadFailed': 'Failed to load settings',
'settings.default': 'Default',
'settings.pleaseSelect': 'Please select',
'settings.inputApiKey': 'Enter key',
'settings.getApi': 'Get API',
// Settings link texts
'settings.link.getApi': 'Get API',
'settings.link.getApiKey': 'Get API Key',
'settings.link.getToken': 'Get Token',
'settings.link.createBot': 'Create Bot',
'settings.link.viewModels': 'View Models',
'settings.link.freeRegister': 'Free Register',
'settings.link.supportedExchanges': 'Supported Exchanges',
'settings.link.applyApi': 'Apply API',
'settings.link.createSearchEngine': 'Create Search Engine',
'settings.restartRequired': 'Settings saved. Some changes require Python service restart to take effect.',
'settings.copyRestartCmd': 'Copy restart command',
'settings.copySuccess': 'Copied',
'settings.copyFailed': 'Copy failed',
// Settings groups
'settings.group.auth': 'Authentication',
'settings.group.server': 'Server Configuration',
'settings.group.worker': 'Order Worker',
'settings.group.notification': 'Signal Notification',
'settings.group.smtp': 'Email SMTP',
'settings.group.twilio': 'Twilio SMS',
'settings.group.strategy': 'Strategy Execution',
'settings.group.proxy': 'Proxy Configuration',
'settings.group.app': 'Application',
'settings.group.ai': 'AI/LLM Configuration',
'settings.group.market': 'Market Presets',
'settings.group.data_source': 'Data Sources',
'settings.group.search': 'Search Configuration',
// Settings fields - Auth
'settings.field.SECRET_KEY': 'Secret Key',
'settings.field.ADMIN_USER': 'Admin Username',
'settings.field.ADMIN_PASSWORD': 'Admin Password',
// Settings fields - Server
'settings.field.PYTHON_API_HOST': 'Listen Address',
'settings.field.PYTHON_API_PORT': 'Port',
'settings.field.PYTHON_API_DEBUG': 'Debug Mode',
// Settings fields - Worker
'settings.field.ENABLE_PENDING_ORDER_WORKER': 'Enable Order Worker',
'settings.field.PENDING_ORDER_STALE_SEC': 'Order Stale Timeout (sec)',
// Settings fields - Notification
'settings.field.SIGNAL_WEBHOOK_URL': 'Webhook URL',
'settings.field.SIGNAL_WEBHOOK_TOKEN': 'Webhook Token',
'settings.field.SIGNAL_NOTIFY_TIMEOUT_SEC': 'Notify Timeout (sec)',
'settings.field.TELEGRAM_BOT_TOKEN': 'Telegram Bot Token',
// Settings fields - SMTP
'settings.field.SMTP_HOST': 'SMTP Host',
'settings.field.SMTP_PORT': 'SMTP Port',
'settings.field.SMTP_USER': 'SMTP Username',
'settings.field.SMTP_PASSWORD': 'SMTP Password',
'settings.field.SMTP_FROM': 'From Address',
'settings.field.SMTP_USE_TLS': 'Use TLS',
'settings.field.SMTP_USE_SSL': 'Use SSL',
// Settings fields - Twilio
'settings.field.TWILIO_ACCOUNT_SID': 'Account SID',
'settings.field.TWILIO_AUTH_TOKEN': 'Auth Token',
'settings.field.TWILIO_FROM_NUMBER': 'From Number',
// Settings fields - Strategy
'settings.field.DISABLE_RESTORE_RUNNING_STRATEGIES': 'Disable Auto Restore',
'settings.field.STRATEGY_TICK_INTERVAL_SEC': 'Tick Interval (sec)',
'settings.field.PRICE_CACHE_TTL_SEC': 'Price Cache TTL (sec)',
// Settings fields - Proxy
'settings.field.PROXY_PORT': 'Proxy Port',
'settings.field.PROXY_HOST': 'Proxy Host',
'settings.field.PROXY_SCHEME': 'Proxy Scheme',
'settings.field.PROXY_URL': 'Full Proxy URL',
// Settings fields - App
'settings.field.CORS_ORIGINS': 'CORS Origins',
'settings.field.RATE_LIMIT': 'Rate Limit (per min)',
'settings.field.ENABLE_CACHE': 'Enable Cache',
'settings.field.ENABLE_REQUEST_LOG': 'Enable Request Log',
'settings.field.ENABLE_AI_ANALYSIS': 'Enable AI Analysis',
// Settings fields - AI
'settings.field.OPENROUTER_API_KEY': 'OpenRouter API Key',
'settings.field.OPENROUTER_API_URL': 'OpenRouter API URL',
'settings.field.OPENROUTER_MODEL': 'Default Model',
'settings.field.OPENROUTER_TEMPERATURE': 'Temperature',
'settings.field.OPENROUTER_MAX_TOKENS': 'Max Tokens',
'settings.field.OPENROUTER_TIMEOUT': 'Timeout (sec)',
'settings.field.OPENROUTER_CONNECT_TIMEOUT': 'Connect Timeout (sec)',
'settings.field.AI_MODELS_JSON': 'Models JSON',
// Settings fields - Market
'settings.field.MARKET_TYPES_JSON': 'Market Types JSON',
'settings.field.TRADING_SUPPORTED_SYMBOLS_JSON': 'Supported Symbols JSON',
// Settings fields - Data Source
'settings.field.DATA_SOURCE_TIMEOUT': 'Timeout (sec)',
'settings.field.DATA_SOURCE_RETRY': 'Retry Count',
'settings.field.DATA_SOURCE_RETRY_BACKOFF': 'Retry Backoff (sec)',
'settings.field.FINNHUB_API_KEY': 'Finnhub API Key',
'settings.field.FINNHUB_TIMEOUT': 'Finnhub Timeout (sec)',
'settings.field.FINNHUB_RATE_LIMIT': 'Finnhub Rate Limit',
'settings.field.CCXT_DEFAULT_EXCHANGE': 'CCXT Default Exchange',
'settings.field.CCXT_TIMEOUT': 'CCXT Timeout (ms)',
'settings.field.CCXT_PROXY': 'CCXT Proxy',
'settings.field.AKSHARE_TIMEOUT': 'Akshare Timeout (sec)',
'settings.field.YFINANCE_TIMEOUT': 'YFinance Timeout (sec)',
'settings.field.TIINGO_API_KEY': 'Tiingo API Key',
'settings.field.TIINGO_TIMEOUT': 'Tiingo Timeout (sec)',
// Settings fields - Search
'settings.field.SEARCH_PROVIDER': 'Search Provider',
'settings.field.SEARCH_MAX_RESULTS': 'Max Results',
'settings.field.SEARCH_GOOGLE_API_KEY': 'Google API Key',
'settings.field.SEARCH_GOOGLE_CX': 'Google CX',
'settings.field.SEARCH_BING_API_KEY': 'Bing API Key',
'settings.field.INTERNAL_API_KEY': 'Internal API Key'
}
export default {
File diff suppressed because it is too large Load Diff
+160 -1
View File
@@ -19,6 +19,7 @@ const locale = {
'menu.dashboard.community': '指標社區',
'menu.dashboard.analysis': 'AI 分析',
'menu.dashboard.tradingAssistant': '交易助手',
'menu.settings': '系统设置',
'menu.dashboard.aiTradingAssistant': 'AI交易助手',
'menu.dashboard.signalRobot': '信號機器人',
'menu.dashboard.monitor': '監控頁',
@@ -846,6 +847,41 @@ const locale = {
'dashboard.enabled': '已啟用',
'dashboard.pnlHistory': '歷史盈虧',
'dashboard.strategyPerformance': '策略盈虧佔比',
'dashboard.drawdown': '回撤曲線',
'dashboard.strategyRanking': '策略排行榜',
// New KPI labels
'dashboard.winRate': '勝率',
'dashboard.profitFactor': '盈虧比',
'dashboard.maxDrawdown': '最大回撤',
'dashboard.totalTrades': '總交易',
'dashboard.runningStrategies': '運行中策略',
'dashboard.equityCurve': '權益曲線',
'dashboard.strategyAllocation': '策略分佈',
'dashboard.drawdownCurve': '回撤曲線',
'dashboard.hourlyDistribution': '交易時段',
// Chart labels
'dashboard.dailyPnl': '日盈虧',
'dashboard.cumulativePnl': '累計盈虧',
'dashboard.tradeCount': '交易次數',
'dashboard.profit': '盈虧',
'dashboard.noData': '暫無數據',
'dashboard.noStrategyData': '暫無策略數據',
// Ranking labels
'dashboard.ranking.totalProfit': '總收益',
'dashboard.ranking.roi': '收益率',
'dashboard.ranking.trades': '交易數',
// Units and labels
'dashboard.unit.trades': '筆',
'dashboard.unit.strategies': '個',
'dashboard.label.avgDaily': '日均',
'dashboard.label.avgProfit': '平均盈利',
'dashboard.label.win': '勝',
'dashboard.label.lose': '負',
'dashboard.label.trade': '交易',
'dashboard.label.indicator': '指標',
'dashboard.label.totalPnl': '總盈虧',
'dashboard.label.maxDrawdownPoint': '最大回撤',
'dashboard.profitCalendar': '收益日曆',
'dashboard.recentTrades': '最近交易',
'dashboard.currentPositions': '當前持倉',
'dashboard.table.time': '時間',
@@ -878,6 +914,12 @@ const locale = {
'dashboard.orderTable.deleteConfirm': '確認刪除這條記錄?',
'dashboard.orderTable.deleteSuccess': '刪除成功',
'dashboard.orderTable.deleteFailed': '刪除失敗',
'dashboard.newOrderNotify': '新訂單提醒',
'dashboard.newOrderDesc': '有新的訂單執行記錄',
'dashboard.soundEnabled': '聲音提醒已開啟',
'dashboard.soundDisabled': '聲音提醒已關閉',
'dashboard.clickToMute': '點擊關閉聲音提醒',
'dashboard.clickToUnmute': '點擊開啟聲音提醒',
'dashboard.signalType.openLong': '開多',
'dashboard.signalType.openShort': '開空',
'dashboard.signalType.closeLong': '平多',
@@ -1521,7 +1563,124 @@ const locale = {
'message': '-',
'layouts.usermenu.dialog.title': '信息',
'layouts.usermenu.dialog.content': '您確定要注銷嗎?',
'layouts.userLayout.title': '於不確定中,尋見真理'
'layouts.userLayout.title': '於不確定中,尋見真理',
// Settings
'settings.title': '系統設置',
'settings.description': '配置應用設置、API密鑰和系統偏好',
'settings.save': '保存設置',
'settings.reset': '重置',
'settings.saveSuccess': '設置保存成功',
'settings.saveFailed': '保存設置失敗',
'settings.loadFailed': '加載配置失敗',
'settings.default': '默認',
'settings.pleaseSelect': '請選擇',
'settings.inputApiKey': '請輸入密鑰',
'settings.getApi': '獲取API',
// Settings link texts
'settings.link.getApi': '獲取API',
'settings.link.getApiKey': '獲取API Key',
'settings.link.getToken': '獲取Token',
'settings.link.createBot': '創建Bot',
'settings.link.viewModels': '查看模型列表',
'settings.link.freeRegister': '免費註冊',
'settings.link.supportedExchanges': '支持的交易所',
'settings.link.applyApi': '申請API',
'settings.link.createSearchEngine': '創建搜索引擎',
'settings.restartRequired': '配置已保存,部分配置需要重啟Python服務才能生效',
'settings.copyRestartCmd': '複製重啟命令',
'settings.copySuccess': '複製成功',
'settings.copyFailed': '複製失敗',
// Settings groups
'settings.group.auth': '認證配置',
'settings.group.server': '服務器配置',
'settings.group.worker': '訂單處理配置',
'settings.group.notification': '信號通知配置',
'settings.group.smtp': '郵件SMTP配置',
'settings.group.twilio': 'Twilio短信配置',
'settings.group.strategy': '策略執行配置',
'settings.group.proxy': '代理配置',
'settings.group.app': '應用配置',
'settings.group.ai': 'AI/LLM配置',
'settings.group.market': '市場預設',
'settings.group.data_source': '數據源配置',
'settings.group.search': '搜索配置',
// Settings fields - Auth
'settings.field.SECRET_KEY': 'Secret Key',
'settings.field.ADMIN_USER': '管理員用戶名',
'settings.field.ADMIN_PASSWORD': '管理員密碼',
// Settings fields - Server
'settings.field.PYTHON_API_HOST': '監聽地址',
'settings.field.PYTHON_API_PORT': '端口',
'settings.field.PYTHON_API_DEBUG': '調試模式',
// Settings fields - Worker
'settings.field.ENABLE_PENDING_ORDER_WORKER': '啟用訂單處理Worker',
'settings.field.PENDING_ORDER_STALE_SEC': '訂單超時時間(秒)',
// Settings fields - Notification
'settings.field.SIGNAL_WEBHOOK_URL': 'Webhook URL',
'settings.field.SIGNAL_WEBHOOK_TOKEN': 'Webhook Token',
'settings.field.SIGNAL_NOTIFY_TIMEOUT_SEC': '通知超時(秒)',
'settings.field.TELEGRAM_BOT_TOKEN': 'Telegram Bot Token',
// Settings fields - SMTP
'settings.field.SMTP_HOST': 'SMTP服務器',
'settings.field.SMTP_PORT': 'SMTP端口',
'settings.field.SMTP_USER': 'SMTP用戶名',
'settings.field.SMTP_PASSWORD': 'SMTP密碼',
'settings.field.SMTP_FROM': '發件人地址',
'settings.field.SMTP_USE_TLS': '使用TLS',
'settings.field.SMTP_USE_SSL': '使用SSL',
// Settings fields - Twilio
'settings.field.TWILIO_ACCOUNT_SID': 'Account SID',
'settings.field.TWILIO_AUTH_TOKEN': 'Auth Token',
'settings.field.TWILIO_FROM_NUMBER': '發送號碼',
// Settings fields - Strategy
'settings.field.DISABLE_RESTORE_RUNNING_STRATEGIES': '禁用自動恢復策略',
'settings.field.STRATEGY_TICK_INTERVAL_SEC': '策略Tick間隔(秒)',
'settings.field.PRICE_CACHE_TTL_SEC': '價格緩存TTL(秒)',
// Settings fields - Proxy
'settings.field.PROXY_PORT': '代理端口',
'settings.field.PROXY_HOST': '代理主機',
'settings.field.PROXY_SCHEME': '代理協議',
'settings.field.PROXY_URL': '完整代理URL',
// Settings fields - App
'settings.field.CORS_ORIGINS': 'CORS來源',
'settings.field.RATE_LIMIT': '速率限制(每分鐘)',
'settings.field.ENABLE_CACHE': '啟用緩存',
'settings.field.ENABLE_REQUEST_LOG': '啟用請求日誌',
'settings.field.ENABLE_AI_ANALYSIS': '啟用AI分析',
// Settings fields - AI
'settings.field.OPENROUTER_API_KEY': 'OpenRouter API Key',
'settings.field.OPENROUTER_API_URL': 'OpenRouter API URL',
'settings.field.OPENROUTER_MODEL': '默認模型',
'settings.field.OPENROUTER_TEMPERATURE': 'Temperature',
'settings.field.OPENROUTER_MAX_TOKENS': 'Max Tokens',
'settings.field.OPENROUTER_TIMEOUT': '超時時間(秒)',
'settings.field.OPENROUTER_CONNECT_TIMEOUT': '連接超時(秒)',
'settings.field.AI_MODELS_JSON': '模型列表(JSON)',
// Settings fields - Market
'settings.field.MARKET_TYPES_JSON': '市場類型(JSON)',
'settings.field.TRADING_SUPPORTED_SYMBOLS_JSON': '支持的交易對(JSON)',
// Settings fields - Data Source
'settings.field.DATA_SOURCE_TIMEOUT': '數據源超時(秒)',
'settings.field.DATA_SOURCE_RETRY': '重試次數',
'settings.field.DATA_SOURCE_RETRY_BACKOFF': '重試退避(秒)',
'settings.field.FINNHUB_API_KEY': 'Finnhub API Key',
'settings.field.FINNHUB_TIMEOUT': 'Finnhub超時(秒)',
'settings.field.FINNHUB_RATE_LIMIT': 'Finnhub速率限制',
'settings.field.CCXT_DEFAULT_EXCHANGE': 'CCXT默認交易所',
'settings.field.CCXT_TIMEOUT': 'CCXT超時(ms)',
'settings.field.CCXT_PROXY': 'CCXT代理',
'settings.field.AKSHARE_TIMEOUT': 'Akshare超時(秒)',
'settings.field.YFINANCE_TIMEOUT': 'YFinance超時(秒)',
'settings.field.TIINGO_API_KEY': 'Tiingo API Key',
'settings.field.TIINGO_TIMEOUT': 'Tiingo超時(秒)',
// Settings fields - Search
'settings.field.SEARCH_PROVIDER': '搜索提供商',
'settings.field.SEARCH_MAX_RESULTS': '最大結果數',
'settings.field.SEARCH_GOOGLE_API_KEY': 'Google API Key',
'settings.field.SEARCH_GOOGLE_CX': 'Google CX',
'settings.field.SEARCH_BING_API_KEY': 'Bing API Key',
'settings.field.INTERNAL_API_KEY': '內部API Key'
}
export default {