msgid ""
msgstr ""
"Project-Id-Version: WPEPP – Essential Security, Password Protect & Login Page Customizer 2.0.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-edit-password-protected\n"
"Last-Translator: WPEPP Team <info@wpthemespace.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2026-04-05T03:52:07+00:00\n"
"PO-Revision-Date: 2026-04-05 00:00+0000\n"
"Language: es_ES\n"
"X-Generator: WP-CLI 2.12.0\n"
"X-Domain: wp-edit-password-protected\n"

#. Plugin URI of the plugin
#. Author URI of the plugin
#: wp-edit-password-protected.php
msgid "http://wpthemespace.com"
msgstr ""

#. Author of the plugin
#: wp-edit-password-protected.php
msgid "Noor alam"
msgstr "Noor alam"

#: admin/admin-only-template.php:26
#: includes/class-password-customizer.php:50
msgid "This content is password protected for members only"
msgstr "Este contenido está protegido con contraseña solo para miembros"

#: admin/admin-only-template.php:28
msgid "This content is password protected for members only. If you want to see this content please login."
msgstr "Este contenido está protegido con contraseña solo para miembros. Si desea ver este contenido, inicie sesión."

#: admin/admin-only-template.php:31
#: admin/admin-only-template.php:128
#: admin/admin-only-template.php:183
#: includes/class-member-template.php:110
#: includes/class-member-template.php:176
#: includes/class-member-template.php:231
#: build/259.js:1
#: build/838.js:2
#: src/pages/Activity.jsx:22
#: src/pages/Content/MemberTemplate.jsx:116
msgid "Login"
msgstr "Iniciar sesión"

#: admin/admin-only-template.php:33
#: includes/class-member-template.php:112
#: build/116.js:1
#: build/259.js:1
#: build/index.js:3
#: src/pages/Content/MemberTemplate.jsx:136
#: src/pages/FormStyle.jsx:26
#: src/pages/Templates.jsx:443
msgid "Login Form"
msgstr "Formulario de inicio de sesión"

#: admin/admin-only-template.php:125
#: admin/admin-only-template.php:180
#: includes/class-frontend.php:119
#: includes/class-frontend.php:434
#: includes/class-member-template.php:173
#: includes/class-member-template.php:228
#: includes/class-site-access.php:581
#: build/955.js:2
#: src/pages/Security/LoginLog.jsx:131
#: src/pages/Security/LoginLog.jsx:166
msgid "Username"
msgstr "Nombre de usuario"

#: admin/admin-only-template.php:126
#: admin/admin-only-template.php:181
#: includes/class-frontend.php:120
#: includes/class-frontend.php:404
#: includes/class-frontend.php:494
#: includes/class-member-template.php:174
#: includes/class-member-template.php:229
#: includes/class-password-customizer.php:43
#: includes/class-password-customizer.php:167
#: includes/class-site-access.php:583
#: includes/class-site-access.php:857
#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:251
msgid "Password"
msgstr "Contraseña"

#: admin/admin-only-template.php:127
#: admin/admin-only-template.php:182
#: includes/class-frontend.php:121
#: includes/class-frontend.php:408
#: includes/class-member-template.php:175
#: includes/class-member-template.php:230
#: includes/class-site-access.php:586
msgid "Remember Me"
msgstr "Recuérdame"

#: admin/admin-only-template.php:135
#: includes/class-frontend.php:100
#: includes/class-member-template.php:183
msgid "Go to Homepage"
msgstr "Ir a la página de inicio"

#: includes/class-conditional-meta.php:39
#: assets/js/editor-panels.js:387
#: build/293.js:2
#: build/854.js:1
#: build/index.js:2
#: src/pages/Content.jsx:27
#: src/pages/Content/ConditionalDisplay.jsx:59
#: src/pages/Dashboard.jsx:150
msgid "Conditional Display"
msgstr "Visualización condicional"

#: includes/class-conditional-meta.php:66
#: includes/class-pro.php:111
#: includes/class-rest-api.php:1174
#: assets/js/editor-panels.js:401
msgid "User is logged in"
msgstr "El usuario está conectado"

#: includes/class-conditional-meta.php:67
#: includes/class-pro.php:112
#: includes/class-rest-api.php:1175
#: assets/js/editor-panels.js:402
msgid "User is logged out"
msgstr "El usuario no está conectado"

#: includes/class-conditional-meta.php:68
#: includes/class-pro.php:120
#: includes/class-rest-api.php:1176
#: assets/js/editor-panels.js:403
msgid "User role"
msgstr "Rol de usuario"

#: includes/class-conditional-meta.php:69
#: includes/class-pro.php:121
#: includes/class-rest-api.php:1177
#: assets/js/editor-panels.js:404
msgid "Device type"
msgstr "Tipo de dispositivo"

#: includes/class-conditional-meta.php:70
#: includes/class-pro.php:122
#: includes/class-rest-api.php:1178
#: assets/js/editor-panels.js:405
msgid "Day of week"
msgstr "Día de la semana"

#: includes/class-conditional-meta.php:71
#: includes/class-rest-api.php:1179
#: assets/js/editor-panels.js:406
msgid "Time of day"
msgstr "Hora del día"

#: includes/class-conditional-meta.php:72
#: includes/class-pro.php:124
#: includes/class-rest-api.php:1180
#: assets/js/editor-panels.js:407
msgid "Date range"
msgstr "Rango de fechas"

#: includes/class-conditional-meta.php:73
#: includes/class-pro.php:125
#: includes/class-rest-api.php:1181
#: assets/js/editor-panels.js:408
msgid "Recurring schedule"
msgstr "Programación recurrente"

#: includes/class-conditional-meta.php:74
#: includes/class-pro.php:126
#: includes/class-rest-api.php:1182
#: assets/js/editor-panels.js:409
msgid "Post type"
msgstr "Tipo de entrada"

#: includes/class-conditional-meta.php:75
#: includes/class-pro.php:127
#: includes/class-rest-api.php:1183
#: assets/js/editor-panels.js:410
msgid "Browser type"
msgstr "Tipo de navegador"

#: includes/class-conditional-meta.php:76
#: includes/class-pro.php:128
#: includes/class-rest-api.php:1184
#: assets/js/editor-panels.js:411
msgid "URL parameter"
msgstr "Parámetro de URL"

#: includes/class-conditional-meta.php:77
#: includes/class-pro.php:129
#: includes/class-rest-api.php:1185
#: assets/js/editor-panels.js:412
msgid "Referrer source"
msgstr "Fuente de referencia"

#: includes/class-conditional-meta.php:85
#: assets/js/editor-panels.js:392
msgid "Enable conditional display"
msgstr "Activar visualización condicional"

#: includes/class-conditional-meta.php:92
#: assets/js/editor-panels.js:398
msgid "Condition:"
msgstr "Condición:"

#: includes/class-conditional-meta.php:106
#: includes/class-content-lock.php:97
#: assets/js/editor-panels.js:166
#: assets/js/editor-panels.js:418
msgid "Action:"
msgstr "Acción:"

#: includes/class-conditional-meta.php:108
#: assets/js/editor-panels.js:421
msgid "Show content when condition is met"
msgstr "Mostrar contenido cuando se cumpla la condición"

#: includes/class-conditional-meta.php:109
#: assets/js/editor-panels.js:422
msgid "Hide content when condition is met"
msgstr "Ocultar contenido cuando se cumpla la condición"

#: includes/class-conditional-meta.php:119
#: assets/js/editor-panels.js:428
msgid "Also control title visibility"
msgstr "También controlar la visibilidad del título"

#: includes/class-conditional-meta.php:127
#: assets/js/editor-panels.js:433
msgid "Also control featured image"
msgstr "También controlar la imagen destacada"

#: includes/class-conditional-meta.php:135
#: assets/js/editor-panels.js:438
msgid "Also hide comments"
msgstr "También ocultar comentarios"

#: includes/class-conditional-meta.php:145
#: assets/js/editor-panels.js:444
msgid "Show notice when hidden"
msgstr "Mostrar aviso cuando esté oculto"

#: includes/class-conditional-meta.php:151
#: assets/js/editor-panels.js:449
msgid "Notice text:"
msgstr "Texto del aviso:"

#: includes/class-conditional-meta.php:179
#: assets/js/editor-panels.js:235
msgid "Roles:"
msgstr "Roles:"

#: includes/class-conditional-meta.php:199
#: assets/js/editor-panels.js:223
msgid "Device:"
msgstr "Dispositivo:"

#: includes/class-conditional-meta.php:223
#: includes/class-conditional-meta.php:280
#: assets/js/editor-panels.js:244
#: assets/js/editor-panels.js:305
msgid "Days:"
msgstr "Días:"

#: includes/class-conditional-meta.php:244
#: includes/class-conditional-meta.php:276
#: assets/js/editor-panels.js:261
#: assets/js/editor-panels.js:293
msgid "Start time:"
msgstr "Hora de inicio:"

#: includes/class-conditional-meta.php:246
#: includes/class-conditional-meta.php:278
#: assets/js/editor-panels.js:267
#: assets/js/editor-panels.js:299
msgid "End time:"
msgstr "Hora de finalización:"

#: includes/class-conditional-meta.php:258
#: assets/js/editor-panels.js:277
msgid "Start date:"
msgstr "Fecha de inicio:"

#: includes/class-conditional-meta.php:260
#: assets/js/editor-panels.js:283
msgid "End date:"
msgstr "Fecha de finalización:"

#: includes/class-conditional-meta.php:304
#: assets/js/editor-panels.js:322
msgid "Post types:"
msgstr "Tipos de entrada:"

#: includes/class-conditional-meta.php:328
#: assets/js/editor-panels.js:331
msgid "Browsers:"
msgstr "Navegadores:"

#: includes/class-conditional-meta.php:349
#: assets/js/editor-panels.js:347
msgid "Parameter name:"
msgstr "Nombre del parámetro:"

#: includes/class-conditional-meta.php:351
#: assets/js/editor-panels.js:352
msgid "Parameter value:"
msgstr "Valor del parámetro:"

#: includes/class-conditional-meta.php:362
#: assets/js/editor-panels.js:360
msgid "Referrer URL contains:"
msgstr "La URL de referencia contiene:"

#: includes/class-content-lock.php:39
#: assets/js/editor-panels.js:138
#: build/854.js:1
#: build/index.js:1
#: build/index.js:2
#: src/components/Sidebar.jsx:50
#: src/pages/Content.jsx:23
#: src/pages/Content.jsx:40
#: src/pages/Dashboard.jsx:141
msgid "Content Lock"
msgstr "Bloqueo de contenido"

#: includes/class-content-lock.php:75
#: assets/js/editor-panels.js:143
msgid "Content Lock requires the Pro version."
msgstr "El bloqueo de contenido requiere la versión Pro."

#: includes/class-content-lock.php:84
#: assets/js/editor-panels.js:146
msgid "Lock this content"
msgstr "Bloquear este contenido"

#: includes/class-content-lock.php:91
#: assets/js/editor-panels.js:153
msgid "Locked message:"
msgstr "Mensaje de bloqueo:"

#: includes/class-content-lock.php:100
#: assets/js/editor-panels.js:169
msgid "Show login link"
msgstr "Mostrar enlace de inicio de sesión"

#: includes/class-content-lock.php:101
#: assets/js/editor-panels.js:170
msgid "Show login form"
msgstr "Mostrar formulario de inicio de sesión"

#: includes/class-content-lock.php:102
#: assets/js/editor-panels.js:171
msgid "Popup login (blur content)"
msgstr "Inicio de sesión en popup (difuminar contenido)"

#: includes/class-content-lock.php:103
#: assets/js/editor-panels.js:172
msgid "Redirect to URL"
msgstr "Redirigir a URL"

#: includes/class-content-lock.php:108
msgid "Popup header:"
msgstr "Encabezado del popup:"

#: includes/class-content-lock.php:111
#: includes/class-frontend.php:78
#: includes/class-member-template.php:105
#: assets/js/editor-panels.js:162
msgid "Members Only"
msgstr "Solo miembros"

#: includes/class-content-lock.php:116
#: assets/js/editor-panels.js:177
msgid "Redirect URL:"
msgstr "URL de redirección:"

#: includes/class-content-lock.php:123
#: assets/js/editor-panels.js:183
msgid "Lock for:"
msgstr "Bloquear para:"

#: includes/class-content-lock.php:127
#: assets/js/editor-panels.js:184
msgid "Logged-out users"
msgstr "Usuarios no conectados"

#: includes/class-content-lock.php:135
#: assets/js/editor-panels.js:190
msgid "Leave empty to lock for all logged-out users."
msgstr "Dejar vacío para bloquear para todos los usuarios no conectados."

#: includes/class-content-lock.php:139
#: assets/js/editor-panels.js:193
msgid "Auto-unlock after:"
msgstr "Desbloqueo automático después de:"

#: includes/class-content-lock.php:143
msgid "Leave empty for no expiry. Uses site timezone."
msgstr "Dejar vacío sin caducidad. Usa la zona horaria del sitio."

#: includes/class-content-lock.php:151
#: assets/js/editor-panels.js:200
msgid "Show excerpt on blog page"
msgstr "Mostrar extracto en la página del blog"

#: includes/class-content-lock.php:156
#: assets/js/editor-panels.js:205
msgid "Custom excerpt text:"
msgstr "Texto de extracto personalizado:"

#: includes/class-content-lock.php:158
#: assets/js/editor-panels.js:209
msgid "Leave empty to auto-generate from content"
msgstr "Dejar vacío para generar automáticamente desde el contenido"

#: includes/class-docs.php:30
#: includes/class-docs.php:31
msgid "Documentation"
msgstr "Documentación"

#: build/index.js:1
#: build/index.js:2
#: src/components/Sidebar.jsx:48
#: src/pages/Dashboard.jsx:213
msgid "Form Style"
msgstr "Estilo del formulario"

#: includes/class-docs.php:966
#: includes/class-plugin.php:331
msgid "Unauthorized access."
msgstr "Acceso no autorizado."

#: build/index.js:1
#: src/components/ProBadge.jsx:8
msgid "PRO"
msgstr "PRO"

#: includes/class-docs.php:1332
msgid "Support Forum"
msgstr "Foro de soporte"

#: includes/class-docs.php:1338
#: includes/class-notice.php:118
#: build/116.js:1
#: build/926.js:1
#: build/index.js:1
#: build/index.js:3
#: src/components/Header.jsx:70
#: src/components/ProLock.jsx:56
#: src/pages/Dashboard.jsx:420
#: src/pages/FormStyle.jsx:54
#: src/pages/FormStyle.jsx:71
#: src/pages/Security/AutoLogin.jsx:166
#: src/pages/Templates.jsx:434
msgid "Upgrade to Pro"
msgstr "Actualizar a Pro"

#: includes/class-frontend.php:25
#: includes/class-frontend.php:73
msgid "This content is for members only. Please log in to view."
msgstr "Este contenido es solo para miembros. Por favor, inicie sesión para verlo."

#: includes/class-frontend.php:43
#: includes/class-frontend.php:53
#: includes/class-frontend.php:122
#: includes/class-frontend.php:411
#: includes/class-site-access.php:588
msgid "Log In"
msgstr "Iniciar sesión"

#: includes/class-frontend.php:164
msgid "Preview"
msgstr "Vista previa"

#: includes/class-frontend.php:400
#: includes/class-frontend.php:467
msgid "Username or Email Address"
msgstr "Nombre de usuario o dirección de correo electrónico"

#: includes/class-frontend.php:415
msgid "Lost your password?"
msgstr "¿Olvidó su contraseña?"

#: includes/class-frontend.php:418
#: includes/class-frontend.php:450
#: includes/class-frontend.php:478
msgid "Go to site"
msgstr "Ir al sitio"

#: includes/class-frontend.php:438
msgid "Email"
msgstr "Correo electrónico"

#: includes/class-frontend.php:441
msgid "Registration confirmation will be emailed to you."
msgstr "Se le enviará un correo electrónico de confirmación de registro."

#: includes/class-frontend.php:443
#: build/40.js:1
#: src/pages/FormStyle/RegisterForm.jsx:408
msgid "Register"
msgstr "Registrarse"

#: includes/class-frontend.php:447
#: includes/class-frontend.php:475
msgid "Log in"
msgstr "Iniciar sesión"

#: includes/class-frontend.php:465
msgid "Please enter your username or email address. You will receive an email message with instructions on how to reset your password."
msgstr "Por favor, ingrese su nombre de usuario o dirección de correo electrónico. Recibirá un mensaje de correo con instrucciones sobre cómo restablecer su contraseña."

#: includes/class-frontend.php:471
msgid "Get New Password"
msgstr "Obtener nueva contraseña"

#: includes/class-frontend.php:500
#: includes/class-password-customizer.php:49
#: includes/class-password-customizer.php:173
#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:272
msgid "Submit"
msgstr "Enviar"

#: includes/class-member-template.php:42
msgid "Member Only (Login Required)"
msgstr "Solo miembros (inicio de sesión requerido)"

#: build/500.js:6
#: src/pages/Security/Scanner.jsx:421
msgid "Dismiss"
msgstr "Cerrar"

#. translators: %s: Social network name
#: includes/class-password-customizer.php:292
#, php-format
msgid "Visit our %s page"
msgstr "Visite nuestra página %s"

#: includes/class-password-customizer.php:307
msgid "Visit our website"
msgstr "Visite nuestro sitio web"

#: build/index.js:1
#: src/components/Sidebar.jsx:73
msgid "WPEPP"
msgstr "WPEPP"

#: includes/class-plugin.php:346
#: build/index.js:1
#: build/index.js:2
#: src/components/Sidebar.jsx:59
#: src/pages/Dashboard.jsx:225
msgid "Settings"
msgstr "Ajustes"

#: includes/class-plugin.php:352
#: build/index.js:1
#: src/components/Header.jsx:78
msgid "Docs"
msgstr "Documentación"

#: includes/class-plugin.php:362
msgid "Upgrade Now"
msgstr "Actualizar ahora"

#: includes/class-plugin.php:718
msgid "Protection"
msgstr "Protección"

#: includes/class-plugin.php:737
msgid "Password Protected"
msgstr "Protegido con contraseña"

#: includes/class-plugin.php:745
msgid "Lock: Login Link"
msgstr "Bloqueo: Enlace de inicio de sesión"

#: includes/class-plugin.php:746
msgid "Lock: Login Form"
msgstr "Bloqueo: Formulario de inicio de sesión"

#: includes/class-plugin.php:747
msgid "Lock: Popup"
msgstr "Bloqueo: Popup"

#: includes/class-plugin.php:748
msgid "Lock: Redirect"
msgstr "Bloqueo: Redirección"

#: includes/class-plugin.php:750
#: build/289.js:2
#: src/pages/Content/ContentLock.jsx:71
msgid "Locked"
msgstr "Bloqueado"

#: includes/class-plugin.php:759
#: build/40.js:1
#: build/302.js:1
#: build/645.js:2
#: build/index.js:3
#: src/pages/CpuMonitor/SlowQueries.jsx:140
#: src/pages/FormStyle/LoginForm.jsx:261
#: src/pages/FormStyle/LostPasswordForm.jsx:222
#: src/pages/FormStyle/RegisterForm.jsx:222
msgid "Hide"
msgstr "Ocultar"

#: includes/class-plugin.php:759
msgid "Show"
msgstr "Mostrar"

#: includes/class-plugin.php:1800
msgid "This content is protected."
msgstr "Este contenido está protegido."

#: includes/class-plugin.php:1962
msgid "Invalid preview token."
msgstr "Token de vista previa no válido."

#: includes/class-plugin.php:1981
msgid "Unauthorized"
msgstr "No autorizado"

#: includes/class-pro.php:123
msgid "Time range"
msgstr "Rango de tiempo"

#: includes/class-pro.php:276
msgid "This feature requires WPEPP Pro."
msgstr "Esta función requiere WPEPP Pro."

#: includes/class-cpu-monitor.php:204
#: includes/class-rest-api.php:553
#: includes/class-rest-api.php:582
msgid "You do not have permission to access this resource."
msgstr "No tiene permiso para acceder a este recurso."

#: includes/class-rest-api.php:611
msgid "Insufficient permissions."
msgstr "Permisos insuficientes."

#: includes/class-cpu-monitor.php:413
#: includes/class-rest-api.php:665
#: includes/class-rest-api.php:733
#: includes/class-rest-api.php:1128
msgid "Invalid data."
msgstr "Datos no válidos."

#: includes/class-rest-api.php:855
msgid "Template not found."
msgstr "Plantilla no encontrada."

#: includes/class-rest-api.php:867
msgid "Invalid template data."
msgstr "Datos de plantilla no válidos."

#: includes/class-rest-api.php:921
msgid "Invalid JSON format."
msgstr "Formato JSON no válido."

#: includes/class-rest-api.php:951
#: includes/class-rest-api.php:1028
#: includes/class-rest-api.php:1220
msgid "Post not found."
msgstr "Entrada no encontrada."

#: includes/class-rest-api.php:1575
msgid "Unknown"
msgstr "Desconocido"

#: includes/class-rest-api.php:1613
msgid "Invalid user."
msgstr "Usuario no válido."

#: includes/class-rest-api.php:1616
#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:84
#: src/pages/Security/AutoLogin.jsx:203
msgid "Auto Login Link"
msgstr "Enlace de inicio de sesión automático"

#: includes/class-rest-api.php:1702
#: includes/class-rest-api.php:1715
msgid "Link not found."
msgstr "Enlace no encontrado."

#: includes/class-rest-api.php:1758
msgid "No pending 2FA setup. Please start setup first."
msgstr "No hay configuración de 2FA pendiente. Por favor, inicie la configuración primero."

#: includes/class-rest-api.php:1762
msgid "Invalid verification code. Please try again."
msgstr "Código de verificación no válido. Por favor, inténtelo de nuevo."

#: includes/class-security.php:433
msgid "Too many failed login attempts. Please try again later."
msgstr "Demasiados intentos fallidos de inicio de sesión. Por favor, inténtelo más tarde."

#: includes/class-security.php:767
#: includes/class-security.php:1495
#: includes/core/class-spam-guard.php:201
#: includes/core/class-spam-guard.php:266
msgid "Leave empty"
msgstr "Dejar vacío"

#: includes/class-security.php:783
msgid "Authentication failed."
msgstr "Autenticación fallida."

#: includes/class-security.php:991
#: includes/class-security.php:1204
msgid "Page not found."
msgstr "Página no encontrada."

#: includes/class-security.php:992
#: includes/class-security.php:1205
msgid "404 Not Found"
msgstr "404 No encontrado"

#: includes/class-security.php:1299
msgid "Invalid auto-login link."
msgstr "Enlace de inicio de sesión automático no válido."

#: includes/class-security.php:1300
#: includes/class-security.php:1311
#: includes/class-security.php:1366
#: includes/class-security.php:1375
#: includes/class-security.php:1384
#: includes/class-security.php:1394
#: includes/class-security.php:1404
msgid "Login Error"
msgstr "Error de inicio de sesión"

#: includes/class-security.php:1365
msgid "Invalid or expired auto-login link."
msgstr "Enlace de inicio de sesión automático no válido o caducado."

#: includes/class-security.php:1374
msgid "This auto-login link has expired."
msgstr "Este enlace de inicio de sesión automático ha caducado."

#: includes/class-security.php:1383
msgid "This auto-login link has reached its maximum number of uses."
msgstr "Este enlace de inicio de sesión automático ha alcanzado su número máximo de usos."

#: includes/class-security.php:1393
msgid "The user associated with this link no longer exists."
msgstr "El usuario asociado a este enlace ya no existe."

#: includes/class-security.php:1403
msgid "This auto-login link is restricted to a specific role that your account does not have."
msgstr "Este enlace de inicio de sesión automático está restringido a un rol específico que su cuenta no tiene."

#: includes/class-security.php:1513
msgid "<strong>Error:</strong> Registration blocked."
msgstr "<strong>Error:</strong> Registro bloqueado."

#: includes/class-security.php:1543
msgid "<strong>Error:</strong> Too many registration attempts. Please try again later."
msgstr "<strong>Error:</strong> Demasiados intentos de registro. Por favor, inténtelo más tarde."

#: includes/class-security.php:1575
msgid "<strong>Error:</strong> Registration with disposable email addresses is not allowed. Please use a permanent email address."
msgstr "<strong>Error:</strong> No se permite el registro con direcciones de correo desechables. Por favor, use una dirección de correo permanente."

#: includes/class-security.php:1680
msgid "<strong>Error:</strong> Registration is only allowed from approved email domains."
msgstr "<strong>Error:</strong> El registro solo está permitido desde dominios de correo aprobados."

#: includes/class-security.php:1687
msgid "<strong>Error:</strong> Registration from this email domain is not allowed."
msgstr "<strong>Error:</strong> El registro desde este dominio de correo no está permitido."

#: includes/class-security.php:1732
msgid "Your account is pending approval by an administrator. You will receive an email once approved."
msgstr "Su cuenta está pendiente de aprobación por un administrador. Recibirá un correo una vez aprobada."

#: includes/class-security.php:1755
msgid "<strong>Error:</strong> Your account is pending approval by an administrator."
msgstr "<strong>Error:</strong> Su cuenta está pendiente de aprobación por un administrador."

#. translators: %s: Site name
#: includes/class-security.php:1776
#, php-format
msgid "[%s] New user registration pending approval"
msgstr "[%s] Nuevo registro de usuario pendiente de aprobación"

#. translators: 1: Site name, 2: Username, 3: Email, 4: Approve URL
#: includes/class-security.php:1782
#, php-format
msgid ""
"A new user has registered on %1$s and is pending your approval.\n"
"\n"
"Username: %2$s\n"
"Email: %3$s\n"
"\n"
"To approve or reject this user, visit:\n"
"%4$s"
msgstr ""

#: includes/class-security.php:1802
msgid "Authentication Code"
msgstr "Código de autenticación"

#: includes/class-security.php:1803
msgid "6-digit code or recovery code"
msgstr "Código de 6 dígitos o código de recuperación"

#: includes/class-security.php:1880
msgid "<strong>Error:</strong> Please enter your two-factor authentication code."
msgstr "<strong>Error:</strong> Por favor, ingrese su código de autenticación de dos factores."

#: includes/class-security.php:1905
msgid "<strong>Error:</strong> Invalid authentication code. Please try again."
msgstr "<strong>Error:</strong> Código de autenticación no válido. Por favor, inténtelo de nuevo."

#: includes/class-security.php:1925
#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:183
msgid "Two-Factor Authentication"
msgstr "Autenticación de dos factores"

#: includes/class-security.php:1928
#: build/174.js:2
#: build/796.js:2
#: build/955.js:2
#: build/index.js:2
#: src/components/AuditReportModal.jsx:197
#: src/pages/CpuMonitor/CronJobs.jsx:122
#: src/pages/Security/Hardening.jsx:218
#: src/pages/Security/LoginLog.jsx:133
#: src/pages/Security/LoginLog.jsx:168
msgid "Status"
msgstr "Estado"

#: includes/class-security.php:1931
#: build/293.js:2
#: src/pages/Content/ConditionalDisplay.jsx:94
msgid "Enabled"
msgstr "Activado"

#: includes/class-security.php:1933
#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:243
msgid "Two-factor authentication is active on your account."
msgstr "La autenticación de dos factores está activa en su cuenta."

#: includes/class-security.php:1938
msgid "Disable two-factor authentication"
msgstr "Desactivar autenticación de dos factores"

#: includes/class-security.php:1941
msgid "Not configured"
msgstr "No configurado"

#: includes/class-security.php:1945
msgid "Two-factor authentication is required for your account. Please set it up below."
msgstr "Se requiere autenticación de dos factores para su cuenta. Por favor, configúrela a continuación."

#: includes/class-security.php:1958
msgid "Setup"
msgstr "Configuración"

#: includes/class-security.php:1959
msgid "1. Scan this QR code with your authenticator app (Google Authenticator, Authy, etc.):"
msgstr "1. Escanee este código QR con su aplicación de autenticación (Google Authenticator, Authy, etc.):"

#: includes/class-security.php:1972
#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:295
msgid "Manual key:"
msgstr "Clave manual:"

#: includes/class-security.php:1973
msgid "2. Enter the 6-digit code from your authenticator app to verify:"
msgstr "2. Ingrese el código de 6 dígitos de su aplicación de autenticación para verificar:"

#: includes/class-security.php:1974
msgid "6-digit code"
msgstr "Código de 6 dígitos"

#: includes/class-security.php:229
#: includes/class-security.php:2045
msgid "Your IP address has been blocked from accessing this site."
msgstr "Su dirección IP ha sido bloqueada para acceder a este sitio."

#: includes/class-security.php:230
#: includes/class-security.php:2046
msgid "Access Denied"
msgstr "Acceso denegado"

#: includes/class-security.php:2078
msgid "Your IP address has been blocked."
msgstr "Su dirección IP ha sido bloqueada."

#: includes/class-security.php:2316
#: includes/class-username-shield.php:83
msgid "Access denied."
msgstr "Acceso denegado."

#: includes/class-security.php:2317
#: includes/class-username-shield.php:84
msgid "Forbidden"
msgstr "Prohibido"

#: includes/class-site-access.php:447
msgid "Security check failed. Please try again."
msgstr "La verificación de seguridad falló. Por favor, inténtelo de nuevo."

#: includes/class-site-access.php:466
msgid "Invalid username or password. Please try again."
msgstr "Nombre de usuario o contraseña no válidos. Por favor, inténtelo de nuevo."

#: includes/class-site-access.php:534
msgid "This site is for members only. Please log in to continue."
msgstr "Este sitio es solo para miembros. Por favor, inicie sesión para continuar."

#: includes/class-site-access.php:535
#: includes/class-site-access.php:563
msgid "Login Required"
msgstr "Inicio de sesión requerido"

#: includes/class-site-access.php:837
msgid "This site is password protected. Please enter the password to continue."
msgstr "Este sitio está protegido con contraseña. Por favor, ingrese la contraseña para continuar."

#: includes/class-plugin.php:1803
#: includes/class-site-access.php:825
#: build/796.js:2
#: src/pages/Security/Hardening.jsx:266
msgid "Protected"
msgstr "Protegido"

#: includes/class-site-access.php:850
msgid "Incorrect password. Please try again."
msgstr "Contraseña incorrecta. Por favor, inténtelo de nuevo."

#: includes/class-site-access.php:859
msgid "Enter Site"
msgstr "Entrar al sitio"

#. translators: %s: site name
#: includes/class-site-access.php:406
#: includes/class-site-access.php:867
#, php-format
msgid "&copy; %s. All rights reserved."
msgstr "&copy; %s. Todos los derechos reservados."

