##\
# This file is a part of the CIDRAM package.
# Homepage: https://cidram.github.io/
#
# CIDRAM COPYRIGHT 2016 and beyond by Caleb Mazalevskis (Maikuolan).
#
# License: GNU/GPLv2
# @see LICENSE.txt
#
# This file: English language data for the front-end (last modified: 2026.03.22).
##/

Abuse category: !lazy
 Bad web bot:
  en-AU: "Bad web bot (scraping for email addresses, content, crawlers that don't honour robots.txt, excessive requests, user agent spoofing, etc)."
  en-US: "Bad web bot (scraping for email addresses, content, crawlers that don't honor robots.txt, excessive requests, user agent spoofing, etc)."
 Brute-force attacks: "Brute-force attacks (credential brute-force attacks on webpage logins, SMTP, RDP, etc)."
 Categories (at least one is required): "Categories (at least one is required)"
 CMS blog comment spam: "CMS blog comment spam."
 Conjunctive category: "Conjunctive category (use in combination with other, more specific categories)."
 DDoS attacks: "DDoS attacks (usually part of a botnet)."
 DNS compromise: "DNS compromise (altering DNS records resulting in improper redirection)."
 DNS poisoning: "DNS poisoning."
 Email sender spoofing: "Email sender spoofing."
 Email spam: "Email spam (spam email content, infected attachments, phishing emails, etc)."
 Exploited host: "Exploited host (host is likely infected with malware and being used for other attacks or to host malicious content)."
 FTP brute-force attacks: "FTP brute-force attacks."
 Fraudulent VoIP: "Fraudulent VoIP."
 Fraudulent orders: "Fraudulent orders."
 Hacking: "Hacking."
 IoT targeted: "IoT targeted abuse. Include information about what type of device was targeted in the comments."
 Open proxy, open relay, or tor endpoint: "Open proxy, open relay, or tor endpoint."
 Phishing: "Phishing websites and/or email."
 Ping of death: "Ping of death (oversized IP packet)."
 Port scans: "Port scans (scanning for open ports and vulnerable services)."
 SQL injection: "SQL injection."
 SSH abuse: "SSH abuse."
 VPN IP: "VPN IP."
 Web spam: "Web spam (comment/forum spam, HTTP referrer spam, or other CMS spam)."
 Webapp attacks: "Webapp attacks (probing for vulnerabilities or exploits, or attempting to exploit installed webapps, CMS, or e-commerce solutions, e.g., WordPress, Drupal, phpMyAdmin, etc)."
Extended Description: !lazy
 AbuseIPDB module: "Blocks requests from IPs listed at AbuseIPDB."
 BGPView module: "Leverages the {{Links.BGPView}} API to provide an ASN and country code lookup facility for CIDRAM, enabling ASNs and countries to be blocked or whitelisted via the CIDRAM configuration, and providing a means for social networking verification to verify Facebook requests. (If you use this module, you won't need to use the IP-API module, as they serve the same purpose)."
 Bad TLDs blocker module: "Blocks hosts belonging to TLDs frequently used by spammers, hackers, and other nefarious entities."
 Bad hosts blocker module: "Blocks hosts frequently used by spammers, hackers, and other nefarious entities."
 Bot user agents module: "Blocks user agents associated with unwanted bots and nefarious activity."
 Bypasses: "The default signature bypass files normally included with the main package."
 Cookie scanner module: "Provides some limited protections against dangerous cookies."
 HTTP version checker module: "Makes it possible to block specific protocols and HTTP versions through the CIDRAM configuration."
 IP-API module: "Leverages the {{Links.IP-API}} API to provide an ASN and country code lookup facility for CIDRAM, enabling ASNs and countries to be blocked or whitelisted via the CIDRAM configuration, and providing a means for social networking verification to verify Facebook requests. (If you use this module, you won't need to use the BGPView module, as they serve the same purpose)."
 IPv4: &ExtDesCloud "Blocks unwanted cloud services and non-human endpoints."
 IPv4-Bogons: &ExtDesBogons "Blocks bogon/martian CIDRs."
 IPv4-ISPs: &ExtDesISPs "Blocks dangerous and spammy ISPs (includes multiplay networks, which may contain both human and non-human endpoints)."
 IPv4-Nonblocking: &ExtDesNonblocking "Useful for profiling, but doesn't block anything in its own right."
 IPv4-Other: &ExtDesOther "Blocks CIDRs for proxies, VPNs, and other miscellaneous unwanted services."
 IPv6: *ExtDesCloud
 IPv6-Bogons: *ExtDesBogons
 IPv6-ISPs: *ExtDesISPs
 IPv6-Nonblocking: *ExtDesNonblocking
 IPv6-Other: *ExtDesOther
 Optional security extras module: "Provides some limited protections against various attack vectors commonly used in requests."
 PHPMailer:
  en-AU: "Required for using any functionality that involves sending email.<br />{{Links.PHPMailer.PHPMailer}} is available via the {{Links.PHPMailer.License}} licence."
  en-US: "Required for using any functionality that involves sending email.<br />{{Links.PHPMailer.PHPMailer}} is available via the {{Links.PHPMailer.License}} license."
 Project Honeypot module: "Blocks requests from IPs listed at Project Honeypot."
 Protocol blocker module: "Provides the ability to block specific request protocols via the configuration (e.g., HTTP/0.9, HTTP/1.1, SPDY/3.0, etc)."
 Referrer spam module: "Blocking based on referrer spam won't generally provide any meaningful security benefit, but in some cases, could be useful for some users, for gathering more information about requests, and for being able to report it."
 Stop Forum Spam module: "Protects registration and login pages against IPs listed by SFS."
 Tor blocker module: "Prohibits access from Tor exit nodes through DNSEL lookups (supports both IPv4 and IPv6)."
Name: !lazy
 AbuseIPDB module: "AbuseIPDB module."
 BGPView module: "BGPView module."
 BOBUAM: "Bot or browser user agents module (BOBUAM)."
 Bad TLDs blocker module: "Bad TLDs blocker module."
 Bad hosts blocker module: "Bad hosts blocker module."
 Bot user agents module: "Bot user agents module."
 BunnyCDN compatibility module: "BunnyCDN compatibility module."
 Bypasses: "Default signature bypasses."
 Cookie scanner module: "Optional cookie scanner module."
 HTTP version checker module: "HTTP version checker module."
 IP-API module: "IP-API module."
 IPv4: "IPv4 (cloud and hosting services)."
 IPv4-Bogons: "IPv4 (bogons)."
 IPv4-ISPs: "IPv4 (spammy ISPs)."
 IPv4-Nonblocking: "IPv4 non-blocking signatures."
 IPv4-Other: "IPv4 (proxies, VPNs, etc)."
 IPv6: "IPv6 (cloud and hosting services)."
 IPv6-Bogons: "IPv6 (bogons)."
 IPv6-ISPs: "IPv6 (spammy ISPs)."
 IPv6-Nonblocking: "IPv6 non-blocking signatures."
 IPv6-Other: "IPv6 (proxies, VPNs, etc)."
 Optional security extras module: "Optional security extras module."
 Project Honeypot module: "Project Honeypot module."
 Protocol blocker module: "Protocol blocker module."
 Quic cloud compatibility module: "Quic cloud compatibility module."
 Referrer spam module: "Referrer spam module."
 Stop Forum Spam module: "Stop Forum Spam module."
 Tor blocker module: "Tor blocker module."
bobuam_hint_default_value: "When set to 0, the module will defer to the currently recommended value."
checkbox:
 Allow single-hit bypasses: "Allow single-hit bypasses?"
 Attempt to verify: "Attempt to verify?"
 Block it: "Block it."
 Block negatives: "Block negatives?"
 Block non-verified requests: "Block non-verified requests?"
 Blocked negatives: "Blocked negatives"
 Blocked non-verified: "Blocked non-verified"
 Delete orphaned values: "Delete orphaned values."
 Enable this stage: "Enable this stage?"
 Log any errors generated during this stage: "Log any errors generated during this stage?"
 Omit this field when it_s empty: "Omit this field when it's empty?"
 Profile it: "Profile it."
 Should infractions generated during this stage count towards IP tracking: "Should infractions generated during this stage count towards IP tracking?"
 Should this field appear in log entries: "Should this field appear in log entries?"
 Should this field appear on the access denied page: "Should this field appear on the "access denied" page?"
 Suppress Cloudflare Turnstile: "Suppress Cloudflare Turnstile"
 Suppress Friendly Captcha: "Suppress Friendly Captcha"
 Suppress hCaptcha: "Suppress hCaptcha"
 Test as sensitive request: "Test as sensitive request"
 Untrack positives: "Untrack positives?"
 When blocked, suppress output template: "When blocked, suppress output template."
