{
  "page": {
    "title": "Runtimes",
    "tagline": "Machines and cloud workers running CLI sessions for your agents.",
    "learn_more": "Learn more →",
    "connect_remote": "Add a computer",
    "connect_to_server": "Connect to server",
    "search_placeholder": "Search runtimes…",
    "scope_mine": "Mine",
    "scope_all": "All",
    "live": "Live",
    "live_tooltip": "Real-time updates · offline detection up to 75s",
    "filter_all": "All",
    "filter_all_description": "All runtimes in this view",
    "sharing_banner": {
      "label": "Sharing compute to",
      "stop": "Stop sharing"
    },
    "empty": {
      "title": "No runtimes yet",
      "hint": "Desktop auto-scans this computer. To use another machine — a server, dev box, or any computer with a terminal — add it here."
    },
    "no_matches": {
      "title": "No matches",
      "with_query": "No runtimes match \"{{query}}\"{{filterSuffix}}.",
      "with_query_filter_suffix": " in this filter",
      "no_query": "No runtimes match this filter.",
      "try_widening": " Try widening the scope or clearing filters."
    },
    "bootstrapping": {
      "title": "Starting local runtime…",
      "hint": "This usually takes a few seconds. Your daemon is registering with the workspace."
    }
  },
  "machine": {
    "search_placeholder": "Search machines…",
    "filters": {
      "all": "All",
      "online": "Online",
      "issues": "Issues"
    },
    "section_local": "Local",
    "section_remote": "Remote",
    "section_cloud": "Cloud",
    "this_machine": "This device",
    "local_badge": "Local · this machine",
    "runtime_count_one": "{{count}} runtime",
    "runtime_count_other": "{{count}} runtimes",
    "busy_count_one": "{{count}} busy",
    "busy_count_other": "{{count}} busy",
    "no_matches_title": "No machines",
    "no_matches_hint": "No machines match the current search or filter.",
    "select_machine": "Select a machine to inspect its runtimes.",
    "metrics": {
      "runtimes": "Runtimes",
      "runtimes_hint_one": "{{count}} online",
      "runtimes_hint_other": "{{count}} online",
      "health": "Health",
      "health_clear": "No issues",
      "health_issues_one": "{{count}} issue",
      "health_issues_other": "{{count}} issues",
      "workload": "Workload",
      "workload_value_idle": "Idle",
      "workload_idle": "All idle",
      "workload_hint": "{{running}} running · {{queued}} queued",
      "cli": "CLI",
      "cloud_worker": "Cloud worker",
      "local_daemon": "Local daemon"
    }
  },
  "health": {
    "online": {
      "label": "Online",
      "description": "Heartbeat received in the last 45s. Ready to dispatch tasks."
    },
    "recently_lost": {
      "label": "Recently lost",
      "description": "Lost contact under 5 minutes ago — often a brief network blip."
    },
    "offline": {
      "label": "Offline",
      "description": "No heartbeat for 5+ minutes. Restart the daemon or investigate the host."
    },
    "about_to_gc": {
      "label": "About to GC",
      "description": "Offline 6+ days. Auto-deleted at 7 days unless it reconnects."
    }
  },
  "detail": {
    "all_runtimes": "All runtimes",
    "read_only": "Read-only",
    "delete_button": "Delete runtime",
    "delete_disabled_tooltip": "This runtime is managed by a running local daemon and will re-register itself within seconds. Stop the daemon process to remove it permanently.",
    "last_seen": "last seen {{when}}",
    "fact_owner": "Owner",
    "fact_device": "Device",
    "fact_runtime": "Runtime",
    "technical_details": "Technical details",
    "fact_daemon_cli": "Daemon CLI",
    "fact_daemon_id": "Daemon ID",
    "serving_title": "Serving",
    "serving_count_one": "{{count}} agent",
    "serving_count_other": "{{count}} agents",
    "no_agents": "No agents are bound to this runtime yet.",
    "diagnostics_title": "Diagnostics",
    "diagnostics_cli": "CLI",
    "diagnostics_visibility": "Visibility",
    "visibility_label": {
      "private": "Private",
      "public": "Public"
    },
    "visibility_hint": {
      "private": "Only you and workspace admins can create agents on this runtime.",
      "public": "Any workspace member can create agents on this runtime."
    },
    "visibility_toast_updated": "Visibility set to {{visibility}}",
    "visibility_toast_failed": "Failed to update visibility",
    "delete_dialog": {
      "light": {
        "title": "Delete Runtime?",
        "description": "Are you sure you want to delete \"{{name}}\"? This action cannot be undone.",
        "cancel": "Cancel",
        "confirm": "Delete runtime",
        "submitting": "Deleting..."
      },
      "cascade": {
        "title_one": "Archive {{count}} agent and delete this Runtime?",
        "title_other": "Archive {{count}} agents and delete this Runtime?",
        "description": "Delete \"{{name}}\". The agents below will be archived and removed from active workflows; their queued or running tasks will be cancelled, and then the Runtime will be deleted.",
        "warning": "This is destructive. Archived agents will be removed from active workflows and their queued or running tasks will be cancelled.",
        "notice_runtime_has_active_agents": "Active agents were added since you opened this dialog. Review the new plan and confirm.",
        "notice_runtime_delete_plan_changed": "The active agent set changed while this dialog was open. Review the new plan and confirm.",
        "checkbox_one": "I understand this {{count}} agent will be archived and any queued or running tasks will be cancelled.",
        "checkbox_other": "I understand these {{count}} agents will be archived and any queued or running tasks will be cancelled.",
        "cancel": "Cancel",
        "confirm_one": "Archive {{count}} agent and delete runtime",
        "confirm_other": "Archive {{count}} agents and delete runtime",
        "submitting": "Archiving and deleting...",
        "self_healing_blocked_toast": "This runtime is managed by a running local daemon and will re-register itself.",
        "delete_failed_toast": "Failed to delete runtime",
        "table": {
          "header_agent": "Agent",
          "header_owner": "Owner",
          "header_status": "Status",
          "header_visibility": "Visibility",
          "header_model": "Model",
          "owner_self": "You",
          "owner_unassigned": "—",
          "model_unset": "—",
          "presence_unknown": "—",
          "workload_idle": "Idle",
          "workload_working": "Working",
          "workload_queued": "Queued",
          "visibility_workspace": "Workspace",
          "visibility_private": "Private"
        }
      }
    },
    "toast_deleted": "Runtime deleted",
    "toast_delete_failed": "Failed to delete runtime",
    "running_chip_one": "· {{count}} running",
    "running_chip_other": "· {{count}} running",
    "queued_chip_one": "· {{count}} queued",
    "queued_chip_other": "· {{count}} queued"
  },
  "detail_page": {
    "not_found_title": "Runtime not found",
    "not_found_hint": "It may have been deleted or you may not have access."
  },
  "running_one": "{{count}} running",
  "running_other": "{{count}} running",
  "queued_one": "{{count}} queued",
  "queued_other": "{{count}} queued",
  "connect": {
    "title": "Add a computer",
    "description": "Run these two commands on the computer you want to add. We'll detect it the moment the daemon comes online.",
    "description_desktop": "Share the address and pairing code below with the other computer. They'll enter it in their RimeDeck Desktop to connect.",
    "step1_label": "Install the RimeDeck CLI",
    "step2_label": "Setup daemon",
    "step2_hint": "Opens a browser to sign in, then keeps the daemon running in the background.",
    "desktop_steps": "On the other computer: open RimeDeck → Runtimes → Connect to server → enter the address and pairing code above.",
    "live_listening": "Waiting for connection",
    "live_listening_hint": "We'll detect it as soon as the other computer connects.",
    "cli_fallback_title": "Connecting a headless server without Desktop?",
    "cli_fallback_hint": "If the remote machine doesn't have RimeDeck Desktop (e.g. a headless GPU server), run these CLI commands instead.",
    "cli_token_label": "Alternative: token login",
    "troubleshooting": "Can't open a browser on that computer?",
    "trouble_intro": "Use a token instead of the browser sign-in. This replaces step 2 and works anywhere you have a terminal.",
    "trouble_token_hint_prefix": "Create a token in ",
    "trouble_token_hint_destination": "Settings → Tokens",
    "trouble_token_hint_suffix": ". The daemon only makes outbound connections — no inbound ports required.",
    "trouble_check_status": "Check status",
    "trouble_view_logs": "View logs",
    "pairing_code_label": "Pairing code",
    "copy_aria": "Copy",
    "cancel": "Cancel",
    "success_title": "Computer connected",
    "success_description": "The remote computer is now online and sharing compute power.",
    "success_hint": "Go to the Agents page to assign agents to this runtime.",
    "done": "Done"
  },
  "cloud_runtime": {
    "action": "Cloud Runtime",
    "title": "Cloud Runtime",
    "description": "Launch a managed cloud node and watch its Fleet status.",
    "create_title": "New node",
    "create_hint": "Choose a name, instance type, and disk size. Fleet applies the rest.",
    "nodes_title": "Fleet nodes",
    "refresh": "Refresh",
    "nodes_empty": "No cloud nodes",
    "nodes_failed": "Cloud Runtime unavailable",
    "nodes_failed_hint": "Fleet did not return a node list.",
    "node_fallback_name": "Cloud node",
    "create": "Create node",
    "creating": "Creating...",
    "cancel": "Cancel",
    "toast_created": "Cloud Runtime node created",
    "toast_create_failed": "Failed to create Cloud Runtime node",
    "delete": "Delete node",
    "delete_confirm": "Are you sure you want to delete this cloud node? This action cannot be undone.",
    "toast_deleted": "Cloud node deleted",
    "toast_delete_failed": "Failed to delete cloud node",
    "fields": {
      "name": "Name",
      "instance_type": "Instance type",
      "region": "Region",
      "disk_size": "Disk size GiB",
      "image_id": "AMI ID",
      "subnet_id": "Subnet ID",
      "key_name": "Key pair",
      "bootstrap_pat": "Bootstrap PAT"
    },
    "placeholders": {
      "name": "cloud-dev-01",
      "key_name": "dev-key"
    },
    "validation": {
      "instance_type_required": "Instance type is required",
      "disk_size_invalid": "Disk size must be a positive integer"
    }
  },
  "server_address": {
    "title": "Server address",
    "tailscale_hint": "Use the Tailscale address when connecting across different networks."
  },
  "update": {
    "cli_version_label": "CLI Version:",
    "version_unknown": "unknown",
    "managed_by_desktop": "Managed by Desktop",
    "managed_by_desktop_title": "The CLI binary is managed by RimeDeck Desktop — update Desktop to upgrade the CLI.",
    "latest": "Latest",
    "available": "available",
    "action": "Update",
    "retry": "Retry",
    "unknown_error": "Unknown error",
    "initiate_failed": "Failed to initiate update",
    "status": {
      "pending": "Waiting for daemon...",
      "running": "Updating...",
      "completed": "Update complete. Daemon is restarting...",
      "failed": "Update failed",
      "timeout": "Timeout"
    }
  },
  "charts": {
    "heatmap_less": "Less",
    "heatmap_more": "More",
    "tooltip_total": "Total"
  },
  "list": {
    "col_runtime": "Runtime",
    "col_health": "Health",
    "col_owner": "Owner",
    "col_agents": "Agents",
    "col_workload": "Workload",
    "col_cost": "Cost · 7d",
    "col_cli": "CLI",
    "cost_delta_flat": "flat",
    "cli_managed_badge": "Desktop",
    "cli_update_available_aria": "Update available",
    "cli_update_available_tooltip": "Update available: {{version}}",
    "row_actions_aria": "Row actions",
    "delete_action": "Delete",
    "delete_permission_hint": "Only the runtime owner and workspace admins can delete this runtime",
    "delete_admin_hint": "Only the runtime owner and workspace admins can delete a runtime."
  },
  "usage": {
    "period_label": "Period",
    "dimension_label": "Dimension",
    "kpi_cost_label": "Cost · {{days}}D",
    "kpi_cost_delta": "{{sign}}{{pct}}% vs prev",
    "kpi_cache_label": "Cache savings · {{days}}D",
    "kpi_cache_hint": "{{pct}}% hit · {{reads}} reads",
    "kpi_tokens_label": "Tokens · {{days}}D",
    "kpi_tokens_hint": "in {{input}} · out {{output}}",
    "when_title": "When this runtime spent",
    "when_tab_daily": "Daily",
    "when_tab_weekly": "Weekly",
    "when_tab_heatmap": "Heatmap",
    "daily_metric_cost": "Cost",
    "daily_metric_tokens": "Tokens",
    "weekly_partial_label": "{{range}} (partial · {{covered}} / 7 days)",
    "heatmap_caption": "Last 26 weeks · daily $ intensity (period selector ignored here)",
    "legend_input": "Input",
    "legend_output": "Output",
    "legend_cache_read": "Cache read",
    "legend_cache_write": "Cache write",
    "empty_no_usage": "No usage in this period.",
    "empty_pricing_missing": "Tokens recorded but pricing missing for:",
    "empty_pricing_hint": "Set a custom rate to include them in cost totals.",
    "empty_zero_cost": "Tokens recorded but cost calculation returned $0.",
    "unmapped_notice_one": "{{count}} model has no maintained price — its tokens are excluded from cost totals.",
    "unmapped_notice_other": "{{count}} models have no maintained price — their tokens are excluded from cost totals.",
    "custom_pricing": {
      "open_button": "Set custom prices",
      "title": "Custom model prices",
      "description": "Enter per-million-token rates so we can price models we don't ship a maintained rate for. Stored locally on this machine.",
      "empty": "No models need a custom price right now.",
      "field_input": "Input",
      "field_output": "Output",
      "field_cache_read": "Cache read",
      "field_cache_write": "Cache write",
      "unit_hint": "All rates are USD per 1M tokens. Leave every field blank to remove an override.",
      "remove_aria": "Remove custom price",
      "cancel": "Cancel",
      "save": "Save"
    },
    "cost_by_title_agent": "Cost by agent",
    "cost_by_title_model": "Cost by model",
    "cost_by_tab_agent": "By agent",
    "cost_by_tab_model": "By model",
    "cost_by_caption_agent_one": "{{count}} agent on this runtime",
    "cost_by_caption_agent_other": "{{count}} agents on this runtime",
    "cost_by_caption_model_one": "{{count}} model used",
    "cost_by_caption_model_other": "{{count}} models used",
    "daily_breakdown_toggle": "Daily breakdown table",
    "table_date": "Date",
    "table_model": "Model",
    "table_input": "Input",
    "table_output": "Output",
    "table_cache_r": "Cache R",
    "table_cache_w": "Cache W",
    "no_data": "No usage data yet"
  },
  "connect_to_server": {
    "title": "Connect to server",
    "description": "Enter the address and pairing code shown on the other computer's RimeDeck Desktop.",
    "server_url_label": "Server address",
    "pairing_code_label": "Pairing code",
    "connect": "Connect",
    "connecting": "Connecting…",
    "cancel": "Cancel",
    "done": "Done",
    "success_title": "Connected",
    "success_description": "This computer is now connected to the remote server and contributing compute power."
  }
}