#: assets/js/editor-panels.js:227
msgid "Mobile"
msgstr "Móvil"

#: assets/js/editor-panels.js:228
msgid "Tablet"
msgstr "Tableta"

#: assets/js/editor-panels.js:226
msgid "Desktop"
msgstr "Escritorio"

#: build/773.js:1
#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:67
#: src/pages/Security/TwoFactor.jsx:22
msgid "Administrator"
msgstr "Administrador"

#: build/773.js:1
#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:68
#: src/pages/Security/TwoFactor.jsx:23
msgid "Editor"
msgstr "Editor"

#: build/773.js:1
#: build/913.js:2
#: build/926.js:1
#: src/pages/CpuMonitor/PluginPerformance.jsx:97
#: src/pages/Security/AutoLogin.jsx:69
#: src/pages/Security/TwoFactor.jsx:24
msgid "Author"
msgstr "Autor"

#: build/773.js:1
#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:70
#: src/pages/Security/TwoFactor.jsx:25
msgid "Contributor"
msgstr "Colaborador"

#: build/773.js:1
#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:71
#: src/pages/Security/TwoFactor.jsx:26
msgid "Subscriber"
msgstr "Suscriptor"

#: build/293.js:2
#: src/pages/Content/ConditionalDisplay.jsx:93
msgid "Action"
msgstr "Acción"

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:280
msgid "The password you have entered is invalid"
msgstr "La contraseña que ha ingresado no es válida"

#: assets/js/editor-panels.js:159
msgid "Popup Header:"
msgstr "Encabezado del popup:"

#: assets/js/editor-panels.js:163
msgid "Custom title for the popup. Leave empty for default."
msgstr "Título personalizado para el popup. Dejar vacío para el predeterminado."

#: assets/js/editor-panels.js:187
msgid "Lock for all — select to restrict"
msgstr "Bloquear para todos — seleccionar para restringir"

#: assets/js/editor-panels.js:197
msgid "Leave empty for no expiry."
msgstr "Dejar vacío sin caducidad."

#: assets/js/editor-panels.js:239
msgid "Select roles…"
msgstr "Seleccionar roles…"

#: assets/js/editor-panels.js:326
msgid "Select post types…"
msgstr "Seleccionar tipos de entrada…"

#: build/20.js:1
#: build/587.js:1
#: src/pages/Logins.jsx:20
#: src/pages/Security/LoginProtection.jsx:58
msgid "Login Protection"
msgstr "Protección del inicio de sesión"

#: build/20.js:1
#: build/index.js:2
#: src/pages/Dashboard.jsx:76
#: src/pages/Security/LoginProtection.jsx:60
msgid "Login Limiter"
msgstr "Limitador de inicio de sesión"

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:63
msgid "Enable Login Limiter"
msgstr "Activar limitador de inicio de sesión"

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:64
msgid "Users will be locked out after too many failed login attempts. The lockout is based on IP address."
msgstr "Los usuarios serán bloqueados tras demasiados intentos fallidos de inicio de sesión. El bloqueo se basa en la dirección IP."

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:72
msgid "Max Attempts"
msgstr "Intentos máximos"

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:79
msgid "Lockout Duration (minutes)"
msgstr "Duración del bloqueo (minutos)"

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:100
msgid "Honeypot"
msgstr "Honeypot"

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:103
msgid "Enable Honeypot Field"
msgstr "Activar campo honeypot"

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:104
msgid "An invisible field is added to the login form. Bots that auto-fill it will be blocked. The field is hidden from real users — this is by design."
msgstr "Se añade un campo invisible al formulario de inicio de sesión. Los bots que lo rellenen automáticamente serán bloqueados. El campo está oculto para los usuarios reales — esto es intencionado."

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:111
msgid "WordPress Hardening"
msgstr "Endurecimiento de WordPress"

#: build/20.js:1
#: build/index.js:2
#: src/pages/Dashboard.jsx:100
#: src/pages/Security/LoginProtection.jsx:114
msgid "Disable XML-RPC"
msgstr "Desactivar XML-RPC"

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:115
msgid "XML-RPC is disabled. This blocks remote publishing via third-party apps and prevents XML-RPC brute force attacks."
msgstr "XML-RPC está desactivado. Esto bloquea la publicación remota a través de aplicaciones de terceros y previene ataques de fuerza bruta XML-RPC."

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:120
msgid "Hide WordPress Version"
msgstr "Ocultar versión de WordPress"

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:121
msgid "The WordPress version number is removed from the page source, making it harder for attackers to identify known vulnerabilities."
msgstr "El número de versión de WordPress se elimina del código fuente de la página, dificultando que los atacantes identifiquen vulnerabilidades conocidas."

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:126
msgid "Disable REST API User Enumeration"
msgstr "Desactivar enumeración de usuarios de la API REST"

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:127
msgid "The /wp/v2/users REST endpoint is blocked for non-admin users, preventing attackers from discovering usernames."
msgstr "El endpoint REST /wp/v2/users está bloqueado para usuarios no administradores, evitando que los atacantes descubran nombres de usuario."

#: build/index.js:2
#: src/pages/Dashboard.jsx:124
msgid "reCAPTCHA"
msgstr "reCAPTCHA"

#: build/20.js:1
#: build/587.js:1
#: build/783.js:1
#: src/pages/Logins.jsx:25
#: src/pages/Security/CustomLoginUrl.jsx:70
#: src/pages/Security/LoginProtection.jsx:239
msgid "Custom Login URL"
msgstr "URL de inicio de sesión personalizada"

#: build/20.js:1
#: build/783.js:1
#: src/pages/Security/CustomLoginUrl.jsx:90
#: src/pages/Security/LoginProtection.jsx:243
msgid "Custom Login Slug"
msgstr "Slug de inicio de sesión personalizado"

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:244
msgid "Replace the default wp-login.php URL with a custom slug."
msgstr "Reemplace la URL predeterminada de wp-login.php con un slug personalizado."

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:253
msgid "Your custom login URL is active. Use the slug above instead of wp-login.php."
msgstr "Su URL de inicio de sesión personalizada está activa. Use el slug anterior en lugar de wp-login.php."

#: build/20.js:1
#: build/783.js:1
#: src/pages/Security/CustomLoginUrl.jsx:126
#: src/pages/Security/LoginProtection.jsx:258
msgid "Hide Login Page"
msgstr "Ocultar página de inicio de sesión"

#: build/20.js:1
#: build/783.js:1
#: src/pages/Security/CustomLoginUrl.jsx:129
#: src/pages/Security/LoginProtection.jsx:261
msgid "Hide wp-login.php"
msgstr "Ocultar wp-login.php"

#: build/20.js:1
#: build/783.js:1
#: src/pages/Security/CustomLoginUrl.jsx:139
#: src/pages/Security/LoginProtection.jsx:270
msgid "Direct access to wp-login.php and wp-admin will return a 404 page for non-logged-in users. Make sure you have a Custom Login URL set above before enabling this, or you may lock yourself out."
msgstr "El acceso directo a wp-login.php y wp-admin devolverá una página 404 para usuarios no conectados. Asegúrese de tener configurada una URL de inicio de sesión personalizada antes de activar esto, o podría bloquearse el acceso."

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:276
msgid "No Custom Login URL is set! Set a slug in the Custom Login URL section above first, otherwise you will not be able to access the login page."
msgstr "¡No hay URL de inicio de sesión personalizada configurada! Establezca primero un slug en la sección URL de inicio de sesión personalizada, de lo contrario no podrá acceder a la página de inicio de sesión."

#: includes/class-docs.php:435
#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:285
msgid "After Login Redirect"
msgstr "Redirección después del inicio de sesión"

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:293
msgid "Redirect URL"
msgstr "URL de redirección"

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:300
msgid "Redirect users to this URL after a successful login. Leave empty for default WordPress behavior (wp-admin)."
msgstr "Redirigir usuarios a esta URL después de un inicio de sesión exitoso. Dejar vacío para el comportamiento predeterminado de WordPress (wp-admin)."

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:311
msgid "Users will be redirected to this URL after login, unless a specific redirect_to parameter is already in the login URL."
msgstr "Los usuarios serán redirigidos a esta URL después del inicio de sesión, a menos que ya haya un parámetro redirect_to específico en la URL de inicio de sesión."

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:74
#: src/pages/FormStyle/LostPasswordForm.jsx:64
#: src/pages/FormStyle/PasswordForm.jsx:73
#: src/pages/FormStyle/RegisterForm.jsx:64
msgid "Select Image"
msgstr "Seleccionar imagen"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:75
#: src/pages/FormStyle/LostPasswordForm.jsx:65
#: src/pages/FormStyle/PasswordForm.jsx:74
#: src/pages/FormStyle/RegisterForm.jsx:65
msgid "Use this image"
msgstr "Usar esta imagen"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:96
#: src/pages/FormStyle/LostPasswordForm.jsx:80
#: src/pages/FormStyle/PasswordForm.jsx:314
#: src/pages/FormStyle/RegisterForm.jsx:80
msgid "Page Background"
msgstr "Fondo de página"

#: build/40.js:1
#: build/289.js:2
#: build/293.js:2
#: build/302.js:1
#: build/306.js:2
#: build/310.js:2
#: build/500.js:9
#: build/648.js:1
#: build/index.js:3
#: src/pages/Content/ConditionalDisplay.jsx:91
#: src/pages/Content/ContentLock.jsx:70
#: src/pages/CpuMonitor/ErrorLog.jsx:133
#: src/pages/FormStyle/LoginForm.jsx:101
#: src/pages/FormStyle/LostPasswordForm.jsx:85
#: src/pages/FormStyle/PasswordForm.jsx:319
#: src/pages/FormStyle/RegisterForm.jsx:85
#: src/pages/Security/Blocks.jsx:161
#: src/pages/Security/Scanner.jsx:632
msgid "Type"
msgstr "Tipo"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:104
#: src/pages/FormStyle/LostPasswordForm.jsx:88
#: src/pages/FormStyle/PasswordForm.jsx:322
#: src/pages/FormStyle/RegisterForm.jsx:88
msgid "Color"
msgstr "Color"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:105
#: src/pages/FormStyle/LostPasswordForm.jsx:89
#: src/pages/FormStyle/PasswordForm.jsx:323
#: src/pages/FormStyle/RegisterForm.jsx:89
msgid "Image"
msgstr "Imagen"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:106
#: src/pages/FormStyle/LostPasswordForm.jsx:90
#: src/pages/FormStyle/PasswordForm.jsx:324
#: src/pages/FormStyle/RegisterForm.jsx:90
msgid "Gradient (Pro)"
msgstr "Degradado (Pro)"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:107
#: src/pages/FormStyle/LostPasswordForm.jsx:91
#: src/pages/FormStyle/PasswordForm.jsx:325
#: src/pages/FormStyle/RegisterForm.jsx:91
msgid "Video (Pro)"
msgstr "Video (Pro)"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:118
#: src/pages/FormStyle/LoginForm.jsx:367
#: src/pages/FormStyle/LoginForm.jsx:416
#: src/pages/FormStyle/LoginForm.jsx:488
#: src/pages/FormStyle/LoginForm.jsx:541
#: src/pages/FormStyle/LoginForm.jsx:584
#: src/pages/FormStyle/LostPasswordForm.jsx:100
#: src/pages/FormStyle/LostPasswordForm.jsx:319
#: src/pages/FormStyle/LostPasswordForm.jsx:360
#: src/pages/FormStyle/LostPasswordForm.jsx:440
#: src/pages/FormStyle/LostPasswordForm.jsx:491
#: src/pages/FormStyle/LostPasswordForm.jsx:533
#: src/pages/FormStyle/PasswordForm.jsx:334
#: src/pages/FormStyle/PasswordForm.jsx:447
#: src/pages/FormStyle/PasswordForm.jsx:475
#: src/pages/FormStyle/PasswordForm.jsx:510
#: src/pages/FormStyle/PasswordForm.jsx:552
#: src/pages/FormStyle/PasswordForm.jsx:623
#: src/pages/FormStyle/RegisterForm.jsx:100
#: src/pages/FormStyle/RegisterForm.jsx:319
#: src/pages/FormStyle/RegisterForm.jsx:360
#: src/pages/FormStyle/RegisterForm.jsx:440
#: src/pages/FormStyle/RegisterForm.jsx:491
#: src/pages/FormStyle/RegisterForm.jsx:533
msgid "Background Color"
msgstr "Color de fondo"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:134
#: src/pages/FormStyle/LoginForm.jsx:275
#: src/pages/FormStyle/LostPasswordForm.jsx:116
#: src/pages/FormStyle/LostPasswordForm.jsx:236
#: src/pages/FormStyle/PasswordForm.jsx:138
#: src/pages/FormStyle/PasswordForm.jsx:350
#: src/pages/FormStyle/RegisterForm.jsx:116
#: src/pages/FormStyle/RegisterForm.jsx:236
msgid "Change Image"
msgstr "Cambiar imagen"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:134
#: src/pages/FormStyle/LoginForm.jsx:275
#: src/pages/FormStyle/LostPasswordForm.jsx:116
#: src/pages/FormStyle/LostPasswordForm.jsx:236
#: src/pages/FormStyle/PasswordForm.jsx:138
#: src/pages/FormStyle/PasswordForm.jsx:350
#: src/pages/FormStyle/RegisterForm.jsx:116
#: src/pages/FormStyle/RegisterForm.jsx:236
msgid "Upload Image"
msgstr "Subir imagen"

#: build/40.js:1
#: build/302.js:1
#: build/310.js:2
#: build/403.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:138
#: src/pages/FormStyle/LoginForm.jsx:279
#: src/pages/FormStyle/LostPasswordForm.jsx:120
#: src/pages/FormStyle/LostPasswordForm.jsx:240
#: src/pages/FormStyle/PasswordForm.jsx:142
#: src/pages/FormStyle/PasswordForm.jsx:354
#: src/pages/FormStyle/RegisterForm.jsx:120
#: src/pages/FormStyle/RegisterForm.jsx:240
#: src/pages/Security/Blocks.jsx:187
#: src/pages/Security/Passkeys.jsx:149
msgid "Remove"
msgstr "Eliminar"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:148
#: src/pages/FormStyle/LostPasswordForm.jsx:130
#: src/pages/FormStyle/PasswordForm.jsx:364
#: src/pages/FormStyle/PasswordForm.jsx:665
#: src/pages/FormStyle/RegisterForm.jsx:130
msgid "Position"
msgstr "Posición"

#: build/40.js:1
#: build/259.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/Content/MemberTemplate.jsx:91
#: src/pages/FormStyle/LoginForm.jsx:151
#: src/pages/FormStyle/LostPasswordForm.jsx:133
#: src/pages/FormStyle/PasswordForm.jsx:235
#: src/pages/FormStyle/PasswordForm.jsx:367
#: src/pages/FormStyle/PasswordForm.jsx:683
#: src/pages/FormStyle/PasswordForm.jsx:830
#: src/pages/FormStyle/RegisterForm.jsx:133
msgid "Center"
msgstr "Centro"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:152
#: src/pages/FormStyle/LostPasswordForm.jsx:134
#: src/pages/FormStyle/PasswordForm.jsx:290
#: src/pages/FormStyle/PasswordForm.jsx:368
#: src/pages/FormStyle/PasswordForm.jsx:668
#: src/pages/FormStyle/RegisterForm.jsx:134
msgid "Top"
msgstr "Arriba"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:153
#: src/pages/FormStyle/LostPasswordForm.jsx:135
#: src/pages/FormStyle/PasswordForm.jsx:291
#: src/pages/FormStyle/PasswordForm.jsx:369
#: src/pages/FormStyle/PasswordForm.jsx:670
#: src/pages/FormStyle/RegisterForm.jsx:135
msgid "Bottom"
msgstr "Abajo"

#: build/40.js:1
#: build/259.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/Content/MemberTemplate.jsx:90
#: src/pages/FormStyle/LoginForm.jsx:154
#: src/pages/FormStyle/LostPasswordForm.jsx:136
#: src/pages/FormStyle/PasswordForm.jsx:234
#: src/pages/FormStyle/PasswordForm.jsx:370
#: src/pages/FormStyle/PasswordForm.jsx:682
#: src/pages/FormStyle/PasswordForm.jsx:829
#: src/pages/FormStyle/RegisterForm.jsx:136
msgid "Left"
msgstr "Izquierda"

#: build/40.js:1
#: build/259.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/Content/MemberTemplate.jsx:92
#: src/pages/FormStyle/LoginForm.jsx:155
#: src/pages/FormStyle/LostPasswordForm.jsx:137
#: src/pages/FormStyle/PasswordForm.jsx:236
#: src/pages/FormStyle/PasswordForm.jsx:371
#: src/pages/FormStyle/PasswordForm.jsx:684
#: src/pages/FormStyle/PasswordForm.jsx:831
#: src/pages/FormStyle/RegisterForm.jsx:137
msgid "Right"
msgstr "Derecha"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/750.js:3
#: build/index.js:3
#: src/pages/CpuMonitor/OptionsBloat.jsx:147
#: src/pages/FormStyle/LoginForm.jsx:164
#: src/pages/FormStyle/LostPasswordForm.jsx:146
#: src/pages/FormStyle/PasswordForm.jsx:380
#: src/pages/FormStyle/RegisterForm.jsx:146
msgid "Size"
msgstr "Tamaño"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:167
#: src/pages/FormStyle/LostPasswordForm.jsx:149
#: src/pages/FormStyle/PasswordForm.jsx:383
#: src/pages/FormStyle/RegisterForm.jsx:149
msgid "Cover"
msgstr "Cubrir"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:168
#: src/pages/FormStyle/LostPasswordForm.jsx:150
#: src/pages/FormStyle/PasswordForm.jsx:384
#: src/pages/FormStyle/RegisterForm.jsx:150
msgid "Contain"
msgstr "Contener"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:169
#: src/pages/FormStyle/LostPasswordForm.jsx:151
#: src/pages/FormStyle/PasswordForm.jsx:385
#: src/pages/FormStyle/RegisterForm.jsx:151
msgid "Auto"
msgstr "Automático"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:213
#: src/pages/FormStyle/LostPasswordForm.jsx:174
#: src/pages/FormStyle/PasswordForm.jsx:408
#: src/pages/FormStyle/RegisterForm.jsx:174
msgid "Gradient background is a Pro feature."
msgstr "El fondo degradado es una función Pro."

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:214
#: src/pages/FormStyle/LoginForm.jsx:243
#: src/pages/FormStyle/LostPasswordForm.jsx:175
#: src/pages/FormStyle/LostPasswordForm.jsx:204
#: src/pages/FormStyle/PasswordForm.jsx:409
#: src/pages/FormStyle/PasswordForm.jsx:438
#: src/pages/FormStyle/RegisterForm.jsx:175
#: src/pages/FormStyle/RegisterForm.jsx:204
msgid "Upgrade"
msgstr "Actualizar"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:223
#: src/pages/FormStyle/LostPasswordForm.jsx:184
#: src/pages/FormStyle/PasswordForm.jsx:418
#: src/pages/FormStyle/RegisterForm.jsx:184
msgid "Video URL (MP4, YouTube, or Vimeo)"
msgstr "URL de video (MP4, YouTube o Vimeo)"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:227
#: src/pages/FormStyle/LostPasswordForm.jsx:188
#: src/pages/FormStyle/PasswordForm.jsx:422
#: src/pages/FormStyle/RegisterForm.jsx:188
msgid "Supports MP4, YouTube, and Vimeo URLs."
msgstr "Admite URLs de MP4, YouTube y Vimeo."

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:232
#: src/pages/FormStyle/LostPasswordForm.jsx:193
#: src/pages/FormStyle/PasswordForm.jsx:427
#: src/pages/FormStyle/RegisterForm.jsx:193
msgid "Fallback Color"
msgstr "Color alternativo"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:242
#: src/pages/FormStyle/LostPasswordForm.jsx:203
#: src/pages/FormStyle/PasswordForm.jsx:437
#: src/pages/FormStyle/RegisterForm.jsx:203
msgid "Video background is a Pro feature."
msgstr "El fondo de video es una función Pro."

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:250
#: src/pages/FormStyle/LostPasswordForm.jsx:211
#: src/pages/FormStyle/PasswordForm.jsx:113
#: src/pages/FormStyle/RegisterForm.jsx:211
msgid "Logo"
msgstr "Logotipo"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:255
#: src/pages/FormStyle/LostPasswordForm.jsx:216
#: src/pages/FormStyle/PasswordForm.jsx:118
#: src/pages/FormStyle/RegisterForm.jsx:216
msgid "Logo Type"
msgstr "Tipo de logotipo"

#: build/40.js:1
#: build/302.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:258
#: src/pages/FormStyle/LostPasswordForm.jsx:219
#: src/pages/FormStyle/RegisterForm.jsx:219
msgid "Default"
msgstr "Predeterminado"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:259
#: src/pages/FormStyle/LostPasswordForm.jsx:220
#: src/pages/FormStyle/PasswordForm.jsx:123
#: src/pages/FormStyle/RegisterForm.jsx:220
msgid "Custom Image"
msgstr "Imagen personalizada"

#: build/40.js:1
#: build/259.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/Content/MemberTemplate.jsx:78
#: src/pages/FormStyle/LoginForm.jsx:260
#: src/pages/FormStyle/LostPasswordForm.jsx:221
#: src/pages/FormStyle/PasswordForm.jsx:124
#: src/pages/FormStyle/RegisterForm.jsx:221
msgid "Text"
msgstr "Texto"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:287
#: src/pages/FormStyle/LoginForm.jsx:398
#: src/pages/FormStyle/LostPasswordForm.jsx:248
#: src/pages/FormStyle/LostPasswordForm.jsx:351
#: src/pages/FormStyle/PasswordForm.jsx:154
#: src/pages/FormStyle/RegisterForm.jsx:248
#: src/pages/FormStyle/RegisterForm.jsx:351
msgid "Width (px)"
msgstr "Ancho (px)"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:296
#: src/pages/FormStyle/LostPasswordForm.jsx:257
#: src/pages/FormStyle/PasswordForm.jsx:163
#: src/pages/FormStyle/RegisterForm.jsx:257
msgid "Height (px)"
msgstr "Alto (px)"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:309
#: src/pages/FormStyle/LostPasswordForm.jsx:270
#: src/pages/FormStyle/PasswordForm.jsx:176
#: src/pages/FormStyle/RegisterForm.jsx:270
msgid "Logo Text"
msgstr "Texto del logotipo"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:312
#: src/pages/FormStyle/LostPasswordForm.jsx:273
#: src/pages/FormStyle/PasswordForm.jsx:179
#: src/pages/FormStyle/RegisterForm.jsx:273
msgid "Enter logo text"
msgstr "Ingrese el texto del logotipo"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:317
#: src/pages/FormStyle/LoginForm.jsx:468
#: src/pages/FormStyle/LoginForm.jsx:528
#: src/pages/FormStyle/LoginForm.jsx:607
#: src/pages/FormStyle/LostPasswordForm.jsx:278
#: src/pages/FormStyle/LostPasswordForm.jsx:420
#: src/pages/FormStyle/LostPasswordForm.jsx:479
#: src/pages/FormStyle/LostPasswordForm.jsx:556
#: src/pages/FormStyle/PasswordForm.jsx:184
#: src/pages/FormStyle/PasswordForm.jsx:575
#: src/pages/FormStyle/PasswordForm.jsx:603
#: src/pages/FormStyle/RegisterForm.jsx:278
#: src/pages/FormStyle/RegisterForm.jsx:420
#: src/pages/FormStyle/RegisterForm.jsx:479
#: src/pages/FormStyle/RegisterForm.jsx:556
msgid "Font Size (px)"
msgstr "Tamaño de fuente (px)"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:326
#: src/pages/FormStyle/LoginForm.jsx:548
#: src/pages/FormStyle/LoginForm.jsx:591
#: src/pages/FormStyle/LostPasswordForm.jsx:287
#: src/pages/FormStyle/LostPasswordForm.jsx:498
#: src/pages/FormStyle/LostPasswordForm.jsx:540
#: src/pages/FormStyle/PasswordForm.jsx:193
#: src/pages/FormStyle/PasswordForm.jsx:500
#: src/pages/FormStyle/PasswordForm.jsx:517
#: src/pages/FormStyle/PasswordForm.jsx:559
#: src/pages/FormStyle/RegisterForm.jsx:287
#: src/pages/FormStyle/RegisterForm.jsx:498
#: src/pages/FormStyle/RegisterForm.jsx:540
msgid "Text Color"
msgstr "Color del texto"

#: build/40.js:1
#: build/302.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:346
#: src/pages/FormStyle/LostPasswordForm.jsx:298
#: src/pages/FormStyle/RegisterForm.jsx:298
msgid "Logo URL"
msgstr "URL del logotipo"

#: build/40.js:1
#: build/302.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:350
#: src/pages/FormStyle/LostPasswordForm.jsx:302
#: src/pages/FormStyle/RegisterForm.jsx:302
msgid "URL the logo links to. Leave empty to use your site home URL."
msgstr "URL a la que enlaza el logotipo. Dejar vacío para usar la URL de inicio de su sitio."

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:357
#: src/pages/FormStyle/LoginForm.jsx:478
#: src/pages/FormStyle/LostPasswordForm.jsx:309
#: src/pages/FormStyle/LostPasswordForm.jsx:430
#: src/pages/FormStyle/PasswordForm.jsx:613
#: src/pages/FormStyle/RegisterForm.jsx:309
#: src/pages/FormStyle/RegisterForm.jsx:430
msgid "Background Overlay"
msgstr "Superposición de fondo"

#: build/40.js:1
#: build/302.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:360
#: src/pages/FormStyle/LostPasswordForm.jsx:312
#: src/pages/FormStyle/RegisterForm.jsx:312
msgid "Adds a background behind the logo for better visibility on images/videos."
msgstr "Añade un fondo detrás del logotipo para mejor visibilidad en imágenes/videos."

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:374
#: src/pages/FormStyle/LoginForm.jsx:423
#: src/pages/FormStyle/LoginForm.jsx:495
#: src/pages/FormStyle/LoginForm.jsx:571
#: src/pages/FormStyle/LoginForm.jsx:616
#: src/pages/FormStyle/LostPasswordForm.jsx:326
#: src/pages/FormStyle/LostPasswordForm.jsx:376
#: src/pages/FormStyle/LostPasswordForm.jsx:447
#: src/pages/FormStyle/LostPasswordForm.jsx:521
#: src/pages/FormStyle/LostPasswordForm.jsx:565
#: src/pages/FormStyle/PasswordForm.jsx:463
#: src/pages/FormStyle/PasswordForm.jsx:491
#: src/pages/FormStyle/PasswordForm.jsx:540
#: src/pages/FormStyle/PasswordForm.jsx:584
#: src/pages/FormStyle/PasswordForm.jsx:630
#: src/pages/FormStyle/RegisterForm.jsx:326
#: src/pages/FormStyle/RegisterForm.jsx:376
#: src/pages/FormStyle/RegisterForm.jsx:447
#: src/pages/FormStyle/RegisterForm.jsx:521
#: src/pages/FormStyle/RegisterForm.jsx:565
msgid "Padding"
msgstr "Relleno"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:383
#: src/pages/FormStyle/LoginForm.jsx:407
#: src/pages/FormStyle/LoginForm.jsx:504
#: src/pages/FormStyle/LoginForm.jsx:562
#: src/pages/FormStyle/LoginForm.jsx:598
#: src/pages/FormStyle/LostPasswordForm.jsx:335
#: src/pages/FormStyle/LostPasswordForm.jsx:367
#: src/pages/FormStyle/LostPasswordForm.jsx:456
#: src/pages/FormStyle/LostPasswordForm.jsx:512
#: src/pages/FormStyle/LostPasswordForm.jsx:547
#: src/pages/FormStyle/PasswordForm.jsx:454
#: src/pages/FormStyle/PasswordForm.jsx:482
#: src/pages/FormStyle/PasswordForm.jsx:531
#: src/pages/FormStyle/PasswordForm.jsx:566
#: src/pages/FormStyle/PasswordForm.jsx:639
#: src/pages/FormStyle/RegisterForm.jsx:335
#: src/pages/FormStyle/RegisterForm.jsx:367
#: src/pages/FormStyle/RegisterForm.jsx:456
#: src/pages/FormStyle/RegisterForm.jsx:512
#: src/pages/FormStyle/RegisterForm.jsx:547
msgid "Border Radius"
msgstr "Radio del borde"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:395
#: src/pages/FormStyle/LostPasswordForm.jsx:348
#: src/pages/FormStyle/PasswordForm.jsx:472
#: src/pages/FormStyle/RegisterForm.jsx:348
msgid "Form Container"
msgstr "Contenedor del formulario"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:432
#: src/pages/FormStyle/LoginForm.jsx:555
#: src/pages/FormStyle/LostPasswordForm.jsx:385
#: src/pages/FormStyle/LostPasswordForm.jsx:505
#: src/pages/FormStyle/PasswordForm.jsx:524
#: src/pages/FormStyle/RegisterForm.jsx:385
#: src/pages/FormStyle/RegisterForm.jsx:505
msgid "Border Color"
msgstr "Color del borde"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:440
#: src/pages/FormStyle/LostPasswordForm.jsx:392
#: src/pages/FormStyle/PasswordForm.jsx:214
#: src/pages/FormStyle/PasswordForm.jsx:810
#: src/pages/FormStyle/RegisterForm.jsx:392
msgid "Heading"
msgstr "Encabezado"

#: build/40.js:1
#: build/302.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:444
#: src/pages/FormStyle/LostPasswordForm.jsx:396
#: src/pages/FormStyle/RegisterForm.jsx:396
msgid "Show Heading"
msgstr "Mostrar encabezado"

#: build/40.js:1
#: build/302.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:453
#: src/pages/FormStyle/LostPasswordForm.jsx:405
#: src/pages/FormStyle/RegisterForm.jsx:405
msgid "Heading Text"
msgstr "Texto del encabezado"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:461
#: src/pages/FormStyle/LostPasswordForm.jsx:413
#: src/pages/FormStyle/PasswordForm.jsx:596
#: src/pages/FormStyle/RegisterForm.jsx:413
msgid "Heading Color"
msgstr "Color del encabezado"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:481
#: src/pages/FormStyle/LostPasswordForm.jsx:433
#: src/pages/FormStyle/PasswordForm.jsx:616
#: src/pages/FormStyle/RegisterForm.jsx:433
msgid "Adds a background behind the heading for better visibility."
msgstr "Añade un fondo detrás del encabezado para mejor visibilidad."