config: !lazy
 abuseipdb: "Configuration for the AbuseIPDB module."
 abuseipdb_api_key: &EnterAPIKey "Please enter your API key here."
 abuseipdb_build_profiles_from_usage_type: "Build profiles using the usage type returned by the API? False = No. True = Yes. Default = True."
 abuseipdb_max_age_in_days: "The maximum age in days for which reports will be considered when performing lookups (must be a number between 1 and 365). Default = 365."
 abuseipdb_max_cs_for_captcha: "The maximum confidence score allowed for being served a CAPTCHA (must be a number between 0 and 100). Default = 10."
 abuseipdb_minimum_confidence_score: "The minimum confidence score required in order for CIDRAM to block an IP address (must be a number between 0 and 100). Default = 50."
 abuseipdb_minimum_total_reports: "The minimum number of total reports required in order for CIDRAM to block an IP address. Default = 1."
 abuseipdb_report_back:
  en-AU: "Allow CIDRAM to report detected bad behaviour back to AbuseIPDB using your API key?"
  en-US: "Allow CIDRAM to report detected bad behavior back to AbuseIPDB using your API key?"
 bgpview: "Configuration for the BGPView module (provides an ASN and country code lookup facility for CIDRAM)."
 bgpview_blocked_asns: &ConfigBlockedASNs "A list of ASNs to be blocked when matched by the module."
 bgpview_blocked_ccs: &ConfigBlockedCCs "A list of countries (identified by their {{Links.ISO.3166}} 2-digit country codes) to be blocked when matched by the module."
 bgpview_whitelisted_asns: &ConfigWhitelistedASNs "A list of ASNs to be whitelisted when matched by the module."
 bgpview_whitelisted_ccs: &ConfigWhitelistedCCs "A list of countries (identified by their {{Links.ISO.3166}} 2-digit country codes) to be whitelisted when matched by the module."
 bobuam: "Configuration for the optional "bot or browser user agents module", which detects unwanted bots, old browsers, and performs some sanity checks."
 bobuam_chrome: "Lowest allowed version of the "Chrome/Chromium" token. Recommended: {{BOBUAM Token.Chrome}}."
 bobuam_edge: "Lowest allowed version of the "Edg/Edge" token. Recommended: {{BOBUAM Token.Edge}}."
 bobuam_firefox: "Lowest allowed version of the "Firefox" token. Recommended: {{BOBUAM Token.Firefox}}."
 bobuam_firefox_esr: "Allowed version of the "Firefox" token for the ESR version. Recommended: {{BOBUAM Token.Firefox ESR}}."
 bobuam_opera: "Lowest allowed version of the "OPR" token. Recommended: {{BOBUAM Token.Opera}}."
 bobuam_reason_ambiguous: "The block reason shown when an ambiguous user agent string is detected."
 bobuam_reason_bot: "The block reason shown for blocked bots."
 bobuam_reason_browser: "The block reason shown when a browser that is too old gets blocked."
 bobuam_reason_malformed: "The block reason shown when a malformed user agent string is detected."
 bobuam_reason_masquerade: "The block reason shown when an user agent tries to masquerade as something else."
 bobuam_safari: "Lowest allowed version of Safari's "Version" token. Recommended: {{BOBUAM Token.Safari}}."
 bobuam_what_to_block: "What to block?"
 bunnycdn: "BunnyCDN compatibility module configuration."
 bunnycdn_positive_action: "Which action should CIDRAM perform when it encounters a request from BunnyCDN? Default action = Bypass."
 bypasses: "Default signature bypasses configuration."
 bypasses_used: "Which bypasses should be used?"
 captcha: "Configuration for CAPTCHAs (provides a way for humans to regain access when blocked)."
 captcha_api: "Which API to use?"
 captcha_expiry: "Number of hours to remember CAPTCHA instances. Default = 720 (1 month)."
 captcha_friendly_apikey: &FriendlyCred "If you want to use Friendly Captcha with CIDRAM, you'll need to enter a value here. If not, you can ignore it."
 captcha_friendly_sitekey: *FriendlyCred
 captcha_hcaptcha_secret: &HCaptchaCred "If you want to use hCaptcha with CIDRAM, you'll need to enter a value here. If not, you can ignore it."
 captcha_hcaptcha_sitekey: *HCaptchaCred
 captcha_lockto: "What to lock CAPTCHAs to."
 captcha_log: "Log all CAPTCHA attempts? If yes, specify the name to use for the log file. If no, leave this variable blank."
 captcha_messages: "Messages to be displayed alongside CAPTCHAs."
 captcha_nonblocked_status_code: "Which status code should be used when displaying CAPTCHAs to non-blocked requests?"
 captcha_signature_limit: "Maximum number of signatures allowed before the CAPTCHA offer is withdrawn. Default = 1."
 captcha_turnstile_secret: &TurnstileCred "If you want to use Cloudflare Turnstile with CIDRAM, you'll need to enter a value here. If not, you can ignore it."
 captcha_turnstile_sitekey: *TurnstileCred
 captcha_usemode:
  en-AU: "When should CAPTCHAs be offered? You can specify the preferred behaviour for each supported provider here."
  en-US: "When should CAPTCHAs be offered? You can specify the preferred behavior for each supported provider here."
 components:
  en-AU: "Configuration for the activation and the deactivation of the components used by CIDRAM. Typically populated by the updates page, but can also be managed from here for finer control and for custom components not recognised by the updates page."
  [en-CA, en-US]: "Configuration for the activation and the deactivation of the components used by CIDRAM. Typically populated by the updates page, but can also be managed from here for finer control and for custom components not recognized by the updates page."
 components_events: "Event handlers. Typically used to modify the way CIDRAM behaves internally or to provide additional functionality."
 components_imports: "Imports. Typically used to supply a component's configuration information to CIDRAM."
 components_ipv4: "IPv4 signature files."
 components_ipv6: "IPv6 signature files."
 components_modules: "Modules."
 experimental: "Unstable/Experimental!"
 extras: "Optional security extras module configuration."
 extras_remove_headers: "Remove headers which are unnecessary and known to be potentially useful for attackers."
 extras_signatures:
  en-AU: "Which types of signatures should be honoured?"
  en-US: "Which types of signatures should be honored?"
 extras_signatures_empty_ua: "Empty user agents."
 extras_signatures_query: "Signatures based on request queries."
 extras_signatures_raw: "Signatures based on raw request input."
 extras_signatures_ruri: "Signatures based on reconstructed URIs."
 frontend: "Configuration for the front-end."
 frontend_custom_footer: "Inserted as HTML at the very bottom of all front-end pages. This could be useful in case you want to include a legal notice, contact link, business information, or similar at all such pages."
 frontend_custom_header:
  en-AU: "Inserted as HTML at the very beginning of all front-end pages. This could be useful in case you want to include a website logo, personalised header, scripts, or similar at all such pages."
  [en-CA, en-US]: "Inserted as HTML at the very beginning of all front-end pages. This could be useful in case you want to include a website logo, personalized header, scripts, or similar at all such pages."
 frontend_enable_two_factor: "This directive determines whether to use 2FA for front-end accounts."
 frontend_frontend_log: "File for logging front-end login attempts. Specify a filename, or leave blank to disable."
 frontend_magnification: &MagnifDesc "Font magnification. Default = 1."
 frontend_max_login_attempts: "Maximum number of front-end login attempts. Default = 5."
 frontend_remotes: "A list of the addresses used by the updater to fetch component metadata. This may need to be adjusted when upgrading to a new major version, or when acquiring a new source for updates, but under normal circumstances should be left alone."
 frontend_signatures_update_event_log: "A file for logging when signatures are updated via the front-end. Specify a filename, or leave blank to disable."
 frontend_theme: "The theme to use for the front-end."
 frontend_theme_mode: "The mode for the theme to use for the front-end."
 general: "General configuration (any core configuration not belonging to other categories)."
 general_allow_gethostbyaddr_lookup: "Allow gethostbyaddr lookups when UDP is unavailable? True = Yes [Default]; False = No."
 general_default_algo: "Defines which algorithm to use for all future passwords and sessions."
 general_default_dns: "A list of DNS servers to use for hostname lookups. WARNING: Don't change this unless you know what you're doing!"
 general_default_timeout: "Default timeout to use for external requests? Default = 12 seconds."
 general_disabled_channels: "This can be used to prevent CIDRAM from using particular channels when sending requests (e.g., when updating, when fetching component metadata, etc)."
 general_email_notification_address: "If you've opted to receive notifications from CIDRAM via email, e.g., when specific auxiliary rules are triggered, you can specify the recipient address for those notifications here."
 general_email_notification_name: "If you've opted to receive notifications from CIDRAM via email, e.g., when specific auxiliary rules are triggered, you can specify the recipient name for those notifications here."
 general_email_notification_when: "When to send notifications after being generated."
 general_emailaddr: "If you wish, you can supply an email address here to be given to users when they're blocked, for them to use as a point of contact for support and/or assistance for in the event of them being blocked mistakenly or in error. WARNING: Whatever email address you supply here will most certainly be acquired by spambots and scrapers during the course of its being used here, and so, it's strongly recommended that if you choose to supply an email address here, that you ensure that the email address you supply here is a disposable address and/or an address that you don't mind being spammed (in other words, you probably don't want to use your primary personal or primary business email addresses)."
 general_emailaddr_display_style: "How would you prefer the email address to be presented to users?"
 general_fields: "Controls for the fields during block events (when a request is blocked)."
 general_force_hostname_lookup: "Force hostname lookups? True = Yes; False = No [Default]. Hostname lookups are normally performed on an "as needed" basis, but can be forced for all requests. Doing so may be useful as a means of providing more detailed information in the log files, but may also have a slightly negative effect on performance."
 general_http_response_header_code: "Which HTTP status message should CIDRAM send when blocking requests?"
 general_ipaddr: "Where to find the IP address of connecting requests? (Useful for services such as Cloudflare). Default = REMOTE_ADDR. WARNING: Don't change this unless you know what you're doing!"
 general_lang: "Specify the default language for CIDRAM."
 general_lang_override:
  en-AU: "Localise according to HTTP_ACCEPT_LANGUAGE whenever possible? True = Yes [Default]; False = No."
  [en-CA, en-US]: "Localize according to HTTP_ACCEPT_LANGUAGE whenever possible? True = Yes [Default]; False = No."
 general_numbers: "How do you prefer numbers to be displayed? Select the example that looks the most correct to you."
 general_request_proxy: "If you want outbound requests to be sent through a proxy, specify that proxy here. If not, leave this blank."
 general_request_proxyauth: "If sending outbound requests through a proxy and if that proxy requires a username and password, specify that username and password here (e.g., <code>user:pass</code>). If not, leave this blank."
 general_sensitive: "A list of paths to regard as sensitive pages. Each path listed will be checked against the reconstructed URI when needed. A path which begins with a forward slash will be treated as a literal, and matched from the path component of the request onward. Otherwise, a path which begins with a non-alphanumeric character, and ends with that same character (or that same character plus an optional "i" flag) will be treated as a regular expression. Any other kind of path will be treated as a literal, and can match from any part of the URI. Whether a path is regarded as a sensitive page may affect how some modules behave, but doesn't have any effect otherwise."
 general_silent_mode: "Should CIDRAM silently redirect blocked access attempts instead of displaying the "access denied" page? If yes, specify the location to redirect blocked access attempts to. If no, leave this variable blank."
 general_silent_mode_response_header_code: "Which HTTP status message should CIDRAM send when silently redirecting blocked access attempts?"
 general_stages: "Controls for the stages of the execution chain (whether enabled, whether errors are logged, etc)."
 general_statistics: "Controls which statistical information to track."
 general_statistics_captchas: "Controls which statistical information to track for CAPTCHAs."
 general_time_format: "The date/time notation format used by CIDRAM. Additional options may be added upon request."
 general_time_offset: "Timezone offset in minutes."
 general_timezone: "This is used to specify the timezone to use (e.g., Africa/Cairo, America/New_York, Asia/Tokyo, Australia/Perth, Europe/Berlin, Pacific/Guam, etc). Specify "SYSTEM" to let PHP handle this for you automatically."
 ipapi: "Configuration for the IP-API module (provides an ASN and country code lookup facility for CIDRAM)."
 ipapi_blocked_asns: *ConfigBlockedASNs
 ipapi_blocked_ccs: *ConfigBlockedCCs
 ipapi_whitelisted_asns: *ConfigWhitelistedASNs
 ipapi_whitelisted_ccs: *ConfigWhitelistedCCs
 legal: "Configuration for legal requirements."
 legal_privacy_policy: "The address of a relevant privacy policy to be displayed in the footer of any generated pages. Specify a URL, or leave blank to disable."
 legal_pseudonymise_ip_addresses:
  en-AU: "Pseudonymise IP addresses when logging? True = Yes [Default]; False = No."
  [en-CA, en-US]: "Pseudonymize IP addresses when logging? True = Yes [Default]; False = No."
 logging: "Configuration related to logging (excluding that applicable to other categories)."
 logging_apache_style_log: "Apache-style file for logging all blocked access attempts. Specify a filename, or leave blank to disable."
 logging_error_log: "A file for logging any non-fatal errors detected. Specify a filename, or leave blank to disable."
 logging_log_banned_ips: "Include blocked requests from banned IPs in logs? True = Yes [Default]; False = No."
 logging_log_rotation_action: "Log rotation limits the number of log files that should exist at any one time. When new log files are created, if the total number of log files exceeds the specified limit, the specified action will be performed. You can specify the desired action here."
 logging_log_rotation_limit: "Log rotation limits the number of log files that should exist at any one time. When new log files are created, if the total number of log files exceeds the specified limit, the specified action will be performed. You can specify the desired limit here. A value of 0 will disable log rotation."
 logging_log_sanitisation:
  en-AU: "When using the front-end logs page to view log data, CIDRAM sanitises the log data before displaying it, to protect users from XSS attacks and other potential threats that log data could contain. However, by default, data isn't sanitised during logging. This is to ensure that log data is preserved accurately, to aid any heuristic or forensic analysis that might be necessary in the future. However, in the event that a user attempts to read log data using external tools, and if those external tools don't perform their own sanitisation process, the user could be exposed to XSS attacks. If necessary, you can change the default behaviour using this configuration directive. True = Sanitise data when logging it (data is preserved less accurately, but XSS risk is lower). False = Don't sanitise data when logging it (data is preserved more accurately, but XSS risk is higher) [Default]."
  en-CA: "When using the front-end logs page to view log data, CIDRAM sanitizes the log data before displaying it, to protect users from XSS attacks and other potential threats that log data could contain. However, by default, data isn't sanitized during logging. This is to ensure that log data is preserved accurately, to aid any heuristic or forensic analysis that might be necessary in the future. However, in the event that a user attempts to read log data using external tools, and if those external tools don't perform their own sanitisation process, the user could be exposed to XSS attacks. If necessary, you can change the default behaviour using this configuration directive. True = Sanitize data when logging it (data is preserved less accurately, but XSS risk is lower). False = Don't sanitize data when logging it (data is preserved more accurately, but XSS risk is higher) [Default]."
  en-US: "When using the front-end logs page to view log data, CIDRAM sanitizes the log data before displaying it, to protect users from XSS attacks and other potential threats that log data could contain. However, by default, data isn't sanitized during logging. This is to ensure that log data is preserved accurately, to aid any heuristic or forensic analysis that might be necessary in the future. However, in the event that a user attempts to read log data using external tools, and if those external tools don't perform their own sanitisation process, the user could be exposed to XSS attacks. If necessary, you can change the default behavior using this configuration directive. True = Sanitize data when logging it (data is preserved less accurately, but XSS risk is lower). False = Don't sanitize data when logging it (data is preserved more accurately, but XSS risk is higher) [Default]."
 logging_outbound_request_log: "A file for logging the results of any outbound requests. Specify a filename, or leave blank to disable."
 logging_report_log: "A file for logging any reports sent to external APIs. Specify a filename, or leave blank to disable."
 logging_serialised_log:
  en-AU: "Serialised file for logging all blocked access attempts. Specify a filename, or leave blank to disable."
  [en-CA, en-US]: "Serialized file for logging all blocked access attempts. Specify a filename, or leave blank to disable."
 logging_standard_log: "Human-readable file for logging all blocked access attempts. Specify a filename, or leave blank to disable."
 logging_truncate: "Truncate log files when they reach a certain size? Value is the maximum size in B/KB/MB/GB/TB that a log file may grow to before being truncated. The default value of 0KB disables truncation (log files can grow indefinitely). Note: Applies to individual log files! The size of log files is not considered collectively."
 phpmailer: "Configuration for PHPMailer (used for two-factor authentication and for email notifications)."
 phpmailer_add_reply_to_address: "The reply address to cite when sending email via SMTP."
 phpmailer_add_reply_to_name: "The reply name to cite when sending email via SMTP."
 phpmailer_event_log: "A file for logging all events in relation to PHPMailer. Specify a filename, or leave blank to disable."
 phpmailer_host: "The SMTP host to use for outbound email."
 phpmailer_password: "The password to use when sending email via SMTP."
 phpmailer_port: "The port number to use for outbound email. Default = 587."
 phpmailer_set_from_address: "The sender address to cite when sending email via SMTP."
 phpmailer_set_from_name: "The sender name to cite when sending email via SMTP."
 phpmailer_skip_auth_process: "Setting this directive to <code>true</code> instructs PHPMailer to skip the normal authentication process that normally occurs when sending email via SMTP. This should be avoided, because skipping this process may expose outbound email to MITM attacks, but may be necessary in cases where this process prevents PHPMailer from connecting to an SMTP server."
 phpmailer_smtp_auth: "This directive determines whether to authenticate SMTP sessions (should usually be left alone)."
 phpmailer_smtp_secure: "The protocol to use when sending email via SMTP (TLS or SSL)."
 phpmailer_username: "The username to use when sending email via SMTP."
 projecthoneypot: "Configuration for the Project Honeypot module."
 projecthoneypot_api_key: *EnterAPIKey
 projecthoneypot_max_age_in_days: "The maximum age in days for which reports will be considered when performing lookups. Default = 365."
 projecthoneypot_max_ts_for_captcha: "The maximum threat score allowed for being served a CAPTCHA (must be a number between 1 and 100). Default = 10."
 projecthoneypot_minimum_threat_score: "The minimum threat score required in order for CIDRAM to block an IP address (must be a number between 1 and 100). Default = 10."
 projecthoneypot_type_of_visitor: "Controls for whether to block or profile based on type of visitor as determined by Project Honeypot."
 protocol: "Configuration for the protocol blocker module."
 protocol_blocked: "Selected protocols will be blocked."
 protocol_reason_message: "The reason message displayed when such requests are blocked."
 quic: "Quic cloud compatibility module configuration."
 quic_positive_action: "Which action should CIDRAM perform when it encounters a request from Quic cloud? Default action = Bypass."
 rate_limiting: "Configuration for rate limiting (not recommended for general use)."
 rate_limiting_allowance_period: "The duration to track usage. Default = 0°0′0″."
 rate_limiting_exceptions: "Exceptions (i.e., requests which shouldn't be rate limited). Relevant only when rate limiting is enabled."
 rate_limiting_hint: "Keep in mind that just as with all other CIDRAM features, CIDRAM's rate limiting feature can only be applied for those pages and resources to which CIDRAM is connected. That would typically mean that non-PHP resources would not be covered except where explicitly served by connected PHP resources. If you're able to use a server module, cPanel, or some other network tool to enforce rate limiting, it would be better to use that instead of CIDRAM's rate limiting feature. Also keep in mind that a keen and determined user could easily circumvent rate limiting by rotating their IP address, or by switching to a proxy or VPN provider which CIDRAM isn't yet aware of, and keep in mind that rate limiting can be very annoying for actual, real end-users. It may at times be necessary, but is rarely desirable."
 rate_limiting_max_bandwidth: "The maximum amount of bandwidth allowed within the allowance period before rate limiting future requests. A value of 0 disables this type of rate limiting. Default = 0KB."
 rate_limiting_max_requests: "The maximum number of requests allowed within the allowance period before rate limiting future requests. A value of 0 disables this type of rate limiting. Default = 0."
 rate_limiting_precision_ipv4: "The precision to use for tracking IPv4 usage. Value mirrors CIDR block size. Set to 32 for best precision. Default = 32."
 rate_limiting_precision_ipv6: "The precision to use for tracking IPv6 usage. Value mirrors CIDR block size. Set to 128 for best precision. Default = 128."
 rate_limiting_segregate: "Should quotas for different domains and hosts be segregated or shared? True = Quotas will be segregated. False = Quotas will be shared [Default]."
 sfs: "Configuration for the Stop Forum Spam module."
 signatures: "Configuration for signatures, signature files, modules, etc."
 signatures_conflict_response: "When there are too many simultaneous attempts to access the same resources (e.g., simultaneous requests to multiple PHP processes at the same machine for the same resources), some of those attempts may fail. In the rare and unlikely event that this affects signature files or modules, CIDRAM may be prevented from making an effective determination about the request. If this happens, should the request be blocked, and which HTTP status message should CIDRAM send?"
 signatures_default_tracktime: "The duration that IP addresses should be tracked for. Default = 7d0°0′0″ (1 week)."
 signatures_infraction_limit: "Maximum number of infractions an IP is allowed to incur before it is banned by IP tracking. Default = 10."
 signatures_shorthand:
  en-AU: "Controls for what to do with a request when there's a positive match against a signature which utilises the given shorthand words."
  [en-CA, en-US]: "Controls for what to do with a request when there's a positive match against a signature which utilizes the given shorthand words."
 signatures_tracking_override: "Allow modules to override tracking options? True = Yes [Default]; False = No."
 supplementary_cache_options: "Supplementary cache options. Note: Changing these values may potentially log you out."
 supplementary_cache_options_enable_apcu: "Specifies whether to try using APCu for caching. Default = True."
 supplementary_cache_options_enable_memcached: "Specifies whether to try using Memcached for caching. Default = False."
 supplementary_cache_options_enable_pdo: "Specifies whether to try using PDO for caching. Default = False."
 supplementary_cache_options_enable_redis: "Specifies whether to try using Redis for caching. Default = False."
 supplementary_cache_options_memcached_host: "Memcached host value. Default = localhost."
 supplementary_cache_options_memcached_port: "Memcached port value. Default = "11211"."
 supplementary_cache_options_pdo_dsn: "PDO DSN value. Default = "mysql:dbname=cidram;host=localhost;port=3306"."
 supplementary_cache_options_pdo_password: "PDO password."
 supplementary_cache_options_pdo_username: "PDO username."
 supplementary_cache_options_prefix: "The value specified here will be prepended to all cache entry keys. Default = "CIDRAM_". When multiple installations exist at the same server, this can be useful for keeping their caches separate from each other."
 supplementary_cache_options_redis_database_number: "Redis database number. Default = 0. Note: Can't use values other than 0 with Redis Cluster."
 supplementary_cache_options_redis_host: "Redis host value. Default = localhost."
 supplementary_cache_options_redis_port: "Redis port value. Default = "6379"."
 supplementary_cache_options_redis_timeout: "Redis timeout value. Default = "2.5"."
 template_data: "Configuration for templates and themes."
 template_data_block_event_title: "The page title to display for block events."
 template_data_captcha_title: "The page title to display for CAPTCHA requests."
 template_data_css_url: "CSS file URL for custom themes."
 template_data_custom_footer: "Inserted as HTML at the very bottom of all "access denied" pages. This could be useful in case you want to include a legal notice, contact link, business information, or similar at all such pages."
 template_data_custom_header:
  en-AU: "Inserted as HTML at the very beginning of all "access denied" pages. This could be useful in case you want to include a website logo, personalised header, scripts, or similar at all such pages."
  [en-CA, en-US]: "Inserted as HTML at the very beginning of all "access denied" pages. This could be useful in case you want to include a website logo, personalized header, scripts, or similar at all such pages."
 template_data_magnification: *MagnifDesc
 template_data_theme: "The theme to use for block events and CAPTCHA requests."
 template_data_theme_mode: "The mode for the theme to use for block events and CAPTCHA requests."
 tor: "Configuration for the Tor blocker module."
 verification: "Configuration for verifying where requests originate from."
 verification_adjust: "Controls to adjust other features when in the context of verification."
 verification_other: "Controls for verifying other kinds of requests where possible."
 verification_search_engines: "Controls for verifying requests from search engines."
 verification_social_media: "Controls for verifying requests from social media platforms."
