|
24 | 24 | ("feature_snapshot_config_name_mismatch", "快照配置名不匹配"), |
25 | 25 | ("feature_snapshot_config_path_mismatch", "快照配置路径不匹配"), |
26 | 26 | ("feature_snapshot_contract_version_mismatch", "快照契约版本不匹配"), |
| 27 | + ("soxl_soxx_trend_income", "SOXL/SOXX 半导体趋势收益"), |
| 28 | + ("tqqq_growth_income", "TQQQ 增长收益"), |
| 29 | + ("global_etf_rotation", "全球 ETF 轮动"), |
| 30 | + ("russell_1000_multi_factor_defensive", "罗素1000多因子"), |
| 31 | + ("tech_communication_pullback_enhancement", "科技通信回调增强"), |
| 32 | + ("qqq_tech_enhancement", "科技通信回调增强"), |
| 33 | + ("mega_cap_leader_rotation_aggressive", "Mega Cap 激进龙头轮动"), |
| 34 | + ("mega_cap_leader_rotation_dynamic_top20", "Mega Cap 动态 Top20 龙头轮动"), |
| 35 | + ("mega_cap_leader_rotation_top50_balanced", "Mega Cap Top50 平衡龙头轮动"), |
| 36 | + ("dynamic_mega_leveraged_pullback", "Mega Cap 2x 回调策略"), |
| 37 | + ("outside_monthly_execution_window", "当前不在月度执行窗口"), |
| 38 | + ("no_execution_window_after_snapshot", "快照后没有可用执行窗口"), |
| 39 | + ("no-op", "不执行"), |
| 40 | + ("monthly snapshot cadence", "月度快照节奏"), |
| 41 | + ("waiting inside execution window", "等待进入执行窗口"), |
| 42 | + ("small_account_warning=true", "小账户提示=是"), |
| 43 | + ("portfolio_equity=", "净值="), |
| 44 | + ("min_recommended_equity=", "建议最低净值="), |
| 45 | + ( |
| 46 | + "integer_shares_min_position_value_may_prevent_backtest_replication", |
| 47 | + "整数股和最小仓位限制可能导致实盘无法完全复现回测", |
| 48 | + ), |
| 49 | + ( |
| 50 | + "integer-share minimum position sizing may prevent backtest replication", |
| 51 | + "整数股和最小仓位限制可能导致实盘无法完全复现回测", |
| 52 | + ), |
| 53 | + ("small account warning: portfolio equity", "小账户提示:净值"), |
| 54 | + ("small account warning", "小账户提示"), |
| 55 | + ("is below the recommended", "低于建议"), |
| 56 | + ("is below recommended", "低于建议"), |
| 57 | + ("snapshot_as_of=", "快照日期="), |
| 58 | + ("snapshot=", "快照日期="), |
| 59 | + ("allowed=", "允许日期="), |
| 60 | + ("<unknown>", "未知"), |
| 61 | + ("<none>", "无"), |
27 | 62 | ("RISK-ON", "风险开启"), |
28 | 63 | ("DE-LEVER", "降杠杆"), |
29 | 64 | ("regime=hard_defense", "市场阶段=强防御"), |
@@ -191,7 +226,7 @@ def _build_notification_trade_lines( |
191 | 226 | lines.extend(_build_order_batch_lines(execution_summary, translator=translator)) |
192 | 227 |
|
193 | 228 | for raw_line in trade_logs or (): |
194 | | - text = str(raw_line).strip() |
| 229 | + text = _localize_notification_text(str(raw_line).strip(), translator=translator) |
195 | 230 | if not text: |
196 | 231 | continue |
197 | 232 | if text.startswith(("目标差异 ", "target_diff ", "DRY_RUN buy ", "DRY_RUN sell ")): |
|
0 commit comments