Files
fail2ban-ui/internal/locales/en.json

384 lines
24 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.
{
"page.title": "Fail2ban UI Dashboard",
"nav.dashboard": "Dashboard",
"nav.filter_debug": "Filter Debug",
"nav.settings": "Settings",
"restart_banner.message": "Fail2ban configuration changed. To apply the changes, please ",
"restart_banner.button": "Restart Service",
"restart_banner.restart_success": "Fail2ban service restarted and passed health check",
"restart_banner.reload_success": "Fail2ban configuration reloaded successfully (no systemd service restart)",
"dashboard.title": "Dashboard",
"dashboard.overview": "Overview active Jails and Blocks",
"dashboard.overview_hint": "Use the search to filter banned IPs and click a jail to edit its configuration.",
"dashboard.search_label": "Search Banned IPs",
"dashboard.search_placeholder": "Enter IP address to search",
"dashboard.external_ip": "Your ext. IP:",
"dashboard.manage_servers": "Manage Servers",
"dashboard.no_servers_title": "No Fail2ban servers configured",
"dashboard.no_servers_body": "Add a server to start monitoring and controlling Fail2ban instances.",
"dashboard.loading_summary": "Loading summary data…",
"dashboard.errors.summary_failed": "Failed to load summary from server.",
"dashboard.no_enabled_servers_title": "No active connectors",
"dashboard.no_enabled_servers_body": "Enable the local connector or register a remote Fail2ban server to see live data.",
"dashboard.cards.active_jails": "Active Jails",
"dashboard.cards.total_banned": "Total Banned IPs",
"dashboard.cards.new_last_hour": "New Last Hour",
"dashboard.cards.total_logged": "Stored Ban Events",
"dashboard.cards.recurring_week": "Recurring IPs (7 days)",
"dashboard.cards.recurring_hint": "Watch repeated offenders detected in the last seven days.",
"dashboard.table.jail_name": "Jail Name",
"dashboard.table.total_banned": "Total Banned",
"dashboard.table.new_last_hour": "New Last Hour",
"dashboard.table.banned_ips": "Banned IPs (Unban)",
"dashboard.no_jails": "No jails found.",
"dashboard.overview_detail": "The lists must not expanded to search for an IP.",
"dashboard.table.time": "Time",
"dashboard.table.jail": "Jail",
"dashboard.table.ip": "IP",
"dashboard.table.log_line": "Log Line",
"dashboard.no_banned_ips": "No banned IPs",
"dashboard.unban": "Unban",
"dashboard.manual_block.title": "Manual Block IP",
"dashboard.manual_block.subtitle": "Manually block an IP address in a specific jail.",
"dashboard.manual_block.expand_hint": "Click to expand and block an IP address",
"dashboard.manual_block.jail_label": "Select Jail",
"dashboard.manual_block.jail_placeholder": "Choose a jail...",
"dashboard.manual_block.ip_label": "IP Address",
"dashboard.manual_block.ip_placeholder": "e.g., 88.76.21.123",
"dashboard.manual_block.button": "Block IP",
"dashboard.manual_block.confirm": "Block IP {ip} in jail {jail}?",
"dashboard.manual_block.success": "IP blocked successfully",
"dashboard.manual_block.error": "Error blocking IP",
"dashboard.manual_block.jail_required": "Please select a jail",
"dashboard.manual_block.ip_required": "Please enter an IP address",
"dashboard.manual_block.invalid_ip": "Please enter a valid IP address",
"dashboard.banned.show_more": "Show more",
"dashboard.banned.show_less": "Hide extra",
"logs.overview.title": "Internal Log Overview",
"logs.overview.subtitle": "Events stored by Fail2ban-UI across all connectors.",
"logs.overview.refresh": "Refresh data",
"logs.overview.total_events": "Total stored events",
"logs.overview.per_server": "Events per server",
"logs.overview.recent_events_title": "Recent stored events",
"logs.overview.recent_empty": "No stored events found.",
"logs.overview.empty": "No ban events recorded yet.",
"logs.overview.open_insights": "Open insights",
"logs.overview.total_today": "Today",
"logs.overview.total_week": "Last 7 days",
"logs.overview.per_server_empty": "No per-server data available yet.",
"logs.overview.recent_filtered_empty": "No stored events match the current filters.",
"logs.overview.recent_count_label": "Events shown",
"logs.overview.country_unknown": "Unknown",
"logs.overview.last_seen": "Last seen",
"logs.table.server": "Server",
"logs.table.count": "Count",
"logs.table.jail": "Jail",
"logs.table.ip": "IP",
"logs.table.time": "Time",
"logs.table.country": "Country",
"logs.table.actions": "Actions",
"logs.actions.whois": "Whois",
"logs.actions.logs": "Logs",
"logs.search.label": "Search events",
"logs.search.placeholder": "Search IP, jail or server",
"logs.search.country_label": "Country",
"logs.search.country_all": "All countries",
"logs.search.country_unknown": "Unknown",
"logs.badge.recurring": "Recurring",
"logs.modal.whois_title": "Whois Information",
"logs.modal.logs_title": "Logs",
"logs.modal.jail": "Jail",
"logs.modal.insights_title": "Ban Insights",
"logs.modal.insights_description": "Country distribution and recurring offenders.",
"logs.modal.insights_countries": "Bans by country",
"logs.modal.insights_countries_empty": "No bans recorded for this period.",
"logs.modal.insights_countries_hint": "Top origins for the selected time range.",
"logs.modal.insights_recurring_hint": "IP addresses repeatedly triggering Fail2ban.",
"logs.modal.total_overall_note": "Lifetime bans recorded",
"logs.modal.total_today_note": "Last 24 hours",
"logs.modal.total_week_note": "Weekly activity",
"logs.modal.insights_recurring": "Recurring IPs",
"logs.modal.insights_recurring_empty": "No recurring IPs detected.",
"filter_debug.title": "Filter Debug",
"filter_debug.select_filter": "Select a Filter",
"filter_debug.filter_content": "Filter Content",
"filter_debug.filter_content_hint": "Edit the filter regex below for testing. Changes are temporary and not saved.",
"filter_debug.filter_content_hint_readonly": "Filter content is shown read-only. Click 'Edit' to modify for testing. Changes are temporary and not saved.",
"filter_debug.edit_filter": "Edit",
"filter_debug.cancel_edit": "Cancel",
"filter_debug.log_lines": "Log Lines",
"filter_debug.log_lines_placeholder": "Enter log lines here...",
"filter_debug.test_filter": "Test Filter",
"filter_debug.test_results_title": "Test Results",
"filter_debug.no_matches": "No matches found.",
"settings.title": "Settings",
"settings.general": "General Settings",
"settings.language": "Language",
"settings.server_port": "Server Port",
"settings.server_port_placeholder": "e.g., 8080",
"settings.port_env_set": "Port is set via PORT environment variable:",
"settings.port_env_hint": "To change the port via Web UI, remove the PORT environment variable and restart the container.",
"settings.port_restart_hint": "⚠️ Port changes require a container restart to take effect.",
"settings.enable_debug": "Enable Debug Log",
"settings.enable_console": "Enable Console Output",
"settings.console.title": "Console Output",
"settings.console.clear": "Clear",
"settings.console.save_hint": "Please save your settings first before logs will be displayed here.",
"settings.alert": "Alert Settings",
"settings.callback_url": "Fail2ban Callback URL",
"settings.callback_url_placeholder": "http://127.0.0.1:8080",
"settings.callback_url_hint": "This URL is used by all Fail2Ban instances to send ban alerts back to Fail2Ban UI. For local deployments, use the same port as Fail2Ban UI (e.g., http://127.0.0.1:8080). For reverse proxy setups, use your TLS-encrypted endpoint (e.g., https://fail2ban.example.com).",
"settings.callback_secret": "Fail2ban Callback URL Secret",
"settings.callback_secret_placeholder": "Auto-generated 42-character secret",
"settings.callback_secret.description": "This secret is used to authenticate ban API requests. It is automatically included to the fail2ban action configuration.",
"settings.destination_email": "Destination Email (Alerts Receiver)",
"settings.destination_email_placeholder": "alerts@swissmakers.ch",
"settings.alert_countries": "Alert Countries",
"settings.alert_countries_description": "Choose the countries for which you want to receive email alerts when a block is triggered.",
"settings.email_alerts": "Email Alert Preferences",
"settings.email_alerts_for_bans": "Enable email alerts for bans",
"settings.email_alerts_for_unbans": "Enable email alerts for unbans",
"settings.smtp": "SMTP Configuration",
"settings.smtp_host": "SMTP Host",
"settings.smtp_host_placeholder": "e.g., smtp.gmail.com",
"settings.smtp_port": "SMTP Port",
"settings.smtp_username": "SMTP Username",
"settings.smtp_username_placeholder": "e.g., user@example.com",
"settings.smtp_password": "SMTP Password",
"settings.smtp_password_placeholder": "Enter SMTP Password",
"settings.smtp_sender": "Sender Email",
"settings.smtp_sender_placeholder": "noreply@swissmakers.ch",
"settings.smtp_tls": "Use TLS (Recommended)",
"settings.send_test_email": "Send Test Email",
"settings.fail2ban": "Global Default Fail2Ban Configurations",
"settings.fail2ban.description": "These settings will be applied to all enabled Fail2Ban servers and stored in their jail.local [DEFAULT] section.",
"settings.enable_bantime_increment": "Enable Bantime Increment",
"settings.enable_bantime_increment.description": "If set to true, the bantime will be calculated using the formula: bantime = findtime * (number of failures / maxretry) * (1 + bantime.rndtime).",
"settings.default_jail_enable": "Enable Jails by Default",
"settings.default_jail_enable.description": "If enabled, all jails will be enabled by default. When disabled, jails must be explicitly enabled.",
"settings.default_bantime": "Default Bantime",
"settings.default_bantime.description": "The number of seconds that a host is banned. Time format: 1m = 1 minutes, 1h = 1 hour, 1d = 1 day, 1w = 1 week, 1mo = 1 month, 1y = 1 year.",
"settings.default_bantime_placeholder": "e.g., 48h",
"settings.banaction": "Banaction",
"settings.banaction.description": "Default banning action (e.g. iptables-multiport, iptables-allports, firewallcmd-multiport, etc). It is used to define action_* variables.",
"settings.banaction_allports": "Banaction Allports",
"settings.banaction_allports.description": "Banning action for all ports (e.g. iptables-allports, firewallcmd-allports, etc). Used when a jail needs to ban all ports instead of specific ones.",
"settings.default_findtime": "Default Findtime",
"settings.default_findtime.description": "A host is banned if it has generated 'maxretry' failures during the last 'findtime' seconds. Time format: 1m = 1 minutes, 1h = 1 hours, 1d = 1 days, 1w = 1 week, 1mo = 1 month, 1y = 1 year.",
"settings.default_findtime_placeholder": "e.g., 30m",
"settings.default_max_retry": "Default Max Retry",
"settings.default_max_retry.description": "Number of failures before a host gets banned.",
"settings.default_max_retry_placeholder": "Enter maximum retries",
"settings.geoip_provider": "GeoIP Provider",
"settings.geoip_provider.description": "Choose the GeoIP lookup provider. MaxMind requires a local database file, while Built-in uses a free online API.",
"settings.geoip_provider.maxmind": "MaxMind (Local Database)",
"settings.geoip_provider.builtin": "Built-in (ip-api.com)",
"settings.geoip_database_path": "GeoIP Database Path",
"settings.geoip_database_path.description": "Path to the MaxMind GeoLite2-Country database file.",
"settings.max_log_lines": "Maximum Log Lines",
"settings.max_log_lines.description": "Maximum number of log lines to include in ban notifications. Most relevant lines are selected automatically.",
"settings.ignore_ips": "Ignore IPs",
"settings.ignore_ips.description": "Space separated list of IP addresses, CIDR masks or DNS hosts. Fail2ban will not ban a host which matches an address in this list.",
"settings.ignore_ips_placeholder": "IPs to ignore, separated by spaces",
"settings.advanced.title": "Advanced Actions for Recurring Offenders",
"settings.advanced.description": "Automatically synchronize recurring offenders to an external firewall or blocklist.",
"settings.advanced.refresh_log": "Refresh Log",
"settings.advanced.test_button": "Manually Block / Test",
"settings.advanced.enable": "Enable automatic permanent blocking",
"settings.advanced.threshold": "Threshold before permanent block",
"settings.advanced.threshold_hint": "Once an IP reaches this number of bans it will be forwarded to the integration.",
"settings.advanced.integration": "Integration",
"settings.advanced.integration_none": "Select integration",
"settings.advanced.integration_hint": "Choose the firewall or appliance where permanent bans should be created.",
"settings.advanced.mikrotik.note": "Provide SSH access to your Mikrotik router and the address list that should contain blocked IPs.",
"settings.advanced.mikrotik.host": "Host",
"settings.advanced.mikrotik.port": "Port",
"settings.advanced.mikrotik.username": "SSH Username",
"settings.advanced.mikrotik.password": "SSH Password",
"settings.advanced.mikrotik.key": "SSH Key Path (optional)",
"settings.advanced.mikrotik.list": "Address List Name",
"settings.advanced.pfsense.note": "Requires the pfSense REST API package. Enter the API key and alias to manage.",
"settings.advanced.pfsense.install_link": "Install REST API Package",
"settings.advanced.pfsense.api_key_setup": "Setup API Key",
"settings.advanced.pfsense.base_url": "Base URL",
"settings.advanced.pfsense.token": "API Key",
"settings.advanced.pfsense.token_hint": "Generate in System > REST API > Keys in pfSense webConfigurator",
"settings.advanced.pfsense.alias": "Alias Name",
"settings.advanced.pfsense.skip_tls": "Skip TLS verification (self-signed)",
"settings.advanced.opnsense.note": "Enter the OPNsense API credentials and alias to manage.",
"settings.advanced.opnsense.api_docs": "API Documentation",
"settings.advanced.opnsense.api_key_setup": "Setup API Key",
"settings.advanced.opnsense.base_url": "Base URL",
"settings.advanced.opnsense.key": "API Key",
"settings.advanced.opnsense.key_hint": "Generate in System > Access > Users > API Keys",
"settings.advanced.opnsense.secret": "API Secret",
"settings.advanced.opnsense.secret_hint": "Generate together with API key",
"settings.advanced.opnsense.alias": "Alias Name",
"settings.advanced.opnsense.skip_tls": "Skip TLS verification (self-signed)",
"settings.advanced.log_title": "Permanent Block Log",
"settings.advanced.log_empty": "No permanent blocks recorded yet.",
"settings.advanced.log_ip": "IP",
"settings.advanced.log_integration": "Integration",
"settings.advanced.log_status": "Status",
"settings.advanced.log_message": "Message",
"settings.advanced.log_server": "Server",
"settings.advanced.log_updated": "Updated",
"settings.advanced.log_actions": "Actions",
"settings.advanced.unblock_btn": "Remove",
"settings.advanced.test_title": "Manually Block / Test",
"settings.advanced.test_ip": "IP address",
"settings.advanced.test_server": "Optional server",
"settings.advanced.test_server_none": "Use global integration settings",
"settings.advanced.test_block": "Block IP",
"settings.advanced.test_unblock": "Remove IP",
"settings.save": "Save",
"modal.filter_config": "Filter / Jail Configuration:",
"modal.filter_config_edit": "Edit Filter / Jail",
"modal.filter_config_label": "Filter Configuration",
"modal.filter_config_hint": "If left empty, an empty filter file will be created.",
"modal.filter_name": "Filter Name",
"modal.filter_name_hint": "Only alphanumeric characters, dashes, and underscores are allowed.",
"modal.jail_config": "Jail Configuration",
"modal.jail_config_hint": "Jail configuration will be auto-populated when you select a filter.",
"modal.jail_config_label": "Jail Configuration",
"modal.jail_filter": "Filter (optional)",
"modal.jail_filter_hint": "Selecting a filter will auto-populate the jail configuration.",
"modal.jail_name": "Jail Name",
"modal.jail_name_hint": "Only alphanumeric characters, dashes, and underscores are allowed.",
"modal.test_logpath": "Test Logpath",
"modal.local_server_logpath_note": " Note:",
"modal.local_server_logpath_text_prefix": "For a local fail2ban server (e.g. installed on container host system or in a container on same host), log files must also be mounted to the fail2ban-ui container (e.g.,",
"modal.local_server_logpath_text_suffix": ") this is required so that the fail2ban-ui can verify logpath variables or paths when updating jails.",
"modal.create": "Create",
"modal.create_filter": "Create New Filter",
"modal.create_filter_title": "Create New Filter",
"modal.create_jail": "Create New Jail",
"modal.create_jail_title": "Create New Jail",
"modal.cancel": "Cancel",
"modal.save": "Save",
"modal.close": "Close",
"loading": "Loading...",
"dashboard.manage_jails": "Manage Jails",
"modal.manage_jails_title": "Manage Jails",
"servers.selector.label": "Active Server",
"servers.selector.empty": "No servers configured",
"servers.selector.none": "No server configured. Please add a Fail2ban server.",
"servers.modal.title": "Manage Fail2ban Servers",
"servers.modal.description": "Register remote Fail2ban instances and choose how the UI connects to them.",
"servers.modal.list_title": "Registered Servers",
"servers.modal.list_empty": "No servers configured yet. Add your first Fail2ban server using the form on the right.",
"servers.modal.form_title": "Add or Update Server",
"servers.form.name": "Display Name",
"servers.form.name_placeholder": "My Fail2ban server",
"servers.form.type": "Connection Type",
"servers.type.local": "Local (same host)",
"servers.type.ssh": "SSH",
"servers.type.agent": "API Agent",
"servers.form.host": "Hostname / IP",
"servers.form.host_placeholder": "fail2ban.example.com",
"servers.form.port": "Port",
"servers.form.port_placeholder": "22",
"servers.form.socket_path": "Fail2ban Socket Path",
"servers.form.socket_path_placeholder": "/var/run/fail2ban/fail2ban.sock",
"servers.form.log_path": "Fail2ban Log Path",
"servers.form.log_path_placeholder": "/var/log/fail2ban.log",
"servers.form.hostname": "Server Hostname",
"servers.form.hostname_placeholder": "optional",
"servers.form.ssh_user": "SSH User",
"servers.form.ssh_user_placeholder": "sa_fail2ban",
"servers.form.ssh_key": "SSH Private Key Path",
"servers.form.ssh_key_placeholder": "/config/.ssh/id_rsa",
"servers.form.ssh_key_help": "Place your SSH private key in the /config/.ssh/ directory (mounted config volume). The key file must have permissions 600 (chmod 600). Example: /config/.ssh/id_rsa",
"servers.form.agent_url": "Agent URL",
"servers.form.agent_url_placeholder": "https://host:9443",
"servers.form.agent_secret": "Agent Secret",
"servers.form.agent_secret_placeholder": "shared secret token",
"servers.form.tags": "Tags",
"servers.form.tags_placeholder": "comma,separated,tags",
"servers.form.set_default": "Set as default server",
"servers.form.enabled": "Enable connector",
"servers.form.submit": "Save Server",
"servers.form.reset": "Reset",
"servers.form.new_server": "New Server",
"servers.form.success": "Server saved successfully.",
"servers.badge.default": "Default",
"servers.badge.enabled": "Enabled",
"servers.badge.disabled": "Disabled",
"servers.badge.restart_needed": "Restart required",
"servers.actions.edit": "Edit",
"servers.actions.set_default": "Set default",
"servers.actions.enable": "Enable",
"servers.actions.disable": "Disable",
"servers.actions.test": "Test connection",
"servers.actions.test_success": "Connection successful",
"servers.actions.test_failure": "Connection failed",
"servers.actions.restart": "Restart Fail2ban",
"servers.actions.reload": "Reload Fail2ban",
"servers.actions.reload_tooltip": "For local connectors, only a configuration reload is possible via the socket connection. The container cannot restart the Fail2ban service using systemctl. To perform a full restart, run 'systemctl restart fail2ban' directly on the host system.",
"servers.actions.delete": "Delete",
"servers.actions.delete_confirm": "Delete this server entry?",
"servers.form.select_key": "Select Private Key",
"servers.form.select_key_placeholder": "Manual entry",
"servers.form.no_keys": "No SSH keys found; enter path manually",
"filter_debug.not_available": "Filter debug is only available for local connectors.",
"filter_debug.local_missing": "The local Fail2ban filter directory was not found on this host.",
"email.ban.title": "Security alert: Fail2Ban blocked a new IP-address",
"email.ban.intro": "Fail2Ban-UI detected a bad request or repeated authentication failures and automatically blocked the source-IP. Review the metadata and log excerpts below.",
"email.ban.subject.banned": "Banned",
"email.ban.subject.from": "from",
"email.ban.details.banned_ip": "Banned IP",
"email.ban.details.jail": "Jail",
"email.ban.details.hostname": "Hostname",
"email.ban.details.failed_attempts": "Failed attempts",
"email.ban.details.country": "Country",
"email.ban.details.timestamp": "Timestamp",
"email.ban.whois_title": "WHOIS footprint",
"email.ban.logs_title": "Relevant log excerpts",
"email.test.title": "Email delivery test",
"email.test.intro": "This message confirms that your SMTP configuration is working correctly and can deliver HTML formatted emails.",
"email.test.subject": "Test Email from Fail2Ban UI",
"email.test.details.recipient": "Recipient",
"email.test.details.smtp_host": "SMTP host",
"email.test.details.triggered_at": "Triggered at",
"email.test.whois_no_data": "No WHOIS lookup is executed for test emails.",
"email.test.sample_logs": "2025-01-01T12:00:00Z Sample log entry of Fail2ban-UI.",
"email.whois.no_data": "WHOIS data was not captured for this event.",
"email.logs.no_data": "No log entries were captured for this block.",
"email.footer.text": "This message was generated automatically by Fail2Ban-UI",
"email.unban.title": "IP Address Unbanned",
"email.unban.intro": "An IP address has been unbanned from a Fail2Ban jail.",
"email.unban.subject.unbanned": "Unbanned",
"email.unban.subject.from": "from",
"email.unban.details.unbanned_ip": "Unbanned IP",
"email.unban.details.jail": "Jail",
"email.unban.details.hostname": "Hostname",
"email.unban.details.country": "Country",
"email.unban.details.timestamp": "Timestamp",
"lotr.email.title": "A Dark Servant Has Been Banished",
"lotr.email.intro": "The guardians of Middle-earth have detected a threat and banished it from the realm.",
"lotr.email.you_shall_not_pass": "YOU SHALL NOT PASS",
"lotr.email.footer": "May the servers be protected. One ban to rule them all.",
"lotr.email.details.dark_servant_location": "The Dark Servant's Location",
"lotr.email.details.realm_protection": "The Realm of Protection",
"lotr.email.details.origins": "Origins from the",
"lotr.email.details.banished_at": "Banished at the",
"lotr.email.unban.title": "The held prisoner has been released",
"lotr.email.unban.intro": "The guardians of Middle-earth have restored access to the realm.",
"lotr.email.unban.details.restored_ip": "Restored IP",
"lotr.banished": "Banished from the realm",
"lotr.realms_protected": "Realms Protected",
"lotr.threats_banished": "Threats Banished",
"toast.ban.title": "New block occurred",
"toast.ban.action": "banned in",
"toast.unban.title": "IP unblocked",
"toast.unban.action": "unblocked from",
"auth.login_title": "Sign in to Fail2ban UI",
"auth.login_description": "Please authenticate to access the management interface",
"auth.login_button": "Sign in with OIDC",
"auth.logging_in": "Redirecting to login...",
"auth.logout": "Logout",
"auth.user_info": "User Information",
"auth.session_expired": "Your session has expired. Please log in again.",
"auth.login_required": "Authentication required"
}