#: build/40.js:1
#: build/302.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:518
#: src/pages/FormStyle/LostPasswordForm.jsx:469
#: src/pages/FormStyle/RegisterForm.jsx:469
msgid "Labels"
msgstr "Etiquetas"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:521
#: src/pages/FormStyle/LostPasswordForm.jsx:472
#: src/pages/FormStyle/PasswordForm.jsx:307
#: src/pages/FormStyle/RegisterForm.jsx:472
msgid "Label Color"
msgstr "Color de etiqueta"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:538
#: src/pages/FormStyle/LostPasswordForm.jsx:488
#: src/pages/FormStyle/PasswordForm.jsx:507
#: src/pages/FormStyle/RegisterForm.jsx:488
msgid "Input Fields"
msgstr "Campos de entrada"

#: build/40.js:1
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:581
#: src/pages/FormStyle/LostPasswordForm.jsx:530
#: src/pages/FormStyle/PasswordForm.jsx:549
#: src/pages/FormStyle/RegisterForm.jsx:530
msgid "Button"
msgstr "Botón"

#: build/40.js:1
#: build/302.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:626
#: src/pages/FormStyle/LostPasswordForm.jsx:574
#: src/pages/FormStyle/RegisterForm.jsx:574
msgid "Links"
msgstr "Enlaces"

#: build/40.js:1
#: build/302.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:629
#: src/pages/FormStyle/LostPasswordForm.jsx:577
#: src/pages/FormStyle/RegisterForm.jsx:577
msgid "Link Color"
msgstr "Color de enlace"

#: build/40.js:1
#: build/302.js:1
#: src/pages/FormStyle/LostPasswordForm.jsx:585
#: src/pages/FormStyle/RegisterForm.jsx:585
msgid "Show Lost Password"
msgstr "Mostrar contraseña olvidada"

#: build/40.js:1
#: build/302.js:1
#: src/pages/FormStyle/LostPasswordForm.jsx:593
#: src/pages/FormStyle/RegisterForm.jsx:593
msgid "Show Back to Site"
msgstr "Mostrar volver al sitio"

#: build/40.js:1
#: build/171.js:4
#: build/302.js:1
#: build/648.js:1
#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:653
#: src/pages/FormStyle/LostPasswordForm.jsx:600
#: src/pages/FormStyle/LostPasswordForm.jsx:603
#: src/pages/FormStyle/PasswordForm.jsx:840
#: src/pages/FormStyle/PasswordForm.jsx:843
#: src/pages/FormStyle/RegisterForm.jsx:600
#: src/pages/FormStyle/RegisterForm.jsx:603
#: src/pages/Settings.jsx:33
msgid "Custom CSS"
msgstr "CSS personalizado"

#: build/40.js:1
#: src/pages/FormStyle/RegisterForm.jsx:604
msgid "Add your custom CSS for the register page."
msgstr "Agregue su CSS personalizado para la página de registro."

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:94
msgid "Action for Non-Logged-In Users"
msgstr "Acción para usuarios no conectados"

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:100
msgid "Choose what happens when a logged-out visitor tries to access any page."
msgstr "Elija qué sucede cuando un visitante no conectado intenta acceder a cualquier página."

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:99
msgid "The Login Popup option is available in the Pro version. Free users will use redirect."
msgstr "La opción de popup de inicio de sesión está disponible en la versión Pro. Los usuarios gratuitos usarán redirección."

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:104
msgid "Redirect to Login Page"
msgstr "Redirigir a la página de inicio de sesión"

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:105
msgid "Show Login Popup"
msgstr "Mostrar popup de inicio de sesión"

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:118
msgid "Popup Header"
msgstr "Encabezado del popup"

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:119
msgid "Header text displayed on the login popup."
msgstr "Texto de encabezado mostrado en el popup de inicio de sesión."

#: build/68.js:1
#: build/381.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:127
#: src/pages/SiteAccess/SitePassword.jsx:90
msgid "Custom Message"
msgstr "Mensaje personalizado"

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:128
msgid "Message displayed to visitors when the popup is shown."
msgstr "Mensaje mostrado a los visitantes cuando se muestra el popup."

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:137
msgid "The login popup will blur the page content and overlay a login form — the same style used by the Content Lock popup feature."
msgstr "El popup de inicio de sesión difuminará el contenido de la página y superpondrá un formulario de inicio de sesión — el mismo estilo que el popup de bloqueo de contenido."

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:148
msgid "Visitors will be redirected to the WordPress login page. After logging in, they will be sent back to the page they originally tried to visit."
msgstr "Los visitantes serán redirigidos a la página de inicio de sesión de WordPress. Después de iniciar sesión, serán devueltos a la página que intentaban visitar."

#: build/116.js:1
#: src/pages/Templates.jsx:301
msgid "Pro Required"
msgstr "Se requiere Pro"

#: build/116.js:1
#: src/pages/Templates.jsx:302
msgid "Apply Template"
msgstr "Aplicar plantilla"

#: build/116.js:1
#: src/pages/Templates.jsx:315
msgid "Applying template…"
msgstr "Aplicando plantilla…"

#: build/116.js:1
#: build/index.js:1
#: build/index.js:2
#: src/components/Sidebar.jsx:49
#: src/pages/Dashboard.jsx:219
#: src/pages/Templates.jsx:412
msgid "Templates"
msgstr "Plantillas"

#: build/116.js:1
#: src/pages/Templates.jsx:417
msgid "Export"
msgstr "Exportar"

#: build/116.js:1
#: src/pages/Templates.jsx:420
msgid "Import"
msgstr "Importar"

#: build/116.js:1
#: src/pages/Templates.jsx:426
msgid "Import / Export is available in the Pro version."
msgstr "Importar / Exportar está disponible en la versión Pro."

#: build/116.js:1
#: build/index.js:3
#: src/pages/FormStyle.jsx:29
#: src/pages/Templates.jsx:446
msgid "Register Form"
msgstr "Formulario de registro"

#: build/116.js:1
#: build/302.js:1
#: build/index.js:3
#: src/pages/FormStyle.jsx:33
#: src/pages/FormStyle/LostPasswordForm.jsx:408
#: src/pages/Templates.jsx:450
msgid "Lost Password"
msgstr "Contraseña olvidada"

#: build/116.js:1
#: build/index.js:3
#: src/pages/FormStyle.jsx:37
#: src/pages/Templates.jsx:454
msgid "Password Protected Form"
msgstr "Formulario protegido con contraseña"

#: build/116.js:1
#: src/pages/Templates.jsx:464
msgid "Register Form Templates"
msgstr "Plantillas de formulario de registro"

#: build/116.js:1
#: src/pages/Templates.jsx:472
msgid "Lost Password Templates"
msgstr "Plantillas de contraseña olvidada"

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:105
msgid "IP Management"
msgstr "Gestión de IP"

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:202
msgid "IP Blocklist"
msgstr "Lista de bloqueo de IP"

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:204
msgid "Block specific IP addresses from accessing your site. Blocked IPs will receive a 403 Forbidden error. Supports single IPs and CIDR ranges (e.g. 192.168.1.0/24)."
msgstr "Bloquee direcciones IP específicas para que no accedan a su sitio. Las IP bloqueadas recibirán un error 403. Admite IPs individuales y rangos CIDR (p. ej. 192.168.1.0/24)."

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:210
msgid "Blocked IPs"
msgstr "IPs bloqueadas"

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:214
msgid "Enter one IP address per line. You can add comments with # (e.g. 1.2.3.4 # spam bot). Supports CIDR notation."
msgstr "Ingrese una dirección IP por línea. Puede agregar comentarios con # (p. ej. 1.2.3.4 # spam bot). Admite notación CIDR."

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:228
msgid "1 IP address is currently blocked."
msgstr "1 dirección IP está actualmente bloqueada."

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:229
msgid " IP addresses are currently blocked."
msgstr " direcciones IP están actualmente bloqueadas."

#: includes/class-docs.php:376
#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:236
msgid "IP Allowlist"
msgstr "Lista de permitidos de IP"

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:238
msgid "Allowed IPs bypass all security restrictions including login limiting, IP blocking, and brute force protection. Use this for trusted IPs like your office or home network."
msgstr "Las IP permitidas omiten todas las restricciones de seguridad, incluida la limitación de inicio de sesión, el bloqueo de IP y la protección contra fuerza bruta. Úselo para IPs de confianza como su oficina o red doméstica."

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:244
msgid "Allowed IPs"
msgstr "IPs permitidas"

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:248
msgid "Enter one IP address per line. These IPs will never be blocked by any security feature. Supports CIDR notation."
msgstr "Ingrese una dirección IP por línea. Estas IPs nunca serán bloqueadas por ninguna función de seguridad. Admite notación CIDR."

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:261
msgid "1 IP address is currently allowed."
msgstr "1 dirección IP está actualmente permitida."

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:262
msgid " IP addresses are currently allowed."
msgstr " direcciones IP están actualmente permitidas."

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:269
msgid "Your IP Information"
msgstr "Información de su IP"

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:271
msgid "Your current IP address is detected by the server. Make sure you do not accidentally block your own IP."
msgstr "El servidor detecta su dirección IP actual. Asegúrese de no bloquear accidentalmente su propia IP."

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:276
msgid "Your IP:"
msgstr "Su IP:"

#: build/215.js:1
#: src/pages/Settings/General.jsx:46
msgid "Password Cookie Expiration (days)"
msgstr "Caducidad de la cookie de contraseña (días)"

#: build/215.js:1
#: src/pages/Settings/General.jsx:47
msgid "Number of days the password cookie stays valid. Default is 10."
msgstr "Número de días que la cookie de contraseña permanece válida. El valor predeterminado es 10."

#: build/215.js:1
#: src/pages/Settings/General.jsx:56
msgid "Delete Data on Uninstall"
msgstr "Eliminar datos al desinstalar"

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:50
msgid "Member-Only Template"
msgstr "Plantilla solo para miembros"

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:51
msgid "To use this template, edit any Page and select \"Member Only (Login Required)\" from the Template dropdown in the sidebar. Logged-out visitors will see the gate page below instead of the page content."
msgstr ""

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:53
msgid "Gate Page Content"
msgstr "Contenido de la página de acceso"

#: build/259.js:1
#: build/289.js:2
#: build/293.js:2
#: src/pages/Content/ConditionalDisplay.jsx:90
#: src/pages/Content/ContentLock.jsx:69
#: src/pages/Content/MemberTemplate.jsx:56
msgid "Title"
msgstr "Título"

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:65
msgid "Title Tag"
msgstr "Etiqueta de título"

#: build/259.js:1
#: build/648.js:1
#: src/pages/Content/MemberTemplate.jsx:87
#: src/pages/FormStyle/PasswordForm.jsx:826
msgid "Text Alignment"
msgstr "Alineación del texto"

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:99
msgid "Login Options"
msgstr "Opciones de inicio de sesión"

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:106
msgid "Mode"
msgstr "Modo"

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:117
msgid "Popup (Glassdoor)"
msgstr "Popup (Glassdoor)"

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:118
msgid "Info Only"
msgstr "Solo información"

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:133
msgid "Login Mode"
msgstr "Modo de inicio de sesión"

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:137
msgid "Login Button"
msgstr "Botón de inicio de sesión"

#: build/259.js:1
#: build/648.js:1
#: src/pages/Content/MemberTemplate.jsx:146
#: src/pages/FormStyle/PasswordForm.jsx:269
msgid "Button Text"
msgstr "Texto del botón"

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:156
msgid "Form Heading"
msgstr "Encabezado del formulario"

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:163
msgid "Username Label"
msgstr "Etiqueta de nombre de usuario"

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:170
msgid "Password Label"
msgstr "Etiqueta de contraseña"

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:178
msgid "Show Remember Me"
msgstr "Mostrar \"Recuérdame\""

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:186
msgid "Submit Button Text"
msgstr "Texto del botón enviar"

#: build/289.js:2
#: src/pages/Content/ContentLock.jsx:57
msgid "Locked Posts & Pages"
msgstr "Entradas y páginas bloqueadas"

#: build/289.js:2
#: src/pages/Content/ContentLock.jsx:58
msgid "Posts and pages that are locked for logged-out users."
msgstr "Entradas y páginas bloqueadas para usuarios no conectados."

#: build/289.js:2
#: src/pages/Content/ContentLock.jsx:62
msgid "No locked posts yet. Use the Content Lock meta box in the post editor to lock individual posts."
msgstr "Aún no hay entradas bloqueadas. Use el meta box de bloqueo de contenido en el editor para bloquear entradas individuales."

#: build/293.js:2
#: src/pages/Content/ConditionalDisplay.jsx:60
msgid "Manage posts and pages with conditional display rules."
msgstr "Administrar entradas y páginas con reglas de visualización condicional."

#: build/293.js:2
#: src/pages/Content/ConditionalDisplay.jsx:62
msgid "Conditional Display Dashboard"
msgstr "Panel de visualización condicional"

#: build/293.js:2
#: src/pages/Content/ConditionalDisplay.jsx:67
msgid "Filter by type"
msgstr "Filtrar por tipo"

#: build/293.js:2
#: src/pages/Content/ConditionalDisplay.jsx:70
msgid "All"
msgstr "Todos"

#: build/293.js:2
#: src/pages/Content/ConditionalDisplay.jsx:71
msgid "Posts"
msgstr "Entradas"

#: build/293.js:2
#: src/pages/Content/ConditionalDisplay.jsx:72
msgid "Pages"
msgstr "Páginas"

#: build/293.js:2
#: src/pages/Content/ConditionalDisplay.jsx:83
msgid "No posts with conditional display rules. Use the Conditional Display meta box in the post editor."
msgstr "No hay entradas con reglas de visualización condicional. Use el meta box de visualización condicional en el editor."

#: build/293.js:2
#: src/pages/Content/ConditionalDisplay.jsx:92
msgid "Condition"
msgstr "Condición"

#: build/302.js:1
#: src/pages/FormStyle/LostPasswordForm.jsx:604
msgid "Add your custom CSS for the lost password page."
msgstr "Agregue su CSS personalizado para la página de contraseña olvidada."

#: includes/class-docs.php:521
#: build/381.js:1
#: src/pages/SiteAccess/SitePassword.jsx:54
msgid "Site Password Protection"
msgstr "Protección con contraseña del sitio"

#: build/381.js:1
#: src/pages/SiteAccess/SitePassword.jsx:56
msgid "Password Protect Entire Site"
msgstr "Proteger todo el sitio con contraseña"

#: build/381.js:1
#: src/pages/SiteAccess/SitePassword.jsx:59
msgid "Enable Site Password"
msgstr "Activar contraseña del sitio"

#: build/381.js:1
#: src/pages/SiteAccess/SitePassword.jsx:60
msgid "When enabled, all visitors must enter a password before they can view any page on the site. Logged-in administrators bypass the password."
msgstr "Cuando está activado, todos los visitantes deben ingresar una contraseña antes de ver cualquier página del sitio. Los administradores conectados omiten la contraseña."

#: build/381.js:1
#: src/pages/SiteAccess/SitePassword.jsx:71
msgid "Site password protection will not activate until you set a password."
msgstr "La protección con contraseña del sitio no se activará hasta que establezca una contraseña."

#: build/381.js:1
#: build/410.js:1
#: build/index.js:2
#: src/pages/Dashboard.jsx:60
#: src/pages/SiteAccess.jsx:21
#: src/pages/SiteAccess/SitePassword.jsx:78
msgid "Site Password"
msgstr "Contraseña del sitio"

#: build/381.js:1
#: src/pages/SiteAccess/SitePassword.jsx:79
msgid "Enter the password visitors must provide to access the site."
msgstr "Ingrese la contraseña que los visitantes deben proporcionar para acceder al sitio."

#: build/381.js:1
#: src/pages/SiteAccess/SitePassword.jsx:91
msgid "Message shown above the password form."
msgstr "Mensaje mostrado sobre el formulario de contraseña."

#: build/381.js:1
#: src/pages/SiteAccess/SitePassword.jsx:100
msgid "Cookie Duration (days)"
msgstr "Duración de la cookie (días)"

#: build/381.js:1
#: src/pages/SiteAccess/SitePassword.jsx:101
msgid "How many days the access cookie lasts before the visitor must re-enter the password."
msgstr "Cuántos días dura la cookie de acceso antes de que el visitante deba ingresar la contraseña nuevamente."

#: build/381.js:1
#: src/pages/SiteAccess/SitePassword.jsx:112
msgid "Allow Logged-In Users to Bypass"
msgstr "Permitir a usuarios conectados omitir"

#: build/381.js:1
#: src/pages/SiteAccess/SitePassword.jsx:113
msgid "When enabled, all logged-in users bypass the site password. When disabled, only administrators bypass it."
msgstr "Cuando está activado, todos los usuarios conectados omiten la contraseña del sitio. Cuando está desactivado, solo los administradores la omiten."

#: build/381.js:1
#: src/pages/SiteAccess/SitePassword.jsx:122
msgid "Administrators always bypass the site password."
msgstr "Los administradores siempre omiten la contraseña del sitio."

#: build/457.js:1
#: src/pages/Settings/CustomCss.jsx:52
msgid "Add custom CSS that applies to all plugin front-end output (password forms, login page, member template)."
msgstr "Agregue CSS personalizado que se aplique a todas las salidas frontend del plugin (formularios de contraseña, página de inicio de sesión, plantilla de miembros)."

#: build/457.js:1
#: src/pages/Settings/CustomCss.jsx:60
msgid "/* Your custom CSS here */"
msgstr "/* Su CSS personalizado aquí */"

#: build/171.js:4
#: src/pages/Settings.jsx:24
msgid "General"
msgstr "General"

#: build/171.js:4
#: src/pages/Settings.jsx:47
msgid "Custom CSS Editor"
msgstr "Editor de CSS personalizado"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:56
msgid "Registration Protection"
msgstr "Protección de registro"

#: build/587.js:1
#: build/index.js:2
#: src/pages/Dashboard.jsx:116
#: src/pages/Logins.jsx:23
msgid "Two-Factor Auth"
msgstr "Auth de dos factores"

#: build/587.js:1
#: src/pages/Logins.jsx:26
msgid "Auto Login"
msgstr "Inicio de sesión automático"

#: build/948.js:1
#: build/index.js:2
#: src/pages/Dashboard.jsx:158
#: src/pages/Tools.jsx:24
msgid "Login Log"
msgstr "Registro de inicio de sesión"

#: includes/class-docs.php:714
#: build/544.js:1
#: build/index.js:1
#: build/index.js:2
#: src/components/Sidebar.jsx:56
#: src/pages/Dashboard.jsx:133
#: src/pages/Dashboard.jsx:207
#: src/pages/Security/AiCrawlerBlocker.jsx:110
msgid "AI Crawler Blocker"
msgstr "Bloqueador de rastreadores de IA"

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:121
msgid "Enable AI Crawler Blocking"
msgstr "Activar bloqueo de rastreadores de IA"

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:125
msgid "Enable AI Crawler Blocker"
msgstr "Activar bloqueador de rastreadores de IA"

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:132
msgid "When enabled, selected AI bots are blocked from crawling your site. Rules are added to your robots.txt and optionally bots are blocked with a 403 response by checking the User-Agent header."
msgstr "Cuando está activado, los bots de IA seleccionados son bloqueados para rastrear su sitio. Se añaden reglas a su robots.txt y opcionalmente los bots se bloquean con una respuesta 403 verificando el encabezado User-Agent."

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:139
msgid "Enforcement Method"
msgstr "Método de aplicación"

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:141
msgid "robots.txt rules are always added (polite bots respect them). Enable the toggle below to also actively block bots that ignore robots.txt by returning a 403 Forbidden response."
msgstr "Las reglas de robots.txt siempre se añaden (los bots educados las respetan). Active el interruptor a continuación para bloquear activamente también los bots que ignoran robots.txt devolviendo una respuesta 403 Prohibido."

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:146
msgid "Block via User-Agent header (403 response)"
msgstr "Bloquear mediante encabezado User-Agent (respuesta 403)"

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:147
msgid "Actively blocks bots that ignore robots.txt by checking the HTTP User-Agent on every frontend request."
msgstr "Bloquea activamente los bots que ignoran robots.txt verificando el User-Agent HTTP en cada solicitud al frontend."

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:154
msgid "Select AI Bots to Block"
msgstr "Seleccionar bots de IA a bloquear"

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:157
msgid "All known AI bots are selected."
msgstr "Todos los bots de IA conocidos están seleccionados."

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:158
msgid " of "
msgstr " de "

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:158
msgid " AI bots selected."
msgstr " bots de IA seleccionados."

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:168
msgid "Select All"
msgstr "Seleccionar todo"

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:175
msgid "Deselect All"
msgstr "Deseleccionar todo"

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:198
#: src/pages/Security/AiCrawlerBlocker.jsx:203
msgid "Custom User-Agent Strings"
msgstr "Cadenas User-Agent personalizadas"

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:205
msgid "Add custom user-agent strings to block (one per line). These are matched as substrings against the visitor's User-Agent header. Only applies when User-Agent blocking is enabled above."
msgstr "Agregue cadenas User-Agent personalizadas para bloquear (una por línea). Se comparan como subcadenas con el encabezado User-Agent del visitante. Solo aplica cuando el bloqueo por User-Agent está activado arriba."

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:209
msgid "Custom User-Agents"
msgstr "User-Agents personalizados"

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:210
msgid "One user-agent string per line. Case-insensitive matching."
msgstr "Una cadena User-Agent por línea. Coincidencia sin distinción entre mayúsculas y minúsculas."

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:220
msgid "Preview robots.txt Rules"
msgstr "Vista previa de reglas robots.txt"

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:222
msgid "Below is a preview of the robots.txt rules that will be appended to your site's robots.txt file."
msgstr "A continuación se muestra una vista previa de las reglas robots.txt que se añadirán al archivo robots.txt de su sitio."

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:225
msgid "View live robots.txt"
msgstr "Ver robots.txt en vivo"

#: build/590.js:1
#: build/index.js:2
#: src/pages/Dashboard.jsx:92
#: src/pages/Security/RegistrationProtection.jsx:59
msgid "Registration Honeypot"
msgstr "Honeypot de registro"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:62
msgid "Enable Registration Honeypot"
msgstr "Activar honeypot de registro"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:63
msgid "An invisible field is added to the registration form. Bots that auto-fill it will be blocked. Real users never see this field."
msgstr "Se añade un campo invisible al formulario de registro. Los bots que lo rellenen automáticamente serán bloqueados. Los usuarios reales nunca ven este campo."

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:71
msgid "Registration Rate Limiter"
msgstr "Limitador de tasa de registro"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:74
msgid "Enable Registration Rate Limiter"
msgstr "Activar limitador de tasa de registro"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:75
msgid "Limits the number of registrations from the same IP address within a time window."
msgstr "Limita el número de registros desde la misma dirección IP dentro de un período de tiempo."

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:83
msgid "Max Registrations Per IP"
msgstr "Registros máximos por IP"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:90
msgid "Time Window (minutes)"
msgstr "Ventana de tiempo (minutos)"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:101
msgid "reCAPTCHA on Registration"
msgstr "reCAPTCHA en el registro"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:104
msgid "Enable reCAPTCHA on Registration"
msgstr "Activar reCAPTCHA en el registro"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:120
msgid "reCAPTCHA will appear on the registration form using the same keys configured in Login Protection."
msgstr "reCAPTCHA aparecerá en el formulario de registro usando las mismas claves configuradas en Protección del inicio de sesión."

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:116
msgid "reCAPTCHA keys are not configured. Please set them in the Login Protection → reCAPTCHA section first."
msgstr "Las claves de reCAPTCHA no están configuradas. Por favor, configúrelas primero en la sección Protección del inicio de sesión → reCAPTCHA."

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:128
msgid "Disposable Email Blocker"
msgstr "Bloqueador de correos desechables"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:131
msgid "Block Disposable Email Addresses"
msgstr "Bloquear direcciones de correo desechables"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:134
msgid "Registrations from known disposable/temporary email services (Mailinator, Guerrilla Mail, YOPmail, etc.) will be blocked. The list covers 200+ domains."
msgstr "Los registros de servicios de correo desechables/temporales conocidos (Mailinator, Guerrilla Mail, YOPmail, etc.) serán bloqueados. La lista cubre más de 200 dominios."

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:143
msgid "Email Domain Whitelist / Blacklist"
msgstr "Lista blanca / lista negra de dominios de correo"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:150
msgid "Email Domain Filter"
msgstr "Filtro de dominio de correo"

#: includes/class-docs.php:189
#: includes/class-docs.php:197
#: includes/class-docs.php:255
#: includes/class-docs.php:320
#: includes/class-docs.php:458
#: includes/class-docs.php:472
#: includes/class-docs.php:516
#: includes/class-docs.php:589
#: includes/class-docs.php:742
#: includes/class-docs.php:793
#: build/590.js:1
#: build/796.js:2
#: build/index.js:3
#: src/pages/Dashboard.jsx:389
#: src/pages/Security/Hardening.jsx:304
#: src/pages/Security/RegistrationProtection.jsx:157
msgid "Off"
msgstr "Desactivado"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:158
msgid "Whitelist — Only allow these domains"
msgstr "Lista blanca — Solo permitir estos dominios"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:159
msgid "Blacklist — Block these domains"
msgstr "Lista negra — Bloquear estos dominios"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:170
msgid "Only users with email addresses from the domains listed below can register."
msgstr "Solo los usuarios con direcciones de correo de los dominios listados a continuación pueden registrarse."

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:177
msgid "Users with email addresses from the domains listed below will be blocked from registering."
msgstr "Los usuarios con direcciones de correo de los dominios listados a continuación serán bloqueados del registro."

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:183
msgid "Email Domains"
msgstr "Dominios de correo"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:184
msgid "Enter one domain per line (e.g., gmail.com, company.com). Do not include the @ symbol."
msgstr "Ingrese un dominio por línea (p. ej., gmail.com, empresa.com). No incluya el símbolo @."

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:196
msgid "Admin Approval for New Users"
msgstr "Aprobación del administrador para nuevos usuarios"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:199
msgid "Require Admin Approval"
msgstr "Requerir aprobación del administrador"

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:202
msgid "New users will not be able to log in until an administrator approves their account. An email notification is sent to the site admin for each new registration."
msgstr "Los nuevos usuarios no podrán iniciar sesión hasta que un administrador apruebe su cuenta. Se envía una notificación por correo al administrador del sitio por cada nuevo registro."

#: build/590.js:1
#: src/pages/Security/RegistrationProtection.jsx:210
msgid "To approve pending users, go to Users → All Users and look for users with the \"Pending\" meta. Remove the pending flag to grant access."
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:27
msgid "Horizontal"
msgstr "Horizontal"

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:28
msgid "Inline"
msgstr "En línea"

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:29
msgid "Vertical Card (Pro)"
msgstr "Tarjeta vertical (Pro)"

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:30
msgid "Full Width (Pro)"
msgstr "Ancho completo (Pro)"

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:88
msgid "Form Layout"
msgstr "Diseño del formulario"

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:93
msgid "Layout"
msgstr "Diseño"

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:107
msgid "Vertical Card and Full Width layouts require Pro."
msgstr "Los diseños de tarjeta vertical y ancho completo requieren Pro."

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:201
msgid "Top Text"
msgstr "Texto superior"

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:205
msgid "Show Top Text"
msgstr "Mostrar texto superior"

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:217
msgid "Enter heading"
msgstr ""

#: build/648.js:1
#: build/index.js:1
#: build/index.js:2
#: src/components/Sidebar.jsx:46
#: src/pages/Dashboard.jsx:201
#: src/pages/FormStyle/PasswordForm.jsx:222
#: src/pages/FormStyle/PasswordForm.jsx:817
msgid "Content"
msgstr "Contenido"

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:231
#: src/pages/FormStyle/PasswordForm.jsx:679
msgid "Alignment"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:245
msgid "Form"
msgstr ""

#: build/648.js:1
#: build/926.js:1
#: src/pages/FormStyle/PasswordForm.jsx:248
#: src/pages/FormStyle/PasswordForm.jsx:261
#: src/pages/Security/AutoLogin.jsx:199
#: src/pages/Security/AutoLogin.jsx:282
msgid "Label"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:277
msgid "Error Message"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:287
msgid "Error Text Position"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:298
msgid "Label Font Size (px)"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:444
msgid "Form Wrapper"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:593
msgid "Heading Style"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:650
msgid "Social Icons"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:654
msgid "Show Social Icons"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:669
msgid "Middle"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:693
msgid "Icon Style"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:696
msgid "Square"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:697
msgid "Circle"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:698
msgid "Rounded"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:705
msgid "Icon Background Color"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:714
msgid "Icon Size"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:725
msgid "Icon Gap"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:733
msgid "Icons Padding"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:739
msgid "Facebook URL"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:746
msgid "X (Twitter) URL"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:753
msgid "YouTube URL"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:760
msgid "Instagram URL"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:767
msgid "LinkedIn URL"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:774
msgid "Pinterest URL"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:781
msgid "Tumblr URL"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:788
msgid "Custom URL"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:797
msgid "Bottom Text"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:801
msgid "Show Bottom Text"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:844
msgid "Add your custom CSS for the password form page."
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:85
msgid "Setup failed."
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:142
msgid "Verification failed."
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:186
msgid "Two-Factor Settings"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:189
msgid "Enable Two-Factor Authentication"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:198
msgid "Users in the selected roles will be prompted for a 6-digit code from their authenticator app (Google Authenticator, Authy, Microsoft Authenticator, etc.) when logging in."
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:202
msgid "Require 2FA for these roles:"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:231
msgid "Users must set up 2FA from their WordPress Profile page. Until they do, they can still log in without a code."
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:239
msgid "Your 2FA Setup"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:251
msgid "Disable 2FA"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:259
msgid "Set up two-factor authentication for your account using an authenticator app."
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:268
msgid "Start Setup"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:275
msgid "Step 1:"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:275
msgid "Scan this QR code with your authenticator app:"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:300
msgid "Step 2:"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:300
msgid "Enter the 6-digit code from your app to verify:"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:305
msgid "Verification Code"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:318
msgid "Verify & Enable"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:339
msgid "Save your recovery codes!"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:341
msgid "These codes can be used to log in if you lose access to your authenticator app. Each code can only be used once. Store them in a safe place."
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:364
msgid "Copy to Clipboard"
msgstr ""