confirm:
 Action: "Are you sure you want to "%s"?"
 Delete: "Are you sure you want to delete "%s"?"
field:
 2FA code: "2FA code"
 API key: "API key"
 Activate: "Activate"
 Add more conditions: "Add more conditions"
 Add to tracking: "Add to tracking"
 Add webhook: "Add webhook"
 After 24 hours, bundled together: "After 24 hours, bundled together (or when triggered manually, e.g., via cron)."
 Blocked: "Blocked"
 Clear all: "Clear all"
 Clear: "Clear"
 Clickable link: "Clickable link"
 Component: "Component"
 Components: "Components"
 Confirm: "Confirm"
 Create new account: "Create new account"
 Currently active signature files: "Currently active signature files"
 Deactivate: "Deactivate"
 Delete account: "Delete account"
 Delete: "Delete"
 Direct input: "Direct input"
 Directory: "Directory"
 Download: "Download"
 Edit: "Edit"
 Execute: "Execute"
 Execution order: "Execution order:"
 Expiry: "Expiry"
 False (False): "False"
 File: "File"
 Filename: "Filename:"
 Generate output as CIDRs: "Generate output as CIDRs"
 Generate output as netmasks: "Generate output as netmasks"
 Immediately: "Immediately."
 Install: "Install"
 Last modified: "Last modified"
 Latest version: "Latest version"
 Log In: "Log In"
 Macro: "Macro"
 New name: "New name:"
 Non-clickable text: "Non-clickable text"
 Not tracking: "Not tracking."
 Only when triggered manually: "Only when triggered manually (e.g., via cron)."
 Options: "Options"
 Password: "Password"
 Permissions: "Permissions"
 Preserve tags and comments: "Preserve tags and comments"
 Purpose: "Purpose"
 Range (First Last): "Range (First – Last)"
 Rename: "Rename"
 Repair all: "Repair all"
 Repair: "Repair"
 Requests to the CIDRAM front-end: "Requests to the CIDRAM front-end"
 Reset: "Reset"
 Set new password: "Set new password"
 Status: "Status"
 Time of attack (if unknown, use current time): "Time of attack (if unknown, use current time)"
 Timezone (defaults to your local time): "Timezone (defaults to your local time)"
 Tracking: "Tracking"
 True (True): "True"
 Uninstall: "Uninstall"
 Update all: "Update all"
 Update signature files: "Update signature files"
 Update: "Update"
 Upload new file: "Upload new file"
 Use system default timezone: "Use system default timezone."
 Username: "Username"
 Verified search engine and social media requests: "Verified search engine and social media requests"
 Verify all: "Verify all"
 Verify: "Verify"
 Whitelisted requests: "Whitelisted requests"
 Your version: "Your version"
 log_rotation_archive: "Firstly archive, and then delete the oldest log files, until the limit is no longer exceeded."
 log_rotation_delete: "Delete the oldest log files, until the limit is no longer exceeded."
 size:
  Size: "Size"
  Total size: "Total size:"
  GB: "GB"
  KB: "KB"
  MB: "MB"
  PB: "PB"
  TB: "TB"
  bytes:
   - "byte"
   - "bytes"
