feat: multi-language interface (zh-CN/zh-TW/en/ja), multilingual offline changelog, settings robustness

i18n
- shared/i18n: dependency-free t() with flat per-namespace dictionaries
  (common/settings/workspace/terminal/ssh/panels/main), zh-CN fallback
- language picker in Settings -> System; antd ConfigProvider locale follows it
- main process tracks the language too: tray menu, close prompt, ssh/sftp/
  zmodem errors and the log TUI marker are translated; tray rebuilds on change

changelog
- CHANGELOG.md (zh-CN canonical) + .zh-TW/.en/.ja, bundled via ?raw and read
  per interface language with per-version fallback to zh-CN (no network)
- sync-changelog.cjs merges RELEASE_NOTES[.<lang>].md per release; release.cjs
  refuses to publish without a zh-CN entry for the version

settings robustness
- closeAction 'ask' survives the sanitizer (was silently coerced to 'tray',
  which made the 'ask every time' option dead)
- highlight rules are repaired instead of dropped: string priority, 0/1
  enabled, missing fg colour; unknown fields preserved
- load-time warnings are written to settings-warnings.log (deduped, capped)

terminal/UI
- configurable terminal toolbar: open working directory (default on), session
  log recording (off), open logs folder (off)
- global shortcut field records key combos (modifier or F-key required)
- input suggestions + command history default to off, with a one-time reset
  migration for existing installs
- settings dialog scrolling fixed (antd v6 renamed the tabs container), theme
  gallery nested scrollbar removed, joined segmented pickers with readable
  selected-state text

tests: settings-store.mjs (15 checks) added; commands-store.mjs updated for
the new off-by-default history setting
This commit is contained in:
Bill committed 2026-09-20 14:22:29 +08:00
1 parent 34094d607b
commit 4c6a29ef28
82 files changed
+3342 -608

No files matched your search

+35
View File
@@ -0,0 +1,35 @@
# OpenTerminal 更新日誌
## v1.0.13 - 2026-09-20
- 支援簡體中文 / 繁體中文 / English / 日本語,入口在「設定 → 系統 → 介面語言」,切換即時生效並持久化
- 全應用文案完成遷移:設定各頁、工作區、終端右鍵選單與搜尋、SSH 連線管理、檔案面板、系統監控、命令面板、系統匣選單與關閉詢問
- antd 元件內建文案(空狀態、分頁等)隨介面語言切換
- 更新日誌改為**隨安裝包內建**,離線也能查看,不再依賴網路介面
- 更新日誌支援多語言:依目前介面語言顯示,某版本缺翻譯時自動回退簡體中文
- 修正「關閉按鈕行為 = 每次詢問」無效的問題(先前會被靜默改回「最小化到系統匣」)
- 高亮規則不再因欄位形狀問題被靜默丟棄:優先級字串、0/1 布林值、缺少前景色等會自動修復,未知欄位保留
- 設定解析警告寫入 `settings-warnings.log`,設定異常可追溯
- 終端右上角工具列可設定(設定 → 渲染與行為):開啟工作區目錄(預設開啟)、記錄工作階段日誌、開啟日誌目錄
- 「開啟工作區目錄」按鈕:一鍵在檔案總管開啟終端目前目錄,隨 `cd` 即時追蹤
- 全域喚起快速鍵改為**按鍵錄製**:點擊輸入框後直接按組合鍵,Esc 取消、退格清空;需帶修飾鍵或功能鍵,避免誤佔一般按鍵
- 「輸入建議」「記錄命令歷史」預設關閉(既有安裝會一次性重置,之後手動開關不再被覆寫)
- 修正設定對話框內容欄無法捲動的問題(antd v6 容器類名變更),主題頁移除多餘的雙層捲軸
- 介面細節:渲染模式與介面語言按鈕改為連體分段樣式,選取狀態文字對比度修正
發佈時由 `scripts/sync-changelog.cjs` 自動把 `RELEASE_NOTES.zh-TW.md` 合併進此檔案;
內容隨安裝包內建,「關於」頁的更新日誌會依當前介面語言讀取(缺翻譯的版本自動回退簡中)。
## v1.0.12 - 2026-09-20
### 淺色主題對比度修復
- 分頁列/側邊欄顏色改為依主題背景亮度自動調整:淺色主題下分頁列與終端同色系(不再出現混濁灰色條),深色主題外觀不變
- 修復淺色主題下分頁呈深色塊、白字的問題:分頁底色與文字改由主題變數接管,非作用中分頁淺底深字,作用中分頁文字自動加深
- 設定對話框全面適配淺色主題:字型、高亮、主題等頁面的標籤/說明/表格/調色盤文字改為跟隨主題前景色,淺色下清晰可讀
### 穩定性
- 工作階段日誌寫入改為每檔案緩衝 + 單一寫入迴圈:高輸出情境下合併寫入、順序有保障,不再隨寫入次數無限堆積
- 設定儲存序列化:系統匣修改關閉行為與設定介面儲存並行時不再互相覆蓋而遺失更新