Files
lightcraft/docs/localization-zh-hant.md
T
ca0c569863 LR-BEHAV-LOCALIZE: Traditional Chinese (Taiwan) UI, stock preset and date localisation
Port of PR #198 onto the language table:
- Traditional Chinese (Taiwan) catalogs as a table entry: code zh-hant, name
  繁體中文(台灣), script Hant; zh-TW / zh-HK / zh-Hant tags reach it; command
  app.language.traditionalChinese
- display-only helpers: builtin_label (stock preset/profile names), history_label
  (generated history steps, user preset names verbatim), source_label (library
  headings, album names verbatim), date_group_label / display_time
- menu, dialog and panel strings (profiles, presets, curves, crop, versions,
  history, grid, date sidebar, About links) go through the catalogs
- a language command and ui.set apply the language at once; a native-menu test
  checks that every language switch rebuilds the menu titles

Adapted while porting (Claude):
- date headings and capture times are localised for every language from its
  *-formats.json date patterns, not only for zh-TW; ja and zh-hans gain the date
  patterns, weekday names and "Unknown Date", and zh-hans the new menu messages
  (ja's come from the PR)
- plain catalogs may cover different messages (English fallback); the test
  reports the gaps instead of failing. The test requiring every engine command
  label to be translated is dropped
- preset groups stay grouped by name: a user preset in a stock-named group is
  not split into a separate group (the group header is translated when it holds
  stock presets); the PR's split was a side effect of labelling
- no Traditional Chinese face in craft-fonts yet: Hant prefers the Simplified
  Chinese face (which carries the Traditional characters) over the Japanese ones
- zh-hant translations for the messages main added since the PR branched

Co-authored-by: Codex <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 06:54:26 -04:00

2.4 KiB

LightCraft 繁體中文(台灣)介面

從「編輯 → 語言 → 繁體中文(台灣)」切換,或開啟「設定 → 一般 → 語言」選擇。 macOS 的設定也可由「LightCraft → 設定…」或 ⌘, 開啟。 語言立即生效,並儲存在應用程式設定的 ui.json,下次啟動會沿用。 英文、簡體中文、繁體中文與日文可隨時互相切換。

繁中翻譯涵蓋 macOS 原生選單、程式內選單與子選單、鍵盤快速鍵說明、照片編輯、 裁切、遮色片、匯入/匯出、設定、41 個內建編輯預設集與分類、內建描述檔、 曲線與匯出預設集、歷史紀錄/版本面板、內建照片來源標題、日期群組與拍攝時間、 照片庫開啟失敗提示及主要處理進度。 切換介面不會變更操作指令 ID、照片檔名、使用者命名的相簿、預設集或中繼資料。 未翻譯的技術錯誤、發行說明及部分新增文案仍使用英文。

建置與字型

使用既有 craft-fonts 字型作為建置輸入:

CRAFT_FONTS_DIR=../craft-fonts cargo run --release -p lightcraft

craft-fonts 目前沒有繁體中文專用字型:桌面版先以 Noto Sans CJK SC 顯示繁中文字(字形為大陸規範寫法),其次才是日文字型;不在此儲存庫新增字型檔。 未指定 CRAFT_FONTS_DIR 的建置缺少 CJK 字形。 Web 建置僅嵌入 BIZ UDPGothic Regular,尚未驗證完整繁中文字形覆蓋。

自動化與維護

LIGHTCRAFT_LANGUAGE=zh-hant lightcraft-cli snapshot --demo -o zh-hant.png 可繪製繁中畫面。 接受 zh-hant、zh-Hant、zh-TW、zh_TW.UTF-8 與 zh-HK;儲存時統一使用 zh-hant。 控制通道可切換語言:

{"method":"ui.set","params":{"language":"zh-hant"}}
{"method":"ui.menu.invoke","params":{"command":"app.language.traditionalChinese"}}

靜態文案位於 crates/ui-egui/locales/zh-hant.json,含變數的訊息位於 crates/ui-egui/locales/zh-hant-formats.json。動態訊息由 Rust 在建置時檢查格式參數, 所有 *-formats.json 須保持相同英文鍵。新增語言的方法見 localization.md。{:.0} 消耗英文複數字尾引數,繁中不顯示該字尾。

CRAFT_FONTS_DIR=../craft-fonts cargo test -p lightcraft-ui-egui i18n::tests

測試涵蓋翻譯目錄、指令/選單文字、語言切換、設定保存、資料名稱保持原樣及桌面字形。