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