在地化
本頁談的是產品自身 UI 的語言。在地化你遊戲的文字——鍵值、翻譯、Unity Localization StringTable——是另一個主題,有它自己的頁面:在地化試算表。
產品 UI——選單、編寫視窗、檢閱器、對話框、報告、工具提示——皆支援10 種語言(確切的邊界,包括哪些報告片段會維持英文,請見下方「在地化邊界」一節):
English (default) · 한국어 · 日本語 · 简体中文 · 繁體中文 · Español · Français · Deutsch · Português (Brasil) · Русский
變更語言
- 首次執行時,UI 語言會自動依你編輯器的作業系統語言設定(九種語言可直接對應;其餘一律維持英文)。Console 會記下這項選擇——之後隨時可依下方方式變更;一旦你明確選擇過語言,就絕不會再被覆寫。
- Edit ▸ Preferences ▸ SheetForge → 語言彈出選單,或匯入設定檢閱器頂端的「編輯器語言」欄位(兩者讀寫的是同一個值)。
- 語言是一種依使用者設定(EditorPrefs)——每位隊友都能使用自己的語言,且完全不會影響版本控制(零 VCS 異動)。
選單也會被在地化
[MenuItem] 標籤是靜態屬性,無法在執行期變更,因此 SheetForge 會以所選語言重新產生一個精簡的選單檔案(Assets/SheetForge/Editor/Generated/,已加入 gitignore)——變更語言會觸發一次簡短的重新編譯(不會迴圈;相同內容絕不會被重複寫入)。如果資料夾遺失,或語言不相符(例如剛複製完儲存庫時),它會自動自我修復。Tools/SheetForge 這個根選單是固定不變的品牌常數;葉節點標籤則會隨語言而變化。
當匯入/匯出/推送正在執行時,語言變更會被鎖定——選單重新產生所觸發的重新編譯,絕不能干擾正在執行中的管線。請在其執行完畢後再變更語言。
在地化邊界
在全部 10 種語言中都完全在地化的部分:
- 編輯器繪製的 UI:選單、編寫視窗、檢閱器、對話框、按鈕、工具提示。
- 報告的骨架架構,以及每個錯誤中「為什麼」/「怎麼修」的句子。
內嵌的英文內容(存在於已在地化的骨架架構之中):
- 報告中的細節片段——有問題的值、最接近的候選建議,以及其他在執行期才內插的內容(這些內容無法作為語言對照表的鍵值存在)。
- 低階例外狀況與開發者紀錄(
[SheetForge])。
尚待完成的一項缺口,誠實說明如下: 1,043 個鍵值中,大約有 345–360 個——即 Data Studio 的 227 個 ui.studio.* 鍵值,加上主題偏好設定與最新的對話框與紀錄字句——在英文與韓文以外的八種語言中,目前仍維持英文原文。每個鍵值在每個檔案中都確實存在(鍵值對等性由測試強制保證,因此絕不會退回顯示原始鍵值),所以這是一項尚待進行的翻譯工作,而非結構性的缺口。請參閱功能與限制 ▸ 在地化範圍。
兩套測試框架上的防護測試會強制確保產品原始碼中沒有寫死的韓文字串——開發語言絕不會外洩進 UI 中。(唯一的資料例外:語言選擇器中各語言的自稱名稱,例如 한국어。)
新增或修正翻譯
每種語言恰好對應一個檔案:Assets/SheetForge/Core/Tooling/Localization/Lang/Lang{Language}.cs——一個純粹的靜態字典,因此譯者可以跨語言平行作業,而不會發生合併衝突。
- 英文(
LangEn)是權威的鍵值清單。 其他每種語言都必須涵蓋相同的鍵值。 - 一項對等性測試會立即抓出任何語言中缺少的鍵值、多餘的鍵值,或損壞的預留位置(
{name})。 - 若要調整翻譯:編輯該語言的檔案,保持預留位置完整無缺,然後執行測試。