wireguard-ui/locale/en.json

510 lines
27 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"meta.brand": "WireGuard UI",
"nav.section.main": "Main",
"nav.section.monitor": "Monitoring",
"nav.section.admin": "Administration",
"nav.section.other": "Other",
"nav.dashboard": "Dashboard",
"nav.clients": "Clients",
"nav.server": "Server",
"nav.traffic": "Traffic",
"nav.logs": "Logs",
"nav.settings": "Settings",
"nav.users": "Users",
"nav.wol": "WoL",
"nav.about": "About",
"nav.badge_tooltip": "Unapplied changes",
"nav.profile": "Profile",
"nav.logout_sidebar": "Sign out",
"nav.mobile_user_aria": "User actions",
"nav.sign_out_mobile": "Out",
"role.admin": "Administrator",
"role.user": "User",
"role.guest": "Guest",
"top.reload": "Reload view",
"top.sync": "Sync",
"top.new_client": "New client",
"top.apply_config": "Apply config",
"new_client.tooltip_allowed": "Address list routed to the server; included in the client's AllowedIPs.",
"new_client.tooltip_extra": "List merged into AllowedIPs for this peer in the server's wg.conf.",
"modal.apply.title": "Apply configuration",
"modal.apply.body1": "This writes current clients/peers to <code>wg.conf</code> and updates the kernel. If you changed <strong>global WireGuard settings</strong>, the interface may restart via <code>wg-quick</code> when permitted.",
"modal.apply.body2": "<strong>Session / appearance</strong> changes apply without this step when there are no other pending changes.",
"modal.apply.cancel": "Cancel",
"modal.apply.confirm": "Apply",
"modal.kernel.title": "Config saved — kernel reload pending",
"modal.kernel.p1": "Changes were written to <code>wg.conf</code> but could not be applied to the kernel automatically.",
"modal.kernel.p2": "Open <strong>Server</strong> to manually start or restart the WireGuard interface.",
"modal.kernel.details": "Technical details",
"modal.kernel.none": "(no detail)",
"js.apply_ok": "Configuration applied successfully.",
"js.apply_kernel_hint": "Configuration saved on disk. To reload the kernel, set WGUI_WG_SYNCCONF_AFTER_APPLY=true or restart manually from Server.",
"js.global_post_fail": "Could not apply global settings",
"clients.search_ph": "Search clients…",
"clients.enabled": "Enabled",
"clients.disabled": "Disabled",
"clients.new_btn": "New client",
"meta.title_clients": "Clients · WireGuard",
"page.clients": "Clients",
"dash.wg_warn": "WireGuard UI could not query local statistics:",
"dash.kpi.active": "Active",
"dash.kpi.active_sub": "Enabled peers in configuration",
"dash.kpi.down_lbl": "Download",
"dash.kpi.down_sub": "Cumulative TX (kernel, peer perspective)",
"dash.kpi.up_lbl": "Upload",
"dash.kpi.up_sub": "Cumulative RX (kernel, peer perspective)",
"dash.kpi.sessions": "Active sessions",
"dash.kpi.sessions_sub": "Enabled peers with a recent handshake (~3 min)",
"dash.peers_title": "Recent peers",
"dash.peers_badge": "of",
"dash.peers_of": "clients",
"dash.peer_filter_ph": "Filter peers…",
"dash.no_peers": "No peers in the database.",
"dash.peer_online": "Online",
"dash.peer_offline": "Offline",
"dash.peer_disabled": "Disabled",
"dash.peer_usage": "(24h)",
"dash.toggle_peer": "Enable / disable peer",
"dash.srv_title": "WireGuard server",
"dash.srv_active": "● Active",
"dash.srv_inactive": "Inactive",
"dash.srv_iface_port": "Interface / port",
"dash.srv_pubkey": "Public key (truncated)",
"meta.title_dashboard": "Dashboard · WireGuard",
"page.dashboard": "Dashboard",
"login.title_page": "WireGuard UI — Login",
"login.subtitle": "Administration panel",
"login.user": "Username",
"login.pass": "Password",
"login.remember": "Keep me signed in",
"login.forgot": "Forgot password?",
"login.submit": "Sign in",
"login.submit_checking": "Signing in…",
"login.secure": "Secure access via HTTPS",
"login.encrypted": "Encrypted session",
"login.show_pass": "Show",
"login.passkey": "Sign in with passkey",
"login.passkey_hint": "Optional: leave username empty to pick the account on this device.",
"login.success_title": "Access granted",
"login.success_sub": "Redirecting…",
"profile.title": "Profile · WireGuard",
"profile.page": "My account",
"users.title": "Users · WireGuard",
"users.page": "Users",
"settings.title": "Global settings · WireGuard",
"settings.page": "Global settings",
"server.title": "Server · WireGuard",
"server.page": "Server",
"traffic.title": "Traffic · WireGuard",
"traffic.page": "Traffic",
"logs.title": "Logs · WireGuard",
"logs.page": "System logs",
"status.title": "Status (table) · WireGuard",
"status.page": "Status (table)",
"wol.title": "Wake-on-LAN · WireGuard",
"wol.page": "Wake-on-LAN",
"about.title": "About · WireGuard",
"about.page": "About",
"helper.client_disabled": "Client disabled",
"helper.dns_no_server": "Not using server DNS",
"helper.dns_empty_list": "Server DNS (empty list)",
"helper.dns_active": "Server DNS: on",
"helper.dns_inactive": "Server DNS: off",
"helper.updated": "Last updated:",
"helper.peer_meta_aria": "Peer details",
"helper.created_lbl": "Created",
"helper.updated_lbl": "Updated",
"helper.email_title": "Email",
"helper.email_short_lbl": "Email",
"helper.dns_section_lbl": "DNS",
"helper.notes_inline_lbl": "Notes",
"helper.created_chip_title": "Created",
"helper.updated_chip_title": "Last modified",
"helper.badge_online": "Online",
"helper.badge_disconnected": "Disconnected",
"helper.badge_blocked": "No access",
"helper.switch_peer": "Enable / disable peer",
"helper.field_allocated": "Allocated IP",
"helper.field_dns": "DNS",
"helper.field_allowed": "Allowed IPs",
"helper.field_down": "Download",
"helper.field_up": "Upload",
"helper.field_keepalive": "Keepalive",
"helper.field_extra_allowed": "Extra allowed IPs",
"helper.field_subnets": "Subnet ranges",
"helper.field_endpoint": "Endpoint",
"helper.peer_pubkey": "Peer public key",
"helper.btn_qr": "Show QR",
"helper.btn_dl": "Download .conf",
"helper.btn_edit": "Edit",
"helper.btn_del": "Delete",
"login.status.unavailable": "Server status unavailable · %s · %d/UDP",
"login.status.no_wg_read": "Cannot read WireGuard · %s · %d/UDP",
"login.status.active": "Server active · %s · %d/UDP",
"login.status.inactive": "Interface inactive · %s · %d/UDP (config)",
"login.generic_error": "Error",
"login.passkey_begin_fail": "Could not start passkey login",
"login.passkey_invalid": "Invalid passkey",
"login.passkey_unavailable": "Passkey not available",
"login.forgot_unavailable_tip": "Not available in WireGuard UI",
"modal.kernel.close_btn": "Close",
"modal.kernel.goto_server": "Open Server",
"modal.new_client.title": "New WireGuard client",
"aria.close": "Close",
"dash.wg_warn_suffix": "Traffic KPI values may be incomplete.",
"dash.server_no_config": "No configuration loaded.",
"dash.quick_actions": "Quick actions",
"dash.export_configs": "Export configs",
"dash.restart_server": "Restart server",
"dash.change_server_key": "Rotate server keys",
"dash.view_logs": "View logs",
"dash.logs_tail_hint": "Optional logs require the environment variable <code>%s</code> pointing to a file readable by the process.",
"dash.modal.restart_title": "Restart WireGuard server",
"dash.modal.restart_body": "This restarts the WireGuard interface (<code>wg-quick down</code> and <code>wg-quick up</code>). Active tunnels may drop for a few seconds.",
"dash.modal.cancel": "Cancel",
"dash.modal.restart_confirm": "Restart now",
"dash.modal.key_title": "Rotate server keys",
"dash.modal.key_body": "A new WireGuard server key pair will be generated. Save/apply configuration afterwards to propagate changes to clients.",
"dash.modal.key_confirm": "Rotate keys",
"dash.toast_restart_ok": "WireGuard server restarted",
"dash.toast_restart_err": "Could not restart the WireGuard server",
"dash.toast_key_ok": "Server keys regenerated",
"dash.toast_key_err": "Could not regenerate server keys",
"dash.meta_sep": " of ",
"top.search_placeholder": "Search…",
"top.status.all": "All",
"top.status.enabled": "Enabled",
"top.status.disabled": "Disabled",
"top.status.connected": "Connected",
"top.status.disconnected": "Disconnected",
"js.pending_global_invalid": "Pending settings are invalid. Save again from Settings.",
"js.global_saved_ok": "Global settings saved successfully.",
"js.session_prefs_ok": "Session and appearance preferences applied.",
"js.could_not_apply_prefs": "Could not apply preferences.",
"js.client_created_success": "Created new client successfully.",
"js.apply_config_success": "Configuration applied successfully.",
"js.kernel_detail_fallback": "(no detail)",
"js.manual_kernel_synconf_off": "Automatic kernel reload is disabled (WGUI_WG_SYNCCONF_AFTER_APPLY=false or unset).",
"js.validator_name_required": "Please enter a name.",
"js.tags_placeholder": "Add more",
"wol.meta_title_tpl": "{{.}} · WireGuard",
"clients.email_modal_title": "Send email",
"clients.email_modal_send": "Send",
"clients.email_label": "Email address",
"about.page_title_fallback": "About",
"traffic.kpi_dl_total": "Total download (kernel)",
"traffic.kpi_ul_total": "Total upload (kernel)",
"traffic.kpi_all_peers_24h": "All peers · last 24h",
"traffic.kpi_rate_window_title": "Peak in ~60s window (4s sampling) · instant",
"traffic.kpi_peak_dl_today": "Peak download · today",
"traffic.kpi_peak_perspective": "Peer view · peak in rolling 24h windows (4s sampling)",
"traffic.kpi_updated_ago": "updated {s}s ago",
"traffic.kpi_wg_ifaces": "WG interfaces",
"traffic.bandwidth": "Bandwidth",
"traffic.range_24h_live": "last 24h (live estimate)",
"traffic.range_7d_live": "last 7 days (live estimate)",
"traffic.range_30d_live": "last 30 days (live estimate)",
"traffic.range_tabs_aria": "History range",
"traffic.chart_aria": "Bandwidth history",
"traffic.legend_dl_top": "Download (top)",
"traffic.legend_ul_bottom": "Upload (bottom)",
"traffic.peer_perspective_hint": "End-user view: download = server TX, upload = server RX.",
"traffic.table_intro": "Per-client usage for the selected range (24h · 7d · 30d).",
"traffic.th_client": "Client",
"traffic.th_ips": "Allocated IPs",
"traffic.th_dl": "Download",
"traffic.th_ul": "Upload",
"traffic.th_handshake": "Last handshake",
"traffic.peer_fallback": "peer",
"traffic.bar_title": "Client: {name} · Download: {dl} · Upload: {ul}",
"logs.disabled_warn_before": "Log monitoring is disabled. Enable it in",
"logs.disabled_warn_link": "Global settings",
"logs.disabled_warn_after": "(Logs option) to show the Logs tab in the menu and periodic updates.",
"logs.filter_all": "All",
"logs.export": "Export",
"logs.clear": "Clear",
"logs.live_badge": "Live",
"logs.live_paused": "Automatic refresh paused",
"logs.console_note": "Detected interface: %s. Unified console for systemctl, journalctl, and optional app log.",
"server.banner_query_err": " — Error querying WG",
"server.banner_active": " — Active and listening",
"server.banner_no_iface": " — Not present in kernel (not seen by wgctrl)",
"server.banner_port": "Port",
"server.banner_peers": "peers",
"server.banner_hs_fmt": "%d recent handshakes (&lt;3 min)",
"server.banner_uptime": " · Host uptime:",
"server.tooltip_apply_dump": "Write wg.conf from the database (does not run wg-quick).",
"server.tooltip_admin_required": "Administrator required",
"server.quick_restart": "Restart",
"server.quick_down": "Stop",
"server.quick_up": "Start",
"server.quick_actions_note": "Stop / Start / Restart control the live WireGuard interface immediately. They do not save this page or use Apply config.",
"server.section_iface": "Network interface",
"server.lbl_ifname": "Interface name",
"server.lbl_ip_addr": "IP address",
"server.lbl_listen_port": "Listen port",
"server.lbl_mtu": "MTU",
"server.lbl_dns": "DNS",
"server.dns_micro": "Used in client configs and the “Global DNS” option. Save also updates global settings (MTU/DNS).",
"server.section_crypt": "Cryptographic keys",
"server.lbl_privkey": "Private key",
"server.lbl_pubkey": "Public key",
"server.pk_show": "Show key",
"server.pk_hide": "Hide key",
"server.regenerate": "Regenerate",
"server.section_post": "PostUp / PostDown",
"server.lbl_pre_down": "Pre-down (optional)",
"server.section_firewall": "Network and firewall options",
"server.opt_fwd_title": "IP forwarding (ip_forward)",
"server.opt_fwd_desc_admin": "Preference stored in the database; on Linux sysctl runs only if WGUI_ALLOW_SYSCTL_IP_FORWARD=true.",
"server.opt_fwd_readonly": "Read only.",
"server.opt_gdns_title": "Global DNS override",
"server.opt_gdns_body": "Force client DNS lines to use global DNS (independent of per-peer fields).",
"server.opt_persist_title": "Persist configuration",
"server.opt_persist_body_fmt": "Write %s.conf from the database.",
"server.opt_auto_title": "Auto-apply changes",
"server.opt_auto_body": "Same as “Persist”: writes the WG file and updates hashes (same as “Apply config”).",
"server.micro_footer": "If persistence and re-apply are off, only the database changes; use “Sync” above or “Apply config” afterwards.",
"server.btn_save_changes": "Save changes",
"server.modal_regen_title": "Regenerate server keys",
"server.modal_regen_body": "Are you sure? You must update all peers manually with the new server public key.",
"server.modal_regen_btn": "Regenerate",
"server.js_btn_save_apply": "Save and apply",
"server.js_tooltip_no_dirty": "No pending changes in the Server section",
"server.js_tooltip_dirty_apply": "Unsaved changes: you will be prompted to save before applying",
"server.js_tooltip_apply_file": "Apply saved changes to wg.conf",
"server.js_err_port_invalid": "Invalid port",
"server.js_err_port_range": "Port out of range",
"server.js_ok_updated": "Server updated",
"server.js_ok_applied_conf": "Configuration applied to wg.conf",
"server.js_err_generic": "Error",
"server.js_mtu_invalid": "MTU: enter a valid integer or leave empty to omit",
"server.js_mtu_range": "MTU: between 1280 and 9000, or empty to omit from .conf files",
"server.js_confirm_dirty_then_apply": "You have unsaved changes. Save them and then apply configuration to wg.conf?",
"server.js_confirm_saved_apply": "Changes saved. Apply configuration to wg.conf now?",
"server.js_confirm_apply_saved": "Apply saved configuration to wg.conf now?",
"server.js_tunnel_down_apply_note": "The tunnel is stopped: we only write wg.conf to disk; use Start (Iniciar) to bring WireGuard up.",
"server.js_confirm_quick_down": "Stop the WireGuard interface (wg-quick down) using the global Config File Path?",
"server.js_confirm_quick_up": "Bring up WireGuard (wg-quick up) with the file from global Config File Path?",
"server.js_confirm_quick_restart": "Restart the WireGuard interface now? (wg-quick down + wg-quick up)",
"server.js_ok_iface_down": "Interface stopped",
"server.js_ok_iface_up": "Interface started",
"server.js_ok_iface_restart": "Interface restarted",
"server.js_ok_keys_regen": "Keys regenerated",
"clients.modal_qr": "QR code",
"clients.modal_telegram_title": "Telegram configuration",
"clients.telegram_userid": "Telegram user ID",
"clients.modal_edit_client": "Edit client",
"clients.modal_disable": "Disable",
"clients.modal_remove": "Remove",
"clients.modal_apply_btn": "Apply",
"clients.sent_email_ok": "Email sent successfully",
"clients.sent_telegram_ok": "Config sent via Telegram successfully",
"clients.updated_ok": "Client updated successfully",
"clients.removed_ok": "Client removed successfully",
"clients.edit_title_fmt": "Edit client {name}",
"clients.scan_qr_fmt": "Scan QR code for {name}s profile",
"clients.send_config_fmt": "Send config to client {name}",
"clients.about_disable_fmt": "You are about to disable client {name}",
"clients.about_remove_fmt": "You are about to remove client {name}",
"clients.validator_name": "Please enter a name",
"clients.validator_email": "Please enter an email",
"clients.validator_tg_req": "Please enter a Telegram user ID",
"clients.validator_tg_num": "Please enter a valid Telegram user ID",
"settings.card_head_wireguard": "Global WireGuard settings",
"clients.save_btn": "Save",
"server.lbl_post_up": "PostUp",
"server.lbl_post_down": "PostDown",
"settings.page_sub": "Global client defaults and WireGuard paths",
"profile.page_sub": "Current account profile",
"users.page_sub": "Accounts and Passkeys administration",
"page.clients_sub": "Peer and configuration management",
"page.dashboard_sub": "System overview",
"page.traffic_sub": "Bandwidth monitoring",
"page.logs_sub": "Live WireGuard and application logs",
"page.server_sub_fmt": "Configuration for %s",
"page.status_sub": "Peers from wgctrl (table detail)",
"page.about_sub": "Information and version",
"api.account_disabled": "Account disabled",
"api.password_updated_reauth": "Password updated. Please sign in again.",
"api.user_enabled": "User enabled",
"api.no_change": "No change",
"api.account_disabled_admin_reactive": "Your account was disabled. Sign in again once an administrator re-enables you.",
"api.user_disabled": "User disabled",
"api.disabled_no_valid_sessions": "User is disabled; no valid active sessions",
"api.session_revoked_reauth": "Session revoked. Please sign in again.",
"api.user_sessions_revoked": "All sessions for the user were closed",
"api.logs_monitoring_disabled": "Log monitoring is disabled in settings",
"api.saved_passkeys_cleared_failed": "Settings saved but stored passkeys could not be cleared",
"api.global_saved_passkeys_disabled_kernel": "Settings saved. Passkeys disabled and stored credentials removed. You can apply to the kernel in the same step.",
"api.passkey_removed_reauth": "Passkey removed. Please sign in again.",
"api.passkey_removed_sessions_revoked": "Passkey removed; user sessions revoked",
"api.need_another_active_admin": "There must be at least one other active administrator before disabling this user",
"settings.endpoint_hint": "Public IP or <strong>Dynamic DNS hostname</strong> as-is (not resolved or replaced by this server). Use <code>host:51820</code> to override listen port.",
"settings.dns_hint": "Inserted into generated client configs.",
"settings.mtu_hint": "Recommended range 12809000. Leave empty to omit.",
"settings.keepalive_hint": "Helps NATed peers maintain connectivity.",
"settings.config_path_example": "Example: <code>/etc/wireguard/wg0.conf</code>",
"settings.card_session": "Session and security",
"settings.session_timeout_label": "Session timeout (minutes)",
"settings.session_timeout_hint": "Use plain <strong>integer minutes only</strong> (not seconds). Range <strong>51440</strong>. Logout happens after <strong>inactivity</strong>: no authenticated requests for that interval. After saving, <strong>sign in again</strong> so your current cookie picks up the new limit.",
"settings.minutes_unit": "minutes",
"settings.session_example": "Example: 30 = expires after ~30&nbsp;minutes without using the app.",
"settings.passkeys_hint": "Sign in with a device-backed key. Turning the switch off does nothing until you press <strong>Save changes</strong> at the bottom; stored Passkeys are then removed. Turning it back on requires registering again from <strong>Users</strong>.",
"settings.card_appearance": "Appearance",
"settings.lang_label": "Language",
"settings.theme_label": "Theme",
"settings.theme_dark": "Dark",
"settings.theme_light": "Light",
"settings.theme_auto": "Automatic (browser)",
"settings.logs_toggle_label": "Logs",
"settings.logs_hint": "Enable live monitoring: <strong>Logs</strong> tab, periodic refresh, and richer <strong>Dashboard</strong> metrics.",
"settings.save_footer": "Save changes",
"settings.btn_suggest": "Suggest",
"settings.endpoint_modal_title": "Endpoint suggestion",
"settings.endpoint_modal_intro": "Below is the list of public and local IP addresses.",
"settings.endpoint_modal_close": "Cancel",
"settings.endpoint_modal_use": "Use selected address",
"profile.section_account_title": "Your account",
"profile.section_account_sub": "Changes apply only to you. Updating your password closes the current session.",
"profile.lbl_display_name": "Display name",
"profile.lbl_username": "Username",
"profile.lbl_email": "Email",
"profile.lbl_new_password": "New password",
"profile.ph_display_name": "e.g. Jamie Smith",
"profile.ph_email": "you@example.com",
"profile.ph_password_keep": "Leave blank to keep current",
"profile.pass_show": "Show",
"profile.pass_hide": "Hide",
"profile.pass_prefix": "Strength:",
"profile.pass_none": "no new password",
"profile.pass_vweak": "very weak",
"profile.pass_weak": "weak",
"profile.pass_medium": "fair",
"profile.pass_strong": "strong",
"profile.pass_vstrong": "very strong",
"profile.passkeys_sub": "Register multiple credentials and rename them anytime.",
"profile.pk_name_ph": "Label (e.g. iPhone, MacBook, YubiKey)",
"profile.pk_add_btn": "Add passkey",
"users.stat_total_upper": "TOTAL USERS",
"users.stat_total_badge": "Registered",
"users.stat_admins_upper": "ADMINISTRATORS",
"users.stat_admins_badge": "Full access",
"users.stat_with_pk_upper": "WITH PASSKEYS",
"users.stat_with_pk_badge": "Strong auth",
"users.stat_no_pk_upper": "WITHOUT PASSKEYS",
"users.stat_no_pk_badge": "No passkeys",
"users.search_ph": "Search users…",
"users.btn_new": "New user",
"users.th_user": "USER",
"users.th_email": "EMAIL",
"users.th_role": "ROLE",
"users.th_state": "STATE",
"users.th_passkeys": "PASSKEYS",
"users.th_actions": "ACTIONS",
"users.modal_new_title": "New user",
"users.modal_edit_title": "Edit user",
"users.lbl_display_name": "Display name",
"users.ph_display_ex": "e.g. Jamie Smith",
"users.ph_username_ex": "e.g. jamie",
"users.lbl_username": "Username",
"users.lbl_email": "Email",
"users.lbl_initial_pw": "Initial password",
"users.ph_min_pw": "Minimum 8 characters",
"users.lbl_role": "Role",
"users.role_standard": "User",
"users.role_admin_option": "Administrator",
"users.btn_cancel": "Cancel",
"users.btn_create": "Create user",
"users.lbl_password": "Password",
"users.ph_pw_unchanged": "Leave blank to keep unchanged",
"users.edit_admin_checkbox": "Administrator",
"users.edit_admin_note": "Only applies when editing someone else",
"users.btn_save": "Save",
"users.del_title": "Delete user?",
"users.del_confirm_btn": "Delete",
"settings.val_mtu_digits": "MTU must be an integer",
"settings.val_mtu_range": "MTU must be between 1280 and 9000 (leave blank to omit)",
"settings.val_keepalive_digits": "Persistent Keepalive must be an integer",
"settings.val_conf_required": "WireGuard config file path is required",
"settings.val_session_digits": "Session timeout must be an integer",
"settings.val_session_range": "Session timeout must be between 5 and 1440 minutes",
"settings.toast_no_changes": "No pending changes to save",
"settings.toast_stage_local": "Saved locally on this device. Use «Apply config» (toolbar) to apply.",
"settings.placeholder_select_ip": "Select an address",
"profile.pk_empty_disabled": "Passkeys are disabled in global settings.",
"profile.pk_empty_none": "You have no passkeys registered yet.",
"profile.rename_tooltip": "Rename",
"profile.delete_pk_tooltip": "Delete passkey",
"profile.default_pk_name": "Passkey",
"profile.err_load_profile": "Could not load your profile",
"profile.err_load_pk": "Could not load Passkeys",
"profile.err_username_required": "Username is required",
"profile.ok_saved": "Profile updated",
"profile.err_save": "Could not save",
"profile.err_pk_disabled_global": "Passkeys are disabled in global settings",
"profile.err_pk_browser": "Passkeys not supported in this browser",
"profile.err_pk_need_name": "Enter a name for this passkey",
"profile.err_pk_begin": "Could not start registration",
"profile.err_pk_finish": "Registration failed",
"profile.ok_pk_registered": "Passkey registered",
"profile.confirm_remove_pk": "Delete this Passkey? You will be logged out.",
"profile.warn_pk_removed": "Passkey removed",
"profile.err_pk_remove": "Could not remove",
"profile.prompt_pk_name": "Passkey name",
"profile.ok_name_updated": "Name updated",
"profile.err_rename": "Could not rename",
"users.pk_suspended": "Account suspended. Re-enable to manage Passkeys.",
"users.pk_disabled_global": "Passkeys disabled under Global Settings (Passkeys toggle).",
"users.pk_none_row": "No Passkeys registered",
"users.role_admin_badge": "Admin",
"users.role_user_badge": "User",
"users.state_active": "Active",
"users.state_suspended": "Suspended",
"users.btn_demote_admin": "Revoke admin",
"users.btn_promote_admin": "Make admin",
"users.account_yours": "Your account",
"users.btn_revoke": "Revoke",
"users.btn_revoke_title": "Clear all persisted sessions for this user",
"users.btn_suspend": "Suspend",
"users.btn_activate": "Activate",
"users.btn_suspend_title_block": "Block sign-in until reactivated",
"users.btn_suspend_title_allow": "Allow sign-in",
"users.btn_edit": "Edit",
"users.btn_edit_title": "Edit user",
"users.passkeys_for": "Passkeys · ",
"users.pk_placeholder_short": "Label (e.g. MacBook, YubiKey)",
"users.pk_add_inline": "Add passkey",
"users.empty_search": "No users or nothing matches filters.",
"users.err_load_users": "Could not load users",
"users.key_single": "key",
"users.key_plural": "keys",
"users.rename_tooltip": "Rename",
"users.delete_pk_tooltip": "Delete passkey",
"users.err_new_user_pass": "Username and password are required",
"users.ok_user_created": "User created",
"users.err_generic_short": "Error",
"users.err_username_req": "Username is required",
"users.ok_user_updated": "User updated",
"users.del_body_fmt": "«{display}» (@{username}) will be deleted along with all Passkeys.",
"users.ok_user_deleted": "User deleted",
"users.self_promote_hint": "Ask another administrator to change your admin role.",
"users.ok_promoted_admin": "User promoted to administrator",
"users.ok_demoted_admin": "Administrator role removed",
"users.confirm_revoke_fmt": "Revoke every stored session for «@{username}»? They must sign in again.",
"users.ok_sessions_revoked": "Sessions revoked",
"users.confirm_suspend_fmt": "Suspend «@{username}»? Sign-in stays blocked until reactivated.",
"users.ok_state_updated": "State updated",
"users.err_pk_need_name_inline": "Enter a name for this passkey",
"users.err_pk_disabled": "Passkeys disabled in global settings",
"users.err_pk_browser_inline": "Passkeys unsupported in this browser",
"users.ok_pk_registered": "Passkey registered",
"users.confirm_del_pk_other": "Remove this Passkey? That user's active sessions end.",
"users.ok_rename_pk": "Label updated",
"settings.lang_opt_es": "Spanish",
"settings.lang_opt_en": "English",
"settings.lang_reload_hint": "Reload the page after clicking «Apply config» in the top bar for the selected language to take effect.",
"settings.dns_tags_add": "Add",
"settings.passkeys_label": "Passkeys",
"profile.pk_section_title": "Passkeys"
}