| @@ -31,12 +31,13 @@ | ||
| 31 | 31 | public const VERSION = '1.1.0'; |
| 32 | 32 | |
| 33 | 33 | public function ui_metadata(): array { |
| 34 | 34 | return array( |
| 35 | - 'label' => 'Compression', | |
| 36 | - 'tab_label' => 'GZIP', // its own tab on the Compression page | |
| 35 | + 'label' => __( 'Compression', 'xspeed' ), | |
| 36 | + 'tab_label' => __( 'GZIP', 'xspeed' ), // its own tab on the Compression page | |
| 37 | 37 | 'icon' => 'Layers', |
| 38 | - 'description' => 'Compress responses to reduce transfer size.', | |
| 38 | + 'description' => __( 'Compresses pages and files so they download faster.', 'xspeed' ), | |
| 39 | + 'group' => 'performance', | |
| 39 | 40 | // Host panel merges GZIP (this module) + Brotli (Pro) into one |
| 40 | 41 | // page — they are one decision with a fallback chain, not two |
| 41 | 42 | // sidebar rows (FBS-83633). The panel renders this module's own |
| 42 | 43 | // schema form plus a Brotli Pro section. |
| @@ -48,9 +49,9 @@ | ||
| 48 | 49 | return array( |
| 49 | 50 | 'gzip_enabled' => array( |
| 50 | 51 | 'type' => 'bool', |
| 51 | 52 | 'default' => false, |
| 52 | - 'label' => 'Enable GZIP Compression', | |
| 53 | + 'label' => __( 'Enable Gzip compression', 'xspeed' ), | |
| 53 | 54 | // Server-conditional. The old copy said "On nginx the snippet |
| 54 | 55 | // below must be added to your server config" — unconditionally, |
| 55 | 56 | // and there is no snippet below: the Compression page is a tab |
| 56 | 57 | // strip plus this toggle, and NginxServerBlock only mounts under |
| @@ -70,14 +71,14 @@ | ||
| 70 | 71 | * has to happen here rather than in the panel. |
| 71 | 72 | */ |
| 72 | 73 | private static function gzip_description(): string { |
| 73 | 74 | if ( class_exists( '\\XSpeed\\Server' ) && Server::supports_htaccess() ) { |
| 74 | - return __( 'Compress responses before sending them. We write the .htaccess rules automatically on this server.', 'xspeed' ); | |
| 75 | + return __( 'Compresses pages and files before sending them. xSpeed adds the .htaccess rules for you on this server.', 'xspeed' ); | |
| 75 | 76 | } |
| 76 | 77 | if ( class_exists( '\\XSpeed\\Server' ) && Server::NGINX === Server::type() ) { |
| 77 | - return __( 'Compress responses before sending them. nginx cannot be configured from WordPress, so the directives ship in the unified server-block snippet — see the notice below.', 'xspeed' ); | |
| 78 | + return __( 'Compresses pages and files before sending them. On nginx you add the rules to your server config yourself. See the notice below.', 'xspeed' ); | |
| 78 | 79 | } |
| 79 | - return __( 'Compress responses before sending them. On this server the directives have to be added to your server config by hand — see the notice below.', 'xspeed' ); | |
| 80 | + return __( 'Compresses pages and files before sending them. On this server you add the rules to your server config yourself. See the notice below.', 'xspeed' ); | |
| 80 | 81 | } |
| 81 | 82 | |
| 82 | 83 | /** |
| 83 | 84 | * 1.1.0: drain gzip_enabled from the legacy xspeed_options blob into |
| @@ -104,8 +105,9 @@ | ||
| 104 | 105 | array( |
| 105 | 106 | 'name' => 'xspeed gzip', |
| 106 | 107 | 'callback' => array( $this, 'cli_handler' ), |
| 107 | 108 | 'shortdesc' => 'Show GZIP status (server type, active, mode).', |
| 109 | + 'ai_hint' => 'Is text compression (GZIP/Brotli) actually working on this site? Answers "why are my HTML/CSS/JS transfers so large" and whether the server is compressing at all. Reports the detected server, whether compression is active, and how it is applied.', | |
| 108 | 110 | 'synopsis' => array(), |
| 109 | 111 | ), |
| 110 | 112 | ); |
| 111 | 113 | } |
| @@ -283,6 +285,13 @@ | ||
| 283 | 285 | return null; |
| 284 | 286 | } |
| 285 | 287 | $snippet = LegacyGzip::nginx_snippet(); |
| 286 | 288 | return is_string( $snippet ) && '' !== $snippet ? $snippet : null; |
| 289 | + } | |
| 290 | + | |
| 291 | + /** | |
| 292 | + * Gzip stores its switch as `gzip_enabled`, not `enabled`. (#363) | |
| 293 | + */ | |
| 294 | + public function is_active(): ?bool { | |
| 295 | + return $this->any_bool_flag_on(); | |
| 287 | 296 | } |
| 288 | 297 | } |