chore(i18n): push/pull
This commit is contained in:
+102
-102
@@ -1,120 +1,120 @@
|
|||||||
{
|
{
|
||||||
"title": "Obsidian",
|
"actions": {
|
||||||
"settings": {
|
"capture": "Add to daily",
|
||||||
"vault_path": {
|
"copy_link": "Copy [[link]]",
|
||||||
"label": "Vault path",
|
"copy_path": "Copy path",
|
||||||
"description": "Root folder of the Obsidian vault."
|
"git_abort": "Abort rebase/merge",
|
||||||
},
|
"git_commit": "Commit",
|
||||||
"vault_name": {
|
"git_pull": "Pull",
|
||||||
"label": "Vault name (URI)",
|
"git_push": "Push",
|
||||||
"description": "Name used in obsidian:// links. Empty = folder name."
|
"git_status": "Status",
|
||||||
},
|
"git_sync": "Pull + push",
|
||||||
"daily_folder": {
|
"open_daily": "Open daily",
|
||||||
"label": "Daily notes folder",
|
"open_note": "Open",
|
||||||
"description": "Relative to vault root (empty = vault root)."
|
"open_vault": "Open vault",
|
||||||
},
|
"refresh": "Refresh"
|
||||||
"daily_format": {
|
|
||||||
"label": "Daily filename format",
|
|
||||||
"description": "strftime pattern without .md (default %Y-%m-%d)."
|
|
||||||
},
|
|
||||||
"git_commit_message": {
|
|
||||||
"label": "Default commit message",
|
|
||||||
"description": "Used when Commit is clicked with an empty message field."
|
|
||||||
},
|
|
||||||
"refresh_interval": {
|
|
||||||
"label": "Refresh interval (seconds)",
|
|
||||||
"description": "How often to rescan recent notes and git status."
|
|
||||||
},
|
|
||||||
"notify_on_action": {
|
|
||||||
"label": "Notify on actions",
|
|
||||||
"description": "Desktop notification after capture / git actions."
|
|
||||||
},
|
|
||||||
"show_dirty": {
|
|
||||||
"label": "Show dirty count",
|
|
||||||
"description": "Show number of changed git files on the bar."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"widget": {
|
|
||||||
"tooltip_ok": "{vault} · daily {daily} · git {git}",
|
|
||||||
"tooltip_missing": "Vault path missing or not a vault",
|
|
||||||
"tooltip_nogit": "{vault} · no git repo",
|
|
||||||
"refresh_requested": "Refreshing vault…"
|
|
||||||
},
|
|
||||||
"panel": {
|
|
||||||
"loading": "Scanning vault…",
|
|
||||||
"busy": "Working…",
|
|
||||||
"empty": "Nothing to show.",
|
|
||||||
"select_hint": "Select a note for actions.",
|
|
||||||
"updated": "Updated {time}",
|
|
||||||
"vault": "{name}",
|
|
||||||
"summary": "Daily {daily} · {recent} recent · git {git}",
|
|
||||||
"capture_placeholder": "Quick note (appended to daily with timestamp)…",
|
|
||||||
"commit_placeholder": "Commit message (optional)…",
|
|
||||||
"daily_missing": "Daily note will be created on first capture.",
|
|
||||||
"daily_path": "Daily: {path}",
|
|
||||||
"git_branch": "Branch {branch} · {ahead}↑ {behind}↓ · {dirty} dirty",
|
|
||||||
"git_clean": "Working tree clean",
|
|
||||||
"git_nogit": "Not a git repository",
|
|
||||||
"git_files": "Changed files",
|
|
||||||
"git_in_progress": "Git {kind} in progress — abort before other actions"
|
|
||||||
},
|
|
||||||
"tabs": {
|
|
||||||
"daily": "Daily",
|
|
||||||
"recent": "Recent",
|
|
||||||
"git": "Git"
|
|
||||||
},
|
},
|
||||||
"filter": {
|
"filter": {
|
||||||
"placeholder": "Filter notes…"
|
"placeholder": "Filter notes…"
|
||||||
},
|
},
|
||||||
"actions": {
|
|
||||||
"open_vault": "Open vault",
|
|
||||||
"open_daily": "Open daily",
|
|
||||||
"open_note": "Open",
|
|
||||||
"capture": "Add to daily",
|
|
||||||
"refresh": "Refresh",
|
|
||||||
"copy_link": "Copy [[link]]",
|
|
||||||
"copy_path": "Copy path",
|
|
||||||
"git_status": "Status",
|
|
||||||
"git_commit": "Commit",
|
|
||||||
"git_pull": "Pull",
|
|
||||||
"git_push": "Push",
|
|
||||||
"git_sync": "Pull + push",
|
|
||||||
"git_abort": "Abort rebase/merge"
|
|
||||||
},
|
|
||||||
"result": {
|
|
||||||
"success": "Done",
|
|
||||||
"failed": "Failed: {error}",
|
|
||||||
"busy": "Another operation is running.",
|
|
||||||
"missing_vault": "Vault not found. Set vault path in settings.",
|
|
||||||
"invalid_daily_path": "Daily note path is invalid or outside the vault ({error}).",
|
|
||||||
"invalid_note_path": "Note path is invalid or outside the vault ({error}).",
|
|
||||||
"captured": "Appended to {name}",
|
|
||||||
"opened": "Opening…",
|
|
||||||
"copied": "Copied {name}",
|
|
||||||
"git_clean": "Working tree clean",
|
|
||||||
"git_committed": "Committed ({n} files)",
|
|
||||||
"git_nothing": "Nothing to commit",
|
|
||||||
"git_pulled": "Pull finished",
|
|
||||||
"git_pushed": "Push finished",
|
|
||||||
"git_synced": "Pull + push finished",
|
|
||||||
"git_in_progress": "Git {kind} in progress — use Abort first",
|
|
||||||
"git_not_in_progress": "No rebase or merge in progress",
|
|
||||||
"git_aborted": "Aborted {kind}"
|
|
||||||
},
|
|
||||||
"launcher": {
|
"launcher": {
|
||||||
"loading": "Loading vault…",
|
|
||||||
"missing": "Vault not configured",
|
|
||||||
"cat": {
|
"cat": {
|
||||||
"daily": "Open daily note",
|
|
||||||
"daily-sub": "Today’s note in Obsidian",
|
|
||||||
"capture": "Capture…",
|
"capture": "Capture…",
|
||||||
"capture-sub": "Type: /ob capture your text",
|
"capture-sub": "Type: /ob capture your text",
|
||||||
|
"daily": "Open daily note",
|
||||||
|
"daily-sub": "Today’s note in Obsidian",
|
||||||
"git": "Git status",
|
"git": "Git status",
|
||||||
"git-sub": "Dirty / ahead / behind",
|
"git-sub": "Dirty / ahead / behind",
|
||||||
"panel": "Open panel",
|
"panel": "Open panel",
|
||||||
"panel-sub": "Full Obsidian manager",
|
"panel-sub": "Full Obsidian manager",
|
||||||
"refresh": "Refresh",
|
"refresh": "Refresh",
|
||||||
"refresh-sub": "Rescan vault + git"
|
"refresh-sub": "Rescan vault + git"
|
||||||
|
},
|
||||||
|
"loading": "Loading vault…",
|
||||||
|
"missing": "Vault not configured"
|
||||||
|
},
|
||||||
|
"panel": {
|
||||||
|
"busy": "Working…",
|
||||||
|
"capture_placeholder": "Quick note (appended to daily with timestamp)…",
|
||||||
|
"commit_placeholder": "Commit message (optional)…",
|
||||||
|
"daily_missing": "Daily note will be created on first capture.",
|
||||||
|
"daily_path": "Daily: {path}",
|
||||||
|
"empty": "Nothing to show.",
|
||||||
|
"git_branch": "Branch {branch} · {ahead}↑ {behind}↓ · {dirty} dirty",
|
||||||
|
"git_clean": "Working tree clean",
|
||||||
|
"git_files": "Changed files",
|
||||||
|
"git_in_progress": "Git {kind} in progress — abort before other actions",
|
||||||
|
"git_nogit": "Not a git repository",
|
||||||
|
"loading": "Scanning vault…",
|
||||||
|
"select_hint": "Select a note for actions.",
|
||||||
|
"summary": "Daily {daily} · {recent} recent · git {git}",
|
||||||
|
"updated": "Updated {time}",
|
||||||
|
"vault": "{name}"
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"busy": "Another operation is running.",
|
||||||
|
"captured": "Appended to {name}",
|
||||||
|
"copied": "Copied {name}",
|
||||||
|
"failed": "Failed: {error}",
|
||||||
|
"git_aborted": "Aborted {kind}",
|
||||||
|
"git_clean": "Working tree clean",
|
||||||
|
"git_committed": "Committed ({n} files)",
|
||||||
|
"git_in_progress": "Git {kind} in progress — use Abort first",
|
||||||
|
"git_not_in_progress": "No rebase or merge in progress",
|
||||||
|
"git_nothing": "Nothing to commit",
|
||||||
|
"git_pulled": "Pull finished",
|
||||||
|
"git_pushed": "Push finished",
|
||||||
|
"git_synced": "Pull + push finished",
|
||||||
|
"invalid_daily_path": "Daily note path is invalid or outside the vault ({error}).",
|
||||||
|
"invalid_note_path": "Note path is invalid or outside the vault ({error}).",
|
||||||
|
"missing_vault": "Vault not found. Set vault path in settings.",
|
||||||
|
"opened": "Opening…",
|
||||||
|
"success": "Done"
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"daily_folder": {
|
||||||
|
"description": "Relative to vault root (empty = vault root).",
|
||||||
|
"label": "Daily notes folder"
|
||||||
|
},
|
||||||
|
"daily_format": {
|
||||||
|
"description": "strftime pattern without .md (default %Y-%m-%d).",
|
||||||
|
"label": "Daily filename format"
|
||||||
|
},
|
||||||
|
"git_commit_message": {
|
||||||
|
"description": "Used when Commit is clicked with an empty message field.",
|
||||||
|
"label": "Default commit message"
|
||||||
|
},
|
||||||
|
"notify_on_action": {
|
||||||
|
"description": "Desktop notification after capture / git actions.",
|
||||||
|
"label": "Notify on actions"
|
||||||
|
},
|
||||||
|
"refresh_interval": {
|
||||||
|
"description": "How often to rescan recent notes and git status.",
|
||||||
|
"label": "Refresh interval (seconds)"
|
||||||
|
},
|
||||||
|
"show_dirty": {
|
||||||
|
"description": "Show number of changed git files on the bar.",
|
||||||
|
"label": "Show dirty count"
|
||||||
|
},
|
||||||
|
"vault_name": {
|
||||||
|
"description": "Name used in obsidian:// links. Empty = folder name.",
|
||||||
|
"label": "Vault name (URI)"
|
||||||
|
},
|
||||||
|
"vault_path": {
|
||||||
|
"description": "Root folder of the Obsidian vault.",
|
||||||
|
"label": "Vault path"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"tabs": {
|
||||||
|
"daily": "Daily",
|
||||||
|
"git": "Git",
|
||||||
|
"recent": "Recent"
|
||||||
|
},
|
||||||
|
"title": "Obsidian",
|
||||||
|
"widget": {
|
||||||
|
"refresh_requested": "Refreshing vault…",
|
||||||
|
"tooltip_missing": "Vault path missing or not a vault",
|
||||||
|
"tooltip_nogit": "{vault} · no git repo",
|
||||||
|
"tooltip_ok": "{vault} · daily {daily} · git {git}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+142
-142
@@ -1,165 +1,165 @@
|
|||||||
{
|
{
|
||||||
"title": "Tailscale",
|
"actions": {
|
||||||
"settings": {
|
"advertise_off": "Stop advertising",
|
||||||
"refresh_interval": {
|
"advertise_on": "Advertise exit",
|
||||||
"label": "Refresh interval (seconds)",
|
"clear_exit": "Clear exit",
|
||||||
"description": "How often to poll tailscale status."
|
"copy_dns": "Copy DNS",
|
||||||
},
|
"copy_ip": "Copy IP",
|
||||||
"notify_on_peer_change": {
|
"down": "Disconnect",
|
||||||
"label": "Notify on peer online/offline",
|
"lan_off": "Block LAN",
|
||||||
"description": "Desktop notification when a peer changes connectivity."
|
"lan_on": "Allow LAN",
|
||||||
},
|
"open_admin": "Admin",
|
||||||
"tailscale_bin": {
|
"ping": "Ping",
|
||||||
"label": "tailscale binary",
|
"refresh": "Refresh",
|
||||||
"description": "Command name or absolute path to the tailscale CLI."
|
"routes_off": "Ignore routes",
|
||||||
},
|
"routes_on": "Accept routes",
|
||||||
"admin_url": {
|
"shields_off": "Shields down",
|
||||||
"label": "Admin console URL",
|
"shields_on": "Shields up",
|
||||||
"description": "Override the admin machines URL opened from the panel."
|
"ssh": "SSH",
|
||||||
},
|
"ssh_off": "Disable SSH",
|
||||||
"ssh_user": {
|
"ssh_on": "Enable SSH",
|
||||||
"label": "Default SSH user",
|
"up": "Connect",
|
||||||
"description": "Optional user for tailscale ssh (empty uses the CLI default)."
|
"use_exit": "Use exit"
|
||||||
},
|
|
||||||
"show_counts": {
|
|
||||||
"label": "Show counts on bar",
|
|
||||||
"description": "Display online/total peer counts on the widget."
|
|
||||||
},
|
|
||||||
"ok_color": {
|
|
||||||
"label": "Connected color (green)"
|
|
||||||
},
|
|
||||||
"warn_color": {
|
|
||||||
"label": "Disconnected color (grey)"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"colors": {
|
"colors": {
|
||||||
"tertiary": "Tertiary",
|
"error": "Error",
|
||||||
|
"muted": "Muted",
|
||||||
"primary": "Primary",
|
"primary": "Primary",
|
||||||
"secondary": "Secondary",
|
"secondary": "Secondary",
|
||||||
"error": "Error",
|
"tertiary": "Tertiary"
|
||||||
"muted": "Muted"
|
|
||||||
},
|
},
|
||||||
"widget": {
|
"exit": {
|
||||||
"tooltip_ok": "{state} · {online}/{total} peers online · exit {exit}",
|
"detail": "{ip} · {status}"
|
||||||
"tooltip_stopped": "Tailscale is stopped · {total} known peers",
|
|
||||||
"tooltip_missing": "tailscale CLI not found",
|
|
||||||
"tooltip_down": "Tailscale unavailable: {error}",
|
|
||||||
"refresh_requested": "Refreshing Tailscale…"
|
|
||||||
},
|
|
||||||
"panel": {
|
|
||||||
"loading": "Querying Tailscale…",
|
|
||||||
"busy": "Working…",
|
|
||||||
"empty": "No items match the current filter.",
|
|
||||||
"select_hint": "Select an item for actions.",
|
|
||||||
"updated": "Updated {time}",
|
|
||||||
"host": "{host}",
|
|
||||||
"summary": "{state} · {online}/{total} online · exit {exit}",
|
|
||||||
"health": "{msg}",
|
|
||||||
"not_installed": "tailscale is not installed or not on PATH."
|
|
||||||
},
|
|
||||||
"tabs": {
|
|
||||||
"status": "Status",
|
|
||||||
"peers": "Peers",
|
|
||||||
"exit": "Exit nodes"
|
|
||||||
},
|
},
|
||||||
"filter": {
|
"filter": {
|
||||||
"placeholder": "Filter… e.g. edge or !online"
|
"placeholder": "Filter… e.g. edge or !online"
|
||||||
},
|
},
|
||||||
"status": {
|
"launcher": {
|
||||||
"state": "State: {state}",
|
"action": {
|
||||||
"tailnet": "Tailnet: {name}",
|
"clear_exit": "Clear exit node",
|
||||||
"ips": "IPs: {v4} {v6}",
|
"copy_dns": "Copy DNS name",
|
||||||
"dns": "DNS: {dns}",
|
"copy_ip": "Copy IPv4",
|
||||||
"exit": "Exit node: {name}",
|
"ping": "Ping",
|
||||||
"version": "Version: {version}",
|
"ssh": "SSH",
|
||||||
"prefs": "Shields {shields} · Routes {routes} · SSH {ssh} · DNS {dns}",
|
"use_exit": "Use as exit node"
|
||||||
"on": "on",
|
},
|
||||||
"off": "off",
|
"cat": {
|
||||||
"none": "none"
|
"admin": "Admin console",
|
||||||
|
"admin-sub": "Open Tailscale admin in browser",
|
||||||
|
"down": "Disconnect",
|
||||||
|
"down-sub": "tailscale down",
|
||||||
|
"exit": "Exit nodes",
|
||||||
|
"exit-sub": "Choose or clear an exit node",
|
||||||
|
"panel": "Open panel",
|
||||||
|
"panel-sub": "Full Tailscale manager",
|
||||||
|
"peers": "Peers",
|
||||||
|
"peers-sub": "Browse machines on the tailnet",
|
||||||
|
"refresh": "Refresh",
|
||||||
|
"refresh-sub": "Re-query status",
|
||||||
|
"status": "Status",
|
||||||
|
"status-sub": "Connection summary",
|
||||||
|
"up": "Connect",
|
||||||
|
"up-sub": "tailscale up"
|
||||||
|
},
|
||||||
|
"loading": "Loading Tailscale…",
|
||||||
|
"missing": "tailscale not found"
|
||||||
|
},
|
||||||
|
"panel": {
|
||||||
|
"busy": "Working…",
|
||||||
|
"empty": "No items match the current filter.",
|
||||||
|
"health": "{msg}",
|
||||||
|
"host": "{host}",
|
||||||
|
"loading": "Querying Tailscale…",
|
||||||
|
"not_installed": "tailscale is not installed or not on PATH.",
|
||||||
|
"select_hint": "Select an item for actions.",
|
||||||
|
"summary": "{state} · {online}/{total} online · exit {exit}",
|
||||||
|
"updated": "Updated {time}"
|
||||||
},
|
},
|
||||||
"peer": {
|
"peer": {
|
||||||
"detail": "{os} · {relay} · {v4}",
|
"detail": "{os} · {relay} · {v4}",
|
||||||
"traffic": "↓{rx} ↑{tx}"
|
"traffic": "↓{rx} ↑{tx}"
|
||||||
},
|
},
|
||||||
"exit": {
|
|
||||||
"detail": "{ip} · {status}"
|
|
||||||
},
|
|
||||||
"actions": {
|
|
||||||
"up": "Connect",
|
|
||||||
"down": "Disconnect",
|
|
||||||
"refresh": "Refresh",
|
|
||||||
"open_admin": "Admin",
|
|
||||||
"clear_exit": "Clear exit",
|
|
||||||
"use_exit": "Use exit",
|
|
||||||
"copy_ip": "Copy IP",
|
|
||||||
"copy_dns": "Copy DNS",
|
|
||||||
"ping": "Ping",
|
|
||||||
"ssh": "SSH",
|
|
||||||
"shields_on": "Shields up",
|
|
||||||
"shields_off": "Shields down",
|
|
||||||
"routes_on": "Accept routes",
|
|
||||||
"routes_off": "Ignore routes",
|
|
||||||
"ssh_on": "Enable SSH",
|
|
||||||
"ssh_off": "Disable SSH",
|
|
||||||
"advertise_on": "Advertise exit",
|
|
||||||
"advertise_off": "Stop advertising",
|
|
||||||
"lan_on": "Allow LAN",
|
|
||||||
"lan_off": "Block LAN"
|
|
||||||
},
|
|
||||||
"result": {
|
"result": {
|
||||||
"success": "Done",
|
|
||||||
"failed": "Failed: {error}",
|
|
||||||
"busy": "Another operation is running.",
|
|
||||||
"missing": "tailscale CLI not found.",
|
|
||||||
"up": "Tailscale connected",
|
|
||||||
"down": "Tailscale disconnected",
|
|
||||||
"exit_set": "Exit node set to {name}",
|
|
||||||
"exit_cleared": "Exit node cleared",
|
|
||||||
"shields_on": "Shields up enabled",
|
|
||||||
"shields_off": "Shields up disabled",
|
|
||||||
"ssh_on": "Tailscale SSH enabled",
|
|
||||||
"ssh_off": "Tailscale SSH disabled",
|
|
||||||
"routes_on": "Accepting subnet routes",
|
|
||||||
"routes_off": "Not accepting subnet routes",
|
|
||||||
"advertise_on": "Advertising as exit node",
|
|
||||||
"advertise_off": "No longer advertising exit node",
|
|
||||||
"lan_on": "LAN access allowed with exit node",
|
|
||||||
"lan_off": "LAN access blocked with exit node",
|
|
||||||
"ping_started": "Pinging {name}…",
|
|
||||||
"ssh_started": "Opening SSH to {name}…",
|
|
||||||
"copied": "Copied {name}",
|
|
||||||
"admin_opened": "Opening admin console…",
|
"admin_opened": "Opening admin console…",
|
||||||
|
"advertise_off": "No longer advertising exit node",
|
||||||
|
"advertise_on": "Advertising as exit node",
|
||||||
|
"busy": "Another operation is running.",
|
||||||
|
"copied": "Copied {name}",
|
||||||
|
"down": "Tailscale disconnected",
|
||||||
|
"exit_cleared": "Exit node cleared",
|
||||||
|
"exit_set": "Exit node set to {name}",
|
||||||
|
"failed": "Failed: {error}",
|
||||||
|
"lan_off": "LAN access blocked with exit node",
|
||||||
|
"lan_on": "LAN access allowed with exit node",
|
||||||
|
"missing": "tailscale CLI not found.",
|
||||||
|
"peer_offline": "{name} went offline",
|
||||||
"peer_online": "{name} is online",
|
"peer_online": "{name} is online",
|
||||||
"peer_offline": "{name} went offline"
|
"ping_started": "Pinging {name}…",
|
||||||
|
"routes_off": "Not accepting subnet routes",
|
||||||
|
"routes_on": "Accepting subnet routes",
|
||||||
|
"shields_off": "Shields up disabled",
|
||||||
|
"shields_on": "Shields up enabled",
|
||||||
|
"ssh_off": "Tailscale SSH disabled",
|
||||||
|
"ssh_on": "Tailscale SSH enabled",
|
||||||
|
"ssh_started": "Opening SSH to {name}…",
|
||||||
|
"success": "Done",
|
||||||
|
"up": "Tailscale connected"
|
||||||
},
|
},
|
||||||
"launcher": {
|
"settings": {
|
||||||
"loading": "Loading Tailscale…",
|
"admin_url": {
|
||||||
"missing": "tailscale not found",
|
"description": "Override the admin machines URL opened from the panel.",
|
||||||
"cat": {
|
"label": "Admin console URL"
|
||||||
"status": "Status",
|
|
||||||
"status-sub": "Connection summary",
|
|
||||||
"peers": "Peers",
|
|
||||||
"peers-sub": "Browse machines on the tailnet",
|
|
||||||
"exit": "Exit nodes",
|
|
||||||
"exit-sub": "Choose or clear an exit node",
|
|
||||||
"up": "Connect",
|
|
||||||
"up-sub": "tailscale up",
|
|
||||||
"down": "Disconnect",
|
|
||||||
"down-sub": "tailscale down",
|
|
||||||
"panel": "Open panel",
|
|
||||||
"panel-sub": "Full Tailscale manager",
|
|
||||||
"refresh": "Refresh",
|
|
||||||
"refresh-sub": "Re-query status",
|
|
||||||
"admin": "Admin console",
|
|
||||||
"admin-sub": "Open Tailscale admin in browser"
|
|
||||||
},
|
},
|
||||||
"action": {
|
"notify_on_peer_change": {
|
||||||
"ping": "Ping",
|
"description": "Desktop notification when a peer changes connectivity.",
|
||||||
"ssh": "SSH",
|
"label": "Notify on peer online/offline"
|
||||||
"copy_ip": "Copy IPv4",
|
},
|
||||||
"copy_dns": "Copy DNS name",
|
"ok_color": {
|
||||||
"use_exit": "Use as exit node",
|
"label": "Connected color (green)"
|
||||||
"clear_exit": "Clear exit node"
|
},
|
||||||
|
"refresh_interval": {
|
||||||
|
"description": "How often to poll tailscale status.",
|
||||||
|
"label": "Refresh interval (seconds)"
|
||||||
|
},
|
||||||
|
"show_counts": {
|
||||||
|
"description": "Display online/total peer counts on the widget.",
|
||||||
|
"label": "Show counts on bar"
|
||||||
|
},
|
||||||
|
"ssh_user": {
|
||||||
|
"description": "Optional user for tailscale ssh (empty uses the CLI default).",
|
||||||
|
"label": "Default SSH user"
|
||||||
|
},
|
||||||
|
"tailscale_bin": {
|
||||||
|
"description": "Command name or absolute path to the tailscale CLI.",
|
||||||
|
"label": "tailscale binary"
|
||||||
|
},
|
||||||
|
"warn_color": {
|
||||||
|
"label": "Disconnected color (grey)"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"dns": "DNS: {dns}",
|
||||||
|
"exit": "Exit node: {name}",
|
||||||
|
"ips": "IPs: {v4} {v6}",
|
||||||
|
"none": "none",
|
||||||
|
"off": "off",
|
||||||
|
"on": "on",
|
||||||
|
"prefs": "Shields {shields} · Routes {routes} · SSH {ssh} · DNS {dns}",
|
||||||
|
"state": "State: {state}",
|
||||||
|
"tailnet": "Tailnet: {name}",
|
||||||
|
"version": "Version: {version}"
|
||||||
|
},
|
||||||
|
"tabs": {
|
||||||
|
"exit": "Exit nodes",
|
||||||
|
"peers": "Peers",
|
||||||
|
"status": "Status"
|
||||||
|
},
|
||||||
|
"title": "Tailscale",
|
||||||
|
"widget": {
|
||||||
|
"refresh_requested": "Refreshing Tailscale…",
|
||||||
|
"tooltip_down": "Tailscale unavailable: {error}",
|
||||||
|
"tooltip_missing": "tailscale CLI not found",
|
||||||
|
"tooltip_ok": "{state} · {online}/{total} peers online · exit {exit}",
|
||||||
|
"tooltip_stopped": "Tailscale is stopped · {total} known peers"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user