module

Cl8r::I18n::Catalog

Static dictionary containing localized string translations.

Constants

TRANSLATIONS = {Locale::En => {"web.nav.dashboard" => "Dashboard", "web.nav.nodes" => "Nodes & Hardware", "web.nav.logical" => "Logical Services", "web.nav.ipam" => "IPAM Matrix", "web.nav.security" => "Access Rules", "web.nav.racks" => "Rack Elevations", "web.nav.wiring" => "Switch Patching", "web.nav.subsystems" => "Subsystems", "web.nav.diagrams" => "D2 Visuals", "web.nav.docs" => "Technical Memoirs", "web.nav.readme" => "Cluster Guide", "web.nav.api" => "JSON API", "web.nav.print" => "Print / PDF", "web.search.placeholder" => "Search IP, hostname, VLAN, MAC, switch port, rack, disk, role, sysctl... (Press / to focus, Esc to clear)", "web.dashboard.guide_card_title" => "📖 Cluster Architecture & Deployment Guide", "web.dashboard.guide_card_badge" => "README", "web.dashboard.guide_card_desc" => "Single Source of Truth architectural reference, physical elevations, two-stage provisioning flows, and multi-plane network schedules.", "web.dashboard.guide_card_button" => "Read Architecture Guide ➔", "web.dashboard.kpi_nodes" => "Physical Nodes", "web.dashboard.kpi_planes" => "Network Planes", "web.dashboard.kpi_disks" => "Storage Disks", "web.dashboard.kpi_nics" => "Network Interfaces", "web.dashboard.kpi_vips" => "High-Availability VIPs", "web.dashboard.subsystems_title" => "Multi-Orchestrator Subsystems Status", "web.dashboard.nodes_title" => "Nodes & Schedules Overview", "web.readme.title" => "📖 Architectural Specification & Deployment Guide", "web.readme.subtitle" => "Single Source of Truth reference compiled from cluster README", "web.readme.view_raw" => "View Raw RST", "web.readme.view_rendered" => "View Rendered Guide", "web.readme.copy_rst" => "Copy RST", "web.readme.no_readme" => "No README documentation found for this cluster.", "web.drawer.title" => "Entity Inspector", "web.drawer.subtitle" => "360° Relational Context", "web.drawer.back" => "← Back", "web.drawer.close" => "✕", "web.tables.hostname" => "Hostname", "web.tables.rack" => "Rack (RU)", "web.tables.roles" => "Roles", "web.tables.disks" => "Disks", "web.tables.bonds_interfaces" => "Bonds & Interfaces", "web.tables.mgmt_ipv4" => "Management IPv4", "web.tables.bmc_ip" => "BMC IP", "web.tables.plane_name" => "Plane Name", "web.tables.vlan" => "VLAN", "web.tables.mtu" => "MTU", "web.tables.ipv4_subnet" => "IPv4 Subnet (CIDR)", "web.tables.ipv6_prefix" => "IPv6 Prefix", "web.tables.gateway" => "Gateway IPv4 / IPv6", "web.tables.vips" => "High Availability VIPs", "web.tables.connected_hosts" => "Connected Hosts", "web.tables.category" => "Category", "web.tables.item_spec" => "Item Specification", "web.tables.quantity" => "Quantity / Count", "web.tables.role_assignment" => "Role Assignment", "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.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 de Control", "web.nav.nodes" => "Nodos y Hardware", "web.nav.logical" => "Servicios Lógicos", "web.nav.ipam" => "Matriz IPAM", "web.nav.security" => "Reglas de Acceso", "web.nav.racks" => "Elevaciones de Racks", "web.nav.wiring" => "Conexionado de Switches", "web.nav.subsystems" => "Subsistemas", "web.nav.diagrams" => "Visuales D2", "web.nav.docs" => "Memorias Técnicas", "web.nav.readme" => "Guía del Clúster", "web.nav.api" => "API JSON", "web.nav.print" => "Imprimir / PDF", "web.search.placeholder" => "Buscar IP, nombre de host, VLAN, MAC, puerto de switch, rack, disco, rol, sysctl... (Presiona / para enfocar, Esc para limpiar)", "web.dashboard.guide_card_title" => "📖 Guía de Arquitectura y Despliegue del Clúster", "web.dashboard.guide_card_badge" => "README", "web.dashboard.guide_card_desc" => "Referencia arquitectónica de Fuente Única de Verdad (SSoT), elevaciones físicas, flujos de aprovisionamiento en dos etapas y cronogramas de red multi-plano.", "web.dashboard.guide_card_button" => "Leer Guía de Arquitectura ➔", "web.dashboard.kpi_nodes" => "Nodos Físicos", "web.dashboard.kpi_planes" => "Planos de Red", "web.dashboard.kpi_disks" => "Discos de Almacenamiento", "web.dashboard.kpi_nics" => "Interfaces de Red", "web.dashboard.kpi_vips" => "VIPs de Alta Disponibilidad", "web.dashboard.subsystems_title" => "Estado de Subsistemas Multi-Orquestador", "web.dashboard.nodes_title" => "Resumen de Nodos y Asignaciones", "web.readme.title" => "📖 Especificación Arquitectónica y Guía de Despliegue", "web.readme.subtitle" => "Referencia de Fuente Única de Verdad compilada desde el README del clúster", "web.readme.view_raw" => "Ver RST Sin Formato", "web.readme.view_rendered" => "Ver Guía Renderizada", "web.readme.copy_rst" => "Copiar RST", "web.readme.no_readme" => "No se encontró documentación README para este clúster.", "web.drawer.title" => "Inspector de Entidades", "web.drawer.subtitle" => "Contexto Relacional 360°", "web.drawer.back" => "← Volver", "web.drawer.close" => "✕", "web.tables.hostname" => "Nombre de Host", "web.tables.rack" => "Rack (UR)", "web.tables.roles" => "Roles", "web.tables.disks" => "Discos", "web.tables.bonds_interfaces" => "Bonds e Interfaces", "web.tables.mgmt_ipv4" => "IPv4 de Gestión", "web.tables.bmc_ip" => "IP de BMC", "web.tables.plane_name" => "Nombre del Plano", "web.tables.vlan" => "VLAN", "web.tables.mtu" => "MTU", "web.tables.ipv4_subnet" => "Subred IPv4 (CIDR)", "web.tables.ipv6_prefix" => "Prefijo IPv6", "web.tables.gateway" => "Pasarela IPv4 / IPv6", "web.tables.vips" => "VIPs de Alta Disponibilidad", "web.tables.connected_hosts" => "Hosts Conectados", "web.tables.category" => "Categoría", "web.tables.item_spec" => "Especificación del Elemento", "web.tables.quantity" => "Cantidad / Conteo", "web.tables.role_assignment" => "Asignación de Rol", "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.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."}}