export declare const en: { readonly toolbar: { readonly newMap: 'New Map'; readonly loadDat: 'Load .dat'; readonly loadFromUrl: 'Load .dat from URL'; readonly saveDat: 'Save .dat'; readonly area: 'Area'; readonly level: 'Level'; readonly room: 'Room'; readonly go: 'Go'; readonly goToRoomTitle: 'Go to room by ID'; readonly fitTitle: 'Fit area to view (F)'; readonly fit: 'Fit'; readonly search: 'Search'; readonly searchTitle: 'Search rooms and labels ({{modKey}}+F)'; readonly diff: 'Diff'; readonly diffTitle: 'Compare this map with another file'; readonly rendererSettings: 'Renderer settings'; readonly helpTitle: 'Help (keyboard shortcuts)'; readonly snapTitle: 'Snap to grid (G)'; readonly snap: 'Snap'; readonly undo: '↶ Undo'; readonly undoTitle: 'Undo ({{modKey}}+Z)'; readonly redo: '↷ Redo'; readonly redoTitle: 'Redo ({{modKey}}+Shift+Z)'; readonly swatches: 'Swatches'; readonly swatchesTitle: 'Room swatches palette'; }; readonly status: { readonly initialStatus: 'Load a Mudlet .dat file to begin.'; readonly roomNotFound: 'Room #{{id}} not found'; readonly newMapCreated: 'New map created · 0 rooms · 1 area'; readonly saved: 'Saved {{filename}}'; readonly saveFailed: 'Save failed: {{error}}'; readonly cancelled: 'Cancelled.'; readonly undone: 'Undone'; readonly redone: 'Redone'; readonly movedLabel: 'Moved label {{id}}'; readonly movedRoom: 'Moved room {{id}} → ({{x}}, {{y}}, {{z}})'; readonly movedRooms: 'Moved {{count}} rooms'; readonly deletedRoom: 'Deleted room {{id}}'; readonly deletedRooms: 'Deleted {{count}} rooms'; readonly removedExit: 'Removed exit {{from}} → {{to}}'; readonly removedStub: 'Removed stub {{dir}} on room {{id}}'; readonly removedWaypoint: "Removed waypoint from '{{exit}}' on room {{id}}"; readonly removedCustomLine: "Removed custom line '{{exit}}'"; readonly deletedLabel: 'Deleted label {{id}}'; readonly copied: 'Copied {{count}} rooms'; readonly pasted: 'Pasted {{count}} rooms'; readonly duplicated: 'Duplicated {{count}} rooms'; readonly externalExitsStubbed: '{{count}} external exit(s) → stub'; readonly specialExitsDropped: '{{count}} special exit(s) dropped'; readonly hashesDropped: '{{count}} duplicate hash(es) cleared'; readonly lodNoHitTest: 'Overview mode — zoom in to use this tool'; }; readonly loading: { readonly fetching: 'Downloading map…'; readonly parsing: 'Reading map file…'; readonly preparing: 'Building the map…'; readonly hint: 'Large maps can take a few seconds — the editor may not respond until this finishes.'; }; readonly lod: { readonly title: 'This level holds {{count}} rooms — the renderer is drawing it at reduced detail'; readonly mode_roomsOnly: 'Exits hidden'; readonly mode_raster: 'Overview'; readonly hintExits: 'zoom in for exit lines'; readonly hintZoomIn: 'zoom in to edit'; }; readonly incoming: { readonly title: '{{count}} rooms received from "{{name}}"'; readonly place: 'Place'; readonly placeTitle: 'A preview follows your cursor — click on the map to place, Esc cancels'; readonly placeHint: 'Click on the map to place the rooms · Esc or right-click cancels'; readonly noMap: 'Load a map first'; readonly dismiss: 'Dismiss'; }; readonly hints: { readonly marquee: 'Hold Ctrl to toggle selection'; readonly connect: 'Pick target · Shift = one-way · Esc cancels'; readonly customLine: 'Click to add waypoints · right-click or Enter to finish · Esc cancels'; readonly select: 'Click to select · Shift+click/drag to add · Ctrl+click/drag to toggle · drag selected rooms to move · MMB or Space to pan'; readonly unlink: 'Click a room to remove all its exits · click an exit or custom line to remove just that one'; readonly addRoom: 'Click an empty grid cell to place a room · {{modKey}}+click to place without selecting'; readonly addLabel: 'Click to place a label · select to move/edit · Delete to remove'; readonly paintDrag: 'Drag to paint multiple rooms · release to commit'; readonly paintActive: 'Painting "{{name}}" (env {{env}}{{symbol}}) · click or drag rooms'; readonly paintNoSwatch: 'No swatch selected — open Swatches palette and pick one'; readonly pickSwatch: 'Click a room to copy its symbol & room color · Esc to cancel'; }; readonly tools: { readonly select: { readonly label: 'Select'; readonly hint: 'Click to select · Shift+click/drag to add · Ctrl+click/drag to toggle · drag to move (snaps to grid) · arrow keys nudge · MMB or Space to pan.'; }; readonly connect: { readonly label: 'Connect'; readonly hint: 'Click source, then target. Shift = one-way.'; }; readonly unlink: { readonly label: 'Unlink'; readonly hint: 'Click a room to remove all its exits. Click an exit/custom line to remove just that one.'; }; readonly addRoom: { readonly label: 'Add Room'; readonly hint: 'Click empty cell to create a room. {{modKey}}+click to place without selecting.'; }; readonly addLabel: { readonly label: 'Add Label'; readonly hint: 'Click to place a text label. Select to move/edit, Delete to remove.'; }; readonly delete: { readonly label: 'Delete'; readonly hint: 'Click a room to delete it, or an exit/custom line/label to remove it.'; }; readonly pan: { readonly label: 'Pan'; readonly hint: 'Drag background to pan. Hold Space with any tool for temporary pan.'; }; readonly paint: { readonly label: 'Paint'; readonly hint: 'Click or drag rooms to apply the active room swatch (symbol + room color). Select a swatch in the Swatches palette first.'; }; }; readonly help: { readonly title: 'Mudlet Map Editor — Help'; readonly description: 'Browser-based editor for Mudlet .dat map files. Load a map, navigate areas and z-levels, then use the tools below to build or modify rooms, exits, custom lines, and labels. Changes are auto-saved to your browser session. Export with Save when ready.'; readonly toolsSection: 'Tools'; readonly shortcutsSection: 'Keyboard shortcuts'; readonly close: 'Close'; readonly shortcuts: { readonly switchTool: 'Switch tool'; readonly tempPan: 'Hold to pan temporarily (any tool)'; readonly snapGrid: 'Toggle snap to grid'; readonly fitView: 'Fit area to view'; readonly search: 'Open / close search (rooms, labels)'; readonly selectAll: 'Select all rooms on current level'; readonly copy: 'Copy selected rooms'; readonly paste: 'Paste rooms at cursor (external exits become stubs)'; readonly duplicate: 'Duplicate selected rooms with offset'; readonly delete: 'Delete selection'; readonly nudge: 'Nudge selected room (Shift = ×5)'; readonly undo: 'Undo'; readonly redo: 'Redo'; readonly finishLine: 'Finish custom line'; readonly cancel: 'Cancel / deselect'; }; }; }; type StringValues = { [K in keyof T]: T[K] extends string ? string : StringValues; }; export type EditorLocale = StringValues; export {};