chore(i18n): push/pull for new plugins

This commit is contained in:
Lemmy
2026-08-09 10:26:51 -04:00
parent abd2a8fde8
commit 66226fc7e1
4 changed files with 316 additions and 316 deletions
+1 -1
View File
@@ -23,4 +23,4 @@
"label": "Enable Audio Feedback"
}
}
}
}
+152 -152
View File
@@ -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"
}
}
+136 -136
View File
@@ -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}"
}
}
+27 -27
View File
@@ -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?"
}
}