{
  "card.title": "House plan",
  "count.devices": "{n} dev.",
  "empty.no_spaces": "No spaces yet.",
  "empty.add_first": "Add the first space and upload a floor plan.",
  "empty.install": "Install the House Plan integration and add it in \"Devices & services\".",
  "btn.add_space": "Add space",
  "btn.cancel": "Cancel",
  "btn.save": "Save",
  "btn.close": "Close",
  "btn.delete": "Delete",
  "btn.remove": "Remove",
  "btn.edit": "Edit",
  "btn.open_in_ha": "Open in HA",
  "btn.reset": "Reset",
  "btn.attach": "Attach…",
  "btn.upload": "Upload…",
  "btn.replace": "Replace…",
  "btn.no_area": "No area",
  "title.zoom_in": "Zoom in",
  "title.zoom_out": "Zoom out",
  "title.zoom_reset": "Reset zoom",
  "title.add_device": "Add a device to the plan",
  "title.show_all": "Show all area devices (no curation)",
  "title.markup": "Room markup: grid, lines, outlines",
  "title.configure_space": "Configure space",
  "title.add_space": "Add space",
  "title.markup_add": "Add a room: connect grid dots with lines until the outline closes",
  "title.markup_merge": "Merge rooms: click one room, then the neighbour it shares a wall with",
  "title.markup_split": "Split a room: click the room, then two points on its walls",
  "title.markup_delroom": "Delete a room: click inside the room",
  "title.no_area_room": "Decorative room without an HA area (e.g. a hallway)",
  "title.choose_area": "Select a Home Assistant area",
  "title.need_plan": "Upload a floor-plan image",
  "markup.add": "Add",
  "markup.merge": "Merge",
  "markup.split": "Split",
  "markup.opening": "Opening",
  "title.markup_opening": "Doors & windows: click a wall to place, click an opening to edit",
  "opening.new": "New opening",
  "opening.edit": "Door / window",
  "opening.door": "Door",
  "opening.window": "Window",
  "opening.type_label": "Type",
  "opening.length_label": "Length, cm",
  "opening.contact_label": "Open/close sensor",
  "opening.lock_label": "Lock",
  "opening.none": "— none —",
  "opening.invert": "Invert open/closed",
  "opening.flip_h": "Hinge on the other jamb",
  "opening.flip_v": "Opens to the other side",
  "opening.open": "Open",
  "opening.closed": "Closed",
  "opening.locked": "Locked",
  "opening.unlocked": "Unlocked",
  "opening.state_unknown": "unavailable",
  "opening.no_entities": "No sensors bound — a static symbol on the plan.",
  "toast.opening_no_wall": "Click next to a room wall — openings sit on walls",
  "markup.delete": "Delete",
  "markup.hint_points": "points: {n} · Esc/Ctrl+Z — undo a dot · close the outline by clicking the first one",
  "markup.hint_start": "click a grid dot to start the outline",
  "tip.room": "room — open the area",
  "tip.lqi": "average zigbee signal:",
  "info.device_header": "Device on the plan",
  "info.model": "Model",
  "info.state": "State",
  "info.link": "Link",
  "info.manuals": "Manuals",
  "info.none": "No additional information",
  "marker.new_device": "New device",
  "marker.name_label": "Name (shown on the plan)",
  "marker.name_ph": "Name",
  "marker.binding_label": "Bind to an HA device",
  "marker.virtual_option": "Virtual device (no binding)",
  "marker.search_ph": "Search device / group…",
  "marker.nothing_found": "nothing found",
  "marker.room_label": "Room",
  "marker.room_override": " (override placement)",
  "marker.room_choose": "— select a room —",
  "marker.room_auto": "— by device area (auto) —",
  "marker.icon_label": "Icon",
  "marker.icon_ph": "mdi:… (empty = auto)",
  "marker.display_label": "Display",
  "display.badge": "Icon badge",
  "display.ripple": "Ripple only",
  "display.icon_ripple": "Icon + ripple",
  "marker.ripple_size": "Ripple size",
  "marker.size_label": "Icon size / rotation",
  "marker.angle_label": "Rotate",
  "marker.model_label": "Model",
  "marker.model_ph": "e.g. Aqara T&H",
  "marker.link_label": "Link",
  "marker.desc_label": "Description",
  "marker.desc_ph": "Notes, specs…",
  "marker.manuals_label": "Manuals (PDF etc.)",
  "marker.sub_device": "device",
  "marker.sub_z2m_group": " · Z2M group",
  "marker.sub_group": "group",
  "marker.sub_helper": "helper",
  "space.new": "New space",
  "space.header": "Space",
  "space.title_label": "Title",
  "space.title_ph": "e.g. Garage",
  "space.plan_label": "Floor plan (background)",
  "space.no_plan": "no plan image",
  "space.plan_alt": "plan",
  "room.new": "New room",
  "room.name_label": "Display name",
  "room.name_ph": "e.g. Terrace",
  "room.area_label": "Home Assistant area (unassigned)",
  "room.no_area_option": "— no area —",
  "room.default_name": "Room",
  "device.unnamed": "unnamed",
  "device.light_group": "light group",
  "device.fallback": "device",
  "device.virtual": "virtual device",
  "confirm.delete_room": "Delete room \"{name}\"?",
  "confirm.remove_marker": "Remove \"{name}\" from the plan?",
  "confirm.delete_space": "Delete space \"{title}\" with all its rooms and markup?",
  "toast.pos_save_failed": "Failed to save position: {err}",
  "toast.no_entity": "The device has no suitable entity",
  "toast.markup_needs_server": "Markup is available after the config is moved to the server",
  "toast.conflict": "Config was changed in another window — data refreshed, repeat your last action",
  "toast.cfg_save_failed": "Failed to save config: {err}",
  "toast.room_overlap": "The outline overlaps room “{name}” — rooms must not overlap",
  "toast.merge_not_adjacent": "Only rooms that share a wall can be merged",
  "toast.rooms_merged": "Rooms merged into “{name}”",
  "toast.split_pick_wall": "Start the cut on the room’s wall",
  "toast.split_bad_cut": "The cut must run wall to wall inside the room, without crossing walls or itself",
  "merge.header": "Merge rooms",
  "merge.hint": "The merged room keeps one name and one area. The other area is released — its devices leave the plan until another room claims it.",
  "merge.keep": "Keep",
  "merge.no_area": "no area",
  "room.split_header": "New room from the split",
  "toast.room_saved": "Room saved ({n}). Devices added: {added}. Outline the next one or exit markup.",
  "toast.room_saved_no_area": "Room saved ({n}, no area). Outline the next one or exit markup.",
  "toast.marker_needs_server": "Device editing is available after the config is moved to the server",
  "toast.virtual_name_required": "Enter a name for the virtual device",
  "toast.marker_saved": "Device saved",
  "toast.marker_removed": "Device removed from the plan",
  "toast.integration_missing": "The House Plan integration is not installed — management unavailable",
  "toast.plan_formats": "Supported formats: SVG, PNG, JPG, WebP",
  "toast.plan_required": "Upload a floor plan — it is required",
  "toast.space_added_onboard": "Space added. Outline the rooms: click grid dots and close the contour.",
  "toast.space_added": "Space added",
  "toast.space_saved": "Space saved",
  "toast.space_deleted": "Space deleted",
  "toast.delete_failed": "Delete failed: {err}",
  "toast.error": "Error: {err}",
  "toast.file_failed": "File \"{name}\" was not uploaded: {err}",
  "toast.files_attached": "Files attached: {n}",
  "err.unknown": "unknown error",
  "err.code": "code {code}",
  "err.too_large": "file larger than {mb} MB",
  "err.bad_ext": "unsupported type (PDF/image expected)",
  "err.unauthorized": "administrator rights required",
  "editor.title": "Title",
  "editor.default_floor": "Default space",
  "editor.icon_size": "Icon size, % of plan width",
  "editor.show_temperature": "Show temperature",
  "editor.live_states": "Live states (on/off, open…)",
  "editor.show_signal": "Show zigbee signal (LQI)",
  "editor.language": "Interface language",
  "editor.lang_auto": "Auto (HA profile)",
  "editor.lang_en": "English",
  "editor.lang_ru": "Русский",
  "title.icon_rules": "Icon rules: which MDI icon devices get by name",
  "rules.title": "Icon rules",
  "rules.hint": "Rules are checked top-down against “device name + model” (case-insensitive regex); the first match wins. When nothing matches, the entity device class decides, then the generic chip icon.",
  "rules.pattern_ph": "regex, e.g. plug|socket",
  "rules.icon_ph": "mdi:power-socket-de",
  "rules.add": "Add rule",
  "rules.reset": "Reset to defaults",
  "rules.test_ph": "Try a device name…",
  "rules.invalid": "invalid regex",
  "rules.saved": "Icon rules saved",
  "btn.up": "Up",
  "btn.down": "Down",
  "editor.tap_action": "Tap on a device",
  "tap.info": "Info card",
  "tap.more_info": "HA more-info dialog",
  "tap.toggle": "Toggle (lights/switches)",
  "tap.auto": "As the card default",
  "marker.tap_label": "Tap action for this device",
  "tap.toggle_note": "Toggle never applies to locks and alarms; hold the icon to open the info card.",
  "import.title": "Create spaces from HA floors",
  "import.hint": "Your Home Assistant already knows these floors. Pick the ones to turn into plan spaces — you will upload a floor-plan image for each one next. Rooms are then outlined by hand on the plan.",
  "import.start": "Create {n} space(s)",
  "import.manual": "Start from scratch",
  "import.progress": "Floor {i} of {n}",
  "import.done": "Spaces created. Outline the rooms: click grid dots and close the contour.",
  "btn.skip": "Skip",
  "space.scale_label": "Scale (grid cell size)",
  "space.scale_unit": "cm per cell",
  "space.display_section": "Display",
  "space.show_borders": "Always show room borders",
  "space.show_names": "Show room names (drag to move)",
  "space.room_color": "Border & name color",
  "space.opacity": "Opacity",
  "space.fill_label": "Room fill",
  "fill.none": "None",
  "fill.lqi": "Zigbee signal",
  "fill.light": "Lights",
  "space.source_file": "I have a floor-plan image",
  "space.source_draw": "No image — I'll outline rooms by hand",
  "space.orientation": "Canvas",
  "orient.landscape": "Landscape",
  "orient.portrait": "Portrait",
  "orient.square": "Square",
  "fill.temp": "Temperature",
  "space.temp_min": "Comfort from",
  "space.temp_max": "to",
  "tip.temp_avg": "average temperature:",
  "space_card.button": "Open the space plan",
  "space_card.not_found": "Space “{id}” not found",
  "space_card.loading": "Loading…",
  "editor.space": "Space",
  "editor.show_button": "Show button",
  "editor.button_label": "Button label",
  "editor.button_target": "Target dashboard path",
  "editor.aspect_ratio": "Aspect ratio (e.g. 16:9 or auto)",
  "marker.sub_entity": "entity",
  "title.general_settings": "General settings",
  "gs.title": "General settings",
  "gs.hint": "Fill colors apply to every space; each color has its own opacity. Which fill mode a space uses is set in that space's dialog.",
  "gs.light_group": "Fill: lights",
  "gs.light_on": "Lights on",
  "gs.light_off": "All lights off",
  "gs.temp_group": "Fill: temperature",
  "gs.temp_cold": "Cold",
  "gs.temp_ok": "Comfortable",
  "gs.temp_hot": "Hot",
  "gs.lqi_group": "Fill: zigbee signal",
  "gs.lqi_low": "Weak signal",
  "gs.lqi_high": "Strong signal",
  "gs.reset": "Reset to defaults",
  "gs.saved": "General settings saved",
  "space.show_lqi": "Show zigbee signal (LQI) next to devices",
  "gs.light_none": "No light sources",
  "mode.plan": "Plan editor",
  "mode.devices": "Device editor",
  "display.value": "Value instead of an icon",
  "marker.subarea": "no area, manual",
  "device.new": "New device — open its editor to dismiss",
  "opening.unlock_action": "Unlock",
  "opening.lock_action": "Lock",
  "opening.lock_pending": "Working…",
  "title.close_editor": "Close editor (back to view)",
  "devbar.add": "Add",
  "devbar.show_all": "Show all",
  "devbar.rules": "Icon rules",
  "space.roomcard_section": "Room card shows:",
  "space.label_temp": "Temperature",
  "space.label_hum": "Humidity",
  "space.label_lqi": "Average Zigbee signal",
  "space.label_light": "Lights on/off",
  "roomcard.light_on": "On",
  "roomcard.light_off": "Off",
  "roomcard.light_partial": "{on} of {total}",
  "toast.split_pick_inside": "Intermediate cut points must be inside the room",
  "mode.decor": "Background editor",
  "decor.select": "Select",
  "decor.line": "Line",
  "decor.rect": "Rectangle",
  "decor.ellipse": "Oval",
  "decor.text": "Text",
  "decor.erase": "Erase",
  "decor.color": "Color",
  "decor.width": "Line width",
  "decor.w_thin": "Thin",
  "decor.w_mid": "Medium",
  "decor.w_thick": "Thick",
  "decor.fill": "Fill",
  "decor.text_title": "Text label",
  "decor.text_label": "Text",
  "decor.text_size": "Size",
  "decor.size_s": "Small",
  "decor.size_m": "Medium",
  "decor.size_l": "Large",
  "marker.icon_auto": "Auto: {icon} (by icon rules; pick one to override)",
  "mode.plan_tip": "Plan editor — the geometry of the home: draw and split/merge rooms, bind them to HA areas, place doors and windows, move room cards, set the scale",
  "mode.devices_tip": "Device editor — everything about icons: drag to position, click to edit binding/icon/display, add virtual devices, icon rules",
  "mode.decor_tip": "Background editor — purely visual decor under the plan: lines, rectangles, ovals and text labels that never react to clicks",
  "fill.glow": "Light sources (dark house, glowing lamps)",
  "gs.glow_group": "Light-sources fill",
  "gs.glow_base": "House darkness",
  "gs.glow_light": "Default light color / intensity",
  "gs.glow_radius": "Glow radius",
  "gs.unit_m": "m",
  "gs.unit_ft": "ft",
  "marker.controls_label": "Controls light sources",
  "marker.controls_hint": "With tap action “Toggle”, a click flips all bound lights at once (any on → all off). The icon mirrors their state.",
  "marker.controls_filter": "Search lights and switches…",
  "info.controls": "Controls",
  "marker.glow_radius_label": "Glow radius (light-sources fill)",
  "marker.glow_radius_hint": "empty = default from general settings"
}