#: build/854.js:1
#: src/pages/Content.jsx:30
msgid "Member Template"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:57
msgid "— Select User —"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:66
msgid "Any role"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:147
msgid "Auto Login Links"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:150
msgid "Generate magic login URLs that allow users to log in without entering credentials. Share these links carefully — anyone with the link can log in as the selected user."
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:181
msgid "Create New Link"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:193
#: src/pages/Security/AutoLogin.jsx:283
msgid "User"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:200
msgid "A name to identify this link (e.g. \"Client preview link\")."
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:207
msgid "Redirect URL (optional)"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:208
msgid "Where to redirect after auto-login. Leave empty for homepage."
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:219
msgid "Expiration"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:226
msgid "Never expires"
msgstr ""

#: build/310.js:2
#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:227
#: src/pages/Security/Blocks.jsx:120
msgid "1 hour"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:228
msgid "6 hours"
msgstr ""

#: build/310.js:2
#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:229
#: src/pages/Security/Blocks.jsx:121
msgid "24 hours"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:230
msgid "48 hours"
msgstr ""

#: build/310.js:2
#: build/773.js:1
#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:231
#: src/pages/Security/Blocks.jsx:122
#: src/pages/Security/TwoFactor.jsx:223
msgid "7 days"
msgstr ""

#: build/773.js:1
#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:232
#: src/pages/Security/TwoFactor.jsx:225
msgid "30 days"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:238
msgid "Max Uses"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:239
msgid "0 = unlimited"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:251
msgid "Role Restriction"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:255
msgid "Only create a link for users with this role."
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:270
msgid "Generate Link"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:277
msgid "Existing Links"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:284
msgid "Uses"
msgstr ""

#: build/310.js:2
#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:285
#: src/pages/Security/Blocks.jsx:163
msgid "Expires"
msgstr ""

#: build/174.js:2
#: build/310.js:2
#: build/500.js:9
#: build/913.js:2
#: build/926.js:1
#: src/pages/CpuMonitor/CronJobs.jsx:123
#: src/pages/CpuMonitor/PluginPerformance.jsx:98
#: src/pages/Security/AutoLogin.jsx:286
#: src/pages/Security/Blocks.jsx:165
#: src/pages/Security/Scanner.jsx:634
msgid "Actions"
msgstr ""

#: build/310.js:2
#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:302
#: src/pages/Security/Blocks.jsx:178
msgid "Never"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:309
msgid "Copied!"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:310
msgid "Copy URL"
msgstr ""

#: build/174.js:2
#: build/926.js:1
#: src/pages/CpuMonitor/CronJobs.jsx:165
#: src/pages/Security/AutoLogin.jsx:317
msgid "Delete"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:334
msgid "No auto-login links created yet. Use the form above to generate one."
msgstr ""

#: build/955.js:2
#: src/pages/Security/LoginLog.jsx:93
msgid "Enable Login Logging"
msgstr ""

#: includes/class-db-cleaner.php:69
#: includes/class-docs.php:849
#: build/948.js:1
#: build/955.js:2
#: src/pages/Security/LoginLog.jsx:86
#: src/pages/Tools.jsx:36
msgid "Login Activity Log"
msgstr ""

#: build/119.js:1
#: build/174.js:2
#: build/306.js:2
#: build/645.js:2
#: build/750.js:2
#: build/913.js:2
#: build/955.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:93
#: src/pages/CpuMonitor/ErrorLog.jsx:85
#: src/pages/CpuMonitor/OptionsBloat.jsx:76
#: src/pages/CpuMonitor/Overview.jsx:62
#: src/pages/CpuMonitor/PluginPerformance.jsx:70
#: src/pages/CpuMonitor/SlowQueries.jsx:74
#: src/pages/Security/LoginLog.jsx:107
msgid "Refresh"
msgstr ""

#: build/955.js:2
#: src/pages/Security/LoginLog.jsx:111
msgid "Clear Log"
msgstr ""

#: build/955.js:2
#: src/pages/Security/LoginLog.jsx:132
#: src/pages/Security/LoginLog.jsx:167
msgid "IP Address"
msgstr ""

#: build/955.js:2
#: src/pages/Security/LoginLog.jsx:134
#: src/pages/Security/LoginLog.jsx:169
msgid "Date"
msgstr ""

#: build/index.js:1
#: src/components/LivePreview.jsx:86
msgid "Live Preview"
msgstr ""

#: build/index.js:1
#: src/components/ProBadge.jsx:7
msgid "Pro feature"
msgstr ""

#: build/index.js:1
#: src/components/SaveBar.jsx:58
msgid "You have unsaved changes"
msgstr "Tiene cambios sin guardar"

#: build/index.js:1
#: src/components/SaveBar.jsx:66
msgid "Reset"
msgstr "Restablecer"

#: build/796.js:2
#: build/index.js:1
#: src/components/SaveBar.jsx:75
#: src/pages/Security/Hardening.jsx:293
msgid "Saving…"
msgstr "Guardando…"

#: build/index.js:1
#: src/components/SaveBar.jsx:76
msgid "Save Now"
msgstr "Guardar ahora"

#: build/index.js:1
#: build/index.js:2
#: src/components/SetupWizard.jsx:155
#: src/components/Sidebar.jsx:30
#: src/pages/Dashboard.jsx:236
msgid "Dashboard"
msgstr "Panel de control"

#: build/index.js:1
#: build/index.js:2
#: src/components/Sidebar.jsx:41
#: src/pages/Dashboard.jsx:189
msgid "Site Access"
msgstr "Acceso al sitio"

#: build/index.js:2
#: src/pages/Dashboard.jsx:195
msgid "Security"
msgstr "Seguridad"

#: build/index.js:1
#: src/components/Sidebar.jsx:68
msgid "Plugin Navigation"
msgstr "Navegación del plugin"

#: build/index.js:1
#: src/components/Header.jsx:38
msgid "Unsaved changes"
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:61
msgid "Protect the entire site with a single password."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:77
msgid "Limit failed login attempts to prevent brute-force."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:84
msgid "Login Honeypot"
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:85
msgid "Invisible bot trap on the login form."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:93
msgid "Invisible bot trap on the registration form."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:101
msgid "Block XML-RPC requests to reduce attack surface."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:108
msgid "Hide WP Version"
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:109
msgid "Remove WordPress version from source code."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:117
msgid "TOTP-based 2FA for selected user roles."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:134
msgid "Block AI bots via robots.txt and user-agent."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:142
msgid "Password-protect individual posts or pages."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:151
msgid "Show or hide content blocks by conditions."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:159
msgid "Track every login attempt with IP and status."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:190
msgid "Admin-only mode & site-wide password."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:196
msgid "Login protection, 2FA, IP management."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:202
msgid "Content lock & conditional display rules."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:208
msgid "Block AI training bots & scrapers."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:214
msgid "Customize login, register & password forms."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:220
msgid "One-click design templates for all forms."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:226
msgid "General options, custom CSS & data."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:238
msgid "Overview of your password protection & security settings."
msgstr ""

#: includes/class-docs.php:1043
#: includes/class-docs.php:1127
#: build/index.js:2
#: src/pages/Dashboard.jsx:243
msgid "Pro"
msgstr ""

#: includes/class-docs.php:1132
#: build/index.js:2
#: src/pages/Dashboard.jsx:243
msgid "Free"
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:328
msgid "Active Features"
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:335
msgid "AI Bots Blocked"
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:342
msgid "Logins (30d)"
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:349
msgid "Failed (30d)"
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:356
msgid "Logins Today"
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:363
msgid "Locked Posts"
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:370
msgid "Feature Status"
msgstr ""

#: includes/class-docs.php:292
#: includes/class-docs.php:306
#: includes/class-docs.php:313
#: includes/class-docs.php:423
#: build/index.js:3
#: src/pages/Dashboard.jsx:389
msgid "On"
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:399
msgid "Quick Navigation"
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:422
msgid "Unlock Content Lock, Two-Factor Auth, Login Log, IP Management, reCAPTCHA, extra form styles, conditional display conditions, custom CSS, and more."
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:430
msgid "Get Pro →"
msgstr ""

#: build/index.js:1
#: build/index.js:3
#: src/components/Loading.jsx:131
#: src/components/SetupWizard.jsx:87
#: src/pages/FormStyle/LoginForm.jsx:87
msgid "Loading…"
msgstr ""

#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:456
msgid "Enter heading text"
msgstr ""

#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:637
msgid "Show Lost Password Link"
msgstr ""

#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:645
msgid "Show Back to Site Link"
msgstr ""

#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:656
msgid "Additional CSS"
msgstr ""

#: build/index.js:3
#: src/pages/FormStyle.jsx:48
msgid "Register Page Styling"
msgstr ""

#: build/index.js:3
#: src/pages/FormStyle.jsx:51
msgid "The live preview is available for styling exploration, but Register Form customizations will only apply on the frontend with an active Pro license."
msgstr ""

#: build/index.js:3
#: src/pages/FormStyle.jsx:65
msgid "Lost Password Page Styling"
msgstr ""

#: build/index.js:3
#: src/pages/FormStyle.jsx:68
msgid "The live preview is available for styling exploration, but Lost Password Form customizations will only apply on the frontend with an active Pro license."
msgstr ""

#. Plugin Name of the plugin
#: wp-edit-password-protected.php
#: build/index.js:1
#: src/components/Header.jsx:32
msgid "WPEPP – All In One WordPress Security, Firewall, Malware Scanner & Login Protection"
msgstr ""

#. Description of the plugin
#: wp-edit-password-protected.php
msgid "The complete All-In-One WordPress security suite: Web Application Firewall (WAF), malware scanner, login protection, 2FA, passkeys, bot shield & password protect."
msgstr ""

#: includes/class-ajax-password.php:89
#: includes/class-ajax-password.php:146
msgid "Too many failed attempts. Please try again in 5 minutes."
msgstr ""

#: includes/class-cpu-cron-monitor.php:41
#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:133
msgid "One-time"
msgstr ""

#: includes/class-cpu-cron-monitor.php:89
#: includes/class-cpu-cron-monitor.php:128
msgid "Cron event not found."
msgstr ""

#: includes/class-cpu-error-log.php:28
msgid "Error log file not found or not readable."
msgstr ""

#: includes/class-cpu-monitor.php:285
#: includes/class-cpu-monitor.php:309
msgid "Missing required parameters."
msgstr ""

#: includes/class-cpu-monitor.php:358
msgid "Plugin file is required."
msgstr ""

#: includes/class-cpu-monitor.php:448
msgid "Constant name is required."
msgstr ""

#: includes/class-cpu-plugin-monitor.php:72
msgid "Cannot deactivate WPEPP from within itself."
msgstr ""

#: includes/class-cpu-plugin-monitor.php:80
msgid "Plugin is not active."
msgstr ""

#: includes/class-cpu-wp-config.php:119
msgid "This constant cannot be managed."
msgstr ""

#: includes/class-cpu-wp-config.php:133
#: build/306.js:2
#: build/645.js:2
#: src/pages/CpuMonitor/ErrorLog.jsx:103
#: src/pages/CpuMonitor/SlowQueries.jsx:91
msgid "wp-config.php is not writable. Please check file permissions."
msgstr ""

#: includes/class-cpu-wp-config.php:142
msgid "Could not read wp-config.php."
msgstr ""

#: includes/class-cpu-wp-config.php:182
msgid "Could not find a suitable location in wp-config.php to insert the constant."
msgstr ""

#: includes/class-cpu-wp-config.php:196
msgid "Could not write to wp-config.php."
msgstr ""

#: includes/class-cpu-wp-config.php:213
msgid "Could not replace wp-config.php."
msgstr ""

#: includes/class-cpu-wp-config.php:246
msgid "wp-config.php could not be located."
msgstr ""

#: includes/class-db-cleaner.php:63
msgid "Activity Events Log"
msgstr ""

#: includes/class-db-cleaner.php:75
#: build/645.js:2
#: src/pages/CpuMonitor/SlowQueries.jsx:72
msgid "Slow Database Queries"
msgstr ""

#: includes/class-db-cleaner.php:81
msgid "Blocked IP Records"
msgstr ""

#: includes/class-docs.php:64
msgid "Start Here"
msgstr ""

#: includes/class-docs.php:68
msgid "Protect & Defend"
msgstr ""

#: includes/class-docs.php:72
msgid "Content & Design"
msgstr ""

#: includes/class-docs.php:76
msgid "System & Reference"
msgstr ""

#: includes/class-docs.php:115
msgid "Overview & Setup Wizard"
msgstr ""

#: includes/class-docs.php:117
msgid "WPEPP Security → Dashboard"
msgstr ""

#: includes/class-docs.php:119
msgid "WPEPP v3+ combines an All-In-One security suite (WAF firewall, malware scanner, anti-spam shield, brute-force & 2FA login defense, server hardening, and activity telemetry) with the classic Password Form Customizer, Content Lock, and Login Page Designer. Every option is built to work safely out of the box without disrupting normal WordPress users."
msgstr ""

#: includes/class-docs.php:123
msgid "Recommended Day-1 Baseline"
msgstr ""

#: includes/class-docs.php:124
msgid "Start by running the 5-step Security Setup Wizard on the Dashboard. It turns on high-value, zero-friction protections (Login Limiter, Honeypots, Basic Firewall, Security Headers) while leaving disruptive options (Country Blocking, Site Password, Hide Login URL, HSTS, and AI Crawler Blocker) OFF until you deliberately choose them."
msgstr ""

#: includes/class-docs.php:128
msgid "Go to WPEPP Security → Dashboard to view your live Security Score ring (0–100, Grade A–F) and 30-day event counters."
msgstr ""

#: includes/class-docs.php:129
msgid "Click Run Setup Wizard to apply safe baseline rules step-by-step without accidentally locking yourself out."
msgstr ""

#: includes/class-docs.php:130
msgid "If your site runs behind Cloudflare or a reverse proxy, visit Block Center → IP Lists immediately and add Trusted Proxies before turning on strict IP lockouts or Country Restriction."
msgstr ""

#: includes/class-docs.php:131
msgid "Open the Site Health Audit Report modal from the Dashboard to see exact failing checks and jump straight to each setting."
msgstr ""

#: includes/class-docs.php:132
msgid "Use the Dark/Light theme toggle in the top header bar anytime for comfortable admin reading."
msgstr ""

#: includes/class-docs.php:136
msgid "Security Score & Checklist"
msgstr ""

#: includes/class-docs.php:138
msgid "Always Active"
msgstr ""

#: includes/class-docs.php:139
msgid "Tracks weighted security controls across Firewall, Login Protection, Hardening, Scanner, and Anti-Spam. Local development hosts (localhost / .test / .local) are detected automatically so non-HTTPS local sites are not unfairly penalized."
msgstr ""

#: includes/class-docs.php:140
msgid "Do not blindly enable advanced restrictions like HSTS Preload, Site Access Gate, or AI Crawler Blocker just to chase a higher score—only enable controls that match your real site requirements."
msgstr ""

#: includes/class-docs.php:143
msgid "Security Setup Wizard (5 Steps)"
msgstr ""

#: includes/class-docs.php:145
#: includes/class-docs.php:152
#: includes/class-docs.php:204
#: includes/class-docs.php:357
#: includes/class-docs.php:896
msgid "On-Demand"
msgstr ""

#: includes/class-docs.php:146
msgid "Configures safe core defaults sequentially (login brute-force limiter, honeypots, spam shield, firewall basics, and recommended hardening) with a one-click Skip option per step."
msgstr ""

#: includes/class-docs.php:147
msgid "Do not skip reviewing Block Center → IP Lists afterward if your site uses Cloudflare—proxy headers must be trusted for accurate attacker IP logging."
msgstr ""

#: includes/class-docs.php:150
msgid "1-Click Site Health Audit Report"
msgstr ""

#: includes/class-docs.php:153
msgid "Generates a scannable summary inside the Dashboard showing passed checks, open risks, and direct links to fix each item."
msgstr ""

#: includes/class-docs.php:154
msgid "Avoid running audit checks right before putting a site in Maintenance Mode—do audits in normal live/staging state for accurate header results."
msgstr ""

#: includes/class-docs.php:168
msgid "Web Application Firewall (WAF)"
msgstr ""

#: includes/class-docs.php:170
msgid "WPEPP Security → Firewall"
msgstr ""

#: includes/class-docs.php:172
msgid "Inspects incoming HTTP requests for SQL injection (SQLi), Cross-Site Scripting (XSS), path traversal, wp-config.php probing, and malicious bots before they can exploit WordPress or your plugins."
msgstr ""

#: includes/class-docs.php:174
msgid "Enable Firewall (Basic Mode) to immediately filter suspicious requests inside WordPress initialization."
msgstr ""

#: includes/class-docs.php:175
msgid "On complex stores or custom headless apps, enable Learning Mode for 24–72 hours first to watch the Recent Matches log without blocking real visitors."
msgstr ""

#: includes/class-docs.php:176
msgid "Pro users can switch on Extended Protection (Early Boot) once host compatibility is confirmed for maximum pre-WordPress blocking speed."
msgstr ""

#: includes/class-docs.php:180
msgid "Firewall Enabled (Basic Mode)"
msgstr ""

#: includes/class-docs.php:182
msgid "Off / Wizard Opt-In"
msgstr ""

#: includes/class-docs.php:183
msgid "Enforces all built-in WAF inspection rules during WordPress runtime. Works reliably on every shared host, VPS, Apache, LiteSpeed, and Nginx server without server config changes."
msgstr ""

#: includes/class-docs.php:184
msgid "After enabling, quickly test complex page-builder saves (Elementor/Bricks) or custom code-snippet plugins—HTML/script payloads in POST fields can occasionally look like XSS if Learning Mode was skipped."
msgstr ""

#: includes/class-docs.php:187
msgid "Learning Mode"
msgstr ""

#: includes/class-docs.php:190
msgid "Evaluates all WAF rules and records matching requests inside Recent Matches without returning a 403 block. Ideal for auditing WooCommerce webhooks, REST integrations, or API tools."
msgstr ""

#: includes/class-docs.php:191
msgid "Do NOT leave Learning Mode turned on permanently in production! While Learning Mode is active, attacks are only logged—they are not blocked."
msgstr ""

#: includes/class-docs.php:194
msgid "Extended Protection (Early-Boot Mode)"
msgstr ""

#: includes/class-docs.php:198
msgid "Configures PHP auto_prepend_file via .user.ini or .htaccess so attacks are rejected before WordPress core, database connections, or plugins load—saving CPU and memory under attack. Built-in auto-failsafe disables bootstrap if PHP fails."
msgstr ""

#: includes/class-docs.php:199
msgid "Do NOT enable without a fresh host backup on hosts that strictly lock .user.ini or disallow php_value in .htaccess. On pure Nginx + PHP-FPM without .user.ini support, configure auto_prepend_file at the pool level or stay on Basic Mode."
msgstr ""

#: includes/class-docs.php:202
msgid "Live Rule Tester & Recent Matches"
msgstr ""

#: includes/class-docs.php:205
msgid "Simulate any URL path, HTTP method (GET/POST), User-Agent, and POST body in the Rule Tester to see which rule triggers and why. Review Recent Matches for matched rule ID, severity, and client IP."
msgstr ""

#: includes/class-docs.php:206
msgid "Do not test live production URLs by sending real attack strings from your own admin IP if auto-blocking/lockouts are active unless your office IP is on the IP Allowlist."
msgstr ""

#: includes/class-docs.php:220
msgid "Malware & Integrity Scanner"
msgstr ""

#: includes/class-docs.php:222
msgid "WPEPP Security → Scanner"
msgstr ""

#: includes/class-docs.php:224
msgid "Scans your WordPress installation in non-blocking slices across 4 stages: Suspicious Files & Malware Signatures, WordPress Core Checksums, Database Options Injection, and Admin/User Role Integrity."
msgstr ""

#: includes/class-docs.php:228
msgid "Verify Before Clicking \"Delete File\""
msgstr ""

#: includes/class-docs.php:229
msgid "Heuristic rules can occasionally flag legitimate obfuscated third-party files, licensed themes, or cache helpers. Deleting a core theme or WooCommerce file directly can crash your site (WSOD). Always inspect the file path and snippet first, take a backup, and reinstall affected plugins from wordpress.org when confirmed."
msgstr ""

#: includes/class-docs.php:233
msgid "Click Quick Scan for a fast baseline check on active code, core checksums, options, and users."
msgstr ""

#: includes/class-docs.php:234
msgid "Run Full Scan weekly (or immediately after any suspected breach) to inspect deeper directories and uploads."
msgstr ""

#: includes/class-docs.php:235
msgid "Review any flagged findings carefully—use Ignore for verified false positives, Resolve once cleaned, or Delete only on confirmed stray/backdoor files."
msgstr ""

#: includes/class-docs.php:239
msgid "Quick Scan vs. Full Scan"
msgstr ""

#: includes/class-docs.php:241
msgid "Manual Trigger"
msgstr ""

#: includes/class-docs.php:242
msgid "Quick Scan checks high-risk directories, core file checksums against official WordPress hashes, critical database options, and rogue admin users. Full Scan adds exhaustive traversal across plugin/theme/upload directories."
msgstr ""

#: includes/class-docs.php:243
msgid "Avoid running Full Scan repeatedly on shared hosting with massive 50,000+ file media libraries during peak traffic—run Quick Scan daily and schedule Full Scan during off-peak hours."
msgstr ""

#: includes/class-docs.php:246
msgid "Finding Actions (Resolve / Ignore / Delete)"
msgstr ""

#: includes/class-docs.php:248
msgid "Per Finding"
msgstr ""

#: includes/class-docs.php:249
msgid "Read the built-in Fix Recommendation first. Click Ignore if you personally authored or verified the code; click Resolve after replacing an infected plugin from a clean source."
msgstr ""

#: includes/class-docs.php:250
msgid "Never click Delete on wp-config.php, active theme functions.php, or core files—removing those takes the site offline."
msgstr ""

#: includes/class-docs.php:253
msgid "Daily Automatic Scan"
msgstr ""

#: includes/class-docs.php:256
msgid "Automatically runs background scan slices every 24 hours via WP-Cron and sends email alerts if critical malware or core tampering appears."
msgstr ""

#: includes/class-docs.php:257
msgid "Do not rely on scheduled scans if DISABLE_WP_CRON is set to true without a real server-side crontab calling wp-cron.php."
msgstr ""

#: includes/class-docs.php:260
msgid "Antivirus Definition Database & Signature Sync"
msgstr ""

#: includes/class-docs.php:262
msgid "Built-In Rules Active"
msgstr ""

#: includes/class-docs.php:263
msgid "Displays total active malware signatures and lets you sync fresh signatures on demand. Built-in signatures stay active even if your host blocks outbound feed requests."
msgstr ""

#: includes/class-docs.php:264
msgid "You do not need to click Sync before every manual scan—local rules work immediately offline."
msgstr ""

#: includes/class-docs.php:278
#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:99
msgid "Anti-Spam & Bot Shield"
msgstr ""

#: includes/class-docs.php:280
msgid "WPEPP Security → Anti-Spam"
msgstr ""

#: includes/class-docs.php:282
msgid "Multi-layer bot defense covering WooCommerce registration, WordPress comments, login, and password-reset forms using zero-friction honeypots, timing checks, rate limiters, disposable email filtering, and CAPTCHA challenges."
msgstr ""

#: includes/class-docs.php:284
msgid "Keep the Master Anti-Spam Shield toggle ON—all safe honeypot defaults run silently with zero UX friction for humans."
msgstr ""

#: includes/class-docs.php:285
msgid "Filter by category pills (WooCommerce Shield, Comment Spam, Login & Forms, CAPTCHA Engine) to fine-tune specific forms."
msgstr ""

#: includes/class-docs.php:286
msgid "In Pro, configure Cloudflare Turnstile or Google reCAPTCHA keys inside Universal CAPTCHA Engine and test with Test Mode ON before enforcing hard blocks."
msgstr ""

#: includes/class-docs.php:290
msgid "WooCommerce Registration Honeypot & Rate Limiter"
msgstr ""

#: includes/class-docs.php:293
msgid "Adds an invisible honeypot field to WooCommerce account/checkout signups and caps rapid signups from a single IP so fake customer floods are stopped automatically."
msgstr ""

#: includes/class-docs.php:294
msgid "If customers register from shared corporate/school Wi-Fi or behind unconfigured Cloudflare proxies, configure Block Center → Trusted Proxies first so legitimate users do not share one rate-limit bucket."
msgstr ""

#: includes/class-docs.php:297
#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:182
msgid "Block Disposable & Temp Emails on WooCommerce"
msgstr ""

#: includes/class-docs.php:299
msgid "On (Pro)"
msgstr ""

#: includes/class-docs.php:300
msgid "Rejects customer signups from 200+ temporary/burner inbox providers (Mailinator, Guerrilla Mail, YOPmail, etc.) to stop coupon abuse and fake accounts."
msgstr ""

#: includes/class-docs.php:301
msgid "Temporarily disable if your QA team tests WooCommerce checkout with Mailinator/temp email addresses, or if privacy-focused buyers intentionally use burner aliases."
msgstr ""

#: includes/class-docs.php:304
msgid "Comment Form Honeypot & <3s Time-Gate"
msgstr ""

#: includes/class-docs.php:307
msgid "Pairs an invisible trap field with a sub-3-second submission timer—human commenters take longer than 3 seconds to read and type, whereas automated spam scripts submit in milliseconds."
msgstr ""

#: includes/class-docs.php:308
msgid "Turn off Time-Gate if a heavily customized AJAX comment plugin submits without printing the hidden timestamp field."
msgstr ""

#: includes/class-docs.php:311
msgid "Login & Lost Password Honeypots"
msgstr ""

#: includes/class-docs.php:314
msgid "Traps automated credential-stuffing and password-reset flooding bots with invisible inputs on wp-login.php."
msgstr ""

#: includes/class-docs.php:315
msgid "Safe for almost every site; only check compatibility if an aggressive browser extension auto-fills hidden non-standard fields."
msgstr ""

#: includes/class-docs.php:318
msgid "Universal CAPTCHA Engine (Turnstile / reCAPTCHA v2 & v3)"
msgstr ""

#: includes/class-docs.php:321
msgid "Choose Cloudflare Turnstile (recommended, frictionless), Google reCAPTCHA v2 (checkbox), or v3 (invisible 0.1–0.9 score threshold, default 0.5). Once keys are saved, enable CAPTCHA independently on Login, Registration, WooCommerce, Comments, or Lost Password."
msgstr ""

#: includes/class-docs.php:322
msgid "NEVER set reCAPTCHA v3 threshold too high (0.8–0.9) right away—privacy browsers and VPN users score lower and get blocked. Always enable CAPTCHA Test Mode (Do not block submissions) while verifying your keys!"
msgstr ""

#: includes/class-docs.php:336
msgid "Block Center & IP Lists"
msgstr ""

#: includes/class-docs.php:338
msgid "WPEPP Security → Block Center"
msgstr ""

#: includes/class-docs.php:340
msgid "Central control hub for inspecting automatic lockouts/404-flood bans, issuing manual IP/CIDR blocks, configuring Cloudflare/reverse proxy trust headers, and maintaining permanent IP Blocklists & Allowlists."
msgstr ""

#: includes/class-docs.php:344
msgid "Using Cloudflare, Load Balancers, or Nginx Proxy? Set Trusted Proxies First!"
msgstr ""

#: includes/class-docs.php:345
msgid "To prevent IP header spoofing, WPEPP only trusts X-Forwarded-For or CF-Connecting-IP when the direct peer (REMOTE_ADDR) is listed in Trusted Reverse Proxies. On Cloudflare sites, click \"1-Click Add Cloudflare IP Ranges\" inside IP Lists so attacks and Country Restrictions resolve the visitor's true IP instead of locking everyone behind one Cloudflare edge IP."
msgstr ""

#: includes/class-docs.php:349
msgid "Visit Block Center → Blocks to review active temporary or permanent bans (shows type: Manual, Auto 404 flood, Rate limit, Login lockout, Country)."
msgstr ""

#: includes/class-docs.php:350
msgid "To ban an attacker immediately, enter a single IP or CIDR range (e.g. 203.0.113.0/24), pick duration (1 hour, 24 hours, 7 days, Permanent), add an optional reason, and click Add Block."
msgstr ""

#: includes/class-docs.php:351
msgid "Open IP Lists to inspect your live REMOTE_ADDR vs. Resolved Client IP, configure Cloudflare/Proxy ranges, and maintain Pro Blocklists/Allowlists."
msgstr ""

#: includes/class-docs.php:355
msgid "Manual IP / CIDR Blocks & Purge Expired"
msgstr ""

#: includes/class-docs.php:358
msgid "Block single IPs or subnet ranges temporarily (1h/24h/7d) or permanently, track hit counts per rule, and click Purge expired blocks anytime to tidy old bans."
msgstr ""

#: includes/class-docs.php:359
msgid "Never enter massive ranges like /8 or /16 without verifying WHOIS ownership, and always check Your IP in IP Lists so you do not ban your own network."
msgstr ""

#: includes/class-docs.php:362
msgid "Reverse Proxy & 1-Click Cloudflare IP Ranges"
msgstr ""

#: includes/class-docs.php:364
msgid "Direct REMOTE_ADDR Only"
msgstr ""

#: includes/class-docs.php:365
msgid "Automatically detects Cloudflare traffic and populates official Cloudflare CIDRs into Trusted Reverse Proxies in one click (click Save Changes afterward to persist)."
msgstr ""

#: includes/class-docs.php:366
msgid "Do NOT add arbitrary public IPs or 0.0.0.0/0 to Trusted Proxies—doing so lets any attacker forge fake X-Forwarded-For headers and bypass IP blocks."
msgstr ""

#: includes/class-docs.php:369
msgid "Permanent IP Blocklist"
msgstr ""

#: includes/class-docs.php:371
#: includes/class-docs.php:378
#: includes/class-docs.php:596
#: includes/class-docs.php:903
msgid "Empty"
msgstr ""

#: includes/class-docs.php:372
msgid "Bulk list of IPs/CIDRs (one per line, # comments supported) returning immediate 403 Forbidden errors."
msgstr ""

#: includes/class-docs.php:373
msgid "Avoid dumping thousands of unmaintained third-party IP feeds here—use WAF + Country Restriction for broad filtering."
msgstr ""

#: includes/class-docs.php:379
msgid "Safelist static office, home, or VPN IPs/CIDRs so trusted team members and monitoring uptime bots bypass login lockouts and rate limits."
msgstr ""

#: includes/class-docs.php:380
msgid "NEVER add public coffee-shop Wi-Fi, shared cellular gateways, or Cloudflare/CDN proxy IPs into the Allowlist—everyone sharing that IP would bypass security!"
msgstr ""

