diff --git a/changelog.txt b/changelog.txt index 24e691c..c6dd20b 100644 --- a/changelog.txt +++ b/changelog.txt @@ -6,7 +6,7 @@ _Release date: 2026-02-17_ **Initial Production Release** -This is the first comprehensive release of Two Factor Extended, implementing enterprise-level two-factor authentication management for WordPress. +This is the first comprehensive release of Two-Factor Extended, implementing enterprise-level two-factor authentication management for WordPress. **Core Features** diff --git a/includes/class-cli-commands.php b/includes/class-cli-commands.php index b47793b..514cc1a 100644 --- a/includes/class-cli-commands.php +++ b/includes/class-cli-commands.php @@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) { /** * Class Two_Factor_Extended_CLI_Commands * - * Provides WP-CLI commands for Two Factor Extended. + * Provides WP-CLI commands for Two-Factor Extended. * * @since 0.1.0 */ diff --git a/includes/class-compliance-report.php b/includes/class-compliance-report.php index 1ade977..74074f3 100644 --- a/includes/class-compliance-report.php +++ b/includes/class-compliance-report.php @@ -292,7 +292,7 @@ class Two_Factor_Extended_Compliance_Report { public function email_report( string $to, array $args = array() ): bool { $stats = $this->get_compliance_stats( $args ); - $subject = __( 'Two Factor Extended - Compliance Report', 'two-factor-extended' ); + $subject = __( 'Two-Factor Extended - Compliance Report', 'two-factor-extended' ); $message = sprintf( /* translators: 1: Site name */ diff --git a/includes/class-dependency-checker.php b/includes/class-dependency-checker.php index d314e60..82eb702 100644 --- a/includes/class-dependency-checker.php +++ b/includes/class-dependency-checker.php @@ -97,7 +97,7 @@ class Two_Factor_Extended_Dependency_Checker { ?>

- : + :

- : + :

- : + :

- +

- +

- +

-

+

@@ -1526,7 +1526,7 @@ class Two_Factor_Extended_Settings { ?>
-

+

diff --git a/includes/class-two-factor-extended.php b/includes/class-two-factor-extended.php index 0ce32cb..a60db64 100644 --- a/includes/class-two-factor-extended.php +++ b/includes/class-two-factor-extended.php @@ -34,7 +34,7 @@ class Two_Factor_Extended { * @since 0.1.0 * @var string */ - private string $version = '1.0.1'; + private string $version = '1.0.2'; /** * Plugin directory path. diff --git a/languages/two-factor-extended-ca.mo b/languages/two-factor-extended-ca.mo new file mode 100644 index 0000000..7c7cd77 Binary files /dev/null and b/languages/two-factor-extended-ca.mo differ diff --git a/languages/two-factor-extended-ca.po b/languages/two-factor-extended-ca.po new file mode 100644 index 0000000..9fd4d14 --- /dev/null +++ b/languages/two-factor-extended-ca.po @@ -0,0 +1,691 @@ +# Translation of Two-Factor Extended to Catalan +# Copyright (C) 2026 javiercasares, ROBOTSTXT +# This file is distributed under the GPL-3.0-or-later. +msgid "" +msgstr "" +"Project-Id-Version: Two-Factor Extended 1.0.2\n" +"Report-Msgid-Bugs-To: https://git.robotstxt.es/ROBOTSTXT/two-factor-extended/issues\n" +"Last-Translator: javiercasares, ROBOTSTXT\n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"POT-Creation-Date: 2026-03-28T00:00:00+00:00\n" +"PO-Revision-Date: 2026-03-28 00:00+0000\n" +"X-Generator: Manual\n" +"X-Domain: two-factor-extended\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. Plugin Name of the plugin +#: two-factor-extended.php +#: includes/class-dependency-checker.php:100 +#: includes/class-dependency-checker.php:122 +#: includes/class-dependency-checker.php:144 +#: includes/class-network-settings.php:67 +#: includes/class-network-settings.php:68 +#: includes/class-settings.php:83 +#: includes/class-settings.php:84 +#: includes/class-settings.php:109 +#: includes/class-settings.php:110 +msgid "Two-Factor Extended" +msgstr "Two-Factor Extended" + +#. Plugin URI of the plugin +#: two-factor-extended.php +msgid "https://git.robotstxt.es/ROBOTSTXT/two-factor-extended" +msgstr "https://git.robotstxt.es/ROBOTSTXT/two-factor-extended" + +#. Description of the plugin +#: two-factor-extended.php +msgid "Extends the WordPress Two Factor plugin with advanced role-based controls, forced 2FA methods, and enhanced administrative features for single-site and Multisite installations." +msgstr "Amplia el connector WordPress Two Factor amb controls avançats basats en rols, mètodes 2FA obligatoris i funcions administratives millorades per a instal·lacions de lloc únic i Multisitio." + +#. Author of the plugin +#: two-factor-extended.php +msgid "javiercasares, ROBOTSTXT" +msgstr "javiercasares, ROBOTSTXT" + +#. Author URI of the plugin +#: two-factor-extended.php +msgid "https://www.robotstxt.es/" +msgstr "https://www.robotstxt.es/" + +#: includes/class-bulk-actions.php:62 +msgid "Require 2FA Setup" +msgstr "Requerir configuració 2FA" + +#: includes/class-bulk-actions.php:63 +msgid "Reset 2FA Grace Period" +msgstr "Restablir el període de gràcia 2FA" + +#. translators: %d: Number of users +#: includes/class-bulk-actions.php:221 +#, php-format +msgid "2FA requirement set for %d user." +msgid_plural "2FA requirement set for %d users." +msgstr[0] "Requisit 2FA establert per a %d usuari." +msgstr[1] "Requisit 2FA establert per a %d usuaris." + +#. translators: %d: Number of users +#: includes/class-bulk-actions.php:242 +#, php-format +msgid "Grace period reset for %d user." +msgid_plural "Grace period reset for %d users." +msgstr[0] "Període de gràcia restablit per a %d usuari." +msgstr[1] "Període de gràcia restablit per a %d usuaris." + +#: includes/class-compliance-report.php:274 +#: includes/class-settings.php:1392 +msgid "Two-Factor Extended - Compliance Report" +msgstr "Two-Factor Extended - Informe de compliment" + +#. translators: 1: Site name +#: includes/class-compliance-report.php:278 +#, php-format +msgid "Compliance Report for %s" +msgstr "Informe de compliment per a %s" + +#: includes/class-compliance-report.php:282 +msgid "Summary:" +msgstr "Resum:" + +#: includes/class-compliance-report.php:283 +#, php-format +msgid "Total Users: %d" +msgstr "Total d'usuaris: %d" + +#: includes/class-compliance-report.php:284 +#, php-format +msgid "Compliant: %d" +msgstr "Complint: %d" + +#: includes/class-compliance-report.php:285 +#, php-format +msgid "Non-Compliant: %d" +msgstr "No complint: %d" + +#: includes/class-compliance-report.php:286 +#, php-format +msgid "In Grace Period: %d" +msgstr "En període de gràcia: %d" + +#: includes/class-compliance-report.php:287 +#, php-format +msgid "No Requirements: %d" +msgstr "Sense requisits: %d" + +#: includes/class-compliance-report.php:290 +msgid "By Role:" +msgstr "Per rol:" + +#: includes/class-compliance-report.php:303 +msgid "For detailed information, please log in to the WordPress admin." +msgstr "Per a informació detallada, accediu a l'administrador de WordPress." + +#. translators: %s: Two Factor plugin link +#: includes/class-dependency-checker.php:104 +#, php-format +msgid "This plugin requires the %s plugin to be installed and activated." +msgstr "Aquest connector requereix que el connector %s estigui instal·lat i activat." + +#: includes/class-dependency-checker.php:105 +msgid "Two Factor" +msgstr "Two Factor" + +#. translators: %s: Minimum WordPress version +#: includes/class-dependency-checker.php:126 +#, php-format +msgid "This plugin requires WordPress %s or higher." +msgstr "Aquest connector requereix WordPress %s o superior." + +#. translators: %s: Minimum PHP version +#: includes/class-dependency-checker.php:148 +#, php-format +msgid "This plugin requires PHP %s or higher." +msgstr "Aquest connector requereix PHP %s o superior." + +#. translators: %s: Required providers list +#: includes/class-enforcement.php:98 +#, php-format +msgid "Your account requires the following 2FA methods to be configured: %s. Please contact an administrator for assistance." +msgstr "El vostre compte requereix que es configurin els mètodes 2FA següents: %s. Poseu-vos en contacte amb un administrador per obtenir ajuda." + +#: includes/class-enforcement.php:292 +#: includes/class-enforcement.php:320 +#: includes/class-provider-filter.php:218 +msgid "Two-Factor Extended:" +msgstr "Two-Factor Extended:" + +#: includes/class-enforcement.php:297 +#, php-format +msgid "You have %1$d day remaining to configure the required 2FA methods: %2$s" +msgid_plural "You have %1$d days remaining to configure the required 2FA methods: %2$s" +msgstr[0] "Us queda %1$d dia per configurar els mètodes 2FA requerits: %2$s" +msgstr[1] "Us queden %1$d dies per configurar els mètodes 2FA requerits: %2$s" + +#: includes/class-enforcement.php:311 +#: includes/class-enforcement.php:331 +msgid "Configure 2FA Now" +msgstr "Configura el 2FA ara" + +#. translators: %s: Required providers list +#: includes/class-enforcement.php:324 +#, php-format +msgid "Your account requires the following 2FA methods: %s. Your access may be restricted until you configure them." +msgstr "El vostre compte requereix els mètodes 2FA següents: %s. L'accés pot estar restringit fins que els configureu." + +#: includes/class-network-settings.php:83 +#: includes/class-settings.php:936 +#: includes/class-settings.php:1262 +#: includes/class-settings.php:1353 +#: includes/class-settings.php:1508 +#: robotstxt-updater.php:367 +msgid "You do not have sufficient permissions to access this page." +msgstr "No teniu permisos suficients per accedir a aquesta pàgina." + +#: includes/class-network-settings.php:97 +#: includes/class-settings.php:1534 +msgid "Network settings saved successfully." +msgstr "La configuració de xarxa s'ha desat correctament." + +#: includes/class-network-settings.php:104 +msgid "Network-Wide Settings" +msgstr "Configuració de tota la xarxa" + +#: includes/class-network-settings.php:110 +msgid "Network-Wide Enforcement" +msgstr "Aplicació a tota la xarxa" + +#: includes/class-network-settings.php:123 +msgid "Apply these settings to all sites in the network" +msgstr "Aplica aquesta configuració a tots els llocs de la xarxa" + +#: includes/class-network-settings.php:126 +msgid "When enabled, network settings override individual site settings." +msgstr "Quan s'activa, la configuració de xarxa substitueix la configuració de llocs individuals." + +#: includes/class-network-settings.php:135 +msgid "Allow Site Override" +msgstr "Permet la substitució del lloc" + +#: includes/class-network-settings.php:148 +msgid "Allow individual sites to override network settings" +msgstr "Permet que llocs individuals substitueixin la configuració de xarxa" + +#: includes/class-network-settings.php:151 +msgid "Site administrators can configure their own 2FA requirements." +msgstr "Els administradors de lloc poden configurar els seus propis requisits 2FA." + +#: includes/class-network-settings.php:159 +msgid "Super Admin Requirements" +msgstr "Requisits del superadministrador" + +#: includes/class-network-settings.php:168 +msgid "Network Grace Period" +msgstr "Període de gràcia de xarxa" + +#: includes/class-network-settings.php:180 +msgid "days" +msgstr "dies" + +#: includes/class-network-settings.php:182 +msgid "Grace period for all sites in the network. Set to 0 for immediate enforcement." +msgstr "Període de gràcia per a tots els llocs de la xarxa. Establiu 0 per a l'aplicació immediata." + +#: includes/class-network-settings.php:188 +msgid "Network Role Requirements" +msgstr "Requisits de rols de xarxa" + +#: includes/class-network-settings.php:190 +msgid "Configure 2FA requirements that apply across all sites in the network." +msgstr "Configura els requisits 2FA que s'apliquen a tots els llocs de la xarxa." + +#: includes/class-network-settings.php:195 +#: includes/class-settings.php:1554 +msgid "Save Network Settings" +msgstr "Desa la configuració de xarxa" + +#: includes/class-network-settings.php:215 +#: includes/class-network-settings.php:256 +msgid "No 2FA providers detected." +msgstr "No s'han detectat proveïdors 2FA." + +#: includes/class-network-settings.php:235 +msgid "Required 2FA methods for super administrators." +msgstr "Mètodes 2FA requerits per als superadministradors." + +#: includes/class-network-settings.php:266 +#: includes/class-settings.php:464 +#: includes/class-settings.php:546 +#: includes/class-settings.php:1161 +#: includes/class-settings.php:1426 +msgid "Role" +msgstr "Rol" + +#: includes/class-network-settings.php:267 +#: includes/class-settings.php:465 +msgid "Required 2FA Methods" +msgstr "Mètodes 2FA requerits" + +#: includes/class-network-settings.php:306 +#: includes/class-settings.php:755 +#: includes/class-settings.php:767 +#: includes/class-settings.php:1737 +msgid "You do not have sufficient permissions to perform this action." +msgstr "No teniu permisos suficients per dur a terme aquesta acció." + +#: includes/class-network-settings.php:315 +#: includes/class-settings.php:1517 +#: includes/class-settings.php:1732 +msgid "Security check failed." +msgstr "Ha fallat la comprovació de seguretat." + +#. translators: %s: List of hidden providers +#: includes/class-provider-filter.php:222 +#, php-format +msgid "Some 2FA methods are hidden based on your role: %s" +msgstr "Alguns mètodes 2FA estan ocults segons el vostre rol: %s" + +#: includes/class-rest-api.php:201 +msgid "Unable to retrieve compliance status." +msgstr "No es pot recuperar l'estat de compliment." + +#: includes/class-settings.php:161 +msgid "General Settings" +msgstr "Configuració general" + +#: includes/class-settings.php:169 +msgid "Role-Based 2FA Requirements" +msgstr "Requisits 2FA basats en rols" + +#: includes/class-settings.php:177 +msgid "Role-Based Provider Visibility" +msgstr "Visibilitat de proveïdors basada en rols" + +#: includes/class-settings.php:185 +msgid "Data Management" +msgstr "Gestió de dades" + +#: includes/class-settings.php:207 +msgid "Grace Period (Days)" +msgstr "Període de gràcia (dies)" + +#: includes/class-settings.php:215 +msgid "Number of days users have to configure required 2FA methods before enforcement. Set to 0 for immediate enforcement." +msgstr "Nombre de dies que tenen els usuaris per configurar els mètodes 2FA requerits abans de l'aplicació. Establiu 0 per a l'aplicació immediata." + +#: includes/class-settings.php:225 +msgid "Role Requirements" +msgstr "Requisits de rol" + +#: includes/class-settings.php:235 +msgid "Provider Visibility" +msgstr "Visibilitat de proveïdors" + +#: includes/class-settings.php:245 +msgid "Remove Data on Uninstall" +msgstr "Elimina les dades en desinstal·lar" + +#: includes/class-settings.php:252 +msgid "Delete all plugin data when the plugin is uninstalled" +msgstr "Elimina totes les dades del connector quan es desinstal·li" + +#: includes/class-settings.php:253 +msgid "Warning: This action cannot be undone. All plugin settings and data will be permanently deleted." +msgstr "Avís: Aquesta acció no es pot desfer. Tota la configuració i les dades del connector s'eliminaran permanentment." + +#: includes/class-settings.php:266 +msgid "Configure general plugin settings." +msgstr "Configura els paràmetres generals del connector." + +#: includes/class-settings.php:280 +msgid "Configure which 2FA methods are required for each user role. Users with multiple roles must satisfy all role requirements." +msgstr "Configura quins mètodes 2FA són necessaris per a cada rol d'usuari. Els usuaris amb diversos rols han de complir tots els requisits de rol." + +#: includes/class-settings.php:293 +msgid "Control which 2FA methods are visible to each role. Users with multiple roles see methods visible to ANY of their roles (union logic). Required methods are always visible." +msgstr "Controla quins mètodes 2FA són visibles per a cada rol. Els usuaris amb diversos rols veuen els mètodes visibles per a QUALSEVOL dels seus rols (lògica d'unió). Els mètodes requerits sempre són visibles." + +#: includes/class-settings.php:306 +msgid "Manage plugin data and cleanup options." +msgstr "Gestiona les dades del connector i les opcions de neteja." + +#: includes/class-settings.php:309 +msgid "Import / Export Settings" +msgstr "Importa / Exporta la configuració" + +#: includes/class-settings.php:314 +#: includes/class-settings.php:320 +msgid "Export Settings" +msgstr "Exporta la configuració" + +#: includes/class-settings.php:324 +msgid "Export all plugin settings to a JSON file. This can be used to backup or transfer settings to another site." +msgstr "Exporta tota la configuració del connector a un fitxer JSON. Això es pot usar per fer una còpia de seguretat o transferir la configuració a un altre lloc." + +#: includes/class-settings.php:330 +#: includes/class-settings.php:345 +msgid "Import Settings" +msgstr "Importa la configuració" + +#: includes/class-settings.php:349 +msgid "Import plugin settings from a previously exported JSON file. This will overwrite your current settings. Maximum file size: 1MB." +msgstr "Importa la configuració del connector des d'un fitxer JSON exportat anteriorment. Això sobreescriurà la configuració actual. Mida màxima del fitxer: 1 MB." + +#: includes/class-settings.php:355 +msgid "Reset Plugin" +msgstr "Restablir el connector" + +#: includes/class-settings.php:360 +msgid "Reset to Default Settings" +msgstr "Restablir la configuració predeterminada" + +#: includes/class-settings.php:363 +msgid "Are you sure you want to reset all plugin settings to their default values? This action cannot be undone." +msgstr "Esteu segur que voleu restablir tota la configuració del connector als valors predeterminats? Aquesta acció no es pot desfer." + +#: includes/class-settings.php:366 +msgid "Reset All Settings" +msgstr "Restablir tota la configuració" + +#: includes/class-settings.php:370 +msgid "Warning: This will reset all plugin settings to their default values, including role requirements and provider visibility. User grace period data will be cleared. This action cannot be undone." +msgstr "Avís: Això restablirà tota la configuració del connector als valors predeterminats, incloent-hi els requisits de rol i la visibilitat de proveïdors. Les dades del període de gràcia dels usuaris s'esboraran. Aquesta acció no es pot desfer." + +#: includes/class-settings.php:453 +#: includes/class-settings.php:534 +msgid "No 2FA providers detected. Please ensure the Two Factor plugin is active and properly configured." +msgstr "No s'han detectat proveïdors 2FA. Assegureu-vos que el connector Two Factor estigui actiu i configurat correctament." + +#: includes/class-settings.php:497 +msgid "Select which 2FA methods each role must have configured. Users will not be able to log in without these methods." +msgstr "Seleccioneu quins mètodes 2FA ha de tenir configurats cada rol. Els usuaris no podran iniciar sessió sense aquests mètodes." + +#: includes/class-settings.php:547 +msgid "Visible 2FA Methods" +msgstr "Mètodes 2FA visibles" + +#: includes/class-settings.php:577 +msgid "(Required)" +msgstr "(Requerit)" + +#: includes/class-settings.php:599 +msgid "Uncheck methods to hide them from users with this role. Required methods are always visible and cannot be hidden." +msgstr "Desmarqueu els mètodes per amagar-los als usuaris amb aquest rol. Els mètodes requerits sempre són visibles i no es poden amagar." + +#: includes/class-settings.php:664 +msgid "Network Settings Active:" +msgstr "Configuració de xarxa activa:" + +#: includes/class-settings.php:667 +msgid "This site inherits settings from the network, but you can override them below." +msgstr "Aquest lloc hereta la configuració de la xarxa, però podeu substituir-la a continuació." + +#: includes/class-settings.php:669 +msgid "This site inherits settings from the network. Site-level changes are disabled." +msgstr "Aquest lloc hereta la configuració de la xarxa. Els canvis a nivell de lloc estan desactivats." + +#: includes/class-settings.php:719 +#: includes/class-settings.php:851 +msgid "File size exceeds 1MB limit. Please use a smaller file." +msgstr "La mida del fitxer supera el límit d'1 MB. Utilitzeu un fitxer més petit." + +#: includes/class-settings.php:726 +msgid "Please select a valid JSON file (.json extension)." +msgstr "Seleccioneu un fitxer JSON vàlid (extensió .json)." + +#: includes/class-settings.php:731 +msgid "Importing will overwrite your current settings. Are you sure you want to continue?" +msgstr "La importació sobreescriurà la configuració actual. Esteu segur que voleu continuar?" + +#: includes/class-settings.php:821 +msgid "Unable to export settings. Please try again later." +msgstr "No es pot exportar la configuració. Torneu-ho a intentar més tard." + +#: includes/class-settings.php:822 +msgid "Export Error" +msgstr "Error d'exportació" + +#: includes/class-settings.php:839 +msgid "Error uploading file. Please try again." +msgstr "Error en pujar el fitxer. Torneu-ho a intentar." + +#: includes/class-settings.php:863 +msgid "Invalid file type. Please upload a JSON file." +msgstr "Tipus de fitxer no vàlid. Pugeu un fitxer JSON." + +#: includes/class-settings.php:876 +msgid "Error reading file. Please try again." +msgstr "Error en llegir el fitxer. Torneu-ho a intentar." + +#: includes/class-settings.php:889 +msgid "Invalid JSON file. Please upload a valid settings export file." +msgstr "Fitxer JSON no vàlid. Pugeu un fitxer d'exportació de configuració vàlid." + +#: includes/class-settings.php:900 +msgid "Invalid settings file structure." +msgstr "Estructura del fitxer de configuració no vàlida." + +#: includes/class-settings.php:923 +msgid "Settings imported successfully!" +msgstr "La configuració s'ha importat correctament!" + +#: includes/class-settings.php:944 +msgid "Settings" +msgstr "Configuració" + +#: includes/class-settings.php:945 +msgid "Audit Log" +msgstr "Registre d'auditoria" + +#: includes/class-settings.php:946 +msgid "Compliance" +msgstr "Compliment" + +#: includes/class-settings.php:998 +msgid "Site-level settings are currently disabled by network administrator. Please contact your network administrator to make changes." +msgstr "La configuració a nivell de lloc està desactivada per l'administrador de xarxa. Poseu-vos en contacte amb l'administrador de xarxa per fer canvis." + +#: includes/class-settings.php:1040 +#: includes/class-settings.php:1283 +msgid "Audit logs cleared successfully." +msgstr "Els registres d'auditoria s'han esborrat correctament." + +#: includes/class-settings.php:1048 +#: includes/class-settings.php:1294 +msgid "Statistics" +msgstr "Estadístiques" + +#: includes/class-settings.php:1049 +#: includes/class-settings.php:1295 +#, php-format +msgid "Total logs: %d" +msgstr "Total de registres: %d" + +#: includes/class-settings.php:1050 +#: includes/class-settings.php:1296 +#, php-format +msgid "Recent activity (7 days): %d" +msgstr "Activitat recent (7 dies): %d" + +#: includes/class-settings.php:1055 +#: includes/class-settings.php:1185 +#: includes/class-settings.php:1301 +#: includes/class-settings.php:1450 +msgid "Export to CSV" +msgstr "Exporta a CSV" + +#: includes/class-settings.php:1062 +#: includes/class-settings.php:1308 +msgid "Date" +msgstr "Data" + +#: includes/class-settings.php:1063 +#: includes/class-settings.php:1309 +msgid "Action" +msgstr "Acció" + +#: includes/class-settings.php:1064 +#: includes/class-settings.php:1310 +msgid "Description" +msgstr "Descripció" + +#: includes/class-settings.php:1065 +#: includes/class-settings.php:1192 +#: includes/class-settings.php:1311 +msgid "User" +msgstr "Usuari" + +#: includes/class-settings.php:1066 +#: includes/class-settings.php:1312 +msgid "IP Address" +msgstr "Adreça IP" + +#: includes/class-settings.php:1080 +msgid "Unknown" +msgstr "Desconegut" + +#: includes/class-settings.php:1082 +msgid "System" +msgstr "Sistema" + +#: includes/class-settings.php:1091 +#: includes/class-settings.php:1318 +msgid "No audit logs found." +msgstr "No s'han trobat registres d'auditoria." + +#: includes/class-settings.php:1099 +#, php-format +msgid "Showing 50 most recent logs. Total logs: %d" +msgstr "S'mostren els 50 registres més recents. Total de registres: %d" + +#: includes/class-settings.php:1130 +#: includes/class-settings.php:1395 +msgid "Overview" +msgstr "Resum general" + +#: includes/class-settings.php:1133 +#: includes/class-settings.php:1398 +msgid "Total Users" +msgstr "Total d'usuaris" + +#: includes/class-settings.php:1137 +#: includes/class-settings.php:1163 +#: includes/class-settings.php:1402 +#: includes/class-settings.php:1428 +msgid "Compliant" +msgstr "Complint" + +#: includes/class-settings.php:1141 +#: includes/class-settings.php:1164 +#: includes/class-settings.php:1406 +#: includes/class-settings.php:1429 +msgid "Non-Compliant" +msgstr "No complint" + +#: includes/class-settings.php:1145 +#: includes/class-settings.php:1410 +msgid "In Grace Period" +msgstr "En període de gràcia" + +#: includes/class-settings.php:1149 +#: includes/class-settings.php:1414 +msgid "No Requirements" +msgstr "Sense requisits" + +#: includes/class-settings.php:1157 +#: includes/class-settings.php:1422 +msgid "Compliance by Role" +msgstr "Compliment per rol" + +#: includes/class-settings.php:1162 +#: includes/class-settings.php:1427 +msgid "Total" +msgstr "Total" + +#: includes/class-settings.php:1181 +#: includes/class-settings.php:1446 +msgid "Non-Compliant Users" +msgstr "Usuaris no complints" + +#: includes/class-settings.php:1193 +#: includes/class-settings.php:1458 +msgid "Email" +msgstr "Correu electrònic" + +#: includes/class-settings.php:1194 +#: includes/class-settings.php:1459 +msgid "Roles" +msgstr "Rols" + +#: includes/class-settings.php:1195 +#: includes/class-settings.php:1461 +msgid "Status" +msgstr "Estat" + +#: includes/class-settings.php:1196 +#: includes/class-settings.php:1460 +msgid "Missing Providers" +msgstr "Proveïdors que falten" + +#: includes/class-settings.php:1215 +#, php-format +msgid "Grace period (%d days left)" +msgstr "Període de gràcia (%d dies restants)" + +#: includes/class-settings.php:1221 +#: includes/class-settings.php:1488 +msgid "Non-compliant" +msgstr "No complint" + +#: includes/class-settings.php:1229 +#: includes/class-settings.php:1467 +msgid "All users are compliant!" +msgstr "Tots els usuaris compleixen els requisits!" + +#: includes/class-settings.php:1291 +msgid "Two-Factor Extended - Audit Log" +msgstr "Two-Factor Extended - Registre d'auditoria" + +#: includes/class-settings.php:1339 +msgid "Showing 50 most recent logs. Export to CSV for full history." +msgstr "S'mostren els 50 registres més recents. Exporteu a CSV per a l'historial complet." + +#: includes/class-settings.php:1380 +msgid "Report sent successfully." +msgstr "L'informe s'ha enviat correctament." + +#: includes/class-settings.php:1382 +msgid "Failed to send report." +msgstr "No s'ha pogut enviar l'informe." + +#: includes/class-settings.php:1457 +msgid "Username" +msgstr "Nom d'usuari" + +#. translators: %d: Number of days +#: includes/class-settings.php:1482 +#, php-format +msgid "Grace: %d days" +msgstr "Gràcia: %d dies" + +#: includes/class-settings.php:1544 +msgid "Network-wide Settings" +msgstr "Configuració de tota la xarxa" + +#: includes/class-settings.php:1548 +msgid "Network settings will be available in future versions." +msgstr "La configuració de xarxa estarà disponible en versions futures." + +#: includes/class-settings.php:1764 +msgid "Plugin settings have been reset to default values successfully." +msgstr "La configuració del connector s'ha restablit als valors predeterminats correctament." + +#: includes/class-settings.php:1785 +msgid "Failed to reset plugin settings. Please try again." +msgstr "No s'ha pogut restablir la configuració del connector. Torneu-ho a intentar." + +#: robotstxt-updater.php:362 +msgid "Security check failed" +msgstr "Ha fallat la comprovació de seguretat" diff --git a/languages/two-factor-extended-es_ES.mo b/languages/two-factor-extended-es_ES.mo index e3eda78..1b01fe2 100644 Binary files a/languages/two-factor-extended-es_ES.mo and b/languages/two-factor-extended-es_ES.mo differ diff --git a/languages/two-factor-extended-es_ES.po b/languages/two-factor-extended-es_ES.po index aa2f99d..0410d12 100644 --- a/languages/two-factor-extended-es_ES.po +++ b/languages/two-factor-extended-es_ES.po @@ -1,9 +1,9 @@ -# Translation of Two Factor Extended to Spanish (Spain) +# Translation of Two-Factor Extended to Spanish (Spain) # Copyright (C) 2026 javiercasares, ROBOTSTXT # This file is distributed under the GPL-3.0-or-later. msgid "" msgstr "" -"Project-Id-Version: Two Factor Extended 1.0.0\n" +"Project-Id-Version: Two-Factor Extended 1.0.0\n" "Report-Msgid-Bugs-To: https://git.robotstxt.es/ROBOTSTXT/two-factor-extended/issues\n" "Last-Translator: javiercasares, ROBOTSTXT\n" "Language-Team: Spanish \n" @@ -28,8 +28,8 @@ msgstr "" #: includes/class-settings.php:84 #: includes/class-settings.php:109 #: includes/class-settings.php:110 -msgid "Two Factor Extended" -msgstr "Two Factor Extended" +msgid "Two-Factor Extended" +msgstr "Two-Factor Extended" #. Plugin URI of the plugin #: two-factor-extended.php @@ -77,8 +77,8 @@ msgstr[1] "Período de gracia restablecido para %d usuarios." #: includes/class-compliance-report.php:274 #: includes/class-settings.php:1392 -msgid "Two Factor Extended - Compliance Report" -msgstr "Two Factor Extended - Informe de cumplimiento" +msgid "Two-Factor Extended - Compliance Report" +msgstr "Two-Factor Extended - Informe de cumplimiento" #. translators: 1: Site name #: includes/class-compliance-report.php:278 @@ -154,8 +154,8 @@ msgstr "Tu cuenta requiere que se configuren los siguientes métodos 2FA: %s. Po #: includes/class-enforcement.php:292 #: includes/class-enforcement.php:320 #: includes/class-provider-filter.php:218 -msgid "Two Factor Extended:" -msgstr "Two Factor Extended:" +msgid "Two-Factor Extended:" +msgstr "Two-Factor Extended:" #: includes/class-enforcement.php:297 #, php-format @@ -645,8 +645,8 @@ msgid "All users are compliant!" msgstr "¡Todos los usuarios están cumpliendo!" #: includes/class-settings.php:1291 -msgid "Two Factor Extended - Audit Log" -msgstr "Two Factor Extended - Registro de auditoría" +msgid "Two-Factor Extended - Audit Log" +msgstr "Two-Factor Extended - Registro de auditoría" #: includes/class-settings.php:1339 msgid "Showing 50 most recent logs. Export to CSV for full history." diff --git a/languages/two-factor-extended.pot b/languages/two-factor-extended.pot index 79a31d6..23061d6 100644 --- a/languages/two-factor-extended.pot +++ b/languages/two-factor-extended.pot @@ -2,7 +2,7 @@ # This file is distributed under the GPL-3.0-or-later. msgid "" msgstr "" -"Project-Id-Version: Two Factor Extended 1.0.0\n" +"Project-Id-Version: Two-Factor Extended 1.0.0\n" "Report-Msgid-Bugs-To: https://git.robotstxt.es/ROBOTSTXT/two-factor-extended/issues\n" "Last-Translator: javiercasares, ROBOTSTXT\n" "Language-Team: LANGUAGE \n" @@ -25,7 +25,7 @@ msgstr "" #: includes/class-settings.php:84 #: includes/class-settings.php:109 #: includes/class-settings.php:110 -msgid "Two Factor Extended" +msgid "Two-Factor Extended" msgstr "" #. Plugin URI of the plugin @@ -74,7 +74,7 @@ msgstr[1] "" #: includes/class-compliance-report.php:274 #: includes/class-settings.php:1420 -msgid "Two Factor Extended - Compliance Report" +msgid "Two-Factor Extended - Compliance Report" msgstr "" #. translators: 1: Site name @@ -156,7 +156,7 @@ msgstr "" #: includes/class-enforcement.php:292 #: includes/class-enforcement.php:320 #: includes/class-provider-filter.php:220 -msgid "Two Factor Extended:" +msgid "Two-Factor Extended:" msgstr "" #: includes/class-enforcement.php:297 @@ -650,7 +650,7 @@ msgid "All users are compliant!" msgstr "" #: includes/class-settings.php:1309 -msgid "Two Factor Extended - Audit Log" +msgid "Two-Factor Extended - Audit Log" msgstr "" #: includes/class-settings.php:1367 diff --git a/readme.txt b/readme.txt index fecf7d0..3c90bad 100644 --- a/readme.txt +++ b/readme.txt @@ -1,9 +1,9 @@ -=== Two Factor Extended === +=== Two-Factor Extended === Contributors: javiercasares, robotstxt Tags: two-factor, 2fa, authentication, security Requires at least: 6.7 Tested up to: 6.9 -Stable tag: 1.0.1 +Stable tag: 1.0.2 Requires PHP: 8.2 Version: 1.0.1 License: GPL-3.0-or-later @@ -13,7 +13,7 @@ Extends the WordPress Two Factor plugin with advanced role-based controls and en == Description == -Two Factor Extended is a comprehensive extension for the WordPress Two Factor plugin that provides administrators with enterprise-level controls over two-factor authentication across their site. +Two-Factor Extended is a comprehensive extension for the WordPress Two Factor plugin that provides administrators with enterprise-level controls over two-factor authentication across their site. **Core Features:** @@ -43,7 +43,7 @@ This plugin requires the [Two Factor](https://wordpress.org/plugins/two-factor/) = Automatic Installation = 1. Visit the Plugins section in your WordPress admin -2. Search for "Two Factor Extended" +2. Search for "Two-Factor Extended" 3. Click "Install Now" and then "Activate" **Important:** Make sure the [Two Factor](https://wordpress.org/plugins/two-factor/) plugin is installed and activated first. @@ -56,7 +56,7 @@ This plugin requires the [Two Factor](https://wordpress.org/plugins/two-factor/) = After Installation = -1. Go to Settings → Two Factor Extended +1. Go to Settings → Two-Factor Extended 2. Configure your role-based 2FA requirements 3. Set which 2FA methods are available to different user roles @@ -64,15 +64,15 @@ This plugin requires the [Two Factor](https://wordpress.org/plugins/two-factor/) = Does this plugin replace the Two Factor plugin? = -No, Two Factor Extended is an extension that works alongside the Two Factor plugin. Both plugins must be installed and activated. +No, Two-Factor Extended is an extension that works alongside the Two Factor plugin. Both plugins must be installed and activated. = Is this compatible with WordPress Multisite? = -Yes! Two Factor Extended fully supports WordPress Multisite with network-wide settings and site-level overrides. +Yes! Two-Factor Extended fully supports WordPress Multisite with network-wide settings and site-level overrides. = Which PHP versions are supported? = -Two Factor Extended requires PHP 8.2 or higher. +Two-Factor Extended requires PHP 8.2 or higher. = Can users bypass the 2FA requirements? = @@ -87,7 +87,7 @@ No. When a 2FA method is marked as required for a user's role, they cannot disab == Security == -Two Factor Extended follows WordPress security best practices: +Two-Factor Extended follows WordPress security best practices: = Security Features = @@ -123,7 +123,7 @@ _Release date: 2026-02-17_ **Initial Production Release** -This is the first comprehensive release of Two Factor Extended, implementing enterprise-level two-factor authentication management for WordPress. +This is the first comprehensive release of Two-Factor Extended, implementing enterprise-level two-factor authentication management for WordPress. **Core Features** diff --git a/two-factor-extended.php b/two-factor-extended.php index bc8ae08..8278313 100644 --- a/two-factor-extended.php +++ b/two-factor-extended.php @@ -1,9 +1,9 @@ 1.0.1 - 2026-03-28
  • Compatibility: Two Factor 0.16 settings panel — settings menu now always appears after Two Factor in admin
  • Code Quality: PHPStan level 9 clean, PHPCS WordPress Coding Standards clean
  • Tests: PHPUnit 9.6 compatible, 28 unit tests passing (PHP 8.5, WordPress 6.7)

1.0.0 - 2026-02-17

  • Initial Production Release: Complete enterprise-level two-factor authentication management for WordPress
  • Core Features: Role-based 2FA requirements, provider visibility control, grace period enforcement, WordPress Multisite support
  • Advanced Features: Audit logging, compliance reporting, bulk operations, WP-CLI integration, REST API, import/export settings
  • Security: Grade A security audit, comprehensive input validation, output escaping, CSRF protection, XSS prevention
  • Quality: 28 unit tests, WCAG 2.1 Level AA compliant, performance optimized, WordPress Coding Standards compliant
  • Compatibility: WordPress 6.7-6.9, PHP 8.2-8.5, Two Factor 0.15.0 tested
", + "changelog": "

1.0.2 - 2026-03-28

  • Name: Renamed to \"Two-Factor Extended\" (hyphen added for consistency)
  • Compatibility: Two-Factor 0.16 enforcement now respects globally-disabled providers
  • i18n: Added Catalan (ca) translation (100% coverage); updated es_ES

1.0.1 - 2026-03-28

  • Compatibility: Two Factor 0.16 settings panel — settings menu now always appears after Two Factor in admin
  • Code Quality: PHPStan level 9 clean, PHPCS WordPress Coding Standards clean
  • Tests: PHPUnit 9.6 compatible, 28 unit tests passing (PHP 8.5, WordPress 6.7)

1.0.0 - 2026-02-17

  • Initial Production Release: Complete enterprise-level two-factor authentication management for WordPress
  • Core Features: Role-based 2FA requirements, provider visibility control, grace period enforcement, WordPress Multisite support
  • Advanced Features: Audit logging, compliance reporting, bulk operations, WP-CLI integration, REST API, import/export settings
  • Security: Grade A security audit, comprehensive input validation, output escaping, CSRF protection, XSS prevention
  • Quality: 28 unit tests, WCAG 2.1 Level AA compliant, performance optimized, WordPress Coding Standards compliant
  • Compatibility: WordPress 6.7-6.9, PHP 8.2-8.5, Two Factor 0.15.0 tested
", "sections": { - "description": "Two Factor Extended is a comprehensive extension for the WordPress Two Factor plugin that provides administrators with enterprise-level controls over two-factor authentication across their site.

Core Features:
  • Role-Based 2FA Requirements
  • Provider Visibility Control
  • Grace Period Enforcement (0-365 days)
  • WordPress Multisite Support
  • Compliance Reporting
  • Audit Logging
  • Bulk Operations
  • WP-CLI Commands
  • REST API Endpoints
  • Import/Export Settings
Security: Grade A security audit, comprehensive security hardening, CSRF protection, XSS prevention, SQL injection protection.

Quality Assurance: 28 unit tests, WCAG 2.1 Level AA compliant, WordPress Coding Standards compliant, PHP 8.2-8.5 compatible.", - "changelog": "

1.0.1 - 2026-03-28

  • Compatibility: Two Factor 0.16 settings panel — settings menu now always appears after Two Factor in admin
  • Code Quality: PHPStan level 9 clean, PHPCS WordPress Coding Standards clean
  • Tests: PHPUnit 9.6 compatible, 28 unit tests passing (PHP 8.5, WordPress 6.7)

1.0.0 - 2026-02-17

  • Initial Production Release: Complete enterprise-level two-factor authentication management for WordPress
  • Core Features: Role-based 2FA requirements, provider visibility control, grace period enforcement, WordPress Multisite support
  • Advanced Features: Audit logging, compliance reporting, bulk operations, WP-CLI integration, REST API, import/export settings
  • Security: Grade A security audit, comprehensive input validation, output escaping, CSRF protection, XSS prevention
  • Quality: 28 unit tests, WCAG 2.1 Level AA compliant, performance optimized, WordPress Coding Standards compliant
  • Compatibility: WordPress 6.7-6.9, PHP 8.2-8.5, Two Factor 0.15.0 tested
", - "installation": "
  1. Install the Two Factor plugin (required dependency)
  2. Upload and activate Two Factor Extended plugin
  3. Go to Settings → Two Factor Extended
  4. Configure grace period (7-14 days recommended)
  5. Set role-based 2FA requirements
  6. Configure provider visibility per role
  7. Monitor compliance via Compliance tab
  8. Review audit logs via Audit Log tab
", - "faq": "

Does this plugin replace the Two Factor plugin?

No, Two Factor Extended is an extension that works alongside the Two Factor plugin. Both plugins must be installed and activated.

Is this compatible with WordPress Multisite?

Yes! Two Factor Extended fully supports WordPress Multisite with network-wide settings and site-level overrides.

Which PHP versions are supported?

Two Factor Extended requires PHP 8.2 or higher.

Can users bypass the 2FA requirements?

No. When a 2FA method is marked as required for a user's role, they cannot disable or remove it.

" + "description": "Two-Factor Extended is a comprehensive extension for the WordPress Two Factor plugin that provides administrators with enterprise-level controls over two-factor authentication across their site.

Core Features:
  • Role-Based 2FA Requirements
  • Provider Visibility Control
  • Grace Period Enforcement (0-365 days)
  • WordPress Multisite Support
  • Compliance Reporting
  • Audit Logging
  • Bulk Operations
  • WP-CLI Commands
  • REST API Endpoints
  • Import/Export Settings
Security: Grade A security audit, comprehensive security hardening, CSRF protection, XSS prevention, SQL injection protection.

Quality Assurance: 28 unit tests, WCAG 2.1 Level AA compliant, WordPress Coding Standards compliant, PHP 8.2-8.5 compatible.", + "changelog": "

1.0.2 - 2026-03-28

  • Name: Renamed to \"Two-Factor Extended\" (hyphen added for consistency)
  • Compatibility: Two-Factor 0.16 enforcement now respects globally-disabled providers
  • i18n: Added Catalan (ca) translation (100% coverage); updated es_ES

1.0.1 - 2026-03-28

  • Compatibility: Two Factor 0.16 settings panel — settings menu now always appears after Two Factor in admin
  • Code Quality: PHPStan level 9 clean, PHPCS WordPress Coding Standards clean
  • Tests: PHPUnit 9.6 compatible, 28 unit tests passing (PHP 8.5, WordPress 6.7)

1.0.0 - 2026-02-17

  • Initial Production Release: Complete enterprise-level two-factor authentication management for WordPress
  • Core Features: Role-based 2FA requirements, provider visibility control, grace period enforcement, WordPress Multisite support
  • Advanced Features: Audit logging, compliance reporting, bulk operations, WP-CLI integration, REST API, import/export settings
  • Security: Grade A security audit, comprehensive input validation, output escaping, CSRF protection, XSS prevention
  • Quality: 28 unit tests, WCAG 2.1 Level AA compliant, performance optimized, WordPress Coding Standards compliant
  • Compatibility: WordPress 6.7-6.9, PHP 8.2-8.5, Two Factor 0.15.0 tested
", + "installation": "
  1. Install the Two Factor plugin (required dependency)
  2. Upload and activate Two-Factor Extended plugin
  3. Go to Settings → Two-Factor Extended
  4. Configure grace period (7-14 days recommended)
  5. Set role-based 2FA requirements
  6. Configure provider visibility per role
  7. Monitor compliance via Compliance tab
  8. Review audit logs via Audit Log tab
", + "faq": "

Does this plugin replace the Two Factor plugin?

No, Two-Factor Extended is an extension that works alongside the Two Factor plugin. Both plugins must be installed and activated.

Is this compatible with WordPress Multisite?

Yes! Two-Factor Extended fully supports WordPress Multisite with network-wide settings and site-level overrides.

Which PHP versions are supported?

Two-Factor Extended requires PHP 8.2 or higher.

Can users bypass the 2FA requirements?

No. When a 2FA method is marked as required for a user's role, they cannot disable or remove it.

" }, "banners": { "low": "", @@ -27,4 +27,4 @@ "2x": "https://git.robotstxt.es/ROBOTSTXT/two-factor-extended/raw/branch/main/assets/icon-256x256.png", "svg": "https://git.robotstxt.es/ROBOTSTXT/two-factor-extended/raw/branch/main/assets/icon.svg" } -} +} \ No newline at end of file