hint:
 This value can be found in the dashboard for your CAPTCHA service: "This value can be found in the dashboard for your CAPTCHA service."
hints_asnlookup: "** Requires ASN lookup functionality (e.g., via the IP-API or BGPView module)."
hints_aux_stats: "Note: Whether to track statistics for auxiliary rules can be controlled from the auxiliary rules page."
hints_cause_fp: "*!! High likelihood of causing false positives due to %s."
hints_cclookup: "** Requires country code lookup functionality (e.g., via the IP-API or BGPView module)."
hints_client_hints: "!! This is a low-entropy client hint. Client hints are a new, experimental web technology which isn't yet widely supported across all browsers and major clients. <em>See: {{Links.MDN.Client hints}}.</em> Though client hints can be useful for fingerprinting, as they aren't widely supported, their presence in requests should not be assumed nor relied upon (i.e., blocking based on their absence is a bad idea)."
hints_client_honour:
 en-AU: "No matter how we instruct the client, it's important to remember that we ultimately have no control over what the client chooses to do, and there's zero guarantee that the client will honour our instructions."
 en-US: "No matter how we instruct the client, it's important to remember that we ultimately have no control over what the client chooses to do, and there's zero guarantee that the client will honor our instructions."
hints_default_dns:
 FAQ.: "<em><a href="{{Links.CIDRAM.Docs Base Path}}readme.en.md\#what-can-i-use-for-default_dns" hreflang="en-AU">What can I use for "default_dns"?</a></em>"
hints_duration:
 SI.: "Duration can be described using the "International System of Units". E.g., <strong>1d2h3min4s</strong> or <strong>1d 2h 3min 4s</strong> for one day, two hours, three minutes, four seconds, or <strong>5min</strong> for just five minutes."
 Arctime.: "Duration can be described using arctime notation. E.g., <strong>1d2°3′4″</strong> for one day, two hours, three minutes, four seconds, or <strong>5″</strong> for just five seconds."
 Plain English.: "Duration can be described by writing the units in plain English. E.g., <strong>1 week 2 days 3 hours 4 minutes 5 seconds</strong> for one week, two days, three hours, four minutes, five seconds."
 Constraints.: "Notation can be mixed, but units must always be described from largest to smallest, and can't be repeated. E.g., <strong>1 week 2 days 3′4″</strong> is <span class="txtGn">valid</span> and will be understood correctly, but <strong>3′4″ 1 week 2 days</strong> and <strong>3 hours 3h 3°</strong> are <span class="txtRd">invalid</span>. CIDRAM doesn't care whether you use spacing or not. Numbers must be plain and unformatted. For practicality, the largest supported unit is a week. When configuration is updated, CIDRAM normalises durations to arctime."
hints_has_bypass: "* This option has a corresponding bypass under <code class="s">bypasses➡used</code>. It's recommended to ensure that the checkbox for the corresponding bypass is marked the same way as the checkbox for attempting to verify this option."
hints_http_response_header_code:
 1.: "When "silent mode" is in effect, the HTTP status message defined by <code class="s">general➡silent_mode_response_header_code</code> will be used (this has the highest precedence)."
 2.: "When the requesting entity has been banned due to exceeding the infraction limit, the HTTP status message for "banned" will be used."
 3.: "When blocked due to rate limiting, 429 will be used, or when blocked due to resource conflicts, the HTTP status message defined by <code class="s">signatures➡conflict_response</code> will be used (rate limiting and resource conflicts have equal precedence in this context)."
 4.: "When blocked due to an auxiliary rule which sets an "HTTP status code override", that HTTP status code override will be used."
 5.: "When blocked due to legal reasons (i.e., when blocked due to a custom signature which uses the "legal" shorthand word), the HTTP status message for "legal" will be used."
 6.: "For all other blocked requests, the HTTP status message for "default" will be used (this has the lowest precedence)."
hints_inspection: "* Intended only for debugging auxiliary rules. Not displayed to blocked users."
hints_ipv6_on_32bit: "Note: IPv6 lookups mightn't work correctly on some 32-bit systems."
hints_logging_datetime: "Useful tip: You can attach date/time information to the names of log files by using time format placeholders. Available time format placeholders are displayed at {{Links.ConfigRef.time_format}}."
hints_pdo_dsn:
 FAQ.: "<em><a href="{{Links.CIDRAM.Docs Base Path}}readme.en.md\#user-content-HOW_TO_USE_PDO" hreflang="en-AU">What is a "PDO DSN"? How can I use PDO with CIDRAM?</a></em>"
hints_sensitive_pages: "Note: What constitutes a "sensitive page" is determined by {{Links.ConfigRef.sensitive}}."
hints_shorthand:
 0.: "If your website needs access via LAN or localhost, don't block this. Otherwise though, you can block this."
 1.: "None of the default signature files use this, but it's supported nonetheless in case it might be useful for some users."
 2.: "If you need users to be able to access your website via proxies, don't block this. Otherwise though, you can block this."
 3.: "Direct usage in signatures isn't supported, but it may be invoked by other means in particular circumstances."
 4.:
  en-AU: "Refers to cases where shorthand words aren't used at all, or aren't recognised by CIDRAM."
  [en-CA, en-US]: "Refers to cases where shorthand words aren't used at all, or aren't recognized by CIDRAM."
 One per signature.: "A signature may invoke multiple profiles, but can use only one shorthand word. It's possible that multiple shorthand words may be suitable, but as only one can be used, we aim to always use only the most suitable."
 Priority.: "An option selected always takes priority over an option not selected. E.g., if multiple shorthand words are in play but only one of them is set as being blocked, the request will still be blocked."
 Human endpoints and cloud services.:
  en-AU: "Cloud service may refer to webhosting providers, server farms, data centres, or any number of other things. Human endpoint refers to the means by which a human accesses the internet, such as by way of an internet service provider. A network usually provides just one or the other, but may sometimes provide both. We aim to never identify potential human endpoints as cloud services. Therefore, a cloud service may be identified as something else if its range is shared by known human endpoints. Conversely, we aim to always identify cloud services, whose ranges are not shared by any known human endpoints, as cloud services. Therefore, a request identified explicitly as a cloud service probably doesn't share its range with any known human endpoints. Likewise, a request identified explicitly by attacks or spam probably does. However, the internet is always in flux, the purposes of networks changes over time, and ranges are always being bought or sold, so remain cognisant and vigilant in regards to false positives."
  en-US: "Cloud service may refer to webhosting providers, server farms, data centers, or any number of other things. Human endpoint refers to the means by which a human accesses the internet, such as by way of an internet service provider. A network usually provides just one or the other, but may sometimes provide both. We aim to never identify potential human endpoints as cloud services. Therefore, a cloud service may be identified as something else if its range is shared by known human endpoints. Conversely, we aim to always identify cloud services, whose ranges are not shared by any known human endpoints, as cloud services. Therefore, a request identified explicitly as a cloud service probably doesn't share its range with any known human endpoints. Likewise, a request identified explicitly by attacks or spam probably does. However, the internet is always in flux, the purposes of networks changes over time, and ranges are always being bought or sold, so remain cognizant and vigilant in regards to false positives."
hints_time_format: |
 <strong><em>Placeholder – Explanation – Example based on 2024-04-30T18:27:49+08:00.</em></strong><br />
 <code class="s">{yyyy}</code> – The year – E.g., 2024.<br />
 <code class="s">{yy}</code> – The abbreviated year – E.g., 24.<br />
 <code class="s">{Mon}</code> – The abbreviated name of the month (in English) – E.g., Apr.<br />
 <code class="s">{mm}</code> – The month with leading zeros – E.g., 04.<br />
 <code class="s">{m}</code> – The month – E.g., 4.<br />
 <code class="s">{Day}</code> – The abbreviated name of the day (in English) – E.g., Tue.<br />
 <code class="s">{dd}</code> – The day with leading zeros – E.g., 30.<br />
 <code class="s">{d}</code> – The day – E.g., 30.<br />
 <code class="s">{hh}</code> – The hour with leading zeros (uses 24-hour time) – E.g., 18.<br />
 <code class="s">{h}</code> – The hour (uses 24-hour time) – E.g., 18.<br />
 <code class="s">{ii}</code> – The minute with leading zeros – E.g., 27.<br />
 <code class="s">{i}</code> – The minute – E.g., 27.<br />
 <code class="s">{ss}</code> – The second with leading zeros – E.g., 49.<br />
 <code class="s">{s}</code> – The second – E.g., 49.<br />
 <code class="s">{tz}</code> – The timezone (without colon) – E.g., +0800.<br />
 <code class="s">{t:z}</code> – The timezone (with colon) – E.g., +08:00.
hints_usemode:
 0: "Note: Whitelisted or verified and non-blocked requests never need to complete a CAPTCHA."
 1: "Also note: CAPTCHAs can provide a useful, additional layer of protection against bots and various kinds of malicious automated requests, but won't provide any protection against a malicious human."
 2: "Requests can be "marked for use" via auxiliary rules."
 3: "Whether a request is considered as "sensitive" is determined by {{Links.ConfigRef.sensitive}}."
 4: "The "signature limit" is determined by {{Links.ConfigRef.signature_limit}}."
