{
  "description": "Strings found in JS/JSON that need source-code fixes to be translatable via WordPress gettext.",
  "pot_path": "D:\\_DEV\\BotBlocker\\plugin\\wp-content\\plugins\\botblocker-security\\languages\\botblocker-security.pot",
  "summary": {
    "php_unique": 3092,
    "js_total": 102,
    "js_duplicate": 75,
    "js_missing": 27,
    "json_total": 28,
    "json_duplicate": 16,
    "json_missing": 12
  },
  "js_strings": [
    {
      "msgid": "Reason for uninstalling",
      "references": [
        "admin/js/admin.js:26"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Please enter a valid 6-digit code.",
      "references": [
        "admin/js/bbcs-js/bbcs-2fa.js:122"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Two-Factor Authentication enabled.",
      "references": [
        "admin/js/bbcs-js/bbcs-2fa.js:144"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Invalid verification code.",
      "references": [
        "admin/js/bbcs-js/bbcs-2fa.js:150",
        "admin/js/bbcs-js/bbcs-2fa.js:173"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Verification failed.",
      "references": [
        "admin/js/bbcs-js/bbcs-2fa.js:151"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Connection error. Please try again.",
      "references": [
        "admin/js/bbcs-js/bbcs-2fa.js:167"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Two-Factor Authentication has been reset.",
      "references": [
        "admin/js/bbcs-js/bbcs-2fa.js:215"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Failed to revoke trusted devices.",
      "references": [
        "admin/js/bbcs-js/bbcs-2fa.js:328"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "All trusted devices have been revoked.",
      "references": [
        "admin/js/bbcs-js/bbcs-2fa.js:331"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Add-on installed successfully.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:65"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Add-on package uploaded. Find it below, then activate it when ready.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:69"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "All add-ons have been updated.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:73"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Add-on updated successfully.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:77"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Add-on was updated but not reactivated - it requires BotBlocker version %s or higher. Please update the plugin.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:81"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Add-on deleted.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:86"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Operation failed.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:90"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The add-on is invalid or broken.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:91"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Installation arguments are missing.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:92"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Failed to download the add-on package.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:93"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Failed to unpack the add-on package.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:94"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Filesystem API is not available.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:95"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The add-on download URL is not allowed.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:96"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Choose an add-on ZIP package first.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:97"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The add-on upload failed.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:98"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The uploaded file was not accepted by WordPress.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:99"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Add-on package is missing or unreadable.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:100"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The add-on package must be a ZIP file.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:101"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The add-on package is too large.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:102"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The add-on package cannot be opened.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:103"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The add-on package has an invalid file count.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:104"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The package contains an unsafe file path.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:105"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The package contains an oversized file.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:106"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The temporary extraction folder is missing.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:107"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The package must contain exactly one root folder.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:108"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The package root folder must be a valid slug.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:109"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The package does not match the BotBlocker add-on contract.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:110"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Official BotBlocker add-ons require BotBlocker PRO. Custom ZIP add-ons can still be uploaded.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:111"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The package must declare Requires-Core.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:112"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The package slug does not match the requested add-on.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:113"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "This add-on requires a newer PHP version.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:114"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "File modifications are disabled for this WordPress installation.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:115"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Failed to create a temporary add-on folder.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:116"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "The validated add-on source is missing.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:117"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Failed to backup the existing add-on.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:118"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Failed to install the add-on package.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:119"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "This add-on requires a newer version of BotBlocker.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:124"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Required:",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:125"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Please update the plugin first.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:126"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "No file selected",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:166"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Update All (%d)",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:221"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Failed to load add-on catalog.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:274",
        "admin/js/bbcs-js/bbcs-addons.js:298"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Add-on catalog is currently unavailable.",
      "references": [
        "admin/js/bbcs-js/bbcs-addons.js:291"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Length Menu",
      "references": [
        "admin/js/bbcs-js/bbcs-asn.js:127",
        "admin/js/bbcs-js/bbcs-geo.js:103",
        "admin/js/bbcs-js/bbcs-hits.js:462",
        "admin/js/bbcs-js/bbcs-llm.js:190",
        "admin/js/bbcs-js/bbcs-path.js:146",
        "admin/js/bbcs-js/bbcs-proxy.js:148",
        "admin/js/bbcs-js/bbcs-rules-ipv4.js:141",
        "admin/js/bbcs-js/bbcs-rules-ipv6.js:141",
        "admin/js/bbcs-js/bbcs-rules.js:180",
        "admin/js/bbcs-js/bbcs-white.js:148"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Object type",
      "references": [
        "admin/js/bbcs-js/bbcs-audit.js:90"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Object ID",
      "references": [
        "admin/js/bbcs-js/bbcs-audit.js:91"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "User agent",
      "references": [
        "admin/js/bbcs-js/bbcs-audit.js:95"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Search audit log…",
      "references": [
        "admin/js/bbcs-js/bbcs-audit.js:231"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "No data yet",
      "references": [
        "admin/js/bbcs-js/bbcs-charts.js:326"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Shows up after the first hits",
      "references": [
        "admin/js/bbcs-js/bbcs-charts.js:330"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "fa-solid fa-question-circle",
      "references": [
        "admin/js/bbcs-js/bbcs-hits.js:142",
        "admin/js/bbcs-js/bbcs-hits.js:226",
        "admin/js/bbcs-js/bbcs-hits.js:230"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Reports Dashboard",
      "references": [
        "admin/js/bbcs-js/bbcs-hits.js:612"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Not saved!",
      "references": [
        "admin/js/bbcs-js/bbcs-integrations.js:40",
        "admin/js/bbcs-js/bbcs-tools.js:41"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "RU-Gov list update scheduled.",
      "references": [
        "admin/js/bbcs-js/bbcs-maintenance.js:548"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Failed to schedule RU-Gov list update.",
      "references": [
        "admin/js/bbcs-js/bbcs-maintenance.js:550"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Error scheduling RU-Gov list update.",
      "references": [
        "admin/js/bbcs-js/bbcs-maintenance.js:555"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "LLM providers synced successfully.",
      "references": [
        "admin/js/bbcs-js/bbcs-maintenance.js:576"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "LLM sync failed.",
      "references": [
        "admin/js/bbcs-js/bbcs-maintenance.js:578"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Early Init requires active BotBlocker PRO and the Early Init add-on. Open Add-ons page?",
      "references": [
        "admin/js/bbcs-js/bbcs-multipage.js:164"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Add Rule",
      "references": [
        "admin/js/bbcs-js/bbcs-multipage.js:386",
        "admin/js/bbcs-js/bbcs-multipage.js:433"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Add Path",
      "references": [
        "admin/js/bbcs-js/bbcs-multipage.js:387"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Add Proxy",
      "references": [
        "admin/js/bbcs-js/bbcs-multipage.js:391"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Nothing found for",
      "references": [
        "admin/js/bbcs-js/bbcs-multipage.js:520"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Error: ",
      "references": [
        "admin/js/bbcs-js/bbcs-setup-wizard.js:122",
        "admin/js/bbcs-js/bbcs-setup-wizard.js:245",
        "admin/js/bbcs-js/bbcs-setup-wizard.js:267",
        "admin/js/bbcs-js/bbcs-setup-wizard.js:328"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Unknown error",
      "references": [
        "admin/js/bbcs-js/bbcs-setup-wizard.js:122",
        "admin/js/bbcs-js/bbcs-setup-wizard.js:245",
        "admin/js/bbcs-js/bbcs-setup-wizard.js:267",
        "admin/js/bbcs-js/bbcs-setup-wizard.js:328"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Test failed",
      "references": [
        "admin/js/bbcs-js/bbcs-setup-wizard.js:202"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Saving...",
      "references": [
        "admin/js/bbcs-js/bbcs-setup-wizard.js:232",
        "admin/js/bbcs-js/bbcs-setup-wizard.js:255",
        "admin/js/bbcs-js/bbcs-setup-wizard.js:315",
        "admin/js/bbcs-js/bbcs-setup-wizard.js:398"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Silent Auto-Verify (No Captcha)",
      "references": [
        "admin/js/bbcs-js/bbcs-setup-wizard.js:347"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Regular plugin",
      "references": [
        "admin/js/bbcs-js/bbcs-setup-wizard.js:349"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Are you sure?",
      "references": [
        "admin/js/bbcs-js/bbcs-setup-wizard.js:429"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Auto-fix applied. Moving on.",
      "references": [
        "admin/js/bbcs-js/bbcs-setup-wizard.js:502"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Please Confirm",
      "references": [
        "admin/js/bbcs-js/bbcs-toast.js:33"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "DataTables warning: Formatted date without Moment.js or Luxon - https://datatables.net/tn/17",
      "references": [
        "admin/js/datatables/datatables.js:29554",
        "admin/js/datatables/datatables.min.js:30"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Exported data",
      "references": [
        "admin/js/datatables/datatables.min.js:40"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Burkina Faso",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:27",
        "admin/js/jsvectormap/maps/src/world.js:27",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "United Kingdom",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:139",
        "admin/js/jsvectormap/maps/src/world.js:139",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Puerto Rico",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:191",
        "admin/js/jsvectormap/maps/src/world.js:203",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Papua New Guinea",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:211",
        "admin/js/jsvectormap/maps/src/world.js:223",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "South Africa",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:247",
        "admin/js/jsvectormap/maps/src/world.js:259",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "New Caledonia",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:387",
        "admin/js/jsvectormap/maps/src/world.js:387",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "New Zealand",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:399",
        "admin/js/jsvectormap/maps/src/world.js:399",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Costa Rica",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:463",
        "admin/js/jsvectormap/maps/src/world.js:455",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "El Salvador",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:499",
        "admin/js/jsvectormap/maps/src/world.js:491",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Sierra Leone",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:527",
        "admin/js/jsvectormap/maps/src/world.js:519",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Saudi Arabia",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:535",
        "admin/js/jsvectormap/maps/src/world.js:527",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "United States",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:571",
        "admin/js/jsvectormap/maps/src/world.js:567",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Trinidad and Tobago",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:591",
        "admin/js/jsvectormap/maps/src/world.js:591",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Sri Lanka",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:599",
        "admin/js/jsvectormap/maps/src/world.js:599",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "United Arab Emirates",
      "references": [
        "admin/js/jsvectormap/maps/src/world-merc.js:643",
        "admin/js/jsvectormap/maps/src/world.js:643",
        "admin/js/jsvectormap/maps/world-merc.js:1",
        "admin/js/jsvectormap/maps/world.js:1"
      ],
      "status": "missing",
      "note": "JS-only — wrap in __() with the text domain (PHP or wp.i18n JS) to make it translatable"
    },
    {
      "msgid": "Verifying...",
      "references": [
        "public/js/check-core.js:51"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Retrying...",
      "references": [
        "public/js/check-core.js:57"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Verification failed. Please complete the challenge below.",
      "references": [
        "public/js/check-core.js:63"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    },
    {
      "msgid": "Access approved. Redirecting...",
      "references": [
        "public/js/check-core.js:68"
      ],
      "status": "duplicate",
      "note": "already in POT (PHP or JS gettext)"
    }
  ],
  "json_strings": [
    {
      "msgid": "AI-powered comment spam detection via WebSocket API.",
      "references": [
        "addons/bbcs-antispam/bbcs-addon.json:0"
      ],
      "status": "missing",
      "note": "JSON-only — needs __() in PHP when rendering addon description"
    },
    {
      "msgid": "AI Anti-Spam Comments",
      "references": [
        "addons/bbcs-antispam/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "Multi-signal behavioral analysis for advanced bot detection.",
      "references": [
        "addons/bbcs-behavior/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "Behavioral Analysis Engine",
      "references": [
        "addons/bbcs-behavior/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "Displays a lightweight first-party cookie consent banner with editable notice text, policy link, theme, position, and safe BotBlocker settings storage.",
      "references": [
        "addons/bbcs-cookie-alert/bbcs-addon.json:0"
      ],
      "status": "missing",
      "note": "JSON-only — needs __() in PHP when rendering addon description"
    },
    {
      "msgid": "Cookie Alert",
      "references": [
        "addons/bbcs-cookie-alert/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "View and manage all WordPress scheduled cron jobs. Disable unwanted cron tasks directly from the admin panel.",
      "references": [
        "addons/bbcs-cron-jobs/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "Cron Jobs Manager",
      "references": [
        "addons/bbcs-cron-jobs/bbcs-addon.json:0"
      ],
      "status": "missing",
      "note": "JSON-only — needs __() in PHP when rendering addon description"
    },
    {
      "msgid": "Runs BotBlocker filtering before WordPress loads through wp-config bootstrap integration.",
      "references": [
        "addons/bbcs-early-init/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "Shows the plugin files and system files that WordPress runs automatically without listing them on the Plugins screen, and lets you turn them off or delete them.",
      "references": [
        "addons/bbcs-forced-inclusions/bbcs-addon.json:0"
      ],
      "status": "missing",
      "note": "JSON-only — needs __() in PHP when rendering addon description"
    },
    {
      "msgid": "Forced Inclusions (MU-Plugins & Drop-ins)",
      "references": [
        "addons/bbcs-forced-inclusions/bbcs-addon.json:0"
      ],
      "status": "missing",
      "note": "JSON-only — needs __() in PHP when rendering addon description"
    },
    {
      "msgid": "Custom login URL and protection for default wp-login and registration endpoints.",
      "references": [
        "addons/bbcs-hide-admin/bbcs-addon.json:0"
      ],
      "status": "missing",
      "note": "JSON-only — needs __() in PHP when rendering addon description"
    },
    {
      "msgid": "Hide Admin URL",
      "references": [
        "addons/bbcs-hide-admin/bbcs-addon.json:0"
      ],
      "status": "missing",
      "note": "JSON-only — needs __() in PHP when rendering addon description"
    },
    {
      "msgid": "Automatically upgrades mixed content and redirects insecure traffic to HTTPS.",
      "references": [
        "addons/bbcs-https-protocol/bbcs-addon.json:0"
      ],
      "status": "missing",
      "note": "JSON-only — needs __() in PHP when rendering addon description"
    },
    {
      "msgid": "HTTPS Protocol",
      "references": [
        "addons/bbcs-https-protocol/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "Scans WordPress files for malware indicators, obfuscation chains, and webshell patterns.",
      "references": [
        "addons/bbcs-malware/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "Malware Scanner",
      "references": [
        "addons/bbcs-malware/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "Weekly site statistics digest pushed to your browser via Pusher Channels.",
      "references": [
        "addons/bbcs-pusher/bbcs-addon.json:0"
      ],
      "status": "missing",
      "note": "JSON-only — needs __() in PHP when rendering addon description"
    },
    {
      "msgid": "Pusher Weekly Digest",
      "references": [
        "addons/bbcs-pusher/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "Adds security headers, CSP controls, and optional MU-phase header dispatch.",
      "references": [
        "addons/bbcs-security-headers/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "Security Headers",
      "references": [
        "addons/bbcs-security-headers/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "Performance optimizations and frontend cleanups for faster WordPress.",
      "references": [
        "addons/bbcs-speedup/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "Weekly security report delivered straight to your Telegram chat.",
      "references": [
        "addons/bbcs-telegram/bbcs-addon.json:0"
      ],
      "status": "missing",
      "note": "JSON-only — needs __() in PHP when rendering addon description"
    },
    {
      "msgid": "Telegram Notifications",
      "references": [
        "addons/bbcs-telegram/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "Verify installed WP core, plugins, and themes against official wp.org sources. Detect modified, added, and missing files.",
      "references": [
        "addons/bbcs-truth-source/bbcs-addon.json:0"
      ],
      "status": "missing",
      "note": "JSON-only — needs __() in PHP when rendering addon description"
    },
    {
      "msgid": "Truth Source Comparator",
      "references": [
        "addons/bbcs-truth-source/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    },
    {
      "msgid": "Control XML-RPC access with IP allowlist (IPv4/IPv6) via BotBlocker pipeline.",
      "references": [
        "addons/bbcs-xmlrpc-tunnel/bbcs-addon.json:0"
      ],
      "status": "missing",
      "note": "JSON-only — needs __() in PHP when rendering addon description"
    },
    {
      "msgid": "XML-RPC Tunnel",
      "references": [
        "addons/bbcs-xmlrpc-tunnel/bbcs-addon.json:0"
      ],
      "status": "duplicate",
      "note": "Addon metadata — already in PHP __()"
    }
  ]
}
