PluginProbe
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN / 1.3.7
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN v1.3.7
1.3.7 1.3.6 1.3.5 1.3.4 1.3.3 1.3.2 1.3.1 1.3.0 1.2.4 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 All 33 releases
← All changes | languages/xspeed.pot +1135 -708 1.3.0 → 1.3.7 View file →
@@ -1,9 +1,9 @@
1 1 # Copyright (C) 2026 WPDeveloper
2 2 # This file is distributed under the GPLv2 or later.
3 3 msgid ""
4 4 msgstr ""
5 -"Project-Id-Version: xSpeed Cache 1.3.0\n"
5 +"Project-Id-Version: xSpeed Cache 1.3.7\n"
6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/xspeed\n"
7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8 8 "Language-Team: LANGUAGE <[email protected]>\n"
9 9 "MIME-Version: 1.0\n"
@@ -8,9 +8,9 @@
8 8 "Language-Team: LANGUAGE <[email protected]>\n"
9 9 "MIME-Version: 1.0\n"
10 10 "Content-Type: text/plain; charset=UTF-8\n"
11 11 "Content-Transfer-Encoding: 8bit\n"
12 -"POT-Creation-Date: 2026-09-13T15:28:39+00:00\n"
12 +"POT-Creation-Date: 2026-10-01T06:08:12+00:00\n"
13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14 14 "X-Generator: WP-CLI 2.12.0\n"
15 15 "X-Domain: xspeed\n"
16 16
@@ -15,9 +15,9 @@
15 15 "X-Domain: xspeed\n"
16 16
17 17 #. Plugin Name of the plugin
18 18 #: xspeed.php
19 -#: includes/class-cache.php:7176
19 +#: includes/class-cache.php:8967
20 20 #: includes/class-deactivation-feedback.php:189
21 21 msgid "xSpeed Cache"
22 22 msgstr ""
23 23
@@ -37,9 +37,9 @@
37 37 msgstr ""
38 38
39 39 #: includes/class-admin.php:153
40 40 #: includes/class-admin.php:243
41 -#: includes/class-cache.php:7190
41 +#: includes/class-cache.php:8981
42 42 #: assets/admin.js
43 43 msgid "Settings"
44 44 msgstr ""
45 45
@@ -129,185 +129,185 @@
129 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 130 msgstr ""
131 131
132 132 #. translators: 1: cause of the purge, 2: URL or path, 3: number of files removed.
133 -#: includes/class-cache.php:2950
133 +#: includes/class-cache.php:4213
134 134 #, php-format
135 135 msgid "Purged one URL (%1$s) — %2$s, %3$d file(s) removed"
136 136 msgstr ""
137 137
138 -#: includes/class-cache.php:3711
138 +#: includes/class-cache.php:5268
139 139 msgid "Purge All"
140 140 msgstr ""
141 141
142 -#: includes/class-cache.php:3715
142 +#: includes/class-cache.php:5272
143 143 msgid "Purge Page / Static Cache"
144 144 msgstr ""
145 145
146 -#: includes/class-cache.php:3719
146 +#: includes/class-cache.php:5276
147 147 msgid "Purge CSS / JS Cache"
148 148 msgstr ""
149 149
150 -#: includes/class-cache.php:3723
150 +#: includes/class-cache.php:5280
151 151 msgid "Purge Object Cache"
152 152 msgstr ""
153 153
154 -#: includes/class-cache.php:3727
154 +#: includes/class-cache.php:5284
155 155 msgid "Purge REST Cache"
156 156 msgstr ""
157 157
158 158 #. translators: 1: what was purged, 2: cause of the purge.
159 -#: includes/class-cache.php:3885
159 +#: includes/class-cache.php:5531
160 160 #, php-format
161 161 msgid "Purged %1$s (%2$s)"
162 162 msgstr ""
163 163
164 164 #. translators: 1: what was purged, 2: cause of the purge, 3: number of files removed.
165 -#: includes/class-cache.php:3891
165 +#: includes/class-cache.php:5537
166 166 #, php-format
167 167 msgid "Purged %1$s (%2$s) — %3$d file(s) removed"
168 168 msgstr ""
169 169
170 -#: includes/class-cache.php:4112
170 +#: includes/class-cache.php:5775
171 171 msgid "advanced-cache.php cannot be read, so xSpeed cannot tell whose page cache is installed."
172 172 msgstr ""
173 173
174 174 #. translators: %s: the page-caching plugin that owns advanced-cache.php.
175 -#: includes/class-cache.php:4119
175 +#: includes/class-cache.php:5782
176 176 #, php-format
177 177 msgid "%s is serving the page cache. Turn the xSpeed cache off and on again to take it over."
178 178 msgstr ""
179 179
180 -#: includes/class-cache.php:4122
180 +#: includes/class-cache.php:5785
181 181 msgid "Another plugin is serving the page cache. Turn the xSpeed cache off and on again to take it over."
182 182 msgstr ""
183 183
184 -#: includes/class-cache.php:4188
184 +#: includes/class-cache.php:5860
185 185 msgid "Could not lock page-cache ownership. Try again."
186 186 msgstr ""
187 187
188 -#: includes/class-cache.php:4194
188 +#: includes/class-cache.php:5866
189 189 msgid "Page-cache ownership changed while xSpeed was checking it. Nothing was changed; try again."
190 190 msgstr ""
191 191
192 192 #. translators: %s: the page-caching plugin that owns advanced-cache.php.
193 -#: includes/class-cache.php:4268
193 +#: includes/class-cache.php:5940
194 194 #, php-format
195 195 msgid "%s owns advanced-cache.php, so xSpeed left it alone. Enable the cache from the xSpeed dashboard to take it over."
196 196 msgstr ""
197 197
198 -#: includes/class-cache.php:4271
198 +#: includes/class-cache.php:5943
199 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 200 msgstr ""
201 201
202 -#: includes/class-cache.php:4301
202 +#: includes/class-cache.php:5973
203 203 msgid "Could not write wp-content/advanced-cache.php. Check filesystem permissions."
204 204 msgstr ""
205 205
206 -#: includes/class-cache.php:4358
206 +#: includes/class-cache.php:6030
207 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 208 msgstr ""
209 209
210 -#: includes/class-cache.php:4359
210 +#: includes/class-cache.php:6031
211 211 msgid "xSpeed could not verify the complete page-cache write, and wp-config.php is not writable. Its changes were rolled back."
212 212 msgstr ""
213 213
214 -#: includes/class-cache.php:4361
214 +#: includes/class-cache.php:6033
215 215 msgid "xSpeed could not verify the complete page-cache write. Its changes were rolled back."
216 216 msgstr ""
217 217
218 -#: includes/class-cache.php:4376
218 +#: includes/class-cache.php:6048
219 219 msgid "xSpeed could not save the page-cache setting. Its file changes were rolled back."
220 220 msgstr ""
221 221
222 -#: includes/class-cache.php:4468
222 +#: includes/class-cache.php:6140
223 223 msgid "xSpeed could not safely remove its WP_CACHE setting. The cache remains enabled."
224 224 msgstr ""
225 225
226 -#: includes/class-cache.php:4483
226 +#: includes/class-cache.php:6155
227 227 msgid "xSpeed could not remove its page-cache drop-in. The cache remains enabled."
228 228 msgstr ""
229 229
230 -#: includes/class-cache.php:4484
230 +#: includes/class-cache.php:6156
231 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 232 msgstr ""
233 233
234 -#: includes/class-cache.php:4501
234 +#: includes/class-cache.php:6173
235 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 236 msgstr ""
237 237
238 -#: includes/class-cache.php:4519
238 +#: includes/class-cache.php:6191
239 239 msgid "xSpeed could not remove its rewrite rules from .htaccess, which would keep serving cached pages. The cache remains enabled."
240 240 msgstr ""
241 241
242 -#: includes/class-cache.php:4520
242 +#: includes/class-cache.php:6192
243 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 244 msgstr ""
245 245
246 -#: includes/class-cache.php:4531
246 +#: includes/class-cache.php:6203
247 247 msgid "xSpeed could not save the disabled state."
248 248 msgstr ""
249 249
250 -#: includes/class-cache.php:4535
250 +#: includes/class-cache.php:6207
251 251 msgid "xSpeed could not save the disabled state. The page cache was restored."
252 252 msgstr ""
253 253
254 254 #. translators: 1: the refusal reason, 2: a page-caching plugin's name.
255 -#: includes/class-cache.php:6682
255 +#: includes/class-cache.php:8451
256 256 #, php-format
257 257 msgid "%1$s %2$s is also active on this site — deactivate its page cache before enabling xSpeed."
258 258 msgstr ""
259 259
260 260 #. translators: 1: the refusal reason, 2: comma-separated page-caching plugin names.
261 -#: includes/class-cache.php:6689
261 +#: includes/class-cache.php:8458
262 262 #, php-format
263 263 msgid "%1$s These page caches are also active on this site: %2$s. Deactivate them before enabling xSpeed."
264 264 msgstr ""
265 265
266 266 #. translators: %s: comma-separated list of page-caching plugin names.
267 -#: includes/class-cache.php:6744
267 +#: includes/class-cache.php:8513
268 268 #, php-format
269 269 msgid "More than one page cache is active on this site (%s). Turn off the other page caches before enabling xSpeed."
270 270 msgstr ""
271 271
272 -#: includes/class-cache.php:6751
272 +#: includes/class-cache.php:8520
273 273 #, php-format
274 274 msgid "%s is active or owns advanced-cache.php. Deactivate its page cache before enabling xSpeed."
275 275 msgstr ""
276 276
277 -#: includes/class-cache.php:6754
277 +#: includes/class-cache.php:8523
278 278 msgid "WP_CACHE is true but no page-cache drop-in owner can be proved. xSpeed will not claim it."
279 279 msgstr ""
280 280
281 -#: includes/class-cache.php:6755
281 +#: includes/class-cache.php:8524
282 282 msgid "wp-config.php defines WP_CACHE more than once. Remove the duplicate before enabling the cache."
283 283 msgstr ""
284 284
285 -#: includes/class-cache.php:6756
285 +#: includes/class-cache.php:8525
286 286 msgid "WP_CACHE is set from an expression in wp-config.php. xSpeed will not rewrite it."
287 287 msgstr ""
288 288
289 -#: includes/class-cache.php:6757
289 +#: includes/class-cache.php:8526
290 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 291 msgstr ""
292 292
293 -#: includes/class-cache.php:6758
293 +#: includes/class-cache.php:8527
294 294 msgid "wp-config.php cannot be read, so xSpeed cannot safely change page-cache ownership."
295 295 msgstr ""
296 296
297 -#: includes/class-cache.php:6759
297 +#: includes/class-cache.php:8528
298 298 msgid "advanced-cache.php is occupied but its owner cannot be proved. xSpeed will not replace it."
299 299 msgstr ""
300 300
301 -#: includes/class-cache.php:6760
301 +#: includes/class-cache.php:8529
302 302 msgid "advanced-cache.php cannot be read, so xSpeed cannot prove its owner."
303 303 msgstr ""
304 304
305 -#: includes/class-cache.php:6762
305 +#: includes/class-cache.php:8531
306 306 msgid "The page-cache field is occupied or cannot be verified. xSpeed will not change it."
307 307 msgstr ""
308 308
309 -#: includes/class-cache.php:7259
309 +#: includes/class-cache.php:9050
310 310 #: includes/class-purge-ui.php:278
311 311 #: includes/class-purge-ui.php:675
312 312 msgid "Unauthorized."
313 313 msgstr ""
@@ -429,8 +429,9 @@
429 429 msgid "Page cache lifetime %1$ds cannot be expressed in whole hours — importing as %2$dh."
430 430 msgstr ""
431 431
432 432 #: includes/class-migration.php:358
433 +#: includes/modules/ObjectCache/ObjectCacheModule.php:103
433 434 msgid "Redis password"
434 435 msgstr ""
435 436
436 437 #: includes/class-migration.php:359
@@ -555,9 +556,9 @@
555 556 msgid "Scripts do not run until the visitor interacts. Sliders, counters and anything that animates on load may sit still until first touch, and a script that expects to run immediately can misbehave."
556 557 msgstr ""
557 558
558 559 #: 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 +msgid "Stylesheets load without blocking the first paint only on pages that have critical CSS; elsewhere only font stylesheets change. Where it applies, styling moves to after first paint, which can INCREASE layout shift on a page that already shifts."
560 561 msgstr ""
561 562
562 563 #: includes/class-optimize-diagnosis.php:526
563 564 msgid "Older themes and plugins still depend on it. Removing it broke a real page with \"jQuery.Deferred exception: e.indexOf is not a function\" — an error the page-level check cannot see, because the HTML arrives intact and only the browser notices."
@@ -729,33 +730,33 @@
729 730 msgid "The page got measurably slower: median render time %1$dms before, %2$dms after (+%3$d%%), beyond what run-to-run noise explains. The change was undone."
730 731 msgstr ""
731 732
732 733 #. translators: 1: number of URLs, 2: the sitemap failure detail.
733 -#: includes/class-preloader.php:151
734 +#: includes/class-preloader.php:260
734 735 #, php-format
735 736 msgid "Preloader queued %1$d URLs from the site content — %2$s"
736 737 msgstr ""
737 738
738 739 #. translators: %s: the sitemap failure detail.
739 -#: includes/class-preloader.php:159
740 +#: includes/class-preloader.php:268
740 741 #, php-format
741 742 msgid "Preloader could not start — %s"
742 743 msgstr ""
743 744
744 745 #. translators: 1: number of URLs, 2: plural suffix.
745 -#: includes/class-preloader.php:166
746 +#: includes/class-preloader.php:275
746 747 #, php-format
747 748 msgid "Preloader queued %1$d URL%2$s for warming."
748 749 msgstr ""
749 750
750 751 #. translators: 1: sitemap URL, 2: error detail.
751 -#: includes/class-preloader.php:622
752 +#: includes/class-preloader.php:745
752 753 #, php-format
753 754 msgid "Could not fetch the sitemap at %1$s — %2$s"
754 755 msgstr ""
755 756
756 757 #. translators: 1: sitemap URL, 2: HTTP status code.
757 -#: includes/class-preloader.php:635
758 +#: includes/class-preloader.php:758
758 759 #, php-format
759 760 msgid "Could not fetch the sitemap at %1$s — the server returned HTTP %2$d."
760 761 msgstr ""
761 762
@@ -765,8 +766,9 @@
765 766 msgid "%s is not enabled"
766 767 msgstr ""
767 768
768 769 #: includes/class-purge-runner.php:162
770 +#: assets/admin.js
769 771 msgid "the purge was refused"
770 772 msgstr ""
771 773
772 774 #: includes/class-purge-runner.php:246
@@ -782,45 +784,45 @@
782 784 msgstr ""
783 785
784 786 #: includes/class-purge-runner.php:269
785 787 #: includes/modules/Cdn/CdnModule.php:28
786 -#: includes/modules/Migration/MigrationModule.php:555
788 +#: includes/modules/Migration/MigrationModule.php:556
787 789 msgid "CDN"
788 790 msgstr ""
789 791
790 792 #. translators: 1: what asked for the purge, 2: number of files removed.
791 -#: includes/class-purge-runner.php:322
793 +#: includes/class-purge-runner.php:335
792 794 #, php-format
793 795 msgid "Cache purged (%1$s) — %2$d file(s) removed"
794 796 msgstr ""
795 797
796 -#: includes/class-purge-runner.php:346
798 +#: includes/class-purge-runner.php:359
797 799 msgid "the object cache engine is unavailable"
798 800 msgstr ""
799 801
800 -#: includes/class-purge-runner.php:350
802 +#: includes/class-purge-runner.php:363
801 803 msgid "no persistent object cache drop-in is in use"
802 804 msgstr ""
803 805
804 -#: includes/class-purge-runner.php:353
806 +#: includes/class-purge-runner.php:366
805 807 msgid "the drop-in is installed but is not persisting anything"
806 808 msgstr ""
807 809
808 810 #. translators: %s: what asked for the purge.
809 -#: includes/class-purge-runner.php:375
811 +#: includes/class-purge-runner.php:388
810 812 #, php-format
811 813 msgid "Purged object cache (%s)"
812 814 msgstr ""
813 815
814 -#: includes/class-purge-runner.php:385
816 +#: includes/class-purge-runner.php:398
815 817 msgid "the backend refused the flush"
816 818 msgstr ""
817 819
818 -#: includes/class-purge-runner.php:397
820 +#: includes/class-purge-runner.php:410
819 821 msgid "the Cloudflare module is not available"
820 822 msgstr ""
821 823
822 -#: includes/class-purge-runner.php:421
824 +#: includes/class-purge-runner.php:434
823 825 msgid "no CDN with a purge API is configured — xSpeed's CDN module rewrites asset URLs and holds no cache of its own"
824 826 msgstr ""
825 827
826 828 #: includes/class-purge-ui.php:263
@@ -946,8 +948,9 @@
946 948 msgid "Your hit ratio is %d%% — most visitors hit a cold cache. The preloader crawls your sitemap so pages are warm before anyone asks."
947 949 msgstr ""
948 950
949 951 #: includes/class-recommendations.php:148
952 +#: includes/modules/Preloader/PreloaderModule.php:78
950 953 msgid "Enable preloader"
951 954 msgstr ""
952 955
953 956 #: includes/class-recommendations.php:158
@@ -985,9 +988,9 @@
985 988 #: includes/class-rest-api.php:352
986 989 msgid "The id argument is required."
987 990 msgstr ""
988 991
989 -#: includes/class-rest-api.php:472
992 +#: includes/class-rest-api.php:479
990 993 msgid "dashboard"
991 994 msgstr ""
992 995
993 996 #: includes/class-rest-manager.php:83
@@ -1060,13 +1063,13 @@
1060 1063 #: includes/class-score.php:412
1061 1064 msgid "GTmetrix returned an unreadable response."
1062 1065 msgstr ""
1063 1066
1064 -#: includes/class-server.php:744
1067 +#: includes/class-server.php:746
1065 1068 msgid "an unreadable advanced-cache.php"
1066 1069 msgstr ""
1067 1070
1068 -#: includes/class-server.php:754
1071 +#: includes/class-server.php:756
1069 1072 msgid "an unidentified advanced-cache.php"
1070 1073 msgstr ""
1071 1074
1072 1075 #. translators: %s: setting key.
@@ -1083,8 +1086,9 @@
1083 1086 msgstr ""
1084 1087
1085 1088 #: includes/class-video-facade.php:153
1086 1089 #: includes/class-video-facade.php:199
1090 +#: includes/class-video-facade.php:309
1087 1091 msgid "Play video"
1088 1092 msgstr ""
1089 1093
1090 1094 #: includes/modules/AIPrivacy/AIPrivacyModule.php:49
@@ -1091,25 +1095,25 @@
1091 1095 msgid "AI Privacy"
1092 1096 msgstr ""
1093 1097
1094 1098 #: includes/modules/AIPrivacy/AIPrivacyModule.php:51
1095 -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."
1099 +msgid "Choose whether AI features may use visitor data, with or without Pro."
1096 1100 msgstr ""
1097 1101
1098 -#: includes/modules/AIPrivacy/AIPrivacyModule.php:70
1099 -msgid "Require consent before AI data collection"
1102 +#: includes/modules/AIPrivacy/AIPrivacyModule.php:71
1103 +msgid "Ask visitors for consent"
1100 1104 msgstr ""
1101 1105
1102 -#: includes/modules/AIPrivacy/AIPrivacyModule.php:71
1103 -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)."
1106 +#: includes/modules/AIPrivacy/AIPrivacyModule.php:72
1107 +msgid "When on, AI features only record a visitor's data after they accept the consent banner. Turn it off only where the law does not require consent, as GDPR does."
1104 1108 msgstr ""
1105 1109
1106 -#: includes/modules/AIPrivacy/AIPrivacyModule.php:76
1110 +#: includes/modules/AIPrivacy/AIPrivacyModule.php:77
1107 1111 msgid "Consent banner text"
1108 1112 msgstr ""
1109 1113
1110 -#: includes/modules/AIPrivacy/AIPrivacyModule.php:77
1111 -msgid "Shown in the cookie consent banner. Keep it factual — what you collect (page navigation, performance metrics) and why."
1114 +#: includes/modules/AIPrivacy/AIPrivacyModule.php:78
1115 +msgid "The text of the consent banner. Say plainly what you collect, such as page visits and speed data, and why."
1112 1116 msgstr ""
1113 1117
1114 1118 #: includes/modules/Bloat/BloatModule.php:38
1115 1119 msgid "Bloat Control"
@@ -1115,334 +1119,459 @@
1115 1119 msgid "Bloat Control"
1116 1120 msgstr ""
1117 1121
1118 1122 #: includes/modules/Bloat/BloatModule.php:40
1119 -msgid "Turn off WordPress defaults you do not use — saves bytes, requests, and attack surface."
1123 +msgid "Turns off WordPress features you do not use, so pages load less."
1120 1124 msgstr ""
1121 1125
1122 -#: includes/modules/Bloat/BloatModule.php:49
1123 -msgid "Disable Dashicons on Frontend"
1124 -msgstr ""
1125 -
1126 1126 #: includes/modules/Bloat/BloatModule.php:50
1127 -msgid "Drop the dashicons stylesheet from non-admin pages. Most themes do not need it. Saves ~45 KB per visitor."
1127 +msgid "Disable emojis"
1128 1128 msgstr ""
1129 1129
1130 -#: includes/modules/Bloat/BloatModule.php:55
1131 -msgid "Disable oEmbed Discovery + wp-embed.min.js"
1130 +#: includes/modules/Bloat/BloatModule.php:51
1131 +msgid "Remove the emoji detection script and its inline styles from every page. Modern browsers draw emojis natively, so visitors still see them. Saves a script and an inline stylesheet per page."
1132 1132 msgstr ""
1133 1133
1134 1134 #: includes/modules/Bloat/BloatModule.php:56
1135 -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."
1135 +msgid "Remove Dashicons for visitors"
1136 1136 msgstr ""
1137 1137
1138 -#: includes/modules/Bloat/BloatModule.php:61
1139 -msgid "Disable RSS Feeds"
1138 +#: includes/modules/Bloat/BloatModule.php:57
1139 +msgid "Removes the WordPress admin icon font for logged-out visitors. Most themes do not use it, and it saves about 45 KB."
1140 1140 msgstr ""
1141 1141
1142 1142 #: includes/modules/Bloat/BloatModule.php:62
1143 -msgid "Return a 404 on /feed/ and similar endpoints. Useful for sites that do not publish feeds and want to cut feed-fetcher traffic."
1143 +msgid "Disable auto-embeds"
1144 1144 msgstr ""
1145 1145
1146 -#: includes/modules/Bloat/BloatModule.php:67
1147 -msgid "Disable XML-RPC"
1146 +#: includes/modules/Bloat/BloatModule.php:63
1147 +msgid "Removes the embed script, saving one request per page. A pasted YouTube link no longer turns into a player, so use an embed block."
1148 1148 msgstr ""
1149 1149
1150 1150 #: includes/modules/Bloat/BloatModule.php:68
1151 -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)."
1151 +msgid "Disable RSS feeds"
1152 1152 msgstr ""
1153 1153
1154 -#: includes/modules/Bloat/BloatModule.php:73
1155 -msgid "Strip jQuery Migrate on Frontend"
1154 +#: includes/modules/Bloat/BloatModule.php:69
1155 +msgid "Feed addresses such as /feed/ return \"not found\". Use this if your site has no feed readers."
1156 1156 msgstr ""
1157 1157
1158 1158 #: includes/modules/Bloat/BloatModule.php:74
1159 -msgid "Remove the jquery-migrate compatibility shim from non-admin pages. Saves ~10 KB; safe on modern themes / plugins."
1159 +msgid "Disable XML-RPC"
1160 1160 msgstr ""
1161 1161
1162 -#: includes/modules/Bloat/BloatModule.php:79
1163 -msgid "Restrict REST API to Logged-In Users"
1162 +#: includes/modules/Bloat/BloatModule.php:75
1163 +msgid "Turns off the old xmlrpc.php file that attackers often target. Leave this off if you use Jetpack or the WordPress mobile app."
1164 1164 msgstr ""
1165 1165
1166 1166 #: includes/modules/Bloat/BloatModule.php:80
1167 -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."
1167 +msgid "Remove jQuery Migrate"
1168 1168 msgstr ""
1169 1169
1170 -#: includes/modules/Bloat/BloatModule.php:180
1170 +#: includes/modules/Bloat/BloatModule.php:81
1171 +msgid "Removes a script that old themes and plugins need, from pages visitors see. Saves about 10 KB and is safe on current themes."
1172 +msgstr ""
1173 +
1174 +#: includes/modules/Bloat/BloatModule.php:86
1175 +msgid "Remove editor styles for visitors"
1176 +msgstr ""
1177 +
1178 +#: includes/modules/Bloat/BloatModule.php:87
1179 +msgid "Removes block editor CSS that some plugins load on public pages by mistake, which can add hundreds of KB. Block styles for visitors stay."
1180 +msgstr ""
1181 +
1182 +#: includes/modules/Bloat/BloatModule.php:92
1183 +msgid "Remove RSD link"
1184 +msgstr ""
1185 +
1186 +#: includes/modules/Bloat/BloatModule.php:93
1187 +msgid "Drop the Really Simple Discovery link from the page head. Only old desktop blogging clients read it."
1188 +msgstr ""
1189 +
1190 +#: includes/modules/Bloat/BloatModule.php:98
1191 +msgid "Remove shortlink"
1192 +msgstr ""
1193 +
1194 +#: includes/modules/Bloat/BloatModule.php:99
1195 +msgid "Drop the ?p=123 shortlink tag and header from posts and pages. The shortlinks keep working; they are just no longer advertised."
1196 +msgstr ""
1197 +
1198 +#: includes/modules/Bloat/BloatModule.php:104
1199 +msgid "Remove REST API links"
1200 +msgstr ""
1201 +
1202 +#: includes/modules/Bloat/BloatModule.php:105
1203 +msgid "Drop the /wp-json/ discovery link tag and Link header. The REST API itself stays on; to block it, use the setting below."
1204 +msgstr ""
1205 +
1206 +#: includes/modules/Bloat/BloatModule.php:110
1207 +msgid "Hide WordPress version"
1208 +msgstr ""
1209 +
1210 +#: includes/modules/Bloat/BloatModule.php:111
1211 +msgid "Remove the WordPress generator tag from pages and feeds, so it no longer states the WordPress version. Other plugins print their own tags; those stay. Script and style URLs still carry ?ver= numbers."
1212 +msgstr ""
1213 +
1214 +#: includes/modules/Bloat/BloatModule.php:116
1215 +msgid "Disable self-pingbacks"
1216 +msgstr ""
1217 +
1218 +#: includes/modules/Bloat/BloatModule.php:117
1219 +msgid "Stop WordPress from sending a pingback to your own site when a post links to another of your posts. Pingbacks to other sites are not affected."
1220 +msgstr ""
1221 +
1222 +#: includes/modules/Bloat/BloatModule.php:122
1223 +msgid "REST API for logged-in users only"
1224 +msgstr ""
1225 +
1226 +#: includes/modules/Bloat/BloatModule.php:123
1227 +msgid "Blocks /wp-json/ for logged-out visitors. This breaks WooCommerce checkout and many contact forms, so keep it off unless you are sure."
1228 +msgstr ""
1229 +
1230 +#: includes/modules/Bloat/BloatModule.php:393
1171 1231 msgid "Feeds are disabled."
1172 1232 msgstr ""
1173 1233
1174 -#: includes/modules/Bloat/BloatModule.php:229
1234 +#: includes/modules/Bloat/BloatModule.php:450
1175 1235 msgid "Anonymous REST access is disabled on this site."
1176 1236 msgstr ""
1177 1237
1178 1238 #: includes/modules/BrowserCache/BrowserCacheModule.php:32
1179 -#: includes/modules/Migration/MigrationModule.php:551
1239 +#: includes/modules/Migration/MigrationModule.php:552
1180 1240 msgid "Browser Cache"
1181 1241 msgstr ""
1182 1242
1183 1243 #: includes/modules/BrowserCache/BrowserCacheModule.php:34
1184 -msgid "Tell browsers (and intermediate CDNs) how long to cache static assets and HTML."
1244 +msgid "Tells browsers and CDNs how long to keep your files and pages."
1185 1245 msgstr ""
1186 1246
1187 -#: includes/modules/BrowserCache/BrowserCacheModule.php:43
1247 +#: includes/modules/BrowserCache/BrowserCacheModule.php:44
1188 1248 msgid "Enable browser cache headers"
1189 1249 msgstr ""
1190 1250
1191 -#: includes/modules/BrowserCache/BrowserCacheModule.php:44
1192 -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."
1251 +#: includes/modules/BrowserCache/BrowserCacheModule.php:45
1252 +msgid "On Apache and LiteSpeed, xSpeed adds the rules to .htaccess for you. On nginx, you copy the snippet into your server config."
1193 1253 msgstr ""
1194 1254
1195 -#: includes/modules/BrowserCache/BrowserCacheModule.php:51
1196 -msgid "Static asset TTL (seconds)"
1255 +#: includes/modules/BrowserCache/BrowserCacheModule.php:52
1256 +msgid "File lifetime (seconds)"
1197 1257 msgstr ""
1198 1258
1199 -#: includes/modules/BrowserCache/BrowserCacheModule.php:53
1200 -msgid "Cache lifetime for CSS, JS, fonts, images. Defaults to 1 year + immutable (the industry-standard \"fingerprinted assets never change\" pattern)."
1259 +#: includes/modules/BrowserCache/BrowserCacheModule.php:54
1260 +msgid "How long browsers keep CSS, JS, fonts and images. The default is 1 year, which suits files that change name when they change."
1201 1261 msgstr ""
1202 1262
1203 -#: includes/modules/BrowserCache/BrowserCacheModule.php:61
1204 -msgid "HTML TTL (seconds)"
1263 +#: includes/modules/BrowserCache/BrowserCacheModule.php:62
1264 +msgid "Page lifetime (seconds)"
1205 1265 msgstr ""
1206 1266
1207 -#: includes/modules/BrowserCache/BrowserCacheModule.php:63
1208 -msgid "Cache lifetime for the HTML document itself. Keep short (default 1h) so post edits roll out same-day."
1267 +#: includes/modules/BrowserCache/BrowserCacheModule.php:64
1268 +msgid "How long browsers keep the page itself. Keep it short (default 1 hour) so visitors see your edits the same day."
1209 1269 msgstr ""
1210 1270
1211 -#: includes/modules/BrowserCache/BrowserCacheModule.php:127
1271 +#: includes/modules/BrowserCache/BrowserCacheModule.php:128
1212 1272 msgid "Browser cache is enabled but not active on the server"
1213 1273 msgstr ""
1214 1274
1215 -#: includes/modules/BrowserCache/BrowserCacheModule.php:128
1275 +#: includes/modules/BrowserCache/BrowserCacheModule.php:129
1216 1276 msgid "Browser-cache headers need to live in your nginx config, and the live response shows they are not being sent yet — so this is on in settings but doing nothing. Your settings are included in the unified server-block snippet on the Cache panel: paste it once into your nginx vhost (or container nginx config) and reload nginx."
1217 1277 msgstr ""
1218 1278
1219 -#: includes/modules/BrowserCache/BrowserCacheModule.php:132
1220 -#: includes/modules/Gzip/GzipModule.php:163
1279 +#: includes/modules/BrowserCache/BrowserCacheModule.php:133
1280 +#: includes/modules/Gzip/GzipModule.php:164
1221 1281 msgid "Go to the snippet"
1222 1282 msgstr ""
1223 1283
1224 -#: includes/modules/Cache/CacheModule.php:130
1225 -#: includes/modules/Migration/MigrationModule.php:547
1284 +#: includes/modules/Cache/CacheModule.php:169
1285 +#: includes/modules/Migration/MigrationModule.php:548
1226 1286 msgid "Page Cache"
1227 1287 msgstr ""
1228 1288
1229 -#: includes/modules/Cache/CacheModule.php:132
1230 -msgid "Page caching for non-logged-in visitors."
1289 +#: includes/modules/Cache/CacheModule.php:171
1290 +msgid "Saves each page as a file and serves it to logged-out visitors."
1231 1291 msgstr ""
1232 1292
1233 -#: includes/modules/Cache/CacheModule.php:158
1234 -msgid "Cache Expiry (hours)"
1293 +#: includes/modules/Cache/CacheModule.php:198
1294 +msgid "Cache expiry (hours)"
1235 1295 msgstr ""
1236 1296
1237 -#: includes/modules/Cache/CacheModule.php:160
1238 -msgid "How long cached pages live before regenerating. 1 to 720 hours (30 days)."
1297 +#: includes/modules/Cache/CacheModule.php:200
1298 +msgid "How long a cached page is kept before xSpeed builds it again. 1 to 720 hours (30 days)."
1239 1299 msgstr ""
1240 1300
1241 -#: includes/modules/Cache/CacheModule.php:188
1301 +#: includes/modules/Cache/CacheModule.php:230
1242 1302 msgid "Excluded URLs"
1243 1303 msgstr ""
1244 1304
1245 -#: includes/modules/Cache/CacheModule.php:189
1246 -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)."
1305 +#: includes/modules/Cache/CacheModule.php:231
1306 +msgid "Pages whose URL matches a line here are never cached. Plain text matches anywhere (/cart). A pattern with * matches from the start of the path: /cart/* matches /cart/items but not /shop/cart/items. ~ starts a regex."
1247 1307 msgstr ""
1248 1308
1249 -#: includes/modules/Cache/CacheModule.php:198
1250 -msgid "Excluded Cookies"
1309 +#: includes/modules/Cache/CacheModule.php:240
1310 +msgid "Excluded cookies"
1251 1311 msgstr ""
1252 1312
1253 -#: includes/modules/Cache/CacheModule.php:199
1254 -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."
1313 +#: includes/modules/Cache/CacheModule.php:241
1314 +msgid "Visitors with a cookie whose name matches a line here always get a fresh page. One per line; * and ~regex work."
1255 1315 msgstr ""
1256 1316
1257 -#: includes/modules/Cache/CacheModule.php:205
1258 -msgid "Bypass User Agents"
1317 +#: includes/modules/Cache/CacheModule.php:247
1318 +msgid "Excluded browsers and bots"
1259 1319 msgstr ""
1260 1320
1261 -#: includes/modules/Cache/CacheModule.php:206
1262 -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."
1321 +#: includes/modules/Cache/CacheModule.php:248
1322 +msgid "Visitors whose user agent contains a line here always get a fresh page. Useful for screenshot bots and uptime monitors."
1263 1323 msgstr ""
1264 1324
1265 -#: includes/modules/Cache/CacheModule.php:217
1266 -msgid "Ignored Query Parameters"
1325 +#: includes/modules/Cache/CacheModule.php:259
1326 +msgid "Ignored query parameters"
1267 1327 msgstr ""
1268 1328
1269 -#: includes/modules/Cache/CacheModule.php:218
1270 -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."
1329 +#: includes/modules/Cache/CacheModule.php:261
1330 +msgid "URL parameters to ignore, so /post?utm_source=x gets the same cached page as /post. Each line matches a whole parameter name."
1271 1331 msgstr ""
1272 1332
1273 -#: includes/modules/Cache/CacheModule.php:223
1274 -msgid "Purge After Updates"
1333 +#: includes/modules/Cache/CacheModule.php:266
1334 +msgid "Clear cache after updates"
1275 1335 msgstr ""
1276 1336
1277 -#: includes/modules/Cache/CacheModule.php:224
1278 -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."
1337 +#: includes/modules/Cache/CacheModule.php:267
1338 +msgid "Clear the page cache when a plugin, theme or WordPress is updated, so visitors never get old pages with broken asset links."
1279 1339 msgstr ""
1280 1340
1281 -#: includes/modules/Cache/CacheModule.php:229
1282 -msgid "Separate Mobile Cache"
1341 +#: includes/modules/Cache/CacheModule.php:272
1342 +msgid "Separate mobile cache"
1283 1343 msgstr ""
1284 1344
1285 -#: includes/modules/Cache/CacheModule.php:230
1286 -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."
1345 +#: includes/modules/Cache/CacheModule.php:273
1346 +msgid "Keep a separate cached copy for phones. Turn on only if your theme or plugins show different pages on mobile."
1287 1347 msgstr ""
1288 1348
1349 +#: includes/modules/Cache/CacheModule.php:305
1350 +msgid "CDN or proxy in front"
1351 +msgstr ""
1352 +
1353 +#: includes/modules/Cache/CacheModule.php:306
1354 +msgid "Tells your CDN or proxy not to store pages xSpeed does not cache. Leave on Detect automatically unless you know your provider."
1355 +msgstr ""
1356 +
1357 +#: includes/modules/Cache/CacheModule.php:308
1358 +msgid "Cache in front of this site"
1359 +msgstr ""
1360 +
1361 +#: includes/modules/Cache/CacheModule.php:309
1362 +msgid "Naming your provider narrows the headers to the one it reads. Detect automatically works it out per request and otherwise sends a set every cache ignores unless it understands it, so it is safe not to know. Run \"wp xspeed cache edge\" to see what was detected and what gets sent."
1363 +msgstr ""
1364 +
1365 +#: includes/modules/Cache/CacheModule.php:315
1366 +msgid "Custom CDN headers"
1367 +msgstr ""
1368 +
1369 +#: includes/modules/Cache/CacheModule.php:318
1370 +msgid "One header per line, as Name: value, for example \"Surrogate-Control: no-store\". Lines starting with # are ignored."
1371 +msgstr ""
1372 +
1373 +#: includes/modules/Cache/CacheModule.php:319
1374 +msgid "Custom edge headers"
1375 +msgstr ""
1376 +
1377 +#: includes/modules/Cache/CacheModule.php:320
1378 +msgid "These replace the headers xSpeed would have picked for your CDN. Two baselines are still added underneath: a Cache-Control, and \"X-Accel-Expires: 0\" for a page cache running in nginx on your own server. Name either one yourself and yours is used instead. Values containing $, % or a backslash are dropped — the same pairs go into nginx and Apache directives, where those cannot be escaped safely. Content-Length, Content-Encoding, Content-Type, Transfer-Encoding, Set-Cookie and Location are refused."
1379 +msgstr ""
1380 +
1381 +#: includes/modules/Cache/CacheModule.php:333
1382 +msgid "LiteSpeed static fast path"
1383 +msgstr ""
1384 +
1385 +#: includes/modules/Cache/CacheModule.php:335
1386 +msgid "LiteSpeed serves cached pages without running PHP, which is faster on slow hosts. These visits are not counted in the dashboard hit ratio."
1387 +msgstr ""
1388 +
1289 1389 #: includes/modules/CacheCoverage/CacheCoverageModule.php:36
1290 1390 msgid "Advanced Cache"
1291 1391 msgstr ""
1292 1392
1293 1393 #: includes/modules/CacheCoverage/CacheCoverageModule.php:38
1294 -msgid "Cache 404s, search, feeds, and the REST API, plus custom rules and maintenance bypass."
1394 +msgid "Caches more page types: 404s, search, feeds and the REST API."
1295 1395 msgstr ""
1296 1396
1297 1397 #: includes/modules/Cdn/CdnModule.php:30
1298 -msgid "Serve static assets (images, fonts, CSS, JS) from a pull-zone CDN host like BunnyCDN, KeyCDN, or your own."
1398 +msgid "Serve images, fonts, CSS and JS from a CDN such as BunnyCDN or KeyCDN."
1299 1399 msgstr ""
1300 1400
1301 -#: includes/modules/Cdn/CdnModule.php:39
1401 +#: includes/modules/Cdn/CdnModule.php:40
1302 1402 msgid "Enable CDN"
1303 1403 msgstr ""
1304 1404
1305 -#: includes/modules/Cdn/CdnModule.php:40
1306 -msgid "Rewrite static asset URLs to the CDN hostname below. Your CDN must be a pull-zone configured to fetch from this site."
1405 +#: includes/modules/Cdn/CdnModule.php:41
1406 +msgid "Load static files from the CDN address below. Set up the CDN to pull files from this site first."
1307 1407 msgstr ""
1308 1408
1309 -#: includes/modules/Cdn/CdnModule.php:45
1409 +#: includes/modules/Cdn/CdnModule.php:46
1310 1410 msgid "CDN URL"
1311 1411 msgstr ""
1312 1412
1313 -#: includes/modules/Cdn/CdnModule.php:46
1314 -msgid "CDN hostname, e.g. cdn.example.com. https:// and trailing slashes are stripped automatically."
1413 +#: includes/modules/Cdn/CdnModule.php:47
1414 +msgid "The CDN address, for example cdn.example.com. xSpeed removes https:// and any trailing slash."
1315 1415 msgstr ""
1316 1416
1317 -#: includes/modules/Cdn/CdnModule.php:53
1318 -msgid "Included File Extensions"
1417 +#: includes/modules/Cdn/CdnModule.php:54
1418 +msgid "File types to serve"
1319 1419 msgstr ""
1320 1420
1321 -#: includes/modules/Cdn/CdnModule.php:54
1322 -msgid "Only URLs ending in these extensions are rewritten. Defaults cover images, fonts, CSS, JS, and common media."
1421 +#: includes/modules/Cdn/CdnModule.php:55
1422 +msgid "Only files with these extensions load from the CDN. The defaults cover images, fonts, CSS, JS and common media."
1323 1423 msgstr ""
1324 1424
1325 -#: includes/modules/Cdn/CdnModule.php:61
1326 -msgid "Excluded Patterns"
1425 +#: includes/modules/Cdn/CdnModule.php:62
1426 +msgid "Excluded paths"
1327 1427 msgstr ""
1328 1428
1329 -#: includes/modules/Cdn/CdnModule.php:62
1330 -msgid "Glob patterns matched against the URL path. Matching URLs stay on the origin. Examples: /wp-admin/*, *.pdf, /private/*"
1429 +#: includes/modules/Cdn/CdnModule.php:63
1430 +msgid "Files whose path matches a pattern load from your server, not the CDN. Use * as a wildcard, for example /private/* or *.pdf."
1331 1431 msgstr ""
1332 1432
1333 -#: includes/modules/Cloudflare/CloudflareModule.php:40
1433 +#: includes/modules/Cloudflare/CloudflareModule.php:77
1334 1434 msgid "Cloudflare"
1335 1435 msgstr ""
1336 1436
1337 -#: includes/modules/Cloudflare/CloudflareModule.php:42
1338 -msgid "Connect a Cloudflare zone for automatic edge purging when xSpeed clears its cache, plus a dev-mode toggle."
1437 +#: includes/modules/Cloudflare/CloudflareModule.php:79
1438 +msgid "Clear the Cloudflare cache whenever xSpeed clears its own cache."
1339 1439 msgstr ""
1340 1440
1341 -#: includes/modules/Cloudflare/CloudflareModule.php:65
1342 -msgid "Enable Cloudflare integration"
1441 +#: includes/modules/Cloudflare/CloudflareModule.php:103
1442 +msgid "Connect Cloudflare"
1343 1443 msgstr ""
1344 1444
1345 -#: includes/modules/Cloudflare/CloudflareModule.php:66
1346 -msgid "Use the credentials below to verify your zone and run purges."
1445 +#: includes/modules/Cloudflare/CloudflareModule.php:104
1446 +msgid "Lets xSpeed clear the Cloudflare cache for your domain, using the details below."
1347 1447 msgstr ""
1348 1448
1349 -#: includes/modules/Cloudflare/CloudflareModule.php:76
1449 +#: includes/modules/Cloudflare/CloudflareModule.php:114
1350 1450 msgid "Authentication"
1351 1451 msgstr ""
1352 1452
1353 -#: includes/modules/Cloudflare/CloudflareModule.php:77
1354 -msgid "API Tokens (scoped, recommended) or the legacy Global API Key with your account email."
1453 +#: includes/modules/Cloudflare/CloudflareModule.php:115
1454 +msgid "An API token is safer and recommended. The older Global API Key also needs your account email."
1355 1455 msgstr ""
1356 1456
1357 -#: includes/modules/Cloudflare/CloudflareModule.php:83
1457 +#: includes/modules/Cloudflare/CloudflareModule.php:121
1358 1458 msgid "API Token"
1359 1459 msgstr ""
1360 1460
1361 -#: includes/modules/Cloudflare/CloudflareModule.php:84
1362 -msgid "Create a token at dash.cloudflare.com → My Profile → API Tokens. Needs \"Zone → Cache Purge\" + \"Zone Settings\" permissions."
1461 +#: includes/modules/Cloudflare/CloudflareModule.php:122
1462 +msgid "Create one at dash.cloudflare.com → My Profile → API Tokens. Give it the \"Zone → Cache Purge\" and \"Zone Settings\" permissions."
1363 1463 msgstr ""
1364 1464
1365 -#: includes/modules/Cloudflare/CloudflareModule.php:92
1366 -msgid "Account Email"
1465 +#: includes/modules/Cloudflare/CloudflareModule.php:130
1466 +msgid "Account email"
1367 1467 msgstr ""
1368 1468
1369 -#: includes/modules/Cloudflare/CloudflareModule.php:93
1370 -msgid "Only used when Authentication is set to Global API Key."
1469 +#: includes/modules/Cloudflare/CloudflareModule.php:131
1470 +msgid "The email address of your Cloudflare account."
1371 1471 msgstr ""
1372 1472
1373 -#: includes/modules/Cloudflare/CloudflareModule.php:99
1473 +#: includes/modules/Cloudflare/CloudflareModule.php:137
1374 1474 msgid "Global API Key"
1375 1475 msgstr ""
1376 1476
1377 -#: includes/modules/Cloudflare/CloudflareModule.php:100
1378 -msgid "Found at dash.cloudflare.com → My Profile → API Tokens → Global API Key."
1477 +#: includes/modules/Cloudflare/CloudflareModule.php:138
1478 +msgid "Find it at dash.cloudflare.com → My Profile → API Tokens → Global API Key."
1379 1479 msgstr ""
1380 1480
1381 -#: includes/modules/Cloudflare/CloudflareModule.php:106
1481 +#: includes/modules/Cloudflare/CloudflareModule.php:144
1382 1482 msgid "Zone ID"
1383 1483 msgstr ""
1384 1484
1385 -#: includes/modules/Cloudflare/CloudflareModule.php:107
1386 -msgid "The 32-character hex Zone ID from your domain overview page."
1485 +#: includes/modules/Cloudflare/CloudflareModule.php:145
1486 +msgid "The 32-character Zone ID shown on your domain overview page in Cloudflare."
1387 1487 msgstr ""
1388 1488
1389 -#: includes/modules/Cloudflare/CloudflareModule.php:113
1390 -msgid "Auto-purge Cloudflare on xSpeed purge"
1489 +#: includes/modules/Cloudflare/CloudflareModule.php:151
1490 +msgid "Clear Cloudflare with xSpeed"
1391 1491 msgstr ""
1392 1492
1393 -#: includes/modules/Cloudflare/CloudflareModule.php:114
1394 -msgid "When xSpeed clears its own cache (post save, settings change, manual purge), trigger a Cloudflare purge too."
1493 +#: includes/modules/Cloudflare/CloudflareModule.php:152
1494 +msgid "Clear the Cloudflare cache each time xSpeed clears its own, for example after you save a post."
1395 1495 msgstr ""
1396 1496
1397 -#: includes/modules/Cloudflare/CloudflareModule.php:238
1497 +#. translators: %d: number of URLs that changed at once.
1498 +#: includes/modules/Cloudflare/CloudflareModule.php:481
1499 +#, php-format
1500 +msgid "Purging the whole Cloudflare zone: %d URLs changed at once, too many to purge individually"
1501 +msgstr ""
1502 +
1503 +#. translators: %d: number of URLs.
1504 +#: includes/modules/Cloudflare/CloudflareModule.php:542
1505 +#, php-format
1506 +msgid "Skipped a queued Cloudflare purge of %d URL: the connection is no longer available"
1507 +msgid_plural "Skipped a queued Cloudflare purge of %d URLs: the connection is no longer available"
1508 +msgstr[0] ""
1509 +msgstr[1] ""
1510 +
1511 +#. translators: %d: number of URLs purged.
1512 +#: includes/modules/Cloudflare/CloudflareModule.php:573
1513 +#, php-format
1514 +msgid "Purged %d URL from the Cloudflare edge cache"
1515 +msgid_plural "Purged %d URLs from the Cloudflare edge cache"
1516 +msgstr[0] ""
1517 +msgstr[1] ""
1518 +
1519 +#. translators: 1: number of URLs, 2: failure reason.
1520 +#: includes/modules/Cloudflare/CloudflareModule.php:589
1521 +#, php-format
1522 +msgid "Cloudflare URL purge failed (%1$d URL(s)): %2$s"
1523 +msgstr ""
1524 +
1525 +#: includes/modules/Cloudflare/CloudflareModule.php:591
1526 +#: includes/modules/Cloudflare/CloudflareModule.php:658
1527 +msgid "unknown error"
1528 +msgstr ""
1529 +
1530 +#: includes/modules/Cloudflare/CloudflareModule.php:607
1398 1531 msgid "the Cloudflare integration is switched off"
1399 1532 msgstr ""
1400 1533
1401 -#: includes/modules/Cloudflare/CloudflareModule.php:241
1534 +#: includes/modules/Cloudflare/CloudflareModule.php:610
1402 1535 msgid "no zone ID or API credentials are configured"
1403 1536 msgstr ""
1404 1537
1405 1538 #. translators: %s: what asked for the purge.
1406 -#: includes/modules/Cloudflare/CloudflareModule.php:277
1539 +#: includes/modules/Cloudflare/CloudflareModule.php:646
1407 1540 #, php-format
1408 1541 msgid "Purged the Cloudflare edge cache (%s)"
1409 1542 msgstr ""
1410 1543
1411 1544 #. translators: 1: what asked for the purge, 2: failure reason.
1412 -#: includes/modules/Cloudflare/CloudflareModule.php:287
1545 +#: includes/modules/Cloudflare/CloudflareModule.php:656
1413 1546 #, php-format
1414 1547 msgid "Cloudflare purge failed (%1$s): %2$s"
1415 1548 msgstr ""
1416 1549
1417 -#: includes/modules/Cloudflare/CloudflareModule.php:289
1418 -msgid "unknown error"
1419 -msgstr ""
1420 -
1421 -#: includes/modules/Cloudflare/CloudflareModule.php:359
1550 +#: includes/modules/Cloudflare/CloudflareModule.php:728
1422 1551 msgid "Cloudflare is not fully configured."
1423 1552 msgstr ""
1424 1553
1425 -#: includes/modules/Cloudflare/CloudflareModule.php:360
1554 +#: includes/modules/Cloudflare/CloudflareModule.php:729
1426 1555 msgid "Add your API token (or Global API Key + account email) and the Zone ID, then press Verify. Until then auto-purge does nothing."
1427 1556 msgstr ""
1428 1557
1429 -#: includes/modules/Cloudflare/CloudflareModule.php:373
1558 +#: includes/modules/Cloudflare/CloudflareModule.php:742
1430 1559 msgid "Cloudflare purge is failing."
1431 1560 msgstr ""
1432 1561
1433 1562 #. translators: %s: the Cloudflare API error message, or empty.
1434 -#: includes/modules/Cloudflare/CloudflareModule.php:376
1563 +#: includes/modules/Cloudflare/CloudflareModule.php:745
1435 1564 #, php-format
1436 1565 msgid "The last edge purge was rejected by Cloudflare%s. Confirm the API token includes the \"Zone → Cache Purge\" permission for this zone — a token that can read the zone can still lack purge rights."
1437 1566 msgstr ""
1438 1567
1439 -#: includes/modules/Cloudflare/CloudflareModule.php:385
1568 +#: includes/modules/Cloudflare/CloudflareModule.php:754
1440 1569 msgid "Cloudflare credentials were rejected."
1441 1570 msgstr ""
1442 1571
1443 1572 #. translators: %s: the Cloudflare API error message, or empty.
1444 -#: includes/modules/Cloudflare/CloudflareModule.php:388
1573 +#: includes/modules/Cloudflare/CloudflareModule.php:757
1445 1574 #, php-format
1446 1575 msgid "The saved credentials could not verify this zone%s. Auto-purge will not work until this is fixed."
1447 1576 msgstr ""
1448 1577
@@ -1450,28 +1579,54 @@
1450 1579 msgid "Database"
1451 1580 msgstr ""
1452 1581
1453 1582 #: includes/modules/Database/DatabaseModule.php:32
1454 -msgid "Scan + clean WordPress bloat (revisions, spam, transients, orphan meta) and optimize tables."
1583 +msgid "Remove old revisions, spam and other leftovers, and optimize database tables."
1455 1584 msgstr ""
1456 1585
1457 -#: includes/modules/Database/DatabaseModule.php:49
1458 -msgid "Auto-Cleanup Schedule"
1586 +#: includes/modules/Database/DatabaseModule.php:50
1587 +msgid "Automatic cleanup"
1459 1588 msgstr ""
1460 1589
1461 -#: includes/modules/Database/DatabaseModule.php:50
1462 -msgid "How often to run cleanup automatically. Manual means cleanup only runs when you press the button."
1590 +#: includes/modules/Database/DatabaseModule.php:51
1591 +msgid "How often xSpeed cleans the database on its own. Manual means it only cleans when you press the button."
1463 1592 msgstr ""
1464 1593
1465 -#: includes/modules/Database/DatabaseModule.php:56
1466 -msgid "Auto-Cleanup Types"
1594 +#: includes/modules/Database/DatabaseModule.php:57
1595 +msgid "What to clean automatically"
1467 1596 msgstr ""
1468 1597
1469 -#: includes/modules/Database/DatabaseModule.php:57
1470 -msgid "Which cleanup categories run on the schedule above. Leave empty to keep auto-cleanup disabled even if a schedule is set."
1598 +#: includes/modules/Database/DatabaseModule.php:58
1599 +msgid "The items the scheduled cleanup removes. If you leave this empty, nothing is cleaned, even with a schedule set."
1471 1600 msgstr ""
1472 1601
1473 -#: includes/modules/Database/DatabaseModule.php:149
1602 +#: includes/modules/Database/DatabaseModule.php:70
1603 +msgid "Limit post revisions"
1604 +msgstr ""
1605 +
1606 +#: includes/modules/Database/DatabaseModule.php:71
1607 +msgid "Cap how many revisions WordPress keeps for each post. Cleanup removes revisions that already exist; this stops them piling up again."
1608 +msgstr ""
1609 +
1610 +#: includes/modules/Database/DatabaseModule.php:78
1611 +msgid "Revisions to keep"
1612 +msgstr ""
1613 +
1614 +#: includes/modules/Database/DatabaseModule.php:79
1615 +msgid "0 turns revisions off completely. Older revisions are trimmed the next time each post is saved; to remove the backlog now, clean Post Revisions above."
1616 +msgstr ""
1617 +
1618 +#: includes/modules/Database/DatabaseModule.php:134
1619 +msgid "The revision limit is set outside xSpeed"
1620 +msgstr ""
1621 +
1622 +#. translators: %s: value of WP_POST_REVISIONS, e.g. 5 or false.
1623 +#: includes/modules/Database/DatabaseModule.php:137
1624 +#, php-format
1625 +msgid "WP_POST_REVISIONS is set to %s, usually in wp-config.php, so Limit Post Revisions below has no effect. Remove that definition to manage the limit here."
1626 +msgstr ""
1627 +
1628 +#: includes/modules/Database/DatabaseModule.php:241
1474 1629 msgid "Provide at least one cleanup type."
1475 1630 msgstr ""
1476 1631
1477 1632 #: includes/modules/Fonts/FontsModule.php:35
@@ -1478,29 +1633,29 @@
1478 1633 msgid "Fonts"
1479 1634 msgstr ""
1480 1635
1481 1636 #: includes/modules/Fonts/FontsModule.php:37
1482 -msgid "Stop web fonts from blocking text. Adds display=swap to Google Fonts and preloads the fonts you mark critical."
1637 +msgid "Shows text right away while web fonts load, and preloads key fonts."
1483 1638 msgstr ""
1484 1639
1485 -#: includes/modules/Fonts/FontsModule.php:46
1486 -msgid "Add font-display: swap"
1640 +#: includes/modules/Fonts/FontsModule.php:47
1641 +msgid "Show text while fonts load"
1487 1642 msgstr ""
1488 1643
1489 -#: includes/modules/Fonts/FontsModule.php:47
1490 -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."
1644 +#: includes/modules/Fonts/FontsModule.php:48
1645 +msgid "Google Fonts text shows at once in a standard font, then switches when the web font arrives."
1491 1646 msgstr ""
1492 1647
1493 -#: includes/modules/Fonts/FontsModule.php:53
1494 -msgid "Preload Font URLs"
1648 +#: includes/modules/Fonts/FontsModule.php:54
1649 +msgid "Fonts to preload"
1495 1650 msgstr ""
1496 1651
1497 -#: includes/modules/Fonts/FontsModule.php:54
1498 -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."
1652 +#: includes/modules/Fonts/FontsModule.php:55
1653 +msgid "One full font file URL per line (woff2, woff, ttf or otf). The browser fetches these first, so list only fonts used at the top of the page."
1499 1654 msgstr ""
1500 1655
1501 1656 #: includes/modules/Gzip/GzipModule.php:35
1502 -#: includes/modules/Migration/MigrationModule.php:553
1657 +#: includes/modules/Migration/MigrationModule.php:554
1503 1658 msgid "Compression"
1504 1659 msgstr ""
1505 1660
1506 1661 #: includes/modules/Gzip/GzipModule.php:36
@@ -1507,56 +1662,56 @@
1507 1662 msgid "GZIP"
1508 1663 msgstr ""
1509 1664
1510 1665 #: includes/modules/Gzip/GzipModule.php:38
1511 -msgid "Compress responses to reduce transfer size."
1666 +msgid "Compresses pages and files so they download faster."
1512 1667 msgstr ""
1513 1668
1514 -#: includes/modules/Gzip/GzipModule.php:52
1515 -msgid "Enable GZIP Compression"
1669 +#: includes/modules/Gzip/GzipModule.php:53
1670 +msgid "Enable Gzip compression"
1516 1671 msgstr ""
1517 1672
1518 -#: includes/modules/Gzip/GzipModule.php:74
1519 -msgid "Compress responses before sending them. We write the .htaccess rules automatically on this server."
1673 +#: includes/modules/Gzip/GzipModule.php:75
1674 +msgid "Compresses pages and files before sending them. xSpeed adds the .htaccess rules for you on this server."
1520 1675 msgstr ""
1521 1676
1522 -#: includes/modules/Gzip/GzipModule.php:77
1523 -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."
1677 +#: includes/modules/Gzip/GzipModule.php:78
1678 +msgid "Compresses pages and files before sending them. On nginx you add the rules to your server config yourself. See the notice below."
1524 1679 msgstr ""
1525 1680
1526 -#: includes/modules/Gzip/GzipModule.php:79
1527 -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."
1681 +#: includes/modules/Gzip/GzipModule.php:80
1682 +msgid "Compresses pages and files before sending them. On this server you add the rules to your server config yourself. See the notice below."
1528 1683 msgstr ""
1529 1684
1530 -#: includes/modules/Gzip/GzipModule.php:154
1685 +#: includes/modules/Gzip/GzipModule.php:155
1531 1686 msgid "GZIP requires server config on nginx"
1532 1687 msgstr ""
1533 1688
1534 -#: includes/modules/Gzip/GzipModule.php:155
1689 +#: includes/modules/Gzip/GzipModule.php:156
1535 1690 msgid "GZIP is being served by nginx"
1536 1691 msgstr ""
1537 1692
1538 -#: includes/modules/Gzip/GzipModule.php:157
1693 +#: includes/modules/Gzip/GzipModule.php:158
1539 1694 msgid "xSpeed can only auto-configure GZIP on Apache and LiteSpeed (via .htaccess). The directives are included in the unified server-block snippet on the Cache panel — copy + paste it once into your nginx vhost (or container nginx config) and reload nginx."
1540 1695 msgstr ""
1541 1696
1542 -#: includes/modules/Gzip/GzipModule.php:158
1697 +#: includes/modules/Gzip/GzipModule.php:159
1543 1698 msgid "Responses are compressed. xSpeed cannot configure nginx from WordPress, so these directives live in the unified server-block snippet on the Cache panel — that is where to re-copy them if your server config is ever rebuilt."
1544 1699 msgstr ""
1545 1700
1546 -#: includes/modules/Gzip/GzipModule.php:186
1701 +#: includes/modules/Gzip/GzipModule.php:187
1547 1702 msgid "GZIP enabled but not active on the server"
1548 1703 msgstr ""
1549 1704
1550 -#: includes/modules/Gzip/GzipModule.php:187
1705 +#: includes/modules/Gzip/GzipModule.php:188
1551 1706 msgid "xSpeed wrote the .htaccess rules but the response still isn't gzipped. Your server may have AllowOverride disabled, another caching plugin overriding, or mod_deflate missing. Ask your host to enable GZIP on Apache."
1552 1707 msgstr ""
1553 1708
1554 -#: includes/modules/Gzip/GzipModule.php:197
1709 +#: includes/modules/Gzip/GzipModule.php:198
1555 1710 msgid "GZIP requires server config on this server"
1556 1711 msgstr ""
1557 1712
1558 -#: includes/modules/Gzip/GzipModule.php:198
1713 +#: includes/modules/Gzip/GzipModule.php:199
1559 1714 msgid "xSpeed can only auto-configure GZIP on Apache and LiteSpeed (via .htaccess). Paste the snippet below into your server config and reload."
1560 1715 msgstr ""
1561 1716
1562 1717 #: includes/modules/Health/HealthModule.php:66
@@ -1562,75 +1717,111 @@
1562 1717 #: includes/modules/Health/HealthModule.php:66
1563 1718 msgid "xSpeed static-rewrite cache"
1564 1719 msgstr ""
1565 1720
1566 -#: includes/modules/Health/HealthModule.php:81
1721 +#: includes/modules/Health/HealthModule.php:125
1567 1722 msgid "xSpeed static-rewrite cache is active"
1568 1723 msgstr ""
1569 1724
1570 -#: includes/modules/Health/HealthModule.php:84
1725 +#: includes/modules/Health/HealthModule.php:128
1571 1726 #: assets/admin.js
1572 1727 msgid "Performance"
1573 1728 msgstr ""
1574 1729
1575 -#: includes/modules/Health/HealthModule.php:87
1730 +#: includes/modules/Health/HealthModule.php:131
1576 1731 msgid "Cache hits bypass PHP for ~5-15ms TTFB."
1577 1732 msgstr ""
1578 1733
1579 -#: includes/modules/Health/HealthModule.php:93
1734 +#: includes/modules/Health/HealthModule.php:137
1580 1735 msgid "xSpeed cache is disabled"
1581 1736 msgstr ""
1582 1737
1583 -#: includes/modules/Health/HealthModule.php:95
1738 +#: includes/modules/Health/HealthModule.php:139
1584 1739 msgid "Enable the page cache in the xSpeed dashboard to start serving cached HTML for non-logged-in visitors."
1585 1740 msgstr ""
1586 1741
1587 -#: includes/modules/Health/HealthModule.php:108
1742 +#: includes/modules/Health/HealthModule.php:155
1743 +msgid "xSpeed is serving cache hits through PHP (LiteSpeed)"
1744 +msgstr ""
1745 +
1746 +#: includes/modules/Health/HealthModule.php:157
1747 +msgid "Caching is working — hits are served by the xSpeed drop-in and tagged X-XSpeed-Cache: HIT (php), so every hit is visible and counted. LiteSpeed's .htaccess engine cannot tag or log statically served files, so this is the default. To serve hits straight from the web server with no PHP (at the cost of that tagging and counting), turn on LiteSpeed Static Fast Path in xSpeed's Cache settings."
1748 +msgstr ""
1749 +
1750 +#: includes/modules/Health/HealthModule.php:159
1588 1751 msgid "xSpeed is serving cache hits through PHP"
1589 1752 msgstr ""
1590 1753
1591 -#: includes/modules/Health/HealthModule.php:110
1754 +#: includes/modules/Health/HealthModule.php:161
1592 1755 msgid "Caching is working — hits are served by the xSpeed drop-in and tagged X-XSpeed-Cache: HIT (php). The faster .htaccess fast path is off because Apache's mod_headers module is not loaded, without which a static hit could not be tagged or counted. Enable mod_headers (a2enmod headers on Debian/Ubuntu, then restart Apache) to shave roughly 20-30ms off each cache hit."
1593 1756 msgstr ""
1594 1757
1595 -#: includes/modules/Health/HealthModule.php:112
1758 +#: includes/modules/Health/HealthModule.php:163
1759 +#: includes/modules/Health/HealthModule.php:202
1596 1760 msgid "xSpeed static rewrite is off (Separate Mobile Cache)"
1597 1761 msgstr ""
1598 1762
1599 -#: includes/modules/Health/HealthModule.php:114
1763 +#: includes/modules/Health/HealthModule.php:165
1764 +#: includes/modules/Health/HealthModule.php:204
1600 1765 msgid "Separate Mobile Cache is on, so cache hits are served by the PHP drop-in to keep per-device HTML correct. Turn Separate Mobile Cache off if your site serves the same HTML to every device to regain the faster static path."
1601 1766 msgstr ""
1602 1767
1603 -#: includes/modules/Health/HealthModule.php:116
1768 +#: includes/modules/Health/HealthModule.php:169
1604 1769 msgid "xSpeed .htaccess rewrite block is missing"
1605 1770 msgstr ""
1606 1771
1607 -#: includes/modules/Health/HealthModule.php:118
1772 +#: includes/modules/Health/HealthModule.php:171
1608 1773 msgid "Without the static-rewrite block, cache hits go through the PHP drop-in (~85ms TTFB) instead of the web server (~5-15ms). Toggle Enable Cache off and on in xSpeed to reinstall the block."
1609 1774 msgstr ""
1610 1775
1611 -#: includes/modules/Health/HealthModule.php:125
1776 +#: includes/modules/Health/HealthModule.php:196
1777 +msgid "xSpeed nginx static rewrite is active"
1778 +msgstr ""
1779 +
1780 +#: includes/modules/Health/HealthModule.php:198
1781 +msgid "nginx is serving cache hits directly — PHP is bypassed (~5-15ms TTFB). No action needed."
1782 +msgstr ""
1783 +
1784 +#: includes/modules/Health/HealthModule.php:208
1785 +msgid "xSpeed is serving cache hits through PHP (pages contain nonces)"
1786 +msgstr ""
1787 +
1788 +#: includes/modules/Health/HealthModule.php:210
1789 +msgid "Your nginx config is correct, but pages are not reaching the static cache, so hits are served by PHP. They contain nonces, and a static file is served with no PHP — nothing could ever refresh them, so every anonymous form on the page would break once they expire. Keeping these pages on PHP is deliberate."
1790 +msgstr ""
1791 +
1792 +#: includes/modules/Health/HealthModule.php:219
1793 +msgid "xSpeed could not verify the nginx static rewrite"
1794 +msgstr ""
1795 +
1796 +#. translators: %s: the reason the probe could not complete.
1797 +#: includes/modules/Health/HealthModule.php:224
1798 +#, php-format
1799 +msgid "The check itself did not complete, so this is not evidence that your config is wrong — if you have already pasted the snippet it may well be working. Reason: %s"
1800 +msgstr ""
1801 +
1802 +#: includes/modules/Health/HealthModule.php:232
1612 1803 msgid "xSpeed nginx server config required"
1613 1804 msgstr ""
1614 1805
1615 -#: includes/modules/Health/HealthModule.php:127
1806 +#: includes/modules/Health/HealthModule.php:234
1616 1807 msgid "xSpeed can't write nginx config from PHP. Paste this snippet into your site's server { } block, then reload nginx so cache hits serve without booting PHP:"
1617 1808 msgstr ""
1618 1809
1619 -#: includes/modules/Health/HealthModule.php:136
1810 +#: includes/modules/Health/HealthModule.php:243
1620 1811 msgid "xSpeed PHP drop-in cache active"
1621 1812 msgstr ""
1622 1813
1623 -#: includes/modules/Health/HealthModule.php:138
1814 +#: includes/modules/Health/HealthModule.php:245
1624 1815 msgid "Static-rewrite caching needs Apache, LiteSpeed, or nginx. The PHP drop-in is still serving cache hits at ~85ms TTFB on this server."
1625 1816 msgstr ""
1626 1817
1627 -#: includes/modules/Health/HealthModule.php:144
1818 +#: includes/modules/Health/HealthModule.php:251
1628 1819 msgid "Health"
1629 1820 msgstr ""
1630 1821
1631 -#: includes/modules/Health/HealthModule.php:146
1632 -msgid "Diagnostics, hit ratio, and recent cache activity."
1822 +#: includes/modules/Health/HealthModule.php:253
1823 +msgid "Checks for problems and shows how often visitors get cached pages."
1633 1824 msgstr ""
1634 1825
1635 1826 #: includes/modules/Heartbeat/HeartbeatModule.php:38
1636 1827 msgid "Heartbeat"
@@ -1636,41 +1827,41 @@
1636 1827 msgid "Heartbeat"
1637 1828 msgstr ""
1638 1829
1639 1830 #: includes/modules/Heartbeat/HeartbeatModule.php:40
1640 -msgid "Control the WordPress Heartbeat API per context."
1831 +msgid "Controls how often WordPress checks in with your server in the background."
1641 1832 msgstr ""
1642 1833
1643 -#: includes/modules/Heartbeat/HeartbeatModule.php:64
1834 +#: includes/modules/Heartbeat/HeartbeatModule.php:65
1644 1835 msgid "Dashboard"
1645 1836 msgstr ""
1646 1837
1647 -#: includes/modules/Heartbeat/HeartbeatModule.php:65
1648 -msgid "Heartbeat behavior on /wp-admin/ screens (autosave, notifications)."
1838 +#: includes/modules/Heartbeat/HeartbeatModule.php:66
1839 +msgid "Background checks on admin screens, used for notifications."
1649 1840 msgstr ""
1650 1841
1651 -#: includes/modules/Heartbeat/HeartbeatModule.php:72
1842 +#: includes/modules/Heartbeat/HeartbeatModule.php:73
1652 1843 msgid "Editor"
1653 1844 msgstr ""
1654 1845
1655 -#: includes/modules/Heartbeat/HeartbeatModule.php:73
1656 -msgid "Heartbeat in the post / block editor. Disable only if you do not need autosave or co-edit locks."
1846 +#: includes/modules/Heartbeat/HeartbeatModule.php:74
1847 +msgid "Background checks in the post editor. Disable only if you do not need autosave or the warning when someone else is editing."
1657 1848 msgstr ""
1658 1849
1659 -#: includes/modules/Heartbeat/HeartbeatModule.php:80
1850 +#: includes/modules/Heartbeat/HeartbeatModule.php:81
1660 1851 msgid "Frontend"
1661 1852 msgstr ""
1662 1853
1663 -#: includes/modules/Heartbeat/HeartbeatModule.php:81
1664 -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."
1854 +#: includes/modules/Heartbeat/HeartbeatModule.php:82
1855 +msgid "Background checks on the public site, which only some plugins add. Disable is recommended, as it cuts extra requests to your server."
1665 1856 msgstr ""
1666 1857
1667 -#: includes/modules/Heartbeat/HeartbeatModule.php:88
1668 -msgid "Throttle Frequency"
1858 +#: includes/modules/Heartbeat/HeartbeatModule.php:89
1859 +msgid "Throttle interval"
1669 1860 msgstr ""
1670 1861
1671 -#: includes/modules/Heartbeat/HeartbeatModule.php:89
1672 -msgid "Interval in seconds for contexts set to Throttle. 60 is a sane default; lower = faster sync but more requests."
1862 +#: includes/modules/Heartbeat/HeartbeatModule.php:91
1863 +msgid "Seconds between checks where you chose Throttle. 60 suits most sites; a lower number means more requests."
1673 1864 msgstr ""
1674 1865
1675 1866 #: includes/modules/Lazy/LazyModule.php:42
1676 1867 msgid "Media Optimization"
@@ -1680,67 +1871,75 @@
1680 1871 msgid "Lazy Loading"
1681 1872 msgstr ""
1682 1873
1683 1874 #: includes/modules/Lazy/LazyModule.php:45
1684 -msgid "Control how images, iframes, and videos load — lazy-loading, missing dimensions, and format optimization."
1875 +msgid "Loads images, videos and embeds only when visitors scroll to them."
1685 1876 msgstr ""
1686 1877
1687 -#: includes/modules/Lazy/LazyModule.php:59
1688 -msgid "Lazy-load Images"
1689 -msgstr ""
1690 -
1691 1878 #: includes/modules/Lazy/LazyModule.php:60
1692 -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."
1879 +msgid "Lazy-load images"
1693 1880 msgstr ""
1694 1881
1695 -#: includes/modules/Lazy/LazyModule.php:65
1696 -msgid "Lazy-load Iframes"
1882 +#: includes/modules/Lazy/LazyModule.php:61
1883 +msgid "Images load when the visitor scrolls near them. The first image on the page still loads right away."
1697 1884 msgstr ""
1698 1885
1699 1886 #: includes/modules/Lazy/LazyModule.php:66
1700 -msgid "Add loading=\"lazy\" to <iframe> tags. Useful for YouTube / Vimeo embeds + map widgets that pull a lot of bytes."
1887 +msgid "Lazy-load embeds"
1701 1888 msgstr ""
1702 1889
1703 -#: includes/modules/Lazy/LazyModule.php:71
1704 -msgid "Click-to-Play Video Facade"
1890 +#: includes/modules/Lazy/LazyModule.php:67
1891 +msgid "Embedded content such as YouTube videos and maps loads when the visitor scrolls near it."
1705 1892 msgstr ""
1706 1893
1707 1894 #: includes/modules/Lazy/LazyModule.php:72
1708 -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."
1895 +msgid "Click-to-play videos"
1709 1896 msgstr ""
1710 1897
1711 -#: includes/modules/Lazy/LazyModule.php:77
1712 -msgid "Lazy-load HTML5 Videos"
1898 +#: includes/modules/Lazy/LazyModule.php:73
1899 +msgid "Shows a preview image with a play button in place of YouTube, Vimeo and your own videos that have a poster image. The video loads only when clicked. Autoplaying videos are left alone."
1713 1900 msgstr ""
1714 1901
1715 1902 #: includes/modules/Lazy/LazyModule.php:78
1716 -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."
1903 +msgid "Lazy-load your own videos"
1717 1904 msgstr ""
1718 1905
1906 +#: includes/modules/Lazy/LazyModule.php:79
1907 +msgid "Videos uploaded to your site download only when played. Autoplaying videos are left alone."
1908 +msgstr ""
1909 +
1910 +#: includes/modules/Lazy/LazyModule.php:84
1911 +msgid "Lazy-load background images"
1912 +msgstr ""
1913 +
1719 1914 #: includes/modules/Lazy/LazyModule.php:85
1720 -msgid "Eager-load First N Images"
1915 +msgid "Hold back background images set in an element's inline style (a Cover or Group block, a page-builder section) until the element is near the screen. Uses a small script; visitors without JavaScript get every background as usual. The first N backgrounds on the page load straight away, like images. Backgrounds set in a stylesheet are not affected."
1721 1916 msgstr ""
1722 1917
1723 -#: includes/modules/Lazy/LazyModule.php:86
1724 -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."
1918 +#: includes/modules/Lazy/LazyModule.php:92
1919 +msgid "Images to load right away"
1725 1920 msgstr ""
1726 1921
1727 -#: includes/modules/Lazy/LazyModule.php:91
1728 -msgid "Add Missing Image Dimensions"
1922 +#: includes/modules/Lazy/LazyModule.php:93
1923 +msgid "How many images at the top of the page skip lazy loading. Only the first of them also loads at high priority, and images in hidden or closed sections are not counted. Lazy-loaded background images use the same number. 1 suits most sites; 0 lazy-loads every image."
1729 1924 msgstr ""
1730 1925
1731 -#: includes/modules/Lazy/LazyModule.php:92
1732 -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."
1926 +#: includes/modules/Lazy/LazyModule.php:107
1927 +msgid "Add missing image sizes"
1733 1928 msgstr ""
1734 1929
1735 -#: includes/modules/Lazy/LazyModule.php:98
1736 -msgid "Excluded Images"
1930 +#: includes/modules/Lazy/LazyModule.php:108
1931 +msgid "Adds width and height to images that lack them, using the media library. This stops the page from jumping as images load."
1737 1932 msgstr ""
1738 1933
1739 -#: includes/modules/Lazy/LazyModule.php:99
1740 -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."
1934 +#: includes/modules/Lazy/LazyModule.php:114
1935 +msgid "Excluded images"
1741 1936 msgstr ""
1742 1937
1938 +#: includes/modules/Lazy/LazyModule.php:115
1939 +msgid "Images and embeds whose tag contains a line here, such as a class or file name, are never lazy-loaded. Useful for logos and hero images."
1940 +msgstr ""
1941 +
1743 1942 #. translators: %s: command name.
1744 1943 #: includes/modules/Mcp/Cli_Bridge.php:128
1745 1944 #, php-format
1746 1945 msgid "Unknown command: %s. Call list_commands to see what is available."
@@ -1745,88 +1944,97 @@
1745 1944 #, php-format
1746 1945 msgid "Unknown command: %s. Call list_commands to see what is available."
1747 1946 msgstr ""
1748 1947
1749 -#: includes/modules/Mcp/McpModule.php:111
1948 +#: includes/modules/Mcp/McpModule.php:149
1750 1949 #: assets/admin.js
1751 1950 msgid "MCP Server"
1752 1951 msgstr ""
1753 1952
1754 -#: includes/modules/Mcp/McpModule.php:113
1755 -msgid "Control this site's cache from Claude and other AI agents."
1953 +#: includes/modules/Mcp/McpModule.php:151
1954 +msgid "Let Claude or another AI assistant clear the cache, check stats and change settings."
1756 1955 msgstr ""
1757 1956
1758 -#: includes/modules/Mcp/McpModule.php:979
1957 +#: includes/modules/Mcp/McpModule.php:450
1958 +msgid "Another plugin now claims the site-wide OAuth discovery address, so xSpeed handed it over. Its own is /.well-known/oauth-protected-resource/xspeed/mcp — AI assistants already connected may ask for approval once more."
1959 +msgstr ""
1960 +
1961 +#: includes/modules/Mcp/McpModule.php:1319
1759 1962 msgid "Invalid or expired attach request."
1760 1963 msgstr ""
1761 1964
1762 -#: includes/modules/Mcp/McpModule.php:1093
1965 +#: includes/modules/Mcp/McpModule.php:1435
1763 1966 msgid "You must be an administrator to authorize an AI agent to control this site."
1764 1967 msgstr ""
1765 1968
1766 -#: includes/modules/Mcp/McpModule.php:1100
1969 +#: includes/modules/Mcp/McpModule.php:1442
1767 1970 msgid "Security check failed. Please try connecting again."
1768 1971 msgstr ""
1769 1972
1770 -#: includes/modules/Mcp/McpModule.php:1227
1973 +#: includes/modules/Mcp/McpModule.php:1538
1974 +#: includes/modules/Mcp/McpModule.php:1557
1975 +msgid "The MCP tool payload is too large."
1976 +msgstr ""
1977 +
1978 +#: includes/modules/Mcp/McpModule.php:1632
1771 1979 msgid "Read-only — inspect cache status and settings."
1772 1980 msgstr ""
1773 1981
1774 -#: includes/modules/Mcp/McpModule.php:1228
1982 +#: includes/modules/Mcp/McpModule.php:1633
1775 1983 msgid "Read & write — purge caches, toggle caching, and change settings."
1776 1984 msgstr ""
1777 1985
1778 -#: includes/modules/Mcp/McpModule.php:1229
1986 +#: includes/modules/Mcp/McpModule.php:1634
1779 1987 msgid "An AI agent"
1780 1988 msgstr ""
1781 1989
1782 -#: includes/modules/Mcp/McpModule.php:1248
1990 +#: includes/modules/Mcp/McpModule.php:1653
1783 1991 msgid "Authorize AI access"
1784 1992 msgstr ""
1785 1993
1786 -#: includes/modules/Mcp/McpModule.php:1259
1994 +#: includes/modules/Mcp/McpModule.php:1664
1787 1995 msgid "Connect to xSpeed"
1788 1996 msgstr ""
1789 1997
1790 1998 #. translators: %s: AI client name.
1791 -#: includes/modules/Mcp/McpModule.php:1261
1999 +#: includes/modules/Mcp/McpModule.php:1666
1792 2000 #, php-format
1793 2001 msgid "%s wants to manage the cache on this site."
1794 2002 msgstr ""
1795 2003
1796 -#: includes/modules/Mcp/McpModule.php:1262
2004 +#: includes/modules/Mcp/McpModule.php:1667
1797 2005 msgid "Site"
1798 2006 msgstr ""
1799 2007
1800 -#: includes/modules/Mcp/McpModule.php:1263
2008 +#: includes/modules/Mcp/McpModule.php:1668
1801 2009 msgid "Signed in as"
1802 2010 msgstr ""
1803 2011
1804 -#: includes/modules/Mcp/McpModule.php:1264
2012 +#: includes/modules/Mcp/McpModule.php:1669
1805 2013 msgid "Access"
1806 2014 msgstr ""
1807 2015
1808 -#: includes/modules/Mcp/McpModule.php:1269
2016 +#: includes/modules/Mcp/McpModule.php:1674
1809 2017 msgid "Deny"
1810 2018 msgstr ""
1811 2019
1812 -#: includes/modules/Mcp/McpModule.php:1270
2020 +#: includes/modules/Mcp/McpModule.php:1675
1813 2021 msgid "Approve"
1814 2022 msgstr ""
1815 2023
1816 -#: includes/modules/Mcp/McpModule.php:1280
2024 +#: includes/modules/Mcp/McpModule.php:1685
1817 2025 msgid "Authorization error"
1818 2026 msgstr ""
1819 2027
1820 -#: includes/modules/Mcp/McpModule.php:1283
2028 +#: includes/modules/Mcp/McpModule.php:1688
1821 2029 msgid "Could not authorize"
1822 2030 msgstr ""
1823 2031
1824 -#: includes/modules/Mcp/McpModule.php:1513
2032 +#: includes/modules/Mcp/McpModule.php:1918
1825 2033 msgid "An AI assistant is connected to this site. This module counts as on whenever a connection token exists, rather than having its own on/off setting."
1826 2034 msgstr ""
1827 2035
1828 -#: includes/modules/Mcp/McpModule.php:1514
2036 +#: includes/modules/Mcp/McpModule.php:1919
1829 2037 msgid "No AI assistant is connected. This module counts as on once you connect one."
1830 2038 msgstr ""
1831 2039
1832 2040 #: includes/modules/Mcp/Mcp_Auth.php:57
@@ -1832,206 +2040,211 @@
1832 2040 #: includes/modules/Mcp/Mcp_Auth.php:57
1833 2041 msgid "Too many failed attempts. Try again later."
1834 2042 msgstr ""
1835 2043
1836 -#: includes/modules/Mcp/Mcp_Hub.php:771
2044 +#: includes/modules/Mcp/Mcp_Hub.php:871
1837 2045 msgid "Connect this site to xSpeed Hub to run a free speed test."
1838 2046 msgstr ""
1839 2047
1840 -#: includes/modules/Mcp/Mcp_Hub.php:797
2048 +#: includes/modules/Mcp/Mcp_Hub.php:897
1841 2049 msgid "Could not reach xSpeed Hub. Please try again."
1842 2050 msgstr ""
1843 2051
1844 -#: includes/modules/Mcp/Mcp_Hub.php:820
2052 +#: includes/modules/Mcp/Mcp_Hub.php:920
1845 2053 #: assets/admin.js
1846 2054 msgid "The test could not be started."
1847 2055 msgstr ""
1848 2056
1849 -#: includes/modules/Mcp/Mcp_OAuth.php:213
2057 +#: includes/modules/Mcp/Mcp_OAuth.php:261
1850 2058 msgid "Too many client registrations. Try again later."
1851 2059 msgstr ""
1852 2060
1853 2061 #. translators: %d: maximum number of redirect URIs.
1854 -#: includes/modules/Mcp/Mcp_OAuth.php:229
2062 +#: includes/modules/Mcp/Mcp_OAuth.php:277
1855 2063 #, php-format
1856 2064 msgid "At most %d redirect_uris are allowed."
1857 2065 msgstr ""
1858 2066
1859 -#: includes/modules/Mcp/Mcp_OAuth.php:241
2067 +#: includes/modules/Mcp/Mcp_OAuth.php:289
1860 2068 msgid "At least one valid redirect_uri is required."
1861 2069 msgstr ""
1862 2070
1863 -#: includes/modules/Mcp/Mcp_OAuth.php:278
2071 +#: includes/modules/Mcp/Mcp_OAuth.php:326
1864 2072 msgid "Client registration limit reached."
1865 2073 msgstr ""
1866 2074
1867 -#: includes/modules/Mcp/Mcp_OAuth.php:297
2075 +#: includes/modules/Mcp/Mcp_OAuth.php:345
1868 2076 msgid "The client registration could not be stored."
1869 2077 msgstr ""
1870 2078
1871 -#: includes/modules/Mcp/Mcp_OAuth.php:336
2079 +#: includes/modules/Mcp/Mcp_OAuth.php:384
1872 2080 msgid "Unknown client_id."
1873 2081 msgstr ""
1874 2082
1875 -#: includes/modules/Mcp/Mcp_OAuth.php:340
2083 +#: includes/modules/Mcp/Mcp_OAuth.php:388
1876 2084 msgid "redirect_uri does not match a registered value."
1877 2085 msgstr ""
1878 2086
1879 -#: includes/modules/Mcp/Mcp_OAuth.php:343
2087 +#: includes/modules/Mcp/Mcp_OAuth.php:391
1880 2088 msgid "Only response_type=code is supported."
1881 2089 msgstr ""
1882 2090
1883 -#: includes/modules/Mcp/Mcp_OAuth.php:347
2091 +#: includes/modules/Mcp/Mcp_OAuth.php:395
1884 2092 msgid "PKCE with code_challenge_method=S256 is required."
1885 2093 msgstr ""
1886 2094
1887 -#: includes/modules/Mcp/Mcp_Pairing.php:408
2095 +#: includes/modules/Mcp/Mcp_Pairing.php:474
1888 2096 msgid "No active MCP connection to change. Connect first."
1889 2097 msgstr ""
1890 2098
1891 2099 #. translators: %s: tool name.
1892 -#: includes/modules/Mcp/Mcp_Tools.php:931
2100 +#: includes/modules/Mcp/Mcp_Tools.php:988
2101 +#: includes/modules/Mcp/Mcp_Tools.php:1026
1893 2102 #, php-format
1894 2103 msgid "Unknown tool: %s"
1895 2104 msgstr ""
1896 2105
1897 2106 #. translators: %s: tool name.
1898 -#: includes/modules/Mcp/Mcp_Tools.php:959
2107 +#: includes/modules/Mcp/Mcp_Tools.php:1047
1899 2108 #, php-format
1900 2109 msgid "This MCP connection is read-only; the \"%s\" tool changes state and is not permitted. Reconnect with write access to use it."
1901 2110 msgstr ""
1902 2111
1903 2112 #. translators: %s: comma-separated list of valid purge types.
1904 -#: includes/modules/Mcp/Mcp_Tools.php:1240
2113 +#: includes/modules/Mcp/Mcp_Tools.php:1334
1905 2114 #, php-format
1906 2115 msgid "Invalid purge type. Expected one of: %s"
1907 2116 msgstr ""
1908 2117
1909 -#: includes/modules/Mcp/Mcp_Tools.php:1249
1910 -#: includes/modules/Mcp/Mcp_Tools.php:2261
2118 +#: includes/modules/Mcp/Mcp_Tools.php:1343
2119 +#: includes/modules/Mcp/Mcp_Tools.php:2355
1911 2120 msgid "AI assistant"
1912 2121 msgstr ""
1913 2122
1914 -#: includes/modules/Mcp/Mcp_Tools.php:1298
2123 +#: includes/modules/Mcp/Mcp_Tools.php:1392
1915 2124 msgid "The \"enabled\" parameter is required (true or false)."
1916 2125 msgstr ""
1917 2126
1918 -#: includes/modules/Mcp/Mcp_Tools.php:1378
1919 -#: includes/modules/Mcp/Mcp_Tools.php:1432
2127 +#: includes/modules/Mcp/Mcp_Tools.php:1472
2128 +#: includes/modules/Mcp/Mcp_Tools.php:1526
1920 2129 msgid "The \"module\" parameter is required."
1921 2130 msgstr ""
1922 2131
1923 2132 #. translators: %s: module slug.
1924 -#: includes/modules/Mcp/Mcp_Tools.php:1387
1925 -#: includes/modules/Mcp/Mcp_Tools.php:1448
2133 +#: includes/modules/Mcp/Mcp_Tools.php:1481
2134 +#: includes/modules/Mcp/Mcp_Tools.php:1542
1926 2135 #, php-format
1927 2136 msgid "Unknown module \"%s\"."
1928 2137 msgstr ""
1929 2138
1930 -#: includes/modules/Mcp/Mcp_Tools.php:1439
2139 +#: includes/modules/Mcp/Mcp_Tools.php:1533
1931 2140 msgid "The \"values\" parameter must be an object of setting keys."
1932 2141 msgstr ""
1933 2142
1934 2143 #. translators: 1: comma-separated field names, 2: module slug.
1935 -#: includes/modules/Mcp/Mcp_Tools.php:1467
2144 +#: includes/modules/Mcp/Mcp_Tools.php:1561
1936 2145 #, php-format
1937 2146 msgid "Writing credential fields (%1$s) on \"%2$s\" needs the \"configure\" scope, which is off by default. Reconnect the MCP client granting the configure scope, or set these credentials from the xSpeed dashboard."
1938 2147 msgstr ""
1939 2148
1940 2149 #. translators: %s: module slug.
1941 -#: includes/modules/Mcp/Mcp_Tools.php:1499
2150 +#: includes/modules/Mcp/Mcp_Tools.php:1593
1942 2151 #, php-format
1943 2152 msgid "Refused an MCP settings write to the Pro module \"%s\" — no valid license."
1944 2153 msgstr ""
1945 2154
1946 2155 #. translators: %s: module slug.
1947 -#: includes/modules/Mcp/Mcp_Tools.php:1509
2156 +#: includes/modules/Mcp/Mcp_Tools.php:1603
1948 2157 #, php-format
1949 2158 msgid "\"%s\" is a Pro module and this site has no active license, so the write was refused. Nothing was changed."
1950 2159 msgstr ""
1951 2160
1952 2161 #. translators: 1: setting key, 2: wp-config.php constant name.
1953 -#: includes/modules/Mcp/Mcp_Tools.php:1578
2162 +#: includes/modules/Mcp/Mcp_Tools.php:1672
1954 2163 #, php-format
1955 2164 msgid "\"%1$s\" is defined in wp-config.php as %2$s and cannot be changed here"
1956 2165 msgstr ""
1957 2166
1958 2167 #. translators: 1: setting key, 2: module slug.
1959 -#: includes/modules/Mcp/Mcp_Tools.php:1586
2168 +#: includes/modules/Mcp/Mcp_Tools.php:1680
1960 2169 #, php-format
1961 2170 msgid "\"%1$s\" is not a setting of module \"%2$s\""
1962 2171 msgstr ""
1963 2172
1964 2173 #. translators: %s: comma-separated setting names.
1965 -#: includes/modules/Mcp/Mcp_Tools.php:1598
2174 +#: includes/modules/Mcp/Mcp_Tools.php:1692
1966 2175 #, php-format
1967 2176 msgid " — did you mean: %s?"
1968 2177 msgstr ""
1969 2178
1970 2179 #. translators: %s: setting key.
1971 -#: includes/modules/Mcp/Mcp_Tools.php:1608
2180 +#: includes/modules/Mcp/Mcp_Tools.php:1702
1972 2181 #, php-format
1973 2182 msgid "\"%s\" was rejected by the schema (wrong type, or outside the allowed range/options)"
1974 2183 msgstr ""
1975 2184
1976 2185 #. translators: 1: module slug, 2: reasons.
1977 -#: includes/modules/Mcp/Mcp_Tools.php:1617
2186 +#: includes/modules/Mcp/Mcp_Tools.php:1711
1978 2187 #, php-format
1979 2188 msgid "Refused to update %1$s — nothing was written. %2$s"
1980 2189 msgstr ""
1981 2190
1982 -#: includes/modules/Mcp/Mcp_Tools.php:1653
2191 +#: includes/modules/Mcp/Mcp_Tools.php:1747
1983 2192 msgid "The \"command\" parameter is required."
1984 2193 msgstr ""
1985 2194
1986 -#: includes/modules/Mcp/Mcp_Tools.php:1704
2195 +#: includes/modules/Mcp/Mcp_Tools.php:1798
1987 2196 msgid "This preview deletes nothing. To delete what is listed, call clean_database with this confirm_token. It expires in 5 minutes and stops working if the database changes."
1988 2197 msgstr ""
1989 2198
1990 -#: includes/modules/Mcp/Mcp_Tools.php:1798
2199 +#: includes/modules/Mcp/Mcp_Tools.php:1892
1991 2200 msgid "This permanently deletes content and cannot be undone. Call scan_database first to see exactly what would be removed, then pass the confirm_token it returns."
1992 2201 msgstr ""
1993 2202
1994 -#: includes/modules/Mcp/Mcp_Tools.php:1809
2203 +#: includes/modules/Mcp/Mcp_Tools.php:1903
1995 2204 msgid "That confirm_token is unknown or has expired (they last 5 minutes). Run scan_database again and use the fresh token."
1996 2205 msgstr ""
1997 2206
1998 -#: includes/modules/Mcp/Mcp_Tools.php:1817
2207 +#: includes/modules/Mcp/Mcp_Tools.php:1911
1999 2208 msgid "The database changed since that scan, so the preview no longer describes what would be deleted. Run scan_database again and confirm against the new result."
2000 2209 msgstr ""
2001 2210
2002 -#: includes/modules/Mcp/Mcp_Tools.php:2081
2003 -#: includes/modules/Mcp/Mcp_Tools.php:2121
2211 +#: includes/modules/Mcp/Mcp_Tools.php:2175
2212 +#: includes/modules/Mcp/Mcp_Tools.php:2215
2004 2213 msgid "The enabled argument is required."
2005 2214 msgstr ""
2006 2215
2007 -#: includes/modules/Mcp/Mcp_Tools.php:2085
2008 -#: includes/modules/Mcp/Mcp_Tools.php:2125
2216 +#: includes/modules/Mcp/Mcp_Tools.php:2179
2217 +#: includes/modules/Mcp/Mcp_Tools.php:2219
2009 2218 msgid "The enabled argument must be true or false."
2010 2219 msgstr ""
2011 2220
2012 -#: includes/modules/Mcp/Mcp_Tools.php:2139
2221 +#: includes/modules/Mcp/Mcp_Tools.php:2233
2013 2222 msgid "The action argument must be \"list\" or \"clear\"."
2014 2223 msgstr ""
2015 2224
2016 -#: includes/modules/Mcp/Mcp_Tools.php:2178
2225 +#: includes/modules/Mcp/Mcp_Tools.php:2272
2017 2226 msgid "External scores are not available on this site."
2018 2227 msgstr ""
2019 2228
2020 -#: includes/modules/Mcp/Mcp_Tools.php:2259
2229 +#: includes/modules/Mcp/Mcp_Tools.php:2353
2021 2230 msgid "The url argument is required."
2022 2231 msgstr ""
2023 2232
2233 +#: includes/modules/Mcp/Mcp_Tools.php:2494
2234 +msgid "The url argument must be a page on this site, as a full http(s) URL or a path starting with /."
2235 +msgstr ""
2236 +
2024 2237 #: includes/modules/Migration/MigrationModule.php:30
2025 2238 msgid "Migration"
2026 2239 msgstr ""
2027 2240
2028 2241 #: includes/modules/Migration/MigrationModule.php:32
2029 -msgid "Import settings from WP Rocket, W3 Total Cache, or WP Super Cache."
2242 +msgid "Import settings from WP Rocket, W3 Total Cache, WP Super Cache or LiteSpeed Cache."
2030 2243 msgstr ""
2031 2244
2032 2245 #. translators: %d: number of detected caching plugins.
2033 -#: includes/modules/Migration/MigrationModule.php:210
2246 +#: includes/modules/Migration/MigrationModule.php:211
2034 2247 #, php-format
2035 2248 msgid "Migrate to %1$s — %2$d caching plugin detected"
2036 2249 msgid_plural "Migrate to %1$s — %2$d caching plugins detected"
2037 2250 msgstr[0] ""
@@ -2036,32 +2249,32 @@
2036 2249 msgid_plural "Migrate to %1$s — %2$d caching plugins detected"
2037 2250 msgstr[0] ""
2038 2251 msgstr[1] ""
2039 2252
2040 -#: includes/modules/Migration/MigrationModule.php:265
2253 +#: includes/modules/Migration/MigrationModule.php:266
2041 2254 msgid "Speed guarantee"
2042 2255 msgstr ""
2043 2256
2044 -#: includes/modules/Migration/MigrationModule.php:310
2257 +#: includes/modules/Migration/MigrationModule.php:311
2045 2258 msgid "Dismiss this notice"
2046 2259 msgstr ""
2047 2260
2048 -#: includes/modules/Migration/MigrationModule.php:331
2261 +#: includes/modules/Migration/MigrationModule.php:332
2049 2262 msgid "Guaranteed faster load times — or we'll tune it for you, free."
2050 2263 msgstr ""
2051 2264
2052 -#: includes/modules/Migration/MigrationModule.php:332
2265 +#: includes/modules/Migration/MigrationModule.php:333
2053 2266 msgid "Faster load times, without configuring anything by hand."
2054 2267 msgstr ""
2055 2268
2056 2269 #. translators: %s: brand name, e.g. xSpeed Cache.
2057 -#: includes/modules/Migration/MigrationModule.php:345
2270 +#: includes/modules/Migration/MigrationModule.php:346
2058 2271 #, php-format
2059 2272 msgid "%s imports your settings in one click, then handles caching and optimization with AI-powered control."
2060 2273 msgstr ""
2061 2274
2062 2275 #. translators: 1: detected plugin name, 2: number of settings.
2063 -#: includes/modules/Migration/MigrationModule.php:355
2276 +#: includes/modules/Migration/MigrationModule.php:356
2064 2277 #, php-format
2065 2278 msgid "%1$s detected · %2$d setting ready to import"
2066 2279 msgid_plural "%1$s detected · %2$d settings ready to import"
2067 2280 msgstr[0] ""
@@ -2066,30 +2279,30 @@
2066 2279 msgid_plural "%1$s detected · %2$d settings ready to import"
2067 2280 msgstr[0] ""
2068 2281 msgstr[1] ""
2069 2282
2070 -#: includes/modules/Migration/MigrationModule.php:375
2283 +#: includes/modules/Migration/MigrationModule.php:376
2071 2284 msgid "Prefer we handle it? Book a call"
2072 2285 msgstr ""
2073 2286
2074 2287 #. translators: %s: brand name.
2075 -#: includes/modules/Migration/MigrationModule.php:383
2288 +#: includes/modules/Migration/MigrationModule.php:384
2076 2289 #, php-format
2077 2290 msgid "Migrate to %s"
2078 2291 msgstr ""
2079 2292
2080 2293 #. translators: %s: detected plugin name.
2081 -#: includes/modules/Migration/MigrationModule.php:399
2294 +#: includes/modules/Migration/MigrationModule.php:400
2082 2295 #, php-format
2083 2296 msgid "Migrating deactivates %s"
2084 2297 msgstr ""
2085 2298
2086 -#: includes/modules/Migration/MigrationModule.php:404
2299 +#: includes/modules/Migration/MigrationModule.php:405
2087 2300 msgid "View migration details"
2088 2301 msgstr ""
2089 2302
2090 2303 #. translators: %d: number of settings imported.
2091 -#: includes/modules/Migration/MigrationModule.php:422
2304 +#: includes/modules/Migration/MigrationModule.php:423
2092 2305 #, php-format
2093 2306 msgid "imports %d setting"
2094 2307 msgid_plural "imports %d settings"
2095 2308 msgstr[0] ""
@@ -2094,323 +2307,337 @@
2094 2307 msgid_plural "imports %d settings"
2095 2308 msgstr[0] ""
2096 2309 msgstr[1] ""
2097 2310
2098 -#: includes/modules/Migration/MigrationModule.php:428
2311 +#: includes/modules/Migration/MigrationModule.php:429
2099 2312 msgid "Migrate"
2100 2313 msgstr ""
2101 2314
2102 -#: includes/modules/Migration/MigrationModule.php:548
2103 -#: includes/modules/Minify/MinifyModule.php:35
2315 +#: includes/modules/Migration/MigrationModule.php:549
2316 +#: includes/modules/Minify/MinifyModule.php:36
2104 2317 msgid "Minify"
2105 2318 msgstr ""
2106 2319
2107 -#: includes/modules/Migration/MigrationModule.php:549
2320 +#: includes/modules/Migration/MigrationModule.php:550
2108 2321 msgid "Lazy Load"
2109 2322 msgstr ""
2110 2323
2111 -#: includes/modules/Migration/MigrationModule.php:550
2324 +#: includes/modules/Migration/MigrationModule.php:551
2112 2325 #: includes/modules/Preloader/PreloaderModule.php:32
2113 2326 msgid "Preloader"
2114 2327 msgstr ""
2115 2328
2116 -#: includes/modules/Migration/MigrationModule.php:552
2329 +#: includes/modules/Migration/MigrationModule.php:553
2117 2330 #: includes/modules/ObjectCache/ObjectCacheModule.php:32
2118 2331 msgid "Object Cache"
2119 2332 msgstr ""
2120 2333
2121 -#: includes/modules/Migration/MigrationModule.php:554
2334 +#: includes/modules/Migration/MigrationModule.php:555
2122 2335 msgid "Bloat Removal"
2123 2336 msgstr ""
2124 2337
2125 -#: includes/modules/Migration/MigrationModule.php:579
2338 +#: includes/modules/Migration/MigrationModule.php:580
2126 2339 msgid "You do not have permission to migrate settings."
2127 2340 msgstr ""
2128 2341
2129 -#: includes/modules/Migration/MigrationModule.php:585
2342 +#: includes/modules/Migration/MigrationModule.php:586
2130 2343 msgid "No source selected."
2131 2344 msgstr ""
2132 2345
2133 -#: includes/modules/Migration/MigrationModule.php:617
2346 +#: includes/modules/Migration/MigrationModule.php:618
2134 2347 msgid "it could not be enabled"
2135 2348 msgstr ""
2136 2349
2137 -#: includes/modules/Migration/MigrationModule.php:702
2350 +#: includes/modules/Migration/MigrationModule.php:703
2138 2351 msgid "Migrating…"
2139 2352 msgstr ""
2140 2353
2141 -#: includes/modules/Migration/MigrationModule.php:719
2354 +#: includes/modules/Migration/MigrationModule.php:720
2142 2355 msgid "Migration failed."
2143 2356 msgstr ""
2144 2357
2145 -#: includes/modules/Migration/MigrationModule.php:722
2358 +#: includes/modules/Migration/MigrationModule.php:723
2146 2359 msgid "the source plugin"
2147 2360 msgstr ""
2148 2361
2149 -#: includes/modules/Migration/MigrationModule.php:723
2362 +#: includes/modules/Migration/MigrationModule.php:724
2150 2363 msgid "Review imported settings"
2151 2364 msgstr ""
2152 2365
2153 -#: includes/modules/Migration/MigrationModule.php:734
2154 -#: includes/modules/Migration/MigrationModule.php:745
2155 -#: includes/modules/Migration/MigrationModule.php:753
2366 +#: includes/modules/Migration/MigrationModule.php:735
2367 +#: includes/modules/Migration/MigrationModule.php:746
2368 +#: includes/modules/Migration/MigrationModule.php:754
2156 2369 msgid "settings are now running in xSpeed."
2157 2370 msgstr ""
2158 2371
2159 -#: includes/modules/Migration/MigrationModule.php:736
2160 -#: includes/modules/Migration/MigrationModule.php:746
2372 +#: includes/modules/Migration/MigrationModule.php:737
2373 +#: includes/modules/Migration/MigrationModule.php:747
2161 2374 msgid "It has been switched off, so the two page caches cannot conflict."
2162 2375 msgstr ""
2163 2376
2164 -#: includes/modules/Migration/MigrationModule.php:737
2377 +#: includes/modules/Migration/MigrationModule.php:738
2165 2378 msgid "It is still active — switch it off when you are ready."
2166 2379 msgstr ""
2167 2380
2168 -#: includes/modules/Migration/MigrationModule.php:738
2381 +#: includes/modules/Migration/MigrationModule.php:739
2169 2382 msgid "Skipped:"
2170 2383 msgstr ""
2171 2384
2172 -#: includes/modules/Migration/MigrationModule.php:754
2385 +#: includes/modules/Migration/MigrationModule.php:755
2173 2386 msgid "It is still active — running two page caches conflicts, so switch it off when you are ready."
2174 2387 msgstr ""
2175 2388
2176 -#: includes/modules/Migration/MigrationModule.php:763
2389 +#: includes/modules/Migration/MigrationModule.php:764
2177 2390 msgid "Migration could not finish."
2178 2391 msgstr ""
2179 2392
2180 -#: includes/modules/Migration/MigrationModule.php:764
2393 +#: includes/modules/Migration/MigrationModule.php:765
2181 2394 msgid "Nothing was changed — you can try again."
2182 2395 msgstr ""
2183 2396
2184 2397 #. translators: %s: source plugin label.
2185 -#: includes/modules/Migration/MigrationModule.php:997
2398 +#: includes/modules/Migration/MigrationModule.php:998
2186 2399 #, php-format
2187 2400 msgid "%s is activated across the whole network, so only a network administrator can switch it off. Your settings were imported — ask a network administrator to deactivate it."
2188 2401 msgstr ""
2189 2402
2190 2403 #. translators: %s: source plugin label.
2191 -#: includes/modules/Migration/MigrationModule.php:1002
2404 +#: includes/modules/Migration/MigrationModule.php:1003
2192 2405 #, php-format
2193 2406 msgid "Your account can change settings but not switch plugins off, so %s is still active. Your settings were imported — ask an administrator to deactivate it."
2194 2407 msgstr ""
2195 2408
2196 -#: includes/modules/Minify/MinifyModule.php:34
2409 +#: includes/modules/Minify/MinifyModule.php:35
2197 2410 msgid "CSS & JavaScript"
2198 2411 msgstr ""
2199 2412
2200 -#: includes/modules/Minify/MinifyModule.php:37
2201 -msgid "Strip whitespace and rewrite enqueued CSS / JS."
2413 +#: includes/modules/Minify/MinifyModule.php:38
2414 +msgid "Makes HTML, CSS and JavaScript files smaller and loads scripts later."
2202 2415 msgstr ""
2203 2416
2204 -#: includes/modules/Minify/MinifyModule.php:50
2417 +#: includes/modules/Minify/MinifyModule.php:52
2205 2418 msgid "Minify HTML"
2206 2419 msgstr ""
2207 2420
2208 -#: includes/modules/Minify/MinifyModule.php:55
2209 -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."
2421 +#: includes/modules/Minify/MinifyModule.php:57
2422 +msgid "Removes spaces and comments from your pages. Safe on most themes. Only logged-out visitors see it, so check in a private window."
2210 2423 msgstr ""
2211 2424
2212 -#: includes/modules/Minify/MinifyModule.php:60
2425 +#: includes/modules/Minify/MinifyModule.php:62
2213 2426 msgid "Minify CSS"
2214 2427 msgstr ""
2215 2428
2216 -#: includes/modules/Minify/MinifyModule.php:61
2217 -msgid "Compress and rewrite enqueued local stylesheets. External CSS is left untouched."
2429 +#: includes/modules/Minify/MinifyModule.php:63
2430 +msgid "Makes your site's own CSS files smaller. CSS from other domains is left alone."
2218 2431 msgstr ""
2219 2432
2220 -#: includes/modules/Minify/MinifyModule.php:66
2433 +#: includes/modules/Minify/MinifyModule.php:68
2221 2434 msgid "Minify JavaScript"
2222 2435 msgstr ""
2223 2436
2224 -#: includes/modules/Minify/MinifyModule.php:67
2225 -msgid "Compress enqueued local scripts. Disable if you hit script-loading conflicts on the frontend."
2437 +#: includes/modules/Minify/MinifyModule.php:69
2438 +msgid "Makes your site's own JavaScript files smaller. Turn off if a script on your site stops working."
2226 2439 msgstr ""
2227 2440
2228 -#: includes/modules/Minify/MinifyModule.php:72
2441 +#: includes/modules/Minify/MinifyModule.php:74
2229 2442 msgid "Defer JavaScript"
2230 2443 msgstr ""
2231 2444
2232 -#: includes/modules/Minify/MinifyModule.php:73
2233 -msgid "Add defer=\"defer\" to enqueued script tags so they execute after HTML parsing. jQuery + its hard dependencies are skipped automatically."
2445 +#: includes/modules/Minify/MinifyModule.php:75
2446 +msgid "Runs scripts after the page has loaded, so content shows sooner. jQuery and scripts that need it are skipped."
2234 2447 msgstr ""
2235 2448
2236 -#: includes/modules/Minify/MinifyModule.php:78
2237 -msgid "Delay JavaScript Until Interaction"
2449 +#: includes/modules/Minify/MinifyModule.php:80
2450 +msgid "Delay JavaScript"
2238 2451 msgstr ""
2239 2452
2240 -#: includes/modules/Minify/MinifyModule.php:79
2241 -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."
2453 +#: includes/modules/Minify/MinifyModule.php:81
2454 +msgid "Scripts load only when the visitor scrolls, taps or types. Pages show much sooner, but test menus and sliders. Cookie consent banners still load first."
2242 2455 msgstr ""
2243 2456
2244 -#: includes/modules/Minify/MinifyModule.php:84
2245 -msgid "Load CSS Asynchronously"
2457 +#: includes/modules/Minify/MinifyModule.php:86
2458 +msgid "Load CSS without blocking"
2246 2459 msgstr ""
2247 2460
2248 -#: includes/modules/Minify/MinifyModule.php:85
2249 -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."
2461 +#: includes/modules/Minify/MinifyModule.php:87
2462 +msgid "On pages that have critical CSS, the page shows before the rest of its CSS finishes loading. Pages without critical CSS keep loading their CSS normally, because deferring it makes the page show unstyled and then jump."
2250 2463 msgstr ""
2251 2464
2252 -#: includes/modules/Minify/MinifyModule.php:90
2253 -msgid "Remove Asset Query Strings"
2465 +#: includes/modules/Minify/MinifyModule.php:92
2466 +msgid "Remove version from file URLs"
2254 2467 msgstr ""
2255 2468
2256 -#: includes/modules/Minify/MinifyModule.php:91
2257 -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."
2469 +#: includes/modules/Minify/MinifyModule.php:93
2470 +msgid "Removes ?ver= from CSS and JS links, which some CDNs cache better. After a plugin update, returning visitors may keep old files until their browser cache expires."
2258 2471 msgstr ""
2259 2472
2260 -#: includes/modules/Minify/MinifyModule.php:97
2261 -msgid "Defer / Delay Exclusions"
2473 +#: includes/modules/Minify/MinifyModule.php:100
2474 +msgid "Scripts to never defer or delay"
2262 2475 msgstr ""
2263 2476
2264 -#: includes/modules/Minify/MinifyModule.php:98
2265 -msgid "Script handles OR URL substrings that skip defer + delay. Defaults exclude jQuery (most themes depend on it being available synchronously). One per line."
2477 +#: includes/modules/Minify/MinifyModule.php:101
2478 +msgid "Script handles or parts of script URLs, one per line. jQuery is listed because most themes need it early; cookie consent banners are skipped on their own."
2266 2479 msgstr ""
2267 2480
2268 -#: includes/modules/Minify/MinifyModule.php:112
2269 -msgid "Delay Only These Scripts"
2481 +#: includes/modules/Minify/MinifyModule.php:115
2482 +msgid "Delay only these scripts"
2270 2483 msgstr ""
2271 2484
2272 -#: includes/modules/Minify/MinifyModule.php:113
2273 -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."
2485 +#: includes/modules/Minify/MinifyModule.php:116
2486 +msgid "Script handles or parts of script URLs, one per line. Leave empty to delay all scripts; otherwise only these, plus known trackers and chat widgets, are delayed."
2274 2487 msgstr ""
2275 2488
2276 -#: includes/modules/Minify/MinifyModule.php:121
2277 -msgid "Delay Failsafe Timeout (ms)"
2489 +#: includes/modules/Minify/MinifyModule.php:117
2490 +msgid "Consent banners and Delay JS"
2278 2491 msgstr ""
2279 2492
2280 -#: includes/modules/Minify/MinifyModule.php:123
2281 -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."
2493 +#. translators: %s: comma-separated list of consent plugins, each followed by the word to type in parentheses.
2494 +#: includes/modules/Minify/MinifyModule.php:120
2495 +#, php-format
2496 +msgid "These consent banners load straight away, even with Delay JS on: %s. To delay one on purpose, add the word in parentheses, or the script handle, to this list. An entry that only matches part of the address, such as /plugins/ or .js, never delays a banner, and an entry in Scripts to never defer or delay always wins."
2282 2497 msgstr ""
2283 2498
2499 +#: includes/modules/Minify/MinifyModule.php:128
2500 +msgid "Smart delay"
2501 +msgstr ""
2502 +
2284 2503 #: includes/modules/Minify/MinifyModule.php:129
2285 -msgid "Combine CSS Files"
2504 +msgid "Also delays scripts that code on the page depends on, which helps page builder sites most. The riskiest setting here, so test menus and sliders."
2286 2505 msgstr ""
2287 2506
2288 -#: includes/modules/Minify/MinifyModule.php:130
2289 -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."
2507 +#: includes/modules/Minify/MinifyModule.php:137
2508 +msgid "Delay timeout (ms)"
2290 2509 msgstr ""
2291 2510
2292 -#: includes/modules/Minify/MinifyModule.php:135
2293 -msgid "Combine JavaScript Files"
2511 +#: includes/modules/Minify/MinifyModule.php:139
2512 +msgid "Load delayed scripts after this long if the visitor does nothing. Set 0 to wait for a scroll, tap or key press only."
2294 2513 msgstr ""
2295 2514
2296 -#: includes/modules/Minify/MinifyModule.php:136
2297 -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."
2515 +#: includes/modules/Minify/MinifyModule.php:146
2516 +msgid "Combine CSS files"
2298 2517 msgstr ""
2299 2518
2300 -#: includes/modules/Minify/MinifyModule.php:273
2519 +#: includes/modules/Minify/MinifyModule.php:147
2520 +msgid "Joins your site's own CSS files into one. This helps only on old HTTP/1.1 servers, so leave it off on most hosts."
2521 +msgstr ""
2522 +
2523 +#: includes/modules/Minify/MinifyModule.php:153
2524 +msgid "Combine JavaScript files"
2525 +msgstr ""
2526 +
2527 +#: includes/modules/Minify/MinifyModule.php:154
2528 +msgid "Joins your site's own scripts into one file. Turn off if a script stops working after you enable it."
2529 +msgstr ""
2530 +
2531 +#: includes/modules/Minify/MinifyModule.php:292
2301 2532 msgid "HTML minification is paused because WP_DEBUG is enabled in wp-config.php. Readable HTML is usually what you want while debugging, so xSpeed leaves the markup alone. Cached pages are served un-minified until WP_DEBUG is turned off."
2302 2533 msgstr ""
2303 2534
2304 -#: includes/modules/Minify/MinifyModule.php:274
2535 +#: includes/modules/Minify/MinifyModule.php:293
2305 2536 msgid "HTML minification is paused because a plugin or theme is returning true from the xspeed_skip_minify filter. Cached pages are served un-minified until that filter stops suppressing it."
2306 2537 msgstr ""
2307 2538
2308 -#: includes/modules/Minify/MinifyModule.php:279
2539 +#: includes/modules/Minify/MinifyModule.php:298
2309 2540 msgid "HTML minification is on but currently paused"
2310 2541 msgstr ""
2311 2542
2312 2543 #: includes/modules/ObjectCache/ObjectCacheModule.php:34
2313 -msgid "Configure a persistent object cache (Redis / Memcached) and generate a paste-ready wp-config.php snippet."
2544 +msgid "Stores database query results in Redis or Memcached so pages build faster."
2314 2545 msgstr ""
2315 2546
2316 -#: includes/modules/ObjectCache/ObjectCacheModule.php:61
2317 -msgid "Backend"
2318 -msgstr ""
2319 -
2320 2547 #: includes/modules/ObjectCache/ObjectCacheModule.php:62
2321 -msgid "Which cache server you intend to use. Affects the generated wp-config snippet."
2548 +msgid "Cache server"
2322 2549 msgstr ""
2323 2550
2324 -#: includes/modules/ObjectCache/ObjectCacheModule.php:68
2325 -msgid "Redis Host"
2551 +#: includes/modules/ObjectCache/ObjectCacheModule.php:63
2552 +msgid "The cache server your host provides. Ask your host if you are not sure."
2326 2553 msgstr ""
2327 2554
2328 2555 #: includes/modules/ObjectCache/ObjectCacheModule.php:69
2329 -msgid "Hostname or IP of the Redis server. Use 127.0.0.1 for a local socket on the same machine as PHP."
2556 +msgid "Redis host"
2330 2557 msgstr ""
2331 2558
2332 -#: includes/modules/ObjectCache/ObjectCacheModule.php:77
2333 -msgid "Redis Port"
2559 +#: includes/modules/ObjectCache/ObjectCacheModule.php:70
2560 +msgid "Address of the Redis server. Use 127.0.0.1 when Redis runs on the same server as your site."
2334 2561 msgstr ""
2335 2562
2336 -#: includes/modules/ObjectCache/ObjectCacheModule.php:78
2337 -msgid "Default Redis port is 6379."
2563 +#: includes/modules/ObjectCache/ObjectCacheModule.php:79
2564 +msgid "Redis port"
2338 2565 msgstr ""
2339 2566
2340 -#: includes/modules/ObjectCache/ObjectCacheModule.php:90
2341 -msgid "Redis User"
2567 +#: includes/modules/ObjectCache/ObjectCacheModule.php:80
2568 +msgid "The default Redis port is 6379."
2342 2569 msgstr ""
2343 2570
2344 -#: includes/modules/ObjectCache/ObjectCacheModule.php:91
2345 -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)."
2571 +#: includes/modules/ObjectCache/ObjectCacheModule.php:94
2572 +msgid "Redis username"
2346 2573 msgstr ""
2347 2574
2348 -#: includes/modules/ObjectCache/ObjectCacheModule.php:98
2349 -msgid "Redis Password"
2575 +#: includes/modules/ObjectCache/ObjectCacheModule.php:95
2576 +msgid "Only needed if your host gave you a Redis username along with the password. Leave blank otherwise."
2350 2577 msgstr ""
2351 2578
2352 -#: includes/modules/ObjectCache/ObjectCacheModule.php:99
2353 -msgid "Leave blank if your Redis server runs without auth."
2579 +#: includes/modules/ObjectCache/ObjectCacheModule.php:104
2580 +msgid "Leave blank if your Redis server has no password."
2354 2581 msgstr ""
2355 2582
2356 -#: includes/modules/ObjectCache/ObjectCacheModule.php:107
2357 -msgid "Redis Database"
2583 +#: includes/modules/ObjectCache/ObjectCacheModule.php:113
2584 +msgid "Redis database"
2358 2585 msgstr ""
2359 2586
2360 -#: includes/modules/ObjectCache/ObjectCacheModule.php:108
2361 -msgid "Redis logical DB number (0-15). Use a dedicated DB per site if Redis is shared."
2587 +#: includes/modules/ObjectCache/ObjectCacheModule.php:114
2588 +msgid "Database number, 0 to 15. If several sites share one Redis server, give each site its own number."
2362 2589 msgstr ""
2363 2590
2364 -#: includes/modules/ObjectCache/ObjectCacheModule.php:135
2365 -msgid "Memcached Host"
2591 +#: includes/modules/ObjectCache/ObjectCacheModule.php:143
2592 +msgid "Memcached host"
2366 2593 msgstr ""
2367 2594
2368 -#: includes/modules/ObjectCache/ObjectCacheModule.php:136
2369 -msgid "Used when Backend = Memcached."
2595 +#: includes/modules/ObjectCache/ObjectCacheModule.php:144
2596 +msgid "Address of the Memcached server. Use 127.0.0.1 when it runs on the same server as your site."
2370 2597 msgstr ""
2371 2598
2372 -#: includes/modules/ObjectCache/ObjectCacheModule.php:157
2373 -msgid "Memcached Port"
2599 +#: includes/modules/ObjectCache/ObjectCacheModule.php:166
2600 +msgid "Memcached port"
2374 2601 msgstr ""
2375 2602
2376 -#: includes/modules/ObjectCache/ObjectCacheModule.php:158
2377 -msgid "Default Memcached port is 11211."
2603 +#: includes/modules/ObjectCache/ObjectCacheModule.php:167
2604 +msgid "The default Memcached port is 11211."
2378 2605 msgstr ""
2379 2606
2380 -#: includes/modules/ObjectCache/ObjectCacheModule.php:184
2381 -msgid "Cache Key Prefix"
2607 +#: includes/modules/ObjectCache/ObjectCacheModule.php:195
2608 +msgid "Cache key prefix"
2382 2609 msgstr ""
2383 2610
2384 -#: includes/modules/ObjectCache/ObjectCacheModule.php:185
2385 -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."
2611 +#: includes/modules/ObjectCache/ObjectCacheModule.php:196
2612 +msgid "Leave blank and xSpeed picks a unique prefix for this site. Some managed Redis hosts, such as xCloud, give you a key to paste here, or nothing gets saved."
2386 2613 msgstr ""
2387 2614
2388 -#: includes/modules/ObjectCache/ObjectCacheModule.php:193
2389 -msgid "Connection Timeout (seconds)"
2615 +#: includes/modules/ObjectCache/ObjectCacheModule.php:206
2616 +msgid "Connection timeout (seconds)"
2390 2617 msgstr ""
2391 2618
2392 -#: includes/modules/ObjectCache/ObjectCacheModule.php:195
2393 -msgid "How long to wait for a connection. Keep low (1-2s) so a misconfigured cache never stalls the page."
2619 +#: includes/modules/ObjectCache/ObjectCacheModule.php:208
2620 +msgid "How long to wait for the cache server. Keep it at 1 or 2 seconds so a broken cache server never holds up a page."
2394 2621 msgstr ""
2395 2622
2396 -#: includes/modules/ObjectCache/ObjectCacheModule.php:201
2397 -msgid "Persistent Connections"
2623 +#: includes/modules/ObjectCache/ObjectCacheModule.php:215
2624 +msgid "Persistent connections"
2398 2625 msgstr ""
2399 2626
2400 -#: includes/modules/ObjectCache/ObjectCacheModule.php:202
2401 -msgid "Reuse the connection across PHP requests when supported. Generally a win unless the cache server complains about idle connections."
2627 +#: includes/modules/ObjectCache/ObjectCacheModule.php:216
2628 +msgid "Keep the connection open between page loads. Turn off only if your cache server reports too many idle connections."
2402 2629 msgstr ""
2403 2630
2404 -#: includes/modules/ObjectCache/ObjectCacheModule.php:998
2631 +#: includes/modules/ObjectCache/ObjectCacheModule.php:1013
2405 2632 msgid "The object cache drop-in is installed and storing data. This is measured from the running cache, not from the settings on this page."
2406 2633 msgstr ""
2407 2634
2408 -#: includes/modules/ObjectCache/ObjectCacheModule.php:1001
2635 +#: includes/modules/ObjectCache/ObjectCacheModule.php:1016
2409 2636 msgid "The drop-in is installed but is not storing anything, so this counts as off. Check the connection settings below."
2410 2637 msgstr ""
2411 2638
2412 -#: includes/modules/ObjectCache/ObjectCacheModule.php:1003
2639 +#: includes/modules/ObjectCache/ObjectCacheModule.php:1018
2413 2640 msgid "No object cache is running. Entering a host below does not switch it on by itself -- the drop-in has to be installed and connect successfully."
2414 2641 msgstr ""
2415 2642
2416 2643 #: includes/modules/Preloader/PreloaderModule.php:33
@@ -2417,63 +2644,85 @@
2417 2644 msgid "Crawl Now"
2418 2645 msgstr ""
2419 2646
2420 2647 #: includes/modules/Preloader/PreloaderModule.php:35
2421 -msgid "Crawl the sitemap to warm cache so visitors never hit a cold MISS."
2648 +msgid "Visits your pages ahead of time so visitors get fast cached pages."
2422 2649 msgstr ""
2423 2650
2424 -#: includes/modules/Preloader/PreloaderModule.php:48
2425 -msgid "Enable Preloader"
2651 +#: includes/modules/Preloader/PreloaderModule.php:62
2652 +msgid "Your server is blocking the xSpeed cache warmer"
2426 2653 msgstr ""
2427 2654
2428 -#: includes/modules/Preloader/PreloaderModule.php:49
2429 -msgid "When on, xSpeed crawls the sitemap on the schedule below and warms the page cache."
2655 +#. translators: 1: HTTP status code, 2: the user-agent xSpeed sends.
2656 +#: includes/modules/Preloader/PreloaderModule.php:65
2657 +#, php-format
2658 +msgid "A warm request was refused with HTTP %1$d, which is how a firewall answers when it judges a request by its user-agent. Pages are not being warmed, so the first visitor to each new page waits for an uncached render. Allow the user-agent \"%2$s\" in your server's bad-bot rules — on xCloud this is the 8G firewall — or change it with the xspeed_preloader_user_agent filter. This notice clears itself once a warm gets through."
2430 2659 msgstr ""
2431 2660
2432 -#: includes/modules/Preloader/PreloaderModule.php:61
2661 +#: includes/modules/Preloader/PreloaderModule.php:79
2662 +msgid "xSpeed visits every page in your sitemap on the schedule below, so each page is cached before a visitor asks for it."
2663 +msgstr ""
2664 +
2665 +#: includes/modules/Preloader/PreloaderModule.php:91
2433 2666 msgid "Schedule"
2434 2667 msgstr ""
2435 2668
2436 -#: includes/modules/Preloader/PreloaderModule.php:62
2437 -msgid "How often to start a fresh crawl. Manual means you trigger it from the dashboard."
2669 +#: includes/modules/Preloader/PreloaderModule.php:92
2670 +msgid "How often to visit all pages again. Manual means you start it from the dashboard."
2438 2671 msgstr ""
2439 2672
2440 -#: includes/modules/Preloader/PreloaderModule.php:70
2441 -msgid "Batch Size"
2673 +#: includes/modules/Preloader/PreloaderModule.php:100
2674 +msgid "Pages per run"
2442 2675 msgstr ""
2443 2676
2444 -#: includes/modules/Preloader/PreloaderModule.php:71
2445 -msgid "URLs warmed per cron tick. Higher = faster crawl, more load on the origin."
2677 +#: includes/modules/Preloader/PreloaderModule.php:101
2678 +msgid "How many pages are cached on each run. A higher number finishes sooner but puts more load on your server."
2446 2679 msgstr ""
2447 2680
2448 -#: includes/modules/Preloader/PreloaderModule.php:77
2681 +#: includes/modules/Preloader/PreloaderModule.php:108
2449 2682 msgid "Sitemap URL (optional)"
2450 2683 msgstr ""
2451 2684
2452 -#: includes/modules/Preloader/PreloaderModule.php:78
2453 -msgid "Override the auto-detected WordPress core sitemap (/wp-sitemap.xml). Leave blank for default."
2685 +#: includes/modules/Preloader/PreloaderModule.php:109
2686 +msgid "Use a different sitemap than the WordPress one (/wp-sitemap.xml). Leave blank for the default."
2454 2687 msgstr ""
2455 2688
2456 -#: includes/modules/Preloader/PreloaderModule.php:84
2689 +#: includes/modules/Preloader/PreloaderModule.php:115
2457 2690 msgid "Warm new content immediately"
2458 2691 msgstr ""
2459 2692
2460 -#: includes/modules/Preloader/PreloaderModule.php:85
2461 -msgid "When a post or page is published, fetch it once so the first visitor sees a cache HIT, not a cold MISS."
2693 +#: includes/modules/Preloader/PreloaderModule.php:116
2694 +msgid "Cache a post or page as soon as you publish it, so the first visitor gets the fast cached page."
2462 2695 msgstr ""
2463 2696
2464 -#: includes/modules/Preloader/PreloaderModule.php:91
2697 +#: includes/modules/Preloader/PreloaderModule.php:122
2465 2698 msgid "Re-warm after comments"
2466 2699 msgstr ""
2467 2700
2468 -#: includes/modules/Preloader/PreloaderModule.php:92
2469 -msgid "Re-warm a page after a comment is posted (Cache purges the page on comment; this fetches it back into cache)."
2701 +#: includes/modules/Preloader/PreloaderModule.php:123
2702 +msgid "A new comment clears the page from the cache. This caches the page again right away."
2470 2703 msgstr ""
2471 2704
2472 -#: includes/modules/Preloader/PreloaderModule.php:268
2705 +#: includes/modules/Preloader/PreloaderModule.php:299
2473 2706 msgid "Enable the preloader before starting a crawl."
2474 2707 msgstr ""
2475 2708
2709 +#: includes/modules/Privacy/PrivacyModule.php:47
2710 +msgid "Privacy & usage data"
2711 +msgstr ""
2712 +
2713 +#: includes/modules/Privacy/PrivacyModule.php:49
2714 +msgid "Change the usage data choice you made in the setup wizard."
2715 +msgstr ""
2716 +
2717 +#: includes/modules/Privacy/PrivacyModule.php:59
2718 +msgid "Share usage data"
2719 +msgstr ""
2720 +
2721 +#: includes/modules/Privacy/PrivacyModule.php:60
2722 +msgid "Sends your WordPress and PHP versions, theme, plugins, server type and the features you use, never page content. Turn it off to stop all sending."
2723 +msgstr ""
2724 +
2476 2725 #: includes/modules/ResourceHints/ResourceHintsModule.php:60
2477 2726 msgid "Resource Hints"
2478 2727 msgstr ""
2479 2728
@@ -2481,143 +2730,142 @@
2481 2730 msgid "Hints"
2482 2731 msgstr ""
2483 2732
2484 2733 #: includes/modules/ResourceHints/ResourceHintsModule.php:63
2485 -msgid "Preload the LCP hero image and preconnect to font hosts so the largest element paints sooner."
2734 +msgid "Tells the browser to fetch the main image and fonts early."
2486 2735 msgstr ""
2487 2736
2488 -#: includes/modules/ResourceHints/ResourceHintsModule.php:77
2489 -msgid "Enable Resource Hints"
2490 -msgstr ""
2491 -
2492 2737 #: includes/modules/ResourceHints/ResourceHintsModule.php:78
2493 -msgid "Master switch for the LCP-image preload + preconnect resource hints. On by default — these are safe, no-config optimizations that help every theme."
2738 +msgid "Enable resource hints"
2494 2739 msgstr ""
2495 2740
2496 -#: includes/modules/ResourceHints/ResourceHintsModule.php:83
2497 -msgid "Preload LCP Image"
2741 +#: includes/modules/ResourceHints/ResourceHintsModule.php:79
2742 +msgid "Turns on all the hints below. They are safe on every theme, so this is on by default."
2498 2743 msgstr ""
2499 2744
2500 2745 #: includes/modules/ResourceHints/ResourceHintsModule.php:84
2501 -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."
2746 +msgid "Preload the main image"
2502 2747 msgstr ""
2503 2748
2504 -#: includes/modules/ResourceHints/ResourceHintsModule.php:91
2505 -msgid "Images to Preload"
2749 +#: includes/modules/ResourceHints/ResourceHintsModule.php:85
2750 +msgid "Finds the largest image at the top of the page and tells the browser to fetch it first. This usually gives the biggest LCP gain."
2506 2751 msgstr ""
2507 2752
2508 -#: includes/modules/ResourceHints/ResourceHintsModule.php:92
2509 -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."
2753 +#: includes/modules/ResourceHints/ResourceHintsModule.php:93
2754 +msgid "Images to preload"
2510 2755 msgstr ""
2511 2756
2512 -#: includes/modules/ResourceHints/ResourceHintsModule.php:98
2513 -msgid "Exclude From Preload"
2757 +#: includes/modules/ResourceHints/ResourceHintsModule.php:94
2758 +msgid "How many images at the top of the page to preload. 1 suits most sites; raise it only if the top shows a small gallery."
2514 2759 msgstr ""
2515 2760
2516 -#: includes/modules/ResourceHints/ResourceHintsModule.php:99
2517 -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."
2761 +#: includes/modules/ResourceHints/ResourceHintsModule.php:102
2762 +msgid "Excluded from preload"
2518 2763 msgstr ""
2519 2764
2520 -#: includes/modules/ResourceHints/ResourceHintsModule.php:105
2521 -msgid "Always Preload These Images"
2765 +#: includes/modules/ResourceHints/ResourceHintsModule.php:103
2766 +msgid "Images whose tag contains a line here, such as a file name or class, are never picked as the main image. Useful for tracking pixels and spacers."
2522 2767 msgstr ""
2523 2768
2524 -#: includes/modules/ResourceHints/ResourceHintsModule.php:106
2525 -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."
2769 +#: includes/modules/ResourceHints/ResourceHintsModule.php:110
2770 +msgid "Always preload these images"
2526 2771 msgstr ""
2527 2772
2528 2773 #: includes/modules/ResourceHints/ResourceHintsModule.php:111
2529 -msgid "Preconnect to Font Hosts"
2774 +msgid "Image URLs to fetch first on every page, such as a hero background set in CSS. Keep it to one or two; only the first three are used."
2530 2775 msgstr ""
2531 2776
2532 -#: includes/modules/ResourceHints/ResourceHintsModule.php:112
2533 -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."
2777 +#: includes/modules/ResourceHints/ResourceHintsModule.php:117
2778 +msgid "Connect early to Google Fonts"
2534 2779 msgstr ""
2535 2780
2536 2781 #: includes/modules/ResourceHints/ResourceHintsModule.php:118
2537 -msgid "Extra Preconnect Hosts"
2782 +msgid "When the page uses Google Fonts, the browser connects to Google's servers early, so fonts arrive sooner."
2538 2783 msgstr ""
2539 2784
2540 -#: includes/modules/ResourceHints/ResourceHintsModule.php:119
2541 -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."
2785 +#: includes/modules/ResourceHints/ResourceHintsModule.php:125
2786 +msgid "Other domains to connect early"
2542 2787 msgstr ""
2543 2788
2789 +#: includes/modules/ResourceHints/ResourceHintsModule.php:126
2790 +msgid "One address per line, such as https://cdn.example.com. Use for a CDN or other domain that serves files at the top of the page."
2791 +msgstr ""
2792 +
2544 2793 #: includes/modules/Score/ScoreModule.php:58
2545 2794 msgid "Speed Test"
2546 2795 msgstr ""
2547 2796
2548 2797 #: includes/modules/Score/ScoreModule.php:64
2549 -msgid "Run a PageSpeed Insights or GTmetrix audit from the dashboard and keep the history next to your TTFB benchmark."
2798 +msgid "Run a PageSpeed Insights or GTmetrix test and keep a history of the scores."
2550 2799 msgstr ""
2551 2800
2552 -#: includes/modules/Score/ScoreModule.php:77
2801 +#: includes/modules/Score/ScoreModule.php:78
2553 2802 msgid "Allow speed tests"
2554 2803 msgstr ""
2555 2804
2556 -#: includes/modules/Score/ScoreModule.php:83
2557 -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."
2805 +#: includes/modules/Score/ScoreModule.php:84
2806 +msgid "Turns on the first time you run a speed test. Switch it off and no feature, not even an optimize run, contacts a test provider."
2558 2807 msgstr ""
2559 2808
2560 -#: includes/modules/Score/ScoreModule.php:98
2561 -#: assets/admin.js
2562 -msgid "Provider"
2809 +#: includes/modules/Score/ScoreModule.php:99
2810 +msgid "Test provider"
2563 2811 msgstr ""
2564 2812
2565 -#: includes/modules/Score/ScoreModule.php:99
2566 -msgid "PageSpeed Insights works without an API key. GTmetrix requires one."
2813 +#: includes/modules/Score/ScoreModule.php:100
2814 +msgid "PageSpeed Insights works without an API key. GTmetrix needs one."
2567 2815 msgstr ""
2568 2816
2569 -#: includes/modules/Score/ScoreModule.php:104
2817 +#: includes/modules/Score/ScoreModule.php:105
2570 2818 msgid "PageSpeed API key (optional)"
2571 2819 msgstr ""
2572 2820
2573 -#: includes/modules/Score/ScoreModule.php:105
2574 -msgid "Only needed if you hit Google's anonymous rate limit. Free from cloud.google.com."
2821 +#: includes/modules/Score/ScoreModule.php:106
2822 +msgid "Only needed if Google starts refusing tests without a key. You can get a free key at cloud.google.com."
2575 2823 msgstr ""
2576 2824
2577 -#: includes/modules/Score/ScoreModule.php:117
2825 +#: includes/modules/Score/ScoreModule.php:119
2578 2826 msgid "GTmetrix API key"
2579 2827 msgstr ""
2580 2828
2581 -#: includes/modules/Score/ScoreModule.php:118
2582 -msgid "Required — GTmetrix has no anonymous mode. Found in your GTmetrix account settings."
2829 +#: includes/modules/Score/ScoreModule.php:120
2830 +msgid "GTmetrix does not run tests without a key. Find it in your GTmetrix account settings."
2583 2831 msgstr ""
2584 2832
2585 -#: includes/modules/Score/ScoreModule.php:127
2833 +#: includes/modules/Score/ScoreModule.php:129
2586 2834 msgid "URL to test"
2587 2835 msgstr ""
2588 2836
2589 -#: includes/modules/Score/ScoreModule.php:128
2837 +#: includes/modules/Score/ScoreModule.php:130
2590 2838 msgid "Leave empty to test your home page."
2591 2839 msgstr ""
2592 2840
2593 -#: includes/modules/Score/ScoreModule.php:134
2594 -msgid "Strategy"
2841 +#: includes/modules/Score/ScoreModule.php:136
2842 +msgid "Device"
2595 2843 msgstr ""
2596 2844
2597 -#: includes/modules/Score/ScoreModule.php:135
2598 -msgid "PageSpeed Insights only. Mobile is what Google ranks on."
2845 +#: includes/modules/Score/ScoreModule.php:137
2846 +msgid "Test as a phone or a desktop visitor. Google ranks sites on the mobile result."
2599 2847 msgstr ""
2600 2848
2601 -#: includes/modules/Score/ScoreModule.php:334
2602 -#: includes/modules/Score/ScoreModule.php:380
2849 +#: includes/modules/Score/ScoreModule.php:336
2850 +#: includes/modules/Score/ScoreModule.php:382
2603 2851 msgid "Hub-run speed tests are not enabled on this site."
2604 2852 msgstr ""
2605 2853
2606 -#: includes/modules/Score/ScoreModule.php:443
2854 +#: includes/modules/Score/ScoreModule.php:445
2607 2855 msgid "No URL to test."
2608 2856 msgstr ""
2609 2857
2610 -#: includes/modules/Score/ScoreModule.php:540
2858 +#: includes/modules/Score/ScoreModule.php:542
2611 2859 msgid "xSpeed Hub accepted the test but returned no run id. Please try again."
2612 2860 msgstr ""
2613 2861
2614 -#: includes/modules/Score/ScoreModule.php:619
2862 +#: includes/modules/Score/ScoreModule.php:621
2615 2863 msgid "The audit did not produce a result."
2616 2864 msgstr ""
2617 2865
2618 2866 #. translators: %s: module slug.
2619 -#: includes/modules/Settings/SettingsModule.php:320
2867 +#: includes/modules/Settings/SettingsModule.php:324
2620 2868 #, php-format
2621 2869 msgid "Refused a CLI settings write to the Pro module \"%s\" — no valid license."
2622 2870 msgstr ""
2623 2871
@@ -2628,16 +2876,56 @@
2628 2876 #: includes/modules/Support/SupportModule.php:30
2629 2877 msgid "Open a support ticket with a one-click system snapshot already attached."
2630 2878 msgstr ""
2631 2879
2632 -#: includes/modules/Support/SupportModule.php:40
2880 +#: includes/modules/Support/SupportModule.php:41
2633 2881 msgid "Support URL"
2634 2882 msgstr ""
2635 2883
2636 -#: includes/modules/Support/SupportModule.php:41
2637 -msgid "Where the \"Open ticket\" button takes the user."
2884 +#: includes/modules/Support/SupportModule.php:42
2885 +msgid "The page the \"Open ticket\" button opens. Leave the default to reach xSpeed support."
2638 2886 msgstr ""
2639 2887
2888 +#: includes/modules/TurboRender/TurboRenderModule.php:89
2889 +msgid "Turbo Render"
2890 +msgstr ""
2891 +
2892 +#: includes/modules/TurboRender/TurboRenderModule.php:91
2893 +msgid "Shows the top of each page first and the rest as visitors scroll."
2894 +msgstr ""
2895 +
2896 +#: includes/modules/TurboRender/TurboRenderModule.php:101
2897 +msgid "Render as visitors scroll"
2898 +msgstr ""
2899 +
2900 +#: includes/modules/TurboRender/TurboRenderModule.php:102
2901 +msgid "The browser draws what visitors see first and draws lower sections just before they scroll to them. Your content does not change."
2902 +msgstr ""
2903 +
2904 +#: includes/modules/TurboRender/TurboRenderModule.php:109
2905 +msgid "Sections to render immediately"
2906 +msgstr ""
2907 +
2908 +#: includes/modules/TurboRender/TurboRenderModule.php:110
2909 +msgid "How many sections at the top are drawn right away. The default of 2 suits most pages; raise it if a section near the top appears late."
2910 +msgstr ""
2911 +
2912 +#: includes/modules/TurboRender/TurboRenderModule.php:116
2913 +msgid "Section classes"
2914 +msgstr ""
2915 +
2916 +#: includes/modules/TurboRender/TurboRenderModule.php:117
2917 +msgid "CSS classes that mark a section. The defaults cover the main page builders, and other themes are detected on their own."
2918 +msgstr ""
2919 +
2920 +#: includes/modules/TurboRender/TurboRenderModule.php:124
2921 +msgid "Excluded classes"
2922 +msgstr ""
2923 +
2924 +#: includes/modules/TurboRender/TurboRenderModule.php:125
2925 +msgid "Sections with any of these classes are always drawn right away. Add one here if part of a section gets cut off where it overlaps the next."
2926 +msgstr ""
2927 +
2640 2928 #: xspeed.php:220
2641 2929 msgid "is missing files and could not start, so no new pages are being cached. Pages already in the cache are still being served, and while the plugin is in this state nothing clears them automatically. Deactivating xSpeed empties the cache; reinstalling the plugin restores it. Deactivating alone will not repair the installation."
2642 2930 msgstr ""
2643 2931
@@ -2664,8 +2952,13 @@
2664 2952 #: assets/admin.js
2665 2953 msgid "%s currently owns the page-cache file. xSpeed will replace it and serve the cached pages itself."
2666 2954 msgstr ""
2667 2955
2956 +#. Source: src/components/purgeOutcome.ts:45
2957 +#: assets/admin.js
2958 +msgid "%s: %s"
2959 +msgstr ""
2960 +
2668 2961 #. Source: src/components/health/HealthCard.tsx:172
2669 2962 #: assets/admin.js
2670 2963 msgid "24-hour cache request volume"
2671 2964 msgstr ""
@@ -2679,9 +2972,9 @@
2679 2972 #: assets/admin.js
2680 2973 msgid "7 days"
2681 2974 msgstr ""
2682 2975
2683 -#. Source: src/components/score/ScanCard.tsx:185
2976 +#. Source: src/components/score/ScanCard.tsx:197
2684 2977 #: assets/admin.js
2685 2978 msgid "A full graded report: Core Web Vitals, caching, assets and platform."
2686 2979 msgstr ""
2687 2980
@@ -2689,9 +2982,9 @@
2689 2982 #: assets/admin.js
2690 2983 msgid "A key is saved. Type to replace it; use ✕ to remove it."
2691 2984 msgstr ""
2692 2985
2693 -#. Source: src/components/cache/CacheHero.tsx:243
2986 +#. Source: src/components/cache/CacheHero.tsx:245
2694 2987 #: assets/admin.js
2695 2988 msgid "Absorbed"
2696 2989 msgstr ""
2697 2990
@@ -2700,9 +2993,9 @@
2700 2993 msgid "Action"
2701 2994 msgstr ""
2702 2995
2703 2996 #. Source: src/components/Sidebar.tsx:424
2704 -#. Source: src/components/Sidebar.tsx:442
2997 +#. Source: src/components/Sidebar.tsx:445
2705 2998 #. Source: src/upsell/ProOverview.tsx:73
2706 2999 #: assets/admin.js
2707 3000 msgid "Activate License"
2708 3001 msgstr ""
@@ -2707,10 +3000,10 @@
2707 3000 msgid "Activate License"
2708 3001 msgstr ""
2709 3002
2710 3003 #. Source: src/upsell/LockedPanel.tsx:104
2711 -#. Source: src/upsell/LockedSection.tsx:87
2712 -#. Source: src/upsell/ProDemo.tsx:91
3004 +#. Source: src/upsell/LockedSection.tsx:88
3005 +#. Source: src/upsell/ProDemo.tsx:92
2713 3006 #: assets/admin.js
2714 3007 msgid "Activate your license"
2715 3008 msgstr ""
2716 3009
@@ -2724,9 +3017,9 @@
2724 3017 #: assets/admin.js
2725 3018 msgid "Add site form"
2726 3019 msgstr ""
2727 3020
2728 -#. Source: src/components/cache/StatDrilldown.tsx:197
3021 +#. Source: src/components/cache/StatDrilldown.tsx:192
2729 3022 #: assets/admin.js
2730 3023 msgid "Address not recorded"
2731 3024 msgstr ""
2732 3025
@@ -2734,9 +3027,9 @@
2734 3027 #: assets/admin.js
2735 3028 msgid "After"
2736 3029 msgstr ""
2737 3030
2738 -#. Source: src/components/cache/StatDrilldown.tsx:168
3031 +#. Source: src/components/cache/StatDrilldown.tsx:163
2739 3032 #: assets/admin.js
2740 3033 msgid "Age"
2741 3034 msgstr ""
2742 3035
@@ -2751,14 +3044,24 @@
2751 3044 #: assets/admin.js
2752 3045 msgid "AI connection active"
2753 3046 msgstr ""
2754 3047
2755 -#. Source: src/components/overview/Recommendations.tsx:181
3048 +#. Source: src/components/TopBar.tsx:175
2756 3049 #: assets/admin.js
3050 +msgid "Already empty"
3051 +msgstr ""
3052 +
3053 +#. Source: src/components/purgeOutcome.ts:57
3054 +#: assets/admin.js
3055 +msgid "Also cleared: %s."
3056 +msgstr ""
3057 +
3058 +#. Source: src/components/overview/Recommendations.tsx:184
3059 +#: assets/admin.js
2757 3060 msgid "Also worth a look"
2758 3061 msgstr ""
2759 3062
2760 -#. Source: src/components/cache/CacheHero.tsx:236
3063 +#. Source: src/components/cache/CacheHero.tsx:231
2761 3064 #: assets/admin.js
2762 3065 msgid "An edge cache (Cloudflare) is in front, so this hit ratio is origin-layer only — hits served at the edge never reach the origin and aren’t counted here."
2763 3066 msgstr ""
2764 3067
@@ -2797,24 +3100,29 @@
2797 3100 #: assets/admin.js
2798 3101 msgid "Apply"
2799 3102 msgstr ""
2800 3103
3104 +#. Source: src/components/score/ScanCard.tsx:84
3105 +#: assets/admin.js
3106 +msgid "Assets"
3107 +msgstr ""
3108 +
2801 3109 #. Source: src/upsell/ProAudit.tsx:46
2802 3110 #: assets/admin.js
2803 3111 msgid "Audit failed"
2804 3112 msgstr ""
2805 3113
2806 -#. Source: src/components/cache/StatDrilldown.tsx:330
3114 +#. Source: src/components/cache/StatDrilldown.tsx:325
2807 3115 #: assets/admin.js
2808 3116 msgid "Automatic cleanup has not run yet — first sweep in %s."
2809 3117 msgstr ""
2810 3118
2811 -#. Source: src/components/cache/StatDrilldown.tsx:322
3119 +#. Source: src/components/cache/StatDrilldown.tsx:317
2812 3120 #: assets/admin.js
2813 3121 msgid "Automatic cleanup ran %1$s ago — %2$d file(s) removed, %3$d in total."
2814 3122 msgstr ""
2815 3123
2816 -#. Source: src/components/overview/MetricGrid.tsx:47
3124 +#. Source: src/components/overview/MetricGrid.tsx:57
2817 3125 #: assets/admin.js
2818 3126 msgid "Avg saved"
2819 3127 msgstr ""
2820 3128
@@ -2827,34 +3135,34 @@
2827 3135 #: assets/admin.js
2828 3136 msgid "Benchmark failed"
2829 3137 msgstr ""
2830 3138
2831 -#. Source: src/components/cache/TrendCharts.tsx:258
3139 +#. Source: src/components/cache/TrendCharts.tsx:263
2832 3140 #: assets/admin.js
2833 3141 msgid "Benchmark trend"
2834 3142 msgstr ""
2835 3143
2836 -#. Source: src/components/cache/TrendCharts.tsx:134
3144 +#. Source: src/components/cache/TrendCharts.tsx:139
2837 3145 #: assets/admin.js
2838 3146 msgid "Benchmark: cached vs uncached (ms)"
2839 3147 msgstr ""
2840 3148
2841 -#. Source: src/components/overview/Recommendations.tsx:230
3149 +#. Source: src/components/overview/Recommendations.tsx:233
2842 3150 #: assets/admin.js
2843 3151 msgid "Book"
2844 3152 msgstr ""
2845 3153
2846 -#. Source: src/components/overview/Recommendations.tsx:221
3154 +#. Source: src/components/overview/Recommendations.tsx:224
2847 3155 #: assets/admin.js
2848 3156 msgid "Book a free setup review with our team."
2849 3157 msgstr ""
2850 3158
2851 -#. Source: src/components/cache/CacheHero.tsx:247
3159 +#. Source: src/components/cache/CacheHero.tsx:249
2852 3160 #: assets/admin.js
2853 -msgid "bot / 404 requests in 24h — excluded from the hit ratio."
3161 +msgid "bot, 404 and cache-warming requests in 24h — excluded from the hit ratio."
2854 3162 msgstr ""
2855 3163
2856 -#. Source: src/components/TopBar.tsx:77
3164 +#. Source: src/components/TopBar.tsx:81
2857 3165 #: assets/admin.js
2858 3166 msgid "Breadcrumb"
2859 3167 msgstr ""
2860 3168
@@ -2862,15 +3170,34 @@
2862 3170 #: assets/admin.js
2863 3171 msgid "Browse all"
2864 3172 msgstr ""
2865 3173
2866 -#. Source: src/components/sidebarGroups.ts:69
3174 +#. Source: src/components/sidebarGroups.ts:79
2867 3175 #: assets/admin.js
2868 3176 msgid "Cache"
2869 3177 msgstr ""
2870 3178
2871 -#. Source: src/App.tsx:309
3179 +#. Source: src/components/purgeOutcome.ts:84
2872 3180 #: assets/admin.js
3181 +msgid "Cache cleared: %d file (%s)."
3182 +msgid_plural "Cache cleared: %d files (%s)."
3183 +msgstr[0] ""
3184 +msgstr[1] ""
3185 +
3186 +#. Source: src/components/purgeOutcome.ts:91
3187 +#: assets/admin.js
3188 +msgid "Cache cleared: %d file."
3189 +msgid_plural "Cache cleared: %d files."
3190 +msgstr[0] ""
3191 +msgstr[1] ""
3192 +
3193 +#. Source: src/components/purgeOutcome.ts:80
3194 +#: assets/admin.js
3195 +msgid "Cache cleared."
3196 +msgstr ""
3197 +
3198 +#. Source: src/App.tsx:331
3199 +#: assets/admin.js
2873 3200 msgid "Cache could not be enabled."
2874 3201 msgstr ""
2875 3202
2876 3203 #. Source: src/components/health/HealthHero.tsx:28
@@ -2877,19 +3204,19 @@
2877 3204 #: assets/admin.js
2878 3205 msgid "Cache coverage"
2879 3206 msgstr ""
2880 3207
2881 -#. Source: src/App.tsx:321
3208 +#. Source: src/App.tsx:343
2882 3209 #: assets/admin.js
2883 3210 msgid "Cache disabled"
2884 3211 msgstr ""
2885 3212
2886 -#. Source: src/App.tsx:321
3213 +#. Source: src/App.tsx:343
2887 3214 #: assets/admin.js
2888 3215 msgid "Cache enabled"
2889 3216 msgstr ""
2890 3217
2891 -#. Source: src/App.tsx:315
3218 +#. Source: src/App.tsx:337
2892 3219 #: assets/admin.js
2893 3220 msgid "Cache enabled, but nothing will be cached until WP_CACHE is added to wp-config.php — copy the line from Health."
2894 3221 msgstr ""
2895 3222
@@ -2922,15 +3249,20 @@
2922 3249 #: assets/admin.js
2923 3250 msgid "Cache optimized"
2924 3251 msgstr ""
2925 3252
2926 -#. Source: src/App.tsx:339
3253 +#. Source: src/components/purgeOutcome.ts:53
2927 3254 #: assets/admin.js
3255 +msgid "Cache partly cleared."
3256 +msgstr ""
3257 +
3258 +#. Source: src/components/purgeOutcome.ts:29
3259 +#: assets/admin.js
2928 3260 msgid "Cache purged"
2929 3261 msgstr ""
2930 3262
2931 3263 #. Source: src/components/health/HealthHero.tsx:30
2932 -#. Source: src/components/overview/MetricGrid.tsx:46
3264 +#. Source: src/components/overview/MetricGrid.tsx:56
2933 3265 #: assets/admin.js
2934 3266 msgid "Cache size"
2935 3267 msgstr ""
2936 3268
@@ -2943,16 +3275,16 @@
2943 3275 #: assets/admin.js
2944 3276 msgid "Cache, compression & more"
2945 3277 msgstr ""
2946 3278
2947 -#. Source: src/components/cache/TrendCharts.tsx:270
3279 +#. Source: src/components/cache/TrendCharts.tsx:275
2948 3280 #: assets/admin.js
2949 3281 msgid "cached"
2950 3282 msgstr ""
2951 3283
2952 -#. Source: src/components/cache/StatDrilldown.tsx:145
3284 +#. Source: src/components/cache/StatDrilldown.tsx:140
2953 3285 #. Source: src/components/health/HealthHero.tsx:29
2954 -#. Source: src/components/overview/MetricGrid.tsx:45
3286 +#. Source: src/components/overview/MetricGrid.tsx:55
2955 3287 #: assets/admin.js
2956 3288 msgid "Cached pages"
2957 3289 msgstr ""
2958 3290
@@ -2971,14 +3303,14 @@
2971 3303 msgid "Caching — loading"
2972 3304 msgstr ""
2973 3305
2974 3306 #. Source: src/components/CacheSwitch.tsx:261
2975 -#. Source: src/components/cache/CacheHero.tsx:182
3307 +#. Source: src/components/cache/CacheHero.tsx:177
2976 3308 #: assets/admin.js
2977 3309 msgid "Cancel"
2978 3310 msgstr ""
2979 3311
2980 -#. Source: src/components/sidebarGroups.ts:85
3312 +#. Source: src/components/sidebarGroups.ts:95
2981 3313 #: assets/admin.js
2982 3314 msgid "CDN and Cloudflare edge delivery."
2983 3315 msgstr ""
2984 3316
@@ -3011,8 +3343,18 @@
3011 3343 #: assets/admin.js
3012 3344 msgid "Clear"
3013 3345 msgstr ""
3014 3346
3347 +#. Source: src/components/TopBar.tsx:173
3348 +#: assets/admin.js
3349 +msgid "Cleared"
3350 +msgstr ""
3351 +
3352 +#. Source: src/components/purgeOutcome.ts:62
3353 +#: assets/admin.js
3354 +msgid "Cleared: %s."
3355 +msgstr ""
3356 +
3015 3357 #. Source: src/components/cache/CacheBenchmark.tsx:126
3016 3358 #: assets/admin.js
3017 3359 msgid "Click \"Run benchmark\" to compare load times."
3018 3360 msgstr ""
@@ -3063,10 +3405,15 @@
3063 3405 #: assets/admin.js
3064 3406 msgid "Connect"
3065 3407 msgstr ""
3066 3408
3067 -#. Source: src/components/TopBar.tsx:142
3409 +#. Source: src/components/sidebarGroups.ts:120
3068 3410 #: assets/admin.js
3411 +msgid "Connect an AI agent to this site, and control what AI features may use."
3412 +msgstr ""
3413 +
3414 +#. Source: src/components/TopBar.tsx:138
3415 +#: assets/admin.js
3069 3416 msgid "Connect Hub"
3070 3417 msgstr ""
3071 3418
3072 3419 #. Source: src/components/score/ConnectHubModal.tsx:113
@@ -3129,9 +3476,9 @@
3129 3476 #: assets/admin.js
3130 3477 msgid "Connected to xSpeed Hub"
3131 3478 msgstr ""
3132 3479
3133 -#. Source: src/components/score/ScanCard.tsx:221
3480 +#. Source: src/components/score/ScanCard.tsx:233
3134 3481 #: assets/admin.js
3135 3482 msgid "Connected to xSpeed Hub — this report stays unlisted, not published under your domain."
3136 3483 msgstr ""
3137 3484
@@ -3159,8 +3506,13 @@
3159 3506 #: assets/admin.js
3160 3507 msgid "Control xSpeed with AI"
3161 3508 msgstr ""
3162 3509
3510 +#. Source: src/components/score/ScanCard.tsx:80
3511 +#: assets/admin.js
3512 +msgid "Core Web Vitals"
3513 +msgstr ""
3514 +
3163 3515 #. Source: src/components/overview/McpSessionDemo.tsx:230
3164 3516 #: assets/admin.js
3165 3517 msgid "Core Web Vitals checked"
3166 3518 msgstr ""
@@ -3179,9 +3531,9 @@
3179 3531 #: assets/admin.js
3180 3532 msgid "Could not check the test status."
3181 3533 msgstr ""
3182 3534
3183 -#. Source: src/components/sidebarGroups.ts:99
3535 +#. Source: src/components/sidebarGroups.ts:109
3184 3536 #: assets/admin.js
3185 3537 msgid "Database cleanup, migration and logs."
3186 3538 msgstr ""
3187 3539
@@ -3195,9 +3547,9 @@
3195 3547 msgid "desktop"
3196 3548 msgstr ""
3197 3549
3198 3550 #. Source: src/components/overview/ScoreCard.tsx:90
3199 -#. Source: src/components/score/ScanCard.tsx:281
3551 +#. Source: src/components/score/ScanCard.tsx:293
3200 3552 #: assets/admin.js
3201 3553 msgid "Desktop"
3202 3554 msgstr ""
3203 3555
@@ -3252,19 +3604,19 @@
3252 3604 #: assets/admin.js
3253 3605 msgid "failed"
3254 3606 msgstr ""
3255 3607
3256 -#. Source: src/App.tsx:325
3608 +#. Source: src/App.tsx:347
3257 3609 #: assets/admin.js
3258 3610 msgid "Failed to disable cache"
3259 3611 msgstr ""
3260 3612
3261 -#. Source: src/App.tsx:325
3613 +#. Source: src/App.tsx:347
3262 3614 #: assets/admin.js
3263 3615 msgid "Failed to enable cache"
3264 3616 msgstr ""
3265 3617
3266 -#. Source: src/App.tsx:273
3618 +#. Source: src/App.tsx:286
3267 3619 #: assets/admin.js
3268 3620 msgid "Failed to load"
3269 3621 msgstr ""
3270 3622
@@ -3302,9 +3654,9 @@
3302 3654 #: assets/admin.js
3303 3655 msgid "from wp-config.php"
3304 3656 msgstr ""
3305 3657
3306 -#. Source: src/components/score/ScanCard.tsx:358
3658 +#. Source: src/components/score/ScanCard.tsx:370
3307 3659 #: assets/admin.js
3308 3660 msgid "Full report"
3309 3661 msgstr ""
3310 3662
@@ -3318,9 +3670,9 @@
3318 3670 #: assets/admin.js
3319 3671 msgid "Go to Dashboard"
3320 3672 msgstr ""
3321 3673
3322 -#. Source: src/onboarding/OnboardingApp.tsx:161
3674 +#. Source: src/onboarding/OnboardingApp.tsx:165
3323 3675 #: assets/admin.js
3324 3676 msgid "Go to the dashboard"
3325 3677 msgstr ""
3326 3678
@@ -3328,10 +3680,10 @@
3328 3680 #: assets/admin.js
3329 3681 msgid "good"
3330 3682 msgstr ""
3331 3683
3332 -#. Source: src/components/score/ScanCard.tsx:261
3333 -#. Source: src/components/score/ScanCard.tsx:302
3684 +#. Source: src/components/score/ScanCard.tsx:273
3685 +#. Source: src/components/score/ScanCard.tsx:314
3334 3686 #: assets/admin.js
3335 3687 msgid "Grade"
3336 3688 msgstr ""
3337 3689
@@ -3339,9 +3691,9 @@
3339 3691 #: assets/admin.js
3340 3692 msgid "GTmetrix test"
3341 3693 msgstr ""
3342 3694
3343 -#. Source: src/components/sidebarGroups.ts:90
3695 +#. Source: src/components/sidebarGroups.ts:100
3344 3696 #: assets/admin.js
3345 3697 msgid "Health & insights"
3346 3698 msgstr ""
3347 3699
@@ -3364,31 +3716,36 @@
3364 3716 #: assets/admin.js
3365 3717 msgid "Hide"
3366 3718 msgstr ""
3367 3719
3368 -#. Source: src/components/cache/TrendCharts.tsx:120
3369 -#. Source: src/components/health/HealthHero.tsx:37
3370 -#. Source: src/components/overview/MetricGrid.tsx:44
3720 +#. Source: src/components/cache/TrendCharts.tsx:125
3721 +#. Source: src/components/health/HealthHero.tsx:42
3722 +#. Source: src/components/overview/MetricGrid.tsx:45
3371 3723 #: assets/admin.js
3372 3724 msgid "Hit ratio"
3373 3725 msgstr ""
3374 3726
3375 -#. Source: src/components/cache/CacheHero.tsx:222
3727 +#. Source: src/components/cache/CacheHero.tsx:217
3376 3728 #: assets/admin.js
3377 3729 msgid "Hit Ratio · 24h"
3378 3730 msgstr ""
3379 3731
3380 -#. Source: src/components/cache/CacheHero.tsx:222
3732 +#. Source: src/components/cache/CacheHero.tsx:217
3381 3733 #: assets/admin.js
3382 3734 msgid "Hit Ratio · 24h · origin"
3383 3735 msgstr ""
3384 3736
3737 +#. Source: src/components/health/HealthHero.tsx:42
3738 +#: assets/admin.js
3739 +msgid "Hit ratio (PHP-served only)"
3740 +msgstr ""
3741 +
3385 3742 #. Source: src/components/cache/TrendCharts.tsx:83
3386 3743 #: assets/admin.js
3387 3744 msgid "Hit ratio and benchmark history, with your settings changes marked."
3388 3745 msgstr ""
3389 3746
3390 -#. Source: src/components/cache/TrendCharts.tsx:222
3747 +#. Source: src/components/cache/TrendCharts.tsx:227
3391 3748 #: assets/admin.js
3392 3749 msgid "Hit ratio trend"
3393 3750 msgstr ""
3394 3751
@@ -3406,18 +3763,13 @@
3406 3763 #: assets/admin.js
3407 3764 msgid "hrs"
3408 3765 msgstr ""
3409 3766
3410 -#. Source: src/components/TopBar.tsx:142
3767 +#. Source: src/components/TopBar.tsx:138
3411 3768 #: assets/admin.js
3412 3769 msgid "Hub connected"
3413 3770 msgstr ""
3414 3771
3415 -#. Source: src/components/sidebarGroups.ts:106
3416 -#: assets/admin.js
3417 -msgid "Hub, MCP access, AI provider and privacy."
3418 -msgstr ""
3419 -
3420 3772 #. Source: src/onboarding/steps/Connect.tsx:132
3421 3773 #: assets/admin.js
3422 3774 msgid "I'll connect later"
3423 3775 msgstr ""
@@ -3436,9 +3788,9 @@
3436 3788 #: assets/admin.js
3437 3789 msgid "It takes a few seconds."
3438 3790 msgstr ""
3439 3791
3440 -#. Source: src/components/cache/CacheHero.tsx:225
3792 +#. Source: src/components/cache/CacheHero.tsx:220
3441 3793 #: assets/admin.js
3442 3794 msgid "jump to the hit-ratio trend"
3443 3795 msgstr ""
3444 3796
@@ -3456,14 +3808,14 @@
3456 3808 #: assets/admin.js
3457 3809 msgid "Just say what you want"
3458 3810 msgstr ""
3459 3811
3460 -#. Source: src/components/overview/MetricGrid.tsx:51
3812 +#. Source: src/components/overview/MetricGrid.tsx:61
3461 3813 #: assets/admin.js
3462 3814 msgid "Key metrics"
3463 3815 msgstr ""
3464 3816
3465 -#. Source: src/components/overview/MetricGrid.tsx:44
3817 +#. Source: src/components/overview/MetricGrid.tsx:53
3466 3818 #: assets/admin.js
3467 3819 msgid "last 24 hours"
3468 3820 msgstr ""
3469 3821
@@ -3476,9 +3828,9 @@
3476 3828 #: assets/admin.js
3477 3829 msgid "Last purged"
3478 3830 msgstr ""
3479 3831
3480 -#. Source: src/components/cache/TrendCharts.tsx:236
3832 +#. Source: src/components/cache/TrendCharts.tsx:241
3481 3833 #: assets/admin.js
3482 3834 msgid "Latest"
3483 3835 msgstr ""
3484 3836
@@ -3486,15 +3838,15 @@
3486 3838 #: assets/admin.js
3487 3839 msgid "Learn more about Pro"
3488 3840 msgstr ""
3489 3841
3490 -#. Source: src/upsell/LockedSection.tsx:69
3491 -#. Source: src/upsell/ProDemo.tsx:59
3842 +#. Source: src/upsell/LockedSection.tsx:70
3843 +#. Source: src/upsell/ProDemo.tsx:60
3492 3844 #: assets/admin.js
3493 3845 msgid "License"
3494 3846 msgstr ""
3495 3847
3496 -#. Source: src/components/sidebarGroups.ts:113
3848 +#. Source: src/components/sidebarGroups.ts:128
3497 3849 #: assets/admin.js
3498 3850 msgid "License, branding, multisite and support."
3499 3851 msgstr ""
3500 3852
@@ -3502,14 +3854,19 @@
3502 3854 #: assets/admin.js
3503 3855 msgid "Lighthouse performance, from your latest xSpeed Scan."
3504 3856 msgstr ""
3505 3857
3506 -#. Source: src/components/score/ScanCard.tsx:284
3858 +#. Source: src/components/score/ScanCard.tsx:296
3507 3859 #: assets/admin.js
3508 3860 msgid "Lighthouse performance, out of 100"
3509 3861 msgstr ""
3510 3862
3511 -#. Source: src/App.tsx:384
3863 +#. Source: src/components/cache/CacheHero.tsx:238
3864 +#: assets/admin.js
3865 +msgid "LiteSpeed Static Fast Path is on: cache hits are served by the web server with no PHP, carry no X-XSpeed-Cache header, and are not counted here — so a low ratio reflects the trade you chose, not a broken cache."
3866 +msgstr ""
3867 +
3868 +#. Source: src/App.tsx:456
3512 3869 #. Source: src/components/GroupLanding.tsx:67
3513 3870 #. Source: src/components/LogsView.tsx:35
3514 3871 #: assets/admin.js
3515 3872 msgid "Logs"
@@ -3576,21 +3933,21 @@
3576 3933 #: assets/admin.js
3577 3934 msgid "min"
3578 3935 msgstr ""
3579 3936
3580 -#. Source: src/components/sidebarGroups.ts:78
3937 +#. Source: src/components/sidebarGroups.ts:88
3581 3938 #: assets/admin.js
3582 3939 msgid "Minify, compress, lazy-load, fonts and hints."
3583 3940 msgstr ""
3584 3941
3585 3942 #. Source: src/components/overview/ScoreCard.tsx:185
3586 -#. Source: src/components/score/ScanCard.tsx:294
3943 +#. Source: src/components/score/ScanCard.tsx:306
3587 3944 #: assets/admin.js
3588 3945 msgid "mobile"
3589 3946 msgstr ""
3590 3947
3591 3948 #. Source: src/components/overview/ScoreCard.tsx:91
3592 -#. Source: src/components/score/ScanCard.tsx:281
3949 +#. Source: src/components/score/ScanCard.tsx:293
3593 3950 #: assets/admin.js
3594 3951 msgid "Mobile"
3595 3952 msgstr ""
3596 3953
@@ -3620,9 +3977,9 @@
3620 3977 #: assets/admin.js
3621 3978 msgid "Negligible difference — page is cheap to render or cache is cold."
3622 3979 msgstr ""
3623 3980
3624 -#. Source: src/components/sidebarGroups.ts:83
3981 +#. Source: src/components/sidebarGroups.ts:93
3625 3982 #: assets/admin.js
3626 3983 msgid "Network"
3627 3984 msgstr ""
3628 3985
@@ -3691,9 +4048,9 @@
3691 4048 #: assets/admin.js
3692 4049 msgid "No performance score measured yet"
3693 4050 msgstr ""
3694 4051
3695 -#. Source: src/components/cache/StatDrilldown.tsx:343
4052 +#. Source: src/components/cache/StatDrilldown.tsx:338
3696 4053 #: assets/admin.js
3697 4054 msgid "No purges recorded yet."
3698 4055 msgstr ""
3699 4056
@@ -3726,9 +4083,9 @@
3726 4083 #: assets/admin.js
3727 4084 msgid "Not now"
3728 4085 msgstr ""
3729 4086
3730 -#. Source: src/components/cache/StatDrilldown.tsx:149
4087 +#. Source: src/components/cache/StatDrilldown.tsx:144
3731 4088 #: assets/admin.js
3732 4089 msgid "Nothing cached yet. Visit a page as a logged-out visitor to warm the cache."
3733 4090 msgstr ""
3734 4091
@@ -3736,9 +4093,9 @@
3736 4093 #: assets/admin.js
3737 4094 msgid "Nothing is sent anywhere until you press this."
3738 4095 msgstr ""
3739 4096
3740 -#. Source: src/components/cache/StatDrilldown.tsx:252
4097 +#. Source: src/components/cache/StatDrilldown.tsx:247
3741 4098 #: assets/admin.js
3742 4099 msgid "Nothing on disk yet."
3743 4100 msgstr ""
3744 4101
@@ -3756,9 +4113,9 @@
3756 4113 #. Source: src/components/Sidebar.tsx:334
3757 4114 #. Source: src/components/Sidebar.tsx:335
3758 4115 #. Source: src/components/Sidebar.tsx:370
3759 4116 #. Source: src/components/Sidebar.tsx:371
3760 -#. Source: src/components/cache/StatDrilldown.tsx:216
4117 +#. Source: src/components/cache/StatDrilldown.tsx:211
3761 4118 #: assets/admin.js
3762 4119 msgid "of"
3763 4120 msgstr ""
3764 4121
@@ -3796,9 +4153,9 @@
3796 4153 msgid "On a managed host (xCloud, Cloudways and similar), changing it in their control panel is usually the better route. You can revert at any time."
3797 4154 msgstr ""
3798 4155
3799 4156 #. Source: src/components/health/HealthHero.tsx:30
3800 -#. Source: src/components/overview/MetricGrid.tsx:46
4157 +#. Source: src/components/overview/MetricGrid.tsx:56
3801 4158 #: assets/admin.js
3802 4159 msgid "on disk"
3803 4160 msgstr ""
3804 4161
@@ -3806,9 +4163,9 @@
3806 4163 #: assets/admin.js
3807 4164 msgid "on your xSpeed Hub account."
3808 4165 msgstr ""
3809 4166
3810 -#. Source: src/onboarding/OnboardingApp.tsx:152
4167 +#. Source: src/onboarding/OnboardingApp.tsx:156
3811 4168 #: assets/admin.js
3812 4169 msgid "Onboarding data unavailable"
3813 4170 msgstr ""
3814 4171
@@ -3826,9 +4183,9 @@
3826 4183 #: assets/admin.js
3827 4184 msgid "Open MCP"
3828 4185 msgstr ""
3829 4186
3830 -#. Source: src/components/TopBar.tsx:84
4187 +#. Source: src/components/TopBar.tsx:88
3831 4188 #: assets/admin.js
3832 4189 msgid "Open navigation"
3833 4190 msgstr ""
3834 4191
@@ -3836,9 +4193,9 @@
3836 4193 #: assets/admin.js
3837 4194 msgid "Open the full report"
3838 4195 msgstr ""
3839 4196
3840 -#. Source: src/components/sidebarGroups.ts:76
4197 +#. Source: src/components/sidebarGroups.ts:86
3841 4198 #: assets/admin.js
3842 4199 msgid "Optimization"
3843 4200 msgstr ""
3844 4201
@@ -3862,19 +4219,19 @@
3862 4219 #: assets/admin.js
3863 4220 msgid "Over a month old — may not reflect the site now."
3864 4221 msgstr ""
3865 4222
3866 -#. Source: src/components/cache/StatDrilldown.tsx:166
4223 +#. Source: src/components/cache/StatDrilldown.tsx:161
3867 4224 #: assets/admin.js
3868 4225 msgid "Page"
3869 4226 msgstr ""
3870 4227
3871 -#. Source: src/components/sidebarGroups.ts:71
4228 +#. Source: src/components/sidebarGroups.ts:81
3872 4229 #: assets/admin.js
3873 4230 msgid "Page, object and browser caching, plus preload."
3874 4231 msgstr ""
3875 4232
3876 -#. Source: src/components/cache/StatDrilldown.tsx:283
4233 +#. Source: src/components/cache/StatDrilldown.tsx:278
3877 4234 #: assets/admin.js
3878 4235 msgid "Pages without one are compressed by the server when requested."
3879 4236 msgstr ""
3880 4237
@@ -3887,15 +4244,20 @@
3887 4244 #: assets/admin.js
3888 4245 msgid "PageSpeed & Core Web Vitals"
3889 4246 msgstr ""
3890 4247
3891 -#. Source: src/components/score/ScanCard.tsx:314
4248 +#. Source: src/components/score/ScanCard.tsx:326
3892 4249 #: assets/admin.js
3893 4250 msgid "Partial scan — some checks could not run, so the score covers less than the full rubric."
3894 4251 msgstr ""
3895 4252
3896 -#. Source: src/components/migration/MigrationPanel.tsx:795
4253 +#. Source: src/components/TopBar.tsx:177
3897 4254 #: assets/admin.js
4255 +msgid "Partly cleared"
4256 +msgstr ""
4257 +
4258 +#. Source: src/components/migration/MigrationPanel.tsx:800
4259 +#: assets/admin.js
3898 4260 msgid "Paste an xSpeed profile JSON here, or choose a .json file below."
3899 4261 msgstr ""
3900 4262
3901 4263 #. Source: src/onboarding/steps/Connect.tsx:226
@@ -3902,9 +4264,9 @@
3902 4264 #: assets/admin.js
3903 4265 msgid "Paste this site’s URL + token into the"
3904 4266 msgstr ""
3905 4267
3906 -#. Source: src/components/overview/MetricGrid.tsx:47
4268 +#. Source: src/components/overview/MetricGrid.tsx:57
3907 4269 #: assets/admin.js
3908 4270 msgid "per page load"
3909 4271 msgstr ""
3910 4272
@@ -3925,8 +4287,13 @@
3925 4287 #: assets/admin.js
3926 4288 msgid "Performance score and Core Web Vitals."
3927 4289 msgstr ""
3928 4290
4291 +#. Source: src/components/overview/MetricGrid.tsx:52
4292 +#: assets/admin.js
4293 +msgid "PHP-served only — static fast path hits are not counted"
4294 +msgstr ""
4295 +
3929 4296 #. Source: src/components/score/ScorePanel.tsx:713
3930 4297 #: assets/admin.js
3931 4298 msgid "Pick one more run to compare."
3932 4299 msgstr ""
@@ -3935,10 +4302,15 @@
3935 4302 #: assets/admin.js
3936 4303 msgid "Pick two runs to compare them."
3937 4304 msgstr ""
3938 4305
3939 -#. Source: src/components/cache/StatDrilldown.tsx:282
4306 +#. Source: src/components/score/ScanCard.tsx:86
3940 4307 #: assets/admin.js
4308 +msgid "Platform"
4309 +msgstr ""
4310 +
4311 +#. Source: src/components/cache/StatDrilldown.tsx:277
4312 +#: assets/admin.js
3941 4313 msgid "Precompressed copies on disk:"
3942 4314 msgstr ""
3943 4315
3944 4316 #. Source: src/components/CommandPalette.tsx:59
@@ -3945,20 +4317,37 @@
3945 4317 #: assets/admin.js
3946 4318 msgid "Preload"
3947 4319 msgstr ""
3948 4320
3949 -#. Source: src/App.tsx:354
4321 +#. Source: src/App.tsx:423
3950 4322 #: assets/admin.js
3951 4323 msgid "Preload could not start"
3952 4324 msgstr ""
3953 4325
3954 -#. Source: src/App.tsx:352
4326 +#. Source: src/App.tsx:422
3955 4327 #: assets/admin.js
3956 -msgid "Preload started"
4328 +msgid "Preload could not start: %s"
3957 4329 msgstr ""
3958 4330
3959 -#. Source: src/upsell/ProDemo.tsx:117
4331 +#. Source: src/App.tsx:410
3960 4332 #: assets/admin.js
4333 +msgid "Preload found no pages to warm"
4334 +msgstr ""
4335 +
4336 +#. Source: src/App.tsx:409
4337 +#: assets/admin.js
4338 +msgid "Preload found no pages to warm: %s"
4339 +msgstr ""
4340 +
4341 +#. Source: src/App.tsx:399
4342 +#: assets/admin.js
4343 +msgid "Preloading %d page"
4344 +msgid_plural "Preloading %d pages"
4345 +msgstr[0] ""
4346 +msgstr[1] ""
4347 +
4348 +#. Source: src/upsell/ProDemo.tsx:118
4349 +#: assets/admin.js
3961 4350 msgid "Preview"
3962 4351 msgstr ""
3963 4352
3964 4353 #. Source: src/components/Sidebar.tsx:300
@@ -3967,12 +4356,14 @@
3967 4356 msgstr ""
3968 4357
3969 4358 #. Source: src/components/GroupLanding.tsx:32
3970 4359 #. Source: src/components/ModuleHeader.tsx:23
4360 +#. Source: src/components/Tabs.tsx:97
4361 +#. Source: src/components/migration/MigrationPanel.tsx:650
3971 4362 #. Source: src/components/overview/FeatureMap.tsx:38
3972 -#. Source: src/upsell/LockedSection.tsx:69
4363 +#. Source: src/upsell/LockedSection.tsx:70
3973 4364 #. Source: src/upsell/ProAudit.tsx:66
3974 -#. Source: src/upsell/ProDemo.tsx:59
4365 +#. Source: src/upsell/ProDemo.tsx:60
3975 4366 #. Source: src/upsell/ProTeaser.tsx:45
3976 4367 #: assets/admin.js
3977 4368 msgid "Pro"
3978 4369 msgstr ""
@@ -4010,31 +4401,47 @@
4010 4401 #: assets/admin.js
4011 4402 msgid "Pro unlocks this module + every other locked row in the sidebar. Your current Free settings stay unchanged."
4012 4403 msgstr ""
4013 4404
4014 -#. Source: src/components/migration/MigrationPanel.tsx:797
4405 +#. Source: src/components/migration/MigrationPanel.tsx:802
4015 4406 #: assets/admin.js
4016 4407 msgid "Profile JSON to import"
4017 4408 msgstr ""
4018 4409
4019 -#. Source: src/components/score/ScanCard.tsx:95
4410 +#. Source: src/components/score/ScorePanel.tsx:727
4020 4411 #: assets/admin.js
4412 +msgid "Provider"
4413 +msgstr ""
4414 +
4415 +#. Source: src/components/score/ScanCard.tsx:107
4416 +#: assets/admin.js
4021 4417 msgid "pts"
4022 4418 msgstr ""
4023 4419
4024 4420 #. Source: src/components/CommandPalette.tsx:58
4025 -#. Source: src/components/TopBar.tsx:134
4421 +#. Source: src/components/TopBar.tsx:180
4026 4422 #: assets/admin.js
4027 4423 msgid "Purge all"
4028 4424 msgstr ""
4029 4425
4030 -#. Source: src/App.tsx:341
4426 +#. Source: src/App.tsx:370
4427 +#. Source: src/components/TopBar.tsx:179
4031 4428 #: assets/admin.js
4032 4429 msgid "Purge failed"
4033 4430 msgstr ""
4034 4431
4035 -#. Source: src/components/cache/StatDrilldown.tsx:336
4432 +#. Source: src/App.tsx:370
4036 4433 #: assets/admin.js
4434 +msgid "Purge failed: %s"
4435 +msgstr ""
4436 +
4437 +#. Source: src/components/purgeOutcome.ts:54
4438 +#: assets/admin.js
4439 +msgid "Purge failed."
4440 +msgstr ""
4441 +
4442 +#. Source: src/components/cache/StatDrilldown.tsx:331
4443 +#: assets/admin.js
4037 4444 msgid "Purge history"
4038 4445 msgstr ""
4039 4446
4040 4447 #. Source: src/onboarding/steps/Connect.tsx:94
@@ -4041,9 +4448,9 @@
4041 4448 #: assets/admin.js
4042 4449 msgid "Purge, benchmark, preload and tune settings by asking your AI"
4043 4450 msgstr ""
4044 4451
4045 -#. Source: src/components/score/ScanCard.tsx:329
4452 +#. Source: src/components/score/ScanCard.tsx:341
4046 4453 #: assets/admin.js
4047 4454 msgid "ranked by points recovered"
4048 4455 msgstr ""
4049 4456
@@ -4083,15 +4490,15 @@
4083 4490 #: assets/admin.js
4084 4491 msgid "Recent cache and settings activity."
4085 4492 msgstr ""
4086 4493
4087 -#. Source: src/components/cache/TrendCharts.tsx:148
4494 +#. Source: src/components/cache/TrendCharts.tsx:153
4088 4495 #: assets/admin.js
4089 4496 msgid "Recent changes"
4090 4497 msgstr ""
4091 4498
4092 -#. Source: src/components/overview/Recommendations.tsx:116
4093 -#. Source: src/components/overview/Recommendations.tsx:120
4499 +#. Source: src/components/overview/Recommendations.tsx:119
4500 +#. Source: src/components/overview/Recommendations.tsx:123
4094 4501 #: assets/admin.js
4095 4502 msgid "Recommended for your site"
4096 4503 msgstr ""
4097 4504
@@ -4099,9 +4506,9 @@
4099 4506 #: assets/admin.js
4100 4507 msgid "Recommended:"
4101 4508 msgstr ""
4102 4509
4103 -#. Source: src/components/cache/StatDrilldown.tsx:109
4510 +#. Source: src/components/cache/StatDrilldown.tsx:104
4104 4511 #: assets/admin.js
4105 4512 msgid "Refresh"
4106 4513 msgstr ""
4107 4514
@@ -4109,9 +4516,9 @@
4109 4516 #: assets/admin.js
4110 4517 msgid "Refresh activity log"
4111 4518 msgstr ""
4112 4519
4113 -#. Source: src/components/cache/TrendCharts.tsx:108
4520 +#. Source: src/components/cache/TrendCharts.tsx:113
4114 4521 #: assets/admin.js
4115 4522 msgid "Refresh trends"
4116 4523 msgstr ""
4117 4524
@@ -4165,9 +4572,9 @@
4165 4572 msgid "Run a GTmetrix test on this site"
4166 4573 msgstr ""
4167 4574
4168 4575 #. Source: src/components/overview/ScoreCard.tsx:295
4169 -#. Source: src/components/score/ScanCard.tsx:197
4576 +#. Source: src/components/score/ScanCard.tsx:209
4170 4577 #: assets/admin.js
4171 4578 msgid "Run a scan"
4172 4579 msgstr ""
4173 4580
@@ -4195,9 +4602,9 @@
4195 4602 #: assets/admin.js
4196 4603 msgid "Run test"
4197 4604 msgstr ""
4198 4605
4199 -#. Source: src/components/cache/TrendCharts.tsx:139
4606 +#. Source: src/components/cache/TrendCharts.tsx:144
4200 4607 #: assets/admin.js
4201 4608 msgid "Run the benchmark at least twice to see a trend."
4202 4609 msgstr ""
4203 4610
@@ -4235,14 +4642,14 @@
4235 4642 #: assets/admin.js
4236 4643 msgid "Saving changes…"
4237 4644 msgstr ""
4238 4645
4239 -#. Source: src/components/score/ScanCard.tsx:197
4646 +#. Source: src/components/score/ScanCard.tsx:209
4240 4647 #: assets/admin.js
4241 4648 msgid "Scan again"
4242 4649 msgstr ""
4243 4650
4244 -#. Source: src/components/score/ScanCard.tsx:197
4651 +#. Source: src/components/score/ScanCard.tsx:209
4245 4652 #: assets/admin.js
4246 4653 msgid "Scanning…"
4247 4654 msgstr ""
4248 4655
@@ -4266,10 +4673,10 @@
4266 4673 #: assets/admin.js
4267 4674 msgid "Score strategy"
4268 4675 msgstr ""
4269 4676
4270 -#. Source: src/components/TopBar.tsx:110
4271 -#. Source: src/components/TopBar.tsx:115
4677 +#. Source: src/components/TopBar.tsx:114
4678 +#. Source: src/components/TopBar.tsx:119
4272 4679 #: assets/admin.js
4273 4680 msgid "Search"
4274 4681 msgstr ""
4275 4682
@@ -4293,13 +4700,18 @@
4293 4700 msgid "See how this site performs for real visitors."
4294 4701 msgstr ""
4295 4702
4296 4703 #. Source: src/components/health/HealthHero.tsx:29
4297 -#. Source: src/components/overview/MetricGrid.tsx:45
4704 +#. Source: src/components/overview/MetricGrid.tsx:55
4298 4705 #: assets/admin.js
4299 4706 msgid "served without PHP"
4300 4707 msgstr ""
4301 4708
4709 +#. Source: src/components/score/ScanCard.tsx:82
4710 +#: assets/admin.js
4711 +msgid "Server & caching"
4712 +msgstr ""
4713 +
4302 4714 #. Source: src/components/RewriteAlert.tsx:106
4303 4715 #: assets/admin.js
4304 4716 msgid "Server config missing — cache running on PHP fallback"
4305 4717 msgstr ""
@@ -4328,24 +4740,24 @@
4328 4740 #: assets/admin.js
4329 4741 msgid "Show less"
4330 4742 msgstr ""
4331 4743
4332 -#. Source: src/components/cache/CacheHero.tsx:219
4744 +#. Source: src/components/cache/CacheHero.tsx:214
4333 4745 #: assets/admin.js
4334 4746 msgid "show what cleared the cache and why"
4335 4747 msgstr ""
4336 4748
4337 -#. Source: src/components/cache/CacheHero.tsx:212
4749 +#. Source: src/components/cache/CacheHero.tsx:207
4338 4750 #: assets/admin.js
4339 4751 msgid "show what is taking the space"
4340 4752 msgstr ""
4341 4753
4342 -#. Source: src/components/cache/CacheHero.tsx:205
4754 +#. Source: src/components/cache/CacheHero.tsx:200
4343 4755 #: assets/admin.js
4344 4756 msgid "show which pages are cached"
4345 4757 msgstr ""
4346 4758
4347 -#. Source: src/components/cache/StatDrilldown.tsx:216
4759 +#. Source: src/components/cache/StatDrilldown.tsx:211
4348 4760 #: assets/admin.js
4349 4761 msgid "Showing"
4350 4762 msgstr ""
4351 4763
@@ -4358,14 +4770,14 @@
4358 4770 #: assets/admin.js
4359 4771 msgid "Site URL"
4360 4772 msgstr ""
4361 4773
4362 -#. Source: src/components/cache/StatDrilldown.tsx:167
4774 +#. Source: src/components/cache/StatDrilldown.tsx:162
4363 4775 #: assets/admin.js
4364 4776 msgid "Size"
4365 4777 msgstr ""
4366 4778
4367 -#. Source: src/components/sidebarGroups.ts:92
4779 +#. Source: src/components/sidebarGroups.ts:102
4368 4780 #: assets/admin.js
4369 4781 msgid "Speed score, diagnostics and analytics."
4370 4782 msgstr ""
4371 4783
@@ -4378,9 +4790,9 @@
4378 4790 #: assets/admin.js
4379 4791 msgid "Static rewrite may not be available on this host"
4380 4792 msgstr ""
4381 4793
4382 -#. Source: src/components/cache/StatDrilldown.tsx:169
4794 +#. Source: src/components/cache/StatDrilldown.tsx:164
4383 4795 #: assets/admin.js
4384 4796 msgid "Stored"
4385 4797 msgstr ""
4386 4798
@@ -4388,14 +4800,14 @@
4388 4800 #: assets/admin.js
4389 4801 msgid "succeeded"
4390 4802 msgstr ""
4391 4803
4392 -#. Source: src/components/TopBar.tsx:148
4804 +#. Source: src/components/TopBar.tsx:144
4393 4805 #: assets/admin.js
4394 4806 msgid "Switch to dark mode"
4395 4807 msgstr ""
4396 4808
4397 -#. Source: src/components/TopBar.tsx:148
4809 +#. Source: src/components/TopBar.tsx:144
4398 4810 #: assets/admin.js
4399 4811 msgid "Switch to light mode"
4400 4812 msgstr ""
4401 4813
@@ -4408,9 +4820,9 @@
4408 4820 #: assets/admin.js
4409 4821 msgid "Take over the page cache from %s?"
4410 4822 msgstr ""
4411 4823
4412 -#. Source: src/components/cache/TrendCharts.tsx:240
4824 +#. Source: src/components/cache/TrendCharts.tsx:245
4413 4825 #: assets/admin.js
4414 4826 msgid "target ≥80%"
4415 4827 msgstr ""
4416 4828
@@ -4429,15 +4841,30 @@
4429 4841 #: assets/admin.js
4430 4842 msgid "Testing…"
4431 4843 msgstr ""
4432 4844
4845 +#. Source: src/components/purgeOutcome.ts:70
4846 +#: assets/admin.js
4847 +msgid "The cache was already empty, so there was nothing to clear."
4848 +msgstr ""
4849 +
4433 4850 #. Source: src/components/overview/ScoreCard.tsx:207
4434 4851 #: assets/admin.js
4435 4852 msgid "The last scan did not complete."
4436 4853 msgstr ""
4437 4854
4438 -#. Source: src/components/cache/StatDrilldown.tsx:156
4855 +#. Source: src/components/purgeOutcome.ts:78
4439 4856 #: assets/admin.js
4857 +msgid "The page cache was already empty."
4858 +msgstr ""
4859 +
4860 +#. Source: src/components/purgeOutcome.ts:63
4861 +#: assets/admin.js
4862 +msgid "There was nothing to clear."
4863 +msgstr ""
4864 +
4865 +#. Source: src/components/cache/StatDrilldown.tsx:151
4866 +#: assets/admin.js
4440 4867 msgid "This cache is large enough that the scan stopped early — the list below is a recent sample, not every page."
4441 4868 msgstr ""
4442 4869
4443 4870 #. Source: src/components/SecretField.tsx:93
@@ -4444,9 +4871,9 @@
4444 4871 #: assets/admin.js
4445 4872 msgid "This credential is defined in wp-config.php and cannot be changed here."
4446 4873 msgstr ""
4447 4874
4448 -#. Source: src/components/score/ScanCard.tsx:222
4875 +#. Source: src/components/score/ScanCard.tsx:234
4449 4876 #: assets/admin.js
4450 4877 msgid "This report will be publicly visible at xspeedcache.com, listed under your domain. Connect xSpeed Hub to keep your reports unlisted."
4451 4878 msgstr ""
4452 4879
@@ -4465,9 +4892,9 @@
4465 4892 msgid "Token"
4466 4893 msgstr ""
4467 4894
4468 4895 #. Source: src/components/LogsView.tsx:34
4469 -#. Source: src/components/sidebarGroups.ts:97
4896 +#. Source: src/components/sidebarGroups.ts:107
4470 4897 #: assets/admin.js
4471 4898 msgid "Tools"
4472 4899 msgstr ""
4473 4900
@@ -4475,9 +4902,9 @@
4475 4902 #: assets/admin.js
4476 4903 msgid "Trends"
4477 4904 msgstr ""
4478 4905
4479 -#. Source: src/components/cache/TrendCharts.tsx:126
4906 +#. Source: src/components/cache/TrendCharts.tsx:131
4480 4907 #: assets/admin.js
4481 4908 msgid "Trends appear after a couple of days of traffic. The daily series is being collected now."
4482 4909 msgstr ""
4483 4910
@@ -4505,9 +4932,9 @@
4505 4932 #: assets/admin.js
4506 4933 msgid "Turn on the page cache to start serving pages instantly."
4507 4934 msgstr ""
4508 4935
4509 -#. Source: src/components/cache/TrendCharts.tsx:273
4936 +#. Source: src/components/cache/TrendCharts.tsx:278
4510 4937 #: assets/admin.js
4511 4938 msgid "uncached"
4512 4939 msgstr ""
4513 4940
@@ -4516,13 +4943,13 @@
4516 4943 msgid "Under a minute"
4517 4944 msgstr ""
4518 4945
4519 4946 #. Source: src/components/Sidebar.tsx:424
4520 -#. Source: src/components/Sidebar.tsx:442
4947 +#. Source: src/components/Sidebar.tsx:445
4521 4948 #. Source: src/upsell/LockedPanel.tsx:116
4522 -#. Source: src/upsell/LockedSection.tsx:97
4949 +#. Source: src/upsell/LockedSection.tsx:98
4523 4950 #. Source: src/upsell/ProAudit.tsx:113
4524 -#. Source: src/upsell/ProDemo.tsx:101
4951 +#. Source: src/upsell/ProDemo.tsx:102
4525 4952 #. Source: src/upsell/ProOverview.tsx:83
4526 4953 #: assets/admin.js
4527 4954 msgid "Upgrade to Pro"
4528 4955 msgstr ""
@@ -4551,14 +4978,14 @@
4551 4978 #: assets/admin.js
4552 4979 msgid "Waiting for connection…"
4553 4980 msgstr ""
4554 4981
4555 -#. Source: src/components/overview/Recommendations.tsx:218
4982 +#. Source: src/components/overview/Recommendations.tsx:221
4556 4983 #: assets/admin.js
4557 4984 msgid "Want a hand?"
4558 4985 msgstr ""
4559 4986
4560 -#. Source: src/onboarding/OnboardingApp.tsx:155
4987 +#. Source: src/onboarding/OnboardingApp.tsx:159
4561 4988 #: assets/admin.js
4562 4989 msgid "We couldn't load the setup wizard. Your site is unaffected — you can configure everything from the dashboard."
4563 4990 msgstr ""
4564 4991
@@ -4571,9 +4998,9 @@
4571 4998 #: assets/admin.js
4572 4999 msgid "What this adds"
4573 5000 msgstr ""
4574 5001
4575 -#. Source: src/components/score/ScanCard.tsx:327
5002 +#. Source: src/components/score/ScanCard.tsx:339
4576 5003 #: assets/admin.js
4577 5004 msgid "What to fix next"
4578 5005 msgstr ""
4579 5006
@@ -4591,9 +5018,9 @@
4591 5018 #: assets/admin.js
4592 5019 msgid "When"
4593 5020 msgstr ""
4594 5021
4595 -#. Source: src/components/cache/StatDrilldown.tsx:248
5022 +#. Source: src/components/cache/StatDrilldown.tsx:243
4596 5023 #: assets/admin.js
4597 5024 msgid "Where the cache size goes"
4598 5025 msgstr ""
4599 5026
@@ -4648,17 +5075,17 @@
4648 5075 #: assets/admin.js
4649 5076 msgid "xSpeed Pro is installed — activate your license to unlock this module and every other Pro feature."
4650 5077 msgstr ""
4651 5078
4652 -#. Source: src/components/score/ScanCard.tsx:173
4653 -#. Source: src/components/score/ScanCard.tsx:183
4654 -#. Source: src/components/score/ScanCard.tsx:304
5079 +#. Source: src/components/score/ScanCard.tsx:185
5080 +#. Source: src/components/score/ScanCard.tsx:195
5081 +#. Source: src/components/score/ScanCard.tsx:316
4655 5082 #. Source: src/components/score/ScorePanel.tsx:426
4656 5083 #: assets/admin.js
4657 5084 msgid "xSpeed Scan"
4658 5085 msgstr ""
4659 5086
4660 -#. Source: src/components/score/ScanCard.tsx:264
5087 +#. Source: src/components/score/ScanCard.tsx:276
4661 5088 #: assets/admin.js
4662 5089 msgid "xSpeed Scan, out of 100"
4663 5090 msgstr ""
4664 5091
@@ -4676,9 +5103,9 @@
4676 5103 #: assets/admin.js
4677 5104 msgid "You're all set"
4678 5105 msgstr ""
4679 5106
4680 -#. Source: src/components/overview/Recommendations.tsx:131
5107 +#. Source: src/components/overview/Recommendations.tsx:134
4681 5108 #: assets/admin.js
4682 5109 msgid "You're all set — no recommendations right now."
4683 5110 msgstr ""
4684 5111