hints_verification:
 "What are "positives" and "negatives"?":
  en-AU: "When verifying the identity presented by a request, a successful outcome could be described as "positive" or "negative". In the case that the identity presented is confirmed to be the true identity, it would be described as "positive". In the case that the identity presented is confirmed to be falsified, it would be described as "negative". However, an unsuccessful outcome (e.g., verification fails, or the veracity of the identity presented isn't able to be determined) would not be described as "positive" or "negative". Instead, an unsuccessful outcome would be described simply as non-verified. When no attempt to verify the identity presented by a request is made, the request would likewise be described as non-verified. The terms make sense only in the context where the identity presented by a request is recognised, and therefore, where verification is possible. In cases where the identity presented doesn't match the options provided above, or where no identity is presented, the options provided above become irrelevant."
  [en-CA, en-US]: "When verifying the identity presented by a request, a successful outcome could be described as "positive" or "negative". In the case that the identity presented is confirmed to be the true identity, it would be described as "positive". In the case that the identity presented is confirmed to be falsified, it would be described as "negative". However, an unsuccessful outcome (e.g., verification fails, or the veracity of the identity presented isn't able to be determined) would not be described as "positive" or "negative". Instead, an unsuccessful outcome would be described simply as non-verified. When no attempt to verify the identity presented by a request is made, the request would likewise be described as non-verified. The terms make sense only in the context where the identity presented by a request is recognized, and therefore, where verification is possible. In cases where the identity presented doesn't match the options provided above, or where no identity is presented, the options provided above become irrelevant."
 "What are "single-hit bypasses"?": "In some cases, a positive-verified request may still blocked as a result of the signature files, modules, or other conditions of the request, and bypasses may be necessary in order to avoid false positives. In the case where a bypass is intended to deal with exactly one infraction, no more and no less, such a bypass could be described as a "single-hit bypass"."
hints_want_to_block: "!! Most users will likely want this to be blocked, regardless of whether it's real or falsified. That can be achieved by having "attempt to verify" be not selected and "block non-verified requests" be selected. However, because some users may want to be able to verify such requests (in order to block negatives while allowing positives), instead of blocking such requests via modules, options for handling such requests are provided here."
info_cli: !lazy
 by_default_ips: |
  By default, IPs are tested against all signature files, all modules, all
  auxiliary rules, *and* against social media and search engine verification.
  --no-ban    Prevents checking whether banned.
  --no-sig    Prevents testing against signature files.
  --no-mod    Prevents testing against modules.
  --no-sev    Prevents search engine verification.
  --no-smv    Prevents social media verification.
  --no-ov     Prevents other verification.
  --no-aux    Prevents testing against auxiliary rules.
 cidram_cli_mod: "CIDRAM CLI mode."
 ipv4_ipv6_are_: |
  IPv4/IPv6 are both supported. Multiline input is possible for *all* CLI mode
  operations (e.g., to test multiple IP addresses in a single operation) by
  using quotes, like so:
 or_depending_o: "Or, depending on whether you'd prefer to chain first to last, or last to first:"
 or_to_aggregat: "Or, to aggregate them as netmasks:"
 or_using_comma: "Or, using commas instead of multilines (does exactly the same thing):"
 the_signature_: "The signature fixer can be used via CLI, too:"
 to_calculate_c: "To calculate CIDRs from an IP address:"
 to_test_whethe: "To test whether an IP address is blocked by CIDRAM:"
 to_quit_type_q: "To quit, type "q", "quit", or "exit", then press enter."
 you_can_also_a: "You can also aggregate IPs and CIDRs like so:"
 you_can_also_c: |
  You can also chain commands together (the example reads from some files,
  aggregates their content, then writes the aggregated data to output.dat):
 you_can_also_r: "You can also read from files like so:"
 you_can_also_u: |
  You can also use commas instead if you want (this is treated the same as using
  multilines, but you won't need to use quotes, and don't mix both together):
 you_can_also_w: "You can also write to files like so:"
 you_can_print_: |
  You can print data to the screen like so (sometimes useful when chaining
  commands):
Some useful links: |+
 Some useful links:<br />
     <ul class="pieul">
       <li><span class="comCat" role="region" aria-controls="menuTRCIDRAM" aria-expanded="false">Tools, resources, etc for CIDRAM.</span>
         <ul class="comSub" id="menuTRCIDRAM">
           <li>{{Links.CIDRAM.Bitbucket}} – Repository backup location.</li>
           <li>{{Links.CIDRAM.Codeberg}} – Repository backup location.</li>
           <li>{{Links.CIDRAM.Extras}} – Various extras.</li>
           <li>{{Links.CIDRAM.Issues}} – Issues page for CIDRAM (support, assistance, etc).</li>
           <li>{{Links.CIDRAM.WordPress}} – WordPress plugin for CIDRAM.</li>
         </ul>
       </li>
       <li><span class="comCat" role="region" aria-controls="menuGFC" aria-expanded="false">Groups, forums, communities, etc.</span>
         <ul class="comSub" id="menuGFC">
           <li>{{Links.PHP.Earth.Facebook}} – PHP learning resources and discussion.</li>
           <li><a href="https://www.stopforumspam.com/forum/" rel="noopener noreferrer external">Forum@Stop Forum Spam</a> – Useful discussion forum about stopping forum spam.</li>
         </ul>
       </li>
       <li><span class="comCat" role="region" aria-controls="menuOUTRS" aria-expanded="false">Other useful tools, resources, services, etc.</span>
         <ul class="comSub" id="menuOUTRS">
           <li>{{Links.SFS}} – Maintains a database of known forum spammers. Useful for protecting websites and forums against spammers.</li>
           <li><a href="https://bgp.he.net/" hreflang="en-US" rel="noopener noreferrer external">Hurricane Electric BGP Toolkit</a> – Get CIDRs from ASNs, determine ASN relationships, discover ASNs based upon network names, etc.</li>
           <li>{{Links.BGPView}} – Get CIDRs from ASNs, determine ASN relationships, discover ASNs based upon network names, etc.</li>
           <li><a href="https://radar.qrator.net/" hreflang="en" rel="noopener noreferrer external">Radar by Qrator</a> – Useful tool for checking the connectivity of ASNs as well as for various other information about ASNs.</li>
           <li><a href="https://www.spamhaus.org/statistics/botnet-asn/" rel="noopener noreferrer external">The Spamhaus Project</a> – Displays reports regarding botnet infection rates for ASNs.</li>
           <li>{{Links.AbuseIPDB}} – Maintains a database of known abusive IPs; Provides an API for checking and reporting IPs.</li>
           <li>{{Links.IP-API}} – Get information about IP addresses or hostnames such as country code, region name, longitude, latitude, etc.</li>
         </ul>
       </li>
       <li><span class="comCat">Informational and learning resources.</span>
         <ul class="comSub" id="menuILR">
           <li>{{Links.PHP.Earth.Website}} – PHP learning resources and discussion.</li>
           <li>{{Links.MDN.Homepage}} – Resources for developers, by developers. A fantastic resource for learning about HTML, CSS, JavaScript, accessibility, and more.</li>
           <li><a href="https://maikuolan.github.io/Vulnerability-Charts/" hreflang="en-AU" rel="noopener noreferrer external">Vulnerability Charts</a> – Lists safe/unsafe versions of various packages (HHVM, PHP, phpMyAdmin, Python, etc).</li>
           <li><a href="https://maikuolan.github.io/Compatibility-Charts/" hreflang="en-AU" rel="noopener noreferrer external">Compatibility Charts</a> – Lists compatibility information for various packages (CIDRAM, phpMussel, etc).</li>
         </ul>
       </li>
     </ul>
