PluginProbe
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN / 1.4.1
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN v1.4.1
1.4.1 1.4.0 1.3.7 1.3.6 1.3.5 1.3.4 1.3.3 1.3.2 1.3.1 1.3.0 1.2.4 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 All 35 releases
← All changes | languages/xspeed.pot +4309 -791 1.2.4 → 1.4.1 View file →
@@ -1,9 +1,9 @@
1 1 # Copyright (C) 2026 WPDeveloper
2 2 # This file is distributed under the GPLv2 or later.
3 3 msgid ""
4 4 msgstr ""
5 -"Project-Id-Version: xSpeed Cache 1.1.2\n"
5 +"Project-Id-Version: xSpeed Cache 1.4.1\n"
6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/xspeed\n"
7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8 8 "Language-Team: LANGUAGE <[email protected]>\n"
9 9 "MIME-Version: 1.0\n"
@@ -8,9 +8,9 @@
8 8 "Language-Team: LANGUAGE <[email protected]>\n"
9 9 "MIME-Version: 1.0\n"
10 10 "Content-Type: text/plain; charset=UTF-8\n"
11 11 "Content-Transfer-Encoding: 8bit\n"
12 -"POT-Creation-Date: 2026-08-03T09:46:28+00:00\n"
12 +"POT-Creation-Date: 2026-10-08T15:38:17+00:00\n"
13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14 14 "X-Generator: WP-CLI 2.12.0\n"
15 15 "X-Domain: xspeed\n"
16 16
@@ -15,9 +15,9 @@
15 15 "X-Domain: xspeed\n"
16 16
17 17 #. Plugin Name of the plugin
18 18 #: xspeed.php
19 -#: includes/class-cache.php:2530
19 +#: includes/class-cache.php:11258
20 20 #: includes/class-deactivation-feedback.php:189
21 21 msgid "xSpeed Cache"
22 22 msgstr ""
23 23
@@ -35,74 +35,66 @@
35 35 #: xspeed.php
36 36 msgid "https://wpdeveloper.com"
37 37 msgstr ""
38 38
39 -#: includes/class-admin.php:153
40 -#: includes/class-admin.php:254
39 +#: includes/class-admin.php:160
40 +#: includes/class-admin.php:250
41 +#: includes/class-cache.php:11272
42 +#: assets/admin.js
41 43 msgid "Settings"
42 44 msgstr ""
43 45
44 -#: includes/class-admin.php:243
46 +#: includes/class-admin.php:248
47 +#: assets/admin.js
45 48 msgid "Overview"
46 49 msgstr ""
47 50
48 -#: includes/class-admin.php:244
49 -msgid "Cache"
51 +#: includes/class-admin.php:249
52 +#: assets/admin.js
53 +msgid "AI & agents"
50 54 msgstr ""
51 55
52 -#: includes/class-admin.php:245
53 -msgid "Optimization"
54 -msgstr ""
55 -
56 -#: includes/class-admin.php:246
57 -msgid "Network"
58 -msgstr ""
59 -
60 -#: includes/class-admin.php:247
61 -msgid "Health"
62 -msgstr ""
63 -
64 -#: includes/class-admin.php:248
65 -msgid "Tools"
66 -msgstr ""
67 -
68 -#: includes/class-admin.php:253
69 -msgid "AI & Agents"
70 -msgstr ""
71 -
72 -#: includes/class-admin.php:312
56 +#: includes/class-admin.php:308
57 +#: assets/admin.js
73 58 msgid "Loading"
74 59 msgstr ""
75 60
76 -#: includes/class-admin.php:314
61 +#: includes/class-admin.php:310
77 62 msgid "xSpeed"
78 63 msgstr ""
79 64
80 -#: includes/class-admin.php:315
65 +#: includes/class-admin.php:311
66 +#: assets/admin.js
81 67 msgid "Loading…"
82 68 msgstr ""
83 69
84 -#: includes/class-cache-inventory.php:340
70 +#. translators: 1: cause of the sweep, 2: number of files removed.
71 +#: includes/class-cache-gc.php:703
72 +#, php-format
73 +msgid "Cache garbage collection (%1$s) — %2$d expired file(s) removed"
74 +msgstr ""
75 +
76 +#: includes/class-cache-inventory.php:364
85 77 msgid "Cached pages (PHP)"
86 78 msgstr ""
87 79
88 -#: includes/class-cache-inventory.php:345
80 +#: includes/class-cache-inventory.php:369
89 81 msgid "Cached pages (server-served)"
90 82 msgstr ""
91 83
92 -#: includes/class-cache-inventory.php:350
84 +#: includes/class-cache-inventory.php:374
93 85 msgid "Precompressed copies"
94 86 msgstr ""
95 87
96 -#: includes/class-cache-inventory.php:355
88 +#: includes/class-cache-inventory.php:379
97 89 msgid "Per-entry metadata"
98 90 msgstr ""
99 91
100 -#: includes/class-cache-inventory.php:360
92 +#: includes/class-cache-inventory.php:384
101 93 msgid "REST responses"
102 94 msgstr ""
103 95
104 -#: includes/class-cache-inventory.php:365
96 +#: includes/class-cache-inventory.php:389
105 97 msgid "Minified CSS/JS"
106 98 msgstr ""
107 99
108 100 #: includes/class-cache-meta-box.php:40
@@ -128,58 +120,228 @@
128 120 #: includes/class-cache-meta-box.php:89
129 121 msgid "Override the global cache expiry for this post (1–720 hours). Leave at 0 to inherit the site default."
130 122 msgstr ""
131 123
124 +#: includes/class-cache-meta-box.php:113
125 +msgid "Purge this post’s cache"
126 +msgstr ""
127 +
128 +#: includes/class-cache-meta-box.php:117
129 +msgid "Clears this post and the pages that list it — the homepage, its archive and the neighbouring posts. The rest of the site keeps its cache."
130 +msgstr ""
131 +
132 132 #. translators: 1: cause of the purge, 2: URL or path, 3: number of files removed.
133 -#: includes/class-cache.php:962
133 +#: includes/class-cache.php:5909
134 +#: includes/class-cache.php:6119
134 135 #, php-format
135 136 msgid "Purged one URL (%1$s) — %2$s, %3$d file(s) removed"
136 137 msgstr ""
137 138
138 -#: includes/class-cache.php:1080
139 +#. translators: 1: cause of the purge, 2: URL or path, 3: number of files removed, 4: caches the purge was sent to.
140 +#: includes/class-cache.php:6126
141 +#, php-format
142 +msgid "Purged one URL (%1$s) — %2$s, %3$d file(s) removed, sent to %4$s"
143 +msgstr ""
144 +
145 +#. translators: 1: cause of the purge, 2: URL or path, 3: caches the purge was sent to.
146 +#: includes/class-cache.php:6138
147 +#, php-format
148 +msgid "Purged one URL (%1$s): %2$s, 0 file(s) removed here, sent to %3$s"
149 +msgstr ""
150 +
151 +#. translators: 1: number of pages, 2: cause of the purge, 3: number of files removed.
152 +#: includes/class-cache.php:6216
153 +#, php-format
154 +msgid "Purged %1$d page (%2$s), %3$d file(s) removed"
155 +msgid_plural "Purged %1$d pages (%2$s), %3$d file(s) removed"
156 +msgstr[0] ""
157 +msgstr[1] ""
158 +
159 +#: includes/class-cache.php:7251
139 160 msgid "Purge All"
140 161 msgstr ""
141 162
142 -#: includes/class-cache.php:1084
163 +#: includes/class-cache.php:7255
143 164 msgid "Purge Page / Static Cache"
144 165 msgstr ""
145 166
146 -#: includes/class-cache.php:1088
167 +#: includes/class-cache.php:7259
147 168 msgid "Purge CSS / JS Cache"
148 169 msgstr ""
149 170
150 -#: includes/class-cache.php:1092
171 +#: includes/class-cache.php:7263
151 172 msgid "Purge Object Cache"
152 173 msgstr ""
153 174
154 -#: includes/class-cache.php:1096
175 +#: includes/class-cache.php:7267
155 176 msgid "Purge REST Cache"
156 177 msgstr ""
157 178
158 179 #. translators: 1: what was purged, 2: cause of the purge.
159 -#: includes/class-cache.php:1191
180 +#: includes/class-cache.php:7601
160 181 #, php-format
161 182 msgid "Purged %1$s (%2$s)"
162 183 msgstr ""
163 184
164 185 #. translators: 1: what was purged, 2: cause of the purge, 3: number of files removed.
165 -#: includes/class-cache.php:1197
186 +#: includes/class-cache.php:7607
166 187 #, php-format
167 188 msgid "Purged %1$s (%2$s) — %3$d file(s) removed"
168 189 msgstr ""
169 190
170 -#: includes/class-cache.php:2564
191 +#: includes/class-cache.php:7879
192 +msgid "advanced-cache.php cannot be read, so xSpeed cannot tell whose page cache is installed."
193 +msgstr ""
194 +
195 +#. translators: %s: the page-caching plugin that owns advanced-cache.php.
196 +#: includes/class-cache.php:7886
197 +#, php-format
198 +msgid "%s is serving the page cache. Turn the xSpeed cache off and on again to take it over."
199 +msgstr ""
200 +
201 +#: includes/class-cache.php:7889
202 +msgid "Another plugin is serving the page cache. Turn the xSpeed cache off and on again to take it over."
203 +msgstr ""
204 +
205 +#: includes/class-cache.php:7964
206 +msgid "Could not lock page-cache ownership. Try again."
207 +msgstr ""
208 +
209 +#: includes/class-cache.php:7971
210 +msgid "Page-cache ownership changed while xSpeed was checking it. Nothing was changed; try again."
211 +msgstr ""
212 +
213 +#. translators: %s: the page-caching plugin that owns advanced-cache.php.
214 +#: includes/class-cache.php:8110
215 +#, php-format
216 +msgid "%s owns advanced-cache.php, so xSpeed left it alone. Enable the cache from the xSpeed dashboard to take it over."
217 +msgstr ""
218 +
219 +#: includes/class-cache.php:8113
220 +msgid "Another plugin owns advanced-cache.php, so xSpeed left it alone. Enable the cache from the xSpeed dashboard to take it over."
221 +msgstr ""
222 +
223 +#: includes/class-cache.php:8143
224 +msgid "Could not write wp-content/advanced-cache.php. Check filesystem permissions."
225 +msgstr ""
226 +
227 +#: includes/class-cache.php:8200
228 +msgid "wp-config.php is not writable and already contains define( 'WP_CACHE', false ). Change that line to true — adding a second one would leave the cache off and block xSpeed from changing it again."
229 +msgstr ""
230 +
231 +#: includes/class-cache.php:8201
232 +msgid "xSpeed could not verify the complete page-cache write, and wp-config.php is not writable. Its changes were rolled back."
233 +msgstr ""
234 +
235 +#: includes/class-cache.php:8203
236 +msgid "xSpeed could not verify the complete page-cache write. Its changes were rolled back."
237 +msgstr ""
238 +
239 +#: includes/class-cache.php:8218
240 +msgid "xSpeed could not save the page-cache setting. Its file changes were rolled back."
241 +msgstr ""
242 +
243 +#: includes/class-cache.php:8310
244 +msgid "xSpeed could not safely remove its WP_CACHE setting. The cache remains enabled."
245 +msgstr ""
246 +
247 +#: includes/class-cache.php:8325
248 +msgid "xSpeed could not remove its page-cache drop-in. The cache remains enabled."
249 +msgstr ""
250 +
251 +#: includes/class-cache.php:8326
252 +msgid "xSpeed could not remove its page-cache drop-in, and could not put WP_CACHE back. The cache is not serving; check wp-config.php before changing the page cache again."
253 +msgstr ""
254 +
255 +#: includes/class-cache.php:8343
256 +msgid "xSpeed could not remove its rewrite rules from .htaccess, which would keep serving cached pages. Remove the xSpeed block from .htaccess by hand before turning the page cache off."
257 +msgstr ""
258 +
259 +#: includes/class-cache.php:8361
260 +msgid "xSpeed could not remove its rewrite rules from .htaccess, which would keep serving cached pages. The cache remains enabled."
261 +msgstr ""
262 +
263 +#: includes/class-cache.php:8362
264 +msgid "xSpeed could not remove its rewrite rules from .htaccess, and could not restore the drop-in it had just removed. The cache is not serving, and the site may still return stale cached pages until the xSpeed block is removed from .htaccess by hand."
265 +msgstr ""
266 +
267 +#: includes/class-cache.php:8373
268 +msgid "xSpeed could not save the disabled state."
269 +msgstr ""
270 +
271 +#: includes/class-cache.php:8377
272 +msgid "xSpeed could not save the disabled state. The page cache was restored."
273 +msgstr ""
274 +
275 +#. translators: 1: the refusal reason, 2: a page-caching plugin's name.
276 +#: includes/class-cache.php:10694
277 +#, php-format
278 +msgid "%1$s %2$s is also active on this site — deactivate its page cache before enabling xSpeed."
279 +msgstr ""
280 +
281 +#. translators: 1: the refusal reason, 2: comma-separated page-caching plugin names.
282 +#: includes/class-cache.php:10701
283 +#, php-format
284 +msgid "%1$s These page caches are also active on this site: %2$s. Deactivate them before enabling xSpeed."
285 +msgstr ""
286 +
287 +#. translators: %s: comma-separated list of page-caching plugin names.
288 +#: includes/class-cache.php:10756
289 +#, php-format
290 +msgid "More than one page cache is active on this site (%s). Turn off the other page caches before enabling xSpeed."
291 +msgstr ""
292 +
293 +#: includes/class-cache.php:10763
294 +#, php-format
295 +msgid "%s is active or owns advanced-cache.php. Deactivate its page cache before enabling xSpeed."
296 +msgstr ""
297 +
298 +#: includes/class-cache.php:10766
299 +msgid "WP_CACHE is true but no page-cache drop-in owner can be proved. xSpeed will not claim it."
300 +msgstr ""
301 +
302 +#: includes/class-cache.php:10767
303 +msgid "wp-config.php defines WP_CACHE more than once. Remove the duplicate before enabling the cache."
304 +msgstr ""
305 +
306 +#: includes/class-cache.php:10768
307 +msgid "WP_CACHE is set from an expression in wp-config.php. xSpeed will not rewrite it."
308 +msgstr ""
309 +
310 +#: includes/class-cache.php:10769
311 +msgid "WP_CACHE is defined inside a conditional in wp-config.php, so xSpeed cannot tell what it will be. Move it to a plain define before enabling the cache."
312 +msgstr ""
313 +
314 +#: includes/class-cache.php:10770
315 +msgid "wp-config.php cannot be read, so xSpeed cannot safely change page-cache ownership."
316 +msgstr ""
317 +
318 +#: includes/class-cache.php:10771
319 +msgid "advanced-cache.php is occupied but its owner cannot be proved. xSpeed will not replace it."
320 +msgstr ""
321 +
322 +#: includes/class-cache.php:10772
323 +msgid "advanced-cache.php cannot be read, so xSpeed cannot prove its owner."
324 +msgstr ""
325 +
326 +#: includes/class-cache.php:10774
327 +msgid "The page-cache field is occupied or cannot be verified. xSpeed will not change it."
328 +msgstr ""
329 +
330 +#: includes/class-cache.php:11341
331 +#: includes/class-purge-ui.php:278
332 +#: includes/class-purge-ui.php:680
171 333 msgid "Unauthorized."
172 334 msgstr ""
173 335
174 336 #. translators: %s: conflicting plugin name
175 -#: includes/class-conflict-registry.php:322
337 +#: includes/class-conflict-registry.php:157
176 338 #, php-format
177 339 msgid "%s is active and handles the same feature. Deactivate it before enabling this in xSpeed."
178 340 msgstr ""
179 341
180 342 #. translators: %s: conflicting plugin name
181 -#: includes/class-conflict-registry.php:342
343 +#: includes/class-conflict-registry.php:177
182 344 #, php-format
183 345 msgid "%s is active and may interfere. Test carefully."
184 346 msgstr ""
185 347
@@ -239,8 +401,9 @@
239 401 msgid "Please tell us a little more."
240 402 msgstr ""
241 403
242 404 #: includes/class-deactivation-feedback.php:191
405 +#: assets/admin.js
243 406 msgid "Close"
244 407 msgstr ""
245 408
246 409 #: includes/class-deactivation-feedback.php:195
@@ -270,16 +433,279 @@
270 433 #: includes/class-deactivation-feedback.php:233
271 434 msgid "Submit & Deactivate"
272 435 msgstr ""
273 436
437 +#: includes/class-host.php:133
438 +msgid "xSpeed could not enable the page cache on this site."
439 +msgstr ""
440 +
441 +#. translators: %s: the PHP line to add to wp-config.php.
442 +#: includes/class-host.php:139
443 +#, php-format
444 +msgid "xSpeed installed its page cache, but wp-config.php is not writable. Add this line to it to start serving: %s"
445 +msgstr ""
446 +
447 +#: includes/class-managed-edge-purge.php:86
448 +msgid "xCloud's purge plugin is not installed"
449 +msgstr ""
450 +
451 +#. translators: 1: installed version, 2: minimum version.
452 +#: includes/class-managed-edge-purge.php:101
453 +#, php-format
454 +msgid "xCloud's purge plugin %1$s cannot take purges from xSpeed. Update it to %2$s or later from xCloud."
455 +msgstr ""
456 +
457 +#: includes/class-managed-edge-purge.php:106
458 +msgid "xCloud's purge plugin is installed but not accepting purges"
459 +msgstr ""
460 +
461 +#: includes/class-managed-edge-purge.php:177
462 +msgid "handed to xCloud's purge plugin, which sends it when this request ends"
463 +msgstr ""
464 +
465 +#. translators: 1: source lifetime in seconds, 2: imported lifetime in hours.
466 +#: includes/class-migration.php:343
467 +#, php-format
468 +msgid "Page cache lifetime %1$ds cannot be expressed in whole hours — importing as %2$dh."
469 +msgstr ""
470 +
471 +#: includes/class-migration.php:358
472 +#: includes/modules/ObjectCache/ObjectCacheModule.php:104
473 +msgid "Redis password"
474 +msgstr ""
475 +
476 +#: includes/class-migration.php:359
477 +msgid "Database-cache Redis password"
478 +msgstr ""
479 +
480 +#: includes/class-migration.php:360
481 +msgid "Page-cache Redis password"
482 +msgstr ""
483 +
484 +#. translators: %s: human label for the secret that could not be read.
485 +#: includes/class-migration.php:370
486 +#, php-format
487 +msgid "%s is encrypted and could not be read — it will not be imported. Enter it again in xSpeed after importing."
488 +msgstr ""
489 +
490 +#. translators: 1: endpoint scheme, e.g. tls. 2: the endpoint as configured in the source plugin.
491 +#: includes/class-migration.php:398
492 +#, php-format
493 +msgid "Object-cache endpoint %2$s uses %1$s, which xSpeed does not support — importing the host and port only. The cache will connect only if the server also accepts a plain connection."
494 +msgstr ""
495 +
274 496 #: includes/class-module-registry.php:43
275 497 msgid "Module is missing a SLUG constant."
276 498 msgstr ""
277 499
278 -#: includes/class-module-registry.php:212
500 +#: includes/class-module-registry.php:214
279 501 msgid "Circular module dependency detected; boot order is undefined for the offending modules."
280 502 msgstr ""
281 503
504 +#. translators: %s: module slug.
505 +#: includes/class-module.php:193
506 +#: includes/class-module.php:306
507 +#, php-format
508 +msgid "\"%s\" is a Pro module and this site has no valid license, so its settings cannot be changed."
509 +msgstr ""
510 +
511 +#. translators: %s: setting key.
512 +#: includes/class-module.php:210
513 +#: includes/class-settings-manager.php:550
514 +#, php-format
515 +msgid "Unknown setting: %s"
516 +msgstr ""
517 +
518 +#. translators: %s: setting key.
519 +#: includes/class-module.php:225
520 +#, php-format
521 +msgid "\"%s\" is not defined in wp-config.php, so there is nothing to override."
522 +msgstr ""
523 +
524 +#. translators: 1: setting key, 2: module slug.
525 +#: includes/class-module.php:255
526 +#, php-format
527 +msgid "Overrode \"%1$s\" on \"%2$s\" — the wp-config.php value no longer applies."
528 +msgstr ""
529 +
530 +#. translators: 1: setting key, 2: module slug.
531 +#: includes/class-module.php:257
532 +#, php-format
533 +msgid "Reverted \"%1$s\" on \"%2$s\" to the value set in wp-config.php."
534 +msgstr ""
535 +
536 +#. translators: %s: comma-separated list of "field (CONSTANT_NAME)" pairs.
537 +#: includes/class-module.php:349
538 +#, php-format
539 +msgid "These settings are defined in wp-config.php and cannot be changed here: %s. Edit the constant, or remove it to manage the setting from this screen."
540 +msgstr ""
541 +
542 +#: includes/class-module.php:591
543 +msgid "This module has no single on/off switch. It counts as on when any of its settings is on, and none currently is."
544 +msgstr ""
545 +
546 +#. translators: %s: comma-separated list of setting labels that are switched on.
547 +#: includes/class-module.php:596
548 +#, php-format
549 +msgid "This module has no single on/off switch. It counts as on because these settings are on: %s."
550 +msgstr ""
551 +
552 +#. translators: %s: module slug.
553 +#: includes/class-module.php:777
554 +#, php-format
555 +msgid "Refused a settings write to the Pro module \"%s\" — no valid license."
556 +msgstr ""
557 +
558 +#: includes/class-object-cache-takeover.php:189
559 +msgid "There is no other object cache to switch from."
560 +msgstr ""
561 +
562 +#. translators: %s: plugin name.
563 +#: includes/class-object-cache-takeover.php:197
564 +#, php-format
565 +msgid "You do not have permission to turn off %s."
566 +msgstr ""
567 +
568 +#. translators: %s: connection error.
569 +#: includes/class-object-cache-takeover.php:206
570 +#, php-format
571 +msgid "Could not switch: %s"
572 +msgstr ""
573 +
574 +#: includes/class-object-cache-takeover.php:213
575 +msgid "Could not back up the current object-cache.php, so nothing was changed."
576 +msgstr ""
577 +
578 +#. translators: %s: plugin name.
579 +#: includes/class-object-cache-takeover.php:232
580 +#, php-format
581 +msgid "Could not turn off %s, so nothing was changed."
582 +msgstr ""
583 +
584 +#. translators: %s: plugin name.
585 +#: includes/class-object-cache-takeover.php:234
586 +#, php-format
587 +msgid "Could not turn off %s."
588 +msgstr ""
589 +
590 +#: includes/class-object-cache-takeover.php:247
591 +msgid "Could not remove the old object-cache.php, so the switch was undone."
592 +msgstr ""
593 +
594 +#: includes/class-object-cache-takeover.php:248
595 +msgid "Could not remove the old object-cache.php."
596 +msgstr ""
597 +
598 +#: includes/class-object-cache-takeover.php:270
599 +msgid "xSpeed could not take over the object cache, so the previous setup was put back."
600 +msgstr ""
601 +
602 +#: includes/class-object-cache-takeover.php:271
603 +msgid "xSpeed could not take over the object cache."
604 +msgstr ""
605 +
606 +#. translators: %s: plugin name or file name.
607 +#: includes/class-object-cache-takeover.php:306
608 +#, php-format
609 +msgid "Replaced the object-cache.php left by %s (a copy is in uploads/xspeed-backups/). xSpeed now handles object caching."
610 +msgstr ""
611 +
612 +#. translators: %s: plugin name.
613 +#: includes/class-object-cache-takeover.php:311
614 +#, php-format
615 +msgid "Object caching switched from %s to xSpeed. Disable can put it back."
616 +msgstr ""
617 +
618 +#: includes/class-object-cache-takeover.php:332
619 +msgid "There is no previous object cache to restore."
620 +msgstr ""
621 +
622 +#. translators: %s: plugin name.
623 +#: includes/class-object-cache-takeover.php:344
624 +#, php-format
625 +msgid "%s is handling object caching again."
626 +msgstr ""
627 +
628 +#. translators: %s: plugin name or file name.
629 +#: includes/class-object-cache-takeover.php:383
630 +#, php-format
631 +msgid "wp-content/object-cache.php was left by %s, which is not active. Switch to xSpeed to replace it (a copy is kept in uploads/xspeed-backups/)."
632 +msgstr ""
633 +
634 +#. translators: %s: plugin name.
635 +#: includes/class-object-cache-takeover.php:389
636 +#, php-format
637 +msgid "%s handles object caching on this site. Switch to xSpeed to take it over; Disable can put it back later."
638 +msgstr ""
639 +
640 +#. translators: %s: hosting platform name.
641 +#: includes/class-object-cache-takeover.php:524
642 +#, php-format
643 +msgid "%s manages the object cache on this site and would put its own back. Turn it off in your hosting dashboard if you want xSpeed to handle it."
644 +msgstr ""
645 +
646 +#. translators: %s: plugin name.
647 +#: includes/class-object-cache-takeover.php:539
648 +#, php-format
649 +msgid "Turn off the object cache in %s first, then enable it here."
650 +msgstr ""
651 +
652 +#. translators: %s: must-use plugin file name.
653 +#: includes/class-object-cache-takeover.php:549
654 +#, php-format
655 +msgid "The must-use plugin %s manages object-cache.php and would put it back. Ask your host before switching."
656 +msgstr ""
657 +
658 +#: includes/class-object-cache-takeover.php:570
659 +msgid "Test the connection to your cache server. Nothing changes if it fails."
660 +msgstr ""
661 +
662 +#: includes/class-object-cache-takeover.php:571
663 +msgid "Back up the current object-cache.php to wp-content/uploads/xspeed-backups/."
664 +msgstr ""
665 +
666 +#. translators: %s: plugin name.
667 +#: includes/class-object-cache-takeover.php:575
668 +#, php-format
669 +msgid "Deactivate %s. It removes its own object-cache.php as it goes."
670 +msgstr ""
671 +
672 +#. translators: %s: plugin name.
673 +#: includes/class-object-cache-takeover.php:578
674 +#, php-format
675 +msgid "Turn off Object Cache in %s. Its other features keep running."
676 +msgstr ""
677 +
678 +#. translators: %s: plugin name or file name.
679 +#: includes/class-object-cache-takeover.php:581
680 +#, php-format
681 +msgid "Remove the object-cache.php left by %s, which is not active."
682 +msgstr ""
683 +
684 +#: includes/class-object-cache-takeover.php:583
685 +msgid "Install xSpeed's object cache and check it is in place."
686 +msgstr ""
687 +
688 +#: includes/class-object-cache-takeover.php:584
689 +msgid "If any step fails, put everything back as it was."
690 +msgstr ""
691 +
692 +#. translators: %s: plugin name.
693 +#: includes/class-object-cache-takeover.php:1018
694 +#, php-format
695 +msgid "%s could not be turned back on (is it still installed?), so its object-cache.php was not put back. WordPress is using its built-in cache."
696 +msgstr ""
697 +
698 +#. translators: %s: plugin name.
699 +#: includes/class-object-cache-takeover.php:1025
700 +#, php-format
701 +msgid "%s is on again, but its object-cache.php could not be put back (is wp-content writable?), so the site has no object cache. Turn its object cache on again from its settings."
702 +msgstr ""
703 +
704 +#: includes/class-object-cache-takeover.php:1029
705 +msgid "xSpeed's object-cache.php could not be removed, so the previous plugin was not put back. Check that wp-content is writable."
706 +msgstr ""
707 +
282 708 #. translators: %s: brand name (xSpeed by default, or the white-label name).
283 709 #: includes/class-onboarding.php:56
284 710 #, php-format
285 711 msgid "%s Setup Wizard"
@@ -288,128 +714,541 @@
288 714 #: includes/class-onboarding.php:60
289 715 msgid "Setup Wizard"
290 716 msgstr ""
291 717
292 -#: includes/class-recommendations.php:47
718 +#. translators: %d: measured saving in milliseconds.
719 +#: includes/class-optimize-diagnosis.php:135
720 +#, php-format
721 +msgid "%dms available"
722 +msgstr ""
723 +
724 +#. translators: 1: measured saving, 2: setting name.
725 +#: includes/class-optimize-diagnosis.php:154
726 +#, php-format
727 +msgid "The last audit measured %1$s here; the %2$s setting addresses it and is currently off."
728 +msgstr ""
729 +
730 +#. translators: %s: setting name.
731 +#: includes/class-optimize-diagnosis.php:160
732 +#, php-format
733 +msgid "The last audit flagged this; the %s setting addresses it and is currently off."
734 +msgstr ""
735 +
736 +#: includes/class-optimize-diagnosis.php:169
737 +msgid "Measured by the last audit. This is page content or a third-party asset — no caching setting reaches it."
738 +msgstr ""
739 +
740 +#: includes/class-optimize-diagnosis.php:507
741 +msgid "May change how the page renders. It is verified after applying and undone if the page breaks."
742 +msgstr ""
743 +
744 +#: includes/class-optimize-diagnosis.php:524
745 +msgid "Scripts do not run until the visitor interacts. Sliders, counters and anything that animates on load may sit still until first touch, and a script that expects to run immediately can misbehave."
746 +msgstr ""
747 +
748 +#: includes/class-optimize-diagnosis.php:525
749 +msgid "Stylesheets load without blocking the first paint only on pages that have critical CSS; elsewhere only font stylesheets change. Where it applies, styling moves to after first paint, which can INCREASE layout shift on a page that already shifts."
750 +msgstr ""
751 +
752 +#: includes/class-optimize-diagnosis.php:526
753 +msgid "Older themes and plugins still depend on it. Removing it broke a real page with \"jQuery.Deferred exception: e.indexOf is not a function\" — an error the page-level check cannot see, because the HTML arrives intact and only the browser notices."
754 +msgstr ""
755 +
756 +#: includes/class-optimize-diagnosis.php:605
757 +msgid "Largest Contentful Paint"
758 +msgstr ""
759 +
760 +#: includes/class-optimize-diagnosis.php:606
761 +msgid "Cumulative Layout Shift"
762 +msgstr ""
763 +
764 +#: includes/class-optimize-diagnosis.php:607
765 +msgid "Total Blocking Time"
766 +msgstr ""
767 +
768 +#: includes/class-optimize-diagnosis.php:622
769 +msgid "The biggest thing on screen takes too long to appear. Usually a large hero image or video, or a font that blocks text. Caching does not shrink it — the file itself has to get smaller or load sooner."
770 +msgstr ""
771 +
772 +#: includes/class-optimize-diagnosis.php:624
773 +msgid "The page moves while it loads. Almost always images without width and height, or content injected above what is already visible. xSpeed fills in missing dimensions — including for images hosted on other domains, which it measures during a cache warm — so what is usually left here is content that appears above existing content: an embed, a banner, or a script that inserts markup after first paint."
774 +msgstr ""
775 +
776 +#: includes/class-optimize-diagnosis.php:626
777 +msgid "Scripts hold the main thread so the page cannot respond. Fewer or smaller scripts is the only real fix; delaying them (aggressive mode) moves the work rather than removing it."
778 +msgstr ""
779 +
780 +#. translators: 1: tier name, 2: current aggressiveness
781 +#: includes/class-optimize-plan.php:337
782 +#, php-format
783 +msgid "Needs %1$s aggressiveness (run is %2$s)."
784 +msgstr ""
785 +
786 +#: includes/class-optimize-plan.php:349
787 +msgid "Already enabled."
788 +msgstr ""
789 +
790 +#: includes/class-optimize-runner.php:135
791 +msgid "measure_score must be auto, never or always."
792 +msgstr ""
793 +
794 +#: includes/class-optimize-runner.php:143
795 +msgid "Aggressiveness must be safe, standard or aggressive."
796 +msgstr ""
797 +
798 +#: includes/class-optimize-runner.php:185
799 +msgid "A target score was requested, but this was a preview — no changes were applied and the target was not chased."
800 +msgstr ""
801 +
802 +#. translators: %s: the underlying error
803 +#: includes/class-optimize-runner.php:238
804 +#, php-format
805 +msgid "Could not load the site to take a baseline, so no changes were made: %s"
806 +msgstr ""
807 +
808 +#: includes/class-optimize-runner.php:331
809 +msgid "Changes were applied and the HTML checks passed, which does not prove the page works in a browser — those checks cannot run JavaScript. Open these URLs and confirm each renders correctly with no console errors. If you cannot open them, tell the user to check them and what a problem would look like."
810 +msgstr ""
811 +
812 +#: includes/class-optimize-runner.php:418
813 +msgid "A target score was requested, but no iterative tuner is installed, so this was a single pass and the target was not chased."
814 +msgstr ""
815 +
816 +#. translators: %d: number of settings changed
817 +#: includes/class-optimize-runner.php:601
818 +#, php-format
819 +msgid "Applied %d change."
820 +msgid_plural "Applied %d changes."
821 +msgstr[0] ""
822 +msgstr[1] ""
823 +
824 +#. translators: %d: number of changes a real run would make
825 +#: includes/class-optimize-runner.php:614
826 +#, php-format
827 +msgid "Preview only — %d change would be applied."
828 +msgid_plural "Preview only — %d changes would be applied."
829 +msgstr[0] ""
830 +msgstr[1] ""
831 +
832 +#: includes/class-optimize-runner.php:623
833 +msgid "Everything that can be turned on safely is already on."
834 +msgstr ""
835 +
836 +#: includes/class-optimize-runner.php:634
837 +msgid "date unknown"
838 +msgstr ""
839 +
840 +#: includes/class-optimize-runner.php:636
841 +msgid "measured just now"
842 +msgstr ""
843 +
844 +#. translators: %s: human-readable duration, e.g. "2 hours"
845 +#: includes/class-optimize-runner.php:640
846 +#, php-format
847 +msgid "measured %s ago"
848 +msgstr ""
849 +
850 +#. translators: 1: performance score, 2: when it was measured
851 +#: includes/class-optimize-runner.php:647
852 +#, php-format
853 +msgid "Score: %1$d (%2$s)."
854 +msgstr ""
855 +
856 +#. translators: %d: number of riskier settings available
857 +#: includes/class-optimize-runner.php:656
858 +#, php-format
859 +msgid "%d further setting could help, but can break some sites — ask before enabling it."
860 +msgid_plural "%d further settings could help, but can break some sites — ask before enabling them."
861 +msgstr[0] ""
862 +msgstr[1] ""
863 +
864 +#. translators: %d: number of problems only the user can fix
865 +#: includes/class-optimize-runner.php:669
866 +#, php-format
867 +msgid "%d problem is outside what caching can reach."
868 +msgid_plural "%d problems are outside what caching can reach."
869 +msgstr[0] ""
870 +msgstr[1] ""
871 +
872 +#: includes/class-optimize-runner.php:749
873 +msgid "xSpeed would not change the page cache on this site."
874 +msgstr ""
875 +
876 +#: includes/class-optimize-verifier.php:71
877 +msgid "A URL is required."
878 +msgstr ""
879 +
880 +#. translators: %d: HTTP status code
881 +#: includes/class-optimize-verifier.php:158
882 +#, php-format
883 +msgid "The page returned HTTP %d."
884 +msgstr ""
885 +
886 +#: includes/class-optimize-verifier.php:169
887 +msgid "The page stopped part-way through — no closing </body>, which usually means a PHP fatal."
888 +msgstr ""
889 +
890 +#. translators: 1: before size in bytes, 2: after size in bytes
891 +#: includes/class-optimize-verifier.php:179
892 +#, php-format
893 +msgid "The page size changed from %1$d to %2$d bytes — too far to be optimization."
894 +msgstr ""
895 +
896 +#: includes/class-optimize-verifier.php:189
897 +msgid "Every stylesheet disappeared — the page would render unstyled."
898 +msgstr ""
899 +
900 +#: includes/class-optimize-verifier.php:192
901 +msgid "Every script disappeared."
902 +msgstr ""
903 +
904 +#: includes/class-optimize-verifier.php:197
905 +msgid "The page title changed — this may be an error page rather than the site."
906 +msgstr ""
907 +
908 +#: includes/class-optimizer.php:101
909 +msgid "Ran out of time before this step."
910 +msgstr ""
911 +
912 +#: includes/class-optimizer.php:146
913 +msgid "Could not load the page to check it, so the change was undone."
914 +msgstr ""
915 +
916 +#. translators: 1: median render time before, 2: after, 3: percent change.
917 +#: includes/class-optimizer.php:177
918 +#, php-format
919 +msgid "The page got measurably slower: median render time %1$dms before, %2$dms after (+%3$d%%), beyond what run-to-run noise explains. The change was undone."
920 +msgstr ""
921 +
922 +#. translators: 1: number of URLs, 2: the sitemap failure detail.
923 +#: includes/class-preloader.php:383
924 +#, php-format
925 +msgid "Preloader queued %1$d URLs from the site content — %2$s"
926 +msgstr ""
927 +
928 +#. translators: %s: the sitemap failure detail.
929 +#: includes/class-preloader.php:391
930 +#, php-format
931 +msgid "Preloader could not start — %s"
932 +msgstr ""
933 +
934 +#. translators: 1: number of URLs, 2: plural suffix.
935 +#: includes/class-preloader.php:398
936 +#, php-format
937 +msgid "Preloader queued %1$d URL%2$s for warming."
938 +msgstr ""
939 +
940 +#. translators: 1: sitemap URL, 2: error detail.
941 +#: includes/class-preloader.php:845
942 +#, php-format
943 +msgid "Could not fetch the sitemap at %1$s — %2$s"
944 +msgstr ""
945 +
946 +#. translators: 1: sitemap URL, 2: HTTP status code.
947 +#: includes/class-preloader.php:858
948 +#, php-format
949 +msgid "Could not fetch the sitemap at %1$s — the server returned HTTP %2$d."
950 +msgstr ""
951 +
952 +#. translators: %s: cache store name, e.g. "Cloudflare edge".
953 +#: includes/class-purge-runner.php:147
954 +#, php-format
955 +msgid "%s is not enabled"
956 +msgstr ""
957 +
958 +#: includes/class-purge-runner.php:162
959 +#: assets/admin.js
960 +msgid "the purge was refused"
961 +msgstr ""
962 +
963 +#: includes/class-purge-runner.php:248
964 +msgid "Page cache (HTML, static, REST)"
965 +msgstr ""
966 +
967 +#: includes/class-purge-runner.php:259
968 +msgid "Object cache"
969 +msgstr ""
970 +
971 +#: includes/class-purge-runner.php:265
972 +msgid "Cloudflare edge"
973 +msgstr ""
974 +
975 +#: includes/class-purge-runner.php:277
976 +msgid "Cloudflare Enterprise (xCloud)"
977 +msgstr ""
978 +
979 +#: includes/class-purge-runner.php:285
980 +#: includes/modules/Cdn/CdnModule.php:28
981 +#: includes/modules/Migration/MigrationModule.php:556
982 +msgid "CDN"
983 +msgstr ""
984 +
985 +#. translators: 1: what asked for the purge, 2: number of files removed.
986 +#: includes/class-purge-runner.php:351
987 +#, php-format
988 +msgid "Cache purged (%1$s) — %2$d file(s) removed"
989 +msgstr ""
990 +
991 +#: includes/class-purge-runner.php:375
992 +msgid "the object cache engine is unavailable"
993 +msgstr ""
994 +
995 +#: includes/class-purge-runner.php:379
996 +msgid "no persistent object cache drop-in is in use"
997 +msgstr ""
998 +
999 +#: includes/class-purge-runner.php:382
1000 +msgid "the drop-in is installed but is not persisting anything"
1001 +msgstr ""
1002 +
1003 +#. translators: %s: what asked for the purge.
1004 +#: includes/class-purge-runner.php:404
1005 +#, php-format
1006 +msgid "Purged object cache (%s)"
1007 +msgstr ""
1008 +
1009 +#: includes/class-purge-runner.php:414
1010 +msgid "the backend refused the flush"
1011 +msgstr ""
1012 +
1013 +#: includes/class-purge-runner.php:426
1014 +msgid "the Cloudflare module is not available"
1015 +msgstr ""
1016 +
1017 +#: includes/class-purge-runner.php:450
1018 +msgid "no CDN with a purge API is configured — xSpeed's CDN module rewrites asset URLs and holds no cache of its own"
1019 +msgstr ""
1020 +
1021 +#: includes/class-purge-ui.php:263
1022 +msgid "Purge cache"
1023 +msgstr ""
1024 +
1025 +#: includes/class-purge-ui.php:289
1026 +msgid "That URL is not on this site."
1027 +msgstr ""
1028 +
1029 +#: includes/class-purge-ui.php:292
1030 +#: includes/class-purge-ui.php:649
1031 +#: includes/class-purge-ui.php:665
1032 +msgid "admin"
1033 +msgstr ""
1034 +
1035 +#. translators: 1: URL path of the post, 2: number of pages that list it, 3: number of files removed.
1036 +#: includes/class-purge-ui.php:416
1037 +#, php-format
1038 +msgid "xSpeed: %1$s is listed on %2$d pages, too many to clear one by one, so the whole site cache was cleared (%3$d file)."
1039 +msgid_plural "xSpeed: %1$s is listed on %2$d pages, too many to clear one by one, so the whole site cache was cleared (%3$d files)."
1040 +msgstr[0] ""
1041 +msgstr[1] ""
1042 +
1043 +#. translators: 1: URL path of the post, 2: number of OTHER pages also cleared.
1044 +#: includes/class-purge-ui.php:434
1045 +#, php-format
1046 +msgid "%1$s and %2$d page that lists it"
1047 +msgid_plural "%1$s and %2$d pages that list it"
1048 +msgstr[0] ""
1049 +msgstr[1] ""
1050 +
1051 +#. translators: 1: what was purged, 2: caches in front of the site, comma-separated.
1052 +#: includes/class-purge-ui.php:449
1053 +#, php-format
1054 +msgid "xSpeed: sent the purge for %1$s to %2$s. xSpeed's own cache held no copy."
1055 +msgstr ""
1056 +
1057 +#. translators: %s: what was purged.
1058 +#: includes/class-purge-ui.php:458
1059 +#, php-format
1060 +msgid "xSpeed: %s was not cached, so there was nothing to clear."
1061 +msgstr ""
1062 +
1063 +#. translators: 1: what was purged, 2: number of files removed.
1064 +#: includes/class-purge-ui.php:465
1065 +#, php-format
1066 +msgid "xSpeed: cleared the cache for %1$s (%2$d file)."
1067 +msgid_plural "xSpeed: cleared the cache for %1$s (%2$d files)."
1068 +msgstr[0] ""
1069 +msgstr[1] ""
1070 +
1071 +#: includes/class-purge-ui.php:547
1072 +msgid "cleared"
1073 +msgstr ""
1074 +
1075 +#: includes/class-purge-ui.php:548
1076 +msgid "was not cached"
1077 +msgstr ""
1078 +
1079 +#: includes/class-purge-ui.php:583
1080 +msgid "Purge this post"
1081 +msgstr ""
1082 +
1083 +#: includes/class-purge-ui.php:593
1084 +msgid "Purge this URL"
1085 +msgstr ""
1086 +
1087 +#: includes/class-purge-ui.php:689
1088 +msgid "That post does not exist."
1089 +msgstr ""
1090 +
1091 +#: includes/class-recommendations.php:61
293 1092 msgid "Enable page caching"
294 1093 msgstr ""
295 1094
296 -#: includes/class-recommendations.php:48
1095 +#: includes/class-recommendations.php:62
297 1096 msgid "Caching is off, so every visit renders the full page. Turning it on is the single biggest speed win."
298 1097 msgstr ""
299 1098
300 -#: includes/class-recommendations.php:58
1099 +#: includes/class-recommendations.php:72
301 1100 msgid "Go to Cache settings"
302 1101 msgstr ""
303 1102
304 -#: includes/class-recommendations.php:74
1103 +#: includes/class-recommendations.php:88
305 1104 msgid "Raise Cache Expiry to match your preload schedule"
306 1105 msgstr ""
307 1106
308 1107 #. translators: 1: current expiry hours, 2: preload interval hours.
309 -#: includes/class-recommendations.php:77
1108 +#: includes/class-recommendations.php:91
310 1109 #, php-format
311 1110 msgid "Pages expire after %1$dh but the preloader only re-warms them every %2$dh — most visits hit a cold cache."
312 1111 msgstr ""
313 1112
314 1113 #. translators: %d: recommended expiry in hours.
315 -#: includes/class-recommendations.php:87
1114 +#: includes/class-recommendations.php:101
316 1115 #, php-format
317 1116 msgid "Raise expiry to %dh"
318 1117 msgstr ""
319 1118
320 -#: includes/class-recommendations.php:99
1119 +#: includes/class-recommendations.php:113
321 1120 msgid "A plugin"
322 1121 msgstr ""
323 1122
324 -#: includes/class-recommendations.php:103
1123 +#: includes/class-recommendations.php:117
325 1124 msgid "A plugin is blocking CDN edge caching"
326 1125 msgstr ""
327 1126
328 1127 #. translators: 1: plugin name, 2: cookie name.
329 -#: includes/class-recommendations.php:106
1128 +#: includes/class-recommendations.php:120
330 1129 #, php-format
331 1130 msgid "%1$s sets the \"%2$s\" cookie on anonymous pages, which makes CDNs skip their edge cache for all HTML."
332 1131 msgstr ""
333 1132
334 -#: includes/class-recommendations.php:114
1133 +#: includes/class-recommendations.php:128
335 1134 msgid "See details in Health"
336 1135 msgstr ""
337 1136
338 -#: includes/class-recommendations.php:124
1137 +#: includes/class-recommendations.php:138
339 1138 msgid "Apply the nginx server snippet"
340 1139 msgstr ""
341 1140
342 -#: includes/class-recommendations.php:125
1141 +#: includes/class-recommendations.php:139
343 1142 msgid "nginx can serve cache hits directly (~5-15ms TTFB, PHP bypassed) once the snippet is in your server block."
344 1143 msgstr ""
345 1144
346 -#: includes/class-recommendations.php:128
1145 +#: includes/class-recommendations.php:142
347 1146 msgid "Get the snippet"
348 1147 msgstr ""
349 1148
350 -#: includes/class-recommendations.php:138
1149 +#: includes/class-recommendations.php:152
351 1150 msgid "Turn on the preloader"
352 1151 msgstr ""
353 1152
354 1153 #. translators: %d: hit ratio percent.
355 -#: includes/class-recommendations.php:141
1154 +#: includes/class-recommendations.php:155
356 1155 #, php-format
357 1156 msgid "Your hit ratio is %d%% — most visitors hit a cold cache. The preloader crawls your sitemap so pages are warm before anyone asks."
358 1157 msgstr ""
359 1158
360 -#: includes/class-recommendations.php:148
1159 +#: includes/class-recommendations.php:162
1160 +#: includes/modules/Preloader/PreloaderModule.php:78
361 1161 msgid "Enable preloader"
362 1162 msgstr ""
363 1163
364 -#: includes/class-recommendations.php:158
1164 +#: includes/class-recommendations.php:172
365 1165 msgid "Object cache is configured but not persisting"
366 1166 msgstr ""
367 1167
368 -#: includes/class-recommendations.php:159
1168 +#: includes/class-recommendations.php:173
369 1169 msgid "The backend is not connected, so every request falls back to the database. Run the connection test to see why."
370 1170 msgstr ""
371 1171
372 -#: includes/class-recommendations.php:162
1172 +#: includes/class-recommendations.php:176
373 1173 msgid "Test the connection"
374 1174 msgstr ""
375 1175
376 -#: includes/class-recommendations.php:173
1176 +#: includes/class-recommendations.php:187
377 1177 msgid "Finish connecting Cloudflare"
378 1178 msgstr ""
379 1179
380 -#: includes/class-recommendations.php:174
1180 +#: includes/class-recommendations.php:188
381 1181 msgid "The Cloudflare module is on but has no verified credentials or zone, so edge purges cannot work."
382 1182 msgstr ""
383 1183
384 -#: includes/class-recommendations.php:177
1184 +#: includes/class-recommendations.php:191
385 1185 msgid "Open Cloudflare settings"
386 1186 msgstr ""
387 1187
388 -#: includes/class-recommendations.php:251
1188 +#: includes/class-recommendations.php:419
389 1189 msgid "This recommendation links to a settings screen; it has no one-click fix."
390 1190 msgstr ""
391 1191
392 -#: includes/class-recommendations.php:263
1192 +#: includes/class-recommendations.php:452
393 1193 msgid "Unknown or no-longer-applicable recommendation."
394 1194 msgstr ""
395 1195
396 -#: includes/class-rest-api.php:352
1196 +#: includes/class-rest-api.php:382
397 1197 msgid "The id argument is required."
398 1198 msgstr ""
399 1199
400 -#: includes/class-rest-api.php:463
1200 +#: includes/class-rest-api.php:515
401 1201 msgid "dashboard"
402 1202 msgstr ""
403 1203
404 -#: includes/class-rest-manager.php:74
1204 +#: includes/class-rest-api.php:619
1205 +msgid "That is not a rules marker this site could have generated."
1206 +msgstr ""
1207 +
1208 +#: includes/class-rest-manager.php:83
405 1209 msgid "No route was found matching the URL and request method."
406 1210 msgstr ""
407 1211
408 -#: includes/class-rest-manager.php:136
1212 +#: includes/class-rest-manager.php:145
409 1213 msgid "The request could not be completed due to a server error."
410 1214 msgstr ""
411 1215
1216 +#: includes/class-scan.php:142
1217 +msgid "That does not look like a public URL the scanner can reach."
1218 +msgstr ""
1219 +
1220 +#: includes/class-scan.php:153
1221 +msgid "A scan is already running for this site."
1222 +msgstr ""
1223 +
1224 +#: includes/class-scan.php:193
1225 +msgid "The scanner is rate limited right now. Try again in a few minutes."
1226 +msgstr ""
1227 +
1228 +#: includes/class-scan.php:205
1229 +#: assets/admin.js
1230 +msgid "The scan could not be started."
1231 +msgstr ""
1232 +
1233 +#: includes/class-scan.php:241
1234 +msgid "That is not a valid scan id."
1235 +msgstr ""
1236 +
1237 +#: includes/class-scan.php:271
1238 +msgid "The scan did not complete."
1239 +msgstr ""
1240 +
1241 +#. translators: %s: transport error message.
1242 +#: includes/class-scan.php:501
1243 +#, php-format
1244 +msgid "Could not reach the scanner: %s"
1245 +msgstr ""
1246 +
1247 +#: includes/class-scan.php:511
1248 +msgid "The scanner returned an unreadable response."
1249 +msgstr ""
1250 +
412 1251 #. translators: %d: HTTP status code.
413 1252 #: includes/class-score.php:194
414 1253 #, php-format
415 1254 msgid "PageSpeed Insights returned HTTP %d."
@@ -414,296 +1253,1312 @@
414 1253 #, php-format
415 1254 msgid "PageSpeed Insights returned HTTP %d."
416 1255 msgstr ""
417 1256
418 -#: includes/class-score.php:263
1257 +#: includes/class-score.php:203
1258 +msgid "Google's shared anonymous PageSpeed quota is exhausted right now — this is not a problem with your site. Add a free PageSpeed API key in the Speed Test settings, or connect this site to xSpeed Hub to run tests through it."
1259 +msgstr ""
1260 +
1261 +#: includes/class-score.php:272
419 1262 msgid "GTmetrix reported the test failed."
420 1263 msgstr ""
421 1264
422 -#: includes/class-score.php:321
1265 +#: includes/class-score.php:330
423 1266 msgid "GTmetrix requires an API key — there is no anonymous mode. Add one in the Score settings."
424 1267 msgstr ""
425 1268
426 1269 #. translators: %d: HTTP status code.
427 -#: includes/class-score.php:350
1270 +#: includes/class-score.php:359
428 1271 #, php-format
429 1272 msgid "GTmetrix returned HTTP %d. Check the API key."
430 1273 msgstr ""
431 1274
432 -#: includes/class-score.php:403
1275 +#: includes/class-score.php:412
433 1276 msgid "GTmetrix returned an unreadable response."
434 1277 msgstr ""
435 1278
1279 +#. translators: %d: most URLs purged one by one.
1280 +#: includes/class-server-caches.php:574
1281 +#, php-format
1282 +msgid "Cleared the whole nginx cache: more than %d pages changed in one request, too many to purge one by one"
1283 +msgstr ""
1284 +
1285 +#: includes/class-server.php:746
1286 +msgid "an unreadable advanced-cache.php"
1287 +msgstr ""
1288 +
1289 +#: includes/class-server.php:756
1290 +msgid "an unidentified advanced-cache.php"
1291 +msgstr ""
1292 +
1293 +#. translators: %s: setting key.
1294 +#: includes/class-settings-manager.php:563
1295 +#, php-format
1296 +msgid "\"%s\" is not set in wp-config.php by your host, so there is nothing to revert to. Set it to the value you want instead."
1297 +msgstr ""
1298 +
436 1299 #. translators: %s: video title.
437 1300 #: includes/class-video-facade.php:150
1301 +#: includes/class-video-facade.php:196
438 1302 #, php-format
439 1303 msgid "Play video: %s"
440 1304 msgstr ""
441 1305
442 1306 #: includes/class-video-facade.php:153
1307 +#: includes/class-video-facade.php:199
1308 +#: includes/class-video-facade.php:309
443 1309 msgid "Play video"
444 1310 msgstr ""
445 1311
446 -#: includes/modules/Bloat/BloatModule.php:161
1312 +#: includes/modules/AIPrivacy/AIPrivacyModule.php:49
1313 +msgid "AI Privacy"
1314 +msgstr ""
1315 +
1316 +#: includes/modules/AIPrivacy/AIPrivacyModule.php:51
1317 +msgid "Choose whether AI features may use visitor data, with or without Pro."
1318 +msgstr ""
1319 +
1320 +#: includes/modules/AIPrivacy/AIPrivacyModule.php:71
1321 +msgid "Ask visitors for consent"
1322 +msgstr ""
1323 +
1324 +#: includes/modules/AIPrivacy/AIPrivacyModule.php:72
1325 +msgid "When on, AI features only record a visitor's data after they accept the consent banner. Turn it off only where the law does not require consent, as GDPR does."
1326 +msgstr ""
1327 +
1328 +#: includes/modules/AIPrivacy/AIPrivacyModule.php:77
1329 +msgid "Consent banner text"
1330 +msgstr ""
1331 +
1332 +#: includes/modules/AIPrivacy/AIPrivacyModule.php:78
1333 +msgid "The text of the consent banner. Say plainly what you collect, such as page visits and speed data, and why."
1334 +msgstr ""
1335 +
1336 +#: includes/modules/Bloat/BloatModule.php:38
1337 +msgid "Bloat Control"
1338 +msgstr ""
1339 +
1340 +#: includes/modules/Bloat/BloatModule.php:40
1341 +msgid "Turns off WordPress features you do not use, so pages load less."
1342 +msgstr ""
1343 +
1344 +#: includes/modules/Bloat/BloatModule.php:50
1345 +msgid "Disable emojis"
1346 +msgstr ""
1347 +
1348 +#: includes/modules/Bloat/BloatModule.php:51
1349 +msgid "Remove the emoji detection script and its inline styles from every page. Modern browsers draw emojis natively, so visitors still see them. Saves a script and an inline stylesheet per page."
1350 +msgstr ""
1351 +
1352 +#: includes/modules/Bloat/BloatModule.php:56
1353 +msgid "Remove Dashicons for visitors"
1354 +msgstr ""
1355 +
1356 +#: includes/modules/Bloat/BloatModule.php:57
1357 +msgid "Removes the WordPress admin icon font for logged-out visitors. Most themes do not use it, and it saves about 45 KB."
1358 +msgstr ""
1359 +
1360 +#: includes/modules/Bloat/BloatModule.php:62
1361 +msgid "Disable auto-embeds"
1362 +msgstr ""
1363 +
1364 +#: includes/modules/Bloat/BloatModule.php:63
1365 +msgid "Removes the embed script, saving one request per page. A pasted YouTube link no longer turns into a player, so use an embed block."
1366 +msgstr ""
1367 +
1368 +#: includes/modules/Bloat/BloatModule.php:68
1369 +msgid "Disable RSS feeds"
1370 +msgstr ""
1371 +
1372 +#: includes/modules/Bloat/BloatModule.php:69
1373 +msgid "Feed addresses such as /feed/ return \"not found\". Use this if your site has no feed readers."
1374 +msgstr ""
1375 +
1376 +#: includes/modules/Bloat/BloatModule.php:74
1377 +msgid "Disable XML-RPC"
1378 +msgstr ""
1379 +
1380 +#: includes/modules/Bloat/BloatModule.php:75
1381 +msgid "Turns off the old xmlrpc.php file that attackers often target. Leave this off if you use Jetpack or the WordPress mobile app."
1382 +msgstr ""
1383 +
1384 +#: includes/modules/Bloat/BloatModule.php:80
1385 +msgid "Remove jQuery Migrate"
1386 +msgstr ""
1387 +
1388 +#: includes/modules/Bloat/BloatModule.php:81
1389 +msgid "Removes a script that old themes and plugins need, from pages visitors see. Saves about 10 KB and is safe on current themes."
1390 +msgstr ""
1391 +
1392 +#: includes/modules/Bloat/BloatModule.php:86
1393 +msgid "Remove editor styles for visitors"
1394 +msgstr ""
1395 +
1396 +#: includes/modules/Bloat/BloatModule.php:87
1397 +msgid "Removes block editor CSS that some plugins load on public pages by mistake, which can add hundreds of KB. Block styles for visitors stay."
1398 +msgstr ""
1399 +
1400 +#: includes/modules/Bloat/BloatModule.php:92
1401 +msgid "Remove RSD link"
1402 +msgstr ""
1403 +
1404 +#: includes/modules/Bloat/BloatModule.php:93
1405 +msgid "Drop the Really Simple Discovery link from the page head. Only old desktop blogging clients read it."
1406 +msgstr ""
1407 +
1408 +#: includes/modules/Bloat/BloatModule.php:98
1409 +msgid "Remove shortlink"
1410 +msgstr ""
1411 +
1412 +#: includes/modules/Bloat/BloatModule.php:99
1413 +msgid "Drop the ?p=123 shortlink tag and header from posts and pages. The shortlinks keep working; they are just no longer advertised."
1414 +msgstr ""
1415 +
1416 +#: includes/modules/Bloat/BloatModule.php:104
1417 +msgid "Remove REST API links"
1418 +msgstr ""
1419 +
1420 +#: includes/modules/Bloat/BloatModule.php:105
1421 +msgid "Drop the /wp-json/ discovery link tag and Link header. The REST API itself stays on; to block it, use the setting below."
1422 +msgstr ""
1423 +
1424 +#: includes/modules/Bloat/BloatModule.php:110
1425 +msgid "Hide WordPress version"
1426 +msgstr ""
1427 +
1428 +#: includes/modules/Bloat/BloatModule.php:111
1429 +msgid "Remove the WordPress generator tag from pages and feeds, so it no longer states the WordPress version. Other plugins print their own tags; those stay. Script and style URLs still carry ?ver= numbers."
1430 +msgstr ""
1431 +
1432 +#: includes/modules/Bloat/BloatModule.php:116
1433 +msgid "Disable self-pingbacks"
1434 +msgstr ""
1435 +
1436 +#: includes/modules/Bloat/BloatModule.php:117
1437 +msgid "Stop WordPress from sending a pingback to your own site when a post links to another of your posts. Pingbacks to other sites are not affected."
1438 +msgstr ""
1439 +
1440 +#: includes/modules/Bloat/BloatModule.php:122
1441 +msgid "REST API for logged-in users only"
1442 +msgstr ""
1443 +
1444 +#: includes/modules/Bloat/BloatModule.php:123
1445 +msgid "Blocks /wp-json/ for logged-out visitors. This breaks WooCommerce checkout and many contact forms, so keep it off unless you are sure."
1446 +msgstr ""
1447 +
1448 +#: includes/modules/Bloat/BloatModule.php:393
447 1449 msgid "Feeds are disabled."
448 1450 msgstr ""
449 1451
450 -#: includes/modules/Bloat/BloatModule.php:207
1452 +#: includes/modules/Bloat/BloatModule.php:450
451 1453 msgid "Anonymous REST access is disabled on this site."
452 1454 msgstr ""
453 1455
454 -#: includes/modules/BrowserCache/BrowserCacheModule.php:115
455 -msgid "nginx server config required"
1456 +#: includes/modules/BrowserCache/BrowserCacheModule.php:32
1457 +#: includes/modules/Migration/MigrationModule.php:552
1458 +msgid "Browser Cache"
456 1459 msgstr ""
457 1460
458 -#: includes/modules/BrowserCache/BrowserCacheModule.php:116
459 -msgid "Browser-cache headers need to live in your nginx config. Your updated settings are included in the unified server-block snippet on the Cache panel — copy + paste it once into your nginx vhost (or container nginx config), and reload nginx."
1461 +#: includes/modules/BrowserCache/BrowserCacheModule.php:34
1462 +msgid "Tells browsers and CDNs how long to keep your files and pages."
460 1463 msgstr ""
461 1464
462 -#: includes/modules/BrowserCache/BrowserCacheModule.php:120
1465 +#: includes/modules/BrowserCache/BrowserCacheModule.php:44
1466 +msgid "Enable browser cache headers"
1467 +msgstr ""
1468 +
1469 +#: includes/modules/BrowserCache/BrowserCacheModule.php:45
1470 +msgid "On Apache and LiteSpeed, xSpeed adds the rules to .htaccess for you. On nginx, you copy the snippet into your server config."
1471 +msgstr ""
1472 +
1473 +#: includes/modules/BrowserCache/BrowserCacheModule.php:52
1474 +msgid "File lifetime (seconds)"
1475 +msgstr ""
1476 +
1477 +#: includes/modules/BrowserCache/BrowserCacheModule.php:54
1478 +msgid "How long browsers keep CSS, JS, fonts and images. The default is 1 year, which suits files that change name when they change."
1479 +msgstr ""
1480 +
1481 +#: includes/modules/BrowserCache/BrowserCacheModule.php:62
1482 +msgid "Page lifetime (seconds)"
1483 +msgstr ""
1484 +
1485 +#: includes/modules/BrowserCache/BrowserCacheModule.php:64
1486 +msgid "How long browsers keep the page itself. Keep it short (default 1 hour) so visitors see your edits the same day."
1487 +msgstr ""
1488 +
1489 +#: includes/modules/BrowserCache/BrowserCacheModule.php:128
1490 +msgid "Browser cache is enabled but not active on the server"
1491 +msgstr ""
1492 +
1493 +#: includes/modules/BrowserCache/BrowserCacheModule.php:129
1494 +msgid "Browser-cache headers need to live in your nginx config, and the live response shows they are not being sent yet — so this is on in settings but doing nothing. Your settings are included in the unified server-block snippet on the Cache panel: paste it once into your nginx vhost (or container nginx config) and reload nginx."
1495 +msgstr ""
1496 +
1497 +#: includes/modules/BrowserCache/BrowserCacheModule.php:133
1498 +#: includes/modules/Gzip/GzipModule.php:164
463 1499 msgid "Go to the snippet"
464 1500 msgstr ""
465 1501
466 -#: includes/modules/Database/DatabaseModule.php:148
1502 +#: includes/modules/Cache/CacheModule.php:169
1503 +#: includes/modules/Migration/MigrationModule.php:548
1504 +msgid "Page Cache"
1505 +msgstr ""
1506 +
1507 +#: includes/modules/Cache/CacheModule.php:171
1508 +msgid "Saves each page as a file and serves it to logged-out visitors."
1509 +msgstr ""
1510 +
1511 +#: includes/modules/Cache/CacheModule.php:198
1512 +msgid "Cache expiry (hours)"
1513 +msgstr ""
1514 +
1515 +#: includes/modules/Cache/CacheModule.php:200
1516 +msgid "How long a cached page is kept before xSpeed builds it again. 1 to 720 hours (30 days)."
1517 +msgstr ""
1518 +
1519 +#: includes/modules/Cache/CacheModule.php:231
1520 +msgid "Excluded URLs"
1521 +msgstr ""
1522 +
1523 +#: includes/modules/Cache/CacheModule.php:232
1524 +msgid "Pages whose URL matches a line here are never cached. Plain text matches anywhere (/cart). A pattern with * matches from the start of the path: /cart/* matches /cart/items but not /shop/cart/items. ~ starts a regex."
1525 +msgstr ""
1526 +
1527 +#: includes/modules/Cache/CacheModule.php:241
1528 +msgid "Excluded cookies"
1529 +msgstr ""
1530 +
1531 +#: includes/modules/Cache/CacheModule.php:242
1532 +msgid "Visitors with a cookie whose name matches a line here always get a fresh page. One per line; * and ~regex work."
1533 +msgstr ""
1534 +
1535 +#: includes/modules/Cache/CacheModule.php:248
1536 +msgid "Excluded browsers and bots"
1537 +msgstr ""
1538 +
1539 +#: includes/modules/Cache/CacheModule.php:249
1540 +msgid "Visitors whose user agent contains a line here always get a fresh page. Useful for screenshot bots and uptime monitors."
1541 +msgstr ""
1542 +
1543 +#: includes/modules/Cache/CacheModule.php:260
1544 +msgid "Ignored query parameters"
1545 +msgstr ""
1546 +
1547 +#: includes/modules/Cache/CacheModule.php:262
1548 +msgid "URL parameters to ignore, so /post?utm_source=x gets the same cached page as /post. Each line matches a whole parameter name."
1549 +msgstr ""
1550 +
1551 +#: includes/modules/Cache/CacheModule.php:267
1552 +msgid "Clear cache after updates"
1553 +msgstr ""
1554 +
1555 +#: includes/modules/Cache/CacheModule.php:268
1556 +msgid "Clear the page cache when a plugin, theme or WordPress is updated, so visitors never get old pages with broken asset links."
1557 +msgstr ""
1558 +
1559 +#: includes/modules/Cache/CacheModule.php:273
1560 +msgid "Clear only the pages a change affects"
1561 +msgstr ""
1562 +
1563 +#: includes/modules/Cache/CacheModule.php:274
1564 +msgid "When you publish, edit or delete a post, clear that post, the pages that list it and its feeds instead of the whole site. Pages with a post grid from a page builder, a block plugin or the theme are noted as they are built and cleared when the change can affect their list; turn this off if a grid still shows an old list."
1565 +msgstr ""
1566 +
1567 +#: includes/modules/Cache/CacheModule.php:275
1568 +msgid "Which pages are cleared"
1569 +msgstr ""
1570 +
1571 +#: includes/modules/Cache/CacheModule.php:276
1572 +msgid "The post, its old address if it moved, the home page, the blog page, its categories, tags and author pages with every page of each, the date archives, feeds, the posts next to it, pages that show a Latest Posts or Query Loop block, directly or in a synced pattern, and pages noted running a post grid of their own (a page builder, block plugin, related-posts or theme list) that the change can affect. If your theme shows a list that can be on any page, and the change alters it, xSpeed clears the whole site instead: a Recent Posts, Archives or Calendar widget, a post list block, or a latest-posts grid from a page builder or plugin (usually a new post, or an edit to one of the newest few it shows), a page list or menu (a page published, withdrawn, renamed or moved), or a Categories or Tag Cloud list (a post moved to other categories or tags)."
1573 +msgstr ""
1574 +
1575 +#: includes/modules/Cache/CacheModule.php:281
1576 +msgid "Separate mobile cache"
1577 +msgstr ""
1578 +
1579 +#: includes/modules/Cache/CacheModule.php:282
1580 +msgid "Keep a separate cached copy for phones. Turn on only if your theme or plugins show different pages on mobile."
1581 +msgstr ""
1582 +
1583 +#: includes/modules/Cache/CacheModule.php:314
1584 +msgid "CDN or proxy in front"
1585 +msgstr ""
1586 +
1587 +#: includes/modules/Cache/CacheModule.php:315
1588 +msgid "Tells your CDN or proxy not to store pages xSpeed does not cache. Leave on Detect automatically unless you know your provider."
1589 +msgstr ""
1590 +
1591 +#: includes/modules/Cache/CacheModule.php:317
1592 +msgid "Cache in front of this site"
1593 +msgstr ""
1594 +
1595 +#: includes/modules/Cache/CacheModule.php:318
1596 +msgid "Naming your provider narrows the headers to the one it reads. Detect automatically works it out per request and otherwise sends a set every cache ignores unless it understands it, so it is safe not to know. Off stops the edge lifetime and cache tags. When an add-on that manages the edge, such as a Cloudflare Enterprise add-on, is active, the \"don't store\" headers for logged-in, cart and search pages still go out. Run \"wp xspeed cache edge\" to see what was detected and what gets sent."
1597 +msgstr ""
1598 +
1599 +#: includes/modules/Cache/CacheModule.php:324
1600 +msgid "Custom CDN headers"
1601 +msgstr ""
1602 +
1603 +#: includes/modules/Cache/CacheModule.php:327
1604 +msgid "One header per line, as Name: value, for example \"Surrogate-Control: no-store\". Lines starting with # are ignored."
1605 +msgstr ""
1606 +
1607 +#: includes/modules/Cache/CacheModule.php:328
1608 +msgid "Custom edge headers"
1609 +msgstr ""
1610 +
1611 +#: includes/modules/Cache/CacheModule.php:329
1612 +msgid "These replace the headers xSpeed would have picked for your CDN. Two baselines are still added underneath: a Cache-Control, and \"X-Accel-Expires: 0\" for a page cache running in nginx on your own server. Name either one yourself and yours is used instead. Values containing $, % or a backslash are dropped — the same pairs go into nginx and Apache directives, where those cannot be escaped safely. Content-Length, Content-Encoding, Content-Type, Transfer-Encoding, Set-Cookie and Location are refused."
1613 +msgstr ""
1614 +
1615 +#: includes/modules/Cache/CacheModule.php:342
1616 +msgid "LiteSpeed static fast path"
1617 +msgstr ""
1618 +
1619 +#: includes/modules/Cache/CacheModule.php:344
1620 +msgid "LiteSpeed serves cached pages without running PHP, which is faster on slow hosts. These visits are not counted in the dashboard hit ratio."
1621 +msgstr ""
1622 +
1623 +#: includes/modules/CacheCoverage/CacheCoverageModule.php:36
1624 +msgid "Advanced Cache"
1625 +msgstr ""
1626 +
1627 +#: includes/modules/CacheCoverage/CacheCoverageModule.php:38
1628 +msgid "Caches more page types: 404s, search, feeds and the REST API."
1629 +msgstr ""
1630 +
1631 +#: includes/modules/Cdn/CdnModule.php:30
1632 +msgid "Serve images, fonts, CSS and JS from a CDN such as BunnyCDN or KeyCDN."
1633 +msgstr ""
1634 +
1635 +#: includes/modules/Cdn/CdnModule.php:40
1636 +msgid "Enable CDN"
1637 +msgstr ""
1638 +
1639 +#: includes/modules/Cdn/CdnModule.php:41
1640 +msgid "Load static files from the CDN address below. Set up the CDN to pull files from this site first."
1641 +msgstr ""
1642 +
1643 +#: includes/modules/Cdn/CdnModule.php:46
1644 +msgid "CDN URL"
1645 +msgstr ""
1646 +
1647 +#: includes/modules/Cdn/CdnModule.php:47
1648 +msgid "The CDN address, for example cdn.example.com. xSpeed removes https:// and any trailing slash."
1649 +msgstr ""
1650 +
1651 +#: includes/modules/Cdn/CdnModule.php:54
1652 +msgid "File types to serve"
1653 +msgstr ""
1654 +
1655 +#: includes/modules/Cdn/CdnModule.php:55
1656 +msgid "Only files with these extensions load from the CDN. The defaults cover images, fonts, CSS, JS and common media."
1657 +msgstr ""
1658 +
1659 +#: includes/modules/Cdn/CdnModule.php:62
1660 +msgid "Excluded paths"
1661 +msgstr ""
1662 +
1663 +#: includes/modules/Cdn/CdnModule.php:63
1664 +msgid "Files whose path matches a pattern load from your server, not the CDN. Use * as a wildcard, for example /private/* or *.pdf."
1665 +msgstr ""
1666 +
1667 +#: includes/modules/Cloudflare/CloudflareModule.php:77
1668 +msgid "Cloudflare"
1669 +msgstr ""
1670 +
1671 +#: includes/modules/Cloudflare/CloudflareModule.php:79
1672 +msgid "Clear the Cloudflare cache whenever xSpeed clears its own cache."
1673 +msgstr ""
1674 +
1675 +#: includes/modules/Cloudflare/CloudflareModule.php:103
1676 +msgid "Connect Cloudflare"
1677 +msgstr ""
1678 +
1679 +#: includes/modules/Cloudflare/CloudflareModule.php:104
1680 +msgid "Lets xSpeed clear the Cloudflare cache for your domain, using the details below."
1681 +msgstr ""
1682 +
1683 +#: includes/modules/Cloudflare/CloudflareModule.php:114
1684 +msgid "Authentication"
1685 +msgstr ""
1686 +
1687 +#: includes/modules/Cloudflare/CloudflareModule.php:115
1688 +msgid "An API token is safer and recommended. The older Global API Key also needs your account email."
1689 +msgstr ""
1690 +
1691 +#: includes/modules/Cloudflare/CloudflareModule.php:121
1692 +msgid "API Token"
1693 +msgstr ""
1694 +
1695 +#: includes/modules/Cloudflare/CloudflareModule.php:122
1696 +msgid "Create one at dash.cloudflare.com → My Profile → API Tokens. Give it the \"Zone → Cache Purge\" and \"Zone Settings\" permissions."
1697 +msgstr ""
1698 +
1699 +#: includes/modules/Cloudflare/CloudflareModule.php:130
1700 +msgid "Account email"
1701 +msgstr ""
1702 +
1703 +#: includes/modules/Cloudflare/CloudflareModule.php:131
1704 +msgid "The email address of your Cloudflare account."
1705 +msgstr ""
1706 +
1707 +#: includes/modules/Cloudflare/CloudflareModule.php:137
1708 +msgid "Global API Key"
1709 +msgstr ""
1710 +
1711 +#: includes/modules/Cloudflare/CloudflareModule.php:138
1712 +msgid "Find it at dash.cloudflare.com → My Profile → API Tokens → Global API Key."
1713 +msgstr ""
1714 +
1715 +#: includes/modules/Cloudflare/CloudflareModule.php:144
1716 +msgid "Zone ID"
1717 +msgstr ""
1718 +
1719 +#: includes/modules/Cloudflare/CloudflareModule.php:145
1720 +msgid "The 32-character Zone ID shown on your domain overview page in Cloudflare."
1721 +msgstr ""
1722 +
1723 +#: includes/modules/Cloudflare/CloudflareModule.php:151
1724 +msgid "Clear Cloudflare with xSpeed"
1725 +msgstr ""
1726 +
1727 +#: includes/modules/Cloudflare/CloudflareModule.php:152
1728 +msgid "Clear the Cloudflare cache each time xSpeed clears its own, for example after you save a post."
1729 +msgstr ""
1730 +
1731 +#. translators: %d: number of URLs that changed at once.
1732 +#: includes/modules/Cloudflare/CloudflareModule.php:489
1733 +#, php-format
1734 +msgid "Purging the whole Cloudflare zone: %d URLs changed at once, too many to purge individually"
1735 +msgstr ""
1736 +
1737 +#. translators: %d: number of URLs.
1738 +#: includes/modules/Cloudflare/CloudflareModule.php:550
1739 +#, php-format
1740 +msgid "Skipped a queued Cloudflare purge of %d URL: the connection is no longer available"
1741 +msgid_plural "Skipped a queued Cloudflare purge of %d URLs: the connection is no longer available"
1742 +msgstr[0] ""
1743 +msgstr[1] ""
1744 +
1745 +#. translators: %d: number of URLs purged.
1746 +#: includes/modules/Cloudflare/CloudflareModule.php:581
1747 +#, php-format
1748 +msgid "Purged %d URL from the Cloudflare edge cache"
1749 +msgid_plural "Purged %d URLs from the Cloudflare edge cache"
1750 +msgstr[0] ""
1751 +msgstr[1] ""
1752 +
1753 +#. translators: 1: number of URLs, 2: failure reason.
1754 +#: includes/modules/Cloudflare/CloudflareModule.php:597
1755 +#, php-format
1756 +msgid "Cloudflare URL purge failed (%1$d URL(s)): %2$s"
1757 +msgstr ""
1758 +
1759 +#: includes/modules/Cloudflare/CloudflareModule.php:599
1760 +#: includes/modules/Cloudflare/CloudflareModule.php:670
1761 +msgid "unknown error"
1762 +msgstr ""
1763 +
1764 +#: includes/modules/Cloudflare/CloudflareModule.php:615
1765 +msgid "the Cloudflare integration is switched off"
1766 +msgstr ""
1767 +
1768 +#: includes/modules/Cloudflare/CloudflareModule.php:622
1769 +msgid "no zone ID or API credentials are configured"
1770 +msgstr ""
1771 +
1772 +#. translators: %s: what asked for the purge.
1773 +#: includes/modules/Cloudflare/CloudflareModule.php:658
1774 +#, php-format
1775 +msgid "Purged the Cloudflare edge cache (%s)"
1776 +msgstr ""
1777 +
1778 +#. translators: 1: what asked for the purge, 2: failure reason.
1779 +#: includes/modules/Cloudflare/CloudflareModule.php:668
1780 +#, php-format
1781 +msgid "Cloudflare purge failed (%1$s): %2$s"
1782 +msgstr ""
1783 +
1784 +#: includes/modules/Cloudflare/CloudflareModule.php:742
1785 +msgid "Cloudflare is not fully configured."
1786 +msgstr ""
1787 +
1788 +#: includes/modules/Cloudflare/CloudflareModule.php:743
1789 +msgid "Add your API token (or Global API Key + account email) and the Zone ID, then press Verify. Until then auto-purge does nothing."
1790 +msgstr ""
1791 +
1792 +#: includes/modules/Cloudflare/CloudflareModule.php:756
1793 +msgid "Cloudflare purge is failing."
1794 +msgstr ""
1795 +
1796 +#. translators: %s: the Cloudflare API error message, or empty.
1797 +#: includes/modules/Cloudflare/CloudflareModule.php:759
1798 +#, php-format
1799 +msgid "The last edge purge was rejected by Cloudflare%s. Confirm the API token includes the \"Zone → Cache Purge\" permission for this zone — a token that can read the zone can still lack purge rights."
1800 +msgstr ""
1801 +
1802 +#: includes/modules/Cloudflare/CloudflareModule.php:768
1803 +msgid "Cloudflare credentials were rejected."
1804 +msgstr ""
1805 +
1806 +#. translators: %s: the Cloudflare API error message, or empty.
1807 +#: includes/modules/Cloudflare/CloudflareModule.php:771
1808 +#, php-format
1809 +msgid "The saved credentials could not verify this zone%s. Auto-purge will not work until this is fixed."
1810 +msgstr ""
1811 +
1812 +#: includes/modules/Database/DatabaseModule.php:30
1813 +msgid "Database"
1814 +msgstr ""
1815 +
1816 +#: includes/modules/Database/DatabaseModule.php:32
1817 +msgid "Remove old revisions, spam and other leftovers, and optimize database tables."
1818 +msgstr ""
1819 +
1820 +#: includes/modules/Database/DatabaseModule.php:50
1821 +msgid "Automatic cleanup"
1822 +msgstr ""
1823 +
1824 +#: includes/modules/Database/DatabaseModule.php:51
1825 +msgid "How often xSpeed cleans the database on its own. Manual means it only cleans when you press the button."
1826 +msgstr ""
1827 +
1828 +#: includes/modules/Database/DatabaseModule.php:57
1829 +msgid "What to clean automatically"
1830 +msgstr ""
1831 +
1832 +#: includes/modules/Database/DatabaseModule.php:58
1833 +msgid "The items the scheduled cleanup removes. If you leave this empty, nothing is cleaned, even with a schedule set."
1834 +msgstr ""
1835 +
1836 +#: includes/modules/Database/DatabaseModule.php:70
1837 +msgid "Limit post revisions"
1838 +msgstr ""
1839 +
1840 +#: includes/modules/Database/DatabaseModule.php:71
1841 +msgid "Cap how many revisions WordPress keeps for each post. Cleanup removes revisions that already exist; this stops them piling up again."
1842 +msgstr ""
1843 +
1844 +#: includes/modules/Database/DatabaseModule.php:78
1845 +msgid "Revisions to keep"
1846 +msgstr ""
1847 +
1848 +#: includes/modules/Database/DatabaseModule.php:79
1849 +msgid "0 turns revisions off completely. Older revisions are trimmed the next time each post is saved; to remove the backlog now, clean Post Revisions above."
1850 +msgstr ""
1851 +
1852 +#: includes/modules/Database/DatabaseModule.php:134
1853 +msgid "The revision limit is set outside xSpeed"
1854 +msgstr ""
1855 +
1856 +#. translators: %s: value of WP_POST_REVISIONS, e.g. 5 or false.
1857 +#: includes/modules/Database/DatabaseModule.php:137
1858 +#, php-format
1859 +msgid "WP_POST_REVISIONS is set to %s, usually in wp-config.php, so Limit Post Revisions below has no effect. Remove that definition to manage the limit here."
1860 +msgstr ""
1861 +
1862 +#: includes/modules/Database/DatabaseModule.php:241
467 1863 msgid "Provide at least one cleanup type."
468 1864 msgstr ""
469 1865
470 -#: includes/modules/Gzip/GzipModule.php:116
471 -msgid "GZIP enabled but not active on the server"
1866 +#: includes/modules/Fonts/FontsModule.php:35
1867 +msgid "Fonts"
472 1868 msgstr ""
473 1869
474 -#: includes/modules/Gzip/GzipModule.php:117
475 -msgid "xSpeed wrote the .htaccess rules but the response still isn't gzipped. Your server may have AllowOverride disabled, another caching plugin overriding, or mod_deflate missing. Ask your host to enable GZIP on Apache."
1870 +#: includes/modules/Fonts/FontsModule.php:37
1871 +msgid "Shows text right away while web fonts load, and preloads key fonts."
476 1872 msgstr ""
477 1873
478 -#: includes/modules/Gzip/GzipModule.php:128
1874 +#: includes/modules/Fonts/FontsModule.php:47
1875 +msgid "Show text while fonts load"
1876 +msgstr ""
1877 +
1878 +#: includes/modules/Fonts/FontsModule.php:48
1879 +msgid "Text in Google Fonts, and in fonts added to WordPress itself, shows at once in a standard font, then switches when the web font arrives."
1880 +msgstr ""
1881 +
1882 +#: includes/modules/Fonts/FontsModule.php:54
1883 +msgid "Fonts to preload"
1884 +msgstr ""
1885 +
1886 +#: includes/modules/Fonts/FontsModule.php:55
1887 +msgid "One full font file URL per line (woff2, woff, ttf or otf). The browser fetches these first, so list only fonts used at the top of the page."
1888 +msgstr ""
1889 +
1890 +#: includes/modules/Gzip/GzipModule.php:35
1891 +#: includes/modules/Migration/MigrationModule.php:554
1892 +msgid "Compression"
1893 +msgstr ""
1894 +
1895 +#: includes/modules/Gzip/GzipModule.php:36
1896 +msgid "GZIP"
1897 +msgstr ""
1898 +
1899 +#: includes/modules/Gzip/GzipModule.php:38
1900 +msgid "Compresses pages and files so they download faster."
1901 +msgstr ""
1902 +
1903 +#: includes/modules/Gzip/GzipModule.php:53
1904 +msgid "Enable Gzip compression"
1905 +msgstr ""
1906 +
1907 +#: includes/modules/Gzip/GzipModule.php:75
1908 +msgid "Compresses pages and files before sending them. xSpeed adds the .htaccess rules for you on this server."
1909 +msgstr ""
1910 +
1911 +#: includes/modules/Gzip/GzipModule.php:78
1912 +msgid "Compresses pages and files before sending them. On nginx you add the rules to your server config yourself. See the notice below."
1913 +msgstr ""
1914 +
1915 +#: includes/modules/Gzip/GzipModule.php:80
1916 +msgid "Compresses pages and files before sending them. On this server you add the rules to your server config yourself. See the notice below."
1917 +msgstr ""
1918 +
1919 +#: includes/modules/Gzip/GzipModule.php:155
479 1920 msgid "GZIP requires server config on nginx"
480 1921 msgstr ""
481 1922
482 -#: includes/modules/Gzip/GzipModule.php:129
1923 +#: includes/modules/Gzip/GzipModule.php:156
1924 +msgid "GZIP is being served by nginx"
1925 +msgstr ""
1926 +
1927 +#: includes/modules/Gzip/GzipModule.php:158
483 1928 msgid "xSpeed can only auto-configure GZIP on Apache and LiteSpeed (via .htaccess). The directives are included in the unified server-block snippet on the Cache panel — copy + paste it once into your nginx vhost (or container nginx config) and reload nginx."
484 1929 msgstr ""
485 1930
486 -#: includes/modules/Gzip/GzipModule.php:138
1931 +#: includes/modules/Gzip/GzipModule.php:159
1932 +msgid "Responses are compressed. xSpeed cannot configure nginx from WordPress, so these directives live in the unified server-block snippet on the Cache panel — that is where to re-copy them if your server config is ever rebuilt."
1933 +msgstr ""
1934 +
1935 +#: includes/modules/Gzip/GzipModule.php:187
1936 +msgid "GZIP enabled but not active on the server"
1937 +msgstr ""
1938 +
1939 +#: includes/modules/Gzip/GzipModule.php:188
1940 +msgid "xSpeed wrote the .htaccess rules but the response still isn't gzipped. Your server may have AllowOverride disabled, another caching plugin overriding, or mod_deflate missing. Ask your host to enable GZIP on Apache."
1941 +msgstr ""
1942 +
1943 +#: includes/modules/Gzip/GzipModule.php:198
487 1944 msgid "GZIP requires server config on this server"
488 1945 msgstr ""
489 1946
490 -#: includes/modules/Gzip/GzipModule.php:139
1947 +#: includes/modules/Gzip/GzipModule.php:199
491 1948 msgid "xSpeed can only auto-configure GZIP on Apache and LiteSpeed (via .htaccess). Paste the snippet below into your server config and reload."
492 1949 msgstr ""
493 1950
494 -#: includes/modules/Health/HealthModule.php:66
1951 +#: includes/modules/Health/HealthModule.php:76
495 1952 msgid "xSpeed static-rewrite cache"
496 1953 msgstr ""
497 1954
498 -#: includes/modules/Health/HealthModule.php:81
1955 +#: includes/modules/Health/HealthModule.php:135
499 1956 msgid "xSpeed static-rewrite cache is active"
500 1957 msgstr ""
501 1958
502 -#: includes/modules/Health/HealthModule.php:84
1959 +#: includes/modules/Health/HealthModule.php:138
1960 +#: assets/admin.js
503 1961 msgid "Performance"
504 1962 msgstr ""
505 1963
506 -#: includes/modules/Health/HealthModule.php:87
1964 +#: includes/modules/Health/HealthModule.php:141
507 1965 msgid "Cache hits bypass PHP for ~5-15ms TTFB."
508 1966 msgstr ""
509 1967
510 -#: includes/modules/Health/HealthModule.php:93
1968 +#: includes/modules/Health/HealthModule.php:147
511 1969 msgid "xSpeed cache is disabled"
512 1970 msgstr ""
513 1971
514 -#: includes/modules/Health/HealthModule.php:95
1972 +#: includes/modules/Health/HealthModule.php:149
515 1973 msgid "Enable the page cache in the xSpeed dashboard to start serving cached HTML for non-logged-in visitors."
516 1974 msgstr ""
517 1975
518 -#: includes/modules/Health/HealthModule.php:102
1976 +#: includes/modules/Health/HealthModule.php:165
1977 +msgid "xSpeed is serving cache hits through PHP (LiteSpeed)"
1978 +msgstr ""
1979 +
1980 +#: includes/modules/Health/HealthModule.php:167
1981 +msgid "Caching is working — hits are served by the xSpeed drop-in and tagged X-XSpeed-Cache: HIT (php), so every hit is visible and counted. LiteSpeed's .htaccess engine cannot tag or log statically served files, so this is the default. To serve hits straight from the web server with no PHP (at the cost of that tagging and counting), turn on LiteSpeed Static Fast Path in xSpeed's Cache settings."
1982 +msgstr ""
1983 +
1984 +#: includes/modules/Health/HealthModule.php:169
1985 +msgid "xSpeed is serving cache hits through PHP"
1986 +msgstr ""
1987 +
1988 +#: includes/modules/Health/HealthModule.php:171
1989 +msgid "Caching is working — hits are served by the xSpeed drop-in and tagged X-XSpeed-Cache: HIT (php). The faster .htaccess fast path is off because Apache's mod_headers module is not loaded, without which a static hit could not be tagged or counted. Enable mod_headers (a2enmod headers on Debian/Ubuntu, then restart Apache) to shave roughly 20-30ms off each cache hit."
1990 +msgstr ""
1991 +
1992 +#: includes/modules/Health/HealthModule.php:173
1993 +#: includes/modules/Health/HealthModule.php:212
1994 +msgid "xSpeed static rewrite is off (Separate Mobile Cache)"
1995 +msgstr ""
1996 +
1997 +#: includes/modules/Health/HealthModule.php:175
1998 +#: includes/modules/Health/HealthModule.php:214
1999 +msgid "Separate Mobile Cache is on, so cache hits are served by the PHP drop-in to keep per-device HTML correct. Turn Separate Mobile Cache off if your site serves the same HTML to every device to regain the faster static path."
2000 +msgstr ""
2001 +
2002 +#: includes/modules/Health/HealthModule.php:179
519 2003 msgid "xSpeed .htaccess rewrite block is missing"
520 2004 msgstr ""
521 2005
522 -#: includes/modules/Health/HealthModule.php:104
2006 +#: includes/modules/Health/HealthModule.php:181
523 2007 msgid "Without the static-rewrite block, cache hits go through the PHP drop-in (~85ms TTFB) instead of the web server (~5-15ms). Toggle Enable Cache off and on in xSpeed to reinstall the block."
524 2008 msgstr ""
525 2009
526 -#: includes/modules/Health/HealthModule.php:111
2010 +#: includes/modules/Health/HealthModule.php:206
2011 +msgid "xSpeed nginx static rewrite is active"
2012 +msgstr ""
2013 +
2014 +#: includes/modules/Health/HealthModule.php:208
2015 +msgid "nginx is serving cache hits directly — PHP is bypassed (~5-15ms TTFB). No action needed."
2016 +msgstr ""
2017 +
2018 +#: includes/modules/Health/HealthModule.php:218
2019 +msgid "xSpeed is serving cache hits through PHP (pages contain nonces)"
2020 +msgstr ""
2021 +
2022 +#: includes/modules/Health/HealthModule.php:220
2023 +msgid "Your nginx config is correct, but pages are not reaching the static cache, so hits are served by PHP. They contain nonces, and a static file is served with no PHP — nothing could ever refresh them, so every anonymous form on the page would break once they expire. Keeping these pages on PHP is deliberate."
2024 +msgstr ""
2025 +
2026 +#: includes/modules/Health/HealthModule.php:229
2027 +msgid "xSpeed could not verify the nginx static rewrite"
2028 +msgstr ""
2029 +
2030 +#. translators: %s: the reason the probe could not complete.
2031 +#: includes/modules/Health/HealthModule.php:234
2032 +#, php-format
2033 +msgid "The check itself did not complete, so this is not evidence that your config is wrong — if you have already pasted the snippet it may well be working. Reason: %s"
2034 +msgstr ""
2035 +
2036 +#: includes/modules/Health/HealthModule.php:242
527 2037 msgid "xSpeed nginx server config required"
528 2038 msgstr ""
529 2039
530 -#: includes/modules/Health/HealthModule.php:113
2040 +#: includes/modules/Health/HealthModule.php:244
531 2041 msgid "xSpeed can't write nginx config from PHP. Paste this snippet into your site's server { } block, then reload nginx so cache hits serve without booting PHP:"
532 2042 msgstr ""
533 2043
534 -#: includes/modules/Health/HealthModule.php:122
2044 +#: includes/modules/Health/HealthModule.php:253
535 2045 msgid "xSpeed PHP drop-in cache active"
536 2046 msgstr ""
537 2047
538 -#: includes/modules/Health/HealthModule.php:124
2048 +#: includes/modules/Health/HealthModule.php:255
539 2049 msgid "Static-rewrite caching needs Apache, LiteSpeed, or nginx. The PHP drop-in is still serving cache hits at ~85ms TTFB on this server."
540 2050 msgstr ""
541 2051
2052 +#: includes/modules/Health/HealthModule.php:261
2053 +msgid "Health"
2054 +msgstr ""
2055 +
2056 +#: includes/modules/Health/HealthModule.php:263
2057 +msgid "Checks for problems and shows how often visitors get cached pages."
2058 +msgstr ""
2059 +
2060 +#: includes/modules/Heartbeat/HeartbeatModule.php:38
2061 +msgid "Heartbeat"
2062 +msgstr ""
2063 +
2064 +#: includes/modules/Heartbeat/HeartbeatModule.php:40
2065 +msgid "Controls how often WordPress checks in with your server in the background."
2066 +msgstr ""
2067 +
2068 +#: includes/modules/Heartbeat/HeartbeatModule.php:65
2069 +msgid "Dashboard"
2070 +msgstr ""
2071 +
2072 +#: includes/modules/Heartbeat/HeartbeatModule.php:66
2073 +msgid "Background checks on admin screens, used for notifications."
2074 +msgstr ""
2075 +
2076 +#: includes/modules/Heartbeat/HeartbeatModule.php:73
2077 +msgid "Editor"
2078 +msgstr ""
2079 +
2080 +#: includes/modules/Heartbeat/HeartbeatModule.php:74
2081 +msgid "Background checks in the post editor. Disable only if you do not need autosave or the warning when someone else is editing."
2082 +msgstr ""
2083 +
2084 +#: includes/modules/Heartbeat/HeartbeatModule.php:81
2085 +msgid "Frontend"
2086 +msgstr ""
2087 +
2088 +#: includes/modules/Heartbeat/HeartbeatModule.php:82
2089 +msgid "Background checks on the public site, which only some plugins add. Disable is recommended, as it cuts extra requests to your server."
2090 +msgstr ""
2091 +
2092 +#: includes/modules/Heartbeat/HeartbeatModule.php:89
2093 +msgid "Throttle interval"
2094 +msgstr ""
2095 +
2096 +#: includes/modules/Heartbeat/HeartbeatModule.php:91
2097 +msgid "Seconds between checks where you chose Throttle. 60 suits most sites; a lower number means more requests."
2098 +msgstr ""
2099 +
2100 +#: includes/modules/Lazy/LazyModule.php:42
2101 +msgid "Media Optimization"
2102 +msgstr ""
2103 +
2104 +#: includes/modules/Lazy/LazyModule.php:43
2105 +msgid "Lazy Loading"
2106 +msgstr ""
2107 +
2108 +#: includes/modules/Lazy/LazyModule.php:45
2109 +msgid "Loads images, videos and embeds only when visitors scroll to them."
2110 +msgstr ""
2111 +
2112 +#: includes/modules/Lazy/LazyModule.php:60
2113 +msgid "Lazy-load images"
2114 +msgstr ""
2115 +
2116 +#: includes/modules/Lazy/LazyModule.php:61
2117 +msgid "Images load when the visitor scrolls near them. The first image on the page still loads right away."
2118 +msgstr ""
2119 +
2120 +#: includes/modules/Lazy/LazyModule.php:66
2121 +msgid "Lazy-load embeds"
2122 +msgstr ""
2123 +
2124 +#: includes/modules/Lazy/LazyModule.php:67
2125 +msgid "Embedded content such as YouTube videos and maps loads when the visitor scrolls near it."
2126 +msgstr ""
2127 +
2128 +#: includes/modules/Lazy/LazyModule.php:72
2129 +msgid "Click-to-play videos"
2130 +msgstr ""
2131 +
2132 +#: includes/modules/Lazy/LazyModule.php:73
2133 +msgid "Shows a preview image with a play button in place of YouTube, Vimeo and your own videos that have a poster image. The video loads only when clicked. Autoplaying videos are left alone."
2134 +msgstr ""
2135 +
2136 +#: includes/modules/Lazy/LazyModule.php:78
2137 +msgid "Lazy-load your own videos"
2138 +msgstr ""
2139 +
2140 +#: includes/modules/Lazy/LazyModule.php:79
2141 +msgid "Videos uploaded to your site download only when played. An autoplaying video still plays by itself, but its file waits until the video is near the screen. Add data-skip-lazy to a video to leave it alone."
2142 +msgstr ""
2143 +
2144 +#: includes/modules/Lazy/LazyModule.php:84
2145 +msgid "Start autoplay videos after page load"
2146 +msgstr ""
2147 +
2148 +#: includes/modules/Lazy/LazyModule.php:85
2149 +msgid "An autoplaying video, such as a hero background, waits until the page has finished loading, even when it is on screen from the start. Visitors see the poster first, and the video no longer competes with the page's images, styles and scripts. Needs \"Lazy-load your own videos\"."
2150 +msgstr ""
2151 +
2152 +#: includes/modules/Lazy/LazyModule.php:91
2153 +msgid "Lazy-load background images"
2154 +msgstr ""
2155 +
2156 +#: includes/modules/Lazy/LazyModule.php:92
2157 +msgid "Hold back background images set in an element's inline style (a Cover or Group block, a page-builder section) until the element is near the screen. Uses a small script; visitors without JavaScript get every background as usual. The first N backgrounds on the page load straight away, like images. Backgrounds set in a stylesheet are not affected."
2158 +msgstr ""
2159 +
2160 +#: includes/modules/Lazy/LazyModule.php:99
2161 +msgid "Images to load right away"
2162 +msgstr ""
2163 +
2164 +#: includes/modules/Lazy/LazyModule.php:100
2165 +msgid "How many images at the top of the page skip lazy loading. Only the first of them also loads at high priority, and images in hidden or closed sections are not counted. Lazy-loaded background images use the same number. 1 suits most sites; 0 lazy-loads every image."
2166 +msgstr ""
2167 +
2168 +#: includes/modules/Lazy/LazyModule.php:114
2169 +msgid "Add missing image sizes"
2170 +msgstr ""
2171 +
2172 +#: includes/modules/Lazy/LazyModule.php:115
2173 +msgid "Adds width and height to images that lack them, using the media library. This stops the page from jumping as images load."
2174 +msgstr ""
2175 +
2176 +#: includes/modules/Lazy/LazyModule.php:121
2177 +msgid "Excluded images"
2178 +msgstr ""
2179 +
2180 +#: includes/modules/Lazy/LazyModule.php:122
2181 +msgid "Images, videos and embeds whose tag contains a line here, such as a class or file name, are never lazy-loaded. Useful for logos and hero images."
2182 +msgstr ""
2183 +
542 2184 #. translators: %s: command name.
543 -#: includes/modules/Mcp/Cli_Bridge.php:120
2185 +#: includes/modules/Mcp/Cli_Bridge.php:128
544 2186 #, php-format
545 2187 msgid "Unknown command: %s. Call list_commands to see what is available."
546 2188 msgstr ""
547 2189
548 -#: includes/modules/Mcp/McpModule.php:767
2190 +#: includes/modules/Mcp/McpModule.php:159
2191 +#: assets/admin.js
2192 +msgid "MCP Server"
2193 +msgstr ""
2194 +
2195 +#: includes/modules/Mcp/McpModule.php:161
2196 +msgid "Let Claude or another AI assistant clear the cache, check stats and change settings."
2197 +msgstr ""
2198 +
2199 +#: includes/modules/Mcp/McpModule.php:491
2200 +msgid "Another plugin now claims the site-wide OAuth discovery address, so xSpeed handed it over. Its own is /.well-known/oauth-protected-resource/xspeed/mcp — AI assistants already connected may ask for approval once more."
2201 +msgstr ""
2202 +
2203 +#: includes/modules/Mcp/McpModule.php:1404
2204 +msgid "Disconnecting is blocked while this site depends on the hub connection."
2205 +msgstr ""
2206 +
2207 +#: includes/modules/Mcp/McpModule.php:1454
549 2208 msgid "Invalid or expired attach request."
550 2209 msgstr ""
551 2210
552 -#: includes/modules/Mcp/McpModule.php:848
2211 +#: includes/modules/Mcp/McpModule.php:1570
553 2212 msgid "You must be an administrator to authorize an AI agent to control this site."
554 2213 msgstr ""
555 2214
556 -#: includes/modules/Mcp/McpModule.php:855
2215 +#: includes/modules/Mcp/McpModule.php:1577
557 2216 msgid "Security check failed. Please try connecting again."
558 2217 msgstr ""
559 2218
560 -#: includes/modules/Mcp/McpModule.php:982
2219 +#: includes/modules/Mcp/McpModule.php:1673
2220 +#: includes/modules/Mcp/McpModule.php:1692
2221 +msgid "The MCP tool payload is too large."
2222 +msgstr ""
2223 +
2224 +#: includes/modules/Mcp/McpModule.php:1767
561 2225 msgid "Read-only — inspect cache status and settings."
562 2226 msgstr ""
563 2227
564 -#: includes/modules/Mcp/McpModule.php:983
2228 +#: includes/modules/Mcp/McpModule.php:1768
565 2229 msgid "Read & write — purge caches, toggle caching, and change settings."
566 2230 msgstr ""
567 2231
568 -#: includes/modules/Mcp/McpModule.php:984
2232 +#: includes/modules/Mcp/McpModule.php:1769
569 2233 msgid "An AI agent"
570 2234 msgstr ""
571 2235
572 -#: includes/modules/Mcp/McpModule.php:1003
2236 +#: includes/modules/Mcp/McpModule.php:1788
573 2237 msgid "Authorize AI access"
574 2238 msgstr ""
575 2239
576 -#: includes/modules/Mcp/McpModule.php:1014
2240 +#: includes/modules/Mcp/McpModule.php:1790
577 2241 msgid "Connect to xSpeed"
578 2242 msgstr ""
579 2243
580 2244 #. translators: %s: AI client name.
581 -#: includes/modules/Mcp/McpModule.php:1016
2245 +#: includes/modules/Mcp/McpModule.php:1792
582 2246 #, php-format
583 2247 msgid "%s wants to manage the cache on this site."
584 2248 msgstr ""
585 2249
586 -#: includes/modules/Mcp/McpModule.php:1017
2250 +#: includes/modules/Mcp/McpModule.php:1793
2251 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:205
587 2252 msgid "Site"
588 2253 msgstr ""
589 2254
590 -#: includes/modules/Mcp/McpModule.php:1018
2255 +#: includes/modules/Mcp/McpModule.php:1794
2256 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:210
591 2257 msgid "Signed in as"
592 2258 msgstr ""
593 2259
594 -#: includes/modules/Mcp/McpModule.php:1019
2260 +#: includes/modules/Mcp/McpModule.php:1795
2261 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:211
595 2262 msgid "Access"
596 2263 msgstr ""
597 2264
598 -#: includes/modules/Mcp/McpModule.php:1024
2265 +#: includes/modules/Mcp/McpModule.php:1800
2266 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:219
599 2267 msgid "Deny"
600 2268 msgstr ""
601 2269
602 -#: includes/modules/Mcp/McpModule.php:1025
2270 +#: includes/modules/Mcp/McpModule.php:1801
2271 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:220
603 2272 msgid "Approve"
604 2273 msgstr ""
605 2274
606 -#: includes/modules/Mcp/McpModule.php:1035
2275 +#: includes/modules/Mcp/McpModule.php:1811
607 2276 msgid "Authorization error"
608 2277 msgstr ""
609 2278
610 -#: includes/modules/Mcp/McpModule.php:1038
2279 +#: includes/modules/Mcp/McpModule.php:1814
611 2280 msgid "Could not authorize"
612 2281 msgstr ""
613 2282
2283 +#: includes/modules/Mcp/McpModule.php:2044
2284 +msgid "An AI assistant is connected to this site. This module counts as on whenever a connection token exists, rather than having its own on/off setting."
2285 +msgstr ""
2286 +
2287 +#: includes/modules/Mcp/McpModule.php:2045
2288 +msgid "No AI assistant is connected. This module counts as on once you connect one."
2289 +msgstr ""
2290 +
614 2291 #: includes/modules/Mcp/Mcp_Auth.php:57
615 2292 msgid "Too many failed attempts. Try again later."
616 2293 msgstr ""
617 2294
618 -#: includes/modules/Mcp/Mcp_OAuth.php:145
2295 +#: includes/modules/Mcp/Mcp_Hub.php:983
2296 +msgid "Connect this site to xSpeed Hub to run a free speed test."
2297 +msgstr ""
2298 +
2299 +#: includes/modules/Mcp/Mcp_Hub.php:1013
2300 +msgid "Could not reach xSpeed Hub. Please try again."
2301 +msgstr ""
2302 +
2303 +#: includes/modules/Mcp/Mcp_Hub.php:1036
2304 +#: assets/admin.js
2305 +msgid "The test could not be started."
2306 +msgstr ""
2307 +
2308 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:132
2309 +#: assets/admin.js
2310 +msgid "Connect to xSpeed Hub"
2311 +msgstr ""
2312 +
2313 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:154
2314 +msgid "Not allowed"
2315 +msgstr ""
2316 +
2317 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:155
2318 +msgid "Only an administrator of this site can connect it to xSpeed Hub. Sign in as an administrator and start again from the Hub."
2319 +msgstr ""
2320 +
2321 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:171
2322 +msgid "This link is not valid"
2323 +msgstr ""
2324 +
2325 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:172
2326 +msgid "Start again from xSpeed Hub: Add site, then Connect with WordPress."
2327 +msgstr ""
2328 +
2329 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:206
2330 +msgid "Connecting to"
2331 +msgstr ""
2332 +
2333 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:208
2334 +msgid "Hub account"
2335 +msgstr ""
2336 +
2337 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:211
2338 +msgid "Purge caches, change settings and run speed tests on this site."
2339 +msgstr ""
2340 +
2341 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:224
2342 +msgid "Connect this site to xSpeed Hub"
2343 +msgstr ""
2344 +
2345 +#: includes/modules/Mcp/Mcp_Hub_Connect.php:225
2346 +msgid "xSpeed Hub lets you and your AI tools manage this site’s cache alongside your other sites."
2347 +msgstr ""
2348 +
2349 +#: includes/modules/Mcp/Mcp_OAuth.php:261
2350 +msgid "Too many client registrations. Try again later."
2351 +msgstr ""
2352 +
2353 +#. translators: %d: maximum number of redirect URIs.
2354 +#: includes/modules/Mcp/Mcp_OAuth.php:277
2355 +#, php-format
2356 +msgid "At most %d redirect_uris are allowed."
2357 +msgstr ""
2358 +
2359 +#: includes/modules/Mcp/Mcp_OAuth.php:289
619 2360 msgid "At least one valid redirect_uri is required."
620 2361 msgstr ""
621 2362
622 -#: includes/modules/Mcp/Mcp_OAuth.php:195
2363 +#: includes/modules/Mcp/Mcp_OAuth.php:326
2364 +msgid "Client registration limit reached."
2365 +msgstr ""
2366 +
2367 +#: includes/modules/Mcp/Mcp_OAuth.php:345
2368 +msgid "The client registration could not be stored."
2369 +msgstr ""
2370 +
2371 +#: includes/modules/Mcp/Mcp_OAuth.php:384
623 2372 msgid "Unknown client_id."
624 2373 msgstr ""
625 2374
626 -#: includes/modules/Mcp/Mcp_OAuth.php:199
2375 +#: includes/modules/Mcp/Mcp_OAuth.php:388
627 2376 msgid "redirect_uri does not match a registered value."
628 2377 msgstr ""
629 2378
630 -#: includes/modules/Mcp/Mcp_OAuth.php:202
2379 +#: includes/modules/Mcp/Mcp_OAuth.php:391
631 2380 msgid "Only response_type=code is supported."
632 2381 msgstr ""
633 2382
634 -#: includes/modules/Mcp/Mcp_OAuth.php:206
2383 +#: includes/modules/Mcp/Mcp_OAuth.php:395
635 2384 msgid "PKCE with code_challenge_method=S256 is required."
636 2385 msgstr ""
637 2386
638 -#: includes/modules/Mcp/Mcp_Pairing.php:408
2387 +#: includes/modules/Mcp/Mcp_Pairing.php:474
639 2388 msgid "No active MCP connection to change. Connect first."
640 2389 msgstr ""
641 2390
642 2391 #. translators: %s: tool name.
643 -#: includes/modules/Mcp/Mcp_Tools.php:694
2392 +#: includes/modules/Mcp/Mcp_Tools.php:996
2393 +#: includes/modules/Mcp/Mcp_Tools.php:1034
644 2394 #, php-format
645 2395 msgid "Unknown tool: %s"
646 2396 msgstr ""
647 2397
648 2398 #. translators: %s: tool name.
649 -#: includes/modules/Mcp/Mcp_Tools.php:722
2399 +#: includes/modules/Mcp/Mcp_Tools.php:1055
650 2400 #, php-format
651 2401 msgid "This MCP connection is read-only; the \"%s\" tool changes state and is not permitted. Reconnect with write access to use it."
652 2402 msgstr ""
653 2403
654 2404 #. translators: %s: comma-separated list of valid purge types.
655 -#: includes/modules/Mcp/Mcp_Tools.php:869
2405 +#: includes/modules/Mcp/Mcp_Tools.php:1439
656 2406 #, php-format
657 2407 msgid "Invalid purge type. Expected one of: %s"
658 2408 msgstr ""
659 2409
660 -#: includes/modules/Mcp/Mcp_Tools.php:878
661 -#: includes/modules/Mcp/Mcp_Tools.php:1330
2410 +#: includes/modules/Mcp/Mcp_Tools.php:1448
2411 +#: includes/modules/Mcp/Mcp_Tools.php:2798
662 2412 msgid "AI assistant"
663 2413 msgstr ""
664 2414
665 -#: includes/modules/Mcp/Mcp_Tools.php:896
2415 +#: includes/modules/Mcp/Mcp_Tools.php:1497
666 2416 msgid "The \"enabled\" parameter is required (true or false)."
667 2417 msgstr ""
668 2418
669 -#: includes/modules/Mcp/Mcp_Tools.php:926
670 -#: includes/modules/Mcp/Mcp_Tools.php:948
2419 +#: includes/modules/Mcp/Mcp_Tools.php:1577
2420 +#: includes/modules/Mcp/Mcp_Tools.php:1631
671 2421 msgid "The \"module\" parameter is required."
672 2422 msgstr ""
673 2423
674 -#: includes/modules/Mcp/Mcp_Tools.php:955
2424 +#. translators: %s: module slug.
2425 +#: includes/modules/Mcp/Mcp_Tools.php:1586
2426 +#: includes/modules/Mcp/Mcp_Tools.php:1647
2427 +#, php-format
2428 +msgid "Unknown module \"%s\"."
2429 +msgstr ""
2430 +
2431 +#: includes/modules/Mcp/Mcp_Tools.php:1638
675 2432 msgid "The \"values\" parameter must be an object of setting keys."
676 2433 msgstr ""
677 2434
678 -#: includes/modules/Mcp/Mcp_Tools.php:987
2435 +#. translators: 1: comma-separated field names, 2: module slug.
2436 +#: includes/modules/Mcp/Mcp_Tools.php:1666
2437 +#, php-format
2438 +msgid "Writing credential fields (%1$s) on \"%2$s\" needs the \"configure\" scope, which is off by default. Reconnect the MCP client granting the configure scope, or set these credentials from the xSpeed dashboard."
2439 +msgstr ""
2440 +
2441 +#. translators: %s: module slug.
2442 +#: includes/modules/Mcp/Mcp_Tools.php:1698
2443 +#, php-format
2444 +msgid "Refused an MCP settings write to the Pro module \"%s\" — no valid license."
2445 +msgstr ""
2446 +
2447 +#. translators: %s: module slug.
2448 +#: includes/modules/Mcp/Mcp_Tools.php:1708
2449 +#, php-format
2450 +msgid "\"%s\" is a Pro module and this site has no active license, so the write was refused. Nothing was changed."
2451 +msgstr ""
2452 +
2453 +#. translators: 1: setting key, 2: wp-config.php constant name.
2454 +#: includes/modules/Mcp/Mcp_Tools.php:1777
2455 +#, php-format
2456 +msgid "\"%1$s\" is defined in wp-config.php as %2$s and cannot be changed here"
2457 +msgstr ""
2458 +
2459 +#. translators: 1: setting key, 2: module slug.
2460 +#: includes/modules/Mcp/Mcp_Tools.php:1785
2461 +#, php-format
2462 +msgid "\"%1$s\" is not a setting of module \"%2$s\""
2463 +msgstr ""
2464 +
2465 +#. translators: %s: comma-separated setting names.
2466 +#: includes/modules/Mcp/Mcp_Tools.php:1797
2467 +#, php-format
2468 +msgid " — did you mean: %s?"
2469 +msgstr ""
2470 +
2471 +#. translators: %s: setting key.
2472 +#: includes/modules/Mcp/Mcp_Tools.php:1807
2473 +#, php-format
2474 +msgid "\"%s\" was rejected by the schema (wrong type, or outside the allowed range/options)"
2475 +msgstr ""
2476 +
2477 +#. translators: 1: module slug, 2: reasons.
2478 +#: includes/modules/Mcp/Mcp_Tools.php:1816
2479 +#, php-format
2480 +msgid "Refused to update %1$s — nothing was written. %2$s"
2481 +msgstr ""
2482 +
2483 +#: includes/modules/Mcp/Mcp_Tools.php:1852
679 2484 msgid "The \"command\" parameter is required."
680 2485 msgstr ""
681 2486
682 -#: includes/modules/Mcp/Mcp_Tools.php:1157
683 -#: includes/modules/Mcp/Mcp_Tools.php:1197
2487 +#: includes/modules/Mcp/Mcp_Tools.php:1903
2488 +msgid "This preview deletes nothing. To delete what is listed, call clean_database with this confirm_token. It expires in 5 minutes and stops working if the database changes."
2489 +msgstr ""
2490 +
2491 +#: includes/modules/Mcp/Mcp_Tools.php:2145
2492 +msgid "That confirm_token is unknown or has expired (they last 5 minutes). Ask for a fresh one by making the same call without a confirm_token."
2493 +msgstr ""
2494 +
2495 +#: includes/modules/Mcp/Mcp_Tools.php:2154
2496 +msgid "The database changed since that scan, so the preview no longer describes what would be deleted. Run scan_database again and confirm against the new result."
2497 +msgstr ""
2498 +
2499 +#: includes/modules/Mcp/Mcp_Tools.php:2155
2500 +msgid "That confirm_token was issued for a different action, so it does not authorise this one. Repeat this exact call without a confirm_token to get one that does."
2501 +msgstr ""
2502 +
2503 +#: includes/modules/Mcp/Mcp_Tools.php:2204
2504 +msgid "This permanently deletes content and cannot be undone. Call scan_database first to see exactly what would be removed, then pass the confirm_token it returns."
2505 +msgstr ""
2506 +
2507 +#. translators: %s: the confirm_token to send back.
2508 +#: includes/modules/Mcp/Mcp_Tools.php:2218
2509 +#, php-format
2510 +msgid "Call run_command again with the same command plus confirm_token: %s"
2511 +msgstr ""
2512 +
2513 +#. translators: 1: tool name, 2: action value, 3: the confirm_token to send back.
2514 +#: includes/modules/Mcp/Mcp_Tools.php:2223
2515 +#, php-format
2516 +msgid "Call %1$s again with action: %2$s plus confirm_token: %3$s"
2517 +msgstr ""
2518 +
2519 +#. translators: 1: canonical "<command> <action>", 2: how to repeat the call.
2520 +#: includes/modules/Mcp/Mcp_Tools.php:2233
2521 +#, php-format
2522 +msgid "\"%1$s\" is destructive and cannot be undone, so it needs a second, deliberate call. %2$s — the token is single use and expires in 5 minutes."
2523 +msgstr ""
2524 +
2525 +#: includes/modules/Mcp/Mcp_Tools.php:2611
2526 +#: includes/modules/Mcp/Mcp_Tools.php:2651
684 2527 msgid "The enabled argument is required."
685 2528 msgstr ""
686 2529
687 -#: includes/modules/Mcp/Mcp_Tools.php:1161
688 -#: includes/modules/Mcp/Mcp_Tools.php:1201
2530 +#: includes/modules/Mcp/Mcp_Tools.php:2615
2531 +#: includes/modules/Mcp/Mcp_Tools.php:2655
689 2532 msgid "The enabled argument must be true or false."
690 2533 msgstr ""
691 2534
692 -#: includes/modules/Mcp/Mcp_Tools.php:1215
2535 +#: includes/modules/Mcp/Mcp_Tools.php:2676
693 2536 msgid "The action argument must be \"list\" or \"clear\"."
694 2537 msgstr ""
695 2538
696 -#: includes/modules/Mcp/Mcp_Tools.php:1254
2539 +#: includes/modules/Mcp/Mcp_Tools.php:2715
697 2540 msgid "External scores are not available on this site."
698 2541 msgstr ""
699 2542
700 -#: includes/modules/Mcp/Mcp_Tools.php:1328
2543 +#: includes/modules/Mcp/Mcp_Tools.php:2796
701 2544 msgid "The url argument is required."
702 2545 msgstr ""
703 2546
2547 +#: includes/modules/Mcp/Mcp_Tools.php:2937
2548 +msgid "The url argument must be a page on this site, as a full http(s) URL or a path starting with /."
2549 +msgstr ""
2550 +
2551 +#: includes/modules/Migration/MigrationModule.php:30
2552 +msgid "Migration"
2553 +msgstr ""
2554 +
2555 +#: includes/modules/Migration/MigrationModule.php:32
2556 +msgid "Import settings from WP Rocket, W3 Total Cache, WP Super Cache or LiteSpeed Cache."
2557 +msgstr ""
2558 +
704 2559 #. translators: %d: number of detected caching plugins.
705 -#: includes/modules/Migration/MigrationModule.php:142
2560 +#: includes/modules/Migration/MigrationModule.php:211
706 2561 #, php-format
707 2562 msgid "Migrate to %1$s — %2$d caching plugin detected"
708 2563 msgid_plural "Migrate to %1$s — %2$d caching plugins detected"
709 2564 msgstr[0] ""
@@ -708,1407 +2563,3070 @@
708 2563 msgid_plural "Migrate to %1$s — %2$d caching plugins detected"
709 2564 msgstr[0] ""
710 2565 msgstr[1] ""
711 2566
712 -#: includes/modules/Migration/MigrationModule.php:175
713 -msgid "Import your existing settings in one click instead of configuring everything by hand. Pick a source to migrate:"
2567 +#: includes/modules/Migration/MigrationModule.php:266
2568 +msgid "Speed guarantee"
714 2569 msgstr ""
715 2570
716 -#. translators: %d: number of settings xSpeed will actually import.
717 -#: includes/modules/Migration/MigrationModule.php:190
2571 +#: includes/modules/Migration/MigrationModule.php:311
2572 +msgid "Dismiss this notice"
2573 +msgstr ""
2574 +
2575 +#: includes/modules/Migration/MigrationModule.php:332
2576 +msgid "Guaranteed faster load times — or we'll tune it for you, free."
2577 +msgstr ""
2578 +
2579 +#: includes/modules/Migration/MigrationModule.php:333
2580 +msgid "Faster load times, without configuring anything by hand."
2581 +msgstr ""
2582 +
2583 +#. translators: %s: brand name, e.g. xSpeed Cache.
2584 +#: includes/modules/Migration/MigrationModule.php:346
718 2585 #, php-format
2586 +msgid "%s imports your settings in one click, then handles caching and optimization with AI-powered control."
2587 +msgstr ""
2588 +
2589 +#. translators: 1: detected plugin name, 2: number of settings.
2590 +#: includes/modules/Migration/MigrationModule.php:356
2591 +#, php-format
2592 +msgid "%1$s detected · %2$d setting ready to import"
2593 +msgid_plural "%1$s detected · %2$d settings ready to import"
2594 +msgstr[0] ""
2595 +msgstr[1] ""
2596 +
2597 +#: includes/modules/Migration/MigrationModule.php:376
2598 +msgid "Prefer we handle it? Book a call"
2599 +msgstr ""
2600 +
2601 +#. translators: %s: brand name.
2602 +#: includes/modules/Migration/MigrationModule.php:384
2603 +#, php-format
2604 +msgid "Migrate to %s"
2605 +msgstr ""
2606 +
2607 +#. translators: %s: detected plugin name.
2608 +#: includes/modules/Migration/MigrationModule.php:400
2609 +#, php-format
2610 +msgid "Migrating deactivates %s"
2611 +msgstr ""
2612 +
2613 +#: includes/modules/Migration/MigrationModule.php:405
2614 +msgid "View migration details"
2615 +msgstr ""
2616 +
2617 +#. translators: %d: number of settings imported.
2618 +#: includes/modules/Migration/MigrationModule.php:423
2619 +#, php-format
719 2620 msgid "imports %d setting"
720 2621 msgid_plural "imports %d settings"
721 2622 msgstr[0] ""
722 2623 msgstr[1] ""
723 2624
724 -#: includes/modules/Migration/MigrationModule.php:196
725 -msgid "Import"
2625 +#: includes/modules/Migration/MigrationModule.php:429
2626 +msgid "Migrate"
726 2627 msgstr ""
727 2628
728 -#: includes/modules/Migration/MigrationModule.php:203
729 -msgid "Open Migration panel"
2629 +#: includes/modules/Migration/MigrationModule.php:549
2630 +#: includes/modules/Minify/MinifyModule.php:37
2631 +msgid "Minify"
730 2632 msgstr ""
731 2633
732 -#: includes/modules/Migration/MigrationModule.php:204
733 -msgid "Dismiss"
2634 +#: includes/modules/Migration/MigrationModule.php:550
2635 +msgid "Lazy Load"
734 2636 msgstr ""
735 2637
736 -#: includes/modules/Preloader/PreloaderModule.php:243
2638 +#: includes/modules/Migration/MigrationModule.php:551
2639 +#: includes/modules/Preloader/PreloaderModule.php:32
2640 +msgid "Preloader"
2641 +msgstr ""
2642 +
2643 +#: includes/modules/Migration/MigrationModule.php:553
2644 +#: includes/modules/ObjectCache/ObjectCacheModule.php:33
2645 +msgid "Object Cache"
2646 +msgstr ""
2647 +
2648 +#: includes/modules/Migration/MigrationModule.php:555
2649 +msgid "Bloat Removal"
2650 +msgstr ""
2651 +
2652 +#: includes/modules/Migration/MigrationModule.php:580
2653 +msgid "You do not have permission to migrate settings."
2654 +msgstr ""
2655 +
2656 +#: includes/modules/Migration/MigrationModule.php:586
2657 +msgid "No source selected."
2658 +msgstr ""
2659 +
2660 +#: includes/modules/Migration/MigrationModule.php:618
2661 +msgid "it could not be enabled"
2662 +msgstr ""
2663 +
2664 +#: includes/modules/Migration/MigrationModule.php:703
2665 +msgid "Migrating…"
2666 +msgstr ""
2667 +
2668 +#: includes/modules/Migration/MigrationModule.php:720
2669 +msgid "Migration failed."
2670 +msgstr ""
2671 +
2672 +#: includes/modules/Migration/MigrationModule.php:723
2673 +msgid "the source plugin"
2674 +msgstr ""
2675 +
2676 +#: includes/modules/Migration/MigrationModule.php:724
2677 +msgid "Review imported settings"
2678 +msgstr ""
2679 +
2680 +#: includes/modules/Migration/MigrationModule.php:735
2681 +#: includes/modules/Migration/MigrationModule.php:746
2682 +#: includes/modules/Migration/MigrationModule.php:754
2683 +msgid "settings are now running in xSpeed."
2684 +msgstr ""
2685 +
2686 +#: includes/modules/Migration/MigrationModule.php:737
2687 +#: includes/modules/Migration/MigrationModule.php:747
2688 +msgid "It has been switched off, so the two page caches cannot conflict."
2689 +msgstr ""
2690 +
2691 +#: includes/modules/Migration/MigrationModule.php:738
2692 +msgid "It is still active — switch it off when you are ready."
2693 +msgstr ""
2694 +
2695 +#: includes/modules/Migration/MigrationModule.php:739
2696 +msgid "Skipped:"
2697 +msgstr ""
2698 +
2699 +#: includes/modules/Migration/MigrationModule.php:755
2700 +msgid "It is still active — running two page caches conflicts, so switch it off when you are ready."
2701 +msgstr ""
2702 +
2703 +#: includes/modules/Migration/MigrationModule.php:764
2704 +msgid "Migration could not finish."
2705 +msgstr ""
2706 +
2707 +#: includes/modules/Migration/MigrationModule.php:765
2708 +msgid "Nothing was changed — you can try again."
2709 +msgstr ""
2710 +
2711 +#. translators: %s: source plugin label.
2712 +#: includes/modules/Migration/MigrationModule.php:998
2713 +#, php-format
2714 +msgid "%s is activated across the whole network, so only a network administrator can switch it off. Your settings were imported — ask a network administrator to deactivate it."
2715 +msgstr ""
2716 +
2717 +#. translators: %s: source plugin label.
2718 +#: includes/modules/Migration/MigrationModule.php:1003
2719 +#, php-format
2720 +msgid "Your account can change settings but not switch plugins off, so %s is still active. Your settings were imported — ask an administrator to deactivate it."
2721 +msgstr ""
2722 +
2723 +#: includes/modules/Minify/MinifyModule.php:36
2724 +msgid "CSS & JavaScript"
2725 +msgstr ""
2726 +
2727 +#: includes/modules/Minify/MinifyModule.php:39
2728 +msgid "Makes HTML, CSS and JavaScript files smaller and loads scripts later."
2729 +msgstr ""
2730 +
2731 +#: includes/modules/Minify/MinifyModule.php:53
2732 +msgid "Minify HTML"
2733 +msgstr ""
2734 +
2735 +#: includes/modules/Minify/MinifyModule.php:58
2736 +msgid "Removes spaces and comments from your pages. Safe on most themes. Only logged-out visitors see it, so check in a private window."
2737 +msgstr ""
2738 +
2739 +#: includes/modules/Minify/MinifyModule.php:63
2740 +msgid "Minify CSS"
2741 +msgstr ""
2742 +
2743 +#: includes/modules/Minify/MinifyModule.php:64
2744 +msgid "Makes your site's own CSS files smaller. CSS from other domains is left alone."
2745 +msgstr ""
2746 +
2747 +#: includes/modules/Minify/MinifyModule.php:69
2748 +msgid "Minify JavaScript"
2749 +msgstr ""
2750 +
2751 +#: includes/modules/Minify/MinifyModule.php:70
2752 +msgid "Makes your site's own JavaScript files smaller. Turn off if a script on your site stops working."
2753 +msgstr ""
2754 +
2755 +#: includes/modules/Minify/MinifyModule.php:75
2756 +msgid "Defer JavaScript"
2757 +msgstr ""
2758 +
2759 +#: includes/modules/Minify/MinifyModule.php:76
2760 +msgid "Runs scripts after the page has loaded, so content shows sooner. jQuery and scripts that need it are skipped."
2761 +msgstr ""
2762 +
2763 +#: includes/modules/Minify/MinifyModule.php:81
2764 +msgid "Delay JavaScript"
2765 +msgstr ""
2766 +
2767 +#: includes/modules/Minify/MinifyModule.php:82
2768 +msgid "Scripts load only when the visitor scrolls, taps or types. Pages show much sooner, but test menus and sliders. Cookie consent banners still load first."
2769 +msgstr ""
2770 +
2771 +#: includes/modules/Minify/MinifyModule.php:87
2772 +msgid "Load CSS without blocking"
2773 +msgstr ""
2774 +
2775 +#: includes/modules/Minify/MinifyModule.php:88
2776 +msgid "On pages that have critical CSS, the page shows before the rest of its CSS finishes loading. Pages without critical CSS keep loading their CSS normally, because deferring it makes the page show unstyled and then jump."
2777 +msgstr ""
2778 +
2779 +#: includes/modules/Minify/MinifyModule.php:93
2780 +msgid "Remove version from file URLs"
2781 +msgstr ""
2782 +
2783 +#: includes/modules/Minify/MinifyModule.php:94
2784 +msgid "Removes ?ver= from CSS and JS links, which some CDNs cache better. After a plugin update, returning visitors may keep old files until their browser cache expires."
2785 +msgstr ""
2786 +
2787 +#: includes/modules/Minify/MinifyModule.php:101
2788 +msgid "Scripts to never defer or delay"
2789 +msgstr ""
2790 +
2791 +#: includes/modules/Minify/MinifyModule.php:102
2792 +msgid "Script handles or parts of script URLs, one per line. jQuery is listed because most themes need it early; cookie consent banners are skipped on their own."
2793 +msgstr ""
2794 +
2795 +#: includes/modules/Minify/MinifyModule.php:116
2796 +msgid "Delay only these scripts"
2797 +msgstr ""
2798 +
2799 +#: includes/modules/Minify/MinifyModule.php:117
2800 +msgid "Script handles or parts of script URLs, one per line. Leave empty to delay all scripts; otherwise only these, plus known trackers and chat widgets, are delayed."
2801 +msgstr ""
2802 +
2803 +#: includes/modules/Minify/MinifyModule.php:118
2804 +msgid "Consent banners and Delay JS"
2805 +msgstr ""
2806 +
2807 +#. translators: %s: comma-separated list of consent plugins, each followed by the word to type in parentheses.
2808 +#: includes/modules/Minify/MinifyModule.php:121
2809 +#, php-format
2810 +msgid "These consent banners load straight away, even with Delay JS on: %s. To delay one on purpose, add the word in parentheses, or the script handle, to this list. An entry that only matches part of the address, such as /plugins/ or .js, never delays a banner, and an entry in Scripts to never defer or delay always wins."
2811 +msgstr ""
2812 +
2813 +#: includes/modules/Minify/MinifyModule.php:129
2814 +msgid "Smart delay"
2815 +msgstr ""
2816 +
2817 +#: includes/modules/Minify/MinifyModule.php:130
2818 +msgid "Also delays scripts that code on the page depends on, which helps page builder sites most. The riskiest setting here, so test menus and sliders."
2819 +msgstr ""
2820 +
2821 +#: includes/modules/Minify/MinifyModule.php:138
2822 +msgid "Delay timeout (ms)"
2823 +msgstr ""
2824 +
2825 +#: includes/modules/Minify/MinifyModule.php:140
2826 +msgid "Load delayed scripts after this long if the visitor does nothing. Set 0 to wait for a scroll, tap or key press only."
2827 +msgstr ""
2828 +
2829 +#: includes/modules/Minify/MinifyModule.php:147
2830 +msgid "Combine CSS files"
2831 +msgstr ""
2832 +
2833 +#: includes/modules/Minify/MinifyModule.php:148
2834 +msgid "Joins your site's own CSS files into one. This helps only on old HTTP/1.1 servers, so leave it off on most hosts."
2835 +msgstr ""
2836 +
2837 +#: includes/modules/Minify/MinifyModule.php:154
2838 +msgid "Combine JavaScript files"
2839 +msgstr ""
2840 +
2841 +#: includes/modules/Minify/MinifyModule.php:155
2842 +msgid "Joins your site's own scripts into one file. Turn off if a script stops working after you enable it."
2843 +msgstr ""
2844 +
2845 +#: includes/modules/Minify/MinifyModule.php:293
2846 +msgid "HTML minification is paused because WP_DEBUG is enabled in wp-config.php. Readable HTML is usually what you want while debugging, so xSpeed leaves the markup alone. Cached pages are served un-minified until WP_DEBUG is turned off."
2847 +msgstr ""
2848 +
2849 +#: includes/modules/Minify/MinifyModule.php:294
2850 +msgid "HTML minification is paused because a plugin or theme is returning true from the xspeed_skip_minify filter. Cached pages are served un-minified until that filter stops suppressing it."
2851 +msgstr ""
2852 +
2853 +#: includes/modules/Minify/MinifyModule.php:299
2854 +msgid "HTML minification is on but currently paused"
2855 +msgstr ""
2856 +
2857 +#: includes/modules/ObjectCache/ObjectCacheModule.php:35
2858 +msgid "Stores database query results in Redis or Memcached so pages build faster."
2859 +msgstr ""
2860 +
2861 +#: includes/modules/ObjectCache/ObjectCacheModule.php:63
2862 +msgid "Cache server"
2863 +msgstr ""
2864 +
2865 +#: includes/modules/ObjectCache/ObjectCacheModule.php:64
2866 +msgid "The cache server your host provides. Ask your host if you are not sure."
2867 +msgstr ""
2868 +
2869 +#: includes/modules/ObjectCache/ObjectCacheModule.php:70
2870 +msgid "Redis host"
2871 +msgstr ""
2872 +
2873 +#: includes/modules/ObjectCache/ObjectCacheModule.php:71
2874 +msgid "Address of the Redis server. Use 127.0.0.1 when Redis runs on the same server as your site."
2875 +msgstr ""
2876 +
2877 +#: includes/modules/ObjectCache/ObjectCacheModule.php:80
2878 +msgid "Redis port"
2879 +msgstr ""
2880 +
2881 +#: includes/modules/ObjectCache/ObjectCacheModule.php:81
2882 +msgid "The default Redis port is 6379."
2883 +msgstr ""
2884 +
2885 +#: includes/modules/ObjectCache/ObjectCacheModule.php:95
2886 +msgid "Redis username"
2887 +msgstr ""
2888 +
2889 +#: includes/modules/ObjectCache/ObjectCacheModule.php:96
2890 +msgid "Only needed if your host gave you a Redis username along with the password. Leave blank otherwise."
2891 +msgstr ""
2892 +
2893 +#: includes/modules/ObjectCache/ObjectCacheModule.php:105
2894 +msgid "Leave blank if your Redis server has no password."
2895 +msgstr ""
2896 +
2897 +#: includes/modules/ObjectCache/ObjectCacheModule.php:114
2898 +msgid "Redis database"
2899 +msgstr ""
2900 +
2901 +#: includes/modules/ObjectCache/ObjectCacheModule.php:115
2902 +msgid "Database number, 0 to 15. If several sites share one Redis server, give each site its own number."
2903 +msgstr ""
2904 +
2905 +#: includes/modules/ObjectCache/ObjectCacheModule.php:144
2906 +msgid "Memcached host"
2907 +msgstr ""
2908 +
2909 +#: includes/modules/ObjectCache/ObjectCacheModule.php:145
2910 +msgid "Address of the Memcached server. Use 127.0.0.1 when it runs on the same server as your site."
2911 +msgstr ""
2912 +
2913 +#: includes/modules/ObjectCache/ObjectCacheModule.php:167
2914 +msgid "Memcached port"
2915 +msgstr ""
2916 +
2917 +#: includes/modules/ObjectCache/ObjectCacheModule.php:168
2918 +msgid "The default Memcached port is 11211."
2919 +msgstr ""
2920 +
2921 +#: includes/modules/ObjectCache/ObjectCacheModule.php:196
2922 +msgid "Cache key prefix"
2923 +msgstr ""
2924 +
2925 +#: includes/modules/ObjectCache/ObjectCacheModule.php:197
2926 +msgid "Leave blank and xSpeed picks a unique prefix for this site. Some managed Redis hosts, such as xCloud, give you a key to paste here, or nothing gets saved."
2927 +msgstr ""
2928 +
2929 +#: includes/modules/ObjectCache/ObjectCacheModule.php:207
2930 +msgid "Connection timeout (seconds)"
2931 +msgstr ""
2932 +
2933 +#: includes/modules/ObjectCache/ObjectCacheModule.php:209
2934 +msgid "How long to wait for the cache server. Keep it at 1 or 2 seconds so a broken cache server never holds up a page."
2935 +msgstr ""
2936 +
2937 +#: includes/modules/ObjectCache/ObjectCacheModule.php:216
2938 +msgid "Persistent connections"
2939 +msgstr ""
2940 +
2941 +#: includes/modules/ObjectCache/ObjectCacheModule.php:217
2942 +msgid "Keep the connection open between page loads. Turn off only if your cache server reports too many idle connections."
2943 +msgstr ""
2944 +
2945 +#: includes/modules/ObjectCache/ObjectCacheModule.php:1053
2946 +msgid "The object cache drop-in is installed and storing data. This is measured from the running cache, not from the settings on this page."
2947 +msgstr ""
2948 +
2949 +#: includes/modules/ObjectCache/ObjectCacheModule.php:1056
2950 +msgid "The drop-in is installed but is not storing anything, so this counts as off. Check the connection settings below."
2951 +msgstr ""
2952 +
2953 +#: includes/modules/ObjectCache/ObjectCacheModule.php:1058
2954 +msgid "No object cache is running. Entering a host below does not switch it on by itself -- the drop-in has to be installed and connect successfully."
2955 +msgstr ""
2956 +
2957 +#: includes/modules/Preloader/PreloaderModule.php:33
2958 +msgid "Crawl Now"
2959 +msgstr ""
2960 +
2961 +#: includes/modules/Preloader/PreloaderModule.php:35
2962 +msgid "Visits your pages ahead of time so visitors get fast cached pages."
2963 +msgstr ""
2964 +
2965 +#: includes/modules/Preloader/PreloaderModule.php:62
2966 +msgid "Your server is blocking the xSpeed cache warmer"
2967 +msgstr ""
2968 +
2969 +#. translators: 1: HTTP status code, 2: the user-agent xSpeed sends.
2970 +#: includes/modules/Preloader/PreloaderModule.php:65
2971 +#, php-format
2972 +msgid "A warm request was refused with HTTP %1$d, which is how a firewall answers when it judges a request by its user-agent. Pages are not being warmed, so the first visitor to each new page waits for an uncached render. Allow the user-agent \"%2$s\" in your server's bad-bot rules — on xCloud this is the 8G firewall — or change it with the xspeed_preloader_user_agent filter. This notice clears itself once a warm gets through."
2973 +msgstr ""
2974 +
2975 +#: includes/modules/Preloader/PreloaderModule.php:79
2976 +msgid "xSpeed visits every page in your sitemap on the schedule below, so each page is cached before a visitor asks for it."
2977 +msgstr ""
2978 +
2979 +#: includes/modules/Preloader/PreloaderModule.php:91
2980 +msgid "Schedule"
2981 +msgstr ""
2982 +
2983 +#: includes/modules/Preloader/PreloaderModule.php:92
2984 +msgid "How often to visit all pages again. Manual means you start it from the dashboard."
2985 +msgstr ""
2986 +
2987 +#: includes/modules/Preloader/PreloaderModule.php:100
2988 +msgid "Pages per run"
2989 +msgstr ""
2990 +
2991 +#: includes/modules/Preloader/PreloaderModule.php:101
2992 +msgid "How many pages are cached on each run. A higher number finishes sooner but puts more load on your server."
2993 +msgstr ""
2994 +
2995 +#: includes/modules/Preloader/PreloaderModule.php:108
2996 +msgid "Sitemap URL (optional)"
2997 +msgstr ""
2998 +
2999 +#: includes/modules/Preloader/PreloaderModule.php:109
3000 +msgid "Use a different sitemap than the WordPress one (/wp-sitemap.xml). Leave blank for the default."
3001 +msgstr ""
3002 +
3003 +#: includes/modules/Preloader/PreloaderModule.php:115
3004 +msgid "Warm new content immediately"
3005 +msgstr ""
3006 +
3007 +#: includes/modules/Preloader/PreloaderModule.php:116
3008 +msgid "Cache a post or page as soon as you publish it, so the first visitor gets the fast cached page."
3009 +msgstr ""
3010 +
3011 +#: includes/modules/Preloader/PreloaderModule.php:122
3012 +msgid "Re-warm after comments"
3013 +msgstr ""
3014 +
3015 +#: includes/modules/Preloader/PreloaderModule.php:123
3016 +msgid "A new comment clears the page from the cache. This caches the page again right away."
3017 +msgstr ""
3018 +
3019 +#: includes/modules/Preloader/PreloaderModule.php:299
737 3020 msgid "Enable the preloader before starting a crawl."
738 3021 msgstr ""
739 3022
740 -#: includes/modules/Score/ScoreModule.php:147
741 -msgid "External scores are turned off. Enable them first — this is the only feature that contacts a third party."
3023 +#: includes/modules/Privacy/PrivacyModule.php:47
3024 +msgid "Privacy & usage data"
742 3025 msgstr ""
743 3026
744 -#: includes/modules/Score/ScoreModule.php:156
3027 +#: includes/modules/Privacy/PrivacyModule.php:49
3028 +msgid "Change the usage data choice you made in the setup wizard."
3029 +msgstr ""
3030 +
3031 +#: includes/modules/Privacy/PrivacyModule.php:59
3032 +msgid "Share usage data"
3033 +msgstr ""
3034 +
3035 +#: includes/modules/Privacy/PrivacyModule.php:60
3036 +msgid "Sends your WordPress and PHP versions, theme, plugins, server type and the features you use, never page content. Turn it off to stop all sending."
3037 +msgstr ""
3038 +
3039 +#: includes/modules/ResourceHints/ResourceHintsModule.php:60
3040 +msgid "Resource Hints"
3041 +msgstr ""
3042 +
3043 +#: includes/modules/ResourceHints/ResourceHintsModule.php:61
3044 +msgid "Hints"
3045 +msgstr ""
3046 +
3047 +#: includes/modules/ResourceHints/ResourceHintsModule.php:63
3048 +msgid "Tells the browser to fetch the main image and fonts early."
3049 +msgstr ""
3050 +
3051 +#: includes/modules/ResourceHints/ResourceHintsModule.php:78
3052 +msgid "Enable resource hints"
3053 +msgstr ""
3054 +
3055 +#: includes/modules/ResourceHints/ResourceHintsModule.php:79
3056 +msgid "Turns on all the hints below. They are safe on every theme, so this is on by default."
3057 +msgstr ""
3058 +
3059 +#: includes/modules/ResourceHints/ResourceHintsModule.php:84
3060 +msgid "Preload the main image"
3061 +msgstr ""
3062 +
3063 +#: includes/modules/ResourceHints/ResourceHintsModule.php:85
3064 +msgid "Finds the largest image at the top of the page and tells the browser to fetch it first. This usually gives the biggest LCP gain."
3065 +msgstr ""
3066 +
3067 +#: includes/modules/ResourceHints/ResourceHintsModule.php:93
3068 +msgid "Images to preload"
3069 +msgstr ""
3070 +
3071 +#: includes/modules/ResourceHints/ResourceHintsModule.php:94
3072 +msgid "How many images at the top of the page to preload. 1 suits most sites; raise it only if the top shows a small gallery."
3073 +msgstr ""
3074 +
3075 +#: includes/modules/ResourceHints/ResourceHintsModule.php:102
3076 +msgid "Excluded from preload"
3077 +msgstr ""
3078 +
3079 +#: includes/modules/ResourceHints/ResourceHintsModule.php:103
3080 +msgid "Images whose tag contains a line here, such as a file name or class, are never picked as the main image. Useful for tracking pixels and spacers."
3081 +msgstr ""
3082 +
3083 +#: includes/modules/ResourceHints/ResourceHintsModule.php:110
3084 +msgid "Always preload these images"
3085 +msgstr ""
3086 +
3087 +#: includes/modules/ResourceHints/ResourceHintsModule.php:111
3088 +msgid "Image URLs to fetch first on every page, such as a hero background set in CSS. Keep it to one or two; only the first three are used."
3089 +msgstr ""
3090 +
3091 +#: includes/modules/ResourceHints/ResourceHintsModule.php:117
3092 +msgid "Connect early to Google Fonts"
3093 +msgstr ""
3094 +
3095 +#: includes/modules/ResourceHints/ResourceHintsModule.php:118
3096 +msgid "When the page uses Google Fonts, the browser connects to Google's servers early, so fonts arrive sooner."
3097 +msgstr ""
3098 +
3099 +#: includes/modules/ResourceHints/ResourceHintsModule.php:125
3100 +msgid "Other domains to connect early"
3101 +msgstr ""
3102 +
3103 +#: includes/modules/ResourceHints/ResourceHintsModule.php:126
3104 +msgid "One address per line, such as https://cdn.example.com. Use for a CDN or other domain that serves files at the top of the page."
3105 +msgstr ""
3106 +
3107 +#: includes/modules/Score/ScoreModule.php:58
3108 +msgid "Speed Test"
3109 +msgstr ""
3110 +
3111 +#: includes/modules/Score/ScoreModule.php:64
3112 +msgid "Run a PageSpeed Insights or GTmetrix test and keep a history of the scores."
3113 +msgstr ""
3114 +
3115 +#: includes/modules/Score/ScoreModule.php:78
3116 +msgid "Allow speed tests"
3117 +msgstr ""
3118 +
3119 +#: includes/modules/Score/ScoreModule.php:84
3120 +msgid "Turns on the first time you run a speed test. Switch it off and no feature, not even an optimize run, contacts a test provider."
3121 +msgstr ""
3122 +
3123 +#: includes/modules/Score/ScoreModule.php:99
3124 +msgid "Test provider"
3125 +msgstr ""
3126 +
3127 +#: includes/modules/Score/ScoreModule.php:100
3128 +msgid "PageSpeed Insights works without an API key. GTmetrix needs one."
3129 +msgstr ""
3130 +
3131 +#: includes/modules/Score/ScoreModule.php:105
3132 +msgid "PageSpeed API key (optional)"
3133 +msgstr ""
3134 +
3135 +#: includes/modules/Score/ScoreModule.php:106
3136 +msgid "Only needed if Google starts refusing tests without a key. You can get a free key at cloud.google.com."
3137 +msgstr ""
3138 +
3139 +#: includes/modules/Score/ScoreModule.php:119
3140 +msgid "GTmetrix API key"
3141 +msgstr ""
3142 +
3143 +#: includes/modules/Score/ScoreModule.php:120
3144 +msgid "GTmetrix does not run tests without a key. Find it in your GTmetrix account settings."
3145 +msgstr ""
3146 +
3147 +#: includes/modules/Score/ScoreModule.php:129
3148 +msgid "URL to test"
3149 +msgstr ""
3150 +
3151 +#: includes/modules/Score/ScoreModule.php:130
3152 +msgid "Leave empty to test your home page."
3153 +msgstr ""
3154 +
3155 +#: includes/modules/Score/ScoreModule.php:136
3156 +msgid "Device"
3157 +msgstr ""
3158 +
3159 +#: includes/modules/Score/ScoreModule.php:137
3160 +msgid "Test as a phone or a desktop visitor. Google ranks sites on the mobile result."
3161 +msgstr ""
3162 +
3163 +#: includes/modules/Score/ScoreModule.php:339
3164 +#: includes/modules/Score/ScoreModule.php:385
3165 +msgid "Hub-run speed tests are not enabled on this site."
3166 +msgstr ""
3167 +
3168 +#: includes/modules/Score/ScoreModule.php:448
745 3169 msgid "No URL to test."
746 3170 msgstr ""
747 3171
748 -#: src/onboarding/steps/Connect.tsx:146
3172 +#: includes/modules/Score/ScoreModule.php:545
3173 +msgid "xSpeed Hub accepted the test but returned no run id. Please try again."
3174 +msgstr ""
3175 +
3176 +#: includes/modules/Score/ScoreModule.php:624
3177 +msgid "The audit did not produce a result."
3178 +msgstr ""
3179 +
3180 +#. translators: %s: module slug.
3181 +#: includes/modules/Settings/SettingsModule.php:324
3182 +#, php-format
3183 +msgid "Refused a CLI settings write to the Pro module \"%s\" — no valid license."
3184 +msgstr ""
3185 +
3186 +#: includes/modules/Support/SupportModule.php:28
3187 +msgid "Help & Support"
3188 +msgstr ""
3189 +
3190 +#: includes/modules/Support/SupportModule.php:30
3191 +msgid "Open a support ticket with a one-click system snapshot already attached."
3192 +msgstr ""
3193 +
3194 +#: includes/modules/Support/SupportModule.php:41
3195 +msgid "Support URL"
3196 +msgstr ""
3197 +
3198 +#: includes/modules/Support/SupportModule.php:42
3199 +msgid "The page the \"Open ticket\" button opens. Leave the default to reach xSpeed support."
3200 +msgstr ""
3201 +
3202 +#: includes/modules/TurboRender/TurboRenderModule.php:105
3203 +msgid "Turbo Render"
3204 +msgstr ""
3205 +
3206 +#: includes/modules/TurboRender/TurboRenderModule.php:107
3207 +msgid "Shows the top of each page first and the rest as visitors scroll."
3208 +msgstr ""
3209 +
3210 +#: includes/modules/TurboRender/TurboRenderModule.php:117
3211 +msgid "Render as visitors scroll"
3212 +msgstr ""
3213 +
3214 +#: includes/modules/TurboRender/TurboRenderModule.php:118
3215 +msgid "The browser draws what visitors see first and draws lower sections just before they scroll to them. Your content does not change."
3216 +msgstr ""
3217 +
3218 +#: includes/modules/TurboRender/TurboRenderModule.php:125
3219 +msgid "Sections to render immediately"
3220 +msgstr ""
3221 +
3222 +#: includes/modules/TurboRender/TurboRenderModule.php:126
3223 +msgid "How many sections at the top are drawn right away. The default of 2 suits most pages; raise it if a section near the top appears late."
3224 +msgstr ""
3225 +
3226 +#: includes/modules/TurboRender/TurboRenderModule.php:132
3227 +msgid "Section classes"
3228 +msgstr ""
3229 +
3230 +#: includes/modules/TurboRender/TurboRenderModule.php:133
3231 +msgid "CSS classes that mark a section. The defaults cover the main page builders, and other themes are detected on their own."
3232 +msgstr ""
3233 +
3234 +#: includes/modules/TurboRender/TurboRenderModule.php:140
3235 +msgid "Excluded classes"
3236 +msgstr ""
3237 +
3238 +#: includes/modules/TurboRender/TurboRenderModule.php:141
3239 +msgid "Sections with any of these classes are always drawn right away. Add one here if part of a section gets cut off where it overlaps the next."
3240 +msgstr ""
3241 +
3242 +#: xspeed.php:220
3243 +msgid "is missing files and could not start, so no new pages are being cached. Pages already in the cache are still being served, and while the plugin is in this state nothing clears them automatically. Deactivating xSpeed empties the cache; reinstalling the plugin restores it. Deactivating alone will not repair the installation."
3244 +msgstr ""
3245 +
3246 +#: xspeed.php:300
3247 +msgid "xSpeed Cache could not start."
3248 +msgstr ""
3249 +
3250 +#: xspeed.php:301
3251 +msgid "Some of its files are missing, so it stopped rather than take the site down with it. No new pages are being cached, but pages already in the cache are still being served and nothing clears them while the plugin is in this state. Re-install or re-upload the plugin to restore it, then purge the cache."
3252 +msgstr ""
3253 +
3254 +#. Source: src/onboarding/steps/Connect.tsx:154
3255 +#: assets/admin.js
749 3256 msgid "“clear the cache on my store,” “warm up the homepage,” “how fast is my blog?”"
750 3257 msgstr ""
751 3258
752 -#: src/components/cache/ImpactHero.tsx:76
3259 +#. Source: src/components/CfeOfferCard.tsx:53
3260 +#: assets/admin.js
3261 +msgid "/domain/mo"
3262 +msgstr ""
3263 +
3264 +#. Source: src/components/score/ScorePanel.tsx:96
3265 +#. Source: src/components/score/SpeedTestCard.tsx:135
3266 +#: assets/admin.js
3267 +msgid "%1$d of %2$d left"
3268 +msgstr ""
3269 +
3270 +#. Source: src/components/dropinNotice.ts:34
3271 +#: assets/admin.js
3272 +msgid "%s currently owns the page-cache file. xSpeed will replace it and serve the cached pages itself."
3273 +msgstr ""
3274 +
3275 +#. Source: src/components/purgeOutcome.ts:45
3276 +#: assets/admin.js
3277 +msgid "%s: %s"
3278 +msgstr ""
3279 +
3280 +#. Source: src/components/health/HealthCard.tsx:172
3281 +#: assets/admin.js
3282 +msgid "24-hour cache request volume"
3283 +msgstr ""
3284 +
3285 +#. Source: src/components/cache/ImpactHero.tsx:76
3286 +#: assets/admin.js
753 3287 msgid "30 days"
754 3288 msgstr ""
755 3289
756 -#: src/components/cache/ImpactHero.tsx:75
3290 +#. Source: src/components/cache/ImpactHero.tsx:75
3291 +#: assets/admin.js
757 3292 msgid "7 days"
758 3293 msgstr ""
759 3294
760 -#: src/upsell/LockedPanel.tsx:117
761 -#: src/upsell/LockedSection.tsx:99
762 -#: src/upsell/ProDemo.tsx:105
3295 +#. Source: src/components/score/ScanCard.tsx:198
3296 +#: assets/admin.js
3297 +msgid "A full graded report: Core Web Vitals, caching, assets and platform."
3298 +msgstr ""
3299 +
3300 +#. Source: src/components/SecretField.tsx:95
3301 +#: assets/admin.js
3302 +msgid "A key is saved. Type to replace it; use ✕ to remove it."
3303 +msgstr ""
3304 +
3305 +#. Source: src/components/cache/CacheHero.tsx:245
3306 +#: assets/admin.js
3307 +msgid "Absorbed"
3308 +msgstr ""
3309 +
3310 +#. Source: src/components/CommandPalette.tsx:236
3311 +#: assets/admin.js
3312 +msgid "Action"
3313 +msgstr ""
3314 +
3315 +#. Source: src/components/Sidebar.tsx:523
3316 +#. Source: src/components/Sidebar.tsx:544
3317 +#. Source: src/upsell/LockedPanel.tsx:76
3318 +#. Source: src/upsell/ProOverview.tsx:73
3319 +#: assets/admin.js
3320 +msgid "Activate License"
3321 +msgstr ""
3322 +
3323 +#. Source: src/upsell/LockedPanel.tsx:193
3324 +#. Source: src/upsell/LockedSection.tsx:88
3325 +#. Source: src/upsell/ProDemo.tsx:92
3326 +#: assets/admin.js
763 3327 msgid "Activate your license"
764 3328 msgstr ""
765 3329
766 -#: src/upsell/LockedPanel.tsx:164
767 -#: src/upsell/LockedPanel.tsx:43
3330 +#. Source: src/upsell/LockedPanel.tsx:129
3331 +#. Source: src/upsell/LockedPanel.tsx:240
3332 +#: assets/admin.js
768 3333 msgid "Activating your license unlocks this module + every other locked row in the sidebar. Your current settings stay unchanged."
769 3334 msgstr ""
770 3335
771 -#: src/onboarding/steps/Connect.tsx:225
3336 +#. Source: src/onboarding/steps/Connect.tsx:233
3337 +#: assets/admin.js
772 3338 msgid "Add site form"
773 3339 msgstr ""
774 3340
775 -#: src/components/cache/StatDrilldown.tsx:183
3341 +#. Source: src/components/cache/StatDrilldown.tsx:192
3342 +#: assets/admin.js
776 3343 msgid "Address not recorded"
777 3344 msgstr ""
778 3345
779 -#: src/components/cache/StatDrilldown.tsx:154
3346 +#. Source: src/components/score/ScorePanel.tsx:660
3347 +#: assets/admin.js
3348 +msgid "After"
3349 +msgstr ""
3350 +
3351 +#. Source: src/components/cache/StatDrilldown.tsx:163
3352 +#: assets/admin.js
780 3353 msgid "Age"
781 3354 msgstr ""
782 3355
783 -#: src/components/score/ScorePanel.tsx:102
784 -#: src/components/score/ScorePanel.tsx:103
785 -#: src/components/score/ScorePanel.tsx:104
3356 +#. Source: src/components/score/ScorePanel.tsx:202
3357 +#. Source: src/components/score/ScorePanel.tsx:203
3358 +#. Source: src/components/score/ScorePanel.tsx:204
3359 +#: assets/admin.js
786 3360 msgid "ago"
787 3361 msgstr ""
788 3362
789 -#: src/components/overview/Recommendations.tsx:151
3363 +#. Source: src/components/overview/AiControlCard.tsx:237
3364 +#: assets/admin.js
3365 +msgid "AI connection active"
3366 +msgstr ""
3367 +
3368 +#. Source: src/upsell/LockedPanel.tsx:95
3369 +#: assets/admin.js
3370 +msgid "Already bought both? Enter your license keys"
3371 +msgstr ""
3372 +
3373 +#. Source: src/components/TopBar.tsx:199
3374 +#: assets/admin.js
3375 +msgid "Already empty"
3376 +msgstr ""
3377 +
3378 +#. Source: src/components/purgeOutcome.ts:57
3379 +#: assets/admin.js
3380 +msgid "Also cleared: %s."
3381 +msgstr ""
3382 +
3383 +#. Source: src/components/overview/Recommendations.tsx:190
3384 +#: assets/admin.js
790 3385 msgid "Also worth a look"
791 3386 msgstr ""
792 3387
793 -#: src/onboarding/steps/Connect.tsx:148
3388 +#. Source: src/components/cache/CacheHero.tsx:231
3389 +#: assets/admin.js
3390 +msgid "An edge cache (Cloudflare) is in front, so this hit ratio is origin-layer only — hits served at the edge never reach the origin and aren’t counted here."
3391 +msgstr ""
3392 +
3393 +#. Source: src/components/overview/McpSessionDemo.tsx:216
3394 +#: assets/admin.js
3395 +msgid "Analyzing site…"
3396 +msgstr ""
3397 +
3398 +#. Source: src/onboarding/steps/Connect.tsx:156
3399 +#: assets/admin.js
794 3400 msgid "and it happens."
795 3401 msgstr ""
796 3402
797 -#: src/components/cache/NextBestAction.tsx:122
798 -#: src/components/overview/Recommendations.tsx:79
3403 +#. Source: src/components/dropinNotice.ts:43
3404 +#: assets/admin.js
3405 +msgid "Another page-cache file is already in wp-content. xSpeed will replace it with its own to serve cached pages."
3406 +msgstr ""
3407 +
3408 +#. Source: src/components/overview/HeroStatus.tsx:44
3409 +#: assets/admin.js
3410 +msgid "Another plugin owns the page cache on this site, so xSpeed is serving nothing."
3411 +msgstr ""
3412 +
3413 +#. Source: src/components/cache/NextBestAction.tsx:122
3414 +#. Source: src/components/overview/Recommendations.tsx:101
3415 +#: assets/admin.js
799 3416 msgid "Applied"
800 3417 msgstr ""
801 3418
802 -#: src/components/FieldSuggestionStrip.tsx:125
3419 +#. Source: src/components/overview/McpSessionDemo.tsx:211
3420 +#: assets/admin.js
3421 +msgid "Applied 3 optimizations"
3422 +msgstr ""
3423 +
3424 +#. Source: src/components/FieldSuggestionStrip.tsx:125
3425 +#: assets/admin.js
803 3426 msgid "Apply"
804 3427 msgstr ""
805 3428
806 -#: src/upsell/ProAudit.tsx:46
3429 +#. Source: src/components/score/ScanCard.tsx:85
3430 +#: assets/admin.js
3431 +msgid "Assets"
3432 +msgstr ""
3433 +
3434 +#. Source: src/upsell/ProAudit.tsx:46
3435 +#: assets/admin.js
807 3436 msgid "Audit failed"
808 3437 msgstr ""
809 3438
810 -#: src/components/cache/CacheBenchmark.tsx:36
3439 +#. Source: src/components/cache/StatDrilldown.tsx:325
3440 +#: assets/admin.js
3441 +msgid "Automatic cleanup has not run yet — first sweep in %s."
3442 +msgstr ""
3443 +
3444 +#. Source: src/components/cache/StatDrilldown.tsx:317
3445 +#: assets/admin.js
3446 +msgid "Automatic cleanup ran %1$s ago — %2$d file(s) removed, %3$d in total."
3447 +msgstr ""
3448 +
3449 +#. Source: src/components/overview/MetricGrid.tsx:57
3450 +#: assets/admin.js
3451 +msgid "Avg saved"
3452 +msgstr ""
3453 +
3454 +#. Source: src/components/score/ScorePanel.tsx:659
3455 +#: assets/admin.js
3456 +msgid "Before"
3457 +msgstr ""
3458 +
3459 +#. Source: src/components/cache/CacheBenchmark.tsx:36
3460 +#: assets/admin.js
811 3461 msgid "Benchmark failed"
812 3462 msgstr ""
813 3463
814 -#: src/components/cache/TrendCharts.tsx:258
3464 +#. Source: src/components/cache/TrendCharts.tsx:263
3465 +#: assets/admin.js
815 3466 msgid "Benchmark trend"
816 3467 msgstr ""
817 3468
818 -#: src/components/cache/TrendCharts.tsx:134
3469 +#. Source: src/components/cache/TrendCharts.tsx:139
3470 +#: assets/admin.js
819 3471 msgid "Benchmark: cached vs uncached (ms)"
820 3472 msgstr ""
821 3473
822 -#: src/components/overview/Recommendations.tsx:191
823 -msgid "Book a free performance review and our engineers will hand-configure xSpeed Cache for your site, applying proven best practices for maximum speed, stability, and compatibility."
3474 +#. Source: src/components/overview/Recommendations.tsx:239
3475 +#: assets/admin.js
3476 +msgid "Book"
824 3477 msgstr ""
825 3478
826 -#: src/components/overview/Recommendations.tsx:200
827 -msgid "Book expert setup"
3479 +#. Source: src/components/overview/Recommendations.tsx:230
3480 +#: assets/admin.js
3481 +msgid "Book a free setup review with our team."
828 3482 msgstr ""
829 3483
830 -#: src/components/overview/FeatureMap.tsx:73
3484 +#. Source: src/components/cache/CacheHero.tsx:249
3485 +#: assets/admin.js
3486 +msgid "bot, 404 and cache-warming requests in 24h — excluded from the hit ratio."
3487 +msgstr ""
3488 +
3489 +#. Source: src/components/TopBar.tsx:84
3490 +#: assets/admin.js
3491 +msgid "Breadcrumb"
3492 +msgstr ""
3493 +
3494 +#. Source: src/components/overview/FeatureMap.tsx:114
3495 +#: assets/admin.js
831 3496 msgid "Browse all"
832 3497 msgstr ""
833 3498
834 -#: src/components/overview/HeroStatus.tsx:38
835 -msgid "bypassing PHP"
3499 +#. Source: src/components/sidebarGroups.ts:82
3500 +#: assets/admin.js
3501 +msgid "Cache"
836 3502 msgstr ""
837 3503
838 -#: src/components/overview/HeroStatus.tsx:77
839 -msgid "Cache active"
3504 +#. Source: src/components/purgeOutcome.ts:84
3505 +#: assets/admin.js
3506 +msgid "Cache cleared: %d file (%s)."
3507 +msgid_plural "Cache cleared: %d files (%s)."
3508 +msgstr[0] ""
3509 +msgstr[1] ""
3510 +
3511 +#. Source: src/components/purgeOutcome.ts:91
3512 +#: assets/admin.js
3513 +msgid "Cache cleared: %d file."
3514 +msgid_plural "Cache cleared: %d files."
3515 +msgstr[0] ""
3516 +msgstr[1] ""
3517 +
3518 +#. Source: src/components/purgeOutcome.ts:80
3519 +#: assets/admin.js
3520 +msgid "Cache cleared."
840 3521 msgstr ""
841 3522
842 -#: src/components/cache/CacheBenchmark.tsx:49
3523 +#. Source: src/App.tsx:355
3524 +#: assets/admin.js
3525 +msgid "Cache could not be enabled."
3526 +msgstr ""
3527 +
3528 +#. Source: src/components/health/HealthHero.tsx:28
3529 +#: assets/admin.js
3530 +msgid "Cache coverage"
3531 +msgstr ""
3532 +
3533 +#. Source: src/App.tsx:367
3534 +#: assets/admin.js
3535 +msgid "Cache disabled"
3536 +msgstr ""
3537 +
3538 +#. Source: src/App.tsx:367
3539 +#: assets/admin.js
3540 +msgid "Cache enabled"
3541 +msgstr ""
3542 +
3543 +#. Source: src/App.tsx:361
3544 +#: assets/admin.js
3545 +msgid "Cache enabled, but nothing will be cached until WP_CACHE is added to wp-config.php — copy the line from Health."
3546 +msgstr ""
3547 +
3548 +#. Source: src/components/cache/CacheBenchmark.tsx:49
3549 +#: assets/admin.js
843 3550 msgid "Cache impact benchmark"
844 3551 msgstr ""
845 3552
846 -#: src/components/overview/HeroStatus.tsx:77
3553 +#. Source: src/components/overview/HeroStatus.tsx:77
3554 +#: assets/admin.js
847 3555 msgid "Cache inactive"
848 3556 msgstr ""
849 3557
850 -#: src/components/cache/CacheBenchmark.tsx:99
3558 +#. Source: src/components/cache/CacheBenchmark.tsx:99
3559 +#: assets/admin.js
851 3560 msgid "Cache is"
852 3561 msgstr ""
853 3562
854 -#: src/components/cache/CacheBenchmark.tsx:112
3563 +#. Source: src/components/cache/CacheBenchmark.tsx:112
3564 +#: assets/admin.js
855 3565 msgid "Cache is disabled — both runs hit the same uncached path. Enable Cache to see a real difference."
856 3566 msgstr ""
857 3567
858 -#: src/components/overview/MetricGrid.tsx:23
3568 +#. Source: src/components/overview/HeroStatus.tsx:77
3569 +#: assets/admin.js
3570 +msgid "Cache on, but not serving"
3571 +msgstr ""
3572 +
3573 +#. Source: src/components/overview/McpSessionDemo.tsx:228
3574 +#: assets/admin.js
3575 +msgid "Cache optimized"
3576 +msgstr ""
3577 +
3578 +#. Source: src/components/purgeOutcome.ts:53
3579 +#: assets/admin.js
3580 +msgid "Cache partly cleared."
3581 +msgstr ""
3582 +
3583 +#. Source: src/components/purgeOutcome.ts:29
3584 +#: assets/admin.js
3585 +msgid "Cache purged"
3586 +msgstr ""
3587 +
3588 +#. Source: src/components/health/HealthHero.tsx:30
3589 +#. Source: src/components/overview/MetricGrid.tsx:56
3590 +#: assets/admin.js
859 3591 msgid "Cache size"
860 3592 msgstr ""
861 3593
862 -#: src/components/overview/HeroStatus.tsx:69
3594 +#. Source: src/components/overview/HeroStatus.tsx:49
3595 +#: assets/admin.js
863 3596 msgid "Cache status"
864 3597 msgstr ""
865 3598
866 -#: src/components/cache/TrendCharts.tsx:270
3599 +#. Source: src/components/overview/AiControlCard.tsx:67
3600 +#: assets/admin.js
3601 +msgid "Cache, compression & more"
3602 +msgstr ""
3603 +
3604 +#. Source: src/components/cache/TrendCharts.tsx:275
3605 +#: assets/admin.js
867 3606 msgid "cached"
868 3607 msgstr ""
869 3608
870 -#: src/components/cache/StatDrilldown.tsx:131
871 -#: src/components/overview/MetricGrid.tsx:18
3609 +#. Source: src/components/cache/StatDrilldown.tsx:140
3610 +#. Source: src/components/health/HealthHero.tsx:29
3611 +#. Source: src/components/overview/MetricGrid.tsx:55
3612 +#: assets/admin.js
872 3613 msgid "Cached pages"
873 3614 msgstr ""
874 3615
875 -#: src/components/cache/ImpactHero.tsx:90
3616 +#. Source: src/components/cache/ImpactHero.tsx:90
3617 +#: assets/admin.js
876 3618 msgid "cached pages in 24h — saving your visitors"
877 3619 msgstr ""
878 3620
879 -#: src/components/SettingsSearch.tsx:251
880 -msgid "Clear search"
3621 +#. Source: src/components/CacheSwitch.tsx:180
3622 +#: assets/admin.js
3623 +msgid "Caching"
881 3624 msgstr ""
882 3625
883 -#: src/components/cache/CacheBenchmark.tsx:126
3626 +#. Source: src/components/CacheSwitch.tsx:174
3627 +#: assets/admin.js
3628 +msgid "Caching — loading"
3629 +msgstr ""
3630 +
3631 +#. Source: src/components/CacheSwitch.tsx:261
3632 +#. Source: src/components/cache/CacheHero.tsx:177
3633 +#: assets/admin.js
3634 +msgid "Cancel"
3635 +msgstr ""
3636 +
3637 +#. Source: src/components/sidebarGroups.ts:98
3638 +#: assets/admin.js
3639 +msgid "CDN, your own Cloudflare zone and Cloudflare Enterprise."
3640 +msgstr ""
3641 +
3642 +#. Source: src/components/score/ScorePanel.tsx:661
3643 +#: assets/admin.js
3644 +msgid "Change"
3645 +msgstr ""
3646 +
3647 +#. Source: src/components/score/ScorePanel.tsx:190
3648 +#: assets/admin.js
3649 +msgid "Change across the runs shown"
3650 +msgstr ""
3651 +
3652 +#. Source: src/components/overview/AiControlCard.tsx:240
3653 +#: assets/admin.js
3654 +msgid "Checking your AI connection…"
3655 +msgstr ""
3656 +
3657 +#. Source: src/components/overview/ScoreCard.tsx:199
3658 +#: assets/admin.js
3659 +msgid "Checking your score"
3660 +msgstr ""
3661 +
3662 +#. Source: src/components/database/DatabaseCleanerPanel.tsx:297
3663 +#: assets/admin.js
3664 +msgid "Cleaning"
3665 +msgstr ""
3666 +
3667 +#. Source: src/components/score/ScorePanel.tsx:652
3668 +#: assets/admin.js
3669 +msgid "Clear"
3670 +msgstr ""
3671 +
3672 +#. Source: src/components/TopBar.tsx:197
3673 +#: assets/admin.js
3674 +msgid "Cleared"
3675 +msgstr ""
3676 +
3677 +#. Source: src/components/purgeOutcome.ts:62
3678 +#: assets/admin.js
3679 +msgid "Cleared: %s."
3680 +msgstr ""
3681 +
3682 +#. Source: src/components/cache/CacheBenchmark.tsx:126
3683 +#: assets/admin.js
884 3684 msgid "Click \"Run benchmark\" to compare load times."
885 3685 msgstr ""
886 3686
887 -#: src/components/Sidebar.tsx:192
888 -msgid "Cmd/Ctrl + K"
3687 +#. Source: src/components/Sidebar.tsx:275
3688 +#. Source: src/components/Sidebar.tsx:323
3689 +#: assets/admin.js
3690 +msgid "Close navigation"
889 3691 msgstr ""
890 3692
891 -#: src/components/Sidebar.tsx:497
892 -msgid "Collapse"
3693 +#. Source: src/components/CfeOfferCard.tsx:123
3694 +#. Source: src/components/CfeOfferCard.tsx:149
3695 +#. Source: src/components/CfeOfferCard.tsx:211
3696 +#. Source: src/components/CfeOfferCard.tsx:222
3697 +#. Source: src/components/CfeOfferCard.tsx:99
3698 +#: assets/admin.js
3699 +msgid "Cloudflare Enterprise"
893 3700 msgstr ""
894 3701
895 -#: src/components/Sidebar.tsx:482
896 -#: src/components/Sidebar.tsx:488
897 -#: src/components/Sidebar.tsx:489
3702 +#. Source: src/components/CfeOfferCard.tsx:196
3703 +#: assets/admin.js
3704 +msgid "Cloudflare Enterprise add-on"
3705 +msgstr ""
3706 +
3707 +#. Source: src/components/Sidebar.tsx:341
3708 +#. Source: src/components/Sidebar.tsx:346
3709 +#: assets/admin.js
898 3710 msgid "Collapse sidebar"
899 3711 msgstr ""
900 3712
901 -#: src/upsell/LockedPanel.tsx:138
3713 +#. Source: src/components/CommandPalette.tsx:172
3714 +#: assets/admin.js
3715 +msgid "Command palette"
3716 +msgstr ""
3717 +
3718 +#. Source: src/components/score/ScorePanel.tsx:724
3719 +#: assets/admin.js
3720 +msgid "Compare"
3721 +msgstr ""
3722 +
3723 +#. Source: src/upsell/LockedPanel.tsx:214
3724 +#: assets/admin.js
902 3725 msgid "Compare plans"
903 3726 msgstr ""
904 3727
905 -#: src/components/cache/CacheBenchmark.tsx:52
3728 +#. Source: src/components/score/ScorePanel.tsx:754
3729 +#: assets/admin.js
3730 +msgid "Compare this run"
3731 +msgstr ""
3732 +
3733 +#. Source: src/components/cache/CacheBenchmark.tsx:52
3734 +#: assets/admin.js
906 3735 msgid "Compare your homepage with and without cache."
907 3736 msgstr ""
908 3737
909 -#: src/onboarding/steps/Connect.tsx:116
3738 +#. Source: src/components/overview/McpSessionDemo.tsx:229
3739 +#: assets/admin.js
3740 +msgid "Compression enabled"
3741 +msgstr ""
3742 +
3743 +#. Source: src/components/score/ConnectHubModal.tsx:151
3744 +#: assets/admin.js
3745 +msgid "Connect"
3746 +msgstr ""
3747 +
3748 +#. Source: src/components/sidebarGroups.ts:123
3749 +#: assets/admin.js
3750 +msgid "Connect an AI agent to this site, and control what AI features may use."
3751 +msgstr ""
3752 +
3753 +#. Source: src/components/TopBar.tsx:142
3754 +#: assets/admin.js
3755 +msgid "Connect Hub"
3756 +msgstr ""
3757 +
3758 +#. Source: src/components/score/ConnectHubModal.tsx:113
3759 +#: assets/admin.js
3760 +msgid "Connect this site to xSpeed Hub to run GTmetrix tests from here."
3761 +msgstr ""
3762 +
3763 +#. Source: src/onboarding/steps/Connect.tsx:124
3764 +#: assets/admin.js
910 3765 msgid "Connect this site to your free xSpeed Hub — then manage caching here and on every other site straight from ChatGPT, Claude, or any AI assistant. Free, forever."
911 3766 msgstr ""
912 3767
913 -#: src/components/overview/HubCard.tsx:126
3768 +#. Source: src/components/overview/HubCard.tsx:168
3769 +#: assets/admin.js
914 3770 msgid "Connect to control caching remotely, drive it from AI agents, and manage all your sites in one place."
915 3771 msgstr ""
916 3772
917 -#: src/components/overview/HubCard.tsx:133
918 -#: src/components/overview/HubCard.tsx:140
3773 +#. Source: src/components/overview/HubCard.tsx:175
3774 +#. Source: src/components/overview/HubCard.tsx:182
3775 +#: assets/admin.js
919 3776 msgid "Connect to Hub"
920 3777 msgstr ""
921 3778
922 -#: src/onboarding/steps/Connect.tsx:187
923 -msgid "Connect to xSpeed Hub"
3779 +#. Source: src/components/overview/AiControlCard.tsx:325
3780 +#: assets/admin.js
3781 +msgid "Connect with MCP"
924 3782 msgstr ""
925 3783
926 -#: src/components/overview/HubCard.tsx:104
3784 +#. Source: src/components/overview/AiControlCard.tsx:291
3785 +#: assets/admin.js
3786 +msgid "Connect your AI agent through MCP — then just ask it to analyze and optimize your site."
3787 +msgstr ""
3788 +
3789 +#. Source: src/components/overview/HubCard.tsx:146
3790 +#: assets/admin.js
927 3791 msgid "Connected"
928 3792 msgstr ""
929 3793
930 -#: src/components/overview/HubCard.tsx:113
3794 +#. Source: src/components/score/ConnectHubModal.tsx:105
3795 +#: assets/admin.js
3796 +msgid "Connected — starting your test…"
3797 +msgstr ""
3798 +
3799 +#. Source: src/components/overview/HubCard.tsx:155
3800 +#: assets/admin.js
931 3801 msgid "Connected as"
932 3802 msgstr ""
933 3803
934 -#: src/onboarding/steps/Connect.tsx:60
3804 +#. Source: src/onboarding/steps/Connect.tsx:68
3805 +#: assets/admin.js
935 3806 msgid "Connected as %s. Your caching is ready to manage from anywhere."
936 3807 msgstr ""
937 3808
938 -#: src/onboarding/steps/Connect.tsx:57
3809 +#. Source: src/onboarding/steps/Connect.tsx:65
3810 +#: assets/admin.js
939 3811 msgid "Connected to xSpeed Hub"
940 3812 msgstr ""
941 3813
942 -#: src/components/overview/HubCard.tsx:113
3814 +#. Source: src/components/score/ScanCard.tsx:234
3815 +#: assets/admin.js
3816 +msgid "Connected to xSpeed Hub — this report stays unlisted, not published under your domain."
3817 +msgstr ""
3818 +
3819 +#. Source: src/components/RewriteAlert.tsx:102
3820 +#: assets/admin.js
3821 +msgid "Containerized nginx detected — paste into your container config"
3822 +msgstr ""
3823 +
3824 +#. Source: src/components/overview/AiControlCard.tsx:286
3825 +#: assets/admin.js
3826 +msgid "Control and optimize your site with AI"
3827 +msgstr ""
3828 +
3829 +#. Source: src/components/overview/HubCard.tsx:155
3830 +#: assets/admin.js
943 3831 msgid "Control caching remotely and from AI agents."
944 3832 msgstr ""
945 3833
946 -#: src/components/overview/HubCard.tsx:114
3834 +#. Source: src/components/overview/HubCard.tsx:156
3835 +#: assets/admin.js
947 3836 msgid "Control caching remotely, drive it from AI agents, and manage your sites in one place."
948 3837 msgstr ""
949 3838
950 -#: src/components/overview/Recommendations.tsx:81
3839 +#. Source: src/components/overview/AiControlCard.tsx:237
3840 +#: assets/admin.js
3841 +msgid "Control xSpeed with AI"
3842 +msgstr ""
3843 +
3844 +#. Source: src/components/RecordCard.tsx:130
3845 +#: assets/admin.js
3846 +msgid "Copied"
3847 +msgstr ""
3848 +
3849 +#. Source: src/components/RecordCard.tsx:95
3850 +#: assets/admin.js
3851 +msgid "Copy"
3852 +msgstr ""
3853 +
3854 +#. Source: src/components/score/ScanCard.tsx:81
3855 +#: assets/admin.js
3856 +msgid "Core Web Vitals"
3857 +msgstr ""
3858 +
3859 +#. Source: src/components/overview/McpSessionDemo.tsx:230
3860 +#: assets/admin.js
3861 +msgid "Core Web Vitals checked"
3862 +msgstr ""
3863 +
3864 +#. Source: src/components/overview/Recommendations.tsx:103
3865 +#: assets/admin.js
951 3866 msgid "Could not apply that fix"
952 3867 msgstr ""
953 3868
954 -#: src/components/cache/NextBestAction.tsx:68
3869 +#. Source: src/components/cache/NextBestAction.tsx:68
3870 +#: assets/admin.js
955 3871 msgid "Could not apply the fix."
956 3872 msgstr ""
957 3873
958 -#: src/components/score/ScorePanel.tsx:142
3874 +#. Source: src/components/score/ScorePanel.tsx:283
3875 +#: assets/admin.js
959 3876 msgid "Could not check the test status."
960 3877 msgstr ""
961 3878
962 -#: src/components/Sidebar.tsx:477
963 -msgid "Dark Mode"
3879 +#. Source: src/components/sidebarGroups.ts:112
3880 +#: assets/admin.js
3881 +msgid "Database cleanup, migration and logs."
964 3882 msgstr ""
965 3883
966 -#: src/components/overview/OverviewFooter.tsx:24
3884 +#. Source: src/components/DefinedInConfig.tsx:71
3885 +#: assets/admin.js
3886 +msgid "Defined in wp-config.php as"
3887 +msgstr ""
3888 +
3889 +#. Source: src/components/overview/ScoreCard.tsx:189
3890 +#: assets/admin.js
3891 +msgid "desktop"
3892 +msgstr ""
3893 +
3894 +#. Source: src/components/overview/ScoreCard.tsx:91
3895 +#. Source: src/components/score/ScanCard.tsx:298
3896 +#: assets/admin.js
3897 +msgid "Desktop"
3898 +msgstr ""
3899 +
3900 +#. Source: src/components/settings/HubCard.tsx:372
3901 +#: assets/admin.js
3902 +msgid "Disconnect"
3903 +msgstr ""
3904 +
3905 +#. Source: src/components/settings/HubCard.tsx:352
3906 +#: assets/admin.js
3907 +msgid "Disconnect this site from xSpeed Hub?"
3908 +msgstr ""
3909 +
3910 +#. Source: src/components/settings/HubCard.tsx:169
3911 +#: assets/admin.js
3912 +msgid "Disconnect was refused. Check what stops working, then confirm again."
3913 +msgstr ""
3914 +
3915 +#. Source: src/components/FieldSuggestionStrip.tsx:132
3916 +#: assets/admin.js
3917 +msgid "Dismiss"
3918 +msgstr ""
3919 +
3920 +#. Source: src/components/MobileSeparateAlert.tsx:72
3921 +#. Source: src/components/RewriteAlert.tsx:116
3922 +#: assets/admin.js
3923 +msgid "Dismiss banner"
3924 +msgstr ""
3925 +
3926 +#. Source: src/components/CfeOfferCard.tsx:104
3927 +#: assets/admin.js
3928 +msgid "Dismiss the Cloudflare Enterprise offer"
3929 +msgstr ""
3930 +
3931 +#. Source: src/components/overview/OverviewFooter.tsx:24
3932 +#: assets/admin.js
967 3933 msgid "Documentation"
968 3934 msgstr ""
969 3935
970 -#: src/components/overview/HeroStatus.tsx:98
971 -msgid "Enable the cache to preload pages."
3936 +#. Source: src/components/Stepper.tsx:53
3937 +#: assets/admin.js
3938 +msgid "done"
972 3939 msgstr ""
973 3940
974 -#: src/components/cache/NextBestAction.tsx:85
3941 +#. Source: src/upsell/PurchasePath.tsx:96
3942 +#: assets/admin.js
3943 +msgid "Done"
3944 +msgstr ""
3945 +
3946 +#. Source: src/components/cache/NextBestAction.tsx:85
3947 +#: assets/admin.js
975 3948 msgid "Every deterministic check passes — your configuration looks healthy."
976 3949 msgstr ""
977 3950
978 -#: src/components/Sidebar.tsx:482
979 -#: src/components/Sidebar.tsx:488
980 -#: src/components/Sidebar.tsx:489
3951 +#. Source: src/upsell/ProOverview.tsx:51
3952 +#: assets/admin.js
3953 +msgid "Every feature below is unlocked and available from its own page. This screen stays as a reference for what Pro adds — manage your license from the License page."
3954 +msgstr ""
3955 +
3956 +#. Source: src/components/CacheSwitch.tsx:232
3957 +#: assets/admin.js
3958 +msgid "Every page will be served uncached until you turn it back on."
3959 +msgstr ""
3960 +
3961 +#. Source: src/upsell/ProOverview.tsx:47
3962 +#: assets/admin.js
3963 +msgid "Everything in Free, plus the heavy lifting."
3964 +msgstr ""
3965 +
3966 +#. Source: src/components/overview/McpSessionDemo.tsx:221
3967 +#: assets/admin.js
3968 +msgid "Example session"
3969 +msgstr ""
3970 +
3971 +#. Source: src/components/Sidebar.tsx:341
3972 +#. Source: src/components/Sidebar.tsx:346
3973 +#: assets/admin.js
981 3974 msgid "Expand sidebar"
982 3975 msgstr ""
983 3976
984 -#: src/components/score/ScorePanel.tsx:185
985 -msgid "External score"
3977 +#. Source: src/components/mcp/McpActivity.tsx:181
3978 +#: assets/admin.js
3979 +msgid "failed"
986 3980 msgstr ""
987 3981
988 -#: src/components/score/ScorePanel.tsx:209
989 -msgid "External scores are off. Turning them on lets you run an audit from here — nothing is sent anywhere until you press Test."
3982 +#. Source: src/App.tsx:371
3983 +#: assets/admin.js
3984 +msgid "Failed to disable cache"
990 3985 msgstr ""
991 3986
992 -#: src/components/cache/CacheBenchmark.tsx:99
3987 +#. Source: src/App.tsx:371
3988 +#: assets/admin.js
3989 +msgid "Failed to enable cache"
3990 +msgstr ""
3991 +
3992 +#. Source: src/App.tsx:310
3993 +#: assets/admin.js
3994 +msgid "Failed to load"
3995 +msgstr ""
3996 +
3997 +#. Source: src/components/cache/CacheBenchmark.tsx:99
3998 +#: assets/admin.js
993 3999 msgid "faster"
994 4000 msgstr ""
995 4001
996 -#: src/components/cache/ImpactHero.tsx:96
4002 +#. Source: src/components/cache/ImpactHero.tsx:96
4003 +#: assets/admin.js
997 4004 msgid "faster per page"
998 4005 msgstr ""
999 4006
1000 -#: src/components/overview/FeatureMap.tsx:73
4007 +#. Source: src/components/overview/FeatureMap.tsx:114
4008 +#: assets/admin.js
1001 4009 msgid "features"
1002 4010 msgstr ""
1003 4011
1004 -#: src/components/overview/FeatureMap.tsx:61
1005 -msgid "Features"
4012 +#. Source: src/components/score/ConnectHubModal.tsx:157
4013 +#: assets/admin.js
4014 +msgid "Finish in the tab that opened, then come back here."
1006 4015 msgstr ""
1007 4016
1008 -#: src/onboarding/steps/Connect.tsx:190
4017 +#. Source: src/onboarding/steps/Connect.tsx:198
4018 +#: assets/admin.js
1009 4019 msgid "Free forever"
1010 4020 msgstr ""
1011 4021
1012 -#: src/onboarding/steps/Connect.tsx:162
4022 +#. Source: src/components/score/ScorePanel.tsx:466
4023 +#: assets/admin.js
4024 +msgid "Free tests included with your plan"
4025 +msgstr ""
4026 +
4027 +#. Source: src/components/DefinedInConfig.tsx:50
4028 +#: assets/admin.js
4029 +msgid "from wp-config.php"
4030 +msgstr ""
4031 +
4032 +#. Source: src/components/score/ScanCard.tsx:375
4033 +#: assets/admin.js
4034 +msgid "Full report"
4035 +msgstr ""
4036 +
4037 +#. Source: src/components/CfeOfferCard.tsx:71
4038 +#: assets/admin.js
4039 +msgid "Get it"
4040 +msgstr ""
4041 +
4042 +#. Source: src/onboarding/steps/Connect.tsx:170
4043 +#: assets/admin.js
1013 4044 msgid "Get more over time"
1014 4045 msgstr ""
1015 4046
1016 -#: src/onboarding/steps/Connect.tsx:126
1017 -#: src/onboarding/steps/Connect.tsx:73
4047 +#. Source: src/upsell/LockedPanel.tsx:83
4048 +#: assets/admin.js
4049 +msgid "Get Pro"
4050 +msgstr ""
4051 +
4052 +#. Source: src/onboarding/steps/Connect.tsx:134
4053 +#. Source: src/onboarding/steps/Connect.tsx:81
4054 +#: assets/admin.js
1018 4055 msgid "Go to Dashboard"
1019 4056 msgstr ""
1020 4057
1021 -#: src/components/overview/OverviewFooter.tsx:20
4058 +#. Source: src/onboarding/OnboardingApp.tsx:165
4059 +#: assets/admin.js
4060 +msgid "Go to the dashboard"
4061 +msgstr ""
4062 +
4063 +#. Source: src/components/overview/ScoreCard.tsx:281
4064 +#: assets/admin.js
4065 +msgid "good"
4066 +msgstr ""
4067 +
4068 +#. Source: src/components/score/ScanCard.tsx:278
4069 +#. Source: src/components/score/ScanCard.tsx:319
4070 +#: assets/admin.js
4071 +msgid "Grade"
4072 +msgstr ""
4073 +
4074 +#. Source: src/components/score/SpeedTestCard.tsx:122
4075 +#: assets/admin.js
4076 +msgid "GTmetrix test"
4077 +msgstr ""
4078 +
4079 +#. Source: src/components/sidebarGroups.ts:103
4080 +#: assets/admin.js
4081 +msgid "Health & insights"
4082 +msgstr ""
4083 +
4084 +#. Source: src/components/health/HealthHero.tsx:35
4085 +#: assets/admin.js
4086 +msgid "Health summary"
4087 +msgstr ""
4088 +
4089 +#. Source: src/components/overview/OverviewFooter.tsx:20
4090 +#: assets/admin.js
1022 4091 msgid "Help and resources"
1023 4092 msgstr ""
1024 4093
1025 -#: src/components/overview/OverviewFooter.tsx:28
4094 +#. Source: src/components/overview/OverviewFooter.tsx:28
4095 +#: assets/admin.js
1026 4096 msgid "Help and support"
1027 4097 msgstr ""
1028 4098
1029 -#: src/upsell/ProAudit.tsx:82
4099 +#. Source: src/upsell/ProAudit.tsx:82
4100 +#: assets/admin.js
1030 4101 msgid "Hide"
1031 4102 msgstr ""
1032 4103
1033 -#: src/components/cache/TrendCharts.tsx:120
1034 -#: src/components/overview/MetricGrid.tsx:13
4104 +#. Source: src/components/cache/TrendCharts.tsx:125
4105 +#. Source: src/components/health/HealthHero.tsx:42
4106 +#. Source: src/components/overview/MetricGrid.tsx:45
4107 +#: assets/admin.js
1035 4108 msgid "Hit ratio"
1036 4109 msgstr ""
1037 4110
1038 -#: src/components/cache/TrendCharts.tsx:83
4111 +#. Source: src/components/cache/CacheHero.tsx:217
4112 +#: assets/admin.js
4113 +msgid "Hit Ratio · 24h"
4114 +msgstr ""
4115 +
4116 +#. Source: src/components/cache/CacheHero.tsx:217
4117 +#: assets/admin.js
4118 +msgid "Hit Ratio · 24h · origin"
4119 +msgstr ""
4120 +
4121 +#. Source: src/components/health/HealthHero.tsx:42
4122 +#: assets/admin.js
4123 +msgid "Hit ratio (PHP-served only)"
4124 +msgstr ""
4125 +
4126 +#. Source: src/components/cache/TrendCharts.tsx:83
4127 +#: assets/admin.js
1039 4128 msgid "Hit ratio and benchmark history, with your settings changes marked."
1040 4129 msgstr ""
1041 4130
1042 -#: src/components/cache/TrendCharts.tsx:222
4131 +#. Source: src/components/cache/TrendCharts.tsx:227
4132 +#: assets/admin.js
1043 4133 msgid "Hit ratio trend"
1044 4134 msgstr ""
1045 4135
1046 -#: src/components/cache/ImpactHero.tsx:107
4136 +#. Source: src/components/cache/ImpactHero.tsx:107
4137 +#: assets/admin.js
1047 4138 msgid "hits"
1048 4139 msgstr ""
1049 4140
1050 -#: src/components/cache/ImpactHero.tsx:30
4141 +#. Source: src/components/health/HealthHero.tsx:31
4142 +#: assets/admin.js
4143 +msgid "hits + misses"
4144 +msgstr ""
4145 +
4146 +#. Source: src/components/cache/ImpactHero.tsx:30
4147 +#: assets/admin.js
1051 4148 msgid "hrs"
1052 4149 msgstr ""
1053 4150
1054 -#: src/onboarding/steps/Connect.tsx:124
4151 +#. Source: src/components/TopBar.tsx:142
4152 +#: assets/admin.js
4153 +msgid "Hub connected"
4154 +msgstr ""
4155 +
4156 +#. Source: src/components/settings/HubCard.tsx:369
4157 +#: assets/admin.js
4158 +msgid "I understand what stops working when this site disconnects."
4159 +msgstr ""
4160 +
4161 +#. Source: src/onboarding/steps/Connect.tsx:132
4162 +#: assets/admin.js
1055 4163 msgid "I'll connect later"
1056 4164 msgstr ""
1057 4165
1058 -#: src/components/Sidebar.tsx:278
1059 -msgid "in"
4166 +#. Source: src/components/overview/AiControlCard.tsx:63
4167 +#: assets/admin.js
4168 +msgid "Improve performance"
1060 4169 msgstr ""
1061 4170
1062 -#: src/components/cache/CacheHero.tsx:114
4171 +#. Source: src/components/OverrideConfirm.tsx:33
4172 +#: assets/admin.js
4173 +msgid "in wp-config.php — usually written by your host. If you manage it here, later changes your host makes to it will be ignored."
4174 +msgstr ""
4175 +
4176 +#. Source: src/components/score/ConnectHubModal.tsx:116
4177 +#: assets/admin.js
4178 +msgid "It takes a few seconds."
4179 +msgstr ""
4180 +
4181 +#. Source: src/components/cache/CacheHero.tsx:220
4182 +#: assets/admin.js
1063 4183 msgid "jump to the hit-ratio trend"
1064 4184 msgstr ""
1065 4185
1066 -#: src/components/score/ScorePanel.tsx:101
4186 +#. Source: src/components/overview/AiControlCard.tsx:71
4187 +#: assets/admin.js
4188 +msgid "Just ask"
4189 +msgstr ""
4190 +
4191 +#. Source: src/components/score/ScorePanel.tsx:201
4192 +#: assets/admin.js
1067 4193 msgid "just now"
1068 4194 msgstr ""
1069 4195
1070 -#: src/onboarding/steps/Connect.tsx:144
4196 +#. Source: src/onboarding/steps/Connect.tsx:152
4197 +#: assets/admin.js
1071 4198 msgid "Just say what you want"
1072 4199 msgstr ""
1073 4200
1074 -#: src/components/overview/MetricGrid.tsx:30
4201 +#. Source: src/components/overview/MetricGrid.tsx:61
4202 +#: assets/admin.js
1075 4203 msgid "Key metrics"
1076 4204 msgstr ""
1077 4205
1078 -#: src/components/overview/MetricGrid.tsx:15
4206 +#. Source: src/components/overview/MetricGrid.tsx:53
4207 +#: assets/admin.js
1079 4208 msgid "last 24 hours"
1080 4209 msgstr ""
1081 4210
1082 -#: src/components/cache/ImpactHero.tsx:74
4211 +#. Source: src/components/cache/ImpactHero.tsx:74
4212 +#: assets/admin.js
1083 4213 msgid "last 24h"
1084 4214 msgstr ""
1085 4215
1086 -#: src/components/cache/TrendCharts.tsx:236
4216 +#. Source: src/components/overview/HeroStatus.tsx:87
4217 +#: assets/admin.js
4218 +msgid "Last purged"
4219 +msgstr ""
4220 +
4221 +#. Source: src/components/cache/TrendCharts.tsx:241
4222 +#: assets/admin.js
1087 4223 msgid "Latest"
1088 4224 msgstr ""
1089 4225
1090 -#: src/upsell/ProTeaser.tsx:65
4226 +#. Source: src/upsell/ProTeaser.tsx:65
4227 +#: assets/admin.js
1091 4228 msgid "Learn more about Pro"
1092 4229 msgstr ""
1093 4230
1094 -#: src/components/overview/Recommendations.tsx:188
1095 -msgid "Let our cache experts optimize your site"
4231 +#. Source: src/upsell/LockedSection.tsx:70
4232 +#. Source: src/upsell/ProDemo.tsx:60
4233 +#: assets/admin.js
4234 +msgid "License"
1096 4235 msgstr ""
1097 4236
1098 -#: src/upsell/LockedSection.tsx:81
1099 -#: src/upsell/ProDemo.tsx:73
1100 -msgid "License"
4237 +#. Source: src/upsell/LockedPanel.tsx:75
4238 +#: assets/admin.js
4239 +msgid "License not active"
1101 4240 msgstr ""
1102 4241
1103 -#: src/components/Sidebar.tsx:477
1104 -msgid "Light Mode"
4242 +#. Source: src/components/sidebarGroups.ts:131
4243 +#: assets/admin.js
4244 +msgid "License, branding, multisite and support."
1105 4245 msgstr ""
1106 4246
1107 -#: src/onboarding/steps/Connect.tsx:87
4247 +#. Source: src/components/overview/ScoreCard.tsx:209
4248 +#: assets/admin.js
4249 +msgid "Lighthouse performance, from your latest xSpeed Scan."
4250 +msgstr ""
4251 +
4252 +#. Source: src/components/score/ScanCard.tsx:301
4253 +#: assets/admin.js
4254 +msgid "Lighthouse performance, out of 100"
4255 +msgstr ""
4256 +
4257 +#. Source: src/components/cache/CacheHero.tsx:238
4258 +#: assets/admin.js
4259 +msgid "LiteSpeed Static Fast Path is on: cache hits are served by the web server with no PHP, carry no X-XSpeed-Cache header, and are not counted here — so a low ratio reflects the trade you chose, not a broken cache."
4260 +msgstr ""
4261 +
4262 +#. Source: src/App.tsx:493
4263 +#. Source: src/components/GroupLanding.tsx:91
4264 +#. Source: src/components/LogsView.tsx:35
4265 +#: assets/admin.js
4266 +msgid "Logs"
4267 +msgstr ""
4268 +
4269 +#. Source: src/components/OverrideConfirm.tsx:41
4270 +#: assets/admin.js
4271 +msgid "Manage here"
4272 +msgstr ""
4273 +
4274 +#. Source: src/upsell/ProOverview.tsx:65
4275 +#: assets/admin.js
4276 +msgid "Manage license"
4277 +msgstr ""
4278 +
4279 +#. Source: src/components/overview/AiControlCard.tsx:249
4280 +#: assets/admin.js
4281 +msgid "Manage MCP"
4282 +msgstr ""
4283 +
4284 +#. Source: src/components/DefinedInConfig.tsx:81
4285 +#. Source: src/components/DefinedInConfig.tsx:82
4286 +#: assets/admin.js
4287 +msgid "Manage this setting here instead"
4288 +msgstr ""
4289 +
4290 +#. Source: src/components/OverrideConfirm.tsx:28
4291 +#: assets/admin.js
4292 +msgid "Manage this setting here?"
4293 +msgstr ""
4294 +
4295 +#. Source: src/onboarding/steps/Connect.tsx:95
4296 +#: assets/admin.js
1108 4297 msgid "Manage this site from the central xSpeed Hub dashboard"
1109 4298 msgstr ""
1110 4299
1111 -#: src/components/SettingsSearch.tsx:274
1112 -msgid "match"
4300 +#. Source: src/components/overview/AiControlCard.tsx:72
4301 +#: assets/admin.js
4302 +msgid "Manage xSpeed through conversation"
1113 4303 msgstr ""
1114 4304
1115 -#: src/components/SettingsSearch.tsx:274
1116 -msgid "matches"
4305 +#. Source: src/components/Sidebar.tsx:494
4306 +#. Source: src/components/Sidebar.tsx:501
4307 +#: assets/admin.js
4308 +msgid "Manage your license"
1117 4309 msgstr ""
1118 4310
1119 -#: src/components/cache/ImpactHero.tsx:29
4311 +#. Source: src/components/overview/AiControlCard.tsx:242
4312 +#: assets/admin.js
4313 +msgid "MCP is connected and ready — your AI agent can purge, tune and benchmark this site."
4314 +msgstr ""
4315 +
4316 +#. Source: src/components/overview/ScoreCard.tsx:214
4317 +#: assets/admin.js
4318 +msgid "Measured on your home page by an external audit."
4319 +msgstr ""
4320 +
4321 +#. Source: src/components/score/ScorePanel.tsx:658
4322 +#: assets/admin.js
4323 +msgid "Metric"
4324 +msgstr ""
4325 +
4326 +#. Source: src/components/cache/ImpactHero.tsx:29
4327 +#: assets/admin.js
1120 4328 msgid "min"
1121 4329 msgstr ""
1122 4330
1123 -#: src/components/cache/NextBestAction.tsx:101
4331 +#. Source: src/components/sidebarGroups.ts:91
4332 +#: assets/admin.js
4333 +msgid "Minify, compress, lazy-load, fonts and hints."
4334 +msgstr ""
4335 +
4336 +#. Source: src/components/overview/ScoreCard.tsx:189
4337 +#. Source: src/components/score/ScanCard.tsx:311
4338 +#: assets/admin.js
4339 +msgid "mobile"
4340 +msgstr ""
4341 +
4342 +#. Source: src/components/overview/ScoreCard.tsx:92
4343 +#. Source: src/components/score/ScanCard.tsx:298
4344 +#: assets/admin.js
4345 +msgid "Mobile"
4346 +msgstr ""
4347 +
4348 +#. Source: src/components/Sidebar.tsx:407
4349 +#. Source: src/components/Sidebar.tsx:443
4350 +#: assets/admin.js
4351 +msgid "module on"
4352 +msgstr ""
4353 +
4354 +#. Source: src/components/Sidebar.tsx:408
4355 +#. Source: src/components/Sidebar.tsx:444
4356 +#: assets/admin.js
4357 +msgid "modules on"
4358 +msgstr ""
4359 +
4360 +#. Source: src/components/cache/NextBestAction.tsx:101
4361 +#: assets/admin.js
1124 4362 msgid "more after this"
1125 4363 msgstr ""
1126 4364
1127 -#: src/components/overview/HubCard.tsx:148
4365 +#. Source: src/components/overview/HubCard.tsx:190
4366 +#: assets/admin.js
1128 4367 msgid "More options"
1129 4368 msgstr ""
1130 4369
1131 -#: src/components/cache/CacheBenchmark.tsx:104
4370 +#. Source: src/components/cache/CacheBenchmark.tsx:104
4371 +#: assets/admin.js
1132 4372 msgid "Negligible difference — page is cheap to render or cache is cold."
1133 4373 msgstr ""
1134 4374
1135 -#: src/onboarding/steps/Connect.tsx:164
4375 +#. Source: src/components/sidebarGroups.ts:96
4376 +#: assets/admin.js
4377 +msgid "Network"
4378 +msgstr ""
4379 +
4380 +#. Source: src/components/overview/HeroStatus.tsx:87
4381 +#: assets/admin.js
4382 +msgid "never"
4383 +msgstr ""
4384 +
4385 +#. Source: src/components/overview/ScoreCard.tsx:185
4386 +#: assets/admin.js
4387 +msgid "Never scanned"
4388 +msgstr ""
4389 +
4390 +#. Source: src/onboarding/steps/Connect.tsx:172
4391 +#: assets/admin.js
1136 4392 msgid "new Hub features arrive automatically, free."
1137 4393 msgstr ""
1138 4394
1139 -#: src/components/cache/NextBestAction.tsx:98
4395 +#. Source: src/components/cache/NextBestAction.tsx:98
4396 +#: assets/admin.js
1140 4397 msgid "Next best action"
1141 4398 msgstr ""
1142 4399
1143 -#: src/components/score/ScorePanel.tsx:190
1144 -msgid "No audit run yet."
4400 +#. Source: src/components/RewriteAlert.tsx:98
4401 +#: assets/admin.js
4402 +msgid "nginx detected — configure for max cache speed"
1145 4403 msgstr ""
1146 4404
1147 -#: src/onboarding/steps/Connect.tsx:190
1148 -msgid "No card, no catch"
4405 +#. Source: src/components/LogsView.tsx:45
4406 +#: assets/admin.js
4407 +msgid "No activity recorded yet."
1149 4408 msgstr ""
1150 4409
1151 -#: src/onboarding/steps/Connect.tsx:156
1152 -msgid "no logging into each dashboard separately."
4410 +#. Source: src/components/score/ScorePanel.tsx:449
4411 +#: assets/admin.js
4412 +msgid "No audit run yet."
1153 4413 msgstr ""
1154 4414
1155 -#: src/components/SettingsSearch.tsx:275
1156 -#: src/components/Sidebar.tsx:257
1157 -msgid "No matches"
4415 +#. Source: src/onboarding/steps/Connect.tsx:198
4416 +#: assets/admin.js
4417 +msgid "No card, no catch"
1158 4418 msgstr ""
1159 4419
1160 -#: src/components/cache/StatDrilldown.tsx:305
1161 -msgid "No purges recorded yet."
4420 +#. Source: src/components/score/ScorePanel.tsx:193
4421 +#. Source: src/components/score/ScorePanel.tsx:696
4422 +#: assets/admin.js
4423 +msgid "no change"
1162 4424 msgstr ""
1163 4425
1164 -#: src/components/cache/NextBestAction.tsx:82
1165 -msgid "No recommendations right now"
4426 +#. Source: src/components/overview/ScoreCard.tsx:185
4427 +#: assets/admin.js
4428 +msgid "No completed scan"
1166 4429 msgstr ""
1167 4430
1168 -#: src/onboarding/steps/Connect.tsx:213
1169 -msgid "No redirect? Connect with a token instead."
4431 +#. Source: src/upsell/LockedPanel.tsx:85
4432 +#: assets/admin.js
4433 +msgid "No license key"
1170 4434 msgstr ""
1171 4435
1172 -#: src/components/score/ScorePanel.tsx:242
1173 -msgid "Not reported by this provider."
4436 +#. Source: src/onboarding/steps/Connect.tsx:164
4437 +#: assets/admin.js
4438 +msgid "no logging into each dashboard separately."
1174 4439 msgstr ""
1175 4440
1176 -#: src/components/cache/StatDrilldown.tsx:135
1177 -msgid "Nothing cached yet. Visit a page as a logged-out visitor to warm the cache."
4441 +#. Source: src/components/CommandPalette.tsx:203
4442 +#: assets/admin.js
4443 +msgid "No matches"
1178 4444 msgstr ""
1179 4445
1180 -#: src/components/cache/StatDrilldown.tsx:238
1181 -msgid "Nothing on disk yet."
4446 +#. Source: src/components/overview/ScoreCard.tsx:228
4447 +#: assets/admin.js
4448 +msgid "No performance score measured yet"
1182 4449 msgstr ""
1183 4450
1184 -#: src/onboarding/steps/Connect.tsx:81
1185 -msgid "Now unlocked"
4451 +#. Source: src/components/cache/StatDrilldown.tsx:338
4452 +#: assets/admin.js
4453 +msgid "No purges recorded yet."
1186 4454 msgstr ""
1187 4455
1188 -#: src/components/cache/StatDrilldown.tsx:202
1189 -msgid "of"
4456 +#. Source: src/components/cache/NextBestAction.tsx:82
4457 +#: assets/admin.js
4458 +msgid "No recommendations right now"
1190 4459 msgstr ""
1191 4460
1192 -#: src/components/cache/ImpactHero.tsx:94
1193 -msgid "of combined wait time"
4461 +#. Source: src/onboarding/steps/Connect.tsx:221
4462 +#: assets/admin.js
4463 +msgid "No redirect? Connect with a token instead."
1194 4464 msgstr ""
1195 4465
1196 -#: src/components/overview/FeatureMap.tsx:38
1197 -msgid "Off"
4466 +#. Source: src/components/ScoreRing.tsx:60
4467 +#: assets/admin.js
4468 +msgid "No score measured yet"
1198 4469 msgstr ""
1199 4470
1200 -#: src/components/overview/FeatureMap.tsx:33
1201 -msgid "On"
4471 +#. Source: src/components/overview/ScoreCard.tsx:200
4472 +#: assets/admin.js
4473 +msgid "No score yet"
1202 4474 msgstr ""
1203 4475
1204 -#: src/components/overview/MetricGrid.tsx:25
1205 -msgid "on disk"
4476 +#. Source: src/components/score/SpeedTestCard.tsx:126
4477 +#: assets/admin.js
4478 +msgid "No tests left this month."
1206 4479 msgstr ""
1207 4480
1208 -#: src/onboarding/steps/Connect.tsx:227
1209 -msgid "on your xSpeed Hub account."
4481 +#. Source: src/components/GroupLanding.tsx:38
4482 +#. Source: src/components/ModuleHeader.tsx:51
4483 +#: assets/admin.js
4484 +msgid "Not in use"
1210 4485 msgstr ""
1211 4486
1212 -#: src/onboarding/steps/Connect.tsx:85
1213 -msgid "One AI connection controls the cache on every site you connect"
4487 +#. Source: src/components/ModulePanel.tsx:121
4488 +#: assets/admin.js
4489 +msgid "Not in use on this site"
1214 4490 msgstr ""
1215 4491
1216 -#: src/components/overview/HubCard.tsx:118
1217 -msgid "Open Hub dashboard"
4492 +#. Source: src/upsell/LockedPanel.tsx:82
4493 +#: assets/admin.js
4494 +msgid "Not installed"
1218 4495 msgstr ""
1219 4496
1220 -#: src/components/score/ScorePanel.tsx:303
1221 -msgid "Open the tested page"
4497 +#. Source: src/components/score/ConnectHubModal.tsx:142
4498 +#: assets/admin.js
4499 +msgid "Not now"
1222 4500 msgstr ""
1223 4501
1224 -#: src/components/cache/StatDrilldown.tsx:152
1225 -msgid "Page"
4502 +#. Source: src/components/cache/StatDrilldown.tsx:144
4503 +#: assets/admin.js
4504 +msgid "Nothing cached yet. Visit a page as a logged-out visitor to warm the cache."
1226 4505 msgstr ""
1227 4506
1228 -#: src/components/overview/HeroStatus.tsx:38
1229 -#: src/components/overview/HeroStatus.tsx:40
1230 -msgid "pages cached"
4507 +#. Source: src/components/score/ScorePanel.tsx:495
4508 +#: assets/admin.js
4509 +msgid "Nothing is sent anywhere until you press this."
1231 4510 msgstr ""
1232 4511
1233 -#: src/components/cache/StatDrilldown.tsx:269
1234 -msgid "Pages without one are compressed by the server when requested."
4512 +#. Source: src/components/cache/StatDrilldown.tsx:247
4513 +#: assets/admin.js
4514 +msgid "Nothing on disk yet."
1235 4515 msgstr ""
1236 4516
1237 -#: src/onboarding/steps/Connect.tsx:218
1238 -msgid "Paste this site’s URL + token into the"
4517 +#. Source: src/components/overview/ScoreCard.tsx:275
4518 +#: assets/admin.js
4519 +msgid "now"
1239 4520 msgstr ""
1240 4521
1241 -#: src/components/cache/StatDrilldown.tsx:268
1242 -msgid "Precompressed copies on disk:"
4522 +#. Source: src/onboarding/steps/Connect.tsx:89
4523 +#: assets/admin.js
4524 +msgid "Now unlocked"
1243 4525 msgstr ""
1244 4526
1245 -#: src/components/overview/HeroStatus.tsx:102
1246 -msgid "Preload"
4527 +#. Source: src/components/GroupLanding.tsx:118
4528 +#. Source: src/components/Sidebar.tsx:407
4529 +#. Source: src/components/Sidebar.tsx:408
4530 +#. Source: src/components/Sidebar.tsx:443
4531 +#. Source: src/components/Sidebar.tsx:444
4532 +#. Source: src/components/cache/StatDrilldown.tsx:211
4533 +#: assets/admin.js
4534 +msgid "of"
1247 4535 msgstr ""
1248 4536
1249 -#: src/components/overview/HeroStatus.tsx:60
1250 -msgid "Preload could not start"
4537 +#. Source: src/components/health/HealthHero.tsx:28
4538 +#: assets/admin.js
4539 +msgid "of cache features on"
1251 4540 msgstr ""
1252 4541
1253 -#: src/components/overview/HeroStatus.tsx:58
1254 -msgid "Preload started"
4542 +#. Source: src/components/cache/ImpactHero.tsx:94
4543 +#: assets/admin.js
4544 +msgid "of combined wait time"
1255 4545 msgstr ""
1256 4546
1257 -#: src/upsell/ProDemo.tsx:131
1258 -msgid "Preview"
4547 +#. Source: src/components/GroupLanding.tsx:54
4548 +#. Source: src/components/ModuleHeader.tsx:67
4549 +#. Source: src/components/overview/FeatureMap.tsx:60
4550 +#: assets/admin.js
4551 +msgid "Off"
1259 4552 msgstr ""
1260 4553
1261 -#: src/components/overview/FeatureMap.tsx:25
1262 -#: src/upsell/LockedSection.tsx:81
1263 -#: src/upsell/ProAudit.tsx:66
1264 -#: src/upsell/ProDemo.tsx:73
1265 -#: src/upsell/ProTeaser.tsx:45
1266 -msgid "Pro"
4554 +#. Source: src/components/GroupLanding.tsx:118
4555 +#: assets/admin.js
4556 +msgid "on"
1267 4557 msgstr ""
1268 4558
1269 -#: src/upsell/LockedPanel.tsx:95
1270 -msgid "Pro — license needed"
4559 +#. Source: src/components/GroupLanding.tsx:50
4560 +#. Source: src/components/ModuleHeader.tsx:63
4561 +#. Source: src/components/overview/FeatureMap.tsx:55
4562 +#: assets/admin.js
4563 +msgid "On"
1271 4564 msgstr ""
1272 4565
1273 -#: src/components/Sidebar.tsx:329
1274 -#: src/components/Sidebar.tsx:428
1275 -#: src/upsell/LockedPanel.tsx:95
1276 -msgid "Pro feature"
4566 +#. Source: src/components/OverrideConfirm.tsx:36
4567 +#: assets/admin.js
4568 +msgid "On a managed host (xCloud, Cloudways and similar), changing it in their control panel is usually the better route. You can revert at any time."
1277 4569 msgstr ""
1278 4570
1279 -#: src/upsell/LockedPanel.tsx:165
1280 -#: src/upsell/LockedPanel.tsx:44
1281 -msgid "Pro unlocks this module + every other locked row in the sidebar. Your current Free settings stay unchanged."
4571 +#. Source: src/components/health/HealthHero.tsx:30
4572 +#. Source: src/components/overview/MetricGrid.tsx:56
4573 +#: assets/admin.js
4574 +msgid "on disk"
1282 4575 msgstr ""
1283 4576
1284 -#: src/components/overview/HeroStatus.tsx:92
1285 -msgid "Purge all"
4577 +#. Source: src/onboarding/steps/Connect.tsx:235
4578 +#: assets/admin.js
4579 +msgid "on your xSpeed Hub account."
1286 4580 msgstr ""
1287 4581
1288 -#: src/components/cache/StatDrilldown.tsx:301
1289 -msgid "Purge history"
4582 +#. Source: src/onboarding/OnboardingApp.tsx:156
4583 +#: assets/admin.js
4584 +msgid "Onboarding data unavailable"
1290 4585 msgstr ""
1291 4586
1292 -#: src/onboarding/steps/Connect.tsx:86
1293 -msgid "Purge, benchmark, preload and tune settings by asking your AI"
4587 +#. Source: src/onboarding/steps/Connect.tsx:93
4588 +#: assets/admin.js
4589 +msgid "One AI connection controls the cache on every site you connect"
1294 4590 msgstr ""
1295 4591
1296 -#: src/components/cache/CacheBenchmark.tsx:67
1297 -#: src/upsell/ProAudit.tsx:92
1298 -msgid "Re-run"
4592 +#. Source: src/components/overview/HubCard.tsx:160
4593 +#: assets/admin.js
4594 +msgid "Open Hub dashboard"
1299 4595 msgstr ""
1300 4596
1301 -#: src/components/cache/ImpactHero.tsx:84
1302 -msgid "Real visitor impact"
4597 +#. Source: src/components/overview/AiControlCard.tsx:249
4598 +#: assets/admin.js
4599 +msgid "Open MCP"
1303 4600 msgstr ""
1304 4601
1305 -#: src/components/overview/ActivityStrip.tsx:49
1306 -#: src/components/overview/ActivityStrip.tsx:51
1307 -msgid "Recent activity"
4602 +#. Source: src/components/TopBar.tsx:91
4603 +#: assets/admin.js
4604 +msgid "Open navigation"
1308 4605 msgstr ""
1309 4606
1310 -#: src/components/cache/TrendCharts.tsx:148
1311 -msgid "Recent changes"
4607 +#. Source: src/components/score/ScorePanel.tsx:785
4608 +#: assets/admin.js
4609 +msgid "Open the full report"
1312 4610 msgstr ""
1313 4611
1314 -#: src/components/overview/Recommendations.tsx:102
1315 -#: src/components/overview/Recommendations.tsx:99
1316 -msgid "Recommendations"
4612 +#. Source: src/components/sidebarGroups.ts:89
4613 +#: assets/admin.js
4614 +msgid "Optimization"
1317 4615 msgstr ""
1318 4616
1319 -#: src/components/FieldSuggestionStrip.tsx:116
1320 -msgid "Recommended:"
4617 +#. Source: src/components/overview/AiControlCard.tsx:66
4618 +#: assets/admin.js
4619 +msgid "Optimize automatically"
1321 4620 msgstr ""
1322 4621
1323 -#: src/components/cache/StatDrilldown.tsx:95
1324 -msgid "Refresh"
4622 +#. Source: src/components/overview/McpSessionDemo.tsx:197
4623 +#: assets/admin.js
4624 +msgid "Optimize my site for better PageSpeed."
1325 4625 msgstr ""
1326 4626
1327 -#: src/components/cache/TrendCharts.tsx:108
1328 -msgid "Refresh trends"
4627 +#. Source: src/components/ScoreRing.tsx:61
4628 +#. Source: src/components/overview/ScoreCard.tsx:229
4629 +#: assets/admin.js
4630 +msgid "out of 100"
1329 4631 msgstr ""
1330 4632
1331 -#: src/components/overview/OverviewFooter.tsx:32
1332 -msgid "Review us on WordPress.org"
4633 +#. Source: src/components/overview/ScoreCard.tsx:213
4634 +#: assets/admin.js
4635 +msgid "Over a month old — may not reflect the site now."
1333 4636 msgstr ""
1334 4637
1335 -#: src/components/cache/CacheBenchmark.tsx:67
1336 -msgid "Run benchmark"
4638 +#. Source: src/components/cache/StatDrilldown.tsx:161
4639 +#: assets/admin.js
4640 +msgid "Page"
1337 4641 msgstr ""
1338 4642
1339 -#: src/onboarding/steps/Connect.tsx:154
1340 -msgid "Run every site from one place"
4643 +#. Source: src/components/sidebarGroups.ts:84
4644 +#: assets/admin.js
4645 +msgid "Page, object and browser caching, plus preload."
1341 4646 msgstr ""
1342 4647
1343 -#: src/components/score/ScorePanel.tsx:277
1344 -msgid "Run history"
4648 +#. Source: src/components/cache/StatDrilldown.tsx:278
4649 +#: assets/admin.js
4650 +msgid "Pages without one are compressed by the server when requested."
1345 4651 msgstr ""
1346 4652
1347 -#: src/upsell/ProAudit.tsx:92
1348 -msgid "Run Pro audit"
4653 +#. Source: src/components/overview/McpSessionDemo.tsx:286
4654 +#: assets/admin.js
4655 +msgid "PageSpeed"
1349 4656 msgstr ""
1350 4657
1351 -#: src/components/cache/TrendCharts.tsx:139
1352 -msgid "Run the benchmark at least twice to see a trend."
4658 +#. Source: src/components/overview/AiControlCard.tsx:63
4659 +#: assets/admin.js
4660 +msgid "PageSpeed & Core Web Vitals"
1353 4661 msgstr ""
1354 4662
1355 -#: src/components/cache/ImpactHero.tsx:65
1356 -msgid "Run the benchmark once and this card shows how much combined wait time the cache saves your visitors."
4663 +#. Source: src/components/score/ScanCard.tsx:331
4664 +#: assets/admin.js
4665 +msgid "Partial scan — some checks could not run, so the score covers less than the full rubric."
1357 4666 msgstr ""
1358 4667
1359 -#: src/onboarding/steps/Connect.tsx:115
1360 -msgid "Run your site just by asking"
4668 +#. Source: src/components/TopBar.tsx:201
4669 +#: assets/admin.js
4670 +msgid "Partly cleared"
1361 4671 msgstr ""
1362 4672
1363 -#: src/components/score/ScorePanel.tsx:203
1364 -msgid "Running…"
4673 +#. Source: src/components/migration/MigrationPanel.tsx:800
4674 +#: assets/admin.js
4675 +msgid "Paste an xSpeed profile JSON here, or choose a .json file below."
1365 4676 msgstr ""
1366 4677
1367 -#: src/components/cache/ImpactHero.tsx:107
1368 -msgid "saved across"
4678 +#. Source: src/onboarding/steps/Connect.tsx:226
4679 +#: assets/admin.js
4680 +msgid "Paste this site’s URL + token into the"
1369 4681 msgstr ""
1370 4682
1371 -#: src/components/cache/CacheBenchmark.tsx:100
1372 -msgid "saved per request"
4683 +#. Source: src/components/overview/MetricGrid.tsx:57
4684 +#: assets/admin.js
4685 +msgid "per page load"
1373 4686 msgstr ""
1374 4687
1375 -#: src/components/SaveIndicator.tsx:93
1376 -msgid "Saving changes…"
4688 +#. Source: src/components/ScoreRing.tsx:61
4689 +#. Source: src/components/overview/ScoreCard.tsx:229
4690 +#. Source: src/components/overview/ScoreCard.tsx:258
4691 +#. Source: src/components/score/ScorePanel.tsx:442
4692 +#: assets/admin.js
4693 +msgid "Performance score"
1377 4694 msgstr ""
1378 4695
1379 -#: src/upsell/ProAudit.tsx:70
1380 -msgid "Scans your current settings + 24h cache stats and shows exactly which Pro features would help."
4696 +#. Source: src/components/score/SpeedTestCard.tsx:127
4697 +#: assets/admin.js
4698 +msgid "Performance score and Core Web Vitals for your home page."
1381 4699 msgstr ""
1382 4700
1383 -#: src/components/SettingsSearch.tsx:243
1384 -#: src/components/SettingsSearch.tsx:244
1385 -#: src/components/Sidebar.tsx:192
1386 -#: src/components/Sidebar.tsx:201
1387 -msgid "Search settings"
4701 +#. Source: src/components/score/ScorePanel.tsx:448
4702 +#: assets/admin.js
4703 +msgid "Performance score and Core Web Vitals."
1388 4704 msgstr ""
1389 4705
1390 -#: src/onboarding/steps/Connect.tsx:175
1391 -msgid "See everything it does."
4706 +#. Source: src/components/overview/MetricGrid.tsx:52
4707 +#: assets/admin.js
4708 +msgid "PHP-served only — static fast path hits are not counted"
1392 4709 msgstr ""
1393 4710
1394 -#: src/components/overview/MetricGrid.tsx:20
1395 -msgid "served without PHP"
4711 +#. Source: src/components/score/ScorePanel.tsx:713
4712 +#: assets/admin.js
4713 +msgid "Pick one more run to compare."
1396 4714 msgstr ""
1397 4715
1398 -#: src/components/cache/ImpactHero.tsx:66
1399 -msgid "Serving cached pages… impact numbers appear once today’s hits accumulate."
4716 +#. Source: src/components/score/ScorePanel.tsx:714
4717 +#: assets/admin.js
4718 +msgid "Pick two runs to compare them."
1400 4719 msgstr ""
1401 4720
1402 -#: src/components/overview/HeroStatus.tsx:38
1403 -msgid "Serving from"
4721 +#. Source: src/components/score/ScanCard.tsx:87
4722 +#: assets/admin.js
4723 +msgid "Platform"
1404 4724 msgstr ""
1405 4725
1406 -#: src/components/overview/HeroStatus.tsx:40
1407 -msgid "Serving from the PHP cache"
4726 +#. Source: src/components/cache/StatDrilldown.tsx:277
4727 +#: assets/admin.js
4728 +msgid "Precompressed copies on disk:"
1408 4729 msgstr ""
1409 4730
1410 -#: src/components/SaveIndicator.tsx:88
1411 -msgid "Settings saved"
4731 +#. Source: src/components/CommandPalette.tsx:59
4732 +#: assets/admin.js
4733 +msgid "Preload"
1412 4734 msgstr ""
1413 4735
1414 -#: src/upsell/ProAudit.tsx:82
1415 -msgid "Show"
4736 +#. Source: src/App.tsx:447
4737 +#: assets/admin.js
4738 +msgid "Preload could not start"
1416 4739 msgstr ""
1417 4740
1418 -#: src/components/overview/FeatureMap.tsx:73
1419 -msgid "Show less"
4741 +#. Source: src/App.tsx:446
4742 +#: assets/admin.js
4743 +msgid "Preload could not start: %s"
1420 4744 msgstr ""
1421 4745
1422 -#: src/components/cache/CacheHero.tsx:108
1423 -msgid "show what cleared the cache and why"
4746 +#. Source: src/App.tsx:434
4747 +#: assets/admin.js
4748 +msgid "Preload found no pages to warm"
1424 4749 msgstr ""
1425 4750
1426 -#: src/components/cache/CacheHero.tsx:101
1427 -msgid "show what is taking the space"
4751 +#. Source: src/App.tsx:433
4752 +#: assets/admin.js
4753 +msgid "Preload found no pages to warm: %s"
1428 4754 msgstr ""
1429 4755
1430 -#: src/components/cache/CacheHero.tsx:94
1431 -msgid "show which pages are cached"
4756 +#. Source: src/App.tsx:423
4757 +#: assets/admin.js
4758 +msgid "Preloading %d page"
4759 +msgid_plural "Preloading %d pages"
4760 +msgstr[0] ""
4761 +msgstr[1] ""
4762 +
4763 +#. Source: src/upsell/ProDemo.tsx:118
4764 +#: assets/admin.js
4765 +msgid "Preview"
1432 4766 msgstr ""
1433 4767
1434 -#: src/components/cache/StatDrilldown.tsx:202
1435 -msgid "Showing"
4768 +#. Source: src/components/Sidebar.tsx:357
4769 +#: assets/admin.js
4770 +msgid "Primary"
1436 4771 msgstr ""
1437 4772
1438 -#: src/onboarding/steps/Connect.tsx:230
1439 -msgid "Site URL"
4773 +#. Source: src/components/GroupLanding.tsx:44
4774 +#. Source: src/components/ModuleHeader.tsx:57
4775 +#. Source: src/components/Tabs.tsx:97
4776 +#. Source: src/components/migration/MigrationPanel.tsx:650
4777 +#. Source: src/components/overview/FeatureMap.tsx:47
4778 +#. Source: src/upsell/LockedSection.tsx:70
4779 +#. Source: src/upsell/ProAudit.tsx:66
4780 +#. Source: src/upsell/ProDemo.tsx:60
4781 +#. Source: src/upsell/ProTeaser.tsx:45
4782 +#: assets/admin.js
4783 +msgid "Pro"
1440 4784 msgstr ""
1441 4785
1442 -#: src/components/cache/StatDrilldown.tsx:153
1443 -msgid "Size"
4786 +#. Source: src/upsell/LockedPanel.tsx:171
4787 +#. Source: src/upsell/ProOverview.tsx:40
4788 +#: assets/admin.js
4789 +msgid "Pro — license needed"
1444 4790 msgstr ""
1445 4791
1446 -#: src/components/cache/StatDrilldown.tsx:155
1447 -msgid "Stored"
4792 +#. Source: src/upsell/LockedPanel.tsx:171
4793 +#: assets/admin.js
4794 +msgid "Pro feature"
1448 4795 msgstr ""
1449 4796
1450 -#: src/components/Sidebar.tsx:466
1451 -#: src/components/Sidebar.tsx:473
1452 -msgid "Switch to dark"
4797 +#. Source: src/upsell/ProOverview.tsx:46
4798 +#: assets/admin.js
4799 +msgid "Pro is licensed on this site."
1453 4800 msgstr ""
1454 4801
1455 -#: src/components/Sidebar.tsx:466
1456 -#: src/components/Sidebar.tsx:473
1457 -msgid "Switch to light"
4802 +#. Source: src/upsell/ProOverview.tsx:54
4803 +#: assets/admin.js
4804 +msgid "Pro layers deeper optimization, real-user insight, and automation on top of the cache you already run. Nothing you have set up changes."
1458 4805 msgstr ""
1459 4806
1460 -#: src/components/cache/TrendCharts.tsx:240
1461 -msgid "target ≥80%"
4807 +#. Source: src/components/Sidebar.tsx:494
4808 +#. Source: src/components/Sidebar.tsx:510
4809 +#. Source: src/upsell/ProOverview.tsx:38
4810 +#: assets/admin.js
4811 +msgid "Pro Licensed"
1462 4812 msgstr ""
1463 4813
1464 -#: src/components/score/ScorePanel.tsx:203
1465 -msgid "Test now"
4814 +#. Source: src/upsell/LockedPanel.tsx:130
4815 +#. Source: src/upsell/LockedPanel.tsx:241
4816 +#: assets/admin.js
4817 +msgid "Pro unlocks this module + every other locked row in the sidebar. Your current Free settings stay unchanged."
1466 4818 msgstr ""
1467 4819
1468 -#: src/components/score/ScorePanel.tsx:168
1469 -msgid "The test could not be started."
4820 +#. Source: src/components/migration/MigrationPanel.tsx:802
4821 +#: assets/admin.js
4822 +msgid "Profile JSON to import"
1470 4823 msgstr ""
1471 4824
1472 -#: src/components/cache/StatDrilldown.tsx:142
1473 -msgid "This cache is large enough that the scan stopped early — the list below is a recent sample, not every page."
4825 +#. Source: src/components/Stepper.tsx:19
4826 +#: assets/admin.js
4827 +msgid "Progress"
1474 4828 msgstr ""
1475 4829
1476 -#: src/components/Sidebar.tsx:472
1477 -msgid "Toggle theme"
4830 +#. Source: src/components/score/ScorePanel.tsx:727
4831 +#: assets/admin.js
4832 +msgid "Provider"
1478 4833 msgstr ""
1479 4834
1480 -#: src/onboarding/steps/Connect.tsx:234
1481 -msgid "Token"
4835 +#. Source: src/components/score/ScanCard.tsx:108
4836 +#: assets/admin.js
4837 +msgid "pts"
1482 4838 msgstr ""
1483 4839
1484 -#: src/components/cache/TrendCharts.tsx:81
1485 -msgid "Trends"
4840 +#. Source: src/components/CommandPalette.tsx:58
4841 +#. Source: src/components/TopBar.tsx:204
4842 +#: assets/admin.js
4843 +msgid "Purge all"
1486 4844 msgstr ""
1487 4845
1488 -#: src/components/cache/TrendCharts.tsx:126
1489 -msgid "Trends appear after a couple of days of traffic. The daily series is being collected now."
4846 +#. Source: src/App.tsx:394
4847 +#. Source: src/components/TopBar.tsx:203
4848 +#: assets/admin.js
4849 +msgid "Purge failed"
1490 4850 msgstr ""
1491 4851
1492 -#: src/components/score/ScorePanel.tsx:199
1493 -msgid "Turn on external scores below first."
4852 +#. Source: src/App.tsx:394
4853 +#: assets/admin.js
4854 +msgid "Purge failed: %s"
1494 4855 msgstr ""
1495 4856
1496 -#: src/components/overview/HeroStatus.tsx:32
1497 -msgid "Turn on the page cache to start serving pages instantly."
4857 +#. Source: src/components/purgeOutcome.ts:54
4858 +#: assets/admin.js
4859 +msgid "Purge failed."
1498 4860 msgstr ""
1499 4861
1500 -#: src/components/cache/TrendCharts.tsx:273
1501 -msgid "uncached"
4862 +#. Source: src/components/cache/StatDrilldown.tsx:331
4863 +#: assets/admin.js
4864 +msgid "Purge history"
1502 4865 msgstr ""
1503 4866
1504 -#: src/onboarding/steps/Connect.tsx:190
1505 -msgid "Under a minute"
4867 +#. Source: src/onboarding/steps/Connect.tsx:94
4868 +#: assets/admin.js
4869 +msgid "Purge, benchmark, preload and tune settings by asking your AI"
1506 4870 msgstr ""
1507 4871
1508 -#: src/upsell/LockedPanel.tsx:129
1509 -#: src/upsell/LockedSection.tsx:109
1510 -#: src/upsell/ProAudit.tsx:113
1511 -#: src/upsell/ProDemo.tsx:115
1512 -msgid "Upgrade to Pro"
4872 +#. Source: src/components/score/ScanCard.tsx:346
4873 +#: assets/admin.js
4874 +msgid "ranked by points recovered"
1513 4875 msgstr ""
1514 4876
1515 -#: src/upsell/LockedPanel.tsx:152
1516 -msgid "What this adds"
4877 +#. Source: src/components/cache/CacheBenchmark.tsx:67
4878 +#. Source: src/upsell/ProAudit.tsx:92
4879 +#: assets/admin.js
4880 +msgid "Re-run"
1517 4881 msgstr ""
1518 4882
1519 -#: src/upsell/ProAudit.tsx:62
1520 -msgid "What would Pro do for your site?"
4883 +#. Source: src/upsell/LockedPanel.tsx:106
4884 +#: assets/admin.js
4885 +msgid "Read the setup guide"
1521 4886 msgstr ""
1522 4887
1523 -#: src/components/cache/StatDrilldown.tsx:234
1524 -msgid "Where the cache size goes"
4888 +#. Source: src/components/mcp/McpActivity.tsx:194
4889 +#: assets/admin.js
4890 +msgid "read-only call"
1525 4891 msgstr ""
1526 4892
1527 -#: src/components/cache/CacheBenchmark.tsx:88
1528 -msgid "With cache"
4893 +#. Source: src/components/overview/ScoreCard.tsx:206
4894 +#: assets/admin.js
4895 +msgid "Reading your latest result."
1529 4896 msgstr ""
1530 4897
1531 -#: src/components/cache/CacheBenchmark.tsx:82
1532 -msgid "Without cache"
4898 +#. Source: src/components/cache/ImpactHero.tsx:84
4899 +#: assets/admin.js
4900 +msgid "Real visitor impact"
1533 4901 msgstr ""
1534 4902
1535 -#: src/components/overview/HubCard.tsx:79
1536 -#: src/components/overview/HubCard.tsx:95
1537 -#: src/components/overview/HubCard.tsx:99
1538 -msgid "xSpeed Hub"
4903 +#. Source: src/components/overview/ActivityStrip.tsx:49
4904 +#. Source: src/components/overview/ActivityStrip.tsx:51
4905 +#: assets/admin.js
4906 +msgid "Recent activity"
1539 4907 msgstr ""
1540 4908
1541 -#: src/onboarding/steps/Connect.tsx:132
1542 -msgid "xSpeed Hub error"
4909 +#. Source: src/components/LogsView.tsx:36
4910 +#: assets/admin.js
4911 +msgid "Recent cache and settings activity on this site."
1543 4912 msgstr ""
1544 4913
1545 -#: src/upsell/LockedPanel.tsx:109
1546 -msgid "xSpeed Pro is installed — activate your license to unlock this module and every other Pro feature."
4914 +#. Source: src/components/GroupLanding.tsx:91
4915 +#: assets/admin.js
4916 +msgid "Recent cache and settings activity."
1547 4917 msgstr ""
1548 4918
1549 -#: src/components/cache/ImpactHero.tsx:88
1550 -msgid "xSpeed served"
4919 +#. Source: src/components/cache/TrendCharts.tsx:153
4920 +#: assets/admin.js
4921 +msgid "Recent changes"
1551 4922 msgstr ""
1552 4923
1553 -#: src/onboarding/steps/Connect.tsx:68
1554 -msgid "You're all set"
4924 +#. Source: src/components/overview/Recommendations.tsx:124
4925 +#. Source: src/components/overview/Recommendations.tsx:128
4926 +#: assets/admin.js
4927 +msgid "Recommended for your site"
1555 4928 msgstr ""
1556 4929
1557 -#: src/components/overview/Recommendations.tsx:113
1558 -msgid "You're all set — no recommendations right now."
4930 +#. Source: src/components/FieldSuggestionStrip.tsx:116
4931 +#: assets/admin.js
4932 +msgid "Recommended:"
1559 4933 msgstr ""
1560 4934
1561 -#: src/onboarding/steps/Connect.tsx:61
1562 -msgid "Your caching is ready to manage from anywhere."
4935 +#. Source: src/components/cache/StatDrilldown.tsx:104
4936 +#: assets/admin.js
4937 +msgid "Refresh"
1563 4938 msgstr ""
1564 4939
1565 -#: src/components/overview/FeatureMap.tsx:64
1566 -msgid "Your features"
4940 +#. Source: src/components/mcp/McpActivity.tsx:137
4941 +#: assets/admin.js
4942 +msgid "Refresh activity log"
1567 4943 msgstr ""
1568 4944
1569 -#: src/onboarding/steps/Connect.tsx:138
1570 -msgid "Your Hub is home base for all your sites. Once connected, you can:"
4945 +#. Source: src/components/cache/TrendCharts.tsx:113
4946 +#: assets/admin.js
4947 +msgid "Refresh trends"
1571 4948 msgstr ""
1572 4949
1573 -#: src/App.tsx:352
1574 -msgid "Your site at a glance"
4950 +#. Source: src/components/MissingPanel.tsx:34
4951 +#: assets/admin.js
4952 +msgid "Reload the page. If it happens again, update xSpeed and xSpeed Cache Pro to their latest versions."
1575 4953 msgstr ""
1576 4954
1577 -#: src/components/overview/HeroStatus.tsx:36
1578 -msgid "your web server"
4955 +#. Source: src/components/SecretField.tsx:116
4956 +#: assets/admin.js
4957 +msgid "Remove"
1579 4958 msgstr ""
1580 4959
1581 -#: src/components/score/ScorePanel.tsx:93
1582 -#: src/components/score/SpeedTestCard.tsx:135
1583 -msgid "%1$d of %2$d left"
4960 +#. Source: src/components/SecretField.tsx:115
4961 +#: assets/admin.js
4962 +msgid "Remove the saved key"
1584 4963 msgstr ""
1585 4964
1586 -#: src/components/SecretField.tsx:82
1587 -msgid "A key is saved. Type to replace it; use ✕ to remove it."
4965 +#. Source: src/components/dropinNotice.ts:46
4966 +#: assets/admin.js
4967 +msgid "Replace and enable"
1588 4968 msgstr ""
1589 4969
1590 -#: src/components/cache/CacheHero.tsx:132
1591 -msgid "Absorbed"
4970 +#. Source: src/components/dropinNotice.ts:42
4971 +#: assets/admin.js
4972 +msgid "Replace the existing cache file?"
1592 4973 msgstr ""
1593 4974
1594 -#: src/components/CommandPalette.tsx:230
1595 -msgid "Action"
4975 +#. Source: src/components/health/HealthHero.tsx:31
4976 +#: assets/admin.js
4977 +msgid "Requests (24h)"
1596 4978 msgstr ""
1597 4979
1598 -#: src/components/Sidebar.tsx:144
1599 -#: src/upsell/ProOverview.tsx:73
1600 -msgid "Activate License"
4980 +#. Source: src/components/CommandPalette.tsx:210
4981 +#: assets/admin.js
4982 +msgid "Results"
1601 4983 msgstr ""
1602 4984
1603 -#: src/components/score/ScorePanel.tsx:660
1604 -msgid "After"
4985 +#. Source: src/components/overview/OverviewFooter.tsx:32
4986 +#: assets/admin.js
4987 +msgid "Review us on WordPress.org"
1605 4988 msgstr ""
1606 4989
1607 -#: src/components/cache/CacheHero.tsx:125
1608 -msgid "An edge cache (Cloudflare) is in front, so this hit ratio is origin-layer only — hits served at the edge never reach the origin and aren’t counted here."
4990 +#. Source: src/components/overview/ScoreCard.tsx:202
4991 +#: assets/admin.js
4992 +msgid "Room to go faster"
1609 4993 msgstr ""
1610 4994
1611 -#: src/components/cache/StatDrilldown.tsx:330
1612 -msgid "Automatic cleanup has not run yet — first sweep in %s."
4995 +#. Source: src/components/score/ConnectHubModal.tsx:101
4996 +#: assets/admin.js
4997 +msgid "Run a GTmetrix test"
1613 4998 msgstr ""
1614 4999
1615 -#: src/components/cache/StatDrilldown.tsx:322
1616 -msgid "Automatic cleanup ran %1$s ago — %2$d file(s) removed, %3$d in total."
5000 +#. Source: src/components/score/ScorePanel.tsx:478
5001 +#: assets/admin.js
5002 +msgid "Run a GTmetrix test on this site"
1617 5003 msgstr ""
1618 5004
1619 -#: src/components/overview/MetricGrid.tsx:47
1620 -msgid "Avg saved"
5005 +#. Source: src/components/overview/ScoreCard.tsx:299
5006 +#. Source: src/components/score/ScanCard.tsx:210
5007 +#: assets/admin.js
5008 +msgid "Run a scan"
1621 5009 msgstr ""
1622 5010
1623 -#: src/components/score/ScorePanel.tsx:659
1624 -msgid "Before"
5011 +#. Source: src/components/cache/CacheBenchmark.tsx:67
5012 +#: assets/admin.js
5013 +msgid "Run benchmark"
1625 5014 msgstr ""
1626 5015
1627 -#: src/components/overview/Recommendations.tsx:230
1628 -msgid "Book"
5016 +#. Source: src/onboarding/steps/Connect.tsx:162
5017 +#: assets/admin.js
5018 +msgid "Run every site from one place"
1629 5019 msgstr ""
1630 5020
1631 -#: src/components/overview/Recommendations.tsx:221
1632 -msgid "Book a free setup review with our team."
5021 +#. Source: src/components/score/ScorePanel.tsx:620
5022 +#: assets/admin.js
5023 +msgid "Run history"
1633 5024 msgstr ""
1634 5025
1635 -#: src/components/cache/CacheHero.tsx:136
1636 -msgid "bot / 404 requests in 24h — excluded from the hit ratio."
5026 +#. Source: src/upsell/ProAudit.tsx:92
5027 +#: assets/admin.js
5028 +msgid "Run Pro audit"
1637 5029 msgstr ""
1638 5030
1639 -#: src/components/TopBar.tsx:52
1640 -msgid "Breadcrumb"
5031 +#. Source: src/components/score/SpeedTestCard.tsx:147
5032 +#: assets/admin.js
5033 +msgid "Run test"
1641 5034 msgstr ""
1642 5035
1643 -#: src/components/health/HealthHero.tsx:24
1644 -msgid "Cache coverage"
5036 +#. Source: src/components/cache/TrendCharts.tsx:144
5037 +#: assets/admin.js
5038 +msgid "Run the benchmark at least twice to see a trend."
1645 5039 msgstr ""
1646 5040
1647 -#: src/App.tsx:224
1648 -msgid "Cache disabled"
5041 +#. Source: src/components/cache/ImpactHero.tsx:65
5042 +#: assets/admin.js
5043 +msgid "Run the benchmark once and this card shows how much combined wait time the cache saves your visitors."
1649 5044 msgstr ""
1650 5045
1651 -#: src/App.tsx:224
1652 -msgid "Cache enabled"
5046 +#. Source: src/onboarding/steps/Connect.tsx:123
5047 +#: assets/admin.js
5048 +msgid "Run your site just by asking"
1653 5049 msgstr ""
1654 5050
1655 -#: src/App.tsx:240
1656 -msgid "Cache purged"
5051 +#. Source: src/components/score/ScorePanel.tsx:499
5052 +#: assets/admin.js
5053 +msgid "Running…"
1657 5054 msgstr ""
1658 5055
1659 -#: src/components/overview/HeroStatus.tsx:56
1660 -#: src/components/overview/HeroStatus.tsx:59
1661 -msgid "Cache warmth"
5056 +#. Source: src/components/SaveIndicator.tsx:108
5057 +#: assets/admin.js
5058 +msgid "Save failed — your change was not saved"
1662 5059 msgstr ""
1663 5060
1664 -#: src/components/score/ScorePanel.tsx:661
1665 -msgid "Change"
5061 +#. Source: src/components/cache/ImpactHero.tsx:107
5062 +#: assets/admin.js
5063 +msgid "saved across"
1666 5064 msgstr ""
1667 5065
1668 -#: src/components/score/ScorePanel.tsx:206
1669 -msgid "Change across the runs shown"
5066 +#. Source: src/components/cache/CacheBenchmark.tsx:100
5067 +#: assets/admin.js
5068 +msgid "saved per request"
1670 5069 msgstr ""
1671 5070
1672 -#: src/components/score/ScorePanel.tsx:652
1673 -msgid "Clear"
5071 +#. Source: src/components/SaveIndicator.tsx:118
5072 +#: assets/admin.js
5073 +msgid "Saving changes…"
1674 5074 msgstr ""
1675 5075
1676 -#: src/components/CommandPalette.tsx:166
1677 -msgid "Command palette"
5076 +#. Source: src/components/score/ScanCard.tsx:210
5077 +#: assets/admin.js
5078 +msgid "Scan again"
1678 5079 msgstr ""
1679 5080
1680 -#: src/components/score/ScorePanel.tsx:724
1681 -msgid "Compare"
5081 +#. Source: src/components/score/ScanCard.tsx:210
5082 +#: assets/admin.js
5083 +msgid "Scanning…"
1682 5084 msgstr ""
1683 5085
1684 -#: src/components/score/ScorePanel.tsx:754
1685 -msgid "Compare this run"
5086 +#. Source: src/upsell/ProAudit.tsx:70
5087 +#: assets/admin.js
5088 +msgid "Scans your current settings + 24h cache stats and shows exactly which Pro features would help."
1686 5089 msgstr ""
1687 5090
1688 -#: src/components/score/ConnectHubModal.tsx:151
1689 -msgid "Connect"
5091 +#. Source: src/components/overview/ScoreCard.tsx:233
5092 +#. Source: src/components/score/ScorePanel.tsx:728
5093 +#: assets/admin.js
5094 +msgid "Score"
1690 5095 msgstr ""
1691 5096
1692 -#: src/components/TopBar.tsx:107
1693 -msgid "Connect Hub"
5097 +#. Source: src/components/score/ScorePanel.tsx:525
5098 +#: assets/admin.js
5099 +msgid "score out of 100"
1694 5100 msgstr ""
1695 5101
1696 -#: src/components/score/ConnectHubModal.tsx:113
1697 -msgid "Connect this site to xSpeed Hub to run GTmetrix tests from here."
5102 +#. Source: src/components/overview/ScoreCard.tsx:99
5103 +#: assets/admin.js
5104 +msgid "Score strategy"
1698 5105 msgstr ""
1699 5106
1700 -#: src/components/score/ConnectHubModal.tsx:105
1701 -msgid "Connected — starting your test…"
5107 +#. Source: src/components/TopBar.tsx:117
5108 +#. Source: src/components/TopBar.tsx:122
5109 +#: assets/admin.js
5110 +msgid "Search"
1702 5111 msgstr ""
1703 5112
1704 -#: src/upsell/ProOverview.tsx:51
1705 -msgid "Every feature below is unlocked and available from its own page. This screen stays as a reference for what Pro adds — manage your license from the License page."
5113 +#. Source: src/components/CommandPalette.tsx:186
5114 +#: assets/admin.js
5115 +msgid "Search settings, modules, actions"
1706 5116 msgstr ""
1707 5117
1708 -#: src/upsell/ProOverview.tsx:47
1709 -msgid "Everything in Free, plus the heavy lifting."
5118 +#. Source: src/components/CommandPalette.tsx:192
5119 +#: assets/admin.js
5120 +msgid "Search settings, modules, actions…"
1710 5121 msgstr ""
1711 5122
1712 -#: src/App.tsx:228
1713 -msgid "Failed to disable cache"
5123 +#. Source: src/onboarding/steps/Connect.tsx:183
5124 +#: assets/admin.js
5125 +msgid "See everything it does."
1714 5126 msgstr ""
1715 5127
1716 -#: src/App.tsx:228
1717 -msgid "Failed to enable cache"
5128 +#. Source: src/components/overview/ScoreCard.tsx:210
5129 +#: assets/admin.js
5130 +msgid "See how this site performs for real visitors."
1718 5131 msgstr ""
1719 5132
1720 -#: src/App.tsx:205
1721 -msgid "Failed to load"
5133 +#. Source: src/components/RecordCard.tsx:134
5134 +#: assets/admin.js
5135 +msgid "Select and copy:"
1722 5136 msgstr ""
1723 5137
1724 -#: src/components/score/ConnectHubModal.tsx:157
1725 -msgid "Finish in the tab that opened, then come back here."
5138 +#. Source: src/components/CfeOfferCard.tsx:151
5139 +#. Source: src/components/CfeOfferCard.tsx:224
5140 +#: assets/admin.js
5141 +msgid "Serve your whole site from Cloudflare’s network."
1726 5142 msgstr ""
1727 5143
1728 -#: src/components/score/ScorePanel.tsx:437
1729 -msgid "Free tests included with your plan"
5144 +#. Source: src/components/health/HealthHero.tsx:29
5145 +#. Source: src/components/overview/MetricGrid.tsx:55
5146 +#: assets/admin.js
5147 +msgid "served without PHP"
1730 5148 msgstr ""
1731 5149
1732 -#: src/onboarding/OnboardingApp.tsx:173
1733 -msgid "Go to the dashboard"
5150 +#. Source: src/components/score/ScanCard.tsx:83
5151 +#: assets/admin.js
5152 +msgid "Server & caching"
1734 5153 msgstr ""
1735 5154
1736 -#: src/components/score/SpeedTestCard.tsx:122
1737 -msgid "GTmetrix test"
5155 +#. Source: src/components/RewriteAlert.tsx:106
5156 +#: assets/admin.js
5157 +msgid "Server config missing — cache running on PHP fallback"
1738 5158 msgstr ""
1739 5159
1740 -#: src/components/health/HealthHero.tsx:31
1741 -msgid "Health summary"
5160 +#. Source: src/components/cache/ImpactHero.tsx:66
5161 +#: assets/admin.js
5162 +msgid "Serving cached pages… impact numbers appear once today’s hits accumulate."
1742 5163 msgstr ""
1743 5164
1744 -#: src/components/cache/CacheHero.tsx:111
1745 -msgid "Hit Ratio · 24h"
5165 +#. Source: src/components/SecretField.tsx:89
5166 +#: assets/admin.js
5167 +msgid "Set in wp-config.php"
1746 5168 msgstr ""
1747 5169
1748 -#: src/components/cache/CacheHero.tsx:111
1749 -msgid "Hit Ratio · 24h · origin"
5170 +#. Source: src/components/SaveIndicator.tsx:113
5171 +#: assets/admin.js
5172 +msgid "Settings saved"
1750 5173 msgstr ""
1751 5174
1752 -#: src/components/health/HealthHero.tsx:27
1753 -msgid "hits + misses"
5175 +#. Source: src/upsell/ProAudit.tsx:82
5176 +#: assets/admin.js
5177 +msgid "Show"
1754 5178 msgstr ""
1755 5179
1756 -#: src/components/TopBar.tsx:107
1757 -msgid "Hub connected"
5180 +#. Source: src/components/overview/FeatureMap.tsx:114
5181 +#: assets/admin.js
5182 +msgid "Show less"
1758 5183 msgstr ""
1759 5184
1760 -#: src/components/score/ConnectHubModal.tsx:116
1761 -msgid "It takes a few seconds."
5185 +#. Source: src/components/RecordCard.tsx:157
5186 +#: assets/admin.js
5187 +msgid "Show records"
1762 5188 msgstr ""
1763 5189
1764 -#: src/components/overview/HeroStatus.tsx:72
1765 -msgid "Last purged"
5190 +#. Source: src/components/cache/CacheHero.tsx:214
5191 +#: assets/admin.js
5192 +msgid "show what cleared the cache and why"
1766 5193 msgstr ""
1767 5194
1768 -#: src/App.tsx:284
1769 -#: src/components/GroupLanding.tsx:63
1770 -#: src/components/LogsView.tsx:35
1771 -msgid "Logs"
5195 +#. Source: src/components/cache/CacheHero.tsx:207
5196 +#: assets/admin.js
5197 +msgid "show what is taking the space"
1772 5198 msgstr ""
1773 5199
1774 -#: src/upsell/ProOverview.tsx:65
1775 -msgid "Manage license"
5200 +#. Source: src/components/cache/CacheHero.tsx:200
5201 +#: assets/admin.js
5202 +msgid "show which pages are cached"
1776 5203 msgstr ""
1777 5204
1778 -#: src/components/Sidebar.tsx:125
1779 -msgid "Manage your license"
5205 +#. Source: src/components/cache/StatDrilldown.tsx:211
5206 +#: assets/admin.js
5207 +msgid "Showing"
1780 5208 msgstr ""
1781 5209
1782 -#: src/components/score/ScorePanel.tsx:658
1783 -msgid "Metric"
5210 +#. Source: src/components/overview/ScoreCard.tsx:212
5211 +#: assets/admin.js
5212 +msgid "Showing your last completed scan."
1784 5213 msgstr ""
1785 5214
1786 -#: src/components/overview/HeroStatus.tsx:72
1787 -msgid "never"
5215 +#. Source: src/onboarding/steps/Connect.tsx:238
5216 +#: assets/admin.js
5217 +msgid "Site URL"
1788 5218 msgstr ""
1789 5219
1790 -#: src/components/LogsView.tsx:45
1791 -msgid "No activity recorded yet."
5220 +#. Source: src/components/cache/StatDrilldown.tsx:162
5221 +#: assets/admin.js
5222 +msgid "Size"
1792 5223 msgstr ""
1793 5224
1794 -#: src/components/score/ScorePanel.tsx:209
1795 -#: src/components/score/ScorePanel.tsx:696
1796 -msgid "no change"
5225 +#. Source: src/components/sidebarGroups.ts:105
5226 +#: assets/admin.js
5227 +msgid "Speed score, diagnostics and analytics."
1797 5228 msgstr ""
1798 5229
1799 -#: src/components/score/SpeedTestCard.tsx:126
1800 -msgid "No tests left this month."
5230 +#. Source: src/components/score/ScorePanel.tsx:427
5231 +#: assets/admin.js
5232 +msgid "Speed test"
1801 5233 msgstr ""
1802 5234
1803 -#: src/components/score/ConnectHubModal.tsx:142
1804 -msgid "Not now"
5235 +#. Source: src/components/RewriteAlert.tsx:92
5236 +#: assets/admin.js
5237 +msgid "Static rewrite may not be available on this host"
1805 5238 msgstr ""
1806 5239
1807 -#: src/components/health/HealthHero.tsx:24
1808 -msgid "of cache features on"
5240 +#. Source: src/components/cache/StatDrilldown.tsx:164
5241 +#: assets/admin.js
5242 +msgid "Stored"
1809 5243 msgstr ""
1810 5244
1811 -#: src/components/GroupLanding.tsx:88
1812 -msgid "on"
5245 +#. Source: src/components/mcp/McpActivity.tsx:175
5246 +#: assets/admin.js
5247 +msgid "succeeded"
1813 5248 msgstr ""
1814 5249
1815 -#: src/onboarding/OnboardingApp.tsx:164
1816 -msgid "Onboarding data unavailable"
5250 +#. Source: src/components/TopBar.tsx:150
5251 +#: assets/admin.js
5252 +msgid "Switch to dark mode"
1817 5253 msgstr ""
1818 5254
1819 -#: src/components/score/ScorePanel.tsx:785
1820 -msgid "Open the full report"
5255 +#. Source: src/components/TopBar.tsx:150
5256 +#: assets/admin.js
5257 +msgid "Switch to light mode"
1821 5258 msgstr ""
1822 5259
1823 -#: src/components/overview/MetricGrid.tsx:47
1824 -msgid "per page load"
5260 +#. Source: src/components/dropinNotice.ts:37
5261 +#: assets/admin.js
5262 +msgid "Take over and enable"
1825 5263 msgstr ""
1826 5264
1827 -#: src/components/score/SpeedTestCard.tsx:127
1828 -msgid "Performance score and Core Web Vitals for your home page."
5265 +#. Source: src/components/dropinNotice.ts:33
5266 +#: assets/admin.js
5267 +msgid "Take over the page cache from %s?"
1829 5268 msgstr ""
1830 5269
1831 -#: src/components/score/ScorePanel.tsx:419
1832 -msgid "Performance score and Core Web Vitals."
5270 +#. Source: src/components/cache/TrendCharts.tsx:245
5271 +#: assets/admin.js
5272 +msgid "target ≥80%"
1833 5273 msgstr ""
1834 5274
1835 -#: src/components/score/ScorePanel.tsx:713
1836 -msgid "Pick one more run to compare."
5275 +#. Source: src/components/score/ScorePanel.tsx:499
5276 +#: assets/admin.js
5277 +msgid "Test now"
1837 5278 msgstr ""
1838 5279
1839 -#: src/components/score/ScorePanel.tsx:714
1840 -msgid "Pick two runs to compare them."
5280 +#. Source: src/components/score/ScorePanel.tsx:485
5281 +#: assets/admin.js
5282 +msgid "Test with GTmetrix"
1841 5283 msgstr ""
1842 5284
1843 -#: src/components/Sidebar.tsx:65
1844 -msgid "Primary"
5285 +#. Source: src/components/score/ScorePanel.tsx:485
5286 +#. Source: src/components/score/SpeedTestCard.tsx:147
5287 +#: assets/admin.js
5288 +msgid "Testing…"
1845 5289 msgstr ""
1846 5290
1847 -#: src/upsell/ProOverview.tsx:46
1848 -msgid "Pro is licensed on this site."
5291 +#. Source: src/components/purgeOutcome.ts:70
5292 +#: assets/admin.js
5293 +msgid "The cache was already empty, so there was nothing to clear."
1849 5294 msgstr ""
1850 5295
1851 -#: src/upsell/ProOverview.tsx:54
1852 -msgid "Pro layers deeper optimization, real-user insight, and automation on top of the cache you already run. Nothing you have set up changes."
5296 +#. Source: src/components/overview/ScoreCard.tsx:211
5297 +#: assets/admin.js
5298 +msgid "The last scan did not complete."
1853 5299 msgstr ""
1854 5300
1855 -#: src/components/Sidebar.tsx:129
1856 -#: src/upsell/ProOverview.tsx:38
1857 -msgid "Pro Licensed"
5301 +#. Source: src/components/purgeOutcome.ts:78
5302 +#: assets/admin.js
5303 +msgid "The page cache was already empty."
1858 5304 msgstr ""
1859 5305
1860 -#: src/components/score/ScorePanel.tsx:727
1861 -msgid "Provider"
5306 +#. Source: src/components/purgeOutcome.ts:63
5307 +#: assets/admin.js
5308 +msgid "There was nothing to clear."
1862 5309 msgstr ""
1863 5310
1864 -#: src/App.tsx:242
1865 -msgid "Purge failed"
5311 +#. Source: src/components/cache/StatDrilldown.tsx:151
5312 +#: assets/admin.js
5313 +msgid "This cache is large enough that the scan stopped early — the list below is a recent sample, not every page."
1866 5314 msgstr ""
1867 5315
1868 -#: src/components/LogsView.tsx:36
1869 -msgid "Recent cache and settings activity on this site."
5316 +#. Source: src/components/SecretField.tsx:93
5317 +#: assets/admin.js
5318 +msgid "This credential is defined in wp-config.php and cannot be changed here."
1870 5319 msgstr ""
1871 5320
1872 -#: src/components/GroupLanding.tsx:63
1873 -msgid "Recent cache and settings activity."
5321 +#. Source: src/components/score/ScanCard.tsx:235
5322 +#: assets/admin.js
5323 +msgid "This report will be publicly visible at xspeedcache.com, listed under your domain. Connect xSpeed Hub to keep your reports unlisted."
1874 5324 msgstr ""
1875 5325
1876 -#: src/components/overview/Recommendations.tsx:116
1877 -#: src/components/overview/Recommendations.tsx:120
1878 -msgid "Recommended for your site"
5326 +#. Source: src/components/MissingPanel.tsx:33
5327 +#: assets/admin.js
5328 +msgid "This screen did not load."
1879 5329 msgstr ""
1880 5330
1881 -#: src/components/SecretField.tsx:103
1882 -msgid "Remove"
5331 +#. Source: src/components/score/ConnectHubModal.tsx:127
5332 +#: assets/admin.js
5333 +msgid "This site looks local, so it may not be reachable for testing. Your own GTmetrix API key works either way — see the settings below."
1883 5334 msgstr ""
1884 5335
1885 -#: src/components/SecretField.tsx:102
1886 -msgid "Remove the saved key"
5336 +#. Source: src/components/settings/HubCard.tsx:361
5337 +#: assets/admin.js
5338 +msgid "This tells the hub to drop your account\\u2019s link to this site, then clears it here. Other admins who connected keep theirs, and caching on this site is unaffected. To cut the hub off completely, Rotate the token above so its stored copy stops working."
1887 5339 msgstr ""
1888 5340
1889 -#: src/components/health/HealthHero.tsx:27
1890 -msgid "Requests (24h)"
5341 +#. Source: src/components/OverrideConfirm.tsx:31
5342 +#: assets/admin.js
5343 +msgid "This value comes from"
1891 5344 msgstr ""
1892 5345
1893 -#: src/components/CommandPalette.tsx:204
1894 -msgid "Results"
5346 +#. Source: src/onboarding/steps/Connect.tsx:242
5347 +#: assets/admin.js
5348 +msgid "Token"
1895 5349 msgstr ""
1896 5350
1897 -#: src/components/score/ConnectHubModal.tsx:101
1898 -msgid "Run a GTmetrix test"
5351 +#. Source: src/components/LogsView.tsx:34
5352 +#. Source: src/components/sidebarGroups.ts:110
5353 +#: assets/admin.js
5354 +msgid "Tools"
1899 5355 msgstr ""
1900 5356
1901 -#: src/components/score/ScorePanel.tsx:449
1902 -msgid "Run a GTmetrix test on this site"
5357 +#. Source: src/components/cache/TrendCharts.tsx:81
5358 +#: assets/admin.js
5359 +msgid "Trends"
1903 5360 msgstr ""
1904 5361
1905 -#: src/components/score/SpeedTestCard.tsx:147
1906 -msgid "Run test"
5362 +#. Source: src/components/cache/TrendCharts.tsx:131
5363 +#: assets/admin.js
5364 +msgid "Trends appear after a couple of days of traffic. The daily series is being collected now."
1907 5365 msgstr ""
1908 5366
1909 -#: src/components/SaveIndicator.tsx:108
1910 -msgid "Save failed — your change was not saved"
5367 +#. Source: src/components/CacheSwitch.tsx:176
5368 +#: assets/admin.js
5369 +msgid "Turn caching off"
1911 5370 msgstr ""
1912 5371
1913 -#: src/components/score/ScorePanel.tsx:728
1914 -msgid "Score"
5372 +#. Source: src/components/CacheSwitch.tsx:223
5373 +#: assets/admin.js
5374 +msgid "Turn caching off?"
1915 5375 msgstr ""
1916 5376
1917 -#: src/components/score/ScorePanel.tsx:526
1918 -msgid "score out of 100"
5377 +#. Source: src/components/CacheSwitch.tsx:177
5378 +#: assets/admin.js
5379 +msgid "Turn caching on"
1919 5380 msgstr ""
1920 5381
1921 -#: src/components/TopBar.tsx:73
1922 -#: src/components/TopBar.tsx:78
1923 -msgid "Search"
5382 +#. Source: src/components/CacheSwitch.tsx:250
5383 +#: assets/admin.js
5384 +msgid "Turn off"
1924 5385 msgstr ""
1925 5386
1926 -#: src/components/CommandPalette.tsx:180
1927 -msgid "Search settings, modules, actions"
5387 +#. Source: src/components/overview/HeroStatus.tsx:42
5388 +#: assets/admin.js
5389 +msgid "Turn on the page cache to start serving pages instantly."
1928 5390 msgstr ""
1929 5391
1930 -#: src/components/CommandPalette.tsx:186
1931 -msgid "Search settings, modules, actions…"
5392 +#. Source: src/components/cache/TrendCharts.tsx:278
5393 +#: assets/admin.js
5394 +msgid "uncached"
1932 5395 msgstr ""
1933 5396
1934 -#: src/components/score/ScorePanel.tsx:413
1935 -msgid "Speed test"
5397 +#. Source: src/onboarding/steps/Connect.tsx:198
5398 +#: assets/admin.js
5399 +msgid "Under a minute"
1936 5400 msgstr ""
1937 5401
1938 -#: src/components/TopBar.tsx:113
1939 -msgid "Switch to dark mode"
5402 +#. Source: src/upsell/LockedPanel.tsx:67
5403 +#: assets/admin.js
5404 +msgid "Update needed"
1940 5405 msgstr ""
1941 5406
1942 -#: src/components/TopBar.tsx:113
1943 -msgid "Switch to light mode"
5407 +#. Source: src/upsell/LockedPanel.tsx:68
5408 +#: assets/admin.js
5409 +msgid "Update Pro"
1944 5410 msgstr ""
1945 5411
1946 -#: src/components/score/ScorePanel.tsx:456
1947 -msgid "Test with GTmetrix"
5412 +#. Source: src/components/Sidebar.tsx:523
5413 +#. Source: src/components/Sidebar.tsx:544
5414 +#. Source: src/upsell/LockedPanel.tsx:205
5415 +#. Source: src/upsell/LockedSection.tsx:98
5416 +#. Source: src/upsell/ProAudit.tsx:113
5417 +#. Source: src/upsell/ProDemo.tsx:102
5418 +#. Source: src/upsell/ProOverview.tsx:83
5419 +#: assets/admin.js
5420 +msgid "Upgrade to Pro"
1948 5421 msgstr ""
1949 5422
1950 -#: src/components/score/ScorePanel.tsx:456
1951 -#: src/components/score/SpeedTestCard.tsx:147
1952 -msgid "Testing…"
5423 +#. Source: src/components/DefinedInConfig.tsx:60
5424 +#: assets/admin.js
5425 +msgid "Use the host value"
1953 5426 msgstr ""
1954 5427
1955 -#: src/components/score/ConnectHubModal.tsx:127
1956 -msgid "This site looks local, so it may not be reachable for testing. Your own GTmetrix API key works either way — see the settings below."
5428 +#. Source: src/components/overview/ScoreCard.tsx:299
5429 +#: assets/admin.js
5430 +msgid "View details"
1957 5431 msgstr ""
1958 5432
1959 -#: src/components/score/ScorePanel.tsx:567
5433 +#. Source: src/components/score/ScorePanel.tsx:566
5434 +#: assets/admin.js
1960 5435 msgid "View on GTmetrix"
1961 5436 msgstr ""
1962 5437
1963 -#: src/components/score/SpeedTestCard.tsx:164
5438 +#. Source: src/components/score/SpeedTestCard.tsx:164
5439 +#: assets/admin.js
1964 5440 msgid "View the result"
1965 5441 msgstr ""
1966 5442
1967 -#: src/components/score/ConnectHubModal.tsx:151
5443 +#. Source: src/components/score/ConnectHubModal.tsx:151
5444 +#: assets/admin.js
1968 5445 msgid "Waiting for connection…"
1969 5446 msgstr ""
1970 5447
1971 -#: src/components/overview/Recommendations.tsx:218
5448 +#. Source: src/components/overview/Recommendations.tsx:227
5449 +#: assets/admin.js
1972 5450 msgid "Want a hand?"
1973 5451 msgstr ""
1974 5452
1975 -#: src/onboarding/OnboardingApp.tsx:167
5453 +#. Source: src/onboarding/OnboardingApp.tsx:159
5454 +#: assets/admin.js
1976 5455 msgid "We couldn't load the setup wizard. Your site is unaffected — you can configure everything from the dashboard."
1977 5456 msgstr ""
1978 5457
1979 -#: src/components/score/ScorePanel.tsx:579
1980 -msgid "What to improve"
5458 +#. Source: src/components/overview/AiControlCard.tsx:247
5459 +#: assets/admin.js
5460 +msgid "We couldn't read this site's AI connection status. Open MCP to check."
1981 5461 msgstr ""
1982 5462
1983 -#: src/components/score/ScorePanel.tsx:726
1984 -msgid "When"
5463 +#. Source: src/upsell/LockedPanel.tsx:228
5464 +#: assets/admin.js
5465 +msgid "What this adds"
1985 5466 msgstr ""
1986 5467
1987 -#: src/upsell/ProOverview.tsx:41
1988 -msgid "xSpeed Pro"
5468 +#. Source: src/components/score/ScanCard.tsx:344
5469 +#: assets/admin.js
5470 +msgid "What to fix next"
1989 5471 msgstr ""
1990 5472
1991 -#: src/upsell/ProOverview.tsx:53
1992 -msgid "xSpeed Pro is installed — activate your license to unlock every feature below. Your current settings stay exactly as they are."
5473 +#. Source: src/components/score/ScorePanel.tsx:578
5474 +#: assets/admin.js
5475 +msgid "What to improve"
1993 5476 msgstr ""
1994 5477
1995 -#: src/components/score/ScorePanel.tsx:448
1996 -msgid "You have used this month’s free tests."
5478 +#. Source: src/upsell/ProAudit.tsx:62
5479 +#: assets/admin.js
5480 +msgid "What would Pro do for your site?"
1997 5481 msgstr ""
1998 5482
1999 -#: src/upsell/ProOverview.tsx:113
2000 -msgid "Your Free tier keeps working exactly as it does today."
5483 +#. Source: src/components/score/ScorePanel.tsx:726
5484 +#: assets/admin.js
5485 +msgid "When"
2001 5486 msgstr ""
2002 5487
2003 -#: src/components/overview/FeatureMap.tsx:77
2004 -#: src/components/overview/FeatureMap.tsx:80
2005 -msgid "Your setup"
5488 +#. Source: src/components/cache/StatDrilldown.tsx:243
5489 +#: assets/admin.js
5490 +msgid "Where the cache size goes"
2006 5491 msgstr ""
2007 5492
2008 -#: src/components/overview/AiControlCard.tsx:463
2009 -msgid "AI connection active"
5493 +#. Source: src/components/ModuleHeader.tsx:102
5494 +#: assets/admin.js
5495 +msgid "Why this is off"
2010 5496 msgstr ""
2011 5497
2012 -#: src/components/overview/AiControlCard.tsx:224
2013 -msgid "Analyzing site…"
5498 +#. Source: src/components/ModuleHeader.tsx:102
5499 +#: assets/admin.js
5500 +msgid "Why this is on"
2014 5501 msgstr ""
2015 5502
2016 -#: src/components/overview/AiControlCard.tsx:219
2017 -msgid "Applied 3 optimizations"
5503 +#. Source: src/components/cache/CacheBenchmark.tsx:88
5504 +#: assets/admin.js
5505 +msgid "With cache"
2018 5506 msgstr ""
2019 5507
2020 -#: src/App.tsx:239
2021 -msgid "Cache enabled, but nothing will be cached until WP_CACHE is added to wp-config.php — copy the line from Health."
5508 +#. Source: src/components/cache/CacheBenchmark.tsx:82
5509 +#: assets/admin.js
5510 +msgid "Without cache"
2022 5511 msgstr ""
2023 5512
2024 -#: src/components/overview/AiControlCard.tsx:236
2025 -msgid "Cache optimized"
5513 +#. Source: src/components/mcp/McpActivity.tsx:200
5514 +#: assets/admin.js
5515 +msgid "write call"
2026 5516 msgstr ""
2027 5517
2028 -#: src/components/overview/AiControlCard.tsx:322
2029 -msgid "Cache, compression & more"
5518 +#. Source: src/components/PartnerMark.tsx:28
5519 +#: assets/admin.js
5520 +msgid "xSpeed Cache and Cloudflare"
2030 5521 msgstr ""
2031 5522
2032 -#: src/components/overview/AiControlCard.tsx:466
2033 -msgid "Checking your AI connection…"
5523 +#. Source: src/components/overview/HubCard.tsx:137
5524 +#. Source: src/components/overview/HubCard.tsx:141
5525 +#. Source: src/components/overview/HubCard.tsx:82
5526 +#: assets/admin.js
5527 +msgid "xSpeed Hub"
2034 5528 msgstr ""
2035 5529
2036 -#: src/components/overview/AiControlCard.tsx:237
2037 -msgid "Compression enabled"
5530 +#. Source: src/onboarding/steps/Connect.tsx:140
5531 +#: assets/admin.js
5532 +msgid "xSpeed Hub error"
2038 5533 msgstr ""
2039 5534
2040 -#: src/components/overview/AiControlCard.tsx:549
2041 -msgid "Connect with MCP"
5535 +#. Source: src/upsell/ProOverview.tsx:41
5536 +#: assets/admin.js
5537 +msgid "xSpeed Pro"
2042 5538 msgstr ""
2043 5539
2044 -#: src/components/overview/AiControlCard.tsx:515
2045 -msgid "Connect your AI agent through MCP — then just ask it to analyze and optimize your site."
5540 +#. Source: src/upsell/ProOverview.tsx:53
5541 +#: assets/admin.js
5542 +msgid "xSpeed Pro is installed — activate your license to unlock every feature below. Your current settings stay exactly as they are."
2046 5543 msgstr ""
2047 5544
2048 -#: src/components/overview/AiControlCard.tsx:471
2049 -msgid "Connect your AI agent through MCP to control this site by asking."
5545 +#. Source: src/upsell/LockedPanel.tsx:185
5546 +#: assets/admin.js
5547 +msgid "xSpeed Pro is installed — activate your license to unlock this module and every other Pro feature."
2050 5548 msgstr ""
2051 5549
2052 -#: src/components/overview/AiControlCard.tsx:510
2053 -msgid "Control and optimize your site with AI"
5550 +#. Source: src/components/score/ScanCard.tsx:186
5551 +#. Source: src/components/score/ScanCard.tsx:196
5552 +#. Source: src/components/score/ScanCard.tsx:321
5553 +#. Source: src/components/score/ScorePanel.tsx:426
5554 +#: assets/admin.js
5555 +msgid "xSpeed Scan"
2054 5556 msgstr ""
2055 5557
2056 -#: src/components/overview/AiControlCard.tsx:463
2057 -msgid "Control xSpeed with AI"
5558 +#. Source: src/components/score/ScanCard.tsx:281
5559 +#: assets/admin.js
5560 +msgid "xSpeed Scan, out of 100"
2058 5561 msgstr ""
2059 5562
2060 -#: src/components/overview/AiControlCard.tsx:238
2061 -msgid "Core Web Vitals checked"
5563 +#. Source: src/components/cache/ImpactHero.tsx:88
5564 +#: assets/admin.js
5565 +msgid "xSpeed served"
2062 5566 msgstr ""
2063 5567
2064 -#: src/components/overview/AiControlCard.tsx:229
2065 -msgid "Example session"
5568 +#. Source: src/components/score/ScorePanel.tsx:477
5569 +#: assets/admin.js
5570 +msgid "You have used this month’s free tests."
2066 5571 msgstr ""
2067 5572
2068 -#: src/components/overview/AiControlCard.tsx:318
2069 -msgid "Improve performance"
5573 +#. Source: src/onboarding/steps/Connect.tsx:76
5574 +#: assets/admin.js
5575 +msgid "You're all set"
2070 5576 msgstr ""
2071 5577
2072 -#: src/components/overview/AiControlCard.tsx:326
2073 -msgid "Just ask"
5578 +#. Source: src/components/overview/Recommendations.tsx:139
5579 +#: assets/admin.js
5580 +msgid "You're all set — no recommendations right now."
2074 5581 msgstr ""
2075 5582
2076 -#: src/components/overview/AiControlCard.tsx:473
2077 -msgid "Manage MCP"
5583 +#. Source: src/components/RewriteAlert.tsx:94
5584 +#: assets/admin.js
5585 +msgid "Your cache still works on every request — xSpeed's PHP drop-in is serving cached HTML, so nothing is broken. But this site sits behind a reverse proxy or CDN, which usually means a managed/containerized host where the nginx that serves requests isn't one you can edit. The extra-fast server-level rewrite (5–15ms static hits) needs that nginx, so it likely can't be enabled here — and that's also why the cache HIT log stays empty (nginx never serves the static file, so there's nothing to log). If you DO control the request-terminating nginx, use the snippet in the \"Server config\" panel below."
2078 5586 msgstr ""
2079 5587
2080 -#: src/components/overview/AiControlCard.tsx:327
2081 -msgid "Manage xSpeed through conversation"
5588 +#. Source: src/components/RewriteAlert.tsx:103
5589 +#: assets/admin.js
5590 +msgid "Your cache works on every request — xSpeed's PHP drop-in is serving cached HTML. For the full server-level rewrite, copy the snippet from the \"Server config\" panel below into your container's nginx config (typically docker/nginx.conf next to your docker-compose.yml). The host nginx in front of your container only proxies traffic; pasting there has no effect."
2082 5591 msgstr ""
2083 5592
2084 -#: src/components/overview/AiControlCard.tsx:468
2085 -msgid "MCP is connected and ready — your AI agent can purge, tune and benchmark this site."
5593 +#. Source: src/components/RewriteAlert.tsx:107
5594 +#: assets/admin.js
5595 +msgid "Your cache works on every request — xSpeed's PHP drop-in is serving cached HTML. To engage the faster server-level rewrite, toggle Cache off and on to reinstall the .htaccess block, and confirm AllowOverride is enabled for your site."
2086 5596 msgstr ""
2087 5597
2088 -#: src/components/overview/AiControlCard.tsx:441
2089 -msgid "MCP Server"
5598 +#. Source: src/components/RewriteAlert.tsx:99
5599 +#: assets/admin.js
5600 +msgid "Your cache works on every request — xSpeed's PHP drop-in is serving cached HTML. To shave additional latency, copy the snippet from the \"Server config\" panel below into your nginx vhost (typically /etc/nginx/sites-enabled/<your-site>) and reload nginx so cached pages skip PHP entirely."
2090 5601 msgstr ""
2091 5602
2092 -#: src/components/overview/AiControlCard.tsx:473
2093 -msgid "Open MCP"
5603 +#. Source: src/onboarding/steps/Connect.tsx:69
5604 +#: assets/admin.js
5605 +msgid "Your caching is ready to manage from anywhere."
2094 5606 msgstr ""
2095 5607
2096 -#: src/components/overview/AiControlCard.tsx:321
2097 -msgid "Optimize automatically"
5608 +#. Source: src/upsell/ProOverview.tsx:113
5609 +#: assets/admin.js
5610 +msgid "Your Free tier keeps working exactly as it does today."
2098 5611 msgstr ""
2099 5612
2100 -#: src/components/overview/AiControlCard.tsx:205
2101 -msgid "Optimize my site for better PageSpeed."
5613 +#. Source: src/onboarding/steps/Connect.tsx:146
5614 +#: assets/admin.js
5615 +msgid "Your Hub is home base for all your sites. Once connected, you can:"
2102 5616 msgstr ""
2103 5617
2104 -#: src/components/overview/AiControlCard.tsx:293
2105 -msgid "PageSpeed"
5618 +#. Source: src/components/overview/FeatureMap.tsx:102
5619 +#. Source: src/components/overview/FeatureMap.tsx:105
5620 +#: assets/admin.js
5621 +msgid "Your setup"
2106 5622 msgstr ""
2107 5623
2108 -#: src/components/overview/AiControlCard.tsx:318
2109 -msgid "PageSpeed & Core Web Vitals"
5624 +#. Source: src/components/overview/ScoreCard.tsx:201
5625 +#: assets/admin.js
5626 +msgid "Your site is fast"
2110 5627 msgstr ""
2111 5628
2112 -#: src/components/overview/AiControlCard.tsx:247
2113 -msgid "We couldn't read this site's AI connection status. Open MCP to check."
5629 +#. Source: src/components/DefinedInConfig.tsx:46
5630 +#: assets/admin.js
5631 +msgid "Your value is used instead of"
2114 5632 msgstr ""