Files
pvemanager/frontend/src/locales/en.json
Dilshod Rasulov 6796903712
Some checks failed
Backend Tests / pytest (Python 3.12) (push) Failing after 1m46s
Deploy to Production / Trigger production update (push) Failing after 10s
SonarCloud / SonarCloud Analysis (push) Failing after 3m7s
feat(ipam): several IP addresses per instance
A guest was implicitly limited to a single allocation: lookups were
"(server, vmid) -> one row", release_ip_by_vmid freed one address, and
the link tool skipped guests that already had one. An instance can now
hold a primary address plus any number of aliases, managed from the
Network tab of the instance and visible on the IPAM pages.

Schema and service:
- ipam_allocations gains is_primary, assignment_kind, target_interface
  and apply_* columns; migration 43 marks existing rows as primary
- find_allocations_by_resource/set_primary; release_ip_by_vmid now frees
  every address of a deleted guest instead of just the first one
- next-available search may scan the whole subnet when a network has no
  auto-assign pool, skipping node and cached guest addresses so it never
  hands out an address that is already live

Applying to the guest (services/guest_ip_service.py):
- reuses script_engine, so LXC goes through pct exec and VMs through the
  guest agent; the shell script synchronises the whole alias list of an
  interface, which makes add, remove and retry the same code path
- persists via ifupdown, netplan, NetworkManager or sysconfig and never
  restarts guest networking; an unknown stack degrades to runtime_only
  and an unreachable guest keeps the allocation as pending

API and UI:
- /ipam/api/guests/{server_id}/{vmid}/addresses: list, add, apply,
  primary, delete; allocations list accepts guest filters
- instance list exposes ips[] alongside the primary ip
- addresses card on the Network tab, "+N" badge in the IP column,
  primary badge in the allocations table

Fixes found along the way:
- link-allocations registers every address of a guest, carries the MAC
  over, refuses to take an address away from another live guest and no
  longer matches allocations by resource name (which leaked an address
  between same-named guests on different servers)
- IPAM history no longer fails to serialise datetime values, which used
  to abort re-linking with a 500
2026-08-21 23:48:20 +05:00

2036 lines
81 KiB
JSON