#: includes/class-docs.php:394
msgid "Logins, 2FA, Passkeys & Auth"
msgstr ""

#: includes/class-docs.php:396
msgid "WPEPP Security → Logins"
msgstr ""

#: includes/class-docs.php:398
msgid "Full authentication suite organized into 7 sub-tabs: Login Protection, Registration, Passwords, Two-Factor Auth, Passkeys, Custom Login URL, and Auto Login Magic Links."
msgstr ""

#: includes/class-docs.php:402
msgid "Custom Login URL & Hide wp-login.php Lockout Warning"
msgstr ""

#: includes/class-docs.php:403
msgid "Never enable \"Hide wp-login.php\" until you have already entered, saved, and bookmarked a Custom Login Slug AND excluded that slug from page caching plugins! If locked out, define WPEPP_SAFE_MODE = true in wp-config.php."
msgstr ""

#: includes/class-docs.php:407
msgid "Under Login Protection, verify Login Limiter (default 5 attempts / 15 min) and Auto-Check \"Remember Me\" match your user policy."
msgstr ""

#: includes/class-docs.php:408
msgid "Enable Password Policies for new registrations and resets without breaking existing users."
msgstr ""

#: includes/class-docs.php:409
msgid "If masking the login endpoint, set and test Custom Login Slug first, then optionally toggle Hide wp-login.php."
msgstr ""

#: includes/class-docs.php:410
msgid "Pro users can enforce Role-Based 2FA (TOTP), register Passkeys over HTTPS, and issue temporary time-limited Auto Login links."
msgstr ""

#: includes/class-docs.php:414
msgid "Login Limiter (Max Attempts & Lockout Duration)"
msgstr ""

#: includes/class-docs.php:416
msgid "On (5 tries / 15 min)"
msgstr ""

#: includes/class-docs.php:417
msgid "Temporarily locks out an IP address after repeated wrong passwords (configurable 1–20 attempts, 1–120 minutes). Automatically logs events and triggers lockout alerts."
msgstr ""

#: includes/class-docs.php:418
msgid "Do not set Max Attempts to 1–2—normal users mistype passwords and lock themselves out. On Cloudflare, configure Trusted Proxies first."
msgstr ""

#: includes/class-docs.php:421
#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:92
msgid "Auto-Check \"Remember Me\""
msgstr ""

#: includes/class-docs.php:424
msgid "Pre-selects WordPress's built-in \"Remember Me\" checkbox on wp-login.php so users keep their standard 14-day WordPress auth cookie across browser closes and computer restarts instead of logging in daily."
msgstr ""

#: includes/class-docs.php:425
msgid "Turn this OFF on shared/public kiosk computers or sensitive client environments where closing the browser should strictly end the login session."
msgstr ""

#: includes/class-docs.php:428
msgid "WordPress Hardening (XML-RPC, WP Version, REST User Enumeration)"
msgstr ""

#: includes/class-docs.php:430
msgid "All 3 On"
msgstr ""

#: includes/class-docs.php:431
msgid "Blocks xmlrpc.php amplification attacks, strips the WP version generator tag from HTML source, and restricts /wp/v2/users for non-admin requests to stop username harvesting."
msgstr ""

#: includes/class-docs.php:432
msgid "Disable \"Disable XML-RPC\" only if you actively rely on Jetpack or legacy mobile/desktop publishing apps. Disable REST User Restriction only if a custom frontend script requires anonymous access to author endpoints."
msgstr ""

#: includes/class-docs.php:437
msgid "Default (wp-admin)"
msgstr ""

#: includes/class-docs.php:438
msgid "Send users to a custom dashboard or portal URL immediately after successful login."
msgstr ""

#: includes/class-docs.php:439
msgid "Do not point to an access-restricted or 404 page—test the destination URL first, and leave blank on standard admin/WooCommerce sites using role-specific redirects."
msgstr ""

#: includes/class-docs.php:442
msgid "Registration Protection (Rate Limit, Disposable Blocker, Domain Filter, Admin Approval)"
msgstr ""

#: includes/class-docs.php:444
msgid "Honeypot On / Others Off"
msgstr ""

#: includes/class-docs.php:445
msgid "Limits rapid signups per IP (Free, 1–20 signups / 5–1440 min). Pro adds Disposable Email Blocker, Whitelist/Blacklist Email Domain rules (one domain per line without @), and Require Admin Approval (approve under Users → All Users)."
msgstr ""

#: includes/class-docs.php:446
msgid "Never select Email Domain \"Whitelist\" unless you strictly want ONLY those domains (it blocks Gmail/Outlook too!). Avoid Require Admin Approval on instant self-serve eCommerce shops."
msgstr ""

#: includes/class-docs.php:449
msgid "Password Strength & Breach Policy"
msgstr ""

#: includes/class-docs.php:451
msgid "Off (Breach Check Pro)"
msgstr ""

#: includes/class-docs.php:452
msgid "Enforces min length (6–64, default 12), uppercase+lowercase+number mix, optional special symbol, common weak-list rejection, and Pro k-anonymity check via api.pwnedpasswords.com (only 5 hash chars sent; fails open on outage)."
msgstr ""

#: includes/class-docs.php:453
msgid "Do not enforce 20+ char symbol rules on casual WooCommerce customer accounts unless required—excessive friction increases cart/signup abandonment."
msgstr ""

#: includes/class-docs.php:456
msgid "Two-Factor Authentication (TOTP App)"
msgstr ""

#: includes/class-docs.php:459
msgid "Require 6-digit codes from Google Authenticator, Authy, or Microsoft Authenticator for selected roles, optionally remember trusted devices (Off or 7–90 days), and save one-time Recovery Codes immediately during QR setup."
msgstr ""

#: includes/class-docs.php:460
msgid "Do NOT select Subscriber/Customer roles unless your frontend users expect app-based 2FA setup in their profile, and ensure your server clock stays NTP-synced."
msgstr ""

#: includes/class-docs.php:463
msgid "Passkeys (Fingerprint / Face ID / Hardware Key)"
msgstr ""

#: includes/class-docs.php:465
msgid "Available on Login"
msgstr ""

#: includes/class-docs.php:466
msgid "Users register WebAuthn device passkeys (\"MacBook Touch ID\", Windows Hello, YubiKey) and click \"Sign in with a passkey\" on wp-login.php with no password required."
msgstr ""

#: includes/class-docs.php:467
msgid "Do NOT attempt passkey registration on plain HTTP staging URLs—browsers enforce HTTPS (or localhost only) for WebAuthn."
msgstr ""

#: includes/class-docs.php:470
msgid "Custom Login URL & Hide wp-login.php"
msgstr ""

#: includes/class-docs.php:473
msgid "Masks wp-login.php behind a clean secret slug (lowercase letters, digits, hyphens—e.g. team-portal) and optionally returns 404 for direct wp-login.php and logged-out wp-admin requests."
msgstr ""

#: includes/class-docs.php:474
msgid "Do NOT use generic slugs like \"login\" or \"admin\" if bots scan them, and NEVER enable Hide wp-login.php while Custom Login Slug is blank or page caching caches the custom login page."
msgstr ""

#: includes/class-docs.php:477
msgid "Auto Login Magic Links"
msgstr ""

#: includes/class-docs.php:479
msgid "On-Demand (3 Free)"
msgstr ""

#: includes/class-docs.php:480
msgid "Creates single-click login URLs for any user with optional custom redirect (up to 3 active links Free). Pro removes the cap and adds Expiration (1h–30d), Max Uses (1–100), and Role Restriction."
msgstr ""

#: includes/class-docs.php:481
msgid "Treat magic links as full passwords! NEVER leave \"Never expires\" + unlimited Administrator links sitting in emails or chat logs—always set strict expiration + max uses, and delete immediately after support completes."
msgstr ""

#: includes/class-docs.php:495
msgid "Site Access & Geo Gate"
msgstr ""

#: includes/class-docs.php:497
msgid "WPEPP Security → Site Access"
msgstr ""

#: includes/class-docs.php:499
msgid "Whole-site visibility controls across three sub-tabs: Site Access Gate (login/role restriction), Site Password Protection (shared password screen), and Country Restriction (geo-blocking by visitor IP)."
msgstr ""

#: includes/class-docs.php:503
msgid "Impact on SEO & Public Visitors"
msgstr ""

#: includes/class-docs.php:504
msgid "Enabling Site Access Gate or Site Password hides your ENTIRE frontend from anonymous users and search engine crawlers (Googlebot). Only use these on client staging sites, private portals, or pre-launch builds—never on active SEO blogs or public eCommerce stores."
msgstr ""

#: includes/class-docs.php:508
msgid "Pick Site Access Gate to require WordPress accounts (All Logged-in Users or Administrators Only)."
msgstr ""

#: includes/class-docs.php:509
msgid "Or choose Site Password when you want clients to unlock a staging site with a shared password without creating user accounts."
msgstr ""

#: includes/class-docs.php:510
msgid "Or configure Country Restriction to hide the site from specific countries (or restrict solely to target regions)."
msgstr ""

#: includes/class-docs.php:514
msgid "Site Access Gate (Scope & Logged-Out Action)"
msgstr ""

#: includes/class-docs.php:517
msgid "Choose between \"All Logged-in Users (Members Only)\" or \"Administrators Only (manage_options)\". Logged-out guests redirect to login (Free) or see a blurred Glassdoor Login Popup overlay (Pro) with customizable header & message."
msgstr ""

#: includes/class-docs.php:518
msgid "Do not enable on live public stores or WooCommerce APIs/webhooks that expect unauthenticated frontend endpoints unless tested."
msgstr ""

#: includes/class-docs.php:523
msgid "Off (Cookie 7 days)"
msgstr ""

#: includes/class-docs.php:524
msgid "Requires a global password before showing any frontend page (must enter a password to activate). Customize message, Cookie Duration (1–365 days), and Logged-In User Bypass (Administrators always bypass)."
msgstr ""

#: includes/class-docs.php:525
msgid "Avoid using aggressive full-page server/CDN caching (Cloudflare APO, Varnish) without excluding WPEPP unlock cookies—cached HTML may serve either the form to unlocked users or content to locked visitors."
msgstr ""

#: includes/class-docs.php:528
msgid "Country Restriction (Block List vs. Allow List)"
msgstr ""

#: includes/class-docs.php:530
msgid "Off (2 Countries Free / Unlimited Pro)"
msgstr ""

#: includes/class-docs.php:531
msgid "Resolves country via Cloudflare CF-IPCountry header when present, otherwise queries ipapi.co (sending visitor IP externally; administrators never blocked; fails open on lookup outage). Use Block List to hide from spam-heavy regions or Allow List for geo-locked businesses."
msgstr ""

#: includes/class-docs.php:532
msgid "Be VERY careful with \"Allow List\" mode on SEO sites—major search crawlers operate mostly from US/EU datacenters and get blocked if their country is omitted. Remember to configure Trusted Proxies for Cloudflare first."
msgstr ""

#: includes/class-docs.php:546
msgid "Hardening & Response Headers"
msgstr ""

#: includes/class-docs.php:548
msgid "WPEPP Security → Hardening"
msgstr ""

#: includes/class-docs.php:550
msgid "Applies server-level filesystem protections, audits permissions on critical files like wp-config.php and .htaccess, manages browser security HTTP headers, and runs live configuration diagnostics."
msgstr ""

#: includes/class-docs.php:554
msgid "Handle HSTS & Preload With Extreme Care"
msgstr ""

#: includes/class-docs.php:555
msgid "Enabling HSTS tells visitors' browsers to refuse HTTP forever for the max-age window. Enabling \"preload\" marks the domain for hardcoded browser lists (hstspreload.org) which takes months to reverse. NEVER turn on HSTS on HTTP sites, local dev, or domains with non-HTTPS subdomains."
msgstr ""

#: includes/class-docs.php:559
msgid "Enable Block PHP in Uploads, Disable Directory Listing, and Disable File Editor under Server Tools."
msgstr ""

#: includes/class-docs.php:560
msgid "Check the Critical Files table to verify wp-config.php and .htaccess show Protected status."
msgstr ""

#: includes/class-docs.php:561
msgid "Keep default X-Frame-Options (SAMEORIGIN), Referrer-Policy, and nosniff active, then optionally test CSP Report-Only presets."
msgstr ""

#: includes/class-docs.php:562
msgid "Click Run diagnostics at the bottom to verify real live HTTP response headers returned by your server."
msgstr ""

#: includes/class-docs.php:566
msgid "Server Hardening Tools (Uploads PHP Block, Dir Listing, File Editor)"
msgstr ""

#: includes/class-docs.php:568
msgid "Toggleable"
msgstr ""

#: includes/class-docs.php:569
msgid "Writes Apache .htaccess rules blocking PHP inside wp-content/uploads and folder indexing (displays exact Nginx snippet when running Nginx), and sets DISALLOW_FILE_EDIT in wp-config.php so attackers cannot edit theme/plugin PHP inside wp-admin."
msgstr ""

#: includes/class-docs.php:570
msgid "Only disable DISALLOW_FILE_EDIT temporarily if you intentionally rely on WordPress's built-in Appearance → Theme File Editor (use SFTP/Git instead for production safety)."
msgstr ""

#: includes/class-docs.php:573
msgid "X-Frame-Options & X-Content-Type-Options: nosniff"
msgstr ""

#: includes/class-docs.php:575
msgid "SAMEORIGIN & nosniff On"
msgstr ""

#: includes/class-docs.php:576
msgid "SAMEORIGIN stops external clickjacking while keeping Gutenberg/Customizer/Preview iframes working cleanly. nosniff prevents MIME-type confusion attacks."
msgstr ""

#: includes/class-docs.php:577
msgid "Avoid switching X-Frame-Options to DENY if external apps, SaaS portals, or subdomains legitimately iframe your site pages."
msgstr ""

#: includes/class-docs.php:580
msgid "Referrer-Policy & Permissions-Policy"
msgstr ""

#: includes/class-docs.php:582
msgid "strict-origin-when-cross-origin"
msgstr ""

#: includes/class-docs.php:583
msgid "Controls URL referrer leakage across origins and lets you restrict browser hardware APIs (e.g. camera=(), microphone=(), geolocation=())."
msgstr ""

#: includes/class-docs.php:584
msgid "Do not set Referrer-Policy to no-referrer if affiliate partners require origin referrers, and do not lock camera/microphone if your site embeds video calls or voice recorders."
msgstr ""

#: includes/class-docs.php:587
msgid "Strict-Transport-Security (HSTS, includeSubDomains, preload)"
msgstr ""

#: includes/class-docs.php:590
msgid "Forces HTTPS-only connections in modern browsers once your entire production domain has a valid TLS certificate."
msgstr ""

#: includes/class-docs.php:591
msgid "NEVER turn on over plain HTTP (WPEPP hides it on non-HTTPS). Never check includeSubDomains if staging/mail subdomains lack HTTPS, and never check preload unless committing permanently to hstspreload.org."
msgstr ""

#: includes/class-docs.php:594
msgid "Content-Security-Policy (Report-Only) + Starter Templates"
msgstr ""

#: includes/class-docs.php:597
msgid "Use one-click starter templates (Default site, Blog/ads, WooCommerce) in safe Report-Only mode—violations log in browser DevTools without breaking any scripts or checkout flows."
msgstr ""

#: includes/class-docs.php:598
msgid "Do not paste random strict CSP policies blindly; always monitor DevTools console violations under WooCommerce/analytics plugins first."
msgstr ""

#: includes/class-docs.php:612
msgid "Form Style & Templates"
msgstr ""

#: includes/class-docs.php:614
msgid "WPEPP Security → Form Style / Templates"
msgstr ""

#: includes/class-docs.php:616
msgid "Visual live-preview design studio for WordPress's Login Form (Free), Register Form (Pro), Lost Password Form (Pro), and Password-Protected Post Form (Free + Pro layouts), paired with one-click preset Templates."
msgstr ""

#: includes/class-docs.php:618
msgid "Start under Templates (Starter, Corporate, Creative, Elegant, Gradient Wave, Minimal, Modern Dark, Nature, Sunset, Tech Blue) to apply a cohesive preset in one click."
msgstr ""

#: includes/class-docs.php:619
msgid "Open Form Style → Login Form (or Password Protected Form) and adjust sections in the left accordion while watching the real iframe Live Preview update."
msgstr ""

#: includes/class-docs.php:620
msgid "Click Save Changes in the floating Save Bar; Pro users can also Export/Import design settings as JSON."
msgstr ""

#: includes/class-docs.php:624
msgid "Page Background (Color / Gradient / Image / Video + Overlay)"
msgstr ""

#: includes/class-docs.php:626
msgid "Solid Color (#f0f0f1)"
msgstr ""

#: includes/class-docs.php:627
msgid "Set brand solid colors, CSS gradients, Media Library images (position/size controls), or YouTube/Vimeo/MP4 background videos with optional tinted dark overlay and opacity."
msgstr ""

#: includes/class-docs.php:628
msgid "Avoid heavy 10+ MB uncompressed videos/images on login pages (slows loading), and always add a dark/light background overlay when placing headings directly over busy photography."
msgstr ""

#: includes/class-docs.php:631
msgid "Logo, Heading, Container, Inputs, Button & Links Panels"
msgstr ""

#: includes/class-docs.php:633
#: includes/class-docs.php:640
msgid "WordPress Defaults"
msgstr ""

#: includes/class-docs.php:634
msgid "Swap the WordPress logo for a custom image or typography logo (with optional badge background/padding/radius), customize form width/borders/inputs/buttons, and toggle Lost Password or Back to Site links."
msgstr ""

#: includes/class-docs.php:635
msgid "Do not hide the \"Lost your password?\" link unless your users exclusively sign in via SSO, OAuth, or Passkeys—password-reset lockout support tickets will spike."
msgstr ""

#: includes/class-docs.php:638
msgid "Register & Lost Password Form Styling"
msgstr ""

#: includes/class-docs.php:641
msgid "Customize registration (?action=register) and lost-password (?action=lostpassword) screens with independent templates and visual branding matching your Login Form."
msgstr ""

#: includes/class-docs.php:642
msgid "Ensure readable input text-to-background contrast on dark templates (like Elegant or Modern Dark) so error messages remain clear."
msgstr ""

#: includes/class-docs.php:645
msgid "Password Protected Form Layouts & Social Icons"
msgstr ""

#: includes/class-docs.php:647
msgid "Horizontal Layout"
msgstr ""

#: includes/class-docs.php:648
msgid "Customize WordPress password-protected post/page gates using Horizontal or Inline layouts (Free) or Vertical Card / Full Width (Pro), custom Top/Bottom text, error text & position, and 8 social icon links (top/bottom position, square/round styling, size & gap)."
msgstr ""

#: includes/class-docs.php:649
msgid "Check mobile viewport width in Live Preview if adding long custom error messages or oversized logos on Horizontal/Inline layouts."
msgstr ""

#: includes/class-docs.php:663
msgid "Content Lock, Visibility & Member Template"
msgstr ""

#: includes/class-docs.php:665
msgid "Post/Page Editor & WPEPP Security → Content"
msgstr ""

#: includes/class-docs.php:667
msgid "Granular post, page, and custom-post-type access rules controlled right inside the Gutenberg/Classic Editor, plus a dedicated Member-Only page template and central management tables."
msgstr ""

#: includes/class-docs.php:671
msgid "Where Controls Live (Editor vs. Plugin Dashboard)"
msgstr ""

#: includes/class-docs.php:672
msgid "To lock a post or assign conditional visibility rules, open that Post/Page in the WordPress Editor (Content Lock / Conditional Display sidebar panels or Classic metaboxes). Use WPEPP Security → Content to monitor locked posts, toggle rules centrally, and style the global Member Template."
msgstr ""

#: includes/class-docs.php:676
msgid "Edit any Post/Page to enable Content Lock (Pro) or Conditional Display rules directly inside the editor."
msgstr ""

#: includes/class-docs.php:677
msgid "Or under Page Attributes → Template, pick \"Member Only (Login Required)\" to show a customized gate screen."
msgstr ""

#: includes/class-docs.php:678
msgid "Configure global Member Template copy/mode under WPEPP Security → Content → Member Template."
msgstr ""

#: includes/class-docs.php:682
msgid "Per-Post Content Lock (Metabox + Central Table)"
msgstr ""

#: includes/class-docs.php:684
#: includes/class-docs.php:691
msgid "Off per Post"
msgstr ""

#: includes/class-docs.php:685
msgid "Lock posts/pages/CPTs for logged-out guests or selected roles. Choose action: Show login link, Inline login form, Blur Popup login, or Redirect URL. Supports optional Auto-Unlock Expiry Date/Time and \"Show excerpt on blog page\" SEO teasers."
msgstr ""

#: includes/class-docs.php:686
msgid "NEVER lock Privacy Policy, Terms, Checkout, My Account, or Custom Login pages—and never set a locked page's Redirect URL back to itself (creates infinite redirect loops!)."
msgstr ""

#: includes/class-docs.php:689
msgid "Conditional Display (12 Trigger Conditions)"
msgstr ""

#: includes/class-docs.php:692
msgid "Show or hide post content by: Login Status (Logged In/Out), User Role, Device Type, Day of Week, Time of Day, Date Range, Recurring Schedule, Post Type, Browser Type, URL Parameter, or Referrer Source. Optionally hide Post Title, Featured Image, Comments, or display a custom fallback Notice. Central filterable dashboard is Pro."
msgstr ""

#: includes/class-docs.php:693
msgid "Avoid relying on time/device/URL-param conditions if aggressive full-page disk/CDN caching serves identical static HTML to all visitors—configure cache exclusions or logged-in cookie bypass first."
msgstr ""

#: includes/class-docs.php:696
msgid "Member-Only Page Template"
msgstr ""

#: includes/class-docs.php:698
msgid "Manual Template Assign"
msgstr ""

#: includes/class-docs.php:699
msgid "Assign template \"Member Only (Login Required)\" on any Page. Customize Title, H1–H4 tag, body text/alignment, and Mode: Login (inline form or redirect button, Free), Info Only (notice without login box, Free), or Popup Glassdoor (Pro)."
msgstr ""

#: includes/class-docs.php:700
msgid "Do not assign this template to your static Front Page or WooCommerce Shop page unless you intend to gate your main public entry."
msgstr ""

#: includes/class-docs.php:716
msgid "WPEPP Security → AI Crawler Blocker"
msgstr ""

#: includes/class-docs.php:718
msgid "Controls whether AI training scrapers and AI search/answer engines (OpenAI GPTBot, ChatGPT-User, PerplexityBot, Anthropic ClaudeBot, Google-Extended, CCBot, Bytespider, etc.) may index your pages via robots.txt or active HTTP 403 User-Agent enforcement."
msgstr ""

#: includes/class-docs.php:722
msgid "Why This Feature Is OFF by Default (AI Search & Traffic Tradeoff)"
msgstr ""

#: includes/class-docs.php:723
msgid "Enabling AI Crawler Blocker stops bots from training on your site, BUT blocking search/citation crawlers (like OAI-SearchBot, ChatGPT-User, PerplexityBot, Google-Extended) also stops ChatGPT, Perplexity, and AI Overviews from recommending or linking to your articles and products! Leave OFF if you want AI discovery traffic."
msgstr ""

#: includes/class-docs.php:727
msgid "Decide first whether you want AI visibility/recommendations (leave OFF) or strict anti-scraping protection (turn ON)."
msgstr ""

#: includes/class-docs.php:728
msgid "Enable AI Crawler Blocker to automatically append Disallow: / directives for selected bots to WordPress's virtual robots.txt."
msgstr ""

#: includes/class-docs.php:729
msgid "Review the 21 known AI bots checklist—for balanced protection, uncheck AI search/citation bots (OAI-SearchBot, ChatGPT-User, PerplexityBot) while keeping dataset-only scrapers checked."
msgstr ""

#: includes/class-docs.php:733
msgid "Enable AI Crawler Blocker (robots.txt Rules)"
msgstr ""

#: includes/class-docs.php:735
msgid "Off (Intentional)"
msgstr ""

#: includes/class-docs.php:736
msgid "Injects clean User-agent Disallow: / sections into your live /robots.txt (includes a live preview panel inside the plugin). Polite crawlers obey immediately."
msgstr ""

#: includes/class-docs.php:737
msgid "Do NOT enable blindly on affiliate blogs, SaaS marketing pages, local businesses, or WooCommerce shops that want ChatGPT/Perplexity buyers to find and cite their brand."
msgstr ""

#: includes/class-docs.php:740
msgid "Block via User-Agent Header (403 Response)"
msgstr ""

#: includes/class-docs.php:743
msgid "Actively checks HTTP User-Agent on every frontend request and terminates matching bots with HTTP 403 Forbidden—stopping rogue scrapers that ignore robots.txt."
msgstr ""

#: includes/class-docs.php:744
msgid "Avoid turning on unless aggressive AI scrapers are spiking your CPU/bandwidth—some legitimate social preview fetchers share generic tokens if misconfigured."
msgstr ""

#: includes/class-docs.php:747
msgid "Select AI Bots (21 Built-In) & Custom User-Agent Strings"
msgstr ""

#: includes/class-docs.php:749
msgid "All 21 Pre-Selected When Enabled"
msgstr ""

#: includes/class-docs.php:750
msgid "Individually check/uncheck 21 major AI bots or use Select All/Deselect All. Pro adds Custom User-Agent Strings (one case-insensitive substring per line when UA 403 blocking is active)."
msgstr ""

#: includes/class-docs.php:751
msgid "NEVER enter short or common browser substrings (like \"Mozilla\", \"Chrome\", \"Safari\", or \"Bot\") into Custom User-Agents—substring matching would block real human visitors and Googlebot!"
msgstr ""

#: includes/class-docs.php:765
msgid "Activity Feed & Email Alerts"
msgstr ""

#: includes/class-docs.php:767
msgid "WPEPP Security → Activity"
msgstr ""

#: includes/class-docs.php:769
msgid "Unified security event feed with 7-day telemetry counters, event-type filters, live SMTP deliverability detection, one-click test alerts, and automated email notifications."
msgstr ""

#: includes/class-docs.php:771
msgid "Inspect the Email Delivery Service banner at the top to see whether SMTP is active or if WordPress is falling back to unreliable PHP mail()."
msgstr ""

#: includes/class-docs.php:772
msgid "Click Send Test Security Alert after entering an Alert Email Address to confirm messages actually reach your inbox (and not spam)."
msgstr ""

#: includes/class-docs.php:773
msgid "Toggle only the alert categories you actively want to read and click Save Alert Settings."
msgstr ""

#: includes/class-docs.php:777
msgid "Security Event Stream & 7-Day Filter"
msgstr ""

#: includes/class-docs.php:779
#: build/index.js:2
#: src/components/AuditReportModal.jsx:130
msgid "Active"
msgstr ""

#: includes/class-docs.php:780
msgid "Filter chronological security events (Logins, Failed logins, Lockouts, Firewall blocks/logs, Scan runs, Passkeys, Alerts, Settings changes) with IP, severity badge, and timestamps."
msgstr ""

#: includes/class-docs.php:781
msgid "Combine with Database & Logs retention rules under Settings so busy sites do not hold unbounded months of old info logs."
msgstr ""

#: includes/class-docs.php:784
msgid "Enable Alerts, Lockouts/Auto-Blocks & Scan Criticals"
msgstr ""

#: includes/class-docs.php:786
msgid "On (Throttled)"
msgstr ""

#: includes/class-docs.php:787
msgid "Sends emails to your custom address (or WP admin email) for critical scan findings and lockouts. Lockout emails are automatically rate-limited to at most 1 email per IP per 30 minutes to prevent inbox flooding."
msgstr ""

#: includes/class-docs.php:788
msgid "Do not ignore a \"PHP Mail Fallback\" warning—many hosts silently drop PHP mail(); install a lightweight SMTP plugin for reliable delivery."
msgstr ""

#: includes/class-docs.php:791
msgid "Admin Logins, Firewall Burst Digest & Weekly Report"
msgstr ""

#: includes/class-docs.php:794
msgid "Get notified immediately when an Administrator logs in, receive digests during heavy firewall attack bursts, or receive automated weekly security summaries."
msgstr ""

#: includes/class-docs.php:795
msgid "Avoid turning on Administrator Login emails on multi-admin agency portals where 5+ staff log in hourly—use Login Log instead to avoid alert fatigue."
msgstr ""

#: includes/class-docs.php:809
msgid "CPU Monitor, Login Log & WP-CLI"
msgstr ""

#: includes/class-docs.php:811
msgid "WPEPP Security → Logs & Tools"
msgstr ""

#: includes/class-docs.php:813
msgid "Real-time server diagnostics & performance suite (Overview, Slow Queries, Cron Jobs, Error Log, Plugin Performance, Options Bloat), dedicated Login Activity Log, and full WP-CLI terminal automation."
msgstr ""

#: includes/class-docs.php:817
msgid "Always Turn OFF \"SAVEQUERIES\" After Debugging!"
msgstr ""

#: includes/class-docs.php:818
msgid "Enabling Query Logging (SAVEQUERIES) inside CPU Monitor → Slow Queries records every SQL query + stack trace in RAM during every request. Leaving it turned on in live production significantly increases PHP memory usage and slows down your store."
msgstr ""

#: includes/class-docs.php:822
msgid "Use CPU Monitor → Overview to check CPU %, PHP Memory limit/peak, load average, and health status."
msgstr ""

#: includes/class-docs.php:823
msgid "Inspect Options Bloat and run Clean Expired Transients whenever wp_options autoload size grows sluggish."
msgstr ""

#: includes/class-docs.php:824
msgid "During slow-site debugging, temporarily switch SAVEQUERIES or WP_DEBUG_LOG on, inspect findings, then switch both back OFF."
msgstr ""

#: includes/class-docs.php:828
msgid "Overview & Slow Queries (SAVEQUERIES Toggle)"
msgstr ""

#: includes/class-docs.php:830
msgid "SAVEQUERIES Off"
msgstr ""

#: includes/class-docs.php:831
msgid "Shows live CPU/RAM metrics and slow SQL queries (Free shows last 10 queries; Pro reveals full PHP call stacks to pinpoint which plugin triggered slow SQL). One-click SAVEQUERIES wp-config toggle included."
msgstr ""

#: includes/class-docs.php:832
msgid "NEVER forget to toggle SAVEQUERIES back OFF after troubleshooting! Also requires writable wp-config.php."
msgstr ""

#: includes/class-docs.php:835
msgid "WP-Cron Events & Options Bloat (Clean Expired Transients)"
msgstr ""

#: includes/class-docs.php:837
msgid "Read-Only Free / Actions Pro"
msgstr ""

