{
  "pageDesc": "VPN server & client",
  "eyebrow": "VPN",
  "tab": {
    "wireguard": "WireGuard",
    "openvpn": "OpenVPN",
    "outline": "Shadowsocks",
    "client": "Local client",
    "software": "Software",
    "monitor": "Monitor",
    "about": "About",
    "server": "Server",
    "install": "Install",
    "overview": "Overview"
  },
  "softwareIntro": "Install or update VPN engines here. Server tabs stay focused on config.",
  "monitor": {
    "needLive": "Live metrics need root + YSK_EXECUTE on the server.",
    "autoRefresh": "Auto 3s",
    "filterEngine": "Engine filter",
    "filterPresence": "Presence filter",
    "engineAll": "All engines",
    "presenceAll": "All",
    "presenceOnline": "Online",
    "presenceOffline": "Offline",
    "onlineOf": "Online {{online}} / {{total}}",
    "peersTitle": "Peers ({{count}})",
    "localTitle": "Local outbound",
    "colEndpoint": "Remote",
    "colLastSeen": "Last seen",
    "colRx": "↓ Total",
    "colTx": "↑ Total",
    "colRxRate": "↓ Rate",
    "colTxRate": "↑ Rate",
    "sampledAt": "Sampled {{when}}",
    "emptyPeers": "No peers to show",
    "emptyPeersHint": "Add peers on engine tabs, or clear filters",
    "presence": {
      "online": "Online",
      "idle": "Idle",
      "offline": "Offline",
      "never": "Never",
      "unknown": "Unknown"
    }
  },
  "installed": "Installed",
  "notInstalled": "Not installed",
  "serverUp": "Running",
  "serverDown": "Stopped",
  "engineSummary": "port {{port}} · {{peers}} peers",
  "engineSummaryClient": "{{count}} profiles · {{up}} up",
  "needWireGuard": "WireGuard required",
  "needOpenVpn": "OpenVPN required",
  "needSs": "ss-server required",
  "ssHonestUi": "ss:// access keys (not full Outline Manager)",
  "listenPort": "Listen port",
  "listenPortUdp": "Listen port (UDP)",
  "listenPortTcp": "Listen port (TCP)",
  "endpoint": "Public endpoint",
  "endpointHint": "Public host:port clients use to connect",
  "ddnsFill": "Use DDNS hostname",
  "ddnsFilled": "Filled endpoint host from DDNS. Peers are unchanged.",
  "ddnsFillEmpty": "No DDNS primary hostname yet. Add one on the DNS DDNS tab.",
  "ensureServer": "Apply server",
  "openFirewall": "Open {{port}}/{{proto}}",
  "presets": "Port presets",
  "portHint": {
    "51820": "Default WireGuard listen port",
    "51821": "Alternate WireGuard listen port",
    "51822": "Second alternate WireGuard listen port"
  },
  "proto": "Protocol",
  "protoUdp": "UDP",
  "protoTcp": "TCP",
  "statusLine": "{{state}} · {{port}}/{{proto}} · {{peers}} peers",
  "peersTitle": "Peers / keys",
  "peersTitleWg": "Peers",
  "peersTitleOvpn": "Client configs",
  "peersTitleSs": "Access keys",
  "peerName": "Name",
  "peerNamePlaceholder": "office-laptop",
  "peerNameHint": "Letters, digits, . _ - — no spaces, / or !",
  "peerNameInvalid": "Spaces, / and ! are not allowed. Use {{preview}} or change the name.",
  "addPeer": "+ Add",
  "installEngineFirst": "Install the VPN engine first",
  "needServerRunning": "{{engine}} is not running — apply the server first",
  "engineSummarySoftware": "{{installed}} installed · {{running}} running",
  "privateKeyOnce": "The client private key is shown only here. Download or copy it now — it cannot be recovered later.",
  "showPrivateKey": "Show private key",
  "hidePrivateKey": "Hide private key",
  "deletePeerTitle": "Delete peer {{name}}?",
  "deletePeerDesc": "Remove {{name}} ({{address}}). The client disconnects immediately and the config cannot be restored. The WireGuard server stays up.",
  "deleteClientTitle": "Delete OpenVPN client {{name}}?",
  "deleteClientDesc": "Remove {{name}} ({{address}}). The client disconnects immediately and the profile cannot be restored. The OpenVPN server stays up.",
  "deleteKeyTitle": "Delete Shadowsocks key {{name}}?",
  "deleteKeyDesc": "Remove access key {{name}} ({{address}}). Clients using this key disconnect. The Shadowsocks server stays up.",
  "deleteResult": "Removed {{name}}.",
  "portInvalid": "Listen port must be an integer from 1 to 65535.",
  "portRequired": "Listen port is required.",
  "importInvalid": "Could not detect a WireGuard or OpenVPN client conf.",
  "qrFailed": "Could not generate a QR code for this config. Download or copy the text instead.",
  "cfgTitle": "Config — {{name}}",
  "addPeerWg": "+ Add peer",
  "addPeerOvpn": "+ Add client",
  "addPeerSs": "+ Add key",
  "noPeers": "None yet",
  "noPeersHint": "Add one to download config",
  "colName": "Name",
  "colAddress": "Address",
  "colCreated": "Created",
  "colActions": "Actions",
  "colEngine": "Engine",
  "colStatus": "Status",
  "colIface": "Interface",
  "downloadKey": "Download",
  "showQr": "QR",
  "copyConf": "Copy",
  "copied": "Copied",
  "downloaded": "Config downloaded",
  "qrReady": "QR ready",
  "qrTitle": "QR — {{name}}",
  "qrHintWg": "Scan in WireGuard app",
  "qrHintSs": "Scan ss:// in a Shadowsocks client",
  "showConf": "Config text",
  "close": "Close",
  "clientIntro": "Import a conf file to connect this host out",
  "profileName": "Profile name",
  "pasteConf": "Paste conf",
  "importProfile": "Import",
  "importOpen": "+ Import conf",
  "noProfiles": "No local profiles",
  "noProfilesHint": "Import WireGuard or OpenVPN client conf",
  "connect": "Connect",
  "disconnect": "Disconnect",
  "clientStatus": {
    "up": "Connected",
    "down": "Disconnected",
    "unknown": "Unknown",
    "error": "Error"
  },
  "result": "Result",
  "clientEngine": "Type",
  "engineAuto": "Auto-detect",
  "refresh": "Refresh",
  "dnsOptional": "DNS (optional)",
  "serverSettings": "Server settings",
  "access": {
    "label": "Client traffic",
    "full": "Full internet",
    "lan": "LAN only",
    "custom": "Custom routes",
    "fullHint": "All client traffic goes via this server (enables NAT). Reconnect clients after apply.",
    "lanHint": "Only VPN + selected private nets; client keeps its own internet. Reconnect after apply.",
    "customHint": "Only the CIDRs you list enter the tunnel. Reconnect after apply.",
    "lanCidrs": "LAN networks",
    "customCidr": "CIDR",
    "addCidr": "Add",
    "cidrRequired": "Enter a CIDR (for example 192.168.1.0/24).",
    "cidrInvalid": "Enter a valid CIDR, for example 192.168.1.0/24."
  },
  "engineNotInstalled": "This VPN engine is not installed on the host.",
  "serverNotListening": "Server unit is not active. UDP/TCP {{port}} may be closed."
}
