summaryrefslogtreecommitdiff
path: root/src/LivingVillage.Desktop/MenuState.fs
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-20 21:38:46 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-20 21:38:46 +0800
commitc64779031d8459c44d78916ab6e38e80d2532a1c (patch)
tree5cddbc68f3708ce58650ddd172483f5fe9e14fe0 /src/LivingVillage.Desktop/MenuState.fs
parentc5ff7685e5b3ac5dc46fce74ef1b302de09af1e6 (diff)
downloadliving-village-c64779031d8459c44d78916ab6e38e80d2532a1c.tar.gz
feat(desktop): localize village presentation labels
[Change Nature] - This commit adds the Chinese display layer for the desktop village prototype. [New Capability] - Menu, settings, controls, interaction panels, chronicle entries, trade results, day-night labels, and speed labels now use Chinese copy. [Implementation] - Keep simulation state, commands, and machine-readable status strings unchanged. - Add focused formatter coverage and update affected presentation assertions. [Impact] - Desktop presentation behavior is localized without changing Kernel or simulation logic. - Existing release build and test coverage remain green.
Diffstat (limited to 'src/LivingVillage.Desktop/MenuState.fs')
-rw-r--r--src/LivingVillage.Desktop/MenuState.fs48
1 files changed, 24 insertions, 24 deletions
diff --git a/src/LivingVillage.Desktop/MenuState.fs b/src/LivingVillage.Desktop/MenuState.fs
index 78d846c..452d233 100644
--- a/src/LivingVillage.Desktop/MenuState.fs
+++ b/src/LivingVillage.Desktop/MenuState.fs
@@ -55,20 +55,20 @@ module MenuState =
[ OneXSetting; TwoXSetting; FiveXSetting; PauseSetting ]
let controlRows : ControlRow list =
- [ { Keys = "WASD"; Action = "MOVE" }
- { Keys = "E"; Action = "INTERACT" }
- { Keys = "1-6"; Action = "DIALOGUE" }
- { Keys = "Q"; Action = "OBSERVE" }
- { Keys = "TAB"; Action = "NEEDS" }
- { Keys = "C"; Action = "CHRONICLE" }
- { Keys = "L"; Action = "RELATIONS" }
- { Keys = "P"; Action = "PAUSE" }
- { Keys = "F1/F2/F3"; Action = "SPEED" }
- { Keys = "F6"; Action = "SAVE" }
- { Keys = "F7"; Action = "LOAD" }
- { Keys = "ESC"; Action = "MENU OR CLOSE" }
- { Keys = "UP/DOWN"; Action = "SELECT" }
- { Keys = "ENTER"; Action = "CONFIRM" } ]
+ [ { Keys = "WASD"; Action = "移动" }
+ { Keys = "E"; Action = "互动" }
+ { Keys = "1-6"; Action = "对话" }
+ { Keys = "Q"; Action = "观察" }
+ { Keys = "TAB"; Action = "需求" }
+ { Keys = "C"; Action = "年鉴" }
+ { Keys = "L"; Action = "关系" }
+ { Keys = "P"; Action = "暂停" }
+ { Keys = "F1/F2/F3"; Action = "速度" }
+ { Keys = "F6"; Action = "保存" }
+ { Keys = "F7"; Action = "读取" }
+ { Keys = "ESC"; Action = "菜单或关闭" }
+ { Keys = "UP/DOWN"; Action = "选择" }
+ { Keys = "ENTER"; Action = "确认" } ]
let create (simulationControl: SimulationControl) (hasCurrentWorld: bool) : MenuState =
{ Page = MainMenu
@@ -86,19 +86,19 @@ module MenuState =
let settingsLabel setting : string =
match setting with
- | OneXSetting -> "1X"
- | TwoXSetting -> "2X"
- | FiveXSetting -> "5X"
- | PauseSetting -> "PAUSE"
+ | OneXSetting -> "1倍速"
+ | TwoXSetting -> "2倍速"
+ | FiveXSetting -> "5倍速"
+ | PauseSetting -> "暂停"
let itemLabel item : string =
match item with
- | ContinueItem -> "CONTINUE"
- | NewGameItem -> "NEW GAME"
- | LoadItem -> "LOAD SAVE"
- | SettingsItem -> "SETTINGS"
- | ControlsItem -> "CONTROLS"
- | ExitItem -> "QUIT"
+ | ContinueItem -> "继续游戏"
+ | NewGameItem -> "开始新游戏"
+ | LoadItem -> "读取存档"
+ | SettingsItem -> "设置"
+ | ControlsItem -> "操作说明"
+ | ExitItem -> "退出"
let private optionsFor (state: MenuState) : int =
match state.Page with