From 66226fc7e1a183328a9025e89e70a53669b947dc Mon Sep 17 00:00:00 2001 From: Lemmy Date: Sun, 9 Aug 2026 10:26:51 -0400 Subject: [PATCH] chore(i18n): push/pull for new plugins --- eyecare/translations/en.json | 2 +- k8s-status/translations/en.json | 304 +++++++++++++++--------------- opnsense/translations/en.json | 272 +++++++++++++------------- pulsar-mouse/translations/en.json | 54 +++--- 4 files changed, 316 insertions(+), 316 deletions(-) diff --git a/eyecare/translations/en.json b/eyecare/translations/en.json index f75d3b8..73a1aee 100644 --- a/eyecare/translations/en.json +++ b/eyecare/translations/en.json @@ -23,4 +23,4 @@ "label": "Enable Audio Feedback" } } -} \ No newline at end of file +} diff --git a/k8s-status/translations/en.json b/k8s-status/translations/en.json index 5b121eb..112e682 100644 --- a/k8s-status/translations/en.json +++ b/k8s-status/translations/en.json @@ -1,173 +1,173 @@ { - "title": "K8s Status", + "actions": { + "delete_pod": "Delete pod", + "describe": "Describe", + "logs": "Logs", + "open_k9s": "k9s", + "refresh": "Refresh", + "restart": "Restart", + "toggle_filter": "Filter" + }, + "colors": { + "error": "Error", + "muted": "Muted", + "primary": "Primary", + "secondary": "Secondary", + "tertiary": "Tertiary" + }, + "deploy": { + "replicas": "{ready}/{desired} ready" + }, + "filter": { + "all": "All", + "placeholder_deploys": "Filter… e.g. ai or !1/1", + "placeholder_namespaces": "Filter… e.g. !Active", + "placeholder_nodes": "Filter… (!Ready excludes Ready)", + "placeholder_pods": "Filter… e.g. gitea or !Running", + "problems": "Problems" + }, + "launcher": { + "action": { + "copy": "Copy name", + "copy-sub": "Copy namespace/name to clipboard", + "delete": "Delete pod", + "delete-sub": "kubectl delete pod", + "describe": "Describe", + "describe-sub": "kubectl describe", + "logs": "Logs", + "logs-sub": "kubectl logs -f --tail=200", + "portforward": "Port-forward", + "portforward-sub": "kubectl port-forward 8080:8080", + "restart": "Restart", + "restart-sub": "kubectl rollout restart", + "shell": "Shell", + "shell-sub": "kubectl exec -it (bash/sh)", + "yaml": "YAML", + "yaml-sub": "kubectl get -o yaml" + }, + "cat": { + "deploys": "Deployments", + "deploys-sub": "Rollout restart and describe", + "k9s": "Open k9s", + "k9s-sub": "Terminal cluster UI", + "nodes": "Nodes", + "nodes-sub": "Node status and describe", + "ns": "Namespaces", + "ns-sub": "Browse namespaces", + "panel": "Open panel", + "panel-sub": "Full K8s Status manager", + "pods": "Pods", + "pods-sub": "Browse pods — logs, shell, describe…", + "problems": "Problem pods", + "problems-sub": "Non-running / unhealthy pods only", + "refresh": "Refresh", + "refresh-sub": "Rescan cluster now", + "status": "Status summary", + "status-sub": "Notify ready nodes / problem pods" + }, + "deploy-actions": "Choose an action", + "hint-type": "Type to filter, Enter to open", + "loading": "Loading cluster snapshot…", + "no-matches": "No matches", + "node-actions": "Choose an action", + "pod-actions": "Choose an action", + "unavailable": "Cluster unavailable" + }, + "node": { + "ip": "IP: {ip}", + "not_ready": "NotReady", + "ready": "Ready", + "roles": "Roles: {roles}", + "version": "Version: {version}" + }, + "ns": { + "phase": "{phase}" + }, + "panel": { + "busy": "Working…", + "context": "Context: {name}", + "empty_deploys": "No deployments match the current filter.", + "empty_namespaces": "No namespaces match the current filter.", + "empty_nodes": "No nodes match the current filter.", + "empty_pods": "No pods match the current filter.", + "loading": "Querying cluster…", + "select_hint": "Select an item for actions.", + "subtitle": "Nodes, pods, and workloads", + "summary": "{ready}/{nodes} nodes ready · {problems} problem pods · {pods} pods", + "updated": "Updated {time}" + }, + "pod": { + "node": "Node: {node}", + "restarts": "{count} restarts" + }, + "result": { + "busy": "Another operation is running.", + "copied": "Copied {name}", + "deleted": "Deleted pod {name}", + "describe_started": "Describing {name}…", + "failed": "Failed: {error}", + "k9s_started": "Opening k9s…", + "kubectl_missing": "kubectl is not available.", + "logs_started": "Opening logs for {name}…", + "node_not_ready": "Node {name} is NotReady", + "portforward_started": "Port-forward {name} ({ports})…", + "restarted": "Restarted {name}", + "shell_started": "Opening shell in {name}…", + "success": "Done", + "unreachable": "Cannot reach cluster", + "yaml_started": "Showing YAML for {name}…" + }, "settings": { - "kubeconfig": { - "label": "Kubeconfig", - "description": "Path to kubeconfig (empty uses default)." - }, "context": { - "label": "Context", - "description": "Kubernetes context name. Leave empty for current-context." + "description": "Kubernetes context name. Leave empty for current-context.", + "label": "Context" }, - "namespace": { - "label": "Namespace filter", - "description": "Limit pods/deployments to this namespace. Empty = all namespaces." - }, - "refresh_interval": { - "label": "Refresh interval (seconds)", - "description": "How often to poll the cluster." - }, - "problems_only": { - "label": "Problems-only pod list", - "description": "In the panel pod list, hide healthy Running pods by default." - }, - "notify_on_not_ready": { - "label": "Notify on node NotReady", - "description": "Desktop notification when a node becomes NotReady." + "kubeconfig": { + "description": "Path to kubeconfig (empty uses default).", + "label": "Kubeconfig" }, "kubectl_bin": { - "label": "kubectl binary", - "description": "kubectl command name or absolute path." + "description": "kubectl command name or absolute path.", + "label": "kubectl binary" }, - "show_counts": { - "label": "Show counts on bar", - "description": "Display ready nodes and problem pods on the widget." + "namespace": { + "description": "Limit pods/deployments to this namespace. Empty = all namespaces.", + "label": "Namespace filter" + }, + "notify_on_not_ready": { + "description": "Desktop notification when a node becomes NotReady.", + "label": "Notify on node NotReady" }, "ok_color": { "label": "Healthy indicator" }, + "problems_only": { + "description": "In the panel pod list, hide healthy Running pods by default.", + "label": "Problems-only pod list" + }, + "refresh_interval": { + "description": "How often to poll the cluster.", + "label": "Refresh interval (seconds)" + }, + "show_counts": { + "description": "Display ready nodes and problem pods on the widget.", + "label": "Show counts on bar" + }, "warn_color": { "label": "Problem indicator" } }, - "colors": { - "tertiary": "Tertiary", - "primary": "Primary", - "secondary": "Secondary", - "error": "Error", - "muted": "Muted" + "tabs": { + "deploys": "Deployments", + "namespaces": "Namespaces", + "nodes": "Nodes", + "pods": "Pods" }, + "title": "K8s Status", "widget": { - "tooltip_ok": "{context} · {ready}/{nodes} nodes ready · {problems} problem pods", + "refresh_requested": "Refreshing cluster status…", "tooltip_down": "Cluster unreachable: {error}", "tooltip_missing": "kubectl not found", - "refresh_requested": "Refreshing cluster status…" - }, - "panel": { - "subtitle": "Nodes, pods, and workloads", - "loading": "Querying cluster…", - "busy": "Working…", - "empty_nodes": "No nodes match the current filter.", - "empty_pods": "No pods match the current filter.", - "empty_deploys": "No deployments match the current filter.", - "empty_namespaces": "No namespaces match the current filter.", - "select_hint": "Select an item for actions.", - "updated": "Updated {time}", - "context": "Context: {name}", - "summary": "{ready}/{nodes} nodes ready · {problems} problem pods · {pods} pods" - }, - "tabs": { - "nodes": "Nodes", - "pods": "Pods", - "deploys": "Deployments", - "namespaces": "Namespaces" - }, - "filter": { - "all": "All", - "problems": "Problems", - "placeholder_nodes": "Filter… (!Ready excludes Ready)", - "placeholder_pods": "Filter… e.g. gitea or !Running", - "placeholder_deploys": "Filter… e.g. ai or !1/1", - "placeholder_namespaces": "Filter… e.g. !Active" - }, - "node": { - "ready": "Ready", - "not_ready": "NotReady", - "roles": "Roles: {roles}", - "version": "Version: {version}", - "ip": "IP: {ip}" - }, - "pod": { - "restarts": "{count} restarts", - "node": "Node: {node}" - }, - "deploy": { - "replicas": "{ready}/{desired} ready" - }, - "ns": { - "phase": "{phase}" - }, - "actions": { - "refresh": "Refresh", - "logs": "Logs", - "describe": "Describe", - "delete_pod": "Delete pod", - "restart": "Restart", - "open_k9s": "k9s", - "toggle_filter": "Filter" - }, - "result": { - "success": "Done", - "failed": "Failed: {error}", - "busy": "Another operation is running.", - "kubectl_missing": "kubectl is not available.", - "unreachable": "Cannot reach cluster", - "logs_started": "Opening logs for {name}…", - "shell_started": "Opening shell in {name}…", - "portforward_started": "Port-forward {name} ({ports})…", - "yaml_started": "Showing YAML for {name}…", - "copied": "Copied {name}", - "describe_started": "Describing {name}…", - "deleted": "Deleted pod {name}", - "restarted": "Restarted {name}", - "k9s_started": "Opening k9s…", - "node_not_ready": "Node {name} is NotReady" - }, - "launcher": { - "loading": "Loading cluster snapshot…", - "unavailable": "Cluster unavailable", - "no-matches": "No matches", - "cat": { - "pods": "Pods", - "pods-sub": "Browse pods — logs, shell, describe…", - "problems": "Problem pods", - "problems-sub": "Non-running / unhealthy pods only", - "nodes": "Nodes", - "nodes-sub": "Node status and describe", - "deploys": "Deployments", - "deploys-sub": "Rollout restart and describe", - "ns": "Namespaces", - "ns-sub": "Browse namespaces", - "status": "Status summary", - "status-sub": "Notify ready nodes / problem pods", - "panel": "Open panel", - "panel-sub": "Full K8s Status manager", - "k9s": "Open k9s", - "k9s-sub": "Terminal cluster UI", - "refresh": "Refresh", - "refresh-sub": "Rescan cluster now" - }, - "action": { - "logs": "Logs", - "logs-sub": "kubectl logs -f --tail=200", - "shell": "Shell", - "shell-sub": "kubectl exec -it (bash/sh)", - "describe": "Describe", - "describe-sub": "kubectl describe", - "yaml": "YAML", - "yaml-sub": "kubectl get -o yaml", - "portforward": "Port-forward", - "portforward-sub": "kubectl port-forward 8080:8080", - "copy": "Copy name", - "copy-sub": "Copy namespace/name to clipboard", - "delete": "Delete pod", - "delete-sub": "kubectl delete pod", - "restart": "Restart", - "restart-sub": "kubectl rollout restart" - }, - "pod-actions": "Choose an action", - "node-actions": "Choose an action", - "deploy-actions": "Choose an action", - "hint-type": "Type to filter, Enter to open" + "tooltip_ok": "{context} · {ready}/{nodes} nodes ready · {problems} problem pods" } } diff --git a/opnsense/translations/en.json b/opnsense/translations/en.json index 8b262cf..4b7f014 100644 --- a/opnsense/translations/en.json +++ b/opnsense/translations/en.json @@ -1,158 +1,158 @@ { - "title": "OPNsense", - "settings": { - "base_url": { - "label": "Base URL", - "description": "OPNsense origin only, e.g. https://192.168.1.1 (no trailing /api)." - }, - "api_key": { - "label": "API key", - "description": "System → Access → Users → API keys (key = username)." - }, - "api_secret": { - "label": "API secret", - "description": "API secret paired with the key (password)." - }, - "allow_insecure_tls": { - "label": "Allow insecure TLS", - "description": "Skip certificate verification (self-signed / private CA)." - }, - "refresh_interval": { - "label": "Refresh interval (seconds)", - "description": "How often to poll the API." - }, - "notify_on_issue": { - "label": "Notify on new issues", - "description": "Desktop notification when a status widget or gateway becomes unhealthy." - }, - "web_ui_url": { - "label": "Web UI URL override", - "description": "Optional alternate URL for “Open UI”. Defaults to base URL." - }, - "show_label": { - "label": "Show status text on bar", - "description": "Display OK / issues count next to the icon." - }, - "ok_color": { - "label": "Healthy color" - }, - "warn_color": { - "label": "Issue color" - } + "actions": { + "copy": "Copy", + "open_ui": "Open UI", + "refresh": "Refresh", + "restart": "Restart", + "start": "Start", + "stop": "Stop" }, "colors": { - "tertiary": "Tertiary", + "error": "Error", + "muted": "Muted", "primary": "Primary", "secondary": "Secondary", - "error": "Error", - "muted": "Muted" - }, - "widget": { - "tooltip_ok": "{host} · healthy · {ifaces} interfaces · load {load}", - "tooltip_issues": "{host} · {issues} issue(s) · {detail}", - "tooltip_missing": "Configure base URL + API key/secret in plugin settings", - "tooltip_down": "Unreachable: {error}", - "refresh_requested": "Refreshing OPNsense…", - "label_ok": "OK", - "label_issues": "{n}" - }, - "panel": { - "subtitle": "Firewall health & services", - "loading": "Querying API…", - "logs_loading": "Loading firewall logs…", - "busy": "Working…", - "select_hint": "Select an item for actions.", - "updated": "Updated {time}", - "host": "Host: {host}", - "summary": "{ok} healthy · {issues} issue(s) · load {load}", - "empty": "No items match the filter.", - "not_configured": "Set Base URL, API key, and API secret under Settings → Plugins → OPNsense." - }, - "result": { - "logs_loaded": "Loaded {n} log events", - "success": "Done", - "failed": "Failed: {error}", - "busy": "Another operation is running.", - "not_configured": "OPNsense API is not configured.", - "restarted": "Restarted {name}", - "started": "Started {name}", - "stopped": "Stopped {name}", - "copied": "Copied {name}", - "issue": "{name}: {status}" - }, - "tabs": { - "status": "Status", - "interfaces": "Interfaces", - "gateways": "Gateways", - "services": "Services", - "rules": "Rules", - "logs": "Logs" + "tertiary": "Tertiary" }, "filter": { "placeholder": "Filter… e.g. block or !pass" }, - "rules": { - "summary": "{n} rules" + "gateway": { + "summary": "{status} · {address} · rtt {rtt}" + }, + "iface": { + "summary": "{status} · {ipv4} · in {in} · out {out}" + }, + "launcher": { + "action": { + "copy": "Copy name", + "restart": "Restart service", + "start": "Start service", + "stop": "Stop service" + }, + "cat": { + "gateways": "Gateways", + "gateways-sub": "Gateway monitor status", + "interfaces": "Interfaces", + "interfaces-sub": "Link and address overview", + "logs": "Firewall logs", + "logs-sub": "Recent pass/block events", + "panel": "Open panel", + "panel-sub": "Full OPNsense manager", + "refresh": "Refresh", + "refresh-sub": "Poll API now", + "rules": "Firewall rules", + "rules-sub": "Filter rules overview", + "services": "Services", + "services-sub": "Start / stop / restart", + "status": "Status widgets", + "status-sub": "Crash reporter, firewall, system checks", + "ui": "Open Web UI", + "ui-sub": "Browser dashboard" + }, + "loading": "Loading OPNsense…", + "no-matches": "No matches", + "unavailable": "OPNsense unavailable" + }, + "logs": { + "flow": "{src} → {dst} · {iface}", + "hint": "Select a log line · showing {n} recent · {blocks} blocks in buffer", + "summary": "{n} events · {blocks} blocks" + }, + "panel": { + "busy": "Working…", + "empty": "No items match the filter.", + "host": "Host: {host}", + "loading": "Querying API…", + "logs_loading": "Loading firewall logs…", + "not_configured": "Set Base URL, API key, and API secret under Settings → Plugins → OPNsense.", + "select_hint": "Select an item for actions.", + "subtitle": "Firewall health & services", + "summary": "{ok} healthy · {issues} issue(s) · load {load}", + "updated": "Updated {time}" + }, + "result": { + "busy": "Another operation is running.", + "copied": "Copied {name}", + "failed": "Failed: {error}", + "issue": "{name}: {status}", + "logs_loaded": "Loaded {n} log events", + "not_configured": "OPNsense API is not configured.", + "restarted": "Restarted {name}", + "started": "Started {name}", + "stopped": "Stopped {name}", + "success": "Done" }, "rule": { "detail": "{src} → {dst} · {proto} · {iface}", "stats": "{packets} pkts · {bytes} B · {evaluations} evals" }, - "logs": { - "summary": "{n} events · {blocks} blocks", - "hint": "Select a log line · showing {n} recent · {blocks} blocks in buffer", - "flow": "{src} → {dst} · {iface}" - }, - "status": { - "widget": "{name}: {status}", - "message": "{message}" - }, - "iface": { - "summary": "{status} · {ipv4} · in {in} · out {out}" - }, - "gateway": { - "summary": "{status} · {address} · rtt {rtt}" + "rules": { + "summary": "{n} rules" }, "service": { "summary": "{status} · {description}" }, - "actions": { - "refresh": "Refresh", - "open_ui": "Open UI", - "restart": "Restart", - "start": "Start", - "stop": "Stop", - "copy": "Copy" - }, - "launcher": { - "loading": "Loading OPNsense…", - "unavailable": "OPNsense unavailable", - "no-matches": "No matches", - "cat": { - "status": "Status widgets", - "status-sub": "Crash reporter, firewall, system checks", - "interfaces": "Interfaces", - "interfaces-sub": "Link and address overview", - "gateways": "Gateways", - "gateways-sub": "Gateway monitor status", - "services": "Services", - "services-sub": "Start / stop / restart", - "rules": "Firewall rules", - "rules-sub": "Filter rules overview", - "logs": "Firewall logs", - "logs-sub": "Recent pass/block events", - "panel": "Open panel", - "panel-sub": "Full OPNsense manager", - "ui": "Open Web UI", - "ui-sub": "Browser dashboard", - "refresh": "Refresh", - "refresh-sub": "Poll API now" + "settings": { + "allow_insecure_tls": { + "description": "Skip certificate verification (self-signed / private CA).", + "label": "Allow insecure TLS" }, - "action": { - "restart": "Restart service", - "start": "Start service", - "stop": "Stop service", - "copy": "Copy name" + "api_key": { + "description": "System → Access → Users → API keys (key = username).", + "label": "API key" + }, + "api_secret": { + "description": "API secret paired with the key (password).", + "label": "API secret" + }, + "base_url": { + "description": "OPNsense origin only, e.g. https://192.168.1.1 (no trailing /api).", + "label": "Base URL" + }, + "notify_on_issue": { + "description": "Desktop notification when a status widget or gateway becomes unhealthy.", + "label": "Notify on new issues" + }, + "ok_color": { + "label": "Healthy color" + }, + "refresh_interval": { + "description": "How often to poll the API.", + "label": "Refresh interval (seconds)" + }, + "show_label": { + "description": "Display OK / issues count next to the icon.", + "label": "Show status text on bar" + }, + "warn_color": { + "label": "Issue color" + }, + "web_ui_url": { + "description": "Optional alternate URL for “Open UI”. Defaults to base URL.", + "label": "Web UI URL override" } + }, + "status": { + "message": "{message}", + "widget": "{name}: {status}" + }, + "tabs": { + "gateways": "Gateways", + "interfaces": "Interfaces", + "logs": "Logs", + "rules": "Rules", + "services": "Services", + "status": "Status" + }, + "title": "OPNsense", + "widget": { + "label_issues": "{n}", + "label_ok": "OK", + "refresh_requested": "Refreshing OPNsense…", + "tooltip_down": "Unreachable: {error}", + "tooltip_issues": "{host} · {issues} issue(s) · {detail}", + "tooltip_missing": "Configure base URL + API key/secret in plugin settings", + "tooltip_ok": "{host} · healthy · {ifaces} interfaces · load {load}" } } diff --git a/pulsar-mouse/translations/en.json b/pulsar-mouse/translations/en.json index 6ee8788..2781052 100644 --- a/pulsar-mouse/translations/en.json +++ b/pulsar-mouse/translations/en.json @@ -1,44 +1,44 @@ { "settings": { "color": { - "label": "Color", - "description": "Accent color for the percentage text and progress bar" - }, - "show_progress": { - "label": "Show Progress Bar" - }, - "show_percent": { - "label": "Show Percentage Text", - "description": "Turn off to rely on just the glyph (and progress bar, if shown)" + "description": "Accent color for the percentage text and progress bar", + "label": "Color" }, "glyph_size": { "label": "Glyph Size" + }, + "show_percent": { + "description": "Turn off to rely on just the glyph (and progress bar, if shown)", + "label": "Show Percentage Text" + }, + "show_progress": { + "label": "Show Progress Bar" } }, "ui": { - "charging": "(charging)", - "not-installed": "pulsar-mouse not found", - "no-mouse": "Mouse not found", - "profile-label": "Profile", - "dpi-label": "DPI", - "polling-label": "Polling Rate", - "led-label": "LED Effect", + "angle-snap-label": "Angle Snap", "brightness-label": "Brightness", - "speed-label": "Speed", - "write-failed": "Failed to apply - is the mouse connected?", + "charging": "(charging)", + "debounce-label": "Debounce", + "dpi-label": "DPI", + "led-label": "LED Effect", "loading": "Loading...", - "wired": "Wired", + "lod-label": "Lift-off Distance", + "low-power-label": "Low Power Mode", + "motion-sync-label": "Motion Sync", + "no-mouse": "Mouse not found", + "not-installed": "pulsar-mouse not found", + "polling-label": "Polling Rate", + "power-saving-label": "Wireless Power Saving", + "profile-label": "Profile", + "ripple-label": "Ripple Control", "signal-label": "Signal", - "tab-sensor": "Sensor", + "speed-label": "Speed", "tab-advanced": "Advanced", "tab-lighting": "Lighting", "tab-power": "Power", - "debounce-label": "Debounce", - "angle-snap-label": "Angle Snap", - "ripple-label": "Ripple Control", - "motion-sync-label": "Motion Sync", - "lod-label": "Lift-off Distance", - "power-saving-label": "Wireless Power Saving", - "low-power-label": "Low Power Mode" + "tab-sensor": "Sensor", + "wired": "Wired", + "write-failed": "Failed to apply - is the mouse connected?" } }