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