#: includes/class-docs.php:838
msgid "Lists scheduled WP-Cron hooks (Pro lets you Run Now or Delete orphaned hooks) and displays wp_options table size & autoload size with a free 1-click Clean Expired Transients button."
msgstr ""

#: includes/class-docs.php:839
msgid "NEVER delete built-in WordPress cron hooks (wp_version_check, wp_privacy_delete_old_export_files, WooCommerce subscription/webhook jobs) unless you know a hook belongs to an uninstalled plugin."
msgstr ""

#: includes/class-docs.php:842
msgid "Error Log & Plugin Performance Footprint"
msgstr ""

#: includes/class-docs.php:844
msgid "Debug Off"
msgstr ""

#: includes/class-docs.php:845
msgid "Toggle WP_DEBUG / WP_DEBUG_LOG and inspect parsed PHP fatal/warning entries directly inside admin, or audit active plugins and deactivate misbehaving plugins in one click."
msgstr ""

#: includes/class-docs.php:846
msgid "Turn WP_DEBUG_LOG back off once debugging finishes so debug.log files do not fill server disk space. Do not deactivate essential active theme/eCommerce dependencies without checking."
msgstr ""

#: includes/class-docs.php:851
msgid "Enabled on Pro"
msgstr ""

#: includes/class-docs.php:852
msgid "Dedicated paginated history of every login success, failed password attempt, and blocked attempt with username, IP, and timestamp (with Enable toggle & Clear Log action)."
msgstr ""

#: includes/class-docs.php:853
msgid "Keep retention at 30 days under Settings → Database & Logs on heavy sites so log rows never accumulate unnecessarily."
msgstr ""

#: includes/class-docs.php:868
msgid "Settings, DB Maintenance & Backups"
msgstr ""

#: includes/class-docs.php:870
msgid "WPEPP Security → Settings"
msgstr ""

#: includes/class-docs.php:872
msgid "Global plugin configuration, password cookie expiration, uninstall cleanup policy, live database footprint diagnostics with automated pruning, JSON backup/restore, and sitewide Custom CSS."
msgstr ""

#: includes/class-docs.php:874
msgid "Set Password Cookie Expiration (1–365 days, default 10) for password-protected posts under Settings → General."
msgstr ""

#: includes/class-docs.php:875
msgid "Check Settings → Database & Logs monthly (or enable Pro Automatic Daily Pruning) to keep log tables lean."
msgstr ""

#: includes/class-docs.php:876
msgid "Download a JSON Backup from Settings → Backup & Restore before making major firewall/server changes or migrating sites."
msgstr ""

#: includes/class-docs.php:880
msgid "Password Cookie Expiration & Delete Data on Uninstall"
msgstr ""

#: includes/class-docs.php:882
msgid "10 Days / Delete Off"
msgstr ""

#: includes/class-docs.php:883
msgid "Controls how many days unlocked post passwords stay valid in a visitor's browser cookie (1–365). Turn ON Delete Data on Uninstall only when permanently removing WPEPP and wanting zero leftover tables or options."
msgstr ""

#: includes/class-docs.php:884
msgid "NEVER enable Delete Data on Uninstall if you are only deactivating the plugin temporarily to troubleshoot—it wipes all saved settings, blocks, and form designs when deleted."
msgstr ""

#: includes/class-docs.php:887
msgid "Database & Log Maintenance (Auto Pruning & Max Rows Cap)"
msgstr ""

#: includes/class-docs.php:889
msgid "30d/7d / 5,000 Rows Cap"
msgstr ""

#: includes/class-docs.php:890
msgid "Shows exact row counts and KB/MB footprint across Events, Logins, Slow Queries, and Blocks tables, with a Free \"Clean Old Logs Now\" button. Pro enables Automatic Daily Pruning, custom retention windows (7–90d events/logins, 3–30d queries), and Flood Protection cap (1,000–10,000 rows)."
msgstr ""

#: includes/class-docs.php:891
msgid "Avoid setting 90 days + 10,000 rows on small shared MySQL plans with high bot traffic—30 days & 5,000 rows keeps dashboards snappy."
msgstr ""

#: includes/class-docs.php:894
msgid "Backup & Restore (JSON Export / Import)"
msgstr ""

#: includes/class-docs.php:897
msgid "Exports all plugin configuration sections cleanly to a timestamped .json file (schema wpepp/1) and imports into staging or client sites in one click."
msgstr ""

#: includes/class-docs.php:898
msgid "Note that API secrets (reCAPTCHA & Turnstile Secret Keys) are intentionally omitted from JSON exports for security—always re-enter your Secret Keys manually after importing on a new site."
msgstr ""

#: includes/class-docs.php:901
msgid "Global Custom CSS"
msgstr ""

#: includes/class-docs.php:904
msgid "Inject custom CSS rules applying across all plugin front-end outputs (password forms, login screen, member-only template)."
msgstr ""

#: includes/class-docs.php:905
msgid "Do not paste general theme header/footer layout CSS here—scope selectors to plugin containers so theme updates never conflict."
msgstr ""

#: includes/class-docs.php:919
msgid "FAQ & Emergency Recovery"
msgstr ""

#: includes/class-docs.php:921
msgid "Troubleshooting & Safe Mode"
msgstr ""

#: includes/class-docs.php:923
msgid "Quick answers to common configuration issues plus step-by-step Emergency Safe Mode instructions if a firewall rule, Custom Login URL, or IP block ever locks you out of wp-admin."
msgstr ""

#: includes/class-docs.php:927
msgid "3 Ways to Trigger Emergency Safe Mode (Instant Bypass)"
msgstr ""

#: includes/class-docs.php:928
msgid "Safe Mode temporarily suspends WPEPP firewall checks, login lockouts, custom login hiding, and IP blocks without deactivating your settings. Use any of the three methods below, fix the setting inside wp-admin, and remove the constant/file immediately afterward."
msgstr ""

#: includes/class-docs.php:934
msgid "I forgot my Custom Login URL or got locked out by Hide wp-login.php / IP Block. How do I get back in?"
msgstr ""

#: includes/class-docs.php:935
msgid "Trigger Emergency Safe Mode using any method above: add define( 'WPEPP_SAFE_MODE', true ); in wp-config.php, create an empty wp-content/wpepp-safe-mode.txt file via FTP, or run \"wp wpepp safe-mode enable\" via WP-CLI. Visit wp-login.php normally, fix your slug or IP Allowlist, then remove Safe Mode immediately so protection resumes."
msgstr ""

#: includes/class-docs.php:938
msgid "Why does WordPress keep asking me to log in frequently after browser restart?"
msgstr ""

#: includes/class-docs.php:939
msgid "Go to WPEPP Security → Logins → Login Protection and verify \"Auto-Check Remember Me\" is ON (it is enabled by default so users keep WordPress's normal 14-day cookie). If it is already ON and you still get logged out, verify another security plugin, browser privacy mode, or HTTP/HTTPS cookie mismatch is not clearing cookies on exit."
msgstr ""

#: includes/class-docs.php:942
msgid "Why did Login Limiter or Country Restriction lock out normal visitors when using Cloudflare?"
msgstr ""

#: includes/class-docs.php:943
msgid "Without Trusted Reverse Proxies configured, WordPress sees Cloudflare's proxy IP instead of each visitor's real IP—causing all visitors to share one rate-limit counter. Open Block Center → IP Lists and click \"1-Click Add Cloudflare IP Ranges\", then click Save Changes."
msgstr ""

#: includes/class-docs.php:946
msgid "Why is AI Crawler Blocker disabled by default?"
msgstr ""

#: includes/class-docs.php:947
msgid "Blocking AI search crawlers (ChatGPT-User, OAI-SearchBot, PerplexityBot) removes your site and products from AI citations and recommendations. WPEPP keeps it OFF by default to protect your AI organic traffic while giving site owners one-click control if strict anti-scraping is desired."
msgstr ""

#: includes/class-docs.php:950
msgid "My Login Form or Site Password page looks unstyled or shows stale locked state after unlocking."
msgstr ""

#: includes/class-docs.php:951
msgid "Full-page cache plugins or Cloudflare cache rules may serve old HTML. Clear your cache after styling changes, and ensure your caching plugin excludes wp-login.php, your Custom Login Slug, and requests carrying WPEPP site-password cookies."
msgstr ""

#: includes/class-docs.php:954
msgid "If I upgrade to Pro or temporarily deactivate the plugin, will I lose my settings?"
msgstr ""

#: includes/class-docs.php:955
msgid "No. Deactivating or updating preserves all saved settings, custom designs, and content-lock meta values in WordPress. Data is removed ONLY if you explicitly check Settings → General → Delete Data on Uninstall and then delete the plugin."
msgstr ""

#. translators: %s: Plugin version
#: includes/class-docs.php:984
#, php-format
msgid "WPEPP Security Documentation (v%s)"
msgstr ""

#: includes/class-docs.php:990
msgid "Complete option-by-option reference: how each security, hardening, and design setting works — plus when NOT to use it."
msgstr ""

#: includes/class-docs.php:996
msgid "Back to Dashboard"
msgstr ""

#: includes/class-docs.php:1025
msgid "Documentation sections"
msgstr ""

#: includes/class-docs.php:1081
msgid "Open Setting"
msgstr ""

#: includes/class-docs.php:1129
msgid "Free + Pro"
msgstr ""

#: includes/class-docs.php:1169
msgid "Quick Setup Workflow"
msgstr ""

#: includes/class-docs.php:1191
msgid "Options Guide (How to Use vs. Caution)"
msgstr ""

#. translators: %s: Default option value
#: includes/class-docs.php:1204
#, php-format
msgid "Default: %s"
msgstr ""

#: includes/class-docs.php:1217
msgid "How to Use"
msgstr ""

#: includes/class-docs.php:1224
msgid "When NOT to Use / Caution"
msgstr ""

#: includes/class-docs.php:1244
msgid "Commands & Snippets"
msgstr ""

#: includes/class-docs.php:1259
msgid "Frequently Asked Questions"
msgstr ""

#: includes/class-docs.php:1317
msgid "Quick Links & Resources"
msgstr ""

#: includes/class-docs.php:1322
msgid "Security Dashboard"
msgstr ""

#: includes/class-docs.php:1323
msgid "View score ring & run Setup Wizard"
msgstr ""

#: includes/class-docs.php:1327
msgid "Safe Mode Recovery"
msgstr ""

#: includes/class-docs.php:1328
msgid "Bypass lockouts in 60 seconds"
msgstr ""

#: includes/class-docs.php:1333
msgid "Ask questions on WordPress.org"
msgstr ""

#: includes/class-docs.php:1339
msgid "Unlock Extended WAF, 2FA, Passkeys & Content Lock"
msgstr ""

#: includes/class-notice.php:91
msgid "WPEPP 3.0 is Here – Your Complete All-In-One WordPress Security Suite!"
msgstr ""

#: includes/class-notice.php:92
msgid "We’ve evolved WPEPP into a full-scale cybersecurity powerhouse! The Free version alone now provides enterprise-grade protection with a built-in Web Application Firewall (WAF), Deep Malware Scanner, Anti-Spam Bot Shield, and Rate Limiting — more than enough to keep your website completely secure!"
msgstr ""

#: includes/class-notice.php:97
msgid "30+ Core WAF Rules (SQLi, XSS, RCE, LFI)"
msgstr ""

#: includes/class-notice.php:98
msgid "Deep Malware Scanner & Checksums"
msgstr ""

#: includes/class-notice.php:99
msgid "WooCommerce & Comment Bot Shield"
msgstr ""

#: includes/class-notice.php:100
msgid "Free Two-Factor Auth (TOTP 2FA)"
msgstr ""

#: includes/class-notice.php:101
msgid "Accurate Multi-Core CPU Monitor"
msgstr ""

#: includes/class-notice.php:102
msgid "IPv4/IPv6 CIDR & 404 Auto-Defense"
msgstr ""

#: includes/class-notice.php:107
msgid "ENTERPRISE PRO"
msgstr ""

#: includes/class-notice.php:109
msgid "Need extended defense? Upgrade to WPEPP Pro for Early-Boot Extended Firewall, Biometric Passkeys (Touch/Face ID), and Breached Password Audits."
msgstr ""

#: includes/class-notice.php:115
msgid "Explore 3.0 Dashboard"
msgstr ""

#: includes/class-notice.php:127
msgid "Dismiss for 28 days"
msgstr ""

#: includes/class-notice.php:196
msgid "Thank you for using WPEPP – All In One WordPress Security!"
msgstr ""

#: includes/class-notice.php:199
msgid "If the plugin has been useful, a quick 5-star review on WordPress.org means a lot to us and helps other site owners discover it. It takes less than a minute."
msgstr ""

#: includes/class-notice.php:203
msgid "Leave a 5-star review"
msgstr ""

#: includes/class-notice.php:206
msgid "Maybe later"
msgstr ""

#: includes/class-notice.php:209
msgid "I already left a review"
msgstr ""

#: includes/class-password-customizer.php:51
msgid "For more public resources check out our followed link."
msgstr ""

#. translators: 1: required pro version, 2: active pro version
#: includes/class-plugin.php:221
#, php-format
msgid "WPEPP: your WPEPP Pro version (%2$s) is older than this free version requires (%1$s). Some Pro modules will not load until you update WPEPP Pro."
msgstr ""

#: includes/class-plugin.php:316
#: includes/class-plugin.php:317
msgid "WPEPP Security"
msgstr ""

#: includes/class-plugin.php:893
msgid "Wrong password. Please try again."
msgstr ""

#: includes/class-plugin.php:1847
msgid "This comment is protected."
msgstr ""

#: includes/class-plugin.php:1848
msgid "Anonymous"
msgstr ""

#: includes/class-rest-api.php:954
msgid "You are not allowed to edit this post."
msgstr ""

#: includes/class-rest-api.php:1664
msgid "Free version is limited to 3 active auto-login links. Upgrade to Pro for unlimited links."
msgstr ""

#: includes/class-rest-api.php:1857
msgid "Invalid settings payload."
msgstr ""

#: includes/class-rest-api.php:1917
#: includes/class-rest-api.php:1964
msgid "Block center is unavailable."
msgstr ""

#: includes/class-rest-api.php:1921
msgid "IP address or CIDR range is required."
msgstr ""

#: includes/class-rest-api.php:2030
msgid "Firewall is unavailable."
msgstr ""

#: includes/class-rest-api.php:2054
msgid "Extended firewall protection requires WPEPP Pro."
msgstr ""

#: includes/class-rest-api.php:2068
msgid "Invalid firewall setting."
msgstr ""

#: includes/class-rest-api.php:2085
msgid "Live firewall testing requires WPEPP Pro."
msgstr ""

#: includes/class-rest-api.php:2186
msgid "Scanner is unavailable."
msgstr ""

#: includes/class-rest-api.php:2227
msgid "Cloud signature sync requires WPEPP Pro."
msgstr ""

#: includes/class-rest-api.php:2231
msgid "Signatures engine unavailable."
msgstr ""

#: includes/class-rest-api.php:2270
msgid "Issues module is unavailable."
msgstr ""

#: includes/class-rest-api.php:2285
msgid "Invalid issue action."
msgstr ""

#: includes/class-rest-api.php:2360
msgid "File hardening is unavailable."
msgstr ""

#: includes/class-rest-api.php:2374
msgid "Invalid hardening tool."
msgstr ""

#: includes/class-rest-api.php:2454
msgid "Security score module unavailable."
msgstr ""

#: includes/class-rest-api.php:2509
msgid "Alerts system unavailable."
msgstr ""

#: includes/class-rest-api.php:2541
msgid "IP service unavailable."
msgstr ""

#: includes/class-rest-api.php:2632
msgid "Passkeys are a Pro feature. Please upgrade to WPEPP Pro to use passkeys."
msgstr ""

#: includes/class-security.php:254
#: includes/class-security.php:256
msgid "Your email address"
msgstr ""

#: includes/class-security.php:258
msgid "Email me an unlock link"
msgstr ""

#: includes/class-security.php:274
msgid "If that address matches, an unlock link has been sent. Check your inbox."
msgstr ""

#: includes/class-security.php:279
msgid "You have been unlocked. You may log in now."
msgstr ""

#: includes/class-security.php:298
msgid "Security check failed."
msgstr ""

#: includes/class-security.php:299
msgid "Error"
msgstr ""

#. translators: %s: site name
#: includes/class-security.php:347
#, php-format
msgid "[%s] Unlock your access"
msgstr ""

#. translators: %s: unlock link
#: includes/class-security.php:353
#, php-format
msgid ""
"Someone requested an unlock link for your IP on %1$s.\n"
"\n"
"Open this single-use link within 15 minutes:\n"
"%2$s\n"
"\n"
"If you did not request this, ignore this email."
msgstr ""

#: includes/class-security.php:620
msgid "⚠️ WPEPP Emergency Safe Mode is Active!"
msgstr ""

#: includes/class-security.php:621
msgid "All firewall, IP blocking, and login lockout restrictions are temporarily bypassed. Delete wpepp-safe-mode.txt (or unset WPEPP_SAFE_MODE) to restore normal security protection."
msgstr ""

#: includes/class-security.php:1310
msgid "Too many auto-login attempts. Please try again later."
msgstr ""

#: includes/class-security.php:1849
msgid "<strong>Error:</strong> Two-Factor Authentication is required for your role. Please contact an administrator to complete setup."
msgstr ""

#: includes/class-security.php:1867
msgid "<strong>Error:</strong> Too many failed two-factor authentication attempts. Please try again in 15 minutes."
msgstr ""

#: includes/class-site-access.php:177
#: includes/class-site-access.php:369
msgid "This site is not available in your region."
msgstr ""

#: includes/class-site-access.php:194
msgid "Site is in Admin Only mode. Authentication required."
msgstr ""

#: includes/class-site-access.php:212
msgid "Site password required to access this resource."
msgstr ""

#: includes/class-site-access.php:368
#: includes/class-site-access.php:513
#: includes/class-site-access.php:518
msgid "Access Restricted"
msgstr ""

#: includes/class-site-access.php:507
msgid "This area is restricted to administrators."
msgstr ""

#: includes/class-site-access.php:520
msgid "Log out"
msgstr ""

#: includes/class-username-shield.php:106
msgid "Author Archive"
msgstr ""

#. translators: %s: username or email attempted
#: includes/class-username-shield.php:168
#, php-format
msgid "<strong>Error:</strong> The password you entered for the username %s is incorrect."
msgstr ""

#: includes/class-username-shield.php:203
msgid "<strong>Error:</strong> This username is not allowed."
msgstr ""

#: includes/core/class-alerts.php:141
msgid "Login lockout issued"
msgstr ""

#. translators: 1: IP, 2: username attempted, 3: site URL
#: includes/core/class-alerts.php:144
#, php-format
msgid ""
"Too many failed login attempts triggered a lockout.\n"
"\n"
"IP: %1$s\n"
"Username tried: %2$s\n"
"Site: %3$s\n"
"\n"
"Manage blocks: %4$s"
msgstr ""

#: includes/core/class-alerts.php:174
msgid "Scanner IP auto-blocked (404 flood)"
msgstr ""

#. translators: 1: IP, 2: hits
#: includes/core/class-alerts.php:177
#, php-format
msgid ""
"An IP was automatically blocked after excessive not-found requests.\n"
"\n"
"IP: %1$s\n"
"404 hits: %2$d"
msgstr ""

#. translators: %d: finding count
#: includes/core/class-alerts.php:206
#, php-format
msgid "%d new security finding"
msgid_plural "%d new security findings"
msgstr[0] ""
msgstr[1] ""

#. translators: 1: count, 2: review URL
#: includes/core/class-alerts.php:211
#, php-format
msgid ""
"A security scan finished with %1$d new findings.\n"
"\n"
"Review them here:\n"
"%2$s"
msgstr ""

#: includes/core/class-alerts.php:245
msgid "Administrator login"
msgstr ""

#. translators: 1: username, 2: IP
#: includes/core/class-alerts.php:248
#, php-format
msgid ""
"An administrator signed in.\n"
"\n"
"User: %1$s\n"
"IP: %2$s"
msgstr ""

#: includes/core/class-alerts.php:305
msgid "Firewall blocked multiple requests"
msgstr ""

#. translators: 1: count, 2: threshold
#: includes/core/class-alerts.php:308
#, php-format
msgid ""
"The firewall blocked %1$d requests in the past hour (alert threshold: %2$d).\n"
"\n"
"Recent matches page: %3$s"
msgstr ""

#: includes/core/class-alerts.php:338
msgid "Once Weekly"
msgstr ""

#: includes/core/class-alerts.php:383
msgid ""
"Weekly security summary\n"
"========================\n"
"\n"
""
msgstr ""

#. translators: 1: number of successful logins, 2: number of failed logins
#: includes/core/class-alerts.php:386
#, php-format
msgid ""
"Logins: %1$d successful · %2$d failed\n"
""
msgstr ""

#. translators: %d: number of lockouts issued
#: includes/core/class-alerts.php:388
#, php-format
msgid ""
"Lockouts issued: %d\n"
""
msgstr ""

#. translators: %d: number of blocked requests
#: includes/core/class-alerts.php:390
#, php-format
msgid ""
"Requests blocked: %d\n"
""
msgstr ""

#: includes/core/class-alerts.php:393
msgid ""
"New blocks by type:\n"
""
msgstr ""

#. translators: 1: score, 2: grade
#: includes/core/class-alerts.php:402
#, php-format
msgid "Security score: %1$d / 100 (grade %2$s)"
msgstr ""

#: includes/core/class-alerts.php:410
#: build/838.js:2
#: src/pages/Activity.jsx:261
msgid "Weekly activity report"
msgstr ""

#: includes/core/class-alerts.php:420
msgid "Default PHP mail()"
msgstr ""

#: includes/core/class-alerts.php:462
msgid "Invalid email address."
msgstr ""

#: includes/core/class-alerts.php:466
msgid "Security Alert Delivery Test"
msgstr ""

#. translators: 1: site name, 2: current time, 3: recipient email, 4: SMTP provider
#: includes/core/class-alerts.php:471
#, php-format
msgid ""
"Hello,\n"
"\n"
"This is a test security alert from %1$s powered by WP Edit Password Protected.\n"
"\n"
"Time: %2$s\n"
"Recipient: %3$s\n"
"SMTP Provider: %4$s\n"
"\n"
"If you received this message, your site security alerts and email delivery are functioning properly."
msgstr ""

#: includes/core/class-alerts.php:484
msgid "wp_mail() returned false. Please verify your SMTP settings, mail logs, or server mail configuration."
msgstr ""

#: includes/core/class-blocks.php:195
msgid "Invalid IP address or CIDR range."
msgstr ""

#: includes/core/class-blocks.php:224
#: build/310.js:2
#: src/pages/Security/Blocks.jsx:68
msgid "Could not save the block."
msgstr ""

#: includes/core/class-captcha.php:228
msgid "Please complete the CAPTCHA challenge."
msgstr ""

#: includes/core/class-captcha.php:257
msgid "Could not verify the CAPTCHA. Please try again."
msgstr ""

#: includes/core/class-captcha.php:266
msgid "CAPTCHA verification failed."
msgstr ""

#: includes/core/class-captcha.php:278
msgid "Your request was flagged as automated. Please try again."
msgstr ""

#: includes/core/class-firewall.php:229
msgid "Firewall enabled"
msgstr ""

#. translators: %s: firewall rule identifier
#: includes/core/class-firewall.php:348
#, php-format
msgid "Your request has been blocked by the site firewall. Rule: %s"
msgstr ""

#: includes/core/class-firewall.php:351
#: build/260.js:1
#: src/pages/Security/Firewall.jsx:155
msgid "Blocked"
msgstr ""

#: includes/core/class-firewall.php:439
msgid "Cannot create the firewall runtime directory."
msgstr ""

#: includes/core/class-firewall.php:454
msgid "Cannot write the firewall rules file."
msgstr ""

#: includes/core/class-firewall.php:560
msgid "Cannot write the firewall bootstrap file."
msgstr ""

#. translators: %d: minimum character count
#: includes/core/class-password-policy.php:66
#, php-format
msgid "Password must be at least %d characters long."
msgstr ""

#: includes/core/class-password-policy.php:77
msgid "Password must include uppercase letters, lowercase letters, and numbers."
msgstr ""

#: includes/core/class-password-policy.php:82
msgid "Password must include at least one special character."
msgstr ""

#: includes/core/class-password-policy.php:86
msgid "This password appears on public lists of compromised passwords and cannot be used."
msgstr ""

#. translators: %d: number of times seen in breach data
#: includes/core/class-password-policy.php:243
#, php-format
msgid "This password appears in breach data %d time and cannot be used."
msgid_plural "This password appears in breach data %d times and cannot be used."
msgstr[0] ""
msgstr[1] ""

#: includes/core/class-password-policy.php:327
msgid "Password strength policy enforced"
msgstr ""

#: includes/core/class-rate-limit.php:145
msgid "Too many requests. Please slow down."
msgstr ""

#: includes/core/class-rate-limit.php:146
msgid "Rate Limited"
msgstr ""

#. translators: 1: hit count, 2: minutes blocked
#: includes/core/class-rate-limit.php:176
#, php-format
msgid "Automatic block — %1$d not-found requests in under a minute."
msgstr ""

#: includes/core/class-spam-guard.php:103
msgid "Leave this field empty"
msgstr ""

#: includes/core/class-spam-guard.php:125
msgid "<strong>Error:</strong> Automated bot registration detected and blocked."
msgstr ""

#: includes/core/class-spam-guard.php:147
msgid "<strong>Error:</strong> Registration with temporary or disposable email addresses is not allowed. Please use a permanent email."
msgstr ""

#: includes/core/class-spam-guard.php:165
msgid "<strong>Error:</strong> Too many registration attempts from your IP. Please try again later."
msgstr ""

#: includes/core/class-spam-guard.php:186
msgid "Automated bot submission blocked."
msgstr ""

#: includes/core/class-spam-guard.php:225
msgid "Spam detected: Comment blocked by security honeypot."
msgstr ""

#: includes/core/class-spam-guard.php:226
msgid "Spam Blocked"
msgstr ""

#: includes/core/class-spam-guard.php:237
msgid "Comment submitted too quickly. Please take a moment to write your comment before submitting."
msgstr ""

#: includes/core/class-spam-guard.php:238
msgid "Submission Too Fast"
msgstr ""

#: includes/core/class-spam-guard.php:250
msgid "CAPTCHA Failed"
msgstr ""

#: includes/core/class-spam-guard.php:285
msgid "<strong>Error:</strong> Password reset request blocked by anti-spam."
msgstr ""

#: includes/dashboard/class-score.php:102
msgid "Login attempt limiter active"
msgstr ""

#: includes/dashboard/class-score.php:110
msgid "Login honeypot enabled"
msgstr ""

#: includes/dashboard/class-score.php:118
msgid "Two-factor authentication enabled"
msgstr ""

#: includes/dashboard/class-score.php:128
msgid "Username discovery blocked (?author=N, oEmbed)"
msgstr ""

#: includes/dashboard/class-score.php:136
msgid "REST user enumeration disabled"
msgstr ""

#: includes/dashboard/class-score.php:144
msgid "AI crawler blocker enabled"
msgstr ""

#: includes/dashboard/class-score.php:154
msgid "XML-RPC disabled"
msgstr ""

#: includes/dashboard/class-score.php:162
msgid "WordPress version hidden"
msgstr ""

#: includes/dashboard/class-score.php:170
msgid "Login page hidden from visitors"
msgstr ""

#: includes/dashboard/class-score.php:178
msgid "Plugin/theme file editing disabled (DISALLOW_FILE_EDIT)"
msgstr ""

#: includes/dashboard/class-score.php:188
msgid "Admin area served over HTTPS"
msgstr ""

#: includes/dashboard/class-score.php:196
msgid "Site-wide protection configured (password or admin-only)"
msgstr ""

#: includes/dashboard/class-score.php:206
msgid "Registration rate limiting enabled"
msgstr ""

#: includes/dashboard/class-score.php:214
msgid "Security alerts email address set"
msgstr ""

#: includes/dashboard/class-score.php:312
msgid "Protect logins"
msgstr ""

#: includes/dashboard/class-score.php:325
msgid "Shield usernames"
msgstr ""

#: includes/dashboard/class-score.php:334
msgid "Harden the site"
msgstr ""

#: includes/dashboard/class-score.php:343
msgid "Enable monitoring"
msgstr ""

#: includes/dashboard/class-score.php:350
msgid "Set up alerts"
msgstr ""

#: includes/dashboard/class-score.php:382
msgid "Unknown setup step."
msgstr ""

#: includes/hardening/class-file-hardening.php:67
msgid "Could not update the server configuration file."
msgstr ""

#: includes/hardening/class-file-hardening.php:72
msgid "The web root directory is not writable."
msgstr ""

#: includes/hardening/class-file-hardening.php:75
msgid "The configuration file is not writable."
msgstr ""

#: includes/hardening/class-file-hardening.php:84
msgid "Could not write the configuration file."
msgstr ""

#: includes/hardening/class-file-hardening.php:160
msgid "wp-config.php is not writable."
msgstr ""

#: includes/hardening/class-file-hardening.php:177
msgid "Could not find the safe insertion point in wp-config.php."
msgstr ""

#: includes/hardening/class-file-hardening.php:192
msgid "Could not write temporary config file."
msgstr ""

#: includes/hardening/class-file-hardening.php:205
msgid "Could not finalize the wp-config.php change."
msgstr ""

#: includes/hardening/class-file-hardening.php:303
msgid "File does not exist on this server"
msgstr ""

#: includes/hardening/class-file-hardening.php:313
msgid "Secured"
msgstr ""

#: includes/hardening/class-file-hardening.php:320
msgid "Windows/NTFS environment: PHP emulates writable files as 0666. POSIX chmod does not apply; access is governed by Windows NTFS ACLs."
msgstr ""

#: includes/hardening/class-file-hardening.php:321
msgid "Windows/NTFS: Read-only file (protected)."
msgstr ""

#: includes/hardening/class-file-hardening.php:327
msgid "World-writable! Critical security risk."
msgstr ""

#: includes/hardening/class-file-hardening.php:330
msgid "World-readable. Restrict to 0440 or 0600 on production servers."
msgstr ""

#: includes/hardening/class-file-hardening.php:338
msgid "Directory is world-writable."
msgstr ""

#: includes/hardening/class-file-hardening.php:371
msgid "PHP execution disabled in uploads"
msgstr ""

#: includes/hardening/class-headers.php:148
msgid "Security response headers active"
msgstr ""

