ui/phase-17: ship-class CRUD without calc
Phase 17 lights up the ship-class table and designer active views, extends the order-draft pipeline with createShipClass and removeShipClass commands, and projects pending Save/Delete actions through applyOrderOverlay so the table reflects the player's intent before auto-sync lands. The plan is corrected in the same patch: per game/rules.txt, ship classes are designed once and cannot be edited — the engine has no Update command, so the UI exposes only Create + Delete. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -192,6 +192,52 @@ const en = {
|
||||
"game.inspector.planet.cargo.pick.no_destinations": "no reachable destinations within {reach} world units",
|
||||
"game.sidebar.order.label.cargo_route_set": "set {loadType} route from planet {source} → planet {destination}",
|
||||
"game.sidebar.order.label.cargo_route_remove": "remove {loadType} route from planet {source}",
|
||||
"game.sidebar.order.label.ship_class_create": "design ship class {name}",
|
||||
"game.sidebar.order.label.ship_class_remove": "remove ship class {name}",
|
||||
"game.table.ship_classes.title": "ship classes",
|
||||
"game.table.ship_classes.column.name": "name",
|
||||
"game.table.ship_classes.column.drive": "drive",
|
||||
"game.table.ship_classes.column.armament": "armament",
|
||||
"game.table.ship_classes.column.weapons": "weapons",
|
||||
"game.table.ship_classes.column.shields": "shields",
|
||||
"game.table.ship_classes.column.cargo": "cargo",
|
||||
"game.table.ship_classes.column.actions": "actions",
|
||||
"game.table.ship_classes.empty": "no ship classes designed yet",
|
||||
"game.table.ship_classes.filter.placeholder": "filter by name",
|
||||
"game.table.ship_classes.action.new": "+ new ship class",
|
||||
"game.table.ship_classes.action.delete": "delete",
|
||||
"game.table.ship_classes.loading": "loading ship classes…",
|
||||
"game.designer.ship_class.title.new": "design new ship class",
|
||||
"game.designer.ship_class.title.view": "ship class {name}",
|
||||
"game.designer.ship_class.field.name": "name",
|
||||
"game.designer.ship_class.field.drive": "drive",
|
||||
"game.designer.ship_class.field.armament": "armament",
|
||||
"game.designer.ship_class.field.weapons": "weapons",
|
||||
"game.designer.ship_class.field.shields": "shields",
|
||||
"game.designer.ship_class.field.cargo": "cargo",
|
||||
"game.designer.ship_class.action.save": "save",
|
||||
"game.designer.ship_class.action.cancel": "cancel",
|
||||
"game.designer.ship_class.action.delete": "delete",
|
||||
"game.designer.ship_class.action.back": "back",
|
||||
"game.designer.ship_class.hint.values": "each value is either 0 or ≥ 1; armament is a non-negative integer; armament and weapons are both zero or both nonzero",
|
||||
"game.designer.ship_class.read_only_notice": "ship classes are designed once; values cannot be edited after creation",
|
||||
"game.designer.ship_class.not_found": "ship class \"{name}\" does not exist",
|
||||
"game.designer.ship_class.invalid.empty": "name cannot be empty",
|
||||
"game.designer.ship_class.invalid.too_long": "name is too long (30 characters max)",
|
||||
"game.designer.ship_class.invalid.starts_with_special": "name cannot start with a special character",
|
||||
"game.designer.ship_class.invalid.ends_with_special": "name cannot end with a special character",
|
||||
"game.designer.ship_class.invalid.consecutive_specials": "too many special characters in a row",
|
||||
"game.designer.ship_class.invalid.whitespace": "name cannot contain spaces",
|
||||
"game.designer.ship_class.invalid.disallowed_character": "name contains disallowed characters",
|
||||
"game.designer.ship_class.invalid.duplicate_name": "a ship class with this name already exists",
|
||||
"game.designer.ship_class.invalid.drive_value": "drive must be 0 or ≥ 1",
|
||||
"game.designer.ship_class.invalid.armament_value": "armament must be 0 or a positive integer",
|
||||
"game.designer.ship_class.invalid.armament_not_integer": "armament must be an integer",
|
||||
"game.designer.ship_class.invalid.weapons_value": "weapons must be 0 or ≥ 1",
|
||||
"game.designer.ship_class.invalid.shields_value": "shields must be 0 or ≥ 1",
|
||||
"game.designer.ship_class.invalid.cargo_value": "cargo must be 0 or ≥ 1",
|
||||
"game.designer.ship_class.invalid.armament_weapons_pair": "armament and weapons must be both zero or both nonzero",
|
||||
"game.designer.ship_class.invalid.all_zero": "at least one value must be nonzero",
|
||||
} as const;
|
||||
|
||||
export default en;
|
||||
|
||||
Reference in New Issue
Block a user