{
"nav": {
"account": "Account",
"profile": "Profile",
"infrastructure": "Infrastructure",
"network": "Network",
"management": "Management",
"dashboard": "Dashboard",
"instances": "Instances",
"nodes": "Nodes",
"cluster": "Cluster",
"templates": "Templates",
"backups": "Backups",
"tasks": "Tasks",
"ipam": "IPAM",
"networks": "Networks",
"users": "Users",
"workspaces": "Workspaces",
"logs": "Logs",
"settings": "Settings",
"applications": "Applications",
"app store": "App Store",
"my apps": "My Apps",
"search": "Search sections",
"searchPlaceholder": "Jump to a section...",
"searchEmpty": "No results found",
"topology": "Topology"
},
"appstore": {
"title": "App Store",
"subtitle": "Self-hosted apps, one-click install into an LXC container",
"search": "Search apps…",
"all_categories": "All categories",
"all_sources": "All sources",
"sources": {
"runtipi": "Runtipi",
"umbrel": "Umbrel"
},
"golden": {
"button": "Golden template",
"title": "Golden LXC template",
"desc": "Automatically build the golden template (Debian 12 + Docker + Compose) on the selected node. App Store clones app containers from it.",
"current": "Current template",
"none": "not configured",
"server": "Proxmox server",
"pick_server": "Select a server",
"pick_server_hint": "Select a server to see its current template",
"template_storage": "Template storage",
"rootfs_storage": "Rootfs storage",
"no_template_storage": "no vztmpl storages",
"no_rootfs_storage": "no rootdir storages",
"force": "Rebuild",
"build": "Build template",
"started": "Template build started",
"failed": "Build failed",
"working": "Working..."
},
"refresh_catalog": "Refresh catalog",
"last_synced": "Last synced",
"never": "never",
"syncing": "Syncing…",
"sync_done": "Catalog synced: {{total}} apps",
"sync_failed": "Catalog sync failed",
"installed_badge": "Installed",
"unavailable": "Unavailable",
"install": "Install",
"no_apps": "No apps found",
"loading": "Loading…",
"by": "by",
"source": "Source",
"version": "Version",
"port": "Port",
"disclaimer": "This compose file runs as-is from a third-party repository. Review what will be installed.",
"view_compose": "View source compose",
"back": "Back to catalog",
"my_apps": "My Apps",
"my_apps_subtitle": "Installed applications",
"no_installed": "No installed apps yet",
"col_name": "Name",
"col_status": "Status",
"col_version": "Version",
"col_address": "Address",
"col_actions": "Actions",
"open": "Open",
"retry": "Retry",
"delete": "Delete",
"delete_confirm": "Delete app \"{{name}}\" and its LXC container?",
"deleted": "App deleted",
"start": "Start",
"stop": "Stop",
"restart": "Restart",
"logs": "Logs",
"logs_title": "Logs — {{name}}",
"no_logs": "No logs",
"orphaned_hint": "Container removed outside PVEmanager",
"refresh": "Refresh",
"update": "Update",
"rollback": "Rollback",
"update_confirm": "Update \"{{name}}\"? A pre-update snapshot is taken automatically.",
"rollback_confirm": "Roll back \"{{name}}\"? This ALSO reverts the app's DATA to the snapshot moment.",
"update_started": "Update started",
"rollback_started": "Rollback started",
"powered_by": "Powered by Runtipi appstore",
"golden_missing": "Golden LXC template is not configured. Set the APPSTORE_GOLDEN_TEMPLATE variable (see docs/golden-template.md).",
"categories": {
"ai": "AI",
"automation": "Automation",
"books": "Books",
"crypto": "Crypto",
"data": "Data & Analytics",
"dashboard": "Dashboards",
"development": "Development",
"featured": "Featured",
"finance": "Finance",
"gaming": "Gaming",
"media": "Media",
"messaging": "Messaging",
"monitoring": "Monitoring",
"music": "Music",
"network": "Network",
"photography": "Photography",
"productivity": "Productivity",
"security": "Security",
"social": "Social",
"storage": "Storage",
"utilities": "Utilities"
},
"install_title": "Install {{name}}",
"step_advanced": "Advanced (LXC resources)",
"server": "Server",
"select_server": "Select server",
"node": "Node (optional)",
"storage": "Storage",
"bridge": "Bridge",
"port_auto": "Default",
"ipam_network": "IPAM network (IP address)",
"ipam_dhcp": "DHCP (default)",
"ipam_pool": "IPAM pool",
"ipam_pool_auto": "Auto (any pool)",
"cores": "CPU cores",
"memory": "RAM (MB)",
"disk": "Disk (GB)",
"app_name": "App name",
"start_install": "Install",
"installing": "Installing…",
"install_started": "Installation started",
"credentials": "Credentials (shown once — copy them now)",
"credentials_title": "Credentials — {{name}}",
"credentials_btn": "Credentials",
"no_credentials": "No stored credentials for this app. Check the app logs or its documentation.",
"credentials_hint": "Default login and password from the catalog plus secrets generated at install time. Change the password in the app after first login.",
"minimize": "Minimize",
"copy": "Copy",
"copied": "Copied",
"done": "Done",
"close": "Close",
"open_app": "Open app",
"install_failed": "Installation failed"
},
"cluster": {
"create_title": "Create cluster",
"create_btn": "Create cluster",
"create_started": "Cluster creation started",
"select_node": "Select server",
"cluster_name": "Cluster name",
"name_rule": "Starts with a letter; letters, digits, hyphens; max 15 chars.",
"link0": "Corosync link0 IP of the joining node (optional)",
"link0_hint": "A dedicated network for corosync is recommended in production.",
"cluster_host": "Cluster node address to connect to (optional)",
"cluster_host_hint": "Private IP of the cluster node reachable over the corosync network. Leave empty to use its panel address (may be a public FQDN unreachable from a dedicated network).",
"rootpw_optional": "root@pam password (if not saved on server)",
"join_node": "Join node",
"join_title": "Join node to cluster",
"join_started": "Join started",
"join_unconfirmed": "Join task started, but membership is not confirmed yet",
"join_btn": "Join cluster",
"step": "Step",
"joining_node": "Node to join (standalone)",
"target_cluster": "Target cluster node",
"select_cluster": "Select cluster node",
"node_clean": "Node has no VMs/containers — ready to join.",
"guests_warning": "Joining a cluster overwrites /etc/pve — all VMs/containers on this node will be lost. They must be backed up and deleted first.",
"backup_storage": "Backup storage",
"select_storage": "Select storage",
"free": "free",
"no_backup_storage": "No backup-capable storage found on this node.",
"prepare_btn": "Back up & clear node",
"preparing": "Backing up & deleting… (may take minutes)",
"node_ready": "Node cleared and ready to join.",
"join_final_warning": "The node will be joined to the cluster and its Proxmox interface will restart for a moment. This cannot be undone.",
"node_rootpw": "root@pam password of the joining node",
"confirm_understand": "I understand this is irreversible",
"eject_title": "Eject node from cluster",
"eject_btn": "Eject",
"eject_warning": "The node must be powered OFF before ejecting, and must not rejoin the same cluster network afterwards.",
"eject_confirm": "Eject",
"eject_via": "via",
"rootpw_ssh": "root password (for SSH fallback, optional)",
"eject_panel_only": "Only detach the panel entry (do not touch Proxmox)",
"eject_panel_only_hint": "Use this when the node is not actually in the cluster (e.g. a previous join failed) or is unreachable for pvecm delnode.",
"nodes": "nodes",
"standalone": "Standalone servers",
"no_standalone": "No standalone servers.",
"two_node_quorum": "A 2-node cluster loses quorum if one node fails. 3+ nodes or a QDevice is recommended for production.",
"import_btn": "Import",
"import_title": "Import existing cluster",
"import_hint": "For nodes already clustered on the Proxmox side (outside the panel). This only links matching panel entries by IP/hostname — it does not run any pvecm operation.",
"detect_btn": "Detect cluster",
"no_real_cluster": "This node is not part of a Proxmox cluster.",
"detected_as": "Detected cluster",
"not_in_panel": "Not added to the panel yet — add it as a server first.",
"linked_elsewhere": "Panel entry is linked to a different cluster.",
"already_linked": "Already linked in the panel."
},
"login": {
"title": "Sign in to your account",
"username": "Username",
"password": "Password",
"username_placeholder": "Enter username",
"password_placeholder": "Enter password",
"sign_in": "Sign in",
"signing_in": "Signing in...",
"forgot_password": "Forgot password",
"show_password": "Show password",
"hide_password": "Hide password",
"two_factor_code": "Authentication code",
"two_factor_placeholder": "6-digit code or backup code",
"two_factor_hint": "Enter the code from your authenticator app, or a backup code.",
"verify": "Verify",
"back": "Back",
"logout": "Logout"
},
"reset": {
"forgot_title": "Password recovery",
"forgot_subtitle": "Enter your account email and we will send you a reset link.",
"email": "E-mail",
"email_placeholder": "Enter your email",
"send_link": "Send link",
"sending": "Sending...",
"email_sent": "If an account with that email exists, we have sent a link to reset your password. Check your inbox.",
"back_to_login": "Back to sign in",
"checking_link": "Checking the link...",
"invalid_title": "Link is invalid",
"invalid_text": "This password reset link is invalid or has expired. Please request a new one.",
"request_new": "Request a new link",
"set_title": "Set a new password",
"set_subtitle": "Enter a new password for your account.",
"new_password": "New password",
"new_password_placeholder": "Enter new password",
"confirm_password": "Confirm password",
"confirm_password_placeholder": "Repeat new password",
"passwords_mismatch": "Passwords do not match",
"save": "Save password",
"saving": "Saving...",
"success_title": "Password updated",
"success_text": "Your password has been changed. Redirecting to the sign-in page...",
"go_to_login": "Go to sign in"
},
"dashboard": {
"title": "Dashboard",
"nodes": "Nodes",
"virtual_machines": "Virtual Machines",
"containers": "Containers",
"alerts": "Alerts",
"memory": "Memory",
"storage": "Storage",
"instances": "Instances",
"recent_activity": "Recent Activity",
"cluster": "Cluster",
"ipv4_available": "IPv4 available",
"nodes_count": "Nodes",
"ram_oversell": "RAM oversell =",
"tasks_today": "Tasks today",
"tasks_done": "Done:",
"tasks_running": "Running:",
"tasks_queued": "Queued:",
"tasks_errors": "Errors:",
"tasks_total": "Total",
"server": "Server",
"servers_count": "Servers",
"platform": "Platform",
"cluster_nodes": "Cluster nodes",
"top10_now": "Top 10 now",
"top10_day": "Top 10 today",
"node_name": "Node name",
"disk_top": "Top disk usage"
},
"common": {
"access_denied": "Access denied",
"access_denied_desc": "You do not have permission to open this page. Contact an administrator if you need access.",
"loading": "Loading...",
"save": "Save",
"saved": "Saved",
"optional": "optional",
"cancel": "Cancel",
"clear": "Clear",
"filter": "Filter…",
"reset": "Reset",
"delete": "Delete",
"edit": "Edit",
"create": "Create",
"search": "Search...",
"actions": "Actions",
"status": "Status",
"name": "Name",
"type": "Type",
"node": "Node",
"running": "Running",
"stopped": "Stopped",
"online": "Online",
"offline": "Offline",
"queued": "Queued...",
"no_data": "No data",
"changePassword": "Change password",
"runCommand": "Run command",
"confirm_delete": "Are you sure you want to delete this?",
"all": "All",
"date": "Date",
"user": "User",
"prev": "Previous",
"next": "Next",
"refresh": "Refresh",
"back": "Back",
"close": "Close",
"confirm": "Confirm",
"console": "Console",
"start": "Start",
"stop": "Stop",
"shutdown": "Shutdown",
"restart": "Restart",
"snapshots": "Snapshots",
"suspend": "Suspend",
"cpu": "CPU",
"memory": "Memory",
"disk": "Disk",
"uptime": "Uptime",
"vmid": "VMID",
"boot_order": "Boot Order",
"qemu_agent": "QEMU Agent",
"start_on_boot": "Start on Boot",
"primary_ip": "Primary IP",
"network_in": "Network In",
"network_out": "Network Out",
"network_io": "Network I/O",
"storage": "Storage",
"disk_read_rate": "Disk Read",
"disk_write_rate": "Disk Write",
"net_in_rate": "Net In",
"net_out_rate": "Net Out",
"io_rates": "I/O Rates",
"guest_agent_required": "Install qemu-guest-agent for disk usage details",
"used_of": "used of",
"rollback": "Rollback",
"description": "Description",
"os_type": "OS Type",
"vcpu": "vCPU",
"instance_info": "Instance Info",
"network": "Network",
"interfaces": "Interfaces",
"dns": "DNS",
"gateway": "Gateway",
"vlan": "VLAN",
"my_proxmox_server": "My Proxmox Server",
"enabled": "Enabled",
"disabled": "Disabled",
"yes": "Yes",
"no": "No",
"qemu_virtual_machine": "QEMU Virtual Machine",
"lxc_container": "LXC Container",
"root": "root",
"ubuntu": "ubuntu",
"my_vm": "my-vm-01",
"cores": "cores",
"of": "of",
"placeholder_root": "root",
"placeholder_ubuntu": "ubuntu",
"placeholder_vm_name": "my-vm-01",
"placeholder_ssh_key": "ssh-rsa AAAA...",
"placeholder_command": "ls -la /tmp",
"placeholder_disk_size": "e.g. 100",
"placeholder_snapshot_name": "e.g. before-update",
"placeholder_root_pam": "root@pam",
"placeholder_disk": "scsi0",
"placeholder_notes": "Description / notes about the instance...",
"ipam": "IPAM",
"comment": "Comment",
"add": "Add",
"safer": "(more secure)",
"clone": "Clone",
"iso": "ISO image",
"notes": "Notes",
"reinstall": "Reinstall",
"done": "Done",
"copied": "Copied",
"message": "Message"
},
"snap_archive": {
"title": "Snapshot archive",
"subtitle": "Snapshots preserved from deleted VMs/containers",
"empty": "No archived snapshots",
"snapshot": "Snapshot",
"deleted_by": "Deleted by",
"archived_at": "Archived at",
"parent": "Parent",
"reason": "Reason",
"config": "Snapshot config"
},
"instances": {
"create": "Create Instance",
"os_config": "OS / Config",
"owner": "Owner",
"no_owner": "No owner",
"owner_saved": "Owner updated",
"owner_hint": "Assign this instance to a user (admin only).",
"saved_config": "Saved configuration",
"saved_config_hint": "Values stored by the panel at creation/reinstall time.",
"migrate": "Migrate",
"migrate_desc": "Move to another cluster node:",
"migrate_started": "Migration started in background",
"migrate_target_node": "Target node",
"migrate_select_node": "Select node",
"migrate_no_targets": "No other nodes available in the cluster.",
"migrate_target_storage": "Target storage",
"migrate_same_storage": "Keep source storage",
"migrate_online": "Online (live) migration",
"bulk_migrate_title": "Bulk migrate ({{count}})",
"bulk_migrate_desc": "Select the target cluster node. Instances already on it will be skipped.",
"target_node": "Target node",
"select_node": "Select node",
"online_migration": "Online migration for running instances (live)",
"status_migrating": "Migrating",
"nothing_to_migrate": "All selected instances are already on the target node",
"migrate_same_server": "Select instances from the same server",
"migrate_online_hint_running": "Instance is running — live migration keeps it online during the move.",
"migrate_online_hint_stopped": "Instance is stopped — leave off for a regular offline migration.",
"remote_migrate": "Migrate to another cluster",
"remote_migrate_desc": "Move to an independent Proxmox cluster (not a node of the current one)",
"remote_migrate_started": "Remote migration started in background",
"remote_migrate_target_server": "Target cluster",
"remote_migrate_select_server": "Select a server",
"remote_migrate_no_targets": "No other servers configured with an API token. Remote migration requires the target server to use API token auth (not a password).",
"remote_migrate_target_bridge": "Network bridge",
"remote_migrate_same_bridge": "Same as source",
"remote_migrate_delete_source": "Remove from the source cluster after a successful transfer",
"serial_console": "Serial console",
"cloud_init": "Cloud-Init",
"ci_no_drive": "This VM has no Cloud-Init drive — settings will only apply once one is added.",
"ci_saved": "Cloud-Init settings saved",
"ci_password_keep": "Leave blank to keep current",
"ci_ip_mode": "IP mode",
"ci_static": "Static",
"ci_ip_none": "Not set",
"ci_ip_cidr": "IP/CIDR",
"ci_ip_required": "Enter an IP address for static mode",
"ci_nameserver": "nameserver",
"ci_searchdomain": "Search domain",
"ci_reboot_hint": "Cloud-Init applies changes on the next VM reboot.",
"boot_order": "Boot order",
"boot_order_hint": "Devices are tried top to bottom. Disable a device to exclude it from booting.",
"boot_order_saved": "Boot order saved",
"boot_none_enabled": "No boot devices enabled — the VM will not boot.",
"boot_disabled": "Disabled devices",
"boot_enable": "Enable",
"boot_disable": "Disable",
"boot_network": "Network (PXE)",
"vm_options": "VM options",
"vm_options_saved": "VM options saved",
"opt_agent": "QEMU Guest Agent",
"opt_agent_hint": "Enables agent integration (needs qemu-guest-agent inside the VM).",
"opt_tablet": "Tablet pointer",
"opt_tablet_hint": "USB tablet for absolute mouse; disable to save resources on headless VMs.",
"opt_kvm": "KVM hardware virtualization",
"opt_kvm_hint": "Disable only for nested virtualization without KVM support.",
"opt_hotplug": "Hotplug (network, disk, USB)",
"opt_hotplug_hint": "Allow hot-adding devices while the VM is running.",
"unlock": "Unlock",
"unlocked": "Lock removed",
"lock_current": "Current lock: {{lock}}",
"no_lock": "No active lock.",
"cpu_options": "CPU options",
"cpu_saved": "CPU settings saved",
"cpu_type": "CPU type",
"cpu_type_hint": "\"host\" gives best performance but blocks live migration between different CPUs.",
"sockets": "Sockets",
"cpulimit": "CPU limit",
"cpulimit_hint": "Max host CPU cores the VM may use (0 = unlimited).",
"cpuunits": "CPU units (weight)",
"cpuunits_hint": "Scheduler weight relative to other guests (default 100).",
"numa": "Enable NUMA",
"disk_management": "Disk management",
"no_disks": "No disks attached",
"disk_move": "Move disk",
"disk_move_delete": "Delete source after move",
"disk_moved": "Disk move started",
"disk_move_stop_hint": "The container is running — it needs to be stopped before the move. The wizard will stop it, move the disk, and start it back automatically.",
"disk_move_confirm_title": "Move disk?",
"disk_move_confirm_plain": "Disk {{dev}} will be moved to storage {{storage}}.",
"disk_move_confirm_running": "The container is currently running. Moving disk {{dev}} to {{storage}} requires it to be stopped first. It will be stopped, the disk moved, then the container will be started again.",
"disk_move_stage_stopping": "Stopping container...",
"disk_move_stage_moving": "Moving disk...",
"disk_move_stage_starting": "Starting container back up...",
"disk_move_stop_and_move": "Stop and move",
"disk_move_stop_timeout": "Timed out waiting for the container to stop — move cancelled",
"disk_add": "Add disk",
"disk_added": "Disk {{dev}} added",
"disk_bus": "Bus",
"disk_detach_confirm": "Detach and delete disk {{dev}}? This destroys its data.",
"disk_detached": "Disk detached",
"autostart": "Autostart",
"autostart_saved": "Autostart settings saved",
"start_on_boot": "Start on boot",
"start_on_boot_hint": "Automatically start this instance when the host node boots.",
"startup_order": "Startup order",
"startup_up_delay": "Start delay (sec)",
"startup_down_timeout": "Shutdown timeout (sec)",
"startup_order_hint": "Lower order starts first. Start delay waits before the next instance; shutdown timeout waits before force-off. Leave empty for defaults.",
"protection": "Protection",
"protection_hint": "Prevents the instance and its disks from being removed.",
"compute_resources": "Compute Resources",
"vcpu_cores": "vCPU Cores",
"current_cores": "Current: {{count}} cores",
"memory_mb": "Memory (MB)",
"current_memory": "Current: {{count}} MB",
"apply_changes": "Apply Changes",
"apply_changes_note": "Note: VM may need to be restarted for changes to take effect.",
"disk_resize": "Disk Resize",
"disk_device": "Disk Device",
"new_size_gb": "New Size (GB)",
"resize_disk": "Resize Disk",
"resize_disk_hint": "Disks can only be enlarged. Use the full target size.",
"raw_configuration": "Raw Configuration",
"saved_name": "Name",
"cloud_user": "Cloud-init user",
"execute_script": "Execute script",
"execute_script_hint": "Runs via the QEMU guest agent (must be installed and running in the VM).",
"interpreter": "Interpreter",
"timeout_sec": "Timeout (sec)",
"run_script": "Run script",
"script_required": "Script is empty",
"exit_code": "Exit code",
"search_placeholder": "Search by name, IP, or VMID...",
"all_statuses": "All statuses",
"all_nodes": "All nodes",
"all_servers": "All servers",
"no_instances": "No instances found",
"deploy_completed_with_warnings": "VM created, but some settings were not applied",
"try_other_search": "Try a different search query",
"create_first": "Create your first instance",
"showing": "Showing",
"of": "of",
"overview": "Overview",
"graphs": "Graphs",
"networking": "Networking",
"hardware": "Hardware",
"firewall": "Firewall",
"tags": "Tags",
"no_tags": "No tags",
"tags_hint": "Comma-separated tags",
"tags_saved": "Tags saved",
"destroy": "Destroy",
"task_activity": "Task Activity",
"status_creating": "Creating",
"selected_count": "{{count}} selected",
"status_starting": "Starting",
"status_stopping": "Stopping",
"status_restarting": "Restarting",
"status_shutting_down": "Shutting down",
"status_deleting": "Deleting",
"bulk_failed": "failed",
"locked_hint": "Locked by Proxmox — operation in progress",
"vmid_pending": "pending",
"no_snapshots": "No snapshots",
"notes_saved": "Notes saved",
"before_update": "before-update",
"rollback": "Rollback",
"delete_snapshot": "Delete",
"snapshot_storage_hint": "Snapshots require storage that supports them (qcow2, ZFS, Ceph/RBD, LVM-thin, BTRFS). They are not available on raw disks or plain LVM/iSCSI. The \"Snapshots as Volume-Chain\" option on LVM only enables snapshots for qcow2-format disks — an existing raw disk must first be moved to qcow2.",
"snapshot_unsupported_storage": "This VM's storage does not support snapshots. Use a disk on qcow2, ZFS, Ceph, LVM-thin or BTRFS — or use a backup instead.",
"parameters": "Settings",
"edit_resources": "Edit resources",
"backup_now": "Create backup",
"backup_started": "Backup started in background",
"backup_create": "Create backup",
"backup_no_storages": "No backup-capable storages on this node",
"destroy_title": "Destroy {{type}}",
"destroy_irreversible": "This action is irreversible!",
"destroy_warning_before": "This will permanently delete",
"destroy_warning_after": " and all its data, including disks and snapshots. IP allocations will be released.",
"destroy_confirm_label_before": "Type",
"destroy_confirm_label_after": "to confirm",
"destroy_button": "Permanently Destroy {{type}}",
"destroyed": "{{name}} has been destroyed",
"status_reinstalling": "Reinstalling",
"status_changing_password": "Changing password",
"clone_started": "Cloning started in background",
"clone_title": "Clone",
"clone_desc": "Create a copy of {{name}}",
"clone_new_name": "New instance name",
"clone_target_node": "Target node",
"clone_same_node": "Same node ({{node}})",
"clone_storage": "Storage",
"clone_same_storage": "Same as source",
"clone_owner": "Owner",
"clone_owner_me": "Me ({{username}})",
"clone_desc_label": "Description",
"clone_desc_placeholder": "Note for the new instance",
"clone_full": "Full clone",
"clone_btn": "Clone",
"reinstall_started": "Reinstall started in background",
"reinstall_title": "Reinstall",
"reinstall_desc": "This will recreate instance {{name}} from its original template. All data will be lost.",
"reinstall_lxc_warn": "LXC support is experimental.",
"reinstall_confirm_label": "Type",
"reinstall_btn": "Reinstall",
"password_started": "Password change started in background",
"change_password_title": "Change password",
"change_password_qemu_hint": "Requires qemu-guest-agent installed inside the VM.",
"change_password_lxc_hint": "Container must be running.",
"change_password_user": "User",
"change_password_new": "New password",
"change_password_btn": "Change",
"notes_title": "Notes",
"notes_desc": "Free text / markdown, visible in Proxmox UI.",
"notes_placeholder": "Description / notes about the instance...",
"exec_unavailable_title": "Command execution unavailable",
"exec_unavailable_desc": "qemu-guest-agent support — KVM (qemu) instances only.",
"exec_title": "Run command (qemu-agent)",
"exec_desc": "Command runs inside the VM via guest-agent.",
"exec_command": "Command",
"exec_timeout": "Timeout (s)",
"exec_run": "Execute",
"iso_lxc_title": "ISO not available for LXC",
"iso_lxc_desc": "ISO image mounting is supported only for KVM (qemu) virtual machines.",
"iso_title": "ISO image",
"iso_desc": "Attach an ISO to the virtual CD-ROM device.",
"iso_device": "Device",
"iso_image": "Image",
"iso_select": "Select ISO",
"iso_current": "current",
"iso_no_isos": "No ISO images found on this node.",
"iso_boot_disk": "Boot from disk after ejection",
"iso_boot_disk_hint": "Sets the disk first in boot order and reboots the VM if running — to immediately boot the installed OS instead of the ISO.",
"iso_boot_iso": "Boot from this ISO",
"iso_boot_iso_hint": "Sets the CD-ROM first in boot order and reboots the VM if running — for installation/recovery from the image. Without this option the ISO is simply inserted.",
"iso_ejected_rebooting": "ISO ejected, VM rebooting from disk",
"iso_ejected_disk": "ISO ejected, boot from disk (takes effect on next start)",
"iso_ejected": "ISO detached",
"iso_attached_rebooting": "ISO attached, VM rebooting from image",
"iso_attached_booting": "ISO attached, boot from image (takes effect on next start)",
"iso_attached": "ISO attached",
"iso_eject": "Eject",
"iso_attach": "Attach",
"power_start": "Start",
"power_start_desc": "Start instance",
"power_restart": "Restart",
"power_restart_desc": "Restart instance",
"power_shutdown": "Shutdown",
"power_shutdown_desc": "Gracefully shut down instance (ACPI shutdown)",
"power_stop": "Stop",
"power_stop_desc": "Force stop instance. Unsaved data may be lost",
"power_unnamed": "selected instance",
"power_stop_warn": "This is the equivalent of pulling the power cable.",
"disk_resize_too_small": "New size must be larger than current ({{size}} GB). Proxmox does not support shrinking disks.",
"disk_no_fs": "Disk resized to {{size}}G, but filesystem was not expanded",
"current_disk_size": "Current size: {{size}} GB",
"fs_grown": "Filesystem expanded inside the OS",
"fs_not_grown": "Filesystem not expanded — growpart output below"
},
"wizard": {
"title": "Create Instance",
"step_server": "Server",
"step_template": "Template",
"step_config": "Configuration",
"step_confirm": "Confirm",
"select_server": "Select server",
"select_template": "Select template",
"no_templates": "No templates available",
"configure": "Configure",
"basic": "Basic",
"target_node": "Target Node",
"auto_select": "Auto select",
"start_after_create": "Start after creation",
"resources": "Resources",
"memory_mb": "Memory (MB)",
"disk_gb": "Disk (GB)",
"bridge": "Network Bridge",
"manual_ip": "Manual IP",
"ci_user": "Cloud-Init User",
"ci_password": "Cloud-Init Password",
"confirm": "Confirm",
"server_label": "Server",
"template_label": "Template",
"back": "Back",
"next": "Next",
"storage": "Storage",
"hostname": "Hostname",
"cpu": "CPU Cores",
"memory": "Memory (MB)",
"disk": "Disk (GB)",
"network": "Network",
"password": "Password",
"ssh_keys": "SSH Keys",
"ssh_keys_select": "Select saved SSH keys",
"ssh_keys_owner": "Instance owner",
"ssh_keys_owner_self": "Me (current user)",
"no_saved_keys": "No saved SSH keys",
"deploy": "Deploy",
"deploy_queued": "Deploy task for \"{{name}}\" has been queued",
"deploy_success": "Instance \"{{name}}\" deployed successfully",
"deploy_failed": "Deployment failed",
"deploy_done": "Instance created successfully",
"deploy_wait": "Please wait, deployment in progress...",
"deploy_starting": "Starting...",
"deploying_title": "Deploying Instance",
"deploying": "Deploying...",
"status_pending": "Queued",
"status_running": "Running",
"status_completed": "Completed",
"status_failed": "Failed",
"go_to_instances": "Go to Instances",
"retry": "Retry",
"os_group": "OS Group",
"ipam_network": "IPAM Network",
"auto_allocate_ip": "Auto-allocate IP",
"instance_type": "Instance Type",
"select_type": "Select type",
"type_vm": "Virtual Machine",
"type_vm_desc": "QEMU/KVM VM from template",
"type_lxc": "LXC Container",
"type_lxc_desc": "Linux container from CT template",
"lxc_template": "CT Template",
"select_lxc_template": "Select CT template",
"no_lxc_templates": "No CT templates found. Upload templates to Proxmox Storage first.",
"lxc_password": "Root Password",
"lxc_password_placeholder": "Container root password",
"swap_mb": "Swap (MB)",
"unprivileged": "Unprivileged container",
"lxc_template_label": "CT Template",
"type_iso": "VM from ISO",
"type_iso_desc": "Blank QEMU/KVM VM for an OS install from an ISO",
"select_iso": "Select installation ISO",
"select_node_first": "Select a node",
"iso_node_hint": "The ISO list comes from this node's storages",
"iso_image": "ISO image",
"iso_select_placeholder": "Select ISO",
"no_isos": "No ISO images on this node. Upload one to a storage with the ISO content type first.",
"iso_extra": "Second ISO (drivers)",
"iso_extra_none": "Not used",
"iso_extra_hint": "Mounted as a second CD-ROM — for example virtio-win when installing Windows",
"iso_hardware": "Hardware",
"disk_bus": "Disk bus",
"disk_bus_windows_hint": "The Windows installer will not see a VirtIO disk without drivers — pick SATA or attach virtio-win as the second ISO.",
"net_model": "Network card",
"tpm": "TPM 2.0",
"os_type": "Guest OS",
"os_type_hint": "Changing this presets BIOS, disk bus and network card",
"iso_ip_hint": "The IP is only reserved in IPAM — there is no cloud-init here, so enter it manually in the installer.",
"iso_next_steps": "The VM boots from the ISO. Open the console to run the installer; when it is done, click Eject in the ISO dialog — the disk becomes first in the boot order automatically.",
"iso_download": "Download an ISO to this node",
"iso_refresh": "Refresh the ISO list",
"quota_blocked_title": "Quota limits reached",
"quota_blocked_desc": "You cannot create another instance — the following limits are fully used:",
"quota_blocked_hint": "Delete an instance you no longer need, or ask an administrator to raise your quota.",
"quota_exceeded_title": "This configuration does not fit your quota",
"quota_exceeded_hint": "Reduce the resources above to continue.",
"quota_used_of": "{{used}} of {{limit}}",
"quota_projection_note": "Including the instance being created.",
"ip_cidr_placeholder": "10.10.10.5/24 or dhcp",
"invalid_name": "Name must be a valid DNS name: start with a letter, contain only letters, digits and hyphens, end with a letter or digit (e.g. my-app-01)"
},
"nodes": {
"title": "Servers",
"auth_error": "Auth error",
"auth_error_hint": "The server is reachable but rejected the credentials (HTTP 401). Check the API token or password — this usually means the token was revoked or replaced, e.g. after the node joined a cluster.",
"vms": "VMs",
"containers": "Containers",
"cpu": "CPU",
"memory": "Memory",
"disk": "Disk",
"uptime": "Uptime",
"cluster_nodes": "Cluster Nodes",
"instances_on_server": "Instances on server",
"tab_overview": "Overview",
"tab_graphs": "Graphs",
"tab_network": "Network",
"tab_ha": "HA",
"tab_firewall": "Firewall",
"tab_pools": "Pools",
"tab_disks": "Disks",
"tab_admin": "Administration",
"tab_access": "Access",
"vm_list": "Virtual Machines on Server",
"no_servers": "No servers configured",
"add_server": "Add Server",
"open_pve_ui": "Open in Proxmox",
"updates_available": "Updates available",
"updates_available_count": "Updates available: {{count}}",
"edit_server": "Edit Server",
"test_connection": "Test Connection",
"hostname": "Hostname / IP",
"port": "Port",
"api_user": "API User",
"api_token_name": "API Token Name",
"api_token_value": "API Token Value",
"use_password": "Use password auth",
"auth_mode": "Connection method",
"auth_mode_auto": "Login and password (panel creates an API token)",
"auth_mode_token": "Existing API token",
"auth_mode_password": "Password only",
"auth_mode_auto_hint": "The password is used once to create an API token. From then on the panel works through the token, which you can revoke in Proxmox at any time.",
"switch_to_token": "Switch to API token",
"switch_to_token_confirm": "Create an API token for server \"{{name}}\" and switch the panel to it? The stored password is used.",
"switch_to_token_ok": "Server switched to token \"{{token}}\"",
"verify_ssl": "Verify SSL",
"connection_ok": "Connection successful",
"connection_failed": "Connection failed",
"auto_create_token": "Create API token automatically",
"auto_create_token_hint": "An API token will be created on the Proxmox server automatically. For a cluster, all nodes will be added.",
"auto_fields_required": "Name, host and password are required",
"cluster_mode": "Cluster",
"standalone": "Standalone",
"cluster_nodes_count": "{{count}} nodes",
"no_workspace": "No workspace",
"reboot": "Reboot",
"shutdown": "Shutdown",
"shell": "Console (Shell)",
"confirm_reboot": "Reboot node «{{node}}»? All VMs and containers on it will be stopped.",
"confirm_shutdown": "Shut down node «{{node}}»? Access will be lost until manually powered on.",
"reboot_started": "Node reboot initiated",
"shutdown_started": "Node shutdown initiated"
},
"netif": {
"title": "Network Interfaces",
"add": "Add Interface",
"add_interface": "Add interface",
"add_submit": "Add",
"add_title": "Add network interface",
"add_description": "Will be added as {{key}}",
"if_name": "Interface name",
"model": "Model",
"bridge": "Bridge",
"select_bridge": "Select a bridge",
"vlan_tag": "VLAN tag",
"mac": "MAC address",
"mac_auto": "auto",
"optional": "optional",
"ip_mode": "IP mode",
"static": "Static",
"ip_cidr": "IP/CIDR",
"firewall": "Firewall",
"no_devices": "No network devices",
"remove_interface": "Remove interface",
"remove_title": "Remove network interface?",
"remove_description": "Interface {{key}} will be removed from the configuration. The instance may lose network connectivity.",
"added": "Interface {{key}} added",
"removed": "Interface {{key}} removed",
"err_bridge_required": "Select a network bridge",
"err_bad_mac": "Invalid MAC address (format AA:BB:CC:DD:EE:FF)",
"err_bad_vlan": "VLAN tag must be a number between 1 and 4094",
"err_bad_cidr": "Enter the IP in CIDR format, e.g. 10.0.0.5/24",
"err_bad_gateway": "Invalid gateway address",
"edit": "Edit",
"name": "Name",
"type": "Type",
"address": "Address",
"gateway": "Gateway",
"ports": "Ports / Slaves",
"bridge_ports": "Bridge ports",
"bond_slaves": "Bond slaves",
"bond_mode": "Bond mode",
"vlan_raw_device": "VLAN raw device",
"vlan_id": "VLAN tag",
"autostart": "Autostart",
"comments": "Comments",
"active": "Active",
"inactive": "Inactive",
"apply": "Apply Configuration",
"revert": "Revert",
"apply_confirm": "Apply pending network changes on this node? Active connections may be interrupted.",
"revert_confirm": "Discard all pending network changes on this node?",
"pending_hint": "Changes are staged until applied.",
"name_required": "Interface name is required",
"created": "Interface created",
"saved": "Interface updated",
"deleted": "Interface deleted",
"applied": "Network configuration applied",
"reverted": "Pending changes reverted"
},
"hw": {
"platform": "Platform",
"bios": "BIOS",
"machine": "Machine type",
"vga": "Display (VGA)",
"scsihw": "SCSI controller",
"sockets": "CPU sockets",
"platform_saved": "Hardware updated",
"platform_hint": "Hardware changes take effect after the VM is powered off and started again.",
"passthrough": "Device passthrough",
"no_passthrough": "No passthrough devices",
"remove_device": "Remove device",
"device_removed": "Device {{key}} removed",
"remove_title": "Remove device?",
"remove_description": "Device {{key}} will be removed from the VM configuration.",
"passthrough_hint": "PCI/USB passthrough requires the VM to be powered off and IOMMU enabled on the host.",
"stop_first": "Power off the VM to change passthrough",
"running_lock": "The VM is running — passthrough devices cannot be added or removed. Power off the VM.",
"efi_required_title": "OVMF (UEFI) requires an EFI disk",
"efi_required_hint": "The EFI disk will be created automatically. Choose a storage for it.",
"efi_storage": "EFI disk storage",
"select_storage": "Select a storage",
"err_efi_storage": "Select a storage for the EFI disk",
"add_submit": "Add",
"add_pci_title": "PCI passthrough",
"add_pci_description": "Will be added as {{key}}. The VM must be powered off.",
"pci_device": "Device",
"select_pci": "Select a device",
"no_pci": "No devices found",
"pci_pcie": "PCI-Express (q35 only)",
"pci_all_functions": "All device functions",
"pci_primary_gpu": "Primary GPU (x-vga)",
"pci_rombar": "ROM-Bar",
"pci_hint": "PCI passthrough requires IOMMU (VT-d / AMD-Vi) enabled on the host.",
"err_pci_required": "Select a PCI device",
"pci_added": "Device {{key}} added",
"add_usb_title": "USB passthrough",
"add_usb_description": "Will be added as {{key}}",
"usb_device": "Device",
"select_usb": "Select a device",
"no_usb": "No devices found",
"usb3": "USB 3.0",
"err_usb_required": "Select a USB device",
"usb_added": "Device {{key}} added",
"disk": "Disk",
"add_disk_title": "Physical disk passthrough",
"add_disk_description": "Will be added as {{key}}",
"disk_device": "Disk",
"select_disk": "Select a disk",
"no_disks": "No disks found",
"disk_bus": "Bus",
"disk_ssd": "Emulate SSD",
"disk_discard": "Discard / TRIM",
"disk_used_warn": "Disk is in use ({{used}}) — passthrough may cause data loss.",
"disk_passthrough_hint": "The disk is given to the VM exclusively via a stable /dev/disk/by-id/ path. Bound to this node — migration to another node is not available.",
"err_disk_required": "Select a disk",
"disk_added": "Disk {{key}} passed through"
},
"fw": {
"title": "Firewall (datacenter)",
"on": "on",
"off": "off",
"enable": "Enable",
"disable": "Disable",
"rules": "Rules",
"groups": "Security Groups",
"ipsets": "IP Sets",
"aliases": "Aliases",
"options": "Options",
"add_rule": "Add rule",
"rule_hint": "Rules are evaluated top to bottom.",
"direction": "Direction",
"action": "Action",
"match": "Source → Destination",
"security_group": "Security group",
"select_group": "Select a group",
"proto": "Protocol",
"macro": "Macro",
"source": "Source",
"dest": "Destination",
"dport": "Dest. port",
"sport": "Src. port",
"enabled": "Enabled",
"log": "Log",
"err_group_required": "Select a security group",
"rule_added": "Rule added",
"rule_deleted": "Rule deleted",
"delete_rule_confirm": "Delete this rule?",
"add_group": "Add security group",
"delete_group": "Delete security group",
"group_name": "Group name",
"group_added": "Security group created",
"group_deleted": "Group deleted",
"add_ipset": "Add IP set",
"delete_ipset": "Delete IP set",
"ipset_name": "IP set name",
"ipset_added": "IP set created",
"ipset_deleted": "IP set deleted",
"add_alias": "Add alias",
"delete_alias": "Delete alias",
"alias_added": "Alias created",
"alias_deleted": "Alias deleted",
"name": "Name",
"entry_added": "Entry added",
"entry_deleted": "Entry deleted",
"delete_entry": "Delete entry",
"enable_dc": "Enable datacenter firewall",
"policy_in": "Inbound policy",
"policy_out": "Outbound policy",
"options_hint": "Policies apply to traffic that matches no rule.",
"options_saved": "Options saved",
"err_name": "Enter a name",
"err_cidr": "Enter a CIDR",
"node_title": "Firewall (node)",
"log_tab": "Log",
"enable_node": "Enable node firewall",
"log_level_in": "Inbound log level",
"log_level_out": "Outbound log level",
"nosmurfs": "Block SMURF attacks",
"tcpflags": "Filter illegal TCP flags",
"synflood": "SYN-flood protection",
"node_options_hint": "These options apply to traffic of the Proxmox host node itself.",
"guest_title": "Instance firewall",
"enable_guest": "Enable instance firewall",
"dhcp": "Allow DHCP",
"macfilter": "MAC filter",
"ipfilter": "IP filter (anti-spoofing)",
"ndp": "NDP (IPv6)",
"guest_options_hint": "The instance firewall only works when the datacenter firewall is enabled and firewall=1 is set on the NIC."
},
"pools": {
"title": "Resource Pools",
"add": "Create pool",
"pool_id": "Pool name",
"created": "Pool created",
"deleted": "Pool deleted",
"delete": "Delete pool",
"delete_hint": "(the pool must be empty)",
"err_id": "Enter a pool name",
"empty": "Pool is empty",
"add_member": "Add VM/LXC",
"select_vm": "Select an instance",
"no_available": "None available",
"member_added": "Added to pool",
"member_removed": "Removed from pool",
"remove_member_confirm": "Remove from pool?"
},
"disks": {
"title": "Disks & ZFS",
"physical": "Disks",
"device": "Device",
"type": "Type",
"model": "Model",
"size": "Size",
"usage": "Usage",
"free": "free",
"health": "Health",
"attribute": "Attribute",
"value": "Value",
"worst": "Worst",
"threshold": "Threshold",
"wipe": "Wipe",
"wipe_confirm": "Wipe disk (all data will be destroyed)",
"wiped": "Disk is being wiped",
"create_zfs": "Create ZFS pool",
"create_zfs_hint": "The disks will be wiped and combined into a pool.",
"pool_name": "Pool name",
"raid_level": "RAID level",
"compression": "Compression",
"devices": "Disks",
"no_free_disks": "No free disks",
"err_name": "Enter a pool name",
"err_devices": "Select disks",
"pool_created": "ZFS pool is being created",
"destroy_pool": "Destroy ZFS pool",
"pool_destroyed": "Pool is being destroyed",
"alloc": "Allocated"
},
"access": {
"title": "PVE Access",
"tokens": "API Tokens",
"realms": "Realms",
"type": "Type",
"add_realm": "Add realm",
"realm_id": "Realm",
"realm_created": "Realm created",
"realm_deleted": "Realm deleted",
"delete_realm": "Delete realm",
"err_realm": "Enter a realm name",
"server": "Server",
"user_attr": "User attribute",
"domain": "Domain",
"username_claim": "Username claim",
"secure": "SSL/TLS (secure)",
"builtin": "built-in",
"select_user": "User",
"add_token": "Create token",
"token_id": "Token ID",
"privsep": "Privilege separation (token has its own permissions)",
"secret": "Secret",
"secret_warning": "The secret is shown only once — save it now.",
"token_created": "Token created",
"token_deleted": "Token deleted",
"delete_token": "Delete token",
"err_tokenid": "Enter a token ID",
"expire": "Expires"
},
"nodeadm": {
"title": "Node administration",
"services": "Services",
"updates": "Updates",
"repos": "Repositories",
"service": "Service",
"desc": "Description",
"package": "Package",
"current": "Current",
"new": "New",
"refresh": "Check (apt update)",
"apt_refreshed": "Package lists are refreshing",
"up_to_date": "No updates",
"updates_count": "Updates available: {{n}}",
"upgrade_hint": "\"Install updates\" opens the node console running apt dist-upgrade (confirmation required). Keep the tab open until it finishes.",
"do_upgrade": "Install updates",
"upgrade": "Upgrade",
"repo_updated": "Repository updated",
"enable": "Enable",
"disable": "Disable",
"certs": "Certificates",
"syslog": "Log",
"tasks": "Tasks",
"system": "System",
"tasks_hint": "Proxmox tasks executed on this node",
"task_start": "Start",
"task_type": "Type",
"task_id": "Object",
"task_user": "User",
"task_running": "running",
"syslog_hint": "Latest system log entries from the node",
"tz_saved": "Timezone saved",
"dns_saved": "DNS saved",
"time": "Time",
"node_time": "Node local time",
"timezone": "Timezone"
},
"ha": {
"title": "High Availability",
"add": "Add to HA",
"resource": "Resource",
"state": "State",
"group": "Group",
"no_group": "No group",
"groups": "HA groups",
"max_restart": "Max restart",
"max_relocate": "Max relocate",
"cluster_only": "HA is only available in cluster mode.",
"no_resources": "No resources are managed by HA.",
"select_guest": "Select a VM or container",
"remove_confirm": "Remove from HA",
"added": "Added to HA",
"removed": "Removed from HA"
},
"sdn": {
"title": "SDN (Software Defined Networking)",
"unavailable": "SDN is not available on this server (requires Proxmox VE 7.0+).",
"pending": "Pending changes",
"applied_state": "Applied",
"apply": "Apply",
"apply_confirm": "Apply pending SDN changes to all nodes?",
"applied": "SDN changes applied",
"zones": "Zones",
"vnets": "VNets",
"subnets": "Subnets",
"type": "Type",
"zone": "Zone",
"zone_name": "Zone name",
"add_zone": "Add zone",
"edit_zone": "Edit zone",
"delete_zone": "Delete zone",
"zone_created": "Zone created",
"zone_saved": "Zone updated",
"zone_deleted": "Zone deleted",
"zone_name_required": "Zone name is required",
"zone_required": "Select a zone",
"bridge": "Bridge",
"peers": "Peers",
"nodes": "Nodes",
"vnet_name": "VNet name",
"add_vnet": "Add VNet",
"edit_vnet": "Edit VNet",
"delete_vnet": "Delete VNet",
"vnet_created": "VNet created",
"vnet_saved": "VNet updated",
"vnet_deleted": "VNet deleted",
"vnet_name_required": "VNet name is required",
"tag": "Tag",
"alias": "Alias",
"vlanaware": "VLAN aware",
"add_subnet": "Add subnet",
"delete_subnet": "Delete subnet",
"subnet_created": "Subnet created",
"subnet_deleted": "Subnet deleted",
"subnet_required": "Subnet CIDR is required",
"gateway": "Gateway",
"snat": "SNAT",
"dnszoneprefix": "DNS zone prefix",
"create_ipam": "Also create a matching IPAM network",
"no_dns_entries": "No SDN DNS servers"
},
"templates": {
"title": "OS Templates",
"deploy": "Deploy",
"vm_name": "VM name",
"minimums": "Minimums",
"start_after": "Start after creation",
"deploy_started": "Deployment started",
"name_required": "Enter a VM name",
"download_ct": "Download CT template",
"download_started": "Download started",
"download_fields_required": "Select node, storage and template",
"download_btn": "Download",
"no_vztmpl_storage": "No vztmpl storage",
"template": "Template",
"select_template": "Select template",
"server": "Server",
"search": "Search templates...",
"all_groups": "All groups",
"all_servers": "All servers",
"all_types": "All types",
"type_kvm": "KVM",
"type_lxc": "LXC",
"file_template": "File template",
"auto_import": "Auto Import",
"importing": "Importing...",
"no_templates": "No templates found",
"os": "Operating System",
"version": "Version",
"imported": "Imported",
"imported_count": "Templates imported: {{count}}",
"imported_none": "No new templates found to import",
"select_server": "Select server",
"import_btn": "Import Templates",
"group": "Group",
"edit_group": "Edit group",
"select_group": "Select group",
"group_updated": "Group updated"
},
"storages": {
"title": "Storages",
"add": "Add storage",
"edit": "Edit storage",
"id": "Storage ID",
"type": "Type",
"content": "Content",
"nodes": "Nodes",
"nodes_placeholder": "empty = all nodes",
"all_nodes": "all",
"usage": "Usage",
"path": "Path",
"server": "Server",
"export": "Export",
"scan_exports": "Scan server for exports",
"server_required": "Enter the server address first",
"no_exports_found": "No exports found — check /etc/exports on the server",
"share": "Share",
"datastore": "Datastore",
"username": "Username",
"password": "Password",
"fingerprint": "Fingerprint",
"vgname": "Volume group",
"thinpool": "Thin pool",
"zfs_pool": "ZFS pool / dataset",
"ceph_pool": "Ceph pool",
"monhost": "Monitor hosts",
"monhost_placeholder": "10.0.0.1 10.0.0.2 (external Ceph)",
"fsname": "CephFS name",
"sparse": "Thin provisioning",
"disabled_ok": "Storage disabled",
"enabled_ok": "Storage enabled",
"disabled": "Disabled",
"enabled": "Enabled",
"inactive": "Inactive",
"inactive_on": "unavailable on: {{nodes}}",
"inactive_hint": "Declared in the cluster config but not available on: {{nodes}}. The volume group, pool or mount is missing on those nodes.",
"id_required": "Storage ID is required",
"created": "Storage created",
"saved": "Storage updated",
"deleted": "Storage deleted",
"delete_confirm": "Delete storage",
"native_jobs": "Native PVE backup schedules",
"no_native_jobs": "No native backup schedules",
"schedule": "Schedule",
"schedule_hint": "systemd calendar event, e.g. \"sat 03:00\" or \"mon..fri 02:30\".",
"compress": "Compression",
"no_compress": "None",
"selection": "Guest selection",
"select_all_guests": "All guests",
"select_vmids": "Selected VMIDs",
"retention": "Retention (prune-backups)",
"comment": "Comment",
"mailto": "Email notifications",
"add_native_job": "Add job",
"edit_native_job": "Edit backup job",
"delete_job_confirm": "Delete backup job",
"job_created": "Backup job created",
"job_updated": "Backup job updated",
"job_deleted": "Backup job deleted",
"job_enabled": "Job enabled",
"job_disabled": "Job disabled",
"job_schedule_storage_required": "Schedule and storage are required"
},
"backups": {
"title": "Backups",
"files": "Backup Files",
"jobs": "Scheduled Jobs",
"scheduled_jobs": "Scheduled Jobs",
"storage": "Storage",
"server": "Server",
"size": "Size",
"date": "Date",
"format": "Format",
"restore": "Restore",
"download": "Download",
"schedule": "Schedule",
"enabled": "Enabled",
"disabled": "Disabled",
"run_now": "Run Now",
"no_backups": "No backups found",
"no_backups_match": "No backups match your search",
"search_backups": "Search by VMID, volume, or notes...",
"no_jobs": "No scheduled jobs",
"volume": "Volume",
"notes": "Notes",
"vmids": "VMIDs",
"storage_col": "Storage",
"keep_last": "Last",
"keep_daily": "Daily",
"keep_weekly": "Weekly",
"keep_monthly": "Monthly",
"select_server": "Select server",
"select_storage": "Select storage",
"node": "Node",
"all_nodes": "All nodes",
"select_server_first": "Select a server to view backups",
"disable": "Disable",
"enable": "Enable",
"job_started": "Backup job started",
"type": "Type",
"restore_title": "Restore from backup",
"restore_warning": "Restoring will overwrite the existing VM/container with this VMID. Provide a new VMID to restore as a new guest.",
"new_vmid_optional": "New VMID (optional)",
"new_vmid_hint": "Leave empty to restore with the original VMID (existing guest will be overwritten).",
"start_after_restore": "Start after restore",
"unique_mac": "Generate unique MAC addresses",
"restore_started": "Restore started",
"restore_failed": "Failed to start restore",
"selected_count": "Selected: {{count}}",
"restore_selected": "Restore selected",
"select_all_one_per_vmid": "Select one (latest) backup per VMID",
"bulk_restore_title": "Bulk restore",
"bulk_mode": "Restore mode",
"mode_in_place": "In place (same VMID)",
"mode_new_vmid": "As new VMIDs",
"mode_in_place_hint": "Each backup is restored onto its original VMID, overwriting the existing VM/container (must be stopped).",
"mode_new_vmid_hint": "Each backup is restored as a new guest with an automatically assigned free VMID.",
"bulk_in_place_warning": "Warning: existing VMs/containers with these VMIDs will be overwritten. Make sure they are stopped.",
"confirm_overwrite": "I understand existing guests will be overwritten",
"bulk_restore_done": "Restore started for {{count}} backup(s)",
"bulk_restore_partial": "Started: {{ok}}, failed: {{fail}}",
"node_required": "Could not determine node for the operation",
"restore_target_node": "Restore to node",
"restore_target_storage": "Target storage",
"storage_from_backup": "From backup configuration",
"target_storage_hint": "Where to place the restored disks. \"From backup configuration\" keeps the original storage — pick another when restoring to a node that lacks it.",
"bulk_target_node": "Target node (override)",
"bulk_target_node_source": "Use each backup's source node",
"bulk_target_node_hint": "Leave empty to restore each backup to its original node",
"invalid_vmid": "Invalid VMID",
"delete_title": "Delete backup",
"delete_confirm": "The backup file will be permanently deleted. Continue?",
"delete_success": "Backup deleted",
"delete_failed": "Failed to delete backup",
"create_job": "Create schedule",
"edit_job": "Edit schedule",
"job_created": "Schedule created",
"job_updated": "Schedule updated",
"job_deleted": "Schedule deleted",
"job_save_failed": "Failed to save schedule",
"job_delete_failed": "Failed to delete schedule",
"delete_job_title": "Delete schedule?",
"delete_job_confirm": "The schedule will be removed from the planner. Existing backup files are kept.",
"vmids_required": "Specify at least one VMID",
"vmids_hint": "Comma-separated VMIDs (e.g. 100, 101) or 'all' for every VM/CT.",
"all_vms": "All VMs/CTs",
"all_vms_selected": "All VMs/CTs on the node selected",
"select_all_visible": "Select all visible",
"clear_selection": "Clear",
"pick_server_node_first": "Select a server and node first",
"no_vms_found": "No VMs/CTs found",
"cron_required": "Specify a cron expression",
"cron_hint": "Format: minute hour day month weekday. Example: '0 2 * * *' — daily at 02:00.",
"mode": "Mode",
"compress": "Compression",
"none": "none",
"preset": "Preset",
"cron": {
"daily_2am": "Daily at 02:00",
"daily_midnight": "Daily at midnight",
"every_6h": "Every 6 hours",
"weekly_sunday": "Weekly (Sunday 03:00)",
"monthly_1st": "Monthly (1st at 04:00)"
},
"compression": "Compression",
"no_compression": "No compression"
},
"ipam": {
"tools": "Tools",
"summary": "Summary",
"recent_activity": "Recent activity",
"select_network": "Select network",
"auto_allocate": "Auto-allocate IP",
"next_available": "Next available",
"allocate_next": "Allocate next IP",
"conflicts": "Conflicts",
"no_conflicts": "No conflicts detected",
"orphans": "Orphan allocations",
"no_orphans": "No orphan allocations",
"cleanup_orphans": "Clean up",
"cleanup_confirm": "Release all orphan IP allocations?",
"released": "Released",
"unlinked": "Unlinked VMs",
"no_unlinked": "All VMs are linked",
"link_allocations": "Scan & link",
"linked": "Linked",
"link_skipped": "Skipped: {{count}}",
"ip_history": "IP history lookup",
"pool_required_hint": "Auto-allocation requires an auto-assign pool in the network.",
"resource_required": "Please specify a resource before allocating an IP.",
"dashboard": "IPAM Dashboard",
"networks": "Networks",
"networks_count": "Networks",
"total_allocated": "Total allocated",
"total_reserved": "Total reserved",
"vm_count": "VMs / containers",
"view_all_networks": "View all networks",
"add_network": "Add network",
"no_networks": "No networks found",
"ips_used": "IPs used",
"network_created": "Network created",
"allocations": "Allocations",
"history": "History",
"total_ips": "Total IPs",
"allocated": "Allocated",
"reserved": "Reserved",
"available": "Available",
"utilization": "Utilization",
"network": "Network",
"network_info": "Network Information",
"pools": "Pools",
"range": "Range",
"usage": "Usage",
"resource": "Resource",
"description": "Description",
"action": "Action",
"details": "Details",
"server": "Server",
"bridge": "Bridge",
"create_network": "Create Network",
"cidr": "CIDR",
"gateway": "Gateway",
"vms_linked": "VMs Linked",
"network_overview": "Network Overview",
"edit_network": "Edit Network",
"delete_network": "Delete Network",
"delete_network_confirm": "Delete network \"{{name}}\"? This action cannot be undone.",
"force_delete": "Force delete (including allocations)",
"network_updated": "Network updated",
"network_deleted": "Network deleted",
"is_active": "Active",
"workspace": "Workspace",
"workspace_global": "— global —",
"is_default": "Default network for workspace",
"default": "default",
"dns_domain": "DNS Domain",
"add_pool": "Add Pool",
"edit_pool": "Edit Pool",
"pool_type": "Pool Type",
"auto_assign": "Auto-assign",
"pool_created": "Pool created",
"pool_updated": "Pool updated",
"pool_deleted": "Pool deleted",
"delete_pool_confirm": "Delete pool \"{{name}}\"?",
"ip_map": "IP Map",
"ip_map_truncated": "Showing {{shown}} of {{total}} addresses",
"add_allocation": "Add IP",
"edit_allocation": "Edit Allocation",
"allocation_created": "Allocation created",
"allocation_updated": "Allocation updated",
"delete_allocation_confirm": "Release IP {{ip}}?",
"notes": "Notes",
"addresses": "IP addresses",
"add_address": "Add IP",
"add_address_title": "Add IP address",
"add_address_description": "The address is allocated in IPAM and attached to the guest interface as an alias.",
"add_address_submit": "Assign address",
"no_addresses": "No addresses in IPAM",
"primary": "primary",
"make_primary": "Make primary address",
"primary_managed_by_nic": "The primary address comes from the NIC config",
"from_nic_config": "from NIC config",
"applied": "applied",
"not_applied": "not applied",
"runtime_only": "until reboot",
"runtime_only_hint": "Address is up, but the guest network stack was not recognised — it will not survive a reboot",
"discovered": "discovered",
"apply": "Apply",
"release": "Release",
"release_title": "Release address?",
"release_description": "Address {{ip}} will be removed from the guest interface and released in IPAM.",
"address_added": "Address {{ip}} assigned",
"address_released": "Address {{ip}} released",
"address_released_not_removed": "{{ip}} released in IPAM, but could not be removed from the guest: {{error}}",
"address_runtime_only": "{{ip}} is up but not persisted: guest network stack was not recognised",
"address_reserved_not_applied": "{{ip}} reserved but not applied: {{error}}",
"address_mode": "Address",
"next_free": "Next free",
"manual_ip": "Enter manually",
"target_interface": "Guest interface",
"any_pool": "Any",
"pool": "Pool",
"err_network_required": "Select a network",
"err_bad_ip": "Invalid IP address",
"extra_addresses": "+{{count}} more"
},
"logs": {
"level": "Level",
"category": "Category",
"message": "Message",
"delete_old": "Delete old logs"
},
"settings": {
"profile": "Profile",
"notification_channels": "Notification channels",
"panel": "Panel",
"security": "Security",
"notifications": "Notifications",
"about": "About",
"profile_info": "Profile Information",
"username": "Username",
"display_name": "Display Name",
"change_password": "Change Password",
"current_password": "Current Password",
"new_password": "New Password",
"confirm_password": "Confirm Password",
"password_mismatch": "Passwords do not match",
"tfa": {
"title": "Two-Factor Authentication",
"on": "Enabled",
"off": "Disabled",
"description": "Extra login protection: a one-time code from an authenticator app (Google Authenticator, Authy, 1Password, etc.).",
"enable": "Enable 2FA",
"disable": "Disable 2FA",
"confirm_disable": "Confirm disable",
"current_code": "Current code (or backup)",
"verify_enable": "Verify & enable",
"enter_code": "Enter the code from the app",
"scan_hint": "Scan the QR code in your authenticator app.",
"manual_key": "Or enter the key manually:",
"backup_codes_title": "Backup codes",
"backup_codes_hint": "Store these one-time codes somewhere safe. Each works once and replaces your app code if you lose access. Shown only now.",
"copy_codes": "Copy codes",
"backup_remaining": "Backup codes remaining: {{count}}",
"enabled_ok": "Two-factor authentication enabled",
"disabled_ok": "Two-factor authentication disabled"
},
"panel_settings": "Panel Settings",
"panel_name": "Panel Name",
"language": "Language",
"security_settings": "Security Settings",
"max_attempts": "Max Login Attempts",
"lockout_duration": "Lockout Duration",
"session_timeout": "Session Timeout",
"seconds": "seconds",
"minutes": "minutes",
"days": "days",
"log_retention_days": "Log Retention",
"security_saved": "Security settings saved",
"version": "Version",
"check_updates": "Check for Updates",
"update_available": "Update available",
"up_to_date": "You are up to date",
"update_repository": "Update repository",
"repo_saved": "Repository URL saved",
"perform_update": "Update now",
"update_confirm": "Start the update? The panel will pull the latest version, rebuild and restart — it will be briefly unavailable.",
"update_started": "Update started",
"update_in_progress": "Update in progress",
"update_failed": "Update failed",
"update_reset": "Reset status",
"send_test": "Send test",
"test_email_placeholder": "test@example.com",
"test_email_required": "Enter a test email address",
"chat_id_required": "Enter a Telegram chat ID",
"my_notifications": "My notifications",
"notifications_enabled": "Enable notifications",
"email_enabled": "Email notifications",
"email_critical_only": "Email: critical only",
"telegram_enabled": "Telegram notifications",
"verify": "Verify",
"quiet_start": "Quiet hours start",
"quiet_end": "Quiet hours end",
"prefs_saved": "Preferences saved",
"test_sent": "Test notification sent",
"send_test_notification": "Send test notification"
},
"ssh_keys": {
"title": "SSH Keys",
"add": "Add SSH key",
"edit": "Edit SSH key",
"name": "Name",
"public_key": "Public key",
"private_key": "Private key",
"private_key_hint": "The private key is stored encrypted. Used only on explicit download.",
"private_key_replace_hint": "Leave empty to keep the current value",
"comment": "Comment",
"fingerprint": "Fingerprint",
"has_private": "Has private",
"no_private": "Public only",
"download_private": "Download private key",
"copy_public": "Copy public key",
"copied": "Copied",
"copy_failed": "Copy failed",
"created": "SSH key added",
"deleted": "SSH key deleted",
"confirm_delete": "Delete this SSH key?",
"empty": "No saved SSH keys",
"manage_for_user": "User SSH keys"
},
"users": {
"users": "Users",
"roles": "Roles",
"sessions": "Sessions",
"security": "Security",
"create": "Create User",
"edit": "Edit User",
"create_role": "Create Role",
"edit_role": "Edit Role",
"role": "Role",
"no_role": "No role",
"last_login": "Last Login",
"active": "Active",
"inactive": "Inactive",
"locked": "Locked",
"is_active": "Active",
"is_admin": "Administrator",
"require_password_change": "Require password change",
"reset_password": "Reset Password",
"new_password": "New password",
"unlock": "Unlock",
"impersonate": "Log in as this user",
"impersonate_started": "You are now logged in as {{name}}",
"impersonate_stopped": "Returned to your admin account",
"impersonating_as": "Viewing as {{name}}",
"impersonated_by": "impersonated by {{name}}",
"return_to_admin": "Return to admin",
"manage_servers": "Assigned Servers",
"manage_ssh_keys": "Manage SSH Keys",
"assigned_servers": "Assigned Servers",
"compatible_servers": "Compatible Servers",
"incompatible": "Incompatible",
"failed_attempts": "Failed Attempts",
"terminate_sessions": "Terminate Sessions",
"disable_2fa": "Disable user's 2FA",
"terminate_all_sessions": "Terminate All Sessions",
"permissions_count": "Permissions",
"permissions": "Permissions",
"select_all": "Select all",
"clear_all": "Clear all",
"system_role": "System",
"users_count": "Users",
"active_sessions": "Active Sessions",
"user_agent": "User Agent",
"device": "Device",
"last_activity": "Last Activity",
"created": "Created",
"expires": "Expires",
"security_settings": "Security Settings",
"max_login_attempts": "Max Login Attempts",
"lockout_duration": "Lockout Duration (min)",
"session_timeout": "Session Timeout (min)",
"ip_block_threshold": "IP Block Threshold",
"ip_block_duration": "IP Block Duration (min)",
"password_min_length": "Min Password Length",
"password_require_uppercase": "Uppercase letter",
"password_require_lowercase": "Lowercase letter",
"password_require_numbers": "Number",
"password_require_special": "Special character",
"blocked_ips": "Blocked IPs",
"block_ip": "Block IP",
"ip_address": "IP address",
"reason": "Reason",
"duration_minutes": "Duration (min, empty = permanent)",
"permanent": "Permanent",
"blocked_at": "Blocked at",
"expires_at": "Expires",
"unblock": "Unblock",
"security_events": "Security Events",
"event_type": "Event Type",
"workspaces": "Workspaces",
"no_workspaces": "No workspaces",
"workspace_required": "User must belong to the server's workspace",
"quota": {
"manage": "Quotas (limits)",
"hint": "Leave a field empty for no limit on that metric.",
"instances": "Max instances (VM + LXC)",
"cores": "Max vCPU (cores)",
"memory_mb": "Max RAM (MB)",
"disk_gb": "Max disk (GB)",
"used": "Used",
"unlimited": "unlimited",
"saved": "Quota saved"
},
"sessions_terminated_one": "Terminated {{count}} session",
"sessions_terminated_other": "Terminated {{count}} sessions"
},
"workspaces": {
"create": "Create Workspace",
"edit": "Edit Workspace",
"servers": "Servers",
"users": "Users",
"created": "Created",
"all": "All workspaces",
"select": "Select workspace",
"assign_servers": "Assign Servers",
"assign_users": "Assign Users",
"no_servers": "No servers available",
"no_users": "No users available"
},
"tasks": {
"view_log": "View log",
"task_log": "Task log",
"clear_completed": "Clear Completed",
"running": "Running",
"queued": "Queued",
"completed": "Completed",
"failed": "Failed",
"tasks_count": "tasks",
"description": "Description",
"step_message": "Step / Message",
"server": "Server",
"node": "Node",
"started": "Started",
"progress": "Progress",
"active_count_one": "{{count}} active task",
"active_count_other": "{{count}} active tasks",
"no_active": "No active tasks"
},
"notifications": {
"title": "Notifications",
"mark_all_read": "Mark all read",
"empty": "No notifications"
},
"graphs": {
"cpu_usage": "CPU Usage",
"memory_usage": "Memory Usage",
"network_in": "Network In",
"network_out": "Network Out",
"disk_read": "Disk Read",
"disk_write": "Disk Write",
"iops_read": "IOPS Read",
"iops_write": "IOPS Write",
"disk_usage_pct": "Disk Usage",
"io_delay": "IO Delay",
"load_average": "Load Average",
"swap_usage": "Swap Usage",
"root_fs": "Root Filesystem"
},
"console": {
"connecting": "Connecting to console...",
"reconnect": "Reconnect",
"connected": "Connected",
"error": "Error",
"terminal_closed": "Terminal connection closed",
"terminal_error": "Terminal connection error",
"power": "Power",
"reboot": "Reboot",
"shutdown": "Shutdown",
"hard_reset": "Hard Reset",
"hard_stop": "Hard Stop",
"confirm_hard_reset": "Hard reset will forcibly reboot the VM without a graceful OS shutdown. Continue?",
"confirm_hard_stop": "Hard stop will forcibly kill the VM process without a graceful shutdown. Continue?",
"action_sent": "Command sent",
"action_failed": "Failed to send command",
"extra_keys": "Extra keys",
"ctrl_alt_del": "Ctrl+Alt+Del",
"ctrl_alt_backspace": "Ctrl+Alt+Backspace",
"scale_to_fit": "Scale to fit",
"actual_size": "Actual size",
"clipboard": "Clipboard",
"clipboard_title": "Send text to VM clipboard",
"clipboard_desc": "Text will be sent to the guest clipboard via VNC.",
"clipboard_placeholder": "Type or paste text to send...",
"send": "Send",
"screenshot": "Screenshot",
"screenshot_failed": "Failed to capture screenshot"
},
"images": {
"title": "Images",
"server": "Server",
"node": "Node",
"no_nodes": "No nodes available",
"search": "Search image...",
"arch": "Architecture",
"arch_all": "All architectures",
"cloud_section": "Cloud VM images",
"iso_section": "ISO images",
"lxc_section": "LXC templates (Proxmox repository)",
"mirror_badge": "mirror",
"no_images_filter": "No images match the filter.",
"download_by_url": "Download by URL",
"select_server_node": "Select a server and node to download an image.",
"select_server_node_list": "Select a server and node to view the list.",
"node_storage": "On node storage",
"no_iso_links": "No saved ISO links. Download an image by URL or add a mirror with type «iso» below.",
"download_iso_title": "Download ISO",
"iso_local_desc": "The file will be uploaded to the node through the panel",
"iso_url_desc": "Proxmox will download the image from the URL directly to the node",
"node_label": "Node",
"arch_label": "Architecture",
"tab_url": "By URL",
"tab_local": "Local file",
"url_label": "Image URL",
"detect_filename_title": "Detect filename from URL",
"detect_filename_failed": "Could not determine filename",
"filename_label": "Filename in storage",
"filename_hint": "Proxmox only accepts .iso and .img — otherwise the extension will be added automatically. The wand button next to the URL detects the real filename (via Content-Disposition or the final URL after redirects) when it is not visible from the URL itself.",
"drop_iso": "Drop ISO file here",
"drop_iso_hint": "or click to select (.iso, .img)",
"remove_file": "Remove file",
"local_filename_hint": "The filename in storage is assigned automatically from the selected file's name.",
"storage_iso": "Storage (iso)",
"storage_import": "Download storage (import)",
"storage_vztmpl": "Storage (vztmpl)",
"select_storage": "Select storage",
"free": "free",
"no_iso_storage": "No storage with ISO content type. Enable ISO in storage settings.",
"no_import_storage": "No storage with import support (content=import). A dir/NFS storage with content type «Import» is required (PVE 8.2+).",
"no_vztmpl_storage": "No storage with container template support (vztmpl).",
"checksum_optional": "Checksum (optional)",
"algo": "Algorithm",
"iso_upload_started": "ISO upload to node started in background",
"iso_download_started": "ISO download started in background",
"upload_btn": "Upload",
"download_btn": "Download",
"create_template_title": "Create template from image",
"download_image_title": "Download image",
"make_template_label": "Convert to VM template after download (disk import + cloud-init)",
"disk_storage": "VM disk storage (images)",
"no_disk_storage": "No storage for VM disks (content=images).",
"vmid_label": "Template VMID (blank = auto)",
"vmid_placeholder": "e.g. 9001",
"cores": "Cores",
"memory_mb": "Memory (MB)",
"bridge": "Bridge",
"ci_user": "cloud-init user",
"ci_user_placeholder": "e.g. ubuntu",
"ci_password": "cloud-init password",
"template_started": "Template creation started in background",
"download_started": "Image download started in background",
"create_template_btn": "Create template"
},
"mirrors": {
"title": "Custom mirrors",
"add": "Add",
"empty": "No custom mirrors yet.",
"disabled_badge": "off",
"delete_title": "Delete mirror?",
"deleted": "Mirror deleted",
"saved": "Saved",
"add_title": "Add mirror",
"edit_title": "Edit mirror",
"name": "Name",
"kind": "Type",
"kind_qcow2": "qcow2 (VM)",
"kind_vztmpl": "vztmpl (LXC)",
"kind_iso": "iso (installation)",
"arch": "Architecture",
"os": "OS",
"version": "Version",
"url_or_template_hint": "(or template name below)",
"url_required_hint": "(required)",
"template_name": "Template name (vztmpl)",
"checksum": "Checksum",
"algo": "Algorithm",
"description": "Description",
"enabled_label": "Enabled (show in catalog)",
"url_required": "URL is required for {{kind}}",
"url_or_template_required": "URL or template name is required"
},
"scripts": {
"title": "Script catalog",
"subtitle": "Bash scripts for execution on Proxmox nodes and guests (VM/LXC)",
"new_script": "New script",
"tab_catalog": "Catalog",
"tab_repos": "Git sources",
"tab_executions": "Execution history",
"search": "Search by name...",
"no_scripts": "No scripts yet",
"no_search_results": "Nothing found",
"target_node": "Proxmox node",
"target_guest": "VM/LXC",
"source_community": "Community Scripts",
"run": "Run",
"run_title": "Run: {{name}}",
"execution_title": "Run: {{name}}",
"no_output": "(no output)",
"name_placeholder": "Log cleanup",
"confirm_delete": "Delete script «{{name}}»?",
"deleted": "Script deleted",
"repo_added": "Source added",
"repo_url_placeholder": "https://github.com/user/scripts.git",
"add_repo": "Add source",
"add_community_scripts": "Community-Scripts (ProxmoxVE)",
"no_repos": "No Git sources configured",
"last_synced": "synced",
"sync_done": "Synced: +{{created}} / updated {{updated}}",
"sync_failed": "Sync failed",
"sync": "Synchronize",
"no_executions": "No executions yet",
"col_script": "Script",
"col_target": "Target",
"col_status": "Status",
"col_exit_code": "Exit code",
"col_started": "Started",
"edit_title": "Edit script",
"new_title": "New script",
"name": "Name",
"slug": "Slug",
"description": "Description",
"category": "Category",
"target_type": "Execution target",
"interpreter": "Interpreter",
"content": "Script content",
"params_hint": "Parameters are available as environment variables ($NAME).",
"params": "Parameters",
"add_param": "Add parameter",
"param_label": "Label",
"required": "req.",
"validation_required": "Fill in the name, slug and script content",
"saved": "Script saved",
"server": "Proxmox server",
"pick_server": "Select server",
"node": "Node",
"pick_node": "Select node",
"guest": "VM / LXC",
"pick_guest": "Select VM/container",
"community_scripts_warning": "This script will create a new LXC container on the Proxmox host and will fetch additional code from GitHub at runtime (misc/build.func) — this is third-party code that pvemanager does not verify or pin.",
"param_required": "Parameter «{{label}}» is required",
"exit_code": "Exit code"
},
"certs": {
"title": "TLS certificates",
"upload": "Upload certificate",
"apply": "Apply",
"expired": "Expired",
"days_left": "{{d}} days",
"cert_required": "Paste the certificate in PEM format",
"uploaded": "Certificate uploaded, pveproxy restarted",
"confirm_delete": "Delete the custom certificate for node «{{node}}»? The self-signed certificate will be restored and pveproxy will restart.",
"delete": "Delete certificate",
"deleted": "Certificate deleted, self-signed restored",
"pem_cert": "Certificate (PEM, with chain)",
"pem_key": "Private key (PEM, optional)",
"custom": "Custom",
"builtin": "Self-signed",
"subject": "Subject",
"issuer": "Issuer",
"notbefore": "Valid from",
"notafter": "Valid until",
"pubkey": "Key",
"fingerprint": "Fingerprint"
},
"topology": {
"title": "Network topology",
"subtitle": "Hierarchical map of clusters, nodes and guests",
"empty": "No servers available",
"error": "Failed to load topology",
"too_many": "Too many objects; grouping is enabled",
"filters": {
"connection": "Connection",
"all_connections": "All connections",
"vm_status": "VM status",
"status_all": "All",
"status_running": "Running",
"status_stopped": "Stopped",
"threshold": "Group VMs above",
"threshold_off": "Off"
},
"actions": {
"fit": "Fit to screen",
"fullscreen": "Fullscreen",
"exit_fullscreen": "Exit fullscreen",
"export": "Export",
"export_png": "Export PNG",
"export_svg": "Export SVG",
"refresh": "Refresh"
},
"export": {
"progress": "Rendering image…",
"done": "Image saved",
"failed": "Export failed",
"svg_hint": "SVG embeds HTML; some vector editors render it only partially"
},
"legend": {
"title": "Legend",
"panel": "Panel",
"cluster": "Cluster",
"standalone": "Standalone",
"node": "Proxmox node",
"vm": "Virtual machine",
"lxc": "Container",
"running": "Running",
"stopped": "Stopped",
"stale": "Cached data"
},
"node": {
"cpu": "CPU",
"ram": "RAM",
"clusters_count_one": "{{count}} cluster",
"clusters_count_other": "{{count}} clusters",
"nodes_count_one": "{{count}} node",
"nodes_count_other": "{{count}} nodes",
"guests_count_one": "{{count}} guest",
"guests_count_other": "{{count}} guests"
},
"group": {
"count": "{{count}} VMs",
"count_one": "{{count}} VM",
"expand": "Show all",
"collapse": "Collapse",
"breakdown": "{{running}} running · {{stopped}} stopped"
},
"warning": {
"offline": "{{server}} is unreachable — showing cached data",
"error": "{{server}}: {{message}}"
}
}
}