#: includes/scanner/class-issues.php:340
msgid "Issues table does not exist."
msgstr ""

#: includes/scanner/class-issues.php:350
msgid "Issue not found."
msgstr ""

#: includes/scanner/class-issues.php:358
msgid "File path is outside of WordPress installation."
msgstr ""

#: includes/scanner/class-issues.php:365
msgid "Cannot delete core system file."
msgstr ""

#: includes/scanner/class-issues.php:371
msgid "File was already removed from disk."
msgstr ""

#: includes/scanner/class-issues.php:375
msgid "Target is a directory, not a file."
msgstr ""

#: includes/scanner/class-issues.php:379
msgid "Permission denied: Could not delete file from server."
msgstr ""

#: includes/scanner/class-issues.php:393
msgid "File permanently deleted from server."
msgstr ""

#: includes/scanner/class-scan-engine.php:81
msgid "Could not create the issues table."
msgstr ""

#: includes/scanner/class-scan-engine.php:333
msgid "Malware scan run in the last 7 days"
msgstr ""

#: includes/scanner/class-signatures.php:316
msgid "Signatures feed must use HTTPS."
msgstr ""

#. translators: %s: error message
#: includes/scanner/class-signatures.php:333
#, php-format
msgid "Could not connect to signature update server: %s"
msgstr ""

#: build/10.js:1
#: build/410.js:1
#: src/pages/SiteAccess.jsx:24
#: src/pages/SiteAccess/CountryRestriction.jsx:87
msgid "Country Restriction"
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:89
msgid "Restrict Site by Country"
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:92
msgid "Enable Country Restriction"
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:93
msgid "Hide your site from — or restrict it to — visitors in specific countries, based on their IP address."
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:105
msgid "Restriction Mode"
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:107
msgid "Allow list: ONLY visitors from the selected countries can view the site. Everyone else is blocked."
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:108
msgid "Block list: visitors from the selected countries are blocked. Everyone else is allowed."
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:112
msgid "Block list (hide from selected countries)"
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:113
msgid "Allow list (show only to selected countries)"
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:125
msgid "Countries"
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:132
msgid "Select countries…"
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:138
msgid "Type to search and add countries. Unlimited countries on Pro."
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:139
msgid "Free version: up to 2 countries. Upgrade to Pro for unlimited countries."
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:147
msgid "You have reached the free limit of 2 countries. Upgrade to Pro to add more."
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:154
msgid "Block Page Title"
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:155
msgid "Heading shown to blocked visitors."
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:163
msgid "Block Page Message"
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:164
msgid "Message shown to blocked visitors."
msgstr ""

#: build/10.js:1
#: src/pages/SiteAccess/CountryRestriction.jsx:172
msgid "How it works: country is detected from the visitor IP (Cloudflare header when available, otherwise the ipapi.co lookup service — visitor IPs are sent to it). Administrators are never blocked. If the country cannot be determined, the visitor is allowed through, so a lookup outage never takes your whole site offline."
msgstr ""

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:89
msgid "Login Session & Remember Me"
msgstr ""

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:93
msgid "Automatically pre-selects the \"Remember Me\" checkbox on the WordPress login screen so users stay logged in for 14 days and are not logged out when closing the browser or restarting the computer."
msgstr ""

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:134
msgid "CAPTCHA"
msgstr ""

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:139
msgid "Enable CAPTCHA on login"
msgstr ""

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:153
msgid "Provider"
msgstr ""

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:168
msgid "Choose a provider to continue."
msgstr ""

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:176
msgid "Google Site Key"
msgstr ""

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:181
msgid "Google Secret Key"
msgstr ""

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:192
msgid "Score threshold"
msgstr ""

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:193
#, js-format
msgid "Requests scoring below %s are blocked. Higher = stricter."
msgstr ""

#: build/20.js:1
#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:359
#: src/pages/Security/LoginProtection.jsx:207
msgid "Turnstile Site Key"
msgstr ""

#: build/20.js:1
#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:367
#: src/pages/Security/LoginProtection.jsx:212
msgid "Turnstile Secret Key"
msgstr ""

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:223
msgid "Test mode (skip verification)"
msgstr ""

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:224
msgid "Use while configuring keys — no real checks are performed."
msgstr ""

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:229
msgid "Also show on the registration form"
msgstr ""

#: build/20.js:1
#: src/pages/Security/LoginProtection.jsx:299
msgid "Upgrade to Pro to redirect users to a custom page or dashboard after logging in."
msgstr ""

#: build/68.js:1
#: build/410.js:1
#: build/index.js:2
#: src/pages/Dashboard.jsx:68
#: src/pages/SiteAccess.jsx:18
#: src/pages/SiteAccess/AdminOnly.jsx:55
#: src/pages/SiteAccess/AdminOnly.jsx:57
msgid "Site Access Gate"
msgstr ""

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:60
msgid "Enable Site Access Gate"
msgstr ""

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:61
msgid "When enabled, only users matching the Access Permission Scope below can view the frontend. Others are redirected or blocked."
msgstr ""

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:71
msgid "Restrict front-end access based on user role and authentication status."
msgstr ""

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:78
msgid "Access Permission Scope"
msgstr ""

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:79
msgid "Choose whether any authenticated logged-in user can view the frontend, or only administrators."
msgstr ""

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:82
msgid "All Logged-in Users (Members Only)"
msgstr ""

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:83
msgid "Administrators Only (Requires manage_options)"
msgstr ""

#: build/68.js:1
#: src/pages/SiteAccess/AdminOnly.jsx:147
msgid "Logged-out visitors go to the login page. Logged-in non-administrators see an \"Access Restricted\" page instead of a redirect loop."
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:21
msgid "Healthy"
msgstr ""

#: build/119.js:1
#: build/500.js:2
#: src/pages/CpuMonitor/Overview.jsx:22
#: src/pages/Security/Scanner.jsx:41
msgid "Warning"
msgstr ""

#: build/119.js:1
#: build/500.js:2
#: src/pages/CpuMonitor/Overview.jsx:23
#: src/pages/Security/Scanner.jsx:40
msgid "Critical"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:60
msgid "System Overview"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:72
msgid "CPU Usage"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:74
#: src/pages/CpuMonitor/Overview.jsx:84
#: src/pages/CpuMonitor/Overview.jsx:97
msgid "N/A"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:77
msgid "cores"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:82
msgid "PHP Memory"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:88
#: src/pages/CpuMonitor/Overview.jsx:141
msgid "Unlimited"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:90
msgid "peak"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:95
msgid "Load Average"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:107
msgid "Server"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:118
msgid "Quick Summary"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:122
msgid "Slow Queries (last 7 days)"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:126
msgid "Overdue Cron Jobs"
msgstr ""

#: build/119.js:1
#: build/750.js:2
#: src/pages/CpuMonitor/OptionsBloat.jsx:106
#: src/pages/CpuMonitor/Overview.jsx:136
msgid "Expired Transients"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:140
msgid "WP Memory Limit"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:144
msgid "Alternate Cron"
msgstr ""

#: build/119.js:1
#: build/index.js:2
#: src/components/AuditReportModal.jsx:136
#: src/components/AuditReportModal.jsx:180
#: src/pages/CpuMonitor/Overview.jsx:145
msgid "Yes"
msgstr ""

#: build/119.js:1
#: build/index.js:2
#: src/components/AuditReportModal.jsx:180
#: src/pages/CpuMonitor/Overview.jsx:145
msgid "No"
msgstr ""

#: build/119.js:1
#: src/pages/CpuMonitor/Overview.jsx:54
msgid "Unable to load system stats."
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:79
#, js-format
msgid "Added %d Cloudflare IP ranges (%d total trusted proxies configured). Remember to click Save Changes to persist."
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:88
msgid "Could not apply Cloudflare preset."
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:109
msgid "Reverse Proxy & Cloudflare Configuration"
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:110
msgid "Prevent header spoofing by explicitly defining upstream proxy servers."
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:113
msgid "To stop attackers from forging headers (like X-Forwarded-For or CF-Connecting-IP), WPEPP only trusts forwarding headers when the direct network peer (REMOTE_ADDR) matches a trusted proxy listed below."
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:132
msgid "Direct Peer IP (REMOTE_ADDR):"
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:135
msgid "Resolved Client IP:"
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:142
msgid "✓ Peer is recognized as a trusted proxy. Forwarded headers are verified."
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:146
msgid "Peer is direct connection or untrusted proxy. Client IP is taken directly from REMOTE_ADDR."
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:158
msgid "1-Click Add Cloudflare IP Ranges"
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:164
msgid "Cloudflare traffic detected on this request! Click the button above to add Cloudflare CIDRs so real visitor IPs are correctly logged."
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:183
msgid "Trusted Reverse Proxies (IPs or CIDRs)"
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:184
msgid "Enter one IP or CIDR per line (e.g. 173.245.48.0/20). Forwarded headers are ONLY trusted when sent from these servers."
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:196
#, js-format
msgid "%d trusted proxy ranges currently configured."
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:214
msgid "Requires WPEPP Pro to manage custom IP blocklist."
msgstr ""

#: build/130.js:1
#: src/pages/Security/IpManagement.jsx:248
msgid "Requires WPEPP Pro to manage custom IP allowlist."
msgstr ""

#: build/171.js:1
#: src/pages/Settings/Backup.jsx:41
msgid "Backup downloaded."
msgstr ""

#: build/171.js:1
#: src/pages/Settings/Backup.jsx:43
msgid "Export failed."
msgstr ""

#. translators: %s: comma-separated section list
#: build/171.js:2
#: src/pages/Settings/Backup.jsx:71
#, js-format
msgid "Imported: %s"
msgstr ""

#: build/171.js:2
#: src/pages/Settings/Backup.jsx:76
msgid "Import failed."
msgstr ""

#: build/171.js:2
#: build/171.js:4
#: src/pages/Settings.jsx:30
#: src/pages/Settings/Backup.jsx:83
msgid "Backup & Restore"
msgstr ""

#: build/171.js:2
#: src/pages/Settings/Backup.jsx:85
msgid "Exports all WPEPP settings as JSON. Secrets (API keys) are never included — they stay safely in your database."
msgstr ""

#: build/171.js:2
#: src/pages/Settings/Backup.jsx:93
msgid "Export settings"
msgstr ""

#: build/171.js:2
#: src/pages/Settings/Backup.jsx:101
msgid "Import settings"
msgstr ""

#. translators: %d: number of rows pruned
#: build/171.js:3
#: src/pages/Settings/DatabaseMaintenance.jsx:79
#, js-format
msgid "Database maintenance complete! Removed %d old log entries."
msgstr ""

#: build/171.js:3
#: src/pages/Settings/DatabaseMaintenance.jsx:86
msgid "Could not execute database maintenance."
msgstr ""

#. translators: 1: table key, 2: count
#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:107
#, js-format
msgid "Pruned %2$d rows from %1$s."
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:123
msgid "Database & Log Maintenance"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:124
msgid "Monitor table growth, set automated log retention windows, and prevent database bloat."
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:184
msgid "rows"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:211
msgid "Total Log Storage:"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:217
msgid "total rows across all tables"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:228
msgid "Clean Old Logs Now"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:236
msgid "Refresh Stats"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:246
msgid "Enable Automatic Daily Log Pruning"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:253
msgid "Automatically prunes old records during the daily background cron to prevent tables from growing indefinitely."
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:252
msgid "Automatic scheduled log pruning is available in WPEPP Pro. Free users can run manual database cleanup anytime using the button above."
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:273
msgid "Activity Log Retention"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:279
#: src/pages/Settings/DatabaseMaintenance.jsx:300
msgid "7 Days"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:280
#: src/pages/Settings/DatabaseMaintenance.jsx:301
#: src/pages/Settings/DatabaseMaintenance.jsx:323
msgid "14 Days"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:281
#: src/pages/Settings/DatabaseMaintenance.jsx:302
msgid "30 Days (Recommended)"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:282
#: src/pages/Settings/DatabaseMaintenance.jsx:303
msgid "60 Days"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:283
#: src/pages/Settings/DatabaseMaintenance.jsx:304
msgid "90 Days"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:294
msgid "Login Activity Log Retention"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:315
msgid "Slow Queries Retention"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:321
msgid "3 Days"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:322
msgid "7 Days (Recommended)"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:324
msgid "30 Days"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:335
msgid "Flood Protection (Max Rows Cap)"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:341
msgid "1,000 Rows per log (Lightweight)"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:342
msgid "2,500 Rows per log"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:343
msgid "5,000 Rows (Recommended)"
msgstr ""

#: build/171.js:4
#: src/pages/Settings/DatabaseMaintenance.jsx:344
msgid "10,000 Rows"
msgstr ""

#: build/171.js:4
#: src/pages/Settings.jsx:27
msgid "Database & Logs"
msgstr ""

#: build/174.js:1
#: build/289.js:1
#: build/293.js:1
#: build/306.js:1
#: build/310.js:1
#: build/500.js:1
#: build/645.js:1
#: build/750.js:1
#: build/838.js:1
#: build/913.js:1
#: build/955.js:1
#: src/components/Pagination.jsx:12
msgid "entries"
msgstr ""

#. translators: 1: start item, 2: end item, 3: total items, 4: item name
#: build/174.js:2
#: build/289.js:2
#: build/293.js:2
#: build/306.js:2
#: build/310.js:2
#: build/500.js:2
#: build/645.js:2
#: build/750.js:2
#: build/838.js:2
#: build/913.js:2
#: build/955.js:2
#: src/components/Pagination.jsx:81
#, js-format
msgid "Showing %1$d–%2$d of %3$d %4$s"
msgstr ""

#: build/174.js:2
#: build/289.js:2
#: build/293.js:2
#: build/306.js:2
#: build/310.js:2
#: build/500.js:2
#: build/645.js:2
#: build/750.js:2
#: build/838.js:2
#: build/913.js:2
#: build/955.js:2
#: src/components/Pagination.jsx:88
#, js-format
msgid "No %s found"
msgstr ""

#: build/174.js:2
#: build/289.js:2
#: build/293.js:2
#: build/306.js:2
#: build/310.js:2
#: build/500.js:2
#: build/645.js:2
#: build/750.js:2
#: build/838.js:2
#: build/913.js:2
#: build/955.js:2
#: src/components/Pagination.jsx:107
msgid "Previous"
msgstr ""

#: build/174.js:2
#: build/289.js:2
#: build/293.js:2
#: build/306.js:2
#: build/310.js:2
#: build/500.js:2
#: build/645.js:2
#: build/750.js:2
#: build/838.js:2
#: build/913.js:2
#: build/955.js:2
#: src/components/Pagination.jsx:152
msgid "Next"
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:91
msgid "WP-Cron Events"
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:105
msgid "Upgrade to Pro to run or delete cron events."
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:112
msgid "No cron events found."
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:119
msgid "Hook"
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:120
msgid "Schedule"
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:121
msgid "Next Run"
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:138
msgid "Overdue"
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:142
msgid "Scheduled"
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:48
msgid "Cron event executed."
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:52
msgid "Failed to run cron event."
msgstr ""

#: build/174.js:2
#: build/796.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:155
#: src/pages/Security/Hardening.jsx:407
msgid "Running…"
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:155
msgid "Run"
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:66
msgid "Cron event deleted."
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:71
msgid "Failed to delete cron event."
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:165
msgid "Deleting…"
msgstr ""

#: build/174.js:2
#: src/pages/CpuMonitor/CronJobs.jsx:179
msgid "cron events"
msgstr ""

#: build/215.js:1
#: src/pages/Settings/General.jsx:44
msgid "Plugin Data & Retention Options"
msgstr ""

#: build/215.js:1
#: src/pages/Settings/General.jsx:57
msgid "Remove all plugin options, log tables, and transients when uninstalled. Legacy 2.x cleanup_on_uninstall=true is migrated automatically."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:64
msgid "Disabled — enter both Site Key and Secret Key in CAPTCHA Engine first."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:62
msgid "Disabled — select and configure a provider in CAPTCHA Engine first."
msgstr ""

#: build/247.js:1
#: build/260.js:1
#: build/590.js:1
#: build/676.js:1
#: build/838.js:2
#: src/pages/Activity.jsx:248
#: src/pages/Activity.jsx:255
#: src/pages/Activity.jsx:262
#: src/pages/Security/AntiSpam.jsx:60
#: src/pages/Security/AntiSpam.jsx:191
#: src/pages/Security/Firewall.jsx:118
#: src/pages/Security/Passwords.jsx:85
#: src/pages/Security/RegistrationProtection.jsx:106
#: src/pages/Security/RegistrationProtection.jsx:133
#: src/pages/Security/RegistrationProtection.jsx:154
#: src/pages/Security/RegistrationProtection.jsx:201
msgid "Requires WPEPP Pro."
msgstr ""

#: build/247.js:1
#: build/index.js:2
#: src/components/AuditReportModal.jsx:130
#: src/pages/Security/AntiSpam.jsx:72
msgid "Disabled"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:73
msgid "Cloudflare Turnstile (Recommended - Smart, Private & Frictionless)"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:74
msgid "Google reCAPTCHA v3 (Invisible Score-based)"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:75
msgid "Google reCAPTCHA v2 (Checkbox \"I am not a robot\")"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:115
msgid "Comprehensive bot protection against automated user registrations, fake WooCommerce accounts, comment spam, and form abuse."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:128
msgid "All Controls"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:135
msgid "WooCommerce Shield"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:142
msgid "Comment Spam"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:149
msgid "Login & Forms"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:156
msgid "CAPTCHA Engine"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:164
msgid "WooCommerce Bot & Fake Account Shield"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:165
msgid "Prevent botnets from automatically creating customer accounts on WooCommerce /my-account/ and checkout pages."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:172
msgid "WooCommerce Registration Honeypot"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:173
msgid "Injects an invisible trap field into WooCommerce My Account registration. Automated bots that fill it out are silently rejected."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:183
msgid "Automatically rejects fake accounts registered with temporary throwaway emails (e.g. Mailinator, TempMail, Yopmail)."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:195
msgid "WooCommerce Registration Rate Limiting"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:196
msgid "Prevents single bot IP addresses from rapidly spamming multiple account registrations in short succession."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:205
msgid "Enforce CAPTCHA on WooCommerce Forms"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:206
msgid "Displays Cloudflare Turnstile or Google reCAPTCHA challenge directly on WooCommerce login and registration forms."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:223
msgid "WordPress Comment Spam Guard"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:224
msgid "Stop bot comment spam across all blog posts and pages without relying on third-party plugins like Akismet."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:231
msgid "Comment Form Honeypot"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:232
msgid "Adds an invisible decoy field to your comment section. Spambots filling in every form input are automatically caught and blocked."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:241
msgid "Submission Time-Gate (Speed Check)"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:242
msgid "Human beings take at least a few seconds to type and submit a comment. Submissions executed in under 3 seconds are blocked as automated bots."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:251
msgid "Require CAPTCHA for Comment Submissions"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:252
msgid "Challenges visitors with Turnstile or reCAPTCHA before their comment is accepted. Admins and moderators are automatically exempt."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:269
msgid "Login & Password Reset Protection"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:270
msgid "Prevent brute force login attempts and stop automated bot scripts from abusing password reset forms."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:277
msgid "Login Form Honeypot"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:278
msgid "Catches automated credential stuffing bots that fill in all fields on the login page."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:287
msgid "Lost Password Form Honeypot"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:288
msgid "Blocks bot scripts from spamming the password reset form and overloading your mail server (Email Bombing protection)."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:297
msgid "Require CAPTCHA on Lost Password"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:298
msgid "Requires solving a CAPTCHA challenge before requesting a password reset email."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:314
msgid "Universal CAPTCHA Engine (Turnstile & reCAPTCHA)"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:316
msgid "Universal CAPTCHA Engine"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:317
msgid "Choose your bot challenge provider. Supported across Login, Registration, WooCommerce, Comments, and Password Reset."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:326
msgid "CAPTCHA Provider"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:334
msgid "Please configure your Site Key and Secret Key below before enabling CAPTCHA on forms."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:351
msgid "Cloudflare Turnstile delivers a modern, frictionless visitor experience without frustrating puzzles."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:391
msgid "reCAPTCHA Site Key"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:398
msgid "reCAPTCHA Secret Key"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:407
msgid "v3 Passing Score Threshold"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:408
msgid "Scores range from 0.0 (likely a bot) to 1.0 (likely a human). 0.5 is the recommended standard."
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:421
msgid "Test Mode (Do not block submissions)"
msgstr ""

#: build/247.js:1
#: src/pages/Security/AntiSpam.jsx:422
msgid "When enabled, the CAPTCHA widget renders and logs validation, but failing it will not block visitors."
msgstr ""

#: build/259.js:1
#: src/pages/Content/MemberTemplate.jsx:111
msgid "The Popup (Glassdoor) option is available in the Pro version."
msgstr ""

#: build/260.js:1
#: build/796.js:2
#: src/pages/Security/Firewall.jsx:55
#: src/pages/Security/Hardening.jsx:103
msgid "Toggle failed."
msgstr ""

#: build/260.js:1
#: build/index.js:1
#: build/index.js:2
#: src/components/SetupWizard.jsx:164
#: src/components/Sidebar.jsx:36
#: src/pages/Security/Firewall.jsx:94
msgid "Firewall"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:100
msgid "rules active"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:102
msgid "requests blocked"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:106
msgid "Modes"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:109
msgid "Firewall enabled (basic mode)"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:110
msgid "Rules run inside WordPress on every request."
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:116
msgid "Extended protection (early boot)"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:121
msgid "Active — requests are filtered before WordPress loads. If the bootstrap ever fails it disables itself automatically."
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:122
msgid "Runs the firewall before WordPress loads via a generated drop-in. Recommended. Requires writable .user.ini or .htaccess."
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:129
msgid "Learning mode"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:130
msgid "Disabled — enable basic protection above first."
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:131
msgid "Matches are logged, nothing is blocked. Use for the first days to spot false positives."
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:139
msgid "Recent matches (debugging)"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:146
msgid "Rule"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:147
msgid "Result"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:148
msgid "Path"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:141
msgid "No rule matches recorded yet."
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:164
msgid "Firewall Rule Tester"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:165
msgid "Rule tester"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:169
msgid "URL to test"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:176
msgid "Method"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:184
msgid "User-Agent (optional)"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:192
msgid "POST body — one field per line (name=value)"
msgstr ""

#: build/260.js:1
#: src/pages/Security/Firewall.jsx:201
msgid "Test request"
msgstr ""

#. translators: 1: rule name, 2: rule id
#: build/260.js:2
#: src/pages/Security/Firewall.jsx:212
#, js-format
msgid "Would be BLOCKED by rule \"%1$s\" (%2$s)."
msgstr ""

#: build/260.js:2
#: src/pages/Security/Firewall.jsx:220
msgid "No rule matches this request."
msgstr ""

#: build/289.js:2
#: src/pages/Content/ContentLock.jsx:99
msgid "posts"
msgstr ""

#: build/293.js:2
#: src/pages/Content/ConditionalDisplay.jsx:124
msgid "items"
msgstr ""

#: build/306.js:2
#: src/pages/CpuMonitor/ErrorLog.jsx:39
msgid "Failed to load error log."
msgstr ""

#: build/306.js:2
#: src/pages/CpuMonitor/ErrorLog.jsx:83
msgid "PHP Error Log"
msgstr ""

#: build/306.js:2
#: src/pages/CpuMonitor/ErrorLog.jsx:92
msgid "Enable Debug Mode (WP_DEBUG)"
msgstr ""

#: build/306.js:2
#: src/pages/CpuMonitor/ErrorLog.jsx:93
msgid "Enables WordPress debug mode to capture PHP errors."
msgstr ""

#: build/306.js:2
#: src/pages/CpuMonitor/ErrorLog.jsx:100
msgid "Log Errors to File (WP_DEBUG_LOG)"
msgstr ""

#: build/306.js:2
#: src/pages/CpuMonitor/ErrorLog.jsx:104
msgid "Writes PHP errors to a debug.log file so they can be viewed here."
msgstr ""

#: build/306.js:2
#: src/pages/CpuMonitor/ErrorLog.jsx:114
msgid "Enable Debug Mode first to capture and view PHP errors."
msgstr ""

#: build/306.js:2
#: src/pages/CpuMonitor/ErrorLog.jsx:124
msgid "No error log entries found. Your site is running clean!"
msgstr ""

#: build/306.js:2
#: src/pages/CpuMonitor/ErrorLog.jsx:134
msgid "Message"
msgstr ""

#: build/306.js:2
#: src/pages/CpuMonitor/ErrorLog.jsx:135
msgid "File"
msgstr ""

#: build/306.js:2
#: src/pages/CpuMonitor/ErrorLog.jsx:136
msgid "Count"
msgstr ""

#: build/306.js:2
#: src/pages/CpuMonitor/ErrorLog.jsx:137
msgid "Last Seen"
msgstr ""

#: build/306.js:2
#: src/pages/CpuMonitor/ErrorLog.jsx:163
msgid "error entries"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:19
msgid "Manual"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:20
msgid "Auto (404 flood)"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:21
msgid "Rate limit"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:22
msgid "Login lockout"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:23
msgid "Country"
msgstr ""

#: build/310.js:2
#: build/index.js:1
#: src/components/Sidebar.jsx:39
#: src/pages/Security/Blocks.jsx:96
msgid "Block Center"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:101
msgid "Add IP Block"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:102
msgid "Blocked IPs cannot access the site at all. Supports single IPs and CIDR ranges (e.g. 203.0.113.0/24)."
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:109
msgid "IP or CIDR range"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:115
msgid "Duration"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:119
msgid "Permanent"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:127
msgid "Reason (optional)"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:130
msgid "e.g. Repeated failed login attempts"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:135
msgid "Add Block"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:138
msgid "Purge expired blocks"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:144
msgid "Active Blocks"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:150
msgid "No Active IP Blocks"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:152
msgid "All clear! There are currently no IP addresses or ranges blocked. When malicious visitors or rate limiters trigger a block, they will appear here."
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:160
msgid "IP / Range"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:162
msgid "Reason"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:164
msgid "Hits"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:199
msgid "blocks"
msgstr ""

#: build/310.js:2
#: src/pages/Security/Blocks.jsx:211
msgid "Remove this block?"
msgstr ""

#: build/341.js:1
#: src/pages/CpuMonitor.jsx:26
msgid "Overview"
msgstr ""

#: build/341.js:1
#: src/pages/CpuMonitor.jsx:29
msgid "Slow Queries"
msgstr ""

#: build/341.js:1
#: src/pages/CpuMonitor.jsx:32
msgid "Cron Jobs"
msgstr ""

#: build/341.js:1
#: src/pages/CpuMonitor.jsx:35
#: src/pages/CpuMonitor.jsx:56
msgid "Error Log"
msgstr ""

#: build/341.js:1
#: src/pages/CpuMonitor.jsx:39
msgid "Plugin Performance"
msgstr ""

#: build/341.js:1
#: src/pages/CpuMonitor.jsx:43
msgid "Options Bloat"
msgstr ""

#: build/341.js:1
#: src/pages/CpuMonitor.jsx:64
msgid "Plugin Performance Footprint"
msgstr ""

#: build/381.js:1
#: src/pages/SiteAccess/SitePassword.jsx:84
msgid "(saved — type to replace)"
msgstr ""

#: build/403.js:1
#: src/pages/Security/Passkeys.jsx:41
msgid "Could not load passkeys."
msgstr ""

#: build/403.js:1
#: src/pages/Security/Passkeys.jsx:52
msgid "Name this passkey:"
msgstr ""

#: build/403.js:1
#: src/pages/Security/Passkeys.jsx:86
msgid "Passkey creation was cancelled or timed out."
msgstr ""

#: build/403.js:1
#: src/pages/Security/Passkeys.jsx:87
msgid "Passkey registration failed."
msgstr ""

#: build/403.js:1
#: build/587.js:1
#: src/pages/Logins.jsx:24
#: src/pages/Logins.jsx:53
#: src/pages/Security/Passkeys.jsx:105
msgid "Passkeys"
msgstr ""

#: build/403.js:1
#: src/pages/Security/Passkeys.jsx:107
msgid "Sign in with your fingerprint, face, or device PIN — no password needed. Passkeys stay on this device."
msgstr ""

#: build/403.js:1
#: src/pages/Security/Passkeys.jsx:117
msgid "Label (optional)"
msgstr ""

#: build/403.js:1
#: src/pages/Security/Passkeys.jsx:120
msgid "MacBook Touch ID"
msgstr ""

#: build/403.js:1
#: src/pages/Security/Passkeys.jsx:123
msgid "Add passkey"
msgstr ""

#: build/403.js:1
#: src/pages/Security/Passkeys.jsx:130
msgid "No passkeys registered yet."
msgstr ""

#: build/403.js:1
#: src/pages/Security/Passkeys.jsx:135
msgid "Name"
msgstr ""

#: build/403.js:1
#: src/pages/Security/Passkeys.jsx:136
msgid "Added"
msgstr ""

#: build/403.js:1
#: src/pages/Security/Passkeys.jsx:159
msgid "A \"Sign in with a passkey\" button now appears on the login page. Users without a passkey keep using passwords normally."
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:24
msgid "Modified core file"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:25
msgid "Unknown file in core dir"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:26
msgid "Modified plugin file"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:27
msgid "Modified theme file"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:28
msgid "Unknown plugin file"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:29
msgid "Unknown theme file"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:30
msgid "Non-wp.org plugin (unverifiable)"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:31
msgid "Non-wp.org theme (unverifiable)"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:32
msgid "Checksums unavailable"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:33
msgid "Missing file"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:34
msgid "Malware signature match"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:35
msgid "Suspicious setting"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:36
msgid "Recent admin account"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:42
msgid "Info"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:46
msgid "Scanning files…"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:47
msgid "Verifying checksums…"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:48
msgid "Checking options…"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:49
msgid "Checking users…"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:53
msgid "Files"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:54
msgid "Checksums"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:55
msgid "Options"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:56
msgid "Users"
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:63
msgid "WordPress Core file — Click \"Ignore\" if this is an unmodified core file, or restore via Dashboard > Updates."
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:66
msgid "Vendor library package — Click \"Ignore\" if part of a legitimate Composer/npm dependency."
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:68
msgid "Suspicious pattern detected — Inspect file content to remove malicious code or delete if unknown."
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:71
msgid "Official core file modified — Reinstall WordPress from Dashboard > Updates to restore original clean code."
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:74
msgid "Unrecognized PHP file inside core directory — Delete this file if not intentionally added."
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:77
msgid "Custom or premium extension not in WordPress.org directory — Click \"Ignore\" to whitelist your legitimate theme/plugin."
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:80
msgid "Official checksum service unreachable — Check server connectivity or retry the scan."
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:83
msgid "Missing WordPress file — Reinstall WordPress from Dashboard > Updates to restore it."
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:86
msgid "New administrator account — Verify this user in WordPress Users menu."
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:89
msgid "Suspicious database option value — Review setting in WordPress admin."
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:91
msgid "Review this item and click Resolve once verified."
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:128
msgid "Could not load scanner status."
msgstr ""

