{displayName}
{localizedFinalJudgment || paceText}
{decisionView.risk}
{marketDecisionView.reason}
{metarSummary.streamText || (isEn ? "Streaming the lightweight METAR read..." : "轻量 METAR 解读正在流式输出…")}
{isEn ? "This read is independent from the full city review below." : "这一步已和下方完整城市分析解耦,不等待完整 JSON。"}
> ) : metarSummary.status === "ready" && metarSummary.streamText ? ({metarSummary.streamText}
) : metarSummary.status === "failed" ? ({localizedMetarRead || (isEn ? "Lightweight AI METAR read is unavailable; raw METAR remains below." : "轻量 AI METAR 解读暂不可用;下方保留原始 METAR。")}
) : ({report ? isEn ? "Waiting for lightweight AI to read the latest METAR." : "等待轻量 AI 解读最新 METAR。" : isEn ? "Raw METAR is unavailable." : "暂无原始 METAR。"}
)}{report ? `${isEn ? "Raw METAR" : "原始 METAR"}:${`${airportStation} ${report}`.trim()}` : isEn ? "Raw METAR: unavailable." : "原始 METAR:暂无。"}
{localizedFinalJudgment || aiForecast.streamText || (isEn ? "Generating the full city review in the background..." : "后台正在生成完整城市分析…")}
{isEn ? "This heavier JSON review can finish after the airport read." : "这部分是较重的 JSON 分析,可以晚于机场报文解读完成。"}
> ) : aiForecast.status === "ready" && aiCityForecast ? ( <>{localizedFinalJudgment || (isEn ? "AI read returned without a final sentence." : "AI 已返回,但缺少最终判断。")}
-
{aiBullets.map((line, index) => (
- {line} ))}
{aiForecast.payload?.status === "timeout" ? isEn ? "DeepSeek enhancement timed out. You can retry; city data and the right briefing were not refreshed." : "DeepSeek 增强本次超时,可稍后重试;城市数据和右侧简报不会被刷新。" : fallbackAiReason || (isEn ? "AI read is unavailable for this city right now." : "该城市暂时没有可用的 AI 解读。")}
- {localModelSupportNote}
{isEn ? "AI read failed. Model support and the raw METAR remain as fallback context." : "AI 解读失败。下方保留多模型支撑和原始 METAR 作为兜底上下文。"} {aiForecast.error ? ` ${aiForecast.error}` : ""}
- {localModelSupportNote}
{isEn ? "The complete city review is queued in the background." : "完整城市分析正在后台排队。"}
)}