label:
 %s across %s file:
  - "%s across %s file"
  - "%s across %s files"
 %s is available (%s): "%s is available (%s)."
 %s is available: "%s is available."
 %s is not available: "%s is not available."
 %s signature:
  - "%s signature"
  - "%s signatures"
 200 OK: "200 OK\nLeast robust, but most user-friendly. Automated requests will most likely interpret this response as indication that the request was successful. Recommended for non-blocked requests."
 301 Moved Permanently: "301 Moved Permanently\nInstructs the client that the redirect is PERMANENT, and that the request method used for the redirect MAY be different than the request method used for the initial request."
 302 Found: "302 Found\nInstructs the client that the redirect is TEMPORARY, and that the request method used for the redirect MAY be different than the request method used for the initial request."
 307 Temporary Redirect: "307 Temporary Redirect\nInstructs the client that the redirect is TEMPORARY, and that the request method used for the redirect may NOT be different than the request method used for the initial request."
 308 Permanent Redirect: "308 Permanent Redirect\nInstructs the client that the redirect is PERMANENT, and that the request method used for the redirect may NOT be different than the request method used for the initial request."
 403 Forbidden: "403 Forbidden\nMore robust, but less user-friendly. Recommended for most general circumstances."
 409 Conflict: "409 Conflict\nRecommended for resource conflicts (e.g., merge conflicts, file access conflicts, etc). Not recommended in other contexts."
 410 Gone: "410 Gone\nCould cause problems when resolving false positives, because some browsers will cache this status message and not send subsequent requests, even after having been unblocked. May be the most preferable in some contexts, for certain kinds of traffic."
 418 I_m a teapot: "418 I'm a teapot\nReferences an April Fools' joke ({{Links.RFC2324}}). Very unlikely to be understood by any client, bot, browser, or otherwise. Provided for amusement and convenience, but not generally recommended."
 429 Too Many Requests: "429 Too Many Requests\nRecommended for rate limiting, when dealing with DDoS attacks, and for flood prevention. Not recommended in other contexts."
 451 Unavailable For Legal Reasons: "451 Unavailable For Legal Reasons\nRecommended when blocking primarily for legal reasons. Not recommended in other contexts."
 503 Service Unavailable: "503 Service Unavailable\nMost robust, but least user-friendly. Recommended for when under attack, or for when dealing with extremely persistent unwanted traffic."
 A-Z: "A-Z"
 Action: "Action"
 Active IPv4 signature files: "Active IPv4 signature files"
 Active IPv6 signature files: "Active IPv6 signature files"
 Active configuration file: "Active configuration file:"
 Active events: "Active events"
 Active imports: "Active imports"
 Active modules: "Active modules"
 Actual: "Actual"
 All of them: "All of them."
 Allow, but only when also blocked: "Allow, but only when also blocked."
 Allow: "Allow."
 Bandwidth: "Bandwidth used: %s – Bandwidth available: %s"
 Branch latest stable: "Branch latest stable:"
 CAPTCHA attempts: "CAPTCHA attempts"
 CIDRAM version used: "CIDRAM version used:"
 Cache data and temporary files: "Cache data and temporary files"
 Cancel: "Cancel"
 Characters left: "Characters left"
 Checkbox: "Checkbox"
 Checksum after: "Checksum after"
 Checksum before: "Checksum before"
 Client information: "Client information:"
 Comment Spammer: "Comment Spammer"
 Complete access: "Complete access"
 Component is active: "Component is active."
 Component is inactive: "Component is inactive."
 Component is partially active: "Component is partially active."
 Component is provisional: "Component is provisional."
 Component updates metadata: "Component updates metadata"
 Components to display: "Components to display"
 Compress: "Compress"
 Content of subdirectories is hidden: "Content of subdirectories is hidden"
 Content of subdirectories is shown: "Content of subdirectories is shown"
 Copy to clipboard: "Copy to clipboard"
 Current data for %s: "Current data for "%s"."
 Current data: "Current data."
 Data source: "Data source"
 Data value: "Data value"
 Default: "Default"
 Delete previous reports: "Delete previous reports"
 Deny: "Deny."
 Dependencies: "Dependencies:"
 Difference: "Difference"
 Disable auxiliary rules: "Disable auxiliary rules"
 Displaying %s entry that cites %s:
  - "Displaying %s entry that cites "%s"."
  - "Displaying %s entries that cite "%s"."
 Displaying %s entry:
  - "Displaying %s entry."
  - "Displaying %s entries."
 Don_t block the request: "Don't block the request.\nIf you would prefer that requests be blocked only when you're certain they're malign, or to err on the side of caution regarding false positives (at the cost of unwanted traffic occasionally getting through), choose this. If you would prefer that requests be blocked if you're not certain they're benign, or to err on the side of vigilance (at the cost of occasional false positives), choose one of the other available options."
 Duplicate to %s: "Duplicate to %s"
 Empty, unfamiliar, and others: "Empty, unfamiliar, and others."
 Enable auxiliary rules: "Enable auxiliary rules"
 Entered %s Assuming %s: "Entered: %s – Assuming: %s"
 Entries per page: "Entries per page:"
 Every request: "Every request.\nMore stringent and thorough, but also more likely to result in limits and quotas being met much more quickly, potentially resulting in being locked out of the service when it's most needed. Also, although lookup results are always cached regardless, it could still nonetheless negatively impact website performance in some cases. May be necessary in some cases, but not generally recommended."
 Expected: "Expected"
 Expires: "Expires:"
 Export: "Export"
 Extension: "Extension"
 External: "External"
 False positive risk: "False positive risk:"
 Fancy: "Fancy"
 Focus: "Focus:"
 Greylist the request: "Greylist the request.\nResets the number of signatures triggered, but continues processing the request. Recommended when you don't want to whitelist the request, but need something more substantial than triggering a bypass."
 Harvester: "Harvester"
 Hide: "Hide"
 Ignore this: "Ignore this"
 Import: "Import"
 Inactive: "Inactive"
 Installed Available: "Installed/Available"
 Integrity check: "Integrity check:"
 Intersect: "Intersect"
 Inverted: "Inverted"
 Invisible: "Invisible"
 Latest stable: "Latest stable:"
 Latest unstable: "Latest unstable:"
 Loading_: "Loading..."
 Lock CAPTCHAs to the IP address of the user completing the CAPTCHA but not to the actual user: "Lock CAPTCHAs to the IP address of the user completing the CAPTCHA but not to the actual user.\nCookies are NOT used to identify users. When access is regained due to the successful completion of a CAPTCHA, it applies to anyone connecting from the same IP address."
 Lock CAPTCHAs to the user completing the CAPTCHA as well as to their IP address: "Lock CAPTCHAs to the user completing the CAPTCHA as well as to their IP address.\nCookies are used to identify users. When access is regained due to the successful completion of a CAPTCHA, it applies only to the user completing the CAPTCHA, and won't persist if their IP address changes."
 Lock CAPTCHAs to the user completing the CAPTCHA but not to their IP address: "Lock CAPTCHAs to the user completing the CAPTCHA but not to their IP address.\nCookies are used to identify users. When access is regained due to the successful completion of a CAPTCHA, it applies only to the user completing the CAPTCHA, and as long as their cookie remains valid, will persist, even if their IP address changes."
 Logged in, 2FA pending: "Logged in, 2FA pending."
 Logged in: "Logged in."
 Logged out: "Logged out."
 Logic: "Logic"
 Login: "Login"
 Logs access only: "Logs access only"
 Method: "Method"
 Minuend: "Minuend"
 Most recent: "Most recent"
 Netmask: "Netmask"
 Never: "Never."
 Next: "Next:"
 No data available: "No data available."
 No log file selected: "No log file selected."
 No log files available: "No log files available."
 None: "None.\nIf you want to use the module for reporting purposes only, without looking anything up, use this."
 Normal: "Normal"
 Only those with updates available: "Only those with updates available."
 Only those installed: "Only those installed."
 Only those not installed: "Only those not installed."
 Only when blocked, specially marked for use, within the signature limit, and not banned: "Only when blocked, specially marked for use, within the signature limit, and not banned."
 Only when blocked, within the signature limit, and not banned: "Only when blocked, within the signature limit, and not banned."
 Only when not blocked, at sensitive page requests: "Only when not blocked, at sensitive page requests."
 Only when not blocked, or when specially marked for use, within the signature limit, and not banned: "Only when not blocked, or when specially marked for use, within the signature limit, and not banned."
 Only when not blocked: "Only when not blocked."
 Only when within the signature limit, and not banned (regardless of whether blocked): "Only when within the signature limit, and not banned (regardless of whether blocked)."
 Operating system used: "Operating system used:"
 Operator: "Operator"
 Other rules, signature files, etc: "Other rules, signature files, etc"
 Other: "Other"
 PHP version used: "PHP version used:"
 Page request completed in %s seconds: "Page request completed in %s seconds."
 Paginate: "Paginate"
 Please abide by the AbuseIPDB reporting policy: "Please abide by the AbuseIPDB <a target="reporting-policy" hreflang="en-US" href="https://www.abuseipdb.com/reporting-policy">reporting policy</a>."
 Please log in to continue: "Please log in to continue."
 Preferred source: "Preferred source:"
 Previous: "Previous:"
 Range tools: "Range tools"
 Remember: "Remember"
 Report to AbuseIPDB: "Report to AbuseIPDB"
 Requests banned: "Requests banned"
 Requests blocked: "Requests blocked"
 Requests for sensitive pages only: "Requests for sensitive pages only (e.g., login pages, registration forms, etc).\nLess stringent and thorough, but more conservative in terms of quotas and limits, and less likely to negatively impact performance. The recommended strategy in most cases."
 Requests passed: "Requests passed"
 Requests reported to external APIs: "Requests reported to external APIs"
 SAPI used: "SAPI used:"
 Safety mechanisms: "Safety mechanisms"
 Sanity check: "Sanity check:"
 Search Engine: "Search Engine"
 Search for: "Search for:"
 See also: "See also:"
 Selected log file doesn_t exist: "Selected log file doesn't exist!"
 Show API message: "Show API message?\nInstructions to the user, appropriate to the API used, regarding the completion of the CAPTCHA."
 Show cookie warning: "Show cookie warning?\nDepending on the privacy laws of your country or state (e.g., GDPR/DSGVO in the EU, LGPD in Brazil, etc), this may be legally required."
 Show: "Show"
 Signature type: "Signature type:"
 Simple: "Simple"
 Sort in ascending order: "Sort in ascending order"
 Sort in descending order: "Sort in descending order"
 Start date: "Start date"
 Starting from %s: "Starting from "%s"."
 Subtrahend: "Subtrahend"
 Suggestions: "Suggestions"
 Suspicious: "Suspicious"
 System information: "System information:"
 Tally: "Tally"
 Text formatting: "Text formatting:"
 The cache is empty: "The cache is empty."
 Total: "Total"
 Trigger a bypass: "Trigger a bypass.\nSubtracts one count from the number of signatures triggered, as long as at least one signature has already been triggered. Recommended for dealing with simple false positives potentially caused by the default signature files."
 Unignore this: "Unignore this"
 Values for IP tracking: "Values for IP tracking"
 Whitelist the request: "Whitelist the request.\nResets the number of signatures triggered, and aborts any further processing of the request. Guarantees that CIDRAM will never block the request."
 Your IP address: "Your IP address:"
 Your user agent: "Your user agent:"
 aux:
  A name for the new rule: "A name for the new rule:"
  Additional instructions: "Additional instructions (to be executed only after implementing the rule's action):"
  Auxiliary rules triggered: "Auxiliary rules triggered"
  Create new rule: "Create new rule"
  Detect the method for testing the conditions automatically: "Detect the method for testing the conditions automatically."
  Disable this rule: "Disable this rule"
  Drop the rule here to move it to this position, or onto another rule to swap positions: "Drop the rule here to move it to this position, or onto another rule to swap positions."
  Email: "Email"
  Enable this rule: "Enable this rule"
  Enforce default IP tracking options: "Enforce default IP tracking options"
  Enforce extended IP tracking options: "Enforce extended IP tracking options"
  Forcibly disable Cloudflare Turnstile: "Forcibly disable Cloudflare Turnstile"
  Forcibly disable Friendly Captcha: "Forcibly disable Friendly Captcha"
  Forcibly disable IP tracking: "Forcibly disable IP tracking"
  Forcibly disable hCaptcha: "Forcibly disable hCaptcha"
  Forcibly enable IP tracking: "Forcibly enable IP tracking"
  HTTP status code override: "HTTP status code override:"
  If the following conditions are met, %s: "If the following conditions are met, %s."
  Mark for use with Cloudflare Turnstile: "Mark for use with Cloudflare Turnstile"
  Mark for use with Friendly Captcha: "Mark for use with Friendly Captcha"
  Mark for use with hCaptcha: "Mark for use with hCaptcha"
  Modify rule: "Modify rule"
  Move down: "Move down"
  Move to the bottom: "Move to the bottom"
  Move to the top: "Move to the top"
  Move up: "Move up"
  Notes: "Notes (only shown at this page, and doesn't affect the rule):"
  Other options and special flags: "Other options and special flags:"
  Requires PHPMailer: "Requires PHPMailer."
  Send trigger notification to the configured email notification address: "Send trigger notification to the configured email notification address"
  Suppress logging: "Suppress logging"
  Suppress output template: "Suppress output template"
  Suppress reports: "Suppress reports"
  The name of the file to run: "The name of the file to run:"
  The reason given to the user when blocked: "The reason given to the user when blocked:"
  Track this rule: "Track this rule"
  Use Windows-style wildcards to test the conditions: "Use Windows-style wildcards to test the conditions."
  Use direct string comparison to test the conditions: "Use direct string comparison to test the conditions."
  Use regular expressions to test the conditions: "Use regular expressions to test the conditions."
  Webhooks to apply when the rule requirements are met: "Webhooks to apply when the rule requirements are met:"
  When forcibly disabled, marking for use won_t have any effect: "Note: When forcibly disabled, marking for use won't have any effect."
  When the rule should begin (optional): "When the rule should begin (optional):"
  When the rule should expire (optional): "When the rule should expire (optional):"
  Where to redirect the request: "Where to redirect the request:"
  block the request: "block the request"
  bypass the request: "bypass the request"
  greylist the request: "greylist the request"
  logic_all: "In order to trigger the rule, all conditions must be met."
  logic_any: "Any "equals" (=) conditions may trigger the rule, as long as all "not equals" (≠) conditions are also met."
  profile the request: "profile the request"
  redirect the request (without blocking it): "redirect the request (without blocking it)"
  run a file to handle the request: "run a file to handle the request"
  whitelist the request: "whitelist the request"
 bobuam:
  Ambiguous user agents: "Ambiguous user agents"
  Clearly malformed user agents: "Clearly malformed user agents"
  Masquerade attempts (e_g_, bots pretending to be browsers): "Masquerade attempts (e.g., bots pretending to be browsers)"
  Outdated or end of life browsers (you can set the versions below): "Outdated or end of life browsers (you can set the versions below)"
  Suspected bots, scrapers, probes, etc: "Suspected bots, scrapers, probes, etc"
 expire_bad: "From the time of its creation, the amount of time that bad data cached by this module may live before it expires."
 expire_good: "From the time of its creation, the amount of time that good data cached by this module may live before it expires."
 lookup_strategy: "Which requests should lookups be performed for?"
 options: "Options to be enacted when signatures or block events are triggered by this module."
 results: "Results (%s in – %s rejected – %s accepted – %s merged – %s out):"
 rl_requests: "Requests sent: %s – Requests available: %s"
 rl_when: "Newest record: %s (Expires: %s).<br />Oldest record: %s (Expires: %s)."
 risk:
  High: "High"
  Low: "Low"
  Medium: "Medium"
 timeout_limit: "This module performs external requests. Here you can specify the timeout limit for those requests (in seconds)."
 timeout_rl: "The amount of time required before resuming external requests after being rate limited."