#: build/500.js:2
#: src/pages/Security/Scanner.jsx:245
msgid "Scan failed to start."
msgstr ""

#. translators: %s: file path
#: build/500.js:3
#: src/pages/Security/Scanner.jsx:288
msgid "Action failed."
msgstr ""

#: build/500.js:3
#: src/pages/Security/Scanner.jsx:302
msgid "Could not execute bulk action."
msgstr ""

#: build/500.js:3
#: src/pages/Security/Scanner.jsx:314
msgid "Malware signatures synchronized successfully."
msgstr ""

#: build/500.js:3
#: src/pages/Security/Scanner.jsx:317
msgid "Could not reach signature feed server. Built-in signatures remain active."
msgstr ""

#: build/500.js:3
#: build/index.js:1
#: src/components/Sidebar.jsx:37
#: src/pages/Security/Scanner.jsx:329
msgid "Scanner"
msgstr ""

#: build/500.js:3
#: src/pages/Security/Scanner.jsx:343
msgid "Scan Settings"
msgstr ""

#. translators: %s: datetime of last scan
#: build/500.js:4
#: src/pages/Security/Scanner.jsx:351
#, js-format
msgid "Last scan: %s · %d open findings"
msgstr ""

#: build/500.js:4
#: src/pages/Security/Scanner.jsx:355
msgid "Never scanned."
msgstr ""

#: build/500.js:4
#: src/pages/Security/Scanner.jsx:362
msgid "Stop"
msgstr ""

#: build/500.js:4
#: src/pages/Security/Scanner.jsx:371
msgid "Full Scan"
msgstr ""

#: build/500.js:4
#: src/pages/Security/Scanner.jsx:379
msgid "Quick Scan"
msgstr ""

#: build/500.js:4
#: src/pages/Security/Scanner.jsx:400
msgid "Scan Complete — Site is 100% Clean!"
msgstr ""

#. translators: %d: number of newly detected threats
#: build/500.js:5
#: src/pages/Security/Scanner.jsx:403
#, js-format
msgid "Scan Complete — %d Active Threat(s) Flagged!"
msgstr ""

#. translators: %d: files count
#: build/500.js:6
#: src/pages/Security/Scanner.jsx:411
#, js-format
msgid "All %d files and objects scanned in this run are secure. No new threats or vulnerabilities were detected."
msgstr ""

#: build/500.js:6
#: src/pages/Security/Scanner.jsx:414
msgid "Review the flagged items in the Scan Results table below to inspect, resolve, or ignore them."
msgstr ""

#: build/500.js:6
#: src/pages/Security/Scanner.jsx:432
msgid "All Security Checks Finished"
msgstr ""

#: build/500.js:6
#: src/pages/Security/Scanner.jsx:460
msgid "Completed"
msgstr ""

#: build/500.js:6
#: src/pages/Security/Scanner.jsx:462
msgid "In Progress"
msgstr ""

#: build/500.js:6
#: src/pages/Security/Scanner.jsx:463
msgid "Upcoming"
msgstr ""

#. translators: %d: files scanned
#: build/500.js:7
#: src/pages/Security/Scanner.jsx:485
#, js-format
msgid "%d files scanned"
msgstr ""

#. translators: %d: findings flagged
#: build/500.js:8
#: src/pages/Security/Scanner.jsx:493
#, js-format
msgid "%d findings flagged"
msgstr ""

#: build/500.js:8
#: src/pages/Security/Scanner.jsx:501
#, js-format
msgid "Finished at %s"
msgstr ""

#: build/500.js:8
#: src/pages/Security/Scanner.jsx:513
msgid "Daily automatic scan"
msgstr ""

#: build/500.js:8
#: src/pages/Security/Scanner.jsx:517
msgid "Requires WPEPP Pro for automated daily scans."
msgstr ""

#: build/500.js:8
#: src/pages/Security/Scanner.jsx:541
msgid "Antivirus Definition Database:"
msgstr ""

#. translators: %d: rule count
#: build/500.js:9
#: src/pages/Security/Scanner.jsx:546
#, js-format
msgid "%d security definition rules active"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:552
#, js-format
msgid "Updated: %s"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:564
msgid "Check for Signature Updates"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:571
msgid "Scan Results"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:583
msgid "Open issues"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:584
msgid "All issues"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:585
#: src/pages/Security/Scanner.jsx:647
msgid "Ignored"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:586
#: src/pages/Security/Scanner.jsx:643
msgid "Resolved"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:595
msgid "Mark all open issues as resolved"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:597
msgid "Resolve All"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:603
msgid "Ignore all open issues"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:605
msgid "Ignore All"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:612
msgid "Clear issues table"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:614
msgid "Clear Table"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:625
msgid "No open issues found. Everything is secure!"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:631
msgid "Severity"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:633
msgid "Path / Object & Recommendation"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:664
msgid "Detection:"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:668
msgid "How to fix:"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:681
msgid "Permanently delete this file from server"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:683
msgid "Delete File"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:692
msgid "Resolve"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:700
msgid "Ignore and whitelist this item"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:702
msgid "Ignore"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:712
msgid "Restore to open issues"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:714
msgid "Unignore"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:719
msgid "Fixed"
msgstr ""

#: build/500.js:9
#: src/pages/Security/Scanner.jsx:732
msgid "findings"
msgstr ""

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:114
msgid "Important for SEO & AI Recommendations (ChatGPT, SearchGPT, Perplexity):"
msgstr ""

#: build/544.js:1
#: src/pages/Security/AiCrawlerBlocker.jsx:117
msgid "Enabling this feature blocks AI crawlers and search bots from reading your site. While it protects your content from being scraped for AI training, it will also prevent AI engines from citing, recommending, or summarizing your articles and products to users. Keep this feature disabled if you want AI-assisted traffic and search recommendations."
msgstr ""

#: build/587.js:1
#: src/pages/Logins.jsx:21
msgid "Registration"
msgstr ""

#: build/587.js:1
#: src/pages/Logins.jsx:22
msgid "Passwords"
msgstr ""

#: build/645.js:2
#: src/pages/CpuMonitor/SlowQueries.jsx:80
msgid "Free version shows the last 10 slow queries without call stacks."
msgstr ""

#: build/645.js:2
#: src/pages/CpuMonitor/SlowQueries.jsx:88
msgid "Enable Query Logging (SAVEQUERIES)"
msgstr ""

#: build/645.js:2
#: src/pages/CpuMonitor/SlowQueries.jsx:93
msgid "Slow queries are currently being tracked. Recommended: Disable when finished troubleshooting to eliminate PHP memory overhead."
msgstr ""

#: build/645.js:2
#: src/pages/CpuMonitor/SlowQueries.jsx:94
msgid "Enable temporarily to monitor slow database queries during performance investigation."
msgstr ""

#: build/645.js:2
#: src/pages/CpuMonitor/SlowQueries.jsx:105
msgid "No slow queries logged yet. Queries will appear after page loads."
msgstr ""

#: build/645.js:2
#: src/pages/CpuMonitor/SlowQueries.jsx:106
msgid "Enable Query Logging above to start tracking slow database queries."
msgstr ""

#: build/645.js:2
#: src/pages/CpuMonitor/SlowQueries.jsx:114
msgid "Query"
msgstr ""

#: build/645.js:2
#: src/pages/CpuMonitor/SlowQueries.jsx:115
msgid "Time (s)"
msgstr ""

#: build/645.js:2
#: src/pages/CpuMonitor/SlowQueries.jsx:116
msgid "Recorded"
msgstr ""

#: build/645.js:2
#: src/pages/CpuMonitor/SlowQueries.jsx:117
msgid "Stack"
msgstr ""

#: build/645.js:2
#: src/pages/CpuMonitor/SlowQueries.jsx:140
msgid "View"
msgstr ""

#: build/645.js:2
#: src/pages/CpuMonitor/SlowQueries.jsx:158
msgid "slow queries"
msgstr ""

#: build/648.js:1
#: build/index.js:2
#: src/components/AuditReportModal.jsx:150
#: src/pages/FormStyle/PasswordForm.jsx:121
msgid "None"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:122
msgid "Site Logo"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:258
msgid "Label Display"
msgstr ""

#: build/648.js:1
#: src/pages/FormStyle/PasswordForm.jsx:262
msgid "Placeholder"
msgstr ""

#: build/676.js:1
#: src/pages/Security/Passwords.jsx:45
msgid "Strength Rules"
msgstr ""

#: build/676.js:1
#: src/pages/Security/Passwords.jsx:48
msgid "Enforce password policy"
msgstr ""

#: build/676.js:1
#: src/pages/Security/Passwords.jsx:49
msgid "Applies on registration, profile updates and password resets."
msgstr ""

#: build/676.js:1
#: src/pages/Security/Passwords.jsx:58
msgid "Minimum length"
msgstr ""

#: build/676.js:1
#: src/pages/Security/Passwords.jsx:67
msgid "Require uppercase + lowercase + number"
msgstr ""

#: build/676.js:1
#: src/pages/Security/Passwords.jsx:72
msgid "Require a special character"
msgstr ""

#: build/676.js:1
#: src/pages/Security/Passwords.jsx:77
msgid "Block common passwords"
msgstr ""

#: build/676.js:1
#: src/pages/Security/Passwords.jsx:78
msgid "Rejects passwords that appear on public breach lists."
msgstr ""

#: build/676.js:1
#: src/pages/Security/Passwords.jsx:83
msgid "Check against breach database"
msgstr ""

#: build/676.js:1
#: src/pages/Security/Passwords.jsx:88
msgid "Privacy-safe k-anonymity check — only 5 characters of the password hash leave the server."
msgstr ""

#: build/676.js:1
#: src/pages/Security/Passwords.jsx:89
msgid "Blocks passwords found in known breach corpora."
msgstr ""

#. translators: %s: API host
#: build/676.js:2
#: src/pages/Security/Passwords.jsx:102
#, js-format
msgid "Breached checks query %s using a hashed prefix only. If the service is unreachable, passwords are allowed (fail-open)."
msgstr ""

#: build/729.js:1
#: src/pages/BlockCenter.jsx:21
msgid "Blocks"
msgstr ""

#: build/729.js:1
#: src/pages/BlockCenter.jsx:24
#: src/pages/BlockCenter.jsx:36
msgid "IP Lists"
msgstr ""

#: build/750.js:2
#: src/pages/CpuMonitor/OptionsBloat.jsx:74
msgid "Options Table Analysis"
msgstr ""

#: build/750.js:2
#: src/pages/CpuMonitor/OptionsBloat.jsx:82
msgid "Table Size"
msgstr ""

#: build/750.js:2
#: src/pages/CpuMonitor/OptionsBloat.jsx:89
msgid "Autoloaded Size"
msgstr ""

#: build/750.js:2
#: build/750.js:3
#: src/pages/CpuMonitor/OptionsBloat.jsx:94
#: src/pages/CpuMonitor/OptionsBloat.jsx:164
msgid "options"
msgstr ""

#: build/750.js:2
#: src/pages/CpuMonitor/OptionsBloat.jsx:99
msgid "Total Options"
msgstr ""

#: build/750.js:2
#: src/pages/CpuMonitor/OptionsBloat.jsx:118
msgid "Clean Now"
msgstr ""

#. translators: %d: number of deleted transients
#: build/750.js:3
#: src/pages/CpuMonitor/OptionsBloat.jsx:134
#, js-format
msgid "Cleaned %d expired transient(s)."
msgstr ""

#: build/750.js:3
#: src/pages/CpuMonitor/OptionsBloat.jsx:135
msgid "Failed to clean transients."
msgstr ""

#: build/750.js:3
#: src/pages/CpuMonitor/OptionsBloat.jsx:142
msgid "Top Autoloaded Options by Size"
msgstr ""

#: build/750.js:3
#: src/pages/CpuMonitor/OptionsBloat.jsx:146
msgid "Option Name"
msgstr ""

#: build/750.js:3
#: src/pages/CpuMonitor/OptionsBloat.jsx:171
msgid "Upgrade to Pro to see top autoloaded options and clean transients."
msgstr ""

#: build/750.js:3
#: src/pages/CpuMonitor/OptionsBloat.jsx:68
msgid "Unable to load options data."
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:217
msgid "Remember trusted devices"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:218
msgid "After a successful code entry, the device skips 2FA for the chosen period."
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:222
msgid "Off — ask every login"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:224
msgid "14 days"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:226
msgid "90 days"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:290
msgid "QR preview unavailable — use the manual key below."
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:328
msgid "Cancel"
msgstr ""

#: build/773.js:1
#: src/pages/Security/TwoFactor.jsx:370
msgid "Done"
msgstr ""

#: build/783.js:1
#: src/pages/Security/CustomLoginUrl.jsx:71
msgid "Replace the default wp-login.php URL with a custom secret slug to prevent brute-force attacks."
msgstr ""

#: build/783.js:1
#: src/pages/Security/CustomLoginUrl.jsx:74
msgid "Login URL Masking"
msgstr ""

#: build/783.js:1
#: src/pages/Security/CustomLoginUrl.jsx:75
msgid "Conceals wp-login.php and wp-admin from automated bots and scripts."
msgstr ""

#: build/783.js:1
#: src/pages/Security/CustomLoginUrl.jsx:79
msgid "Enable Custom Login URL"
msgstr ""

#: build/783.js:1
#: src/pages/Security/CustomLoginUrl.jsx:80
msgid "Redirect standard wp-login.php requests to a 404 or custom slug."
msgstr ""

#: build/783.js:1
#: src/pages/Security/CustomLoginUrl.jsx:91
msgid "Allowed characters: lowercase letters, numbers, and hyphens."
msgstr ""

#: build/783.js:1
#: src/pages/Security/CustomLoginUrl.jsx:111
msgid "Active Login Endpoint"
msgstr ""

#: build/783.js:1
#: src/pages/Security/CustomLoginUrl.jsx:120
msgid "Important: Bookmark your custom login URL before logging out. If you ever get locked out, you can restore access by adding define( \"WPEPP_SAFE_MODE\", true ); to your wp-config.php."
msgstr ""

#: build/783.js:1
#: src/pages/Security/CustomLoginUrl.jsx:126
msgid "Block direct access to wp-login.php and wp-admin for non-logged-in users."
msgstr ""

#: build/783.js:1
#: src/pages/Security/CustomLoginUrl.jsx:130
msgid "Direct access to wp-login.php and wp-admin will return a 404 page for non-logged-in visitors."
msgstr ""

#: build/796.js:1
#: src/pages/Security/Hardening.jsx:57
msgid "Status failed."
msgstr ""

#. translators: %s: nginx config snippet
#: build/796.js:2
#: src/pages/Security/Hardening.jsx:89
#, js-format
msgid ""
"Automatic configuration is unavailable on this server. Add this manually:\n"
"%s"
msgstr ""

#: build/796.js:2
#: build/index.js:1
#: src/components/Sidebar.jsx:42
#: src/pages/Security/Hardening.jsx:144
msgid "Hardening"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:150
msgid "Settings saved."
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:154
msgid "Server tools"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:159
msgid "Block PHP execution in uploads"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:163
msgid "Kills webshells dropped into /uploads — the most common infection vector."
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:164
msgid "Apache not detected — use the manual snippet below."
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:172
msgid "Disable directory listing"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:176
msgid "Adds \"Options -Indexes\" so folder contents are never exposed."
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:184
msgid "Disable plugin/theme file editor"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:188
msgid "Writes DISALLOW_FILE_EDIT to wp-config.php. Recommended — one typo in the editor takes down the whole site."
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:189
msgid "Current state: already disabled"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:189
msgid "Current state: enabled"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:198
msgid "nginx equivalent snippet"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:208
msgid "Critical Files Permission & Lock"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:209
msgid "Inspect file permissions of essential WordPress configuration and directory roots."
msgstr ""

#: build/796.js:2
#: build/index.js:2
#: src/components/AuditReportModal.jsx:194
#: src/pages/Security/Hardening.jsx:215
msgid "Target"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:216
msgid "Current Permission"
msgstr ""

#: build/796.js:2
#: build/index.js:2
#: src/components/AuditReportModal.jsx:196
#: src/pages/Security/Hardening.jsx:217
msgid "Recommended"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:219
msgid "Details"
msgstr ""

#: build/796.js:2
#: build/index.js:2
#: src/components/AuditReportModal.jsx:205
#: src/pages/Security/Hardening.jsx:230
msgid "Missing"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:233
msgid "Writable"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:268
msgid "Attention"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:270
msgid "At Risk"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:271
msgid "Notice"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:283
msgid "Security response headers"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:284
msgid "Header changes take effect on the front-end after saving."
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:294
msgid "Save Headers"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:300
msgid "X-Frame-Options (clickjacking)"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:310
msgid "Referrer-Policy"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:324
msgid "X-Content-Type-Options: nosniff"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:325
msgid "Stops browsers from MIME-sniffing responses away from the declared type."
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:330
msgid "Strict-Transport-Security (HSTS)"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:331
msgid "HTTPS only — enable ONLY when the site is fully HTTPS."
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:341
msgid "This site is not served over HTTPS. Browsers ignore HSTS on plain HTTP responses, so this header will not be sent. Switch the site to HTTPS first."
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:350
msgid "includeSubDomains"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:355
msgid "preload"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:356
msgid "Only if you intend to submit to hstspreload.org — hard to undo!"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:366
msgid "Permissions-Policy (optional)"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:367
msgid "e.g. camera=(), microphone=(), geolocation=()"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:375
msgid "Content-Security-Policy (report-only)"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:376
msgid "Report-only mode logs violations without blocking — safe way to build a real policy."
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:385
msgid "Default site"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:388
msgid "Blog/ads"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:391
msgid "WooCommerce"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:398
msgid "Diagnostics"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:409
msgid "Run again"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:410
msgid "Run diagnostics"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:419
msgid "Checking server configuration…"
msgstr ""

#: build/796.js:2
#: src/pages/Security/Hardening.jsx:444
msgid "Run a quick audit of server-level hardening (headers, PHP execution, directory listing) and live response headers."
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:23
msgid "Failed login"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:24
msgid "Lockout"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:25
msgid "Manual block"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:26
msgid "Auto block"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:27
msgid "Firewall block"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:28
msgid "Firewall log"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:29
msgid "Scan started"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:30
msgid "Scan finished"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:31
msgid "Passkey added"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:32
msgid "Passkey login"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:33
msgid "Alert sent"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:34
msgid "Settings changed"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:74
msgid "Could not load events."
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:109
#, js-format
msgid "Test alert successfully sent to %s via %s."
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:118
msgid "Failed to send test alert. Check your SMTP settings or server mail logs."
msgstr ""

#: build/838.js:2
#: build/index.js:1
#: src/components/Sidebar.jsx:57
#: src/pages/Activity.jsx:151
msgid "Activity"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:155
#, js-format
msgid "events in %d days"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:165
msgid "Email alerts"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:182
msgid "Email Delivery Service:"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:188
msgid "Recommended: Install an SMTP plugin (e.g. FluentSMTP, WP Mail SMTP) to guarantee alert deliverability."
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:204
msgid "SMTP Active"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:204
msgid "PHP Mail Fallback"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:210
msgid "Enable email alerts"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:216
msgid "Alert email address"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:224
msgid "Lockouts & auto-blocks"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:225
msgid "One email per IP per 30 minutes, max."
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:231
msgid "Scan critical findings"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:247
msgid "Administrator logins"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:254
msgid "Firewall burst digest"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:271
msgid "Saved ✓"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:271
msgid "Save Alert Settings"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:279
msgid "Send Test Security Alert"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:294
msgid "Alert settings saved."
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:302
msgid "All events"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:323
msgid "When"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:324
msgid "Event"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:325
msgid "Summary"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:326
msgid "IP"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:351
msgid "events"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:313
msgid "No Security Events Recorded Yet"
msgstr ""

#: build/838.js:2
#: src/pages/Activity.jsx:315
msgid "Your activity log is clear! As security scans, firewall blocks, or login attempts occur, a complete audit trail will appear here."
msgstr ""

#: build/913.js:2
#: src/pages/CpuMonitor/PluginPerformance.jsx:33
msgid "Failed to load plugin stats."
msgstr ""

#: build/913.js:2
#: src/pages/CpuMonitor/PluginPerformance.jsx:68
msgid "Active Plugins"
msgstr ""

#: build/913.js:2
#: src/pages/CpuMonitor/PluginPerformance.jsx:95
msgid "Plugin"
msgstr ""

#: build/913.js:2
#: src/pages/CpuMonitor/PluginPerformance.jsx:96
msgid "Version"
msgstr ""

#: build/913.js:2
#: src/pages/CpuMonitor/PluginPerformance.jsx:111
msgid "This plugin"
msgstr ""

#: build/913.js:2
#: src/pages/CpuMonitor/PluginPerformance.jsx:51
msgid "Plugin deactivated."
msgstr ""

#: build/913.js:2
#: src/pages/CpuMonitor/PluginPerformance.jsx:56
msgid "Failed to deactivate plugin."
msgstr ""

#: build/913.js:2
#: src/pages/CpuMonitor/PluginPerformance.jsx:121
msgid "Deactivating…"
msgstr ""

#: build/913.js:2
#: src/pages/CpuMonitor/PluginPerformance.jsx:121
msgid "Deactivate"
msgstr ""

#: build/913.js:2
#: src/pages/CpuMonitor/PluginPerformance.jsx:124
msgid "Pro only"
msgstr ""

#: build/913.js:2
#: src/pages/CpuMonitor/PluginPerformance.jsx:136
msgid "plugins"
msgstr ""

#: build/913.js:2
#: src/pages/CpuMonitor/PluginPerformance.jsx:88
msgid "No active plugins found."
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:117
msgid "Failed to generate link."
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:157
msgid "Free version is limited to 3 active auto-login links. Upgrade to Pro for unlimited links, expiration dates, usage limits, and role restrictions."
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:184
#, js-format
msgid "%d / 3 Active Links Used (Free)"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:223
msgid "Requires WPEPP Pro to customize expiration."
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:238
#, js-format
msgid "Max Uses (%s)"
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:239
msgid "Requires WPEPP Pro to limit uses."
msgstr ""

#: build/926.js:1
#: src/pages/Security/AutoLogin.jsx:255
msgid "Requires WPEPP Pro for role restriction."
msgstr ""

#: build/948.js:1
#: src/pages/Tools.jsx:21
msgid "CPU Monitor"
msgstr ""

#: build/955.js:2
#: src/pages/Security/LoginLog.jsx:87
msgid "Track all authentication attempts, successes, failures, and brute-force patterns across your site in real time."
msgstr ""

#: build/955.js:2
#: src/pages/Security/LoginLog.jsx:97
msgid "Requires WPEPP Pro to view and retain detailed login history."
msgstr ""

#: build/955.js:2
#: src/pages/Security/LoginLog.jsx:104
msgid "Recent Authentication Events"
msgstr ""

#: build/955.js:2
#: src/pages/Security/LoginLog.jsx:121
msgid "No Login Activity Recorded Yet"
msgstr ""

#: build/955.js:2
#: src/pages/Security/LoginLog.jsx:123
msgid "Login attempts (both successful and failed logins) will be logged here with usernames, timestamps, and IP addresses."
msgstr ""

#: build/955.js:2
#: src/pages/Security/LoginLog.jsx:157
#: src/pages/Security/LoginLog.jsx:192
msgid "logins"
msgstr ""

#: build/index.js:1
#: src/components/ProLock.jsx:48
msgid "This feature is available in WPEPP Pro."
msgstr ""

#: build/index.js:1
#: src/components/Sidebar.jsx:34
msgid "Protect"
msgstr ""

#: build/index.js:1
#: src/components/Sidebar.jsx:38
msgid "Anti-Spam"
msgstr ""

#: build/index.js:1
#: src/components/Sidebar.jsx:40
msgid "Logins"
msgstr ""

#: build/index.js:1
#: src/components/Sidebar.jsx:54
msgid "System"
msgstr ""

#: build/index.js:1
#: src/components/Sidebar.jsx:58
msgid "Logs & Tools"
msgstr ""

#: build/index.js:1
#: src/components/Header.jsx:41
msgid "Color theme"
msgstr ""

#: build/index.js:1
#: src/components/Header.jsx:46
#: src/components/Header.jsx:47
msgid "Dark theme"
msgstr ""

#: build/index.js:1
#: src/components/Header.jsx:56
#: src/components/Header.jsx:57
msgid "Light theme"
msgstr ""

#: build/index.js:1
#: src/components/ErrorBoundary.jsx:31
msgid "This panel failed to load."
msgstr ""

#: build/index.js:1
#: src/components/ErrorBoundary.jsx:43
msgid "Reload"
msgstr ""

#: build/index.js:1
#: build/index.js:2
#: src/components/AuditReportModal.jsx:104
#: src/components/ScoreRing.jsx:53
#: src/pages/Dashboard.jsx:257
msgid "Security Score"
msgstr ""

#: build/index.js:1
#: src/components/SetupWizard.jsx:20
msgid "Enables the login attempt limiter (5 tries / 15 min lockout), login + registration honeypots and registration rate limiting."
msgstr ""

#: build/index.js:1
#: src/components/SetupWizard.jsx:21
msgid "Blocks username discovery via ?author=N scans, oEmbed leaks and REST user enumeration; masks login errors."
msgstr ""

#: build/index.js:1
#: src/components/SetupWizard.jsx:22
msgid "Disables XML-RPC, hides the WordPress version and hides the login page from logged-out visitors."
msgstr ""

#: build/index.js:1
#: src/components/SetupWizard.jsx:23
msgid "Turns on the AI crawler blocker and sets a 30-day login-log retention window."
msgstr ""

#: build/index.js:1
#: src/components/SetupWizard.jsx:24
msgid "Sends security alerts (lockouts, critical findings) to your admin email address."
msgstr ""

#: build/index.js:1
#: src/components/SetupWizard.jsx:66
msgid "Could not apply this step. Please try again."
msgstr ""

#: build/index.js:1
#: src/components/SetupWizard.jsx:82
msgid "Security Setup Wizard"
msgstr ""

#. translators: 1: current step number, 2: total steps
#: build/index.js:2
#: src/components/SetupWizard.jsx:114
#, js-format
msgid "Step %1$d of %2$d"
msgstr ""

#: build/index.js:2
#: src/components/SetupWizard.jsx:125
msgid "Skip"
msgstr ""

#: build/index.js:2
#: src/components/SetupWizard.jsx:129
msgid "Apply & Finish"
msgstr ""

#: build/index.js:2
#: src/components/SetupWizard.jsx:130
msgid "Apply & Continue"
msgstr ""

#: build/index.js:2
#: src/components/SetupWizard.jsx:138
msgid "Security Setup Complete!"
msgstr ""

#: build/index.js:2
#: src/components/SetupWizard.jsx:141
msgid "security checks passing"
msgstr ""

#: build/index.js:2
#: src/components/SetupWizard.jsx:145
msgid "Where would you like to go next?"
msgstr ""

#: build/index.js:2
#: src/components/SetupWizard.jsx:173
msgid "Activity Log"
msgstr ""

#: build/index.js:2
#: src/components/SetupWizard.jsx:179
msgid "Close & Finish"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:22
msgid "Failed to generate audit report."
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:46
msgid "1-Click Site Security & Health Audit Report"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:53
msgid "Compiling site health, firewall, scanner, and hardening status…"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:85
msgid "URL:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:86
msgid "Generated:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:88
msgid "WordPress:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:90
msgid "PHP:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:92
msgid "Server:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:110
#, js-format
msgid "%d of %d checks passing"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:128
msgid "Web App Firewall"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:134
msgid "Active Rules:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:135
msgid "Total Blocks:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:136
msgid "Extended Mode:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:136
msgid "Standard"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:143
msgid "Malware Scanner"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:145
msgid "Clean"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:145
#, js-format
msgid "%d Issues"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:149
msgid "Signatures Active:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:150
msgid "Last Scan:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:151
msgid "Feed Sync:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:151
msgid "Synced"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:151
msgid "Built-in"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:158
msgid "Alerts & Delivery"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:160
msgid "SMTP Configured"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:160
msgid "PHP Mail"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:164
msgid "Provider:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:165
msgid "Alert Recipient:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:165
msgid "Not set"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:172
msgid "Proxy & Network"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:174
msgid "Verified Proxy"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:174
msgid "Direct IP"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:178
msgid "Peer IP:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:179
msgid "Client IP:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:180
msgid "Cloudflare Traffic:"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:189
msgid "Critical File Permissions & Lock Status"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:195
msgid "Permission"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:198
msgid "Evaluation"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:218
msgid "OK"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:218
msgid "Review"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:218
msgid "Risk"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:232
msgid "Security Checks Summary"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:280
#: src/components/AuditReportModal.jsx:295
msgid "Export JSON"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:283
#: src/components/AuditReportModal.jsx:305
msgid "Print / Save as PDF"
msgstr ""

#: build/index.js:2
#: src/components/AuditReportModal.jsx:311
msgid "Close"
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:69
msgid "Restrict front-end access by login status or admin role."
msgstr ""

#: build/index.js:2
#: src/pages/Dashboard.jsx:125
msgid "CAPTCHA on login/registration forms."
msgstr ""

#. translators: 1: passed checks, 2: total checks
#: build/index.js:3
#: src/pages/Dashboard.jsx:262
#, js-format
msgid "%1$d of %2$d checks passing"
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:277
msgid "Fix →"
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:284
msgid "Run Setup Wizard"
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:287
#: src/pages/Dashboard.jsx:301
msgid "Site Health Audit Report"
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:294
msgid "All security checks are passing. Great job!"
msgstr ""

#: build/index.js:3
#: src/pages/Dashboard.jsx:298
msgid "Re-run Setup Wizard"
msgstr ""

#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:176
msgid "Background Overlay Color"
msgstr ""

#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:186
msgid "Overlay Opacity"
msgstr ""

#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:333
msgid "Logo Font Family"
msgstr ""

#: build/index.js:3
#: src/pages/FormStyle/LoginForm.jsx:334
msgid "Enter font name (e.g. Arial, Georgia, Roboto)."
msgstr ""
