diff --git a/apps/web/messages/en.json b/apps/web/messages/en.json index b28d6f29a..1f1d50ffc 100644 --- a/apps/web/messages/en.json +++ b/apps/web/messages/en.json @@ -34,40 +34,40 @@ "environment": "Production" }, "nav": { - "home": "Home", - "dashboard": "Dashboard", - "approvals": "Approvals", - "errors": "Error Tracking", - "actions": "Action Log", - "knowledge": "Knowledge Base", - "settings": "Settings", - "alerts": "Alerts", - "monitoring": "Monitoring", + "home": "首頁", + "dashboard": "儀表板", + "approvals": "授權中心", + "errors": "錯誤追蹤", + "actions": "行動日誌", + "knowledge": "知識殿堂", + "settings": "設定", + "alerts": "告警", + "monitoring": "服務監控", "apm": "APM", - "topology": "Topology", - "security": "Security", - "compliance": "Compliance", - "autoRepair": "Auto Repair", - "deployments": "Deployments", - "tickets": "Tickets", - "cost": "Cost", - "reports": "Reports", - "terminal": "Terminal", - "apps": "Apps", - "services": "Services", - "users": "Users", - "notifications": "Notifications", - "billing": "Billing", - "help": "Help", - "drift": "Drift Detection", - "neuralCommand": "Neural Command", - "commandCenter": "Command Center", - "observability": "Observability", - "automation": "Automation", - "operations": "Operations", - "securityCompliance": "Security & Compliance", - "classicAICenter": "Classic AI Center", - "governance": "AI Governance", + "topology": "拓撲圖", + "security": "安全", + "compliance": "合規", + "autoRepair": "自動修復", + "deployments": "部署管理", + "tickets": "工單", + "cost": "成本分析", + "reports": "報表", + "terminal": "終端", + "apps": "應用", + "services": "服務目錄", + "users": "使用者", + "notifications": "通知", + "billing": "帳單", + "help": "說明", + "drift": "漂移偵測", + "neuralCommand": "神經指揮中心", + "commandCenter": "指令中心", + "observability": "可觀測性", + "automation": "自動化", + "operations": "營運", + "securityCompliance": "安全合規", + "classicAICenter": "經典 AI 中心", + "governance": "AI 治理", "awooop": "AwoooP", "iwooos": "IwoooS", "iwooosSecurityCompliance": "IwoooS 安全合規" diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index cf256e95d..88ed23237 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -1,3 +1,44 @@ +## 2026-05-31|側邊欄 nav 全語系繁體中文收斂 + +**背景**: + +- 使用者要求所有網站內容都必須以繁體中文呈現。 +- 前一輪已把「安全合規」與「IwoooS」整合成單一側邊欄入口,但 `/en` 語系的側邊欄仍會出現 `Command Center`、`Security & Compliance`、`Classic AI Center` 等英文菜單。 + +**本次調整**: + +- `apps/web/messages/en.json` 的 `nav` 區塊改為完整鏡像 `zh-TW.json`,即使進入 `/en` 路由,側邊欄仍顯示繁體中文。 +- 保留產品 / 技術名詞:`APM`、`AI`、`AwoooP`、`IwoooS`。 +- `security-mirror-progress-guard.py` 新增 `web_messages.en.nav.traditional_chinese_mirror`,避免後續把側邊欄菜單改回英文。 + +**驗證**: + +```text +python3 -m json.tool apps/web/messages/en.json + -> pass +python3 -m py_compile scripts/security/security-mirror-progress-guard.py scripts/security/source-control-owner-response-guard.py + -> pass +python3 scripts/security/security-mirror-progress-guard.py + -> SECURITY_MIRROR_PROGRESS_GUARD_OK +python3 scripts/security/source-control-owner-response-guard.py + -> SOURCE_CONTROL_OWNER_RESPONSE_GUARD_OK +pnpm --dir apps/web exec tsc --noEmit --tsBuildInfoFile /tmp/awoooi-iwooos-nav-language-20260531.tsbuildinfo + -> pass +NEXT_PUBLIC_API_URL=https://awoooi.wooo.work pnpm --dir apps/web run build + -> pass +本地 Playwright(production build / next start): + /en/iwooos 桌機 1280px -> 側邊欄顯示指令中心 / 可觀測性 / 自動化 / 營運 / IwoooS 安全合規 / 知識殿堂 / AI 治理 / AwoooP / 經典 AI 中心 / 終端 / 設定;無英文菜單;無水平溢出 + /en/security-compliance 桌機 1280px -> 同上,且 IwoooS 安全合規入口透過路由別名高亮;無 /en/security-compliance 重複菜單 href + /en/iwooos 手機 390px -> 單一 /en/iwooos 側邊欄入口高亮;無水平溢出 + /en/security-compliance 手機 390px -> 單一 /en/iwooos 側邊欄入口透過路由別名高亮;無水平溢出 +``` + +**進度邊界**: + +- 整體資安網仍維持 `61%`。 +- 本輪只處理高可見度導覽語言一致性,不是執行期強制控管。 +- active runtime gate 仍為 `0`;沒有新增掃描、SSH、主機更新、修復、批准、部署按鈕或 GitHub primary 切換。 + ## 2026-05-31|IwoooS 與安全合規側邊欄入口整合 **背景**: diff --git a/scripts/security/security-mirror-progress-guard.py b/scripts/security/security-mirror-progress-guard.py index c6d2a859b..22a6fa175 100755 --- a/scripts/security/security-mirror-progress-guard.py +++ b/scripts/security/security-mirror-progress-guard.py @@ -216,6 +216,7 @@ def validate(root: Path) -> None: web_messages_en["nav"]["iwooosSecurityCompliance"], "IwoooS 安全合規", ) + assert_equal("web_messages.en.nav.traditional_chinese_mirror", web_messages_en["nav"], web_messages_zh["nav"]) progress = rollup["progress_estimate"] assert_equal("progress.overall_percent", progress["overall_percent"], 61)