Cl8r::I18n::Catalog
Static dictionary containing localized string translations.
Constants
TRANSLATIONS = {Locale::En => {"web.nav.dashboard" => "Dashboard", "web.nav.nodes" => "Nodes", "web.nav.logical" => "Logical", "web.nav.storage" => "Storage", "web.nav.ipam" => "IPAM", "web.nav.security" => "Security", "web.nav.racks" => "Racks", "web.nav.wiring" => "Wiring", "web.nav.subsystems" => "Subsystems", "web.nav.diagrams" => "Diagrams", "web.nav.docs" => "Docs", "web.nav.readme" => "Guide", "web.nav.api" => "API", "web.nav.print" => "Print", "web.nav.switch_lang_title" => "Cambiar a Español (es-MX)", "web.search.placeholder" => "Search IP, hostname, VLAN, MAC, switch port, rack, disk, role, sysctl... (Press / to focus, Esc to clear)", "web.search.matches" => "%{count} matches", "web.search.one_match" => "1 match", "web.search.no_matches" => "No matches found", "web.dashboard.title" => "Cluster Dashboard", "web.dashboard.desc" => "Real-time infrastructure status, capacity KPIs, active orchestrator backends, and baremetal inventory.", "web.dashboard.guide_card_title" => "📖 Cluster Guide", "web.dashboard.guide_card_badge" => "README", "web.dashboard.guide_card_desc" => "Single Source of Truth reference, physical elevations, provisioning flows, and multi-plane network schedules.", "web.dashboard.guide_card_button" => "Read Guide ➔", "web.dashboard.kpi_nodes" => "Nodes", "web.dashboard.kpi_planes" => "Planes", "web.dashboard.kpi_planes_sub" => "Subnets", "web.dashboard.kpi_disks" => "Disks", "web.dashboard.kpi_disks_sub" => "Physical Drives", "web.dashboard.kpi_nics" => "Interfaces", "web.dashboard.kpi_nics_sub" => "Physical & Bonded Ports", "web.dashboard.kpi_vips" => "VIPs", "web.dashboard.kpi_vips_sub" => "HA Endpoints", "web.dashboard.subsystems_title" => "Subsystems", "web.dashboard.nodes_title" => "Nodes", "web.subsystems.title" => "Subsystems Scaffolding", "web.subsystems.desc" => "Live deterministic compilation of active infrastructure backends for %{name}.", "web.subsystems.cat_all" => "⚡ All (%{count})", "web.subsystems.btn_copy" => "📋 Copy", "web.subsystems.files_badge" => "%{count} Files", "web.subsystems.file_badge" => "1 File", "web.subsystems.multi_roles_badge" => "Multi-Node Cluster Roles", "web.subsystems.badge_master" => "Master", "web.subsystems.badge_slave" => "Slave", "web.subsystems.badge_recursor" => "Recursor", "web.subsystems.badge_primary" => "Primary", "web.subsystems.badge_standby" => "Standby", "web.subsystems.badge_backup" => "Backup", "web.subsystems.badge_client" => "Client", "web.subsystems.openstack_status" => "✓ globals.yml active", "web.subsystems.openshift_status" => "✓ install-config active", "web.subsystems.ceph_status" => "✓ Dual-Plane MTU 9000", "web.subsystems.ceph_sub" => "CRUSH rack failure domains", "web.subsystems.dns_status" => "✓ TSIG Replication", "web.subsystems.dns_sub" => "Internal & External views", "web.subsystems.wireguard_status" => "✓ wg0 Gateway active", "web.subsystems.wireguard_sub" => "Encrypted Remote Access", "web.subsystems.dhcp_status" => "✓ Subnets & Reservations active", "web.subsystems.dhcp_sub" => "Dual-Stack IPAM", "web.subsystems.haproxy_status" => "✓ Load Balancer active", "web.subsystems.haproxy_sub" => "High Availability Endpoints", "web.subsystems.chrony_status" => "✓ Time Stratum active", "web.subsystems.chrony_sub" => "Microsecond Jitter Isolation", "web.subsystems.libvirt_status_one" => "✓ 1 Hypervisor active", "web.subsystems.libvirt_status_many" => "✓ %{count} Hypervisors active", "web.subsystems.libvirt_sub" => "QEMU/KVM Virtualization", "web.subsystems.boot_status" => "✓ iPXE & GRUB2 Ready", "web.subsystems.boot_sub" => "Automated Host Staging", "web.subsystems.kickstart_status" => "✓ Kickstart & NMState active", "web.subsystems.kickstart_sub" => "Automated Host Installation", "web.subsystems.firewall_status" => "✓ Security Zones active", "web.subsystems.firewall_sub" => "Ingress/Egress Hardening", "web.subsystems.pki_status" => "✓ Sovereign CA active", "web.subsystems.pki_sub" => "X.509 Certificate Authority", "web.subsystems.base_status" => "✓ Resolved Model active", "web.subsystems.base_sub" => "Standard Network & Host Scaffolding", "web.subsystems.dns_card_title" => "BIND9 Split-Horizon DNS & FreeIPA Integration", "web.subsystems.dns_card_desc" => "Authoritative master/slave zones, dynamic IPv4/IPv6 reverse PTR zone files, and FreeIPA batch automation.", "web.subsystems.dhcp_card_title" => "ISC Kea DHCPv4 & DHCPv6 High-Availability Services", "web.subsystems.dhcp_card_desc" => "JSON configuration with static reservation pools, lease timers, and multi-subnet option definitions.", "web.subsystems.libvirt_card_title" => "Libvirt & KVM Virtualization Architecture", "web.subsystems.libvirt_card_desc" => "Declarative QEMU/KVM domain XMLs, storage pool definitions, and idempotent provisioning scripts.", "web.subsystems.ceph_card_title" => "Distributed Ceph Storage Cluster & CRUSH Map", "web.subsystems.ceph_card_desc" => "ceph.conf dual-plane MTU 9000 storage fabric and failure-domain aware CRUSH bucket hierarchy.", "web.subsystems.haproxy_card_title" => "HAProxy & Keepalived VRRP High Availability", "web.subsystems.haproxy_card_desc" => "L4/L7 load balancer frontends/backends, VRRP heartbeat daemons, and non-local VIP sysctl parameters.", "web.subsystems.chrony_card_title" => "Chrony NTP Stratum Time Synchronization", "web.subsystems.chrony_card_desc" => "Stratum-2 local quorum servers and client broadcast/peer synchronization profiles.", "web.subsystems.boot_card_title" => "UEFI HTTP Boot & Signed iPXE Chains", "web.subsystems.boot_card_desc" => "Unified GRUB2 HTTP bootloader menus and cryptographic chainloading iPXE scripts.", "web.subsystems.pki_card_title" => "Enterprise X.509 PKI & Certificate Authority", "web.subsystems.pki_card_desc" => "Root CA, Intermediate Sub-CA OpenSSL configs, SAN profiles, and certificate minting scripts.", "web.subsystems.kolla_card_title" => "OpenStack Kolla-Ansible Control Plane", "web.subsystems.kolla_card_desc" => "globals.yml multi-plane VIP bindings and multinode Ansible deployment inventory.", "web.subsystems.openshift_card_title" => "OpenShift/OKD Baremetal Cluster Configuration", "web.subsystems.openshift_card_desc" => "install-config.yaml API/Ingress VIP bindings and Baremetal IPI host definitions.", "web.subsystems.sysctl_card_title" => "Role-Tailored Linux Kernel Sysctl Optimization", "web.subsystems.sysctl_card_desc" => "Performance profiles for Storage (Ceph), Control Plane, Compute, and Base Host networking.", "web.subsystems.kickstart_card_title" => "Automated Host Autoinstaller & NMState Profiles", "web.subsystems.kickstart_card_desc" => "Drive-safe Kickstart unattended installers and declarative NMState/NetworkManager keyfiles.", "web.subsystems.wireguard_card_title" => "WireGuard Sovereign Remote Access VPN", "web.subsystems.wireguard_card_desc" => "Dual-stack gateway wg0.conf, NetworkManager connection profiles, and client configuration files.", "web.subsystems.firewall_card_title" => "Production Firewall Rules & Security Matrix", "web.subsystems.firewall_card_desc" => "Production dual-stack stateful nftables firewall scripts and plain-text operator audit matrices.", "web.subsystems.target_dns_master" => "Target Host: %{host} (Master Authority)", "web.subsystems.target_kea_server" => "Target Host: %{host} (ISC Kea Server)", "web.subsystems.target_all_hvs" => "All KVM Hypervisors", "web.subsystems.target_hvs" => "Target Hypervisors: %{hosts}", "web.subsystems.target_ceph_cluster" => "Ceph Storage Cluster", "web.subsystems.target_ceph_nodes" => "Target Storage Nodes: %{hosts}", "web.subsystems.target_lb_nodes" => "Load Balancer Nodes", "web.subsystems.target_lb_hosts" => "Target Hosts: %{hosts}", "web.subsystems.target_chrony_master" => "Master Host: %{host} (Stratum Server) • Clients: All Nodes", "web.subsystems.target_boot_host" => "Target Host: %{host} (TFTP/iPXE/GRUB2 Server)", "web.subsystems.target_pki_host" => "Target CA Host: %{host}", "web.subsystems.target_ctrl_plane" => "Control Plane Nodes", "web.subsystems.target_controllers" => "Target Controllers: %{hosts}", "web.subsystems.target_masters" => "Target Masters: %{hosts}", "web.subsystems.target_all_nodes" => "Target: All Cluster Nodes (services/sysctl/)", "web.subsystems.target_baremetal_nodes" => "Target: All Baremetal Server Nodes (nodes/<hostname>/)", "web.subsystems.target_wireguard_gw" => "Gateway Node: %{host} (51820/udp)", "web.subsystems.target_firewall_host" => "Target Host: %{host} (Datacenter Border Gateway/Router)", "web.readme.title" => "📖 Cluster Guide", "web.readme.subtitle" => "Compiled reference from cluster README", "web.readme.view_raw" => "Raw RST", "web.readme.view_rendered" => "Rendered", "web.readme.copy_rst" => "Copy RST", "web.readme.no_readme" => "No README documentation found for this cluster.", "web.nodes.title" => "Nodes", "web.nodes.desc" => "Complete physical hardware, storage drives, PCIe network interfaces, and BMC IPMI allocations.", "web.logical.title" => "Logical Infrastructure", "web.logical.desc" => "Functional operational view mapping active virtual infrastructure services, hypervisors, control planes, storage, and compute workloads.", "web.logical.tier1_title" => "Tier 1: Core Foundational Services (Bridge-Attached Virtual Domains)", "web.logical.tier1_badge" => "%{count} Virtual Domains Active", "web.logical.service_ntp_title" => "Network Time Stratum (NTP Quorum)", "web.logical.service_ntp_desc" => "Chrony Stratum Quorum • Microsecond Jitter Isolation", "web.logical.service_dhcp_title" => "Dynamic IP & Lease Management (DHCP)", "web.logical.service_dhcp_desc" => "ISC Kea High-Availability Pair • iPXE Next-Server", "web.logical.service_util_title" => "Provisioning Bastion & Automation Node", "web.logical.service_util_desc" => "TFTP/iPXE • Kickstart Engine • Automation Bastion", "web.logical.tier2_title" => "Tier 2: Virtualization & Hypervisor Fabric", "web.logical.tier2_badge" => "%{count} Hypervisors • Bridge: br-mgmt (bond0.100)", "web.logical.hv_desc" => "KVM Hypervisor Host • Libvirt/QEMU", "web.logical.key_host_mgmt_ip" => "Host Management IP:", "web.logical.key_bmc_ipmi" => "BMC IPMI:", "web.logical.key_allocated_load" => "Allocated Load:", "web.logical.key_guest_vms" => "Guest Virtual Domains:", "web.logical.on_host" => "on %{host}", "web.logical.tier3_title" => "Tier 3: Cloud Control Plane & High Availability API Endpoints", "web.logical.tier3_badge" => "%{count} Controllers Active", "web.logical.ctrl_desc" => "Control Plane • %{roles}", "web.logical.key_management" => "Management:", "web.logical.key_vrrp_stack" => "VRRP Stack:", "web.logical.tier4_title" => "Tier 4: Distributed Ceph Storage Fabric", "web.logical.tier4_badge" => "%{count} Storage Nodes • Dual 9000-MTU Planes", "web.logical.storage_node_desc" => "Ceph MON, MGR & OSD Storage Node", "web.logical.key_cluster_fabric" => "Cluster Fabric:", "web.logical.key_public_fabric" => "Public Fabric:", "web.logical.tier5_vms_title" => "Tier 5: Tenant Workload Virtual Domains", "web.logical.tier5_vms_badge" => "%{count} Virtual Domains", "web.logical.tier5_compute_title" => "Tier 5: Baremetal Compute Workload Nodes", "web.logical.tier5_compute_badge" => "%{count} Compute Nodes", "web.logical.tier5_hybrid_title" => "Tier 5: Application Workloads & Compute Grid", "web.logical.tier5_hybrid_badge" => "%{count} Workload Nodes", "web.logical.baremetal_compute_desc" => "Baremetal Workload Execution Host", "web.logical.key_storage_fabric" => "Storage Fabric:", "web.logical.tier6_title" => "Tier 6: Standalone Utility, Deployment & Installer Machines", "web.logical.tier6_badge" => "%{count} Utility Hosts", "web.logical.key_primary_ip" => "Primary IP:", "web.storage.title" => "Storage Infrastructure", "web.storage.desc" => "Physical drive bay allocations, server chassis elevations, RAID/Ceph storage pools, and SRE maintenance console.", "web.storage.kpi_raw" => "Raw", "web.storage.kpi_usable" => "Usable", "web.storage.kpi_parity" => "Parity", "web.storage.kpi_pools" => "Pools", "web.storage.pools_title" => "Storage Pools", "web.storage.pools_empty" => "No storage pools configured.", "web.storage.th_name" => "Name", "web.storage.th_type" => "Type", "web.storage.th_node" => "Node", "web.storage.th_filesystem" => "Filesystem", "web.storage.th_mount_point" => "Mount Point", "web.storage.th_consumer" => "Consumer", "web.storage.th_usable" => "Usable", "web.storage.th_raw" => "Raw", "web.storage.th_devices" => "Devices", "web.storage.search_placeholder" => "Search disk by serial, model, device, node, rack, pool... (e.g. S6PX, nvme0, rack-01)", "web.storage.btn_chassis_view" => "🖥️ Chassis View", "web.storage.btn_table_view" => "📋 Dense Drive Table", "web.storage.btn_console" => "🧰 Console", "web.storage.drive_bays" => "Drive Bays", "web.storage.bays_populated" => "%{count}/%{total} Bays Populated (%{pct}%)", "web.storage.raw_capacity" => "%{size} GB Raw", "web.storage.empty_bay" => "Empty Bay %{bay}", "web.storage.expansion_ready" => "Expansion Ready", "web.storage.dense_title" => "Dense Drive Inventory", "web.storage.th_unit" => "Unit", "web.storage.th_bay" => "Bay", "web.storage.th_device" => "Device", "web.storage.th_serial" => "Serial", "web.storage.th_model" => "Model", "web.storage.th_media" => "Media", "web.storage.th_size" => "Size", "web.storage.th_pool_role" => "Pool/Role", "web.storage.th_status" => "Status", "web.storage.th_actions" => "Actions", "web.storage.btn_inspect" => "Inspect", "web.storage.console_title" => "Drive Management Console", "web.storage.console_desc" => "Target a drive to view physical hardware coordinates, serial identifiers, and copyable sysadmin operations.", "web.storage.target_drive_label" => "Target Drive:", "web.storage.btn_prev_drive" => "Previous Drive", "web.storage.btn_next_drive" => "Next Drive", "web.storage.btn_open_drawer" => "🔍 Drawer", "web.storage.cmd_locate" => "💡 Blink Drive Locate LED", "web.storage.cmd_stop_locate" => "💡 Stop Locate LED", "web.storage.cmd_smart" => "🩺 SMART Diagnostics", "web.storage.cmd_lsblk" => "📊 Block Device Topology", "web.storage.cmd_wipe" => "🔒 Secure Wipe/Retire", "web.storage.btn_copy" => "Copy", "web.storage.copied" => "Copied!", "web.ipam.title" => "IPAM Matrix", "web.ipam.desc" => "VLAN segmentations, capacity utilization, gateway boundaries, and dynamic DHCP pools.", "web.ipam.th_utilization" => "Utilization", "web.ipam.hosts_connected" => "%{count} Hosts Connected", "web.ipam.vlan_visibility_title" => "VLAN Visibility", "web.ipam.vlan_visibility_desc" => "Cross-tabulation of node attachments, assigned IPs, MTU consistency, and broadcast domain isolation.", "web.ipam.th_kind" => "Kind", "web.ipam.attached" => "Attached", "web.ipam.reachability_title" => "Reachability Solver", "web.ipam.reachability_desc" => "Select any two nodes to verify direct L2 broadcast domain adjacency, Layer 3 routing paths, firewall security access, and provisioning path validity.", "web.ipam.reach_source" => "Source:", "web.ipam.reach_target" => "Target:", "web.security.title" => "Security Policies", "web.security.desc" => "Zero-Trust stateful border packet filtering, inter-VLAN segmentation ACLs, public port exposure, and sovereign VPN tunnels.", "web.security.enforcement_host" => "🎯 Enforcement Host: %{host}", "web.security.kpi_border" => "Border Posture", "web.security.kpi_border_sub" => "Zero-Trust default-deny at border", "web.security.kpi_bmc" => "BMC Quarantine", "web.security.kpi_bmc_sub" => "Restricted to Admin VPN & Hypervisors", "web.security.kpi_wan" => "Public WAN", "web.security.kpi_wan_sub" => "Direct WAN Internet Ingress", "web.security.kpi_exposed" => "%{count} Exposed", "web.security.kpi_rules" => "Access Rules", "web.security.kpi_rules_sub" => "Stateful inspection & Inter-VLAN ACLs", "web.security.kpi_active" => "%{count} Active", "web.security.cat_all" => "⚡ All (%{count})", "web.security.cat_wan" => "🌐 WAN (%{count})", "web.security.cat_vpn" => "🔒 VPN (%{count})", "web.security.cat_inter_vlan" => "🔀 Inter-VLAN (%{count})", "web.security.th_rule_name" => "Rule Name", "web.security.th_source" => "Source Zone/Origin", "web.security.th_destination" => "Destination Target", "web.security.th_protocols_ports" => "Protocols & Ports", "web.security.th_action" => "Action", "web.security.th_description" => "Description & Purpose", "web.security.empty" => "No security policies or access rules configured for this cluster.", "web.security.artifacts_title" => "Firewall Rules", "web.security.artifacts_desc" => "Production dual-stack stateful nftables firewall scripts and plain-text operator audit matrices.", "web.racks.title" => "Rack Elevations", "web.racks.desc" => "Vertical equipment positioning (U1 to 42U/48U), pre-allocated growth buffers, external equipment, and dual PDU circuit allocations.", "web.racks.kpi_total" => "Total", "web.racks.kpi_active" => "Active", "web.racks.kpi_planned" => "Planned", "web.racks.kpi_external" => "External", "web.racks.kpi_blocked" => "Blocked", "web.racks.kpi_available" => "Available", "web.racks.slot_available" => "[Available Slot]", "web.racks.location_default" => "Datacenter", "web.wiring.title" => "Switch Patching", "web.wiring.desc" => "Physical patch schedule connecting server interfaces to Top-of-Rack (TOR) switches.", "web.wiring.th_switch" => "Switch", "web.wiring.th_port" => "Port", "web.wiring.th_speed_mode" => "Speed/Mode", "web.wiring.th_vlans" => "VLANs", "web.wiring.th_host" => "Host", "web.wiring.th_interface" => "Interface", "web.wiring.th_mac" => "MAC", "web.wiring.th_cable" => "Cable", "web.wiring.unassigned" => "Unassigned", "web.diagrams.title" => "Topology Diagrams", "web.diagrams.desc" => "Real-time compiled SVG network topology, physical wiring fabric, and rack elevations.", "web.diagrams.tab_topology" => "Topology", "web.diagrams.tab_wiring" => "Wiring", "web.diagrams.tab_racks" => "Racks", "web.diagrams.btn_expand" => "🔍 Expand", "web.diagrams.btn_d2_source" => "D2 Source", "web.diagrams.btn_copy_topology" => "Copy Topology", "web.diagrams.btn_copy_wiring" => "Copy Wiring", "web.diagrams.canvas_hint" => "🔍 Click to expand & zoom", "web.diagrams.d2_missing" => "D2 is not installed on the system PATH. SVG rendering requires 'd2'.", "web.docs.title" => "Cluster Technical Memoir", "web.docs.desc" => "Single Source of Truth architectural specification, Bill of Materials, network plane matrix, and multi-generator references.", "web.docs.sections" => "SECTIONS:", "web.docs.sec_summary" => "Summary", "web.docs.sec_bom" => "BOM", "web.docs.sec_planes" => "Planes", "web.docs.sec_ipam" => "IPAM", "web.docs.sec_wiring" => "Wiring", "web.docs.sec_racks" => "Racks", "web.docs.sec_subsystems" => "Subsystems", "web.docs.sec_rst" => "RST", "web.docs.overview_title" => "Overview: %{name}", "web.docs.ssot_ref" => "Single Source of Truth (SSoT) Architectural Reference:", "web.docs.ssot_desc" => "This document constitutes the definitive hardware, IPAM, network plane, and multi-orchestrator specification compiled from cluster.yaml.", "web.docs.card_cluster_name" => "Cluster Name", "web.docs.card_domain" => "Domain", "web.docs.card_environment" => "Environment", "web.docs.card_default_mtu" => "Default MTU", "web.docs.card_total_nodes" => "Total Nodes", "web.docs.card_target_backends" => "Target Backends", "web.docs.bom_title" => "Bill of Materials (BOM)", "web.docs.bom_servers" => "Baremetal Servers", "web.docs.bom_servers_desc" => "High-Performance Compute & Control Nodes", "web.docs.bom_drives" => "Storage Drives", "web.docs.bom_drives_desc" => "Enterprise NVMe/SAS Storage Disks", "web.docs.bom_ports" => "Network Ports", "web.docs.bom_ports_desc" => "Host Uplinks & LACP Bonds", "web.docs.bom_switches" => "Datacenter Switches", "web.docs.bom_switches_desc" => "Top-of-Rack (TOR) & Core Leaf-Spine", "web.docs.bom_cabling" => "Network Cabling", "web.docs.bom_cabling_desc" => "Server-to-TOR Interconnects", "web.docs.bom_mgmt_cabling" => "Management Cabling", "web.docs.bom_mgmt_cabling_desc" => "Out-of-Band BMC Management", "web.docs.planes_title" => "Network Planes", "web.modal.diagram_title" => "Diagram Viewer", "web.modal.zoom_in" => "➕ In", "web.modal.zoom_out" => "➖ Out", "web.modal.zoom_reset" => "↺ 100%", "web.modal.zoom_fit" => "⛶ Fit", "web.modal.fullscreen" => "🖥 Fullscreen", "web.modal.download_svg" => "⬇ SVG", "web.modal.close" => "✕ Close", "web.modal.hint" => "💡 <strong>Drag</strong> to Pan • <strong>Scroll</strong> to Zoom at cursor • <strong>Double-Click</strong> to Fit • <strong>+/-</strong> to Zoom • <strong>Esc</strong> to Close", "web.sort.asc" => "Click to sort ascending", "web.sort.desc" => "Click to sort descending", "web.sort.clear" => "Click to clear sorting (restore original order)", "web.drawer.title" => "Inspector", "web.drawer.subtitle" => "Relational Context", "web.drawer.back" => "← Back", "web.drawer.close" => "✕", "web.drawer.identity_hardware" => "📊 Identity & Hardware Specs", "web.drawer.not_found" => "Entity not found in topology", "web.drawer.metadata_error" => "Entity metadata could not be resolved.", "web.drawer.virtual_domain" => "Virtual Domain (KVM)", "web.drawer.baremetal_host" => "Baremetal Host", "web.drawer.network_planes" => "🌐 Connected Network Planes", "web.drawer.storage_drives" => "💾 Physical Storage Drives", "web.drawer.switch_ports" => "🔌 Switch Port Mappings", "web.drawer.cross_relations" => "🔗 Cross-Entity Relations", "web.drawer.vlan_attributes" => "🌐 VLAN & Subnet Attributes", "web.drawer.dhcp_reservations" => "📡 Static DHCP Reservations", "web.drawer.vm_allocations" => "💻 Virtual Machine Allocations", "web.drawer.port_specs" => "🔌 Port Specifications & Wiring", "web.drawer.rack_elevation" => "📍 Physical Elevation & Equipment", "web.drawer.pool_members" => "🗄️ Storage Pool Attributes & Members", "web.drawer.drive_hardware" => "💾 Drive Hardware & Bay Placement", "web.drawer.drive_console" => "🧰 Drive Operations Console", "web.drawer.raw_spec" => "📄 Raw Specification", "web.drawer.no_disks" => "No physical disks configured on this node.", "web.drawer.no_interfaces" => "No network interfaces configured on this node.", "web.drawer.no_reservations" => "No static DHCP reservations on this plane.", "web.drawer.no_relations" => "No relational links discovered.", "web.drawer.copy_btn" => "Copy", "web.drawer.copied" => "Copied!", "web.tables.hostname" => "Hostname", "web.tables.rack" => "Rack", "web.tables.roles" => "Roles", "web.tables.disks" => "Disks", "web.tables.bonds_interfaces" => "Interfaces", "web.tables.mgmt_ipv4" => "Management IP", "web.tables.bmc_ip" => "BMC IP", "web.tables.plane_name" => "Plane", "web.tables.vlan" => "VLAN", "web.tables.mtu" => "MTU", "web.tables.ipv4_subnet" => "IPv4 Subnet", "web.tables.ipv6_prefix" => "IPv6 Prefix", "web.tables.gateway" => "Gateway", "web.tables.vips" => "VIPs", "web.tables.connected_hosts" => "Hosts", "web.tables.category" => "Category", "web.tables.item_spec" => "Item", "web.tables.quantity" => "Quantity", "web.tables.role_assignment" => "Role", "client.search.matches" => "%{count} matches", "client.search.match" => "1 match", "client.search.no_matches" => "0 matches", "client.sort.asc" => "Click to sort ascending", "client.sort.desc" => "Click to sort descending", "client.drawer.title" => "Inspector", "client.drawer.subtitle" => "Relational Context", "client.drawer.back" => "← Back", "client.drawer.close" => "✕ Close", "client.drawer.not_found_title" => "Entity not found", "client.drawer.not_found_desc" => "Entity metadata could not be resolved.", "client.drawer.section_identity" => "📊 Identity & Hardware Specs", "client.drawer.section_interfaces" => "🔌 Network Interfaces & IPAM", "client.drawer.section_disks" => "💾 Physical Disks & Storage", "client.drawer.section_vms" => "🌐 Hosted Virtual Domains", "client.drawer.section_connected_nodes" => "🖥️ Connected Host Interfaces", "client.drawer.section_switch_ports" => "🔌 Switch Port Allocations", "client.drawer.key_fqdn" => "FQDN:", "client.drawer.key_kind" => "Kind:", "client.drawer.key_roles" => "Roles:", "client.drawer.key_vcpus" => "vCPUs:", "client.drawer.key_memory" => "Memory:", "client.drawer.key_bmc" => "BMC IPMI:", "client.drawer.key_ip" => "IP Address:", "client.drawer.key_subnet" => "Subnet:", "client.drawer.key_vlan" => "VLAN:", "client.drawer.key_gateway" => "Gateway:", "client.drawer.key_mac" => "MAC Address:", "client.drawer.key_model" => "Model:", "client.drawer.key_capacity" => "Capacity:", "client.drawer.key_speed" => "Port Speed:", "client.drawer.badge_vm" => "Virtual Domain (KVM)", "client.drawer.badge_baremetal" => "Baremetal Host", "client.reachability.evaluating" => "Evaluating reachability...", "client.reachability.reachable" => "✓ Direct L2/L3 Path Verified", "client.reachability.isolated" => "✗ Isolated/No Route Found", "client.diagram.zoom_reset" => "Reset 100%", "client.diagram.fullscreen" => "Fullscreen", "client.diagram.download" => "Download SVG", "cli.config.saved" => "✓ Configuration updated: '%{key}' = '%{value}'.", "cli.config.unset" => "✓ Reset '%{key}' to default value.", "cli.config.active_path" => "Active configuration file: %{path}", "cli.validate.valid" => "✓ Cluster specification '%{file}' is valid (%{nodes} nodes, %{planes} network planes).", "cli.validate.invalid" => "✗ Cluster specification '%{file}' has validation errors:", "cli.validate.strict_failed" => "✗ Validation failed under strict mode: %{count} warning(s) detected.", "cli.plan.title" => "Cluster Deployment Plan: %{name}", "cli.plan.summary" => "Summary: %{nodes} nodes, %{planes} network planes, %{racks} racks, %{switches} switches.", "cli.find.no_results" => "No cluster entities found matching query '%{query}'.", "cli.serve.starting" => "⚡ cl8r Web Inspector starting on http://%{host}:%{port}", "cli.serve.target" => " Target Cluster: %{name} (%{nodes} nodes, %{planes} planes)", "cli.serve.stop_hint" => " Press Ctrl+C to stop the server."}, Locale::EsMX => {"web.nav.dashboard" => "Panel", "web.nav.nodes" => "Nodos", "web.nav.logical" => "Lógica", "web.nav.storage" => "Almacenamiento", "web.nav.ipam" => "IPAM", "web.nav.security" => "Seguridad", "web.nav.racks" => "Racks", "web.nav.wiring" => "Cableado", "web.nav.subsystems" => "Subsistemas", "web.nav.diagrams" => "Diagramas", "web.nav.docs" => "Documentación", "web.nav.readme" => "Guía", "web.nav.api" => "API", "web.nav.print" => "Imprimir", "web.nav.switch_lang_title" => "Switch to English (en)", "web.search.placeholder" => "Buscar IP, nombre de host, VLAN, MAC, puerto de switch, rack, disco, rol, sysctl... (Presiona / para enfocar, Esc para limpiar)", "web.search.matches" => "%{count} coincidencias", "web.search.one_match" => "1 coincidencia", "web.search.no_matches" => "Sin coincidencias", "web.dashboard.title" => "Panel del Clúster", "web.dashboard.desc" => "Estado de infraestructura en tiempo real, KPIs de capacidad, backends orquestadores activos e inventario baremetal.", "web.dashboard.guide_card_title" => "📖 Guía del Clúster", "web.dashboard.guide_card_badge" => "README", "web.dashboard.guide_card_desc" => "Referencia de Fuente Única de Verdad (SSoT), elevaciones físicas, flujos de aprovisionamiento y cronogramas de red multi-plano.", "web.dashboard.guide_card_button" => "Leer Guía ➔", "web.dashboard.kpi_nodes" => "Nodos", "web.dashboard.kpi_planes" => "Planos", "web.dashboard.kpi_planes_sub" => "Subredes", "web.dashboard.kpi_disks" => "Discos", "web.dashboard.kpi_disks_sub" => "Unidades Físicas", "web.dashboard.kpi_nics" => "Interfaces", "web.dashboard.kpi_nics_sub" => "Puertos Físicos y Enlazados", "web.dashboard.kpi_vips" => "VIPs", "web.dashboard.kpi_vips_sub" => "Puntos de Alta Disponibilidad", "web.dashboard.subsystems_title" => "Subsistemas", "web.dashboard.nodes_title" => "Nodos", "web.subsystems.title" => "Andamiaje de Subsistemas", "web.subsystems.desc" => "Compilación determinista en tiempo real de los backends de infraestructura activos para %{name}.", "web.subsystems.cat_all" => "⚡ Todos (%{count})", "web.subsystems.btn_copy" => "📋 Copiar", "web.subsystems.files_badge" => "%{count} Archivos", "web.subsystems.file_badge" => "1 Archivo", "web.subsystems.multi_roles_badge" => "Roles de Clúster Multi-Nodo", "web.subsystems.badge_master" => "Maestro", "web.subsystems.badge_slave" => "Esclavo", "web.subsystems.badge_recursor" => "Recursivo", "web.subsystems.badge_primary" => "Primario", "web.subsystems.badge_standby" => "Secundario", "web.subsystems.badge_backup" => "Respaldo", "web.subsystems.badge_client" => "Cliente", "web.subsystems.openstack_status" => "✓ globals.yml activo", "web.subsystems.openshift_status" => "✓ install-config activo", "web.subsystems.ceph_status" => "✓ Doble Plano MTU 9000", "web.subsystems.ceph_sub" => "Dominios de falla CRUSH por rack", "web.subsystems.dns_status" => "✓ Replicación TSIG", "web.subsystems.dns_sub" => "Vistas internas y externas", "web.subsystems.wireguard_status" => "✓ Pasarela wg0 activa", "web.subsystems.wireguard_sub" => "Acceso remoto cifrado", "web.subsystems.dhcp_status" => "✓ Subredes y reservaciones activas", "web.subsystems.dhcp_sub" => "IPAM de doble pila (Dual-Stack)", "web.subsystems.haproxy_status" => "✓ Balanceador de carga activo", "web.subsystems.haproxy_sub" => "Puntos de enlace de alta disponibilidad", "web.subsystems.chrony_status" => "✓ Estrato horario activo", "web.subsystems.chrony_sub" => "Aislamiento de fluctuación en microsegundos", "web.subsystems.libvirt_status_one" => "✓ 1 hipervisor activo", "web.subsystems.libvirt_status_many" => "✓ %{count} hipervisores activos", "web.subsystems.libvirt_sub" => "Virtualización QEMU/KVM", "web.subsystems.boot_status" => "✓ iPXE y GRUB2 listos", "web.subsystems.boot_sub" => "Aprovisionamiento automatizado de hosts", "web.subsystems.kickstart_status" => "✓ Kickstart y NMState activos", "web.subsystems.kickstart_sub" => "Instalación automatizada de sistemas", "web.subsystems.firewall_status" => "✓ Zonas de seguridad activas", "web.subsystems.firewall_sub" => "Fortalecimiento de entrada y salida", "web.subsystems.pki_status" => "✓ Autoridad Certificadora Soberana activa", "web.subsystems.pki_sub" => "Autoridad Certificadora X.509", "web.subsystems.base_status" => "✓ Modelo resuelto activo", "web.subsystems.base_sub" => "Andamiaje estándar de redes y servidores", "web.subsystems.dns_card_title" => "DNS BIND9 Split-Horizon e Integración FreeIPA", "web.subsystems.dns_card_desc" => "Zonas maestras/esclavas autoritativas, zonas PTR inversas dinámicas IPv4/IPv6 y automatización de lotes FreeIPA.", "web.subsystems.dhcp_card_title" => "Servicios de Alta Disponibilidad DHCPv4 y DHCPv6 ISC Kea", "web.subsystems.dhcp_card_desc" => "Configuración JSON con pools de reservaciones estáticas, tiempos de concesión y opciones multi-subred.", "web.subsystems.libvirt_card_title" => "Arquitectura de Virtualización Libvirt y KVM", "web.subsystems.libvirt_card_desc" => "XMLs declarativos de dominios QEMU/KVM, definiciones de pools de almacenamiento y scripts de aprovisionamiento idempotentes.", "web.subsystems.ceph_card_title" => "Clúster de Almacenamiento Distribuido Ceph y Mapa CRUSH", "web.subsystems.ceph_card_desc" => "Tejido de almacenamiento dual MTU 9000 en ceph.conf y jerarquía de cubetas CRUSH con conciencia de dominios de falla.", "web.subsystems.haproxy_card_title" => "Alta Disponibilidad VRRP con HAProxy y Keepalived", "web.subsystems.haproxy_card_desc" => "Frontends/backends de balanceo de carga L4/L7, demonios de latido VRRP y parámetros sysctl de VIP no locales.", "web.subsystems.chrony_card_title" => "Sincronización Horaria de Estrato NTP Chrony", "web.subsystems.chrony_card_desc" => "Servidores de quórum local Estrato-2 y perfiles de sincronización por difusión y pares de clientes.", "web.subsystems.boot_card_title" => "Arranque UEFI HTTP y Cadenas Criptográficas iPXE", "web.subsystems.boot_card_desc" => "Menús unificados de gestor de arranque GRUB2 HTTP y scripts de encadenamiento criptográfico iPXE.", "web.subsystems.pki_card_title" => "PKI Empresarial X.509 y Autoridad de Certificación", "web.subsystems.pki_card_desc" => "CA Raíz, configuraciones OpenSSL de Sub-CA Intermedia, perfiles SAN y scripts de emisión de certificados.", "web.subsystems.kolla_card_title" => "Plano de Control OpenStack Kolla-Ansible", "web.subsystems.kolla_card_desc" => "Vinculaciones VIP multi-plano en globals.yml e inventario de despliegue multi-nodo de Ansible.", "web.subsystems.openshift_card_title" => "Configuración de Clúster Baremetal OpenShift/OKD", "web.subsystems.openshift_card_desc" => "Vinculaciones VIP de API/Ingreso en install-config.yaml y definiciones de hosts Baremetal IPI.", "web.subsystems.sysctl_card_title" => "Optimización de Sysctl del Kernel Linux por Rol", "web.subsystems.sysctl_card_desc" => "Perfiles de rendimiento para Almacenamiento (Ceph), Plano de Control, Cómputo y red base del host.", "web.subsystems.kickstart_card_title" => "Autoinstalador de Servidores y Perfiles NMState", "web.subsystems.kickstart_card_desc" => "Instaladores desatendidos Kickstart seguros para discos y archivos de configuración declarativos NMState/NetworkManager.", "web.subsystems.wireguard_card_title" => "VPN Soberana de Acceso Remoto WireGuard", "web.subsystems.wireguard_card_desc" => "Pasarela de doble pila wg0.conf, perfiles de conexión NetworkManager y archivos de configuración de clientes.", "web.subsystems.firewall_card_title" => "Reglas de Cortafuegos y Matriz de Seguridad", "web.subsystems.firewall_card_desc" => "Scripts de cortafuegos nftables con estado de doble pila y matrices de auditoría en texto plano.", "web.subsystems.target_dns_master" => "Host Objetivo: %{host} (Autoridad Maestra)", "web.subsystems.target_kea_server" => "Host Objetivo: %{host} (Servidor ISC Kea)", "web.subsystems.target_all_hvs" => "Todos los Hipervisores KVM", "web.subsystems.target_hvs" => "Hipervisores Objetivo: %{hosts}", "web.subsystems.target_ceph_cluster" => "Clúster de Almacenamiento Ceph", "web.subsystems.target_ceph_nodes" => "Nodos de Almacenamiento Objetivo: %{hosts}", "web.subsystems.target_lb_nodes" => "Nodos Balanceadores de Carga", "web.subsystems.target_lb_hosts" => "Hosts Objetivo: %{hosts}", "web.subsystems.target_chrony_master" => "Host Maestro: %{host} (Servidor Stratum) • Clientes: Todos los Nodos", "web.subsystems.target_boot_host" => "Host Objetivo: %{host} (Servidor TFTP/iPXE/GRUB2)", "web.subsystems.target_pki_host" => "Host CA Objetivo: %{host}", "web.subsystems.target_ctrl_plane" => "Nodos del Plano de Control", "web.subsystems.target_controllers" => "Controladores Objetivo: %{hosts}", "web.subsystems.target_masters" => "Maestros Objetivo: %{hosts}", "web.subsystems.target_all_nodes" => "Objetivo: Todos los Nodos del Clúster (services/sysctl/)", "web.subsystems.target_baremetal_nodes" => "Objetivo: Todos los Nodos Baremetal (nodes/<hostname>/)", "web.subsystems.target_wireguard_gw" => "Nodo Pasarela: %{host} (51820/udp)", "web.subsystems.target_firewall_host" => "Host Objetivo: %{host} (Enrutador/Pasarela Perimetral del Datacenter)", "web.readme.title" => "📖 Guía del Clúster", "web.readme.subtitle" => "Referencia compilada desde el README del clúster", "web.readme.view_raw" => "RST Sin Formato", "web.readme.view_rendered" => "Renderizado", "web.readme.copy_rst" => "Copiar RST", "web.readme.no_readme" => "No se encontró documentación README para este clúster.", "web.nodes.title" => "Nodos", "web.nodes.desc" => "Hardware físico completo, unidades de almacenamiento, interfaces de red PCIe y asignaciones BMC/IPMI.", "web.logical.title" => "Infraestructura Lógica", "web.logical.desc" => "Vista funcional operativa que mapea servicios virtuales de infraestructura, hipervisores, planos de control, almacenamiento y cargas de cómputo.", "web.logical.tier1_title" => "Nivel 1: Servicios Fundamentales Base (Dominios Virtuales en Puente)", "web.logical.tier1_badge" => "%{count} Dominios Virtuales Activos", "web.logical.service_ntp_title" => "Estrato Horario de Red (Quórum NTP)", "web.logical.service_ntp_desc" => "Quórum de Estrato Chrony • Aislamiento de fluctuación en microsegundos", "web.logical.service_dhcp_title" => "Asignación Dinámica de IP y Concesiones (DHCP)", "web.logical.service_dhcp_desc" => "Par de Alta Disponibilidad ISC Kea • Servidor Next-Server iPXE", "web.logical.service_util_title" => "Bastión de Aprovisionamiento y Automatización", "web.logical.service_util_desc" => "TFTP/iPXE • Motor Kickstart • Bastión de Automatización", "web.logical.tier2_title" => "Nivel 2: Tejido de Virtualización e Hipervisores", "web.logical.tier2_badge" => "%{count} Hipervisores • Puente: br-mgmt (bond0.100)", "web.logical.hv_desc" => "Host Hipervisor KVM • Libvirt/QEMU", "web.logical.key_host_mgmt_ip" => "IP Gestión del Host:", "web.logical.key_bmc_ipmi" => "BMC IPMI:", "web.logical.key_allocated_load" => "Carga Asignada:", "web.logical.key_guest_vms" => "Dominios Virtuales Huéspedes:", "web.logical.on_host" => "en %{host}", "web.logical.tier3_title" => "Nivel 3: Plano de Control en la Nube y APIs de Alta Disponibilidad", "web.logical.tier3_badge" => "%{count} Controladores Activos", "web.logical.ctrl_desc" => "Plano de Control • %{roles}", "web.logical.key_management" => "Gestión:", "web.logical.key_vrrp_stack" => "Pila VRRP:", "web.logical.tier4_title" => "Nivel 4: Tejido de Almacenamiento Distribuido Ceph", "web.logical.tier4_badge" => "%{count} Nodos de Almacenamiento • Planos duales MTU 9000", "web.logical.storage_node_desc" => "Nodo de Almacenamiento Ceph MON, MGR y OSD", "web.logical.key_cluster_fabric" => "Tejido del Clúster:", "web.logical.key_public_fabric" => "Tejido Público:", "web.logical.tier5_vms_title" => "Nivel 5: Dominios Virtuales de Carga de Usuarios", "web.logical.tier5_vms_badge" => "%{count} Dominios Virtuales", "web.logical.tier5_compute_title" => "Nivel 5: Nodos Físicos (Baremetal) de Cómputo", "web.logical.tier5_compute_badge" => "%{count} Nodos de Cómputo", "web.logical.tier5_hybrid_title" => "Nivel 5: Cargas de Trabajo y Cuadrícula de Cómputo", "web.logical.tier5_hybrid_badge" => "%{count} Nodos de Trabajo", "web.logical.baremetal_compute_desc" => "Host Físico de Ejecución de Cargas", "web.logical.key_storage_fabric" => "Tejido de Almacenamiento:", "web.logical.tier6_title" => "Nivel 6: Máquinas Utilitarias, Despliegue e Instaladores", "web.logical.tier6_badge" => "%{count} Hosts Utilitarios", "web.logical.key_primary_ip" => "IP Primaria:", "web.storage.title" => "Infraestructura de Almacenamiento", "web.storage.desc" => "Asignación de bahías de disco, elevaciones de chasis de servidores, pools RAID/Ceph y consola de mantenimiento SRE.", "web.storage.kpi_raw" => "Bruto", "web.storage.kpi_usable" => "Útil", "web.storage.kpi_parity" => "Paridad", "web.storage.kpi_pools" => "Pools", "web.storage.pools_title" => "Pools de Almacenamiento", "web.storage.pools_empty" => "No hay pools de almacenamiento configurados.", "web.storage.th_name" => "Nombre", "web.storage.th_type" => "Tipo", "web.storage.th_node" => "Nodo", "web.storage.th_filesystem" => "Sistema de Archivos", "web.storage.th_mount_point" => "Punto de Montaje", "web.storage.th_consumer" => "Consumidor", "web.storage.th_usable" => "Útil", "web.storage.th_raw" => "Bruto", "web.storage.th_devices" => "Dispositivos", "web.storage.search_placeholder" => "Buscar disco por serie, modelo, dispositivo, nodo, rack, pool... (ej. S6PX, nvme0, rack-01)", "web.storage.btn_chassis_view" => "🖥️ Vista de Chasis", "web.storage.btn_table_view" => "📋 Tabla Densa de Discos", "web.storage.btn_console" => "🧰 Consola", "web.storage.drive_bays" => "Bahías de Unidad", "web.storage.bays_populated" => "%{count}/%{total} Bahías Ocupadas (%{pct}%)", "web.storage.raw_capacity" => "%{size} GB Brutos", "web.storage.empty_bay" => "Bahía Vacía %{bay}", "web.storage.expansion_ready" => "Lista para Expansión", "web.storage.dense_title" => "Inventario Denso de Unidades", "web.storage.th_unit" => "Unidad", "web.storage.th_bay" => "Bahía", "web.storage.th_device" => "Dispositivo", "web.storage.th_serial" => "Serie", "web.storage.th_model" => "Modelo", "web.storage.th_media" => "Medio", "web.storage.th_size" => "Tamaño", "web.storage.th_pool_role" => "Pool/Rol", "web.storage.th_status" => "Estado", "web.storage.th_actions" => "Acciones", "web.storage.btn_inspect" => "Inspeccionar", "web.storage.console_title" => "Consola de Gestión de Unidades", "web.storage.console_desc" => "Seleccione una unidad para ver coordenadas de hardware físico, identificadores de serie y comandos de operaciones SRE.", "web.storage.target_drive_label" => "Unidad Objetivo:", "web.storage.btn_prev_drive" => "Unidad Anterior", "web.storage.btn_next_drive" => "Siguiente Unidad", "web.storage.btn_open_drawer" => "🔍 Panel", "web.storage.cmd_locate" => "💡 Parpadear LED de Localización", "web.storage.cmd_stop_locate" => "💡 Detener LED de Localización", "web.storage.cmd_smart" => "🩺 Diagnóstico SMART", "web.storage.cmd_lsblk" => "📊 Topología de Dispositivos de Bloque", "web.storage.cmd_wipe" => "🔒 Borrado Seguro/Retiro", "web.storage.btn_copy" => "Copiar", "web.storage.copied" => "¡Copiado!", "web.ipam.title" => "Matriz IPAM", "web.ipam.desc" => "Segmentación de VLANs, utilización de capacidad, límites de pasarelas y grupos DHCP dinámicos.", "web.ipam.th_utilization" => "Utilización", "web.ipam.hosts_connected" => "%{count} Hosts Conectados", "web.ipam.vlan_visibility_title" => "Visibilidad de VLANs", "web.ipam.vlan_visibility_desc" => "Tabulación cruzada de conexiones de nodos, IPs asignadas, consistencia de MTU y aislamiento de dominios de difusión.", "web.ipam.th_kind" => "Tipo", "web.ipam.attached" => "Conectado", "web.ipam.reachability_title" => "Analizador de Alcanzabilidad", "web.ipam.reachability_desc" => "Seleccione dos nodos para verificar adyacencia directa en capa 2, rutas de enrutamiento capa 3, acceso de seguridad por firewall y validez de la ruta de aprovisionamiento.", "web.ipam.reach_source" => "Origen:", "web.ipam.reach_target" => "Destino:", "web.security.title" => "Políticas de Seguridad", "web.security.desc" => "Filtrado de paquetes perimetral con estado Zero-Trust, ACLs de segmentación inter-VLAN, exposición de puertos públicos y túneles VPN soberanos.", "web.security.enforcement_host" => "🎯 Host de Aplicación: %{host}", "web.security.kpi_border" => "Postura Perimetral", "web.security.kpi_border_sub" => "Denegación por defecto Zero-Trust en el perímetro", "web.security.kpi_bmc" => "Cuarentena BMC", "web.security.kpi_bmc_sub" => "Restringido a VPN de administración e hipervisores", "web.security.kpi_wan" => "WAN Pública", "web.security.kpi_wan_sub" => "Ingreso directo desde Internet por WAN", "web.security.kpi_exposed" => "%{count} Expuestos", "web.security.kpi_rules" => "Reglas de Acceso", "web.security.kpi_rules_sub" => "Inspección de estado y ACLs inter-VLAN", "web.security.kpi_active" => "%{count} Activas", "web.security.cat_all" => "⚡ Todas (%{count})", "web.security.cat_wan" => "🌐 WAN (%{count})", "web.security.cat_vpn" => "🔒 VPN (%{count})", "web.security.cat_inter_vlan" => "🔀 Inter-VLAN (%{count})", "web.security.th_rule_name" => "Nombre de Regla", "web.security.th_source" => "Zona Origen", "web.security.th_destination" => "Objetivo Destino", "web.security.th_protocols_ports" => "Protocolos y Puertos", "web.security.th_action" => "Acción", "web.security.th_description" => "Descripción y Propósito", "web.security.empty" => "No hay políticas de seguridad ni reglas de acceso configuradas para este clúster.", "web.security.artifacts_title" => "Reglas de Cortafuegos", "web.security.artifacts_desc" => "Scripts de cortafuegos nftables con estado de doble pila en producción y matrices de auditoría en texto plano.", "web.racks.title" => "Elevaciones de Racks", "web.racks.desc" => "Posicionamiento vertical de equipos (U1 a 42U/48U), reservas de crecimiento planificado, equipos externos y circuitos de alimentación duales PDU.", "web.racks.kpi_total" => "Total", "web.racks.kpi_active" => "Activo", "web.racks.kpi_planned" => "Planificado", "web.racks.kpi_external" => "Externo", "web.racks.kpi_blocked" => "Bloqueado", "web.racks.kpi_available" => "Disponible", "web.racks.slot_available" => "[Espacio Disponible]", "web.racks.location_default" => "Centro de Datos", "web.wiring.title" => "Conexiones de Switch", "web.wiring.desc" => "Cronograma físico de parcheo conectando interfaces de servidores a conmutadores Top-of-Rack (TOR).", "web.wiring.th_switch" => "Conmutador", "web.wiring.th_port" => "Puerto", "web.wiring.th_speed_mode" => "Velocidad/Modo", "web.wiring.th_vlans" => "VLANs", "web.wiring.th_host" => "Host", "web.wiring.th_interface" => "Interfaz", "web.wiring.th_mac" => "MAC", "web.wiring.th_cable" => "Cable", "web.wiring.unassigned" => "Sin Asignar", "web.diagrams.title" => "Diagramas de Topología", "web.diagrams.desc" => "Topología de red en SVG compilada en tiempo real, tejido físico de cableado y elevaciones de racks.", "web.diagrams.tab_topology" => "Topología", "web.diagrams.tab_wiring" => "Cableado", "web.diagrams.tab_racks" => "Racks", "web.diagrams.btn_expand" => "🔍 Expandir", "web.diagrams.btn_d2_source" => "Código D2", "web.diagrams.btn_copy_topology" => "Copiar Topología", "web.diagrams.btn_copy_wiring" => "Copiar Cableado", "web.diagrams.canvas_hint" => "🔍 Haz clic para expandir y hacer zoom", "web.diagrams.d2_missing" => "D2 no está instalado en el PATH del sistema. La generación de SVG requiere 'd2'.", "web.docs.title" => "Memoria Técnica del Clúster", "web.docs.desc" => "Especificación arquitectónica de Fuente Única de Verdad (SSoT), Lista de Materiales (BOM), matriz de planos de red y referencias multi-generador.", "web.docs.sections" => "SECCIONES:", "web.docs.sec_summary" => "Resumen", "web.docs.sec_bom" => "BOM", "web.docs.sec_planes" => "Planos", "web.docs.sec_ipam" => "IPAM", "web.docs.sec_wiring" => "Cableado", "web.docs.sec_racks" => "Racks", "web.docs.sec_subsystems" => "Subsistemas", "web.docs.sec_rst" => "RST", "web.docs.overview_title" => "Visión General: %{name}", "web.docs.ssot_ref" => "Referencia Arquitectónica de Fuente Única de Verdad (SSoT):", "web.docs.ssot_desc" => "Este documento constituye la especificación definitiva de hardware, IPAM, planos de red y multi-orquestadores compilada desde cluster.yaml.", "web.docs.card_cluster_name" => "Nombre del Clúster", "web.docs.card_domain" => "Dominio", "web.docs.card_environment" => "Entorno", "web.docs.card_default_mtu" => "MTU Predeterminado", "web.docs.card_total_nodes" => "Nodos Totales", "web.docs.card_target_backends" => "Backends Objetivo", "web.docs.bom_title" => "Lista de Materiales (BOM)", "web.docs.bom_servers" => "Servidores Baremetal", "web.docs.bom_servers_desc" => "Nodos de Cómputo y Control de Alto Rendimiento", "web.docs.bom_drives" => "Unidades de Almacenamiento", "web.docs.bom_drives_desc" => "Discos de Almacenamiento Empresarial NVMe/SAS", "web.docs.bom_ports" => "Puertos de Red", "web.docs.bom_ports_desc" => "Enlaces de Subida y Enlaces LACP", "web.docs.bom_switches" => "Conmutadores de Centro de Datos", "web.docs.bom_switches_desc" => "Top-of-Rack (TOR) y Agregación Spine-Leaf", "web.docs.bom_cabling" => "Network Cabling", "web.docs.bom_cabling_desc" => "Interconexiones Servidor a TOR", "web.docs.bom_mgmt_cabling" => "Cableado de Gestión", "web.docs.bom_mgmt_cabling_desc" => "Gestión Fuera de Banda (OOB) BMC/IPMI", "web.docs.planes_title" => "Planos de Red", "web.modal.diagram_title" => "Visor de Diagramas", "web.modal.zoom_in" => "➕ Acercar", "web.modal.zoom_out" => "➖ Alejar", "web.modal.zoom_reset" => "↺ 100%", "web.modal.zoom_fit" => "⛶ Ajustar", "web.modal.fullscreen" => "🖥 Pantalla Completa", "web.modal.download_svg" => "⬇ SVG", "web.modal.close" => "✕ Cerrar", "web.modal.hint" => "💡 <strong>Arrastra</strong> para Mover • <strong>Rueda</strong> para Zoom en cursor • <strong>Doble Clic</strong> para Ajustar • <strong>+/-</strong> para Zoom • <strong>Esc</strong> para Cerrar", "web.sort.asc" => "Clic para ordenar ascendentemente", "web.sort.desc" => "Clic para ordenar descendentemente", "web.sort.clear" => "Clic para restablecer el orden original", "web.drawer.title" => "Inspector", "web.drawer.subtitle" => "Contexto Relacional", "web.drawer.back" => "← Volver", "web.drawer.close" => "✕", "web.drawer.identity_hardware" => "📊 Identidad y Especificaciones de Hardware", "web.drawer.not_found" => "Entidad no encontrada en la topología", "web.drawer.metadata_error" => "No se pudieron resolver los metadatos de la entidad.", "web.drawer.virtual_domain" => "Dominio Virtual (KVM)", "web.drawer.baremetal_host" => "Host Físico (Baremetal)", "web.drawer.network_planes" => "🌐 Planos de Red Conectados", "web.drawer.storage_drives" => "💾 Unidades de Almacenamiento Físicas", "web.drawer.switch_ports" => "🔌 Mapeo de Puertos de Conmutador", "web.drawer.cross_relations" => "🔗 Relaciones entre Entidades", "web.drawer.vlan_attributes" => "🌐 Atributos de VLAN y Subred", "web.drawer.dhcp_reservations" => "📡 Reservaciones DHCP Estáticas", "web.drawer.vm_allocations" => "💻 Asignaciones de Máquinas Virtuales", "web.drawer.port_specs" => "🔌 Especificaciones de Puerto y Cableado", "web.drawer.rack_elevation" => "📍 Elevación Física y Equipamiento", "web.drawer.pool_members" => "🗄️ Atributos y Miembros del Pool de Almacenamiento", "web.drawer.drive_hardware" => "💾 Hardware de Unidad y Ubicación en Bahía", "web.drawer.drive_console" => "🧰 Consola de Operaciones de Unidad", "web.drawer.raw_spec" => "📄 Especificación Sin Formato", "web.drawer.no_disks" => "No hay discos físicos configurados en este nodo.", "web.drawer.no_interfaces" => "No hay interfaces de red configuradas en este nodo.", "web.drawer.no_reservations" => "No hay reservaciones DHCP estáticas en este plano.", "web.drawer.no_relations" => "No se descubrieron enlaces relacionales.", "web.drawer.copy_btn" => "Copiar", "web.drawer.copied" => "¡Copiado!", "web.tables.hostname" => "Nombre de Host", "web.tables.rack" => "Rack", "web.tables.roles" => "Roles", "web.tables.disks" => "Discos", "web.tables.bonds_interfaces" => "Interfaces", "web.tables.mgmt_ipv4" => "IPv4 Gestión", "web.tables.bmc_ip" => "IP BMC", "web.tables.plane_name" => "Plano", "web.tables.vlan" => "VLAN", "web.tables.mtu" => "MTU", "web.tables.ipv4_subnet" => "Subred IPv4", "web.tables.ipv6_prefix" => "Prefijo IPv6", "web.tables.gateway" => "Pasarela", "web.tables.vips" => "VIPs", "web.tables.connected_hosts" => "Hosts", "web.tables.category" => "Categoría", "web.tables.item_spec" => "Elemento", "web.tables.quantity" => "Cantidad", "web.tables.role_assignment" => "Rol", "client.search.matches" => "%{count} coincidencias", "client.search.match" => "1 coincidencia", "client.search.no_matches" => "0 coincidencias", "client.sort.asc" => "Clic para ordenar ascendente", "client.sort.desc" => "Clic para ordenar descendente", "client.drawer.title" => "Inspector", "client.drawer.subtitle" => "Contexto Relacional", "client.drawer.back" => "← Atrás", "client.drawer.close" => "✕ Cerrar", "client.drawer.not_found_title" => "Entidad no encontrada", "client.drawer.not_found_desc" => "No se pudieron resolver los metadatos de la entidad.", "client.drawer.section_identity" => "📊 Identidad y Especificaciones de Hardware", "client.drawer.section_interfaces" => "🔌 Interfaces de Red e IPAM", "client.drawer.section_disks" => "💾 Discos Físicos y Almacenamiento", "client.drawer.section_vms" => "🌐 Dominios Virtuales Alojados", "client.drawer.section_connected_nodes" => "🖥️ Interfaces de Nodos Conectados", "client.drawer.section_switch_ports" => "🔌 Asignaciones de Puertos de Conmutador", "client.drawer.key_fqdn" => "FQDN:", "client.drawer.key_kind" => "Tipo:", "client.drawer.key_roles" => "Roles:", "client.drawer.key_vcpus" => "vCPUs:", "client.drawer.key_memory" => "Memoria:", "client.drawer.key_bmc" => "BMC IPMI:", "client.drawer.key_ip" => "Dirección IP:", "client.drawer.key_subnet" => "Subred:", "client.drawer.key_vlan" => "VLAN:", "client.drawer.key_gateway" => "Puerta de Enlace:", "client.drawer.key_mac" => "Dirección MAC:", "client.drawer.key_model" => "Modelo:", "client.drawer.key_capacity" => "Capacidad:", "client.drawer.key_speed" => "Velocidad de Puerto:", "client.drawer.badge_vm" => "Dominio Virtual (KVM)", "client.drawer.badge_baremetal" => "Host Físico", "client.reachability.evaluating" => "Evaluando alcanzabilidad...", "client.reachability.reachable" => "✓ Ruta L2/L3 Directa Verificada", "client.reachability.isolated" => "✗ Aislado/Sin Ruta Encontrada", "client.diagram.zoom_reset" => "Restablecer 100%", "client.diagram.fullscreen" => "Pantalla Completa", "client.diagram.download" => "Descargar SVG", "cli.config.saved" => "✓ Configuración actualizada: '%{key}' = '%{value}'.", "cli.config.unset" => "✓ Se restableció '%{key}' a su valor predeterminado.", "cli.config.active_path" => "Archivo de configuración activo: %{path}", "cli.validate.valid" => "✓ La especificación del clúster '%{file}' es válida (%{nodes} nodos, %{planes} planos de red).", "cli.validate.invalid" => "✗ La especificación del clúster '%{file}' contiene errores de validación:", "cli.validate.strict_failed" => "✗ Falló la validación en modo estricto: %{count} advertencia(s) detectada(s).", "cli.plan.title" => "Plan de Despliegue del Clúster: %{name}", "cli.plan.summary" => "Resumen: %{nodes} nodos, %{planes} planos de red, %{racks} racks, %{switches} switches.", "cli.find.no_results" => "No se encontraron entidades en el clúster que coincidan con '%{query}'.", "cli.serve.starting" => "⚡ Inspector Web de cl8r iniciando en http://%{host}:%{port}", "cli.serve.target" => " Clúster Objetivo: %{name} (%{nodes} nodos, %{planes} planos)", "cli.serve.stop_hint" => " Presiona Ctrl+C para detener el servidor."}}