link:
 Accounts: "Accounts"
 Aggregator: "Aggregator"
 Auxiliary Rules: "Auxiliary Rules"
 Backup: "Backup"
 Cache Data: "Cache Data"
 Calculator: "Calculator"
 Configuration: "Configuration"
 Discussions: "Discussions"
 Documentation: "Documentation"
 Edit mode: "Edit mode"
 File Manager: "File Manager"
 Get API key: "If you don't already have an API key, click here to get one."
 Home: "Home"
 IP Testing: "IP Testing"
 IP Tracking: "IP Tracking"
 Intersector: "Intersector"
 Log Out: "Log Out"
 Logs: "Logs"
 Range Tables: "Range Tables"
 Rate Limiting: "Rate Limiting"
 Sections List: "Sections List"
 Signature File Fixer: "Signature File Fixer"
 Statistics: "Statistics"
 Subtractor: "Subtractor"
 Updates: "Updates"
 View mode: "View mode"
macro: !lazy
 Description:
  activate_modules: &MayImpactPerformance "Not generally recommended, as there's likely to be some that you don't need. Installing and activating components when they aren't needed could negatively impact performance."
  install_l10n_core: &RecommendKeepingCore "When the <code>lang_override</code> configuration directive is enabled, if a user's browser specifies a particular language preference, as long as core L10N data for that language is installed, CIDRAM is able to display the "access denied" page in that specified language. Accordingly, having all core L10N data remain installed is recommended."
  install_l10n_fe: &RecommendFEOnlyNeeded "Your preferred language can be specified via the <code>lang</code> configuration directive. Once this has been done, you're unlikely to need any front-end L10N data other than that for your preferred language, and may want to remove it for the sake of marginally freeing up some available disk space. Though, whether you choose to remove it or keep it, either way, shouldn't do any harm."
  install_modules: *MayImpactPerformance
  uninstall_l10n_core: *RecommendKeepingCore
  uninstall_l10n_fe: *RecommendFEOnlyNeeded
 Name:
  activate_modules: "Activate all modules."
  activate_signatures: "Activate all signature files."
  deactivate_modules: "Deactivate all modules."
  deactivate_signatures: "Deactivate all signature files."
  install_l10n_core: "Install all available core L10N."
  install_l10n_fe: "Install all available front-end L10N."
  install_modules: "Install all available modules."
  install_signatures: "Install all available signature files."
  uninstall_l10n_core: "Uninstall all inactive core L10N."
  uninstall_l10n_fe: "Uninstall all inactive front-end L10N."
  uninstall_modules: "Uninstall all inactive modules."
  uninstall_no_longer_available: "Uninstall no longer available components."
  uninstall_signatures: "Uninstall all inactive signature files."
msg_subject_2fa: "Two-Factor Authentication"
msg_template_2fa: |
 <center><p>Hello, %s.<br /><br />
 Your two-factor authentication code for logging into the CIDRAM front-end:</p>
 <h1>%s</h1>
 <p>This code expires in 10 minutes.</p></center>
notice_new_major_version: "Notice: %s is now available (you are using %s). You meet this version's minimum PHP requirement. <em>See: <a href="{{Links.CIDRAM.Docs Base Path}}readme.en.md\#10-upgrading-from-previous-major-versions" hreflang="en"><span class="navicon link"></span>UPGRADING FROM PREVIOUS MAJOR VERSIONS</a>.</em>"
operator_<: "Must be less than (numeric comparison)."
operator_=: "Must be an exact match (direct string comparison)."
operator_>: "Must be greater than (numeric comparison)."
operator_≅: "Regular expression must match."
operator_≇: "Regular expression must not match."
operator_≈: "Must be an approximate match (using Windows-style wildcards)."
operator_≉: "Must be not an approximate match (using Windows-style wildcards)."
operator_≠: "Must be not an exact match (direct string comparison)."
operator_≤: "Must be less than or equal to (numeric comparison)."
operator_≥: "Must be greater than or equal to (numeric comparison)."
operator_≮: "Must be not less than (numeric comparison)."
operator_≯: "Must be not greater than (numeric comparison)."
operator_≰: "Must be not less than nor equal to (numeric comparison)."
operator_≱: "Must be not greater than nor equal to (numeric comparison)."
previewer:
 Days: "Days"
 Hours: "Hours"
 Minutes: "Minutes"
 Months: "Months"
 Seconds: "Seconds"
 Weeks: "Weeks"
 Years: "Years"
purpose: !lazy
 3D graphics file: "3D graphics file (e.g., CAD, models, materials, textures)"
 Audio file: "Audio file"
 Card file: "Card file"
 Compressed file or archive: "Compressed file or archive"
 Database file: "Database file"
 Document: "Document"
 Email file: "Email file"
 Encrypted or sensitive file: "Encrypted or sensitive file"
 Executable file: "Executable file"
 Font file: "Font file"
 Formulas file: "Formulas file"
 Graphics file: "Graphics file (e.g., images, vectors, videos)"
 Graphs or presentation file: "Graphs or presentation file"
 Plain-text file: "Plain-text file (e.g., markup, source code, scripts)"
 Quarantined file: "Quarantined file"
 Shortcut file: "Shortcut file"
 Spreadsheet file or tabular data: "Spreadsheet file or tabular data"
 Torrent file: "Torrent file"
response:
 Account successfully created: "Account successfully created!"
 Account successfully deleted: "Account successfully deleted!"
 Added %s to tracking: "Added %s to tracking."
 Already up-to-date: "Already up-to-date."
 An account with that username already exists: "An account with that username already exists!"
 An error occurred while attempting to uninstall the component: "An error occurred while attempting to uninstall the component."
 Auxiliary rule, %s, deleted successfully: "Auxiliary rule, "%s", deleted successfully."
 Auxiliary rules successfully updated: "Auxiliary rules successfully updated."
 Can_t fetch metadata: "Can't fetch metadata"
 Can_t fetch the file: "Can't fetch the file"
 Can_t import from v%s data: "Can't import from v%s data!"
 Checksum error: "Checksum error!"
 Component not installed: "Component not installed!"
 Component successfully installed: "Component successfully installed."
 Component successfully uninstalled: "Component successfully uninstalled."
 Component successfully updated: "Component successfully updated."
 Configuration successfully updated: "Configuration successfully updated."
 Copied: "Copied"
 Don_t know what to do with the data after reading it: "Don't know what to do with the data after reading it.\nConsider chaining it to another command. Thanks."
 Error at the upstream: "Error at the upstream!"
 Failed to access %s: "Failed to access "%s"!"
 Failed to activate: "Failed to activate!"
 Failed to create: "Failed to create!"
 Failed to deactivate: "Failed to deactivate!"
 Failed to delete any reports for %s: "Failed to delete any reports for %s!"
 Failed to delete: "Failed to delete!"
 Failed to execute: "Failed to execute!"
 Failed to import: "Failed to import!"
 Failed to install: "Failed to install!"
 Failed to rename: "Failed to rename!"
 Failed to report the IP address, %s: "Failed to report the IP address, %s!"
 Failed to update auxiliary rules: "Failed to update auxiliary rules!"
 Failed to update configuration: "Failed to update configuration!"
 Failed to update statistics: "Failed to update statistics!"
 Failed to update tracking: "Failed to update tracking!"
 Failed to update: "Failed to update!"
 Failed to upload: "Failed to upload!"
 File contains unexpected content: "File contains unexpected content!"
 File rejected: "File rejected"
 File successfully modified: "File successfully modified!"
 File successfully uploaded: "File successfully uploaded!"
 Finished reading from %s: "Finished reading from "%s"."
 Finished writing to %s: "Finished writing to "%s"."
 I can_t write to %s, sorry: "I can't write to "%s", sorry."
 I don_t understand that command, sorry: "I don't understand that command, sorry."
 Incorrect 2FA code entered: "Incorrect 2FA code entered. Authentication failed."
 Invalid API key: "Invalid API key!"
 Invalid password: "Login failure! Invalid password!"
 Invalid timestamp: "Invalid timestamp!"
 Maximum number of login attempts exceeded: "Maximum number of login attempts exceeded; Access denied."
 New auxiliary rule, %s, created successfully: "New auxiliary rule, "%s", created successfully."
 Not available at the upstream for legal reasons: "Not available at the upstream for legal reasons."
 Not available at the upstream: "Not available at the upstream."
 Outdated: "Outdated!"
 Parse: "Parse"
 Passed: "Passed"
 Password field empty: "Password field empty!"
 Password successfully updated: "Password successfully updated!"
 Payment required at the upstream: "Payment required at the upstream."
 Permissions not adequate to perform asynchronous requests: "Permissions not adequate to perform asynchronous requests. Try logging in again."
 Please select at least one category: "Please select at least one category!"
 Rate limited by the upstream: "Rate limited by the upstream."
 Ready to install: "Ready to install."
 Redirected: "Redirected"
 Removed %s from tracking: "Removed %s from tracking."
 Repair process completed: "Repair process completed."
 Repair process failed: "Repair process failed."
 Served: "Served"
 Signature files have been updated (%s): "Signature files have been updated (%s)."
 Skipped: "Skipped"
 Source not specified: "Source not specified!"
 Statistics cleared: "Statistics cleared."
 Statistics updated: "Statistics updated."
 Successfully activated: "Successfully activated."
 Successfully authenticated: "Successfully authenticated."
 Successfully deactivated: "Successfully deactivated."
 Successfully deleted %s reports for %s:
  - "Successfully deleted %s report for %s!"
  - "Successfully deleted %s reports for %s!"
 That account doesn_t exist: "That account doesn't exist."
 The %s command can_t be chained in that way, sorry: "The %s command can't be chained in that way, sorry."
 The IP address is invalid: "The IP address is invalid!"
 The IP address, %s, successfully reported: "The IP address, %s, successfully reported!"
 The report has not been enqueued: "The report has not been enqueued."
 The same IP address can be reported only once every 15 minutes: "The same IP address can be reported only once every 15 minutes. The report has been enqueued, and CIDRAM will attempt to submit the report at a later time."
 There aren_t currently any auxiliary rules: "There aren't currently any auxiliary rules."
 There_s nothing to analyse, sorry:
  en-AU: "There's nothing to analyse, sorry."
  [en-CA, en-US]: "There's nothing to analyze, sorry."
 There_s nothing to print, sorry: "There's nothing to print, sorry."
 There_s nothing to write, sorry: "There's nothing to write, sorry."
 Tracking cleared: "Tracking cleared."
 Unable to determine: "Unable to determine."
 Unknown error: "Unknown error!"
 Username doesn_t exist: "Login failure! Username doesn't exist!"
 Username field empty: "Username field empty!"
 Verification failed: "Verification failed! Component could be corrupted."
 Verification success: "Verification success! No problems found."
 Wrong endpoint: "Wrong endpoint!"
 _No: "No"
 _Yes: "Yes"
 please_check_config: "Please check your configuration in order to ensure that the newly installed module will behave as you intend."
 release_notes: "<a href="%s"><span class="navicon link"></span>Release notes for %s.</a>"
stages: !lazy
 Check whether banned: "Check whether banned"
 Deploy CAPTCHAs (blocked requests): "Deploy CAPTCHAs (blocked requests)"
 Deploy CAPTCHAs (non-blocked requests): "Deploy CAPTCHAs (non-blocked requests)"
 Execute IP tracking: "Execute IP tracking"
 Execute auxiliary rules: "Execute auxiliary rules"
 Execute modules: "Execute modules"
 Execute other verification: "Execute other verification"
 Execute rate limiting: "Execute rate limiting"
 Execute reporting: "Execute reporting"
 Execute search engine verification: "Execute search engine verification"
 Execute signature files tests: "Execute signature files tests"
 Execute social media verification: "Execute social media verification"
 Execute webhooks: "Execute webhooks"
 Generate output (blocked requests): "Generate output (blocked requests)"
 Prepare fields for output and logs: "Prepare fields for output and logs"
 Process email trigger notification queue: "Process email trigger notification queue"
 Redirect according to auxiliary rules: "Redirect according to auxiliary rules"
 Terminate the request (blocked requests): "Terminate the request (blocked requests)"
 Update statistics: "Update statistics"
 Write to logs (blocked requests): "Write to logs (blocked requests)"
state_fixer: "%s %s."
state_fixer_changed:
 - "Made %s change"
 - "Made %s changes"
state_fixer_seconds: "in %s seconds"
state_sl_totals: "Totals (Signatures: %s – Signature sections: %s – Signature files: %s – Unique section tags: %s)."
state_tracking:
 - "Currently tracking %s IP."
 - "Currently tracking %s IPs."
switch-tracking-aux-set-false: "Don't check against auxiliary rules"
switch-tracking-aux-set-true: "Check against auxiliary rules"
switch-tracking-blocked-already-set-false: "Don't check against signature files"
switch-tracking-blocked-already-set-true: "Check against signature files"
switch-tracking-hide-banned-blocked-set-false: "Don't hide banned/blocked IPs"
switch-tracking-hide-banned-blocked-set-true: "Hide banned/blocked IPs"
time_days_ago:
 - "%s day ago"
 - "%s days ago"
time_days_from_now:
 - "%s day from now"
 - "%s days from now"
time_hours_ago:
 - "%s hour ago"
 - "%s hours ago"
time_hours_from_now:
 - "%s hour from now"
 - "%s hours from now"
time_minutes_ago:
 - "%s minute ago"
 - "%s minutes ago"
time_minutes_from_now:
 - "%s minute from now"
 - "%s minutes from now"
time_months_ago:
 - "%s month ago"
 - "%s months ago"
time_months_from_now:
 - "%s month from now"
 - "%s months from now"
time_seconds_ago:
 - "%s second ago"
 - "%s seconds ago"
time_seconds_from_now:
 - "%s second from now"
 - "%s seconds from now"
time_years_ago:
 - "%s year ago"
 - "%s years ago"
time_years_from_now:
 - "%s year from now"
 - "%s years from now"
tip:
 2FA Sent: "An email containing a two-factor authentication code has been sent to your email address. Please confirm this code below to gain access to the front-end. If you didn't receive this email, try logging out, waiting for 10 minutes, and logging in again to receive a new email containing a new code."
 Accounts: "The accounts page allows you to control who can access the CIDRAM front-end."
 Actions menu: "Block adds 1 to the signatures count. Bypass deducts 1 from the signatures count. Whitelist sets the signatures count to 0 and terminates processing, thus skipping any subsequent rules entirely. Greylist sets the signatures count to 0, but doesn't terminate processing. Profile doesn't affect the signatures count, but is useful when more complex logic may be needed to determine whether to perform other kinds of actions, as generated profiles could be chained to the conditions of subsequent rules. After processing, if the signatures count is 1 or greater, the request will be blocked."
 Aggregator: "The aggregator allows you to express IPs, CIDRs, and netmasks in the smallest possible way. Enter the data to be aggregated and press "OK"."
 An accepted value is any CIDR with a range that covers the IP address of the request: "An accepted value is any CIDR with a range that covers the IP address of the request. E.g., 1.2.3.0/24, 1.2.0.0/16, 1.0.0.0/8, etc would be accepted for 1.2.3.4. To avoid false positives, narrower ranges (e.g., 1.2.3.4/32) are generally preferable to wider ranges (e.g., 0.0.0.0/1). The calculator page can be used to find which CIDRs have ranges covering a specified IP address."
 Auxiliary Rules Modes: "View mode displays auxiliary rules as a compact list for easy reading. Rules in the list can be expanded and further details shown by clicking on them. Options to export or delete a rule will be shown when clicking the trigram (☰). Rules can be reordered via drag-and-drop, dragging a rule from its existing position and onto the desired position. Edit mode is required to modify auxiliary rules, editable fields and options to add new conditions, webhooks, or other logic to the rules as needed provided on the page. New auxiliary rules can be created via either mode."
 Auxiliary Rules Priority: "Priority (highest➡(equal🔄equivalent)➡lowest):"
 Auxiliary Rules Webhooks: "When a rule is triggered, CIDRAM will attempt to notify any connected webhooks about the event. A webhook is a URL capable of receiving POST data, and could be useful if there's an external service, app, script, etc hosted on an entirely different network than CIDRAM, which you want to handle the data generated by CIDRAM about the request."
 Auxiliary Rules: "You can use this page to create, delete, and modify auxiliary rules for CIDRAM."
 Backup: "This page can be used to import/export your configuration, auxiliary rules, etc. This can be useful if you need to migrate data across different installations or different major versions."
 Cache Data: "Here you can review the contents of the cache."
 Calculator: "The calculator allows you to calculate the CIDRs and netmasks of an IP address."
 Click the component name for more details: "Click the component name for more details."
 Configuration: "The configuration page allows you to modify the configuration for CIDRAM from the front-end."
 Enter IP address here: "Enter IP address here."
 Enter IP address here (optional): "Enter IP address here (optional)."
 Enter IP addresses here: "Enter IP addresses here."
 Enter input here: "Enter input here."
 Enter queries here: "Enter queries here."
 Enter query here (optional): "Enter query here (optional)."
 Enter referrer here (optional): "Enter referrer here (optional)."
 Enter user agent here (optional): "Enter user agent here (optional)."
 Enter user agents here: "Enter user agents here."
 File Manager: "The file manager allows you to delete, edit, upload, and download files. Use with caution (you could break your installation with this)."
 Greeting: "Hello, %s."
 Home: "This is the homepage for the CIDRAM front-end. Select a link from the navigation menu on the left to continue."
 How many infractions to incur: "How many infractions to incur."
 IP Testing: "The IP testing page allows you to test whether IP addresses are blocked by the currently installed signatures."
 IP Tracking: "The IP tracking page allows you to check the tracking status of IP addresses, to check which of them have been banned, and to unban/untrack them if you want to do so."
 If a request connects from an IPv6 address belonging to a range used by an IPv6 transition mechanism: "If a request connects from an IPv6 address belonging to a range used by an IPv6 transition mechanism (e.g., 6to4, Teredo, ISATAP, etc), the "IP address (resolved)" field will be populated by the IPv4 address which that IPv6 address translates to under that IPv6 transition mechanism (e.g., if the "IP address" is "2002:c0a8:1::", the "IP address (resolved)" will be "192.168.0.1"). In all others cases, the "IP address (resolved)" and "IP address" fields will be the same."
 Intersector: "The intersector can be used to determine the common factors from two sets of ranges."
 Logs: "Select a log file from the list below to view the contents of that log file."
 Note that the exact value of this statistic will be the same as that shown at the statistics page at the time the rule is processed: "Note that the exact value of this statistic will be the same as that shown at the statistics page at the time the rule is processed."
 Number of seconds until it expires: "Number of seconds until it expires."
 Numeric comparison: "To use numeric comparison, select direct string comparison or automatic method detection, ensure the condition's value is numeric, and prefix it with the desired operator.<br />E.g., for "equals" conditions, &gt;=2 provides ≥2, &lt;=2 provides ≤2, for "not equals" conditions, &gt;=2 provides ≱2, &lt;=2 provides ≰2, etc."
 Range Tables: "This page shows some basic statistical information about the IP ranges covered by the currently active signature files."
 Rate Limiting: "This page shows the current quota usage and availability in regards to rate limiting."
 Rate limiting is currently disabled: "Note: Rate limiting is currently disabled, but can be enabled via the configuration page."
 Report to AbuseIPDB: "This page can be used to report IP addresses to AbuseIPDB, or to delete previous reports in the event that an IP address has been reported in error."
 Sections List: "This page lists which sections exist in the currently active signature files."
 See the documentation: "See the <a href="{{Links.CIDRAM.Docs Base Path}}readme.en.md\#user-content-SECTION5" hreflang="en" rel="noopener external"><span class="navicon documentation"></span>documentation</a> for information about the various configuration directives and their purposes."
 Server log snippets, abuse details, etc: "Server log snippets, abuse details, etc."
 Signature File Fixer: "The signature file fixer provides a way to detect and fix potential problems in signature files."
 Specify a URL, or leave blank to disregard: "Specify a URL, or leave blank to disregard."
 Specify a directory path, or leave blank to use the CIDRAM base path: "Specify a directory path, or leave blank to use the CIDRAM base path."
 Specify a value, or leave blank to disregard: "Specify a value, or leave blank to disregard."
 Statistics tracking is currently disabled: "Note: Statistics tracking is currently disabled, but can be enabled via the configuration page."
 Statistics: "This page shows some basic usage statistics regarding your CIDRAM installation."
 Subtractor: "The subtractor can be used to subtract one range of IPs/CIDRs/netmasks from another."
 Updates: "The updates page allows you to install, uninstall, and update the various components of CIDRAM (the core package, signatures, L10N files, etc)."
 When available, the value of the country code lookup: "When available, the value of the country code lookup is an {{Links.ISO.3166}} 2-digit country code. E.g., US for the United States, RU for Russia, CN for China, etc."
warning: !lazy
 API_Rate_Limited: "Warning: Access to the %s API appears to currently be rate limited."
 Cookies: "Note: CIDRAM uses a cookie to authenticate logins. By logging in, you give your consent for a cookie to be created and stored by your browser."
 Editing PHP files: "Warning: Some webhosting security solutions have been known to automatically ban IP addresses upon detecting PHP tags within requests (e.g., when attempting to modify PHP files through a browser). CIDRAM has no means of knowing whether your webhosting service uses such a security solution. In order to avoid such problems, not editing PHP files in such a way is recommended when possible."
 IP tests are disabled: "Warning: IP tests are disabled! Signature files can't be used until this is resolved."
 JavaScript required: "Warning: Some front-end functionality requires JavaScript. To ensure that the entire front-end behaves as expected, enabling JavaScript is recommended."
 Likely to be overwritten: "Warning: The file you're currently editing belongs to the component, "%s". Any changes made to this file are very likely to be overwritten the next time that component is updated."
 Likely to become corrupted: "Warning: Non-UTF8 bytes were detected in the file currently being edited. The file is likely to become corrupted if edited using this particular facility."
 Modules are disabled: "Warning: Modules are disabled! Modules can't be used until this is resolved."
 No modules are active: "Warning: No modules are active! Modules can be activated using the configuration or updates pages."
 No signature files are active: "Warning: No signature files are active! Signature files can be activated using the configuration or updates pages."
 Operating in dry run mode: "Warning: Operating in dry run mode! While in dry run mode, requests are still checked and logged as block events as per usual, but nothing is blocked."
 Operating in maintenance mode: "Warning: Operating in maintenance mode! While in maintenance mode, nothing is checked, logged, or blocked."
 Page termination is disabled: "Warning: Page termination is disabled! Requests can't be properly blocked until this is resolved."
 Proceeding will log out all users: "Warning: Proceeding will log out all users."
 The auxiliary rules execution stage is currently disabled: "Warning: The auxiliary rules execution stage is currently disabled."
 This account is not using a valid password: "Warning: This account is not using a valid password!"
 Using the default password: "Warning: Using the default password!"
