diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-20 21:38:46 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-20 21:38:46 +0800 |
| commit | c64779031d8459c44d78916ab6e38e80d2532a1c (patch) | |
| tree | 5cddbc68f3708ce58650ddd172483f5fe9e14fe0 /src/LivingVillage.Desktop/MenuState.fs | |
| parent | c5ff7685e5b3ac5dc46fce74ef1b302de09af1e6 (diff) | |
| download | living-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.fs | 48 |
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 |
