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