PluginProbe
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN / 1.3.2
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN v1.3.2
1.3.5 1.3.4 1.3.3 1.3.2 1.3.1 1.3.0 1.2.4 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 All 31 releases
← All changes | languages/xspeed.pot +195 -372 1.3.5 → 1.3.2 View file →
@@ -1,9 +1,9 @@
1 1 # Copyright (C) 2026 WPDeveloper
2 2 # This file is distributed under the GPLv2 or later.
3 3 msgid ""
4 4 msgstr ""
5 -"Project-Id-Version: xSpeed Cache 1.3.5\n"
5 +"Project-Id-Version: xSpeed Cache 1.3.2\n"
6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/xspeed\n"
7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8 8 "Language-Team: LANGUAGE <[email protected]>\n"
9 9 "MIME-Version: 1.0\n"
@@ -8,9 +8,9 @@
8 8 "Language-Team: LANGUAGE <[email protected]>\n"
9 9 "MIME-Version: 1.0\n"
10 10 "Content-Type: text/plain; charset=UTF-8\n"
11 11 "Content-Transfer-Encoding: 8bit\n"
12 -"POT-Creation-Date: 2026-09-22T10:29:06+00:00\n"
12 +"POT-Creation-Date: 2026-09-15T12:19:23+00:00\n"
13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14 14 "X-Generator: WP-CLI 2.12.0\n"
15 15 "X-Domain: xspeed\n"
16 16
@@ -15,9 +15,9 @@
15 15 "X-Domain: xspeed\n"
16 16
17 17 #. Plugin Name of the plugin
18 18 #: xspeed.php
19 -#: includes/class-cache.php:8732
19 +#: includes/class-cache.php:7953
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:8746
41 +#: includes/class-cache.php:7967
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:4163
133 +#: includes/class-cache.php:3445
134 134 #, php-format
135 135 msgid "Purged one URL (%1$s) — %2$s, %3$d file(s) removed"
136 136 msgstr ""
137 137
138 -#: includes/class-cache.php:5116
138 +#: includes/class-cache.php:4398
139 139 msgid "Purge All"
140 140 msgstr ""
141 141
142 -#: includes/class-cache.php:5120
142 +#: includes/class-cache.php:4402
143 143 msgid "Purge Page / Static Cache"
144 144 msgstr ""
145 145
146 -#: includes/class-cache.php:5124
146 +#: includes/class-cache.php:4406
147 147 msgid "Purge CSS / JS Cache"
148 148 msgstr ""
149 149
150 -#: includes/class-cache.php:5128
150 +#: includes/class-cache.php:4410
151 151 msgid "Purge Object Cache"
152 152 msgstr ""
153 153
154 -#: includes/class-cache.php:5132
154 +#: includes/class-cache.php:4414
155 155 msgid "Purge REST Cache"
156 156 msgstr ""
157 157
158 158 #. translators: 1: what was purged, 2: cause of the purge.
159 -#: includes/class-cache.php:5379
159 +#: includes/class-cache.php:4661
160 160 #, php-format
161 161 msgid "Purged %1$s (%2$s)"
162 162 msgstr ""
163 163
164 164 #. translators: 1: what was purged, 2: cause of the purge, 3: number of files removed.
165 -#: includes/class-cache.php:5385
165 +#: includes/class-cache.php:4667
166 166 #, php-format
167 167 msgid "Purged %1$s (%2$s) — %3$d file(s) removed"
168 168 msgstr ""
169 169
170 -#: includes/class-cache.php:5606
170 +#: includes/class-cache.php:4888
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:5613
175 +#: includes/class-cache.php:4895
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:5616
180 +#: includes/class-cache.php:4898
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:5686
184 +#: includes/class-cache.php:4964
185 185 msgid "Could not lock page-cache ownership. Try again."
186 186 msgstr ""
187 187
188 -#: includes/class-cache.php:5692
188 +#: includes/class-cache.php:4970
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:5766
193 +#: includes/class-cache.php:5044
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:5769
198 +#: includes/class-cache.php:5047
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:5799
202 +#: includes/class-cache.php:5077
203 203 msgid "Could not write wp-content/advanced-cache.php. Check filesystem permissions."
204 204 msgstr ""
205 205
206 -#: includes/class-cache.php:5856
206 +#: includes/class-cache.php:5134
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:5857
210 +#: includes/class-cache.php:5135
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:5859
214 +#: includes/class-cache.php:5137
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:5874
218 +#: includes/class-cache.php:5152
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:5966
222 +#: includes/class-cache.php:5244
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:5981
226 +#: includes/class-cache.php:5259
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:5982
230 +#: includes/class-cache.php:5260
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:5999
234 +#: includes/class-cache.php:5277
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:6017
238 +#: includes/class-cache.php:5295
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:6018
242 +#: includes/class-cache.php:5296
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:6029
246 +#: includes/class-cache.php:5307
247 247 msgid "xSpeed could not save the disabled state."
248 248 msgstr ""
249 249
250 -#: includes/class-cache.php:6033
250 +#: includes/class-cache.php:5311
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:8224
255 +#: includes/class-cache.php:7459
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:8231
261 +#: includes/class-cache.php:7466
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:8286
267 +#: includes/class-cache.php:7521
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:8293
272 +#: includes/class-cache.php:7528
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:8296
277 +#: includes/class-cache.php:7531
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:8297
281 +#: includes/class-cache.php:7532
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:8298
285 +#: includes/class-cache.php:7533
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:8299
289 +#: includes/class-cache.php:7534
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:8300
293 +#: includes/class-cache.php:7535
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:8301
297 +#: includes/class-cache.php:7536
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:8302
301 +#: includes/class-cache.php:7537
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:8304
305 +#: includes/class-cache.php:7539
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:8815
309 +#: includes/class-cache.php:8036
310 310 #: includes/class-purge-ui.php:278
311 311 #: includes/class-purge-ui.php:675
312 312 msgid "Unauthorized."
313 313 msgstr ""
@@ -729,33 +729,33 @@
729 729 msgid "The page got measurably slower: median render time %1$dms before, %2$dms after (+%3$d%%), beyond what run-to-run noise explains. The change was undone."
730 730 msgstr ""
731 731
732 732 #. translators: 1: number of URLs, 2: the sitemap failure detail.
733 -#: includes/class-preloader.php:260
733 +#: includes/class-preloader.php:151
734 734 #, php-format
735 735 msgid "Preloader queued %1$d URLs from the site content — %2$s"
736 736 msgstr ""
737 737
738 738 #. translators: %s: the sitemap failure detail.
739 -#: includes/class-preloader.php:268
739 +#: includes/class-preloader.php:159
740 740 #, php-format
741 741 msgid "Preloader could not start — %s"
742 742 msgstr ""
743 743
744 744 #. translators: 1: number of URLs, 2: plural suffix.
745 -#: includes/class-preloader.php:275
745 +#: includes/class-preloader.php:166
746 746 #, php-format
747 747 msgid "Preloader queued %1$d URL%2$s for warming."
748 748 msgstr ""
749 749
750 750 #. translators: 1: sitemap URL, 2: error detail.
751 -#: includes/class-preloader.php:741
751 +#: includes/class-preloader.php:622
752 752 #, php-format
753 753 msgid "Could not fetch the sitemap at %1$s — %2$s"
754 754 msgstr ""
755 755
756 756 #. translators: 1: sitemap URL, 2: HTTP status code.
757 -#: includes/class-preloader.php:754
757 +#: includes/class-preloader.php:635
758 758 #, php-format
759 759 msgid "Could not fetch the sitemap at %1$s — the server returned HTTP %2$d."
760 760 msgstr ""
761 761
@@ -1084,9 +1084,8 @@
1084 1084 msgstr ""
1085 1085
1086 1086 #: includes/class-video-facade.php:153
1087 1087 #: includes/class-video-facade.php:199
1088 -#: includes/class-video-facade.php:303
1089 1088 msgid "Play video"
1090 1089 msgstr ""
1091 1090
1092 1091 #: includes/modules/AIPrivacy/AIPrivacyModule.php:49
@@ -1093,9 +1092,9 @@
1093 1092 msgid "AI Privacy"
1094 1093 msgstr ""
1095 1094
1096 1095 #: includes/modules/AIPrivacy/AIPrivacyModule.php:51
1097 -msgid "Decide whether AI features may use your visitors' data, and what the consent banner says. Applies even before you install Pro."
1096 +msgid "Govern whether AI-powered features (Pro) may collect data from your visitors. The off-switch is here in Free because privacy is a fundamental right, not a paid feature."
1098 1097 msgstr ""
1099 1098
1100 1099 #: includes/modules/AIPrivacy/AIPrivacyModule.php:70
1101 1100 msgid "Require consent before AI data collection"
@@ -1101,9 +1100,9 @@
1101 1100 msgid "Require consent before AI data collection"
1102 1101 msgstr ""
1103 1102
1104 1103 #: includes/modules/AIPrivacy/AIPrivacyModule.php:71
1105 -msgid "When ON, AI-powered features only record data after a visitor accepts the consent banner. When OFF, they collect from every visitor — only legal in regions without GDPR-style consent rules. The setting applies even if Pro is not installed (so a later Pro upgrade respects whichever choice you made): privacy is a fundamental right, not a paid feature."
1104 +msgid "When ON, AI-powered features only record data after a visitor accepts the consent banner. When OFF, they collect from every visitor — only legal in regions without GDPR-style consent rules. The setting applies even if Pro is not installed (so a later Pro upgrade respects whichever choice you made)."
1106 1105 msgstr ""
1107 1106
1108 1107 #: includes/modules/AIPrivacy/AIPrivacyModule.php:76
1109 1108 msgid "Consent banner text"
@@ -1161,28 +1160,20 @@
1161 1160 msgid "Remove the jquery-migrate compatibility shim from non-admin pages. Saves ~10 KB; safe on modern themes / plugins."
1162 1161 msgstr ""
1163 1162
1164 1163 #: includes/modules/Bloat/BloatModule.php:79
1165 -msgid "Strip Block-Editor Styles on Frontend"
1164 +msgid "Restrict REST API to Logged-In Users"
1166 1165 msgstr ""
1167 1166
1168 1167 #: includes/modules/Bloat/BloatModule.php:80
1169 -msgid "Drop editor-only stylesheets (wp-editor, wp-components, and friends) from anonymous pages. A plugin that enqueues them on the frontend usually does so by accident — they can add hundreds of KB of render-blocking CSS. Frontend block styles (wp-block-library) are never touched."
1170 -msgstr ""
1171 -
1172 -#: includes/modules/Bloat/BloatModule.php:85
1173 -msgid "Restrict REST API to Logged-In Users"
1174 -msgstr ""
1175 -
1176 -#: includes/modules/Bloat/BloatModule.php:86
1177 1168 msgid "Block /wp-json/ for anonymous requests. WooCommerce checkout, contact-form submissions, and many block-editor previews need anonymous REST — keep this off unless you know your site does not depend on it."
1178 1169 msgstr ""
1179 1170
1180 -#: includes/modules/Bloat/BloatModule.php:239
1171 +#: includes/modules/Bloat/BloatModule.php:180
1181 1172 msgid "Feeds are disabled."
1182 1173 msgstr ""
1183 1174
1184 -#: includes/modules/Bloat/BloatModule.php:288
1175 +#: includes/modules/Bloat/BloatModule.php:229
1185 1176 msgid "Anonymous REST access is disabled on this site."
1186 1177 msgstr ""
1187 1178
1188 1179 #: includes/modules/BrowserCache/BrowserCacheModule.php:32
@@ -1247,88 +1238,56 @@
1247 1238 #: includes/modules/Cache/CacheModule.php:160
1248 1239 msgid "How long cached pages live before regenerating. 1 to 720 hours (30 days)."
1249 1240 msgstr ""
1250 1241
1251 -#: includes/modules/Cache/CacheModule.php:190
1242 +#: includes/modules/Cache/CacheModule.php:188
1252 1243 msgid "Excluded URLs"
1253 1244 msgstr ""
1254 1245
1255 -#: includes/modules/Cache/CacheModule.php:191
1246 +#: includes/modules/Cache/CacheModule.php:189
1256 1247 msgid "One pattern per line. Plain text matches anywhere in the URL (e.g. /cart). Use glob for anchored matches (/cart/* matches /cart/items but not /foo/cart/bar; *.pdf matches PDFs). Prefix with ~ for a raw regex (e.g. ~wp-.*\\.php)."
1257 1248 msgstr ""
1258 1249
1259 -#: includes/modules/Cache/CacheModule.php:200
1250 +#: includes/modules/Cache/CacheModule.php:198
1260 1251 msgid "Excluded Cookies"
1261 1252 msgstr ""
1262 1253
1263 -#: includes/modules/Cache/CacheModule.php:201
1254 +#: includes/modules/Cache/CacheModule.php:199
1264 1255 msgid "Skip cache for any visitor whose request carries a cookie whose NAME matches one of these patterns. Plain text = \"contains\"; glob (woocommerce_*) and ~regex (~wordpress_[a-f0-9]+) supported. One per line."
1265 1256 msgstr ""
1266 1257
1267 -#: includes/modules/Cache/CacheModule.php:207
1258 +#: includes/modules/Cache/CacheModule.php:205
1268 1259 msgid "Bypass User Agents"
1269 1260 msgstr ""
1270 1261
1271 -#: includes/modules/Cache/CacheModule.php:208
1262 +#: includes/modules/Cache/CacheModule.php:206
1272 1263 msgid "Substring match against the visitor User-Agent. Matched UAs bypass cache (useful for screenshot bots, internal previews, monitoring). Glob + ~regex supported. One per line."
1273 1264 msgstr ""
1274 1265
1275 -#: includes/modules/Cache/CacheModule.php:219
1266 +#: includes/modules/Cache/CacheModule.php:217
1276 1267 msgid "Ignored Query Parameters"
1277 1268 msgstr ""
1278 1269
1279 -#: includes/modules/Cache/CacheModule.php:220
1270 +#: includes/modules/Cache/CacheModule.php:218
1280 1271 msgid "Query keys removed from the URL before computing the cache key, so /post?utm_source=x and /post share a cache entry. Defaults cover the common analytics + ad + session params. Each entry matches a whole param name — plain text is an exact name, and glob (utm_*) or ~regex are anchored too, so \"ref\" does not also match \"preference\". One per line."
1281 1272 msgstr ""
1282 1273
1283 -#: includes/modules/Cache/CacheModule.php:225
1274 +#: includes/modules/Cache/CacheModule.php:223
1284 1275 msgid "Purge After Updates"
1285 1276 msgstr ""
1286 1277
1287 -#: includes/modules/Cache/CacheModule.php:226
1278 +#: includes/modules/Cache/CacheModule.php:224
1288 1279 msgid "Clear the page cache when a plugin, theme or WordPress core is updated. Cached HTML is produced by the code being replaced, so leaving it in place serves pre-update markup — and links to minified assets that no longer exist — until the cache expires. Translation updates are ignored, since a language pack changes no markup a cached page depends on. Updates to xSpeed itself always purge, regardless of this setting."
1289 1280 msgstr ""
1290 1281
1291 -#: includes/modules/Cache/CacheModule.php:231
1282 +#: includes/modules/Cache/CacheModule.php:229
1292 1283 msgid "Separate Mobile Cache"
1293 1284 msgstr ""
1294 1285
1295 -#: includes/modules/Cache/CacheModule.php:232
1286 +#: includes/modules/Cache/CacheModule.php:230
1296 1287 msgid "Keep mobile and desktop responses in separate cache buckets. Turn on for AMP, mobile-specific themes (WPtouch / Jetpack mobile theme), or any setup that serves different HTML by device."
1297 1288 msgstr ""
1298 1289
1299 -#: includes/modules/Cache/CacheModule.php:264
1300 -msgid "Cache In Front Of This Site"
1301 -msgstr ""
1302 -
1303 -#: includes/modules/Cache/CacheModule.php:265
1304 -msgid "Ask a CDN or proxy in front of your site not to store pages xSpeed refused to cache. Leave it on Detect automatically unless you know what is in front of you; the marked providers ignore origin headers until you configure them to respect it."
1305 -msgstr ""
1306 -
1307 -#: includes/modules/Cache/CacheModule.php:266
1308 -msgid "Cache in front of this site"
1309 -msgstr ""
1310 -
1311 -#: includes/modules/Cache/CacheModule.php:267
1312 -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."
1313 -msgstr ""
1314 -
1315 -#: includes/modules/Cache/CacheModule.php:273
1316 -msgid "Custom Edge Headers"
1317 -msgstr ""
1318 -
1319 -#: includes/modules/Cache/CacheModule.php:275
1320 -msgid "One header per line, as Name: value — for example \"Surrogate-Control: no-store\". Lines starting with # are ignored."
1321 -msgstr ""
1322 -
1323 -#: includes/modules/Cache/CacheModule.php:276
1324 -msgid "Custom edge headers"
1325 -msgstr ""
1326 -
1327 -#: includes/modules/Cache/CacheModule.php:277
1328 -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."
1329 -msgstr ""
1330 -
1331 1290 #: includes/modules/CacheCoverage/CacheCoverageModule.php:36
1332 1291 msgid "Advanced Cache"
1333 1292 msgstr ""
1334 1293
@@ -1371,149 +1330,120 @@
1371 1330 #: includes/modules/Cdn/CdnModule.php:62
1372 1331 msgid "Glob patterns matched against the URL path. Matching URLs stay on the origin. Examples: /wp-admin/*, *.pdf, /private/*"
1373 1332 msgstr ""
1374 1333
1375 -#: includes/modules/Cloudflare/CloudflareModule.php:77
1334 +#: includes/modules/Cloudflare/CloudflareModule.php:40
1376 1335 msgid "Cloudflare"
1377 1336 msgstr ""
1378 1337
1379 -#: includes/modules/Cloudflare/CloudflareModule.php:79
1338 +#: includes/modules/Cloudflare/CloudflareModule.php:42
1380 1339 msgid "Connect a Cloudflare zone for automatic edge purging when xSpeed clears its cache, plus a dev-mode toggle."
1381 1340 msgstr ""
1382 1341
1383 -#: includes/modules/Cloudflare/CloudflareModule.php:102
1342 +#: includes/modules/Cloudflare/CloudflareModule.php:65
1384 1343 msgid "Enable Cloudflare integration"
1385 1344 msgstr ""
1386 1345
1387 -#: includes/modules/Cloudflare/CloudflareModule.php:103
1346 +#: includes/modules/Cloudflare/CloudflareModule.php:66
1388 1347 msgid "Use the credentials below to verify your zone and run purges."
1389 1348 msgstr ""
1390 1349
1391 -#: includes/modules/Cloudflare/CloudflareModule.php:113
1350 +#: includes/modules/Cloudflare/CloudflareModule.php:76
1392 1351 msgid "Authentication"
1393 1352 msgstr ""
1394 1353
1395 -#: includes/modules/Cloudflare/CloudflareModule.php:114
1354 +#: includes/modules/Cloudflare/CloudflareModule.php:77
1396 1355 msgid "API Tokens (scoped, recommended) or the legacy Global API Key with your account email."
1397 1356 msgstr ""
1398 1357
1399 -#: includes/modules/Cloudflare/CloudflareModule.php:120
1358 +#: includes/modules/Cloudflare/CloudflareModule.php:83
1400 1359 msgid "API Token"
1401 1360 msgstr ""
1402 1361
1403 -#: includes/modules/Cloudflare/CloudflareModule.php:121
1362 +#: includes/modules/Cloudflare/CloudflareModule.php:84
1404 1363 msgid "Create a token at dash.cloudflare.com → My Profile → API Tokens. Needs \"Zone → Cache Purge\" + \"Zone Settings\" permissions."
1405 1364 msgstr ""
1406 1365
1407 -#: includes/modules/Cloudflare/CloudflareModule.php:129
1366 +#: includes/modules/Cloudflare/CloudflareModule.php:92
1408 1367 msgid "Account Email"
1409 1368 msgstr ""
1410 1369
1411 -#: includes/modules/Cloudflare/CloudflareModule.php:130
1370 +#: includes/modules/Cloudflare/CloudflareModule.php:93
1412 1371 msgid "Only used when Authentication is set to Global API Key."
1413 1372 msgstr ""
1414 1373
1415 -#: includes/modules/Cloudflare/CloudflareModule.php:136
1374 +#: includes/modules/Cloudflare/CloudflareModule.php:99
1416 1375 msgid "Global API Key"
1417 1376 msgstr ""
1418 1377
1419 -#: includes/modules/Cloudflare/CloudflareModule.php:137
1378 +#: includes/modules/Cloudflare/CloudflareModule.php:100
1420 1379 msgid "Found at dash.cloudflare.com → My Profile → API Tokens → Global API Key."
1421 1380 msgstr ""
1422 1381
1423 -#: includes/modules/Cloudflare/CloudflareModule.php:143
1382 +#: includes/modules/Cloudflare/CloudflareModule.php:106
1424 1383 msgid "Zone ID"
1425 1384 msgstr ""
1426 1385
1427 -#: includes/modules/Cloudflare/CloudflareModule.php:144
1386 +#: includes/modules/Cloudflare/CloudflareModule.php:107
1428 1387 msgid "The 32-character hex Zone ID from your domain overview page."
1429 1388 msgstr ""
1430 1389
1431 -#: includes/modules/Cloudflare/CloudflareModule.php:150
1390 +#: includes/modules/Cloudflare/CloudflareModule.php:113
1432 1391 msgid "Auto-purge Cloudflare on xSpeed purge"
1433 1392 msgstr ""
1434 1393
1435 -#: includes/modules/Cloudflare/CloudflareModule.php:151
1394 +#: includes/modules/Cloudflare/CloudflareModule.php:114
1436 1395 msgid "When xSpeed clears its own cache (post save, settings change, manual purge), trigger a Cloudflare purge too."
1437 1396 msgstr ""
1438 1397
1439 -#. translators: %d: number of URLs that changed at once.
1440 -#: includes/modules/Cloudflare/CloudflareModule.php:480
1441 -#, php-format
1442 -msgid "Purging the whole Cloudflare zone: %d URLs changed at once, too many to purge individually"
1443 -msgstr ""
1444 -
1445 -#. translators: %d: number of URLs.
1446 -#: includes/modules/Cloudflare/CloudflareModule.php:541
1447 -#, php-format
1448 -msgid "Skipped a queued Cloudflare purge of %d URL: the connection is no longer available"
1449 -msgid_plural "Skipped a queued Cloudflare purge of %d URLs: the connection is no longer available"
1450 -msgstr[0] ""
1451 -msgstr[1] ""
1452 -
1453 -#. translators: %d: number of URLs purged.
1454 -#: includes/modules/Cloudflare/CloudflareModule.php:572
1455 -#, php-format
1456 -msgid "Purged %d URL from the Cloudflare edge cache"
1457 -msgid_plural "Purged %d URLs from the Cloudflare edge cache"
1458 -msgstr[0] ""
1459 -msgstr[1] ""
1460 -
1461 -#. translators: 1: number of URLs, 2: failure reason.
1462 -#: includes/modules/Cloudflare/CloudflareModule.php:588
1463 -#, php-format
1464 -msgid "Cloudflare URL purge failed (%1$d URL(s)): %2$s"
1465 -msgstr ""
1466 -
1467 -#: includes/modules/Cloudflare/CloudflareModule.php:590
1468 -#: includes/modules/Cloudflare/CloudflareModule.php:657
1469 -msgid "unknown error"
1470 -msgstr ""
1471 -
1472 -#: includes/modules/Cloudflare/CloudflareModule.php:606
1398 +#: includes/modules/Cloudflare/CloudflareModule.php:238
1473 1399 msgid "the Cloudflare integration is switched off"
1474 1400 msgstr ""
1475 1401
1476 -#: includes/modules/Cloudflare/CloudflareModule.php:609
1402 +#: includes/modules/Cloudflare/CloudflareModule.php:241
1477 1403 msgid "no zone ID or API credentials are configured"
1478 1404 msgstr ""
1479 1405
1480 1406 #. translators: %s: what asked for the purge.
1481 -#: includes/modules/Cloudflare/CloudflareModule.php:645
1407 +#: includes/modules/Cloudflare/CloudflareModule.php:277
1482 1408 #, php-format
1483 1409 msgid "Purged the Cloudflare edge cache (%s)"
1484 1410 msgstr ""
1485 1411
1486 1412 #. translators: 1: what asked for the purge, 2: failure reason.
1487 -#: includes/modules/Cloudflare/CloudflareModule.php:655
1413 +#: includes/modules/Cloudflare/CloudflareModule.php:287
1488 1414 #, php-format
1489 1415 msgid "Cloudflare purge failed (%1$s): %2$s"
1490 1416 msgstr ""
1491 1417
1492 -#: includes/modules/Cloudflare/CloudflareModule.php:727
1418 +#: includes/modules/Cloudflare/CloudflareModule.php:289
1419 +msgid "unknown error"
1420 +msgstr ""
1421 +
1422 +#: includes/modules/Cloudflare/CloudflareModule.php:359
1493 1423 msgid "Cloudflare is not fully configured."
1494 1424 msgstr ""
1495 1425
1496 -#: includes/modules/Cloudflare/CloudflareModule.php:728
1426 +#: includes/modules/Cloudflare/CloudflareModule.php:360
1497 1427 msgid "Add your API token (or Global API Key + account email) and the Zone ID, then press Verify. Until then auto-purge does nothing."
1498 1428 msgstr ""
1499 1429
1500 -#: includes/modules/Cloudflare/CloudflareModule.php:741
1430 +#: includes/modules/Cloudflare/CloudflareModule.php:373
1501 1431 msgid "Cloudflare purge is failing."
1502 1432 msgstr ""
1503 1433
1504 1434 #. translators: %s: the Cloudflare API error message, or empty.
1505 -#: includes/modules/Cloudflare/CloudflareModule.php:744
1435 +#: includes/modules/Cloudflare/CloudflareModule.php:376
1506 1436 #, php-format
1507 1437 msgid "The last edge purge was rejected by Cloudflare%s. Confirm the API token includes the \"Zone → Cache Purge\" permission for this zone — a token that can read the zone can still lack purge rights."
1508 1438 msgstr ""
1509 1439
1510 -#: includes/modules/Cloudflare/CloudflareModule.php:753
1440 +#: includes/modules/Cloudflare/CloudflareModule.php:385
1511 1441 msgid "Cloudflare credentials were rejected."
1512 1442 msgstr ""
1513 1443
1514 1444 #. translators: %s: the Cloudflare API error message, or empty.
1515 -#: includes/modules/Cloudflare/CloudflareModule.php:756
1445 +#: includes/modules/Cloudflare/CloudflareModule.php:388
1516 1446 #, php-format
1517 1447 msgid "The saved credentials could not verify this zone%s. Auto-purge will not work until this is fixed."
1518 1448 msgstr ""
1519 1449
@@ -1633,102 +1563,74 @@
1633 1563 #: includes/modules/Health/HealthModule.php:66
1634 1564 msgid "xSpeed static-rewrite cache"
1635 1565 msgstr ""
1636 1566
1637 -#: includes/modules/Health/HealthModule.php:125
1567 +#: includes/modules/Health/HealthModule.php:81
1638 1568 msgid "xSpeed static-rewrite cache is active"
1639 1569 msgstr ""
1640 1570
1641 -#: includes/modules/Health/HealthModule.php:128
1571 +#: includes/modules/Health/HealthModule.php:84
1642 1572 #: assets/admin.js
1643 1573 msgid "Performance"
1644 1574 msgstr ""
1645 1575
1646 -#: includes/modules/Health/HealthModule.php:131
1576 +#: includes/modules/Health/HealthModule.php:87
1647 1577 msgid "Cache hits bypass PHP for ~5-15ms TTFB."
1648 1578 msgstr ""
1649 1579
1650 -#: includes/modules/Health/HealthModule.php:137
1580 +#: includes/modules/Health/HealthModule.php:93
1651 1581 msgid "xSpeed cache is disabled"
1652 1582 msgstr ""
1653 1583
1654 -#: includes/modules/Health/HealthModule.php:139
1584 +#: includes/modules/Health/HealthModule.php:95
1655 1585 msgid "Enable the page cache in the xSpeed dashboard to start serving cached HTML for non-logged-in visitors."
1656 1586 msgstr ""
1657 1587
1658 -#: includes/modules/Health/HealthModule.php:152
1588 +#: includes/modules/Health/HealthModule.php:108
1659 1589 msgid "xSpeed is serving cache hits through PHP"
1660 1590 msgstr ""
1661 1591
1662 -#: includes/modules/Health/HealthModule.php:154
1592 +#: includes/modules/Health/HealthModule.php:110
1663 1593 msgid "Caching is working — hits are served by the xSpeed drop-in and tagged X-XSpeed-Cache: HIT (php). The faster .htaccess fast path is off because Apache's mod_headers module is not loaded, without which a static hit could not be tagged or counted. Enable mod_headers (a2enmod headers on Debian/Ubuntu, then restart Apache) to shave roughly 20-30ms off each cache hit."
1664 1594 msgstr ""
1665 1595
1666 -#: includes/modules/Health/HealthModule.php:156
1667 -#: includes/modules/Health/HealthModule.php:193
1596 +#: includes/modules/Health/HealthModule.php:112
1668 1597 msgid "xSpeed static rewrite is off (Separate Mobile Cache)"
1669 1598 msgstr ""
1670 1599
1671 -#: includes/modules/Health/HealthModule.php:158
1672 -#: includes/modules/Health/HealthModule.php:195
1600 +#: includes/modules/Health/HealthModule.php:114
1673 1601 msgid "Separate Mobile Cache is on, so cache hits are served by the PHP drop-in to keep per-device HTML correct. Turn Separate Mobile Cache off if your site serves the same HTML to every device to regain the faster static path."
1674 1602 msgstr ""
1675 1603
1676 -#: includes/modules/Health/HealthModule.php:160
1604 +#: includes/modules/Health/HealthModule.php:116
1677 1605 msgid "xSpeed .htaccess rewrite block is missing"
1678 1606 msgstr ""
1679 1607
1680 -#: includes/modules/Health/HealthModule.php:162
1608 +#: includes/modules/Health/HealthModule.php:118
1681 1609 msgid "Without the static-rewrite block, cache hits go through the PHP drop-in (~85ms TTFB) instead of the web server (~5-15ms). Toggle Enable Cache off and on in xSpeed to reinstall the block."
1682 1610 msgstr ""
1683 1611
1684 -#: includes/modules/Health/HealthModule.php:187
1685 -msgid "xSpeed nginx static rewrite is active"
1686 -msgstr ""
1687 -
1688 -#: includes/modules/Health/HealthModule.php:189
1689 -msgid "nginx is serving cache hits directly — PHP is bypassed (~5-15ms TTFB). No action needed."
1690 -msgstr ""
1691 -
1692 -#: includes/modules/Health/HealthModule.php:199
1693 -msgid "xSpeed is serving cache hits through PHP (pages contain nonces)"
1694 -msgstr ""
1695 -
1696 -#: includes/modules/Health/HealthModule.php:201
1697 -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."
1698 -msgstr ""
1699 -
1700 -#: includes/modules/Health/HealthModule.php:210
1701 -msgid "xSpeed could not verify the nginx static rewrite"
1702 -msgstr ""
1703 -
1704 -#. translators: %s: the reason the probe could not complete.
1705 -#: includes/modules/Health/HealthModule.php:215
1706 -#, php-format
1707 -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"
1708 -msgstr ""
1709 -
1710 -#: includes/modules/Health/HealthModule.php:223
1612 +#: includes/modules/Health/HealthModule.php:125
1711 1613 msgid "xSpeed nginx server config required"
1712 1614 msgstr ""
1713 1615
1714 -#: includes/modules/Health/HealthModule.php:225
1616 +#: includes/modules/Health/HealthModule.php:127
1715 1617 msgid "xSpeed can't write nginx config from PHP. Paste this snippet into your site's server { } block, then reload nginx so cache hits serve without booting PHP:"
1716 1618 msgstr ""
1717 1619
1718 -#: includes/modules/Health/HealthModule.php:234
1620 +#: includes/modules/Health/HealthModule.php:136
1719 1621 msgid "xSpeed PHP drop-in cache active"
1720 1622 msgstr ""
1721 1623
1722 -#: includes/modules/Health/HealthModule.php:236
1624 +#: includes/modules/Health/HealthModule.php:138
1723 1625 msgid "Static-rewrite caching needs Apache, LiteSpeed, or nginx. The PHP drop-in is still serving cache hits at ~85ms TTFB on this server."
1724 1626 msgstr ""
1725 1627
1726 -#: includes/modules/Health/HealthModule.php:242
1628 +#: includes/modules/Health/HealthModule.php:144
1727 1629 msgid "Health"
1728 1630 msgstr ""
1729 1631
1730 -#: includes/modules/Health/HealthModule.php:244
1632 +#: includes/modules/Health/HealthModule.php:146
1731 1633 msgid "Diagnostics, hit ratio, and recent cache activity."
1732 1634 msgstr ""
1733 1635
1734 1636 #: includes/modules/Heartbeat/HeartbeatModule.php:38
@@ -1844,92 +1746,88 @@
1844 1746 #, php-format
1845 1747 msgid "Unknown command: %s. Call list_commands to see what is available."
1846 1748 msgstr ""
1847 1749
1848 -#: includes/modules/Mcp/McpModule.php:149
1750 +#: includes/modules/Mcp/McpModule.php:111
1849 1751 #: assets/admin.js
1850 1752 msgid "MCP Server"
1851 1753 msgstr ""
1852 1754
1853 -#: includes/modules/Mcp/McpModule.php:151
1854 -msgid "Let Claude or another AI agent run this site — purge, check stats, change settings. This is the only thing you connect an AI to, and it is free with no API key."
1755 +#: includes/modules/Mcp/McpModule.php:113
1756 +msgid "Control this site's cache from Claude and other AI agents."
1855 1757 msgstr ""
1856 1758
1857 -#: includes/modules/Mcp/McpModule.php:440
1858 -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."
1859 -msgstr ""
1860 -
1861 -#: includes/modules/Mcp/McpModule.php:1307
1759 +#: includes/modules/Mcp/McpModule.php:979
1862 1760 msgid "Invalid or expired attach request."
1863 1761 msgstr ""
1864 1762
1865 -#: includes/modules/Mcp/McpModule.php:1423
1763 +#: includes/modules/Mcp/McpModule.php:1093
1866 1764 msgid "You must be an administrator to authorize an AI agent to control this site."
1867 1765 msgstr ""
1868 1766
1869 -#: includes/modules/Mcp/McpModule.php:1430
1767 +#: includes/modules/Mcp/McpModule.php:1100
1870 1768 msgid "Security check failed. Please try connecting again."
1871 1769 msgstr ""
1872 1770
1873 -#: includes/modules/Mcp/McpModule.php:1557
1771 +#: includes/modules/Mcp/McpModule.php:1227
1874 1772 msgid "Read-only — inspect cache status and settings."
1875 1773 msgstr ""
1876 1774
1877 -#: includes/modules/Mcp/McpModule.php:1558
1775 +#: includes/modules/Mcp/McpModule.php:1228
1878 1776 msgid "Read & write — purge caches, toggle caching, and change settings."
1879 1777 msgstr ""
1880 1778
1881 -#: includes/modules/Mcp/McpModule.php:1559
1779 +#: includes/modules/Mcp/McpModule.php:1229
1882 1780 msgid "An AI agent"
1883 1781 msgstr ""
1884 1782
1885 -#: includes/modules/Mcp/McpModule.php:1578
1783 +#: includes/modules/Mcp/McpModule.php:1248
1886 1784 msgid "Authorize AI access"
1887 1785 msgstr ""
1888 1786
1889 -#: includes/modules/Mcp/McpModule.php:1589
1787 +#: includes/modules/Mcp/McpModule.php:1259
1890 1788 msgid "Connect to xSpeed"
1891 1789 msgstr ""
1892 1790
1893 1791 #. translators: %s: AI client name.
1894 -#: includes/modules/Mcp/McpModule.php:1591
1792 +#: includes/modules/Mcp/McpModule.php:1261
1895 1793 #, php-format
1896 1794 msgid "%s wants to manage the cache on this site."
1897 1795 msgstr ""
1898 1796
1899 -#: includes/modules/Mcp/McpModule.php:1592
1797 +#: includes/modules/Mcp/McpModule.php:1262
1900 1798 msgid "Site"
1901 1799 msgstr ""
1902 1800
1903 -#: includes/modules/Mcp/McpModule.php:1593
1801 +#: includes/modules/Mcp/McpModule.php:1263
1904 1802 msgid "Signed in as"
1905 1803 msgstr ""
1906 1804
1907 -#: includes/modules/Mcp/McpModule.php:1594
1805 +#: includes/modules/Mcp/McpModule.php:1264
1908 1806 msgid "Access"
1909 1807 msgstr ""
1910 1808
1911 -#: includes/modules/Mcp/McpModule.php:1599
1809 +#: includes/modules/Mcp/McpModule.php:1269
1912 1810 msgid "Deny"
1913 1811 msgstr ""
1914 1812
1915 -#: includes/modules/Mcp/McpModule.php:1600
1813 +#: includes/modules/Mcp/McpModule.php:1270
1916 1814 msgid "Approve"
1917 1815 msgstr ""
1918 1816
1919 -#: includes/modules/Mcp/McpModule.php:1610
1817 +#: includes/modules/Mcp/McpModule.php:1280
1920 1818 msgid "Authorization error"
1921 1819 msgstr ""
1922 1820
1923 -#: includes/modules/Mcp/McpModule.php:1613
1821 +#: includes/modules/Mcp/McpModule.php:1283
1924 1822 msgid "Could not authorize"
1925 1823 msgstr ""
1926 1824
1927 -#: includes/modules/Mcp/McpModule.php:1843
1825 +#: includes/modules/Mcp/McpModule.php:1513
1928 1826 msgid "An AI assistant is connected to this site. This module counts as on whenever a connection token exists, rather than having its own on/off setting."
1929 1827 msgstr ""
1930 1828
1931 -#: includes/modules/Mcp/McpModule.php:1844
1829 +#: includes/modules/Mcp/McpModule.php:1514
1932 1830 msgid "No AI assistant is connected. This module counts as on once you connect one."
1933 1831 msgstr ""
1934 1832
1935 1833 #: includes/modules/Mcp/Mcp_Auth.php:57
@@ -1948,47 +1846,47 @@
1948 1846 #: assets/admin.js
1949 1847 msgid "The test could not be started."
1950 1848 msgstr ""
1951 1849
1952 -#: includes/modules/Mcp/Mcp_OAuth.php:261
1850 +#: includes/modules/Mcp/Mcp_OAuth.php:213
1953 1851 msgid "Too many client registrations. Try again later."
1954 1852 msgstr ""
1955 1853
1956 1854 #. translators: %d: maximum number of redirect URIs.
1957 -#: includes/modules/Mcp/Mcp_OAuth.php:277
1855 +#: includes/modules/Mcp/Mcp_OAuth.php:229
1958 1856 #, php-format
1959 1857 msgid "At most %d redirect_uris are allowed."
1960 1858 msgstr ""
1961 1859
1962 -#: includes/modules/Mcp/Mcp_OAuth.php:289
1860 +#: includes/modules/Mcp/Mcp_OAuth.php:241
1963 1861 msgid "At least one valid redirect_uri is required."
1964 1862 msgstr ""
1965 1863
1966 -#: includes/modules/Mcp/Mcp_OAuth.php:326
1864 +#: includes/modules/Mcp/Mcp_OAuth.php:278
1967 1865 msgid "Client registration limit reached."
1968 1866 msgstr ""
1969 1867
1970 -#: includes/modules/Mcp/Mcp_OAuth.php:345
1868 +#: includes/modules/Mcp/Mcp_OAuth.php:297
1971 1869 msgid "The client registration could not be stored."
1972 1870 msgstr ""
1973 1871
1974 -#: includes/modules/Mcp/Mcp_OAuth.php:384
1872 +#: includes/modules/Mcp/Mcp_OAuth.php:336
1975 1873 msgid "Unknown client_id."
1976 1874 msgstr ""
1977 1875
1978 -#: includes/modules/Mcp/Mcp_OAuth.php:388
1876 +#: includes/modules/Mcp/Mcp_OAuth.php:340
1979 1877 msgid "redirect_uri does not match a registered value."
1980 1878 msgstr ""
1981 1879
1982 -#: includes/modules/Mcp/Mcp_OAuth.php:391
1880 +#: includes/modules/Mcp/Mcp_OAuth.php:343
1983 1881 msgid "Only response_type=code is supported."
1984 1882 msgstr ""
1985 1883
1986 -#: includes/modules/Mcp/Mcp_OAuth.php:395
1884 +#: includes/modules/Mcp/Mcp_OAuth.php:347
1987 1885 msgid "PKCE with code_challenge_method=S256 is required."
1988 1886 msgstr ""
1989 1887
1990 -#: includes/modules/Mcp/Mcp_Pairing.php:451
1888 +#: includes/modules/Mcp/Mcp_Pairing.php:408
1991 1889 msgid "No active MCP connection to change. Connect first."
1992 1890 msgstr ""
1993 1891
1994 1892 #. translators: %s: tool name.
@@ -2340,9 +2238,9 @@
2340 2238 msgid "Delay JavaScript Until Interaction"
2341 2239 msgstr ""
2342 2240
2343 2241 #: includes/modules/Minify/MinifyModule.php:79
2344 -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. Cookie-consent banners (CookieYes, Complianz, Cookiebot, NotificationX, Cookie Notice, Borlabs, Real Cookie Banner and others) are never delayed, so the visitor is still asked before anything else runs."
2242 +msgid "Postpone script loading until the visitor scrolls, moves the mouse, taps, or presses a key. Drastically improves first paint on script-heavy pages; can break above-the-fold scripted UI — test before leaving on."
2345 2243 msgstr ""
2346 2244
2347 2245 #: includes/modules/Minify/MinifyModule.php:84
2348 2246 msgid "Load CSS Asynchronously"
@@ -2364,9 +2262,9 @@
2364 2262 msgid "Defer / Delay Exclusions"
2365 2263 msgstr ""
2366 2264
2367 2265 #: includes/modules/Minify/MinifyModule.php:98
2368 -msgid "Script handles OR URL substrings that skip defer + delay. Defaults exclude jQuery (most themes depend on it being available synchronously). Cookie-consent banners are always skipped and do not need listing here. One per line."
2266 +msgid "Script handles OR URL substrings that skip defer + delay. Defaults exclude jQuery (most themes depend on it being available synchronously). One per line."
2369 2267 msgstr ""
2370 2268
2371 2269 #: includes/modules/Minify/MinifyModule.php:112
2372 2270 msgid "Delay Only These Scripts"
@@ -2523,86 +2421,60 @@
2523 2421 #: includes/modules/Preloader/PreloaderModule.php:35
2524 2422 msgid "Crawl the sitemap to warm cache so visitors never hit a cold MISS."
2525 2423 msgstr ""
2526 2424
2527 -#: includes/modules/Preloader/PreloaderModule.php:61
2528 -msgid "Your server is blocking the xSpeed cache warmer"
2529 -msgstr ""
2530 -
2531 -#. translators: 1: HTTP status code, 2: the user-agent xSpeed sends.
2532 -#: includes/modules/Preloader/PreloaderModule.php:64
2533 -#, php-format
2534 -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."
2535 -msgstr ""
2536 -
2537 -#: includes/modules/Preloader/PreloaderModule.php:77
2425 +#: includes/modules/Preloader/PreloaderModule.php:48
2538 2426 msgid "Enable Preloader"
2539 2427 msgstr ""
2540 2428
2541 -#: includes/modules/Preloader/PreloaderModule.php:78
2429 +#: includes/modules/Preloader/PreloaderModule.php:49
2542 2430 msgid "When on, xSpeed crawls the sitemap on the schedule below and warms the page cache."
2543 2431 msgstr ""
2544 2432
2545 -#: includes/modules/Preloader/PreloaderModule.php:90
2433 +#: includes/modules/Preloader/PreloaderModule.php:61
2546 2434 msgid "Schedule"
2547 2435 msgstr ""
2548 2436
2549 -#: includes/modules/Preloader/PreloaderModule.php:91
2437 +#: includes/modules/Preloader/PreloaderModule.php:62
2550 2438 msgid "How often to start a fresh crawl. Manual means you trigger it from the dashboard."
2551 2439 msgstr ""
2552 2440
2553 -#: includes/modules/Preloader/PreloaderModule.php:99
2441 +#: includes/modules/Preloader/PreloaderModule.php:70
2554 2442 msgid "Batch Size"
2555 2443 msgstr ""
2556 2444
2557 -#: includes/modules/Preloader/PreloaderModule.php:100
2445 +#: includes/modules/Preloader/PreloaderModule.php:71
2558 2446 msgid "URLs warmed per cron tick. Higher = faster crawl, more load on the origin."
2559 2447 msgstr ""
2560 2448
2561 -#: includes/modules/Preloader/PreloaderModule.php:106
2449 +#: includes/modules/Preloader/PreloaderModule.php:77
2562 2450 msgid "Sitemap URL (optional)"
2563 2451 msgstr ""
2564 2452
2565 -#: includes/modules/Preloader/PreloaderModule.php:107
2453 +#: includes/modules/Preloader/PreloaderModule.php:78
2566 2454 msgid "Override the auto-detected WordPress core sitemap (/wp-sitemap.xml). Leave blank for default."
2567 2455 msgstr ""
2568 2456
2569 -#: includes/modules/Preloader/PreloaderModule.php:113
2457 +#: includes/modules/Preloader/PreloaderModule.php:84
2570 2458 msgid "Warm new content immediately"
2571 2459 msgstr ""
2572 2460
2573 -#: includes/modules/Preloader/PreloaderModule.php:114
2461 +#: includes/modules/Preloader/PreloaderModule.php:85
2574 2462 msgid "When a post or page is published, fetch it once so the first visitor sees a cache HIT, not a cold MISS."
2575 2463 msgstr ""
2576 2464
2577 -#: includes/modules/Preloader/PreloaderModule.php:120
2465 +#: includes/modules/Preloader/PreloaderModule.php:91
2578 2466 msgid "Re-warm after comments"
2579 2467 msgstr ""
2580 2468
2581 -#: includes/modules/Preloader/PreloaderModule.php:121
2469 +#: includes/modules/Preloader/PreloaderModule.php:92
2582 2470 msgid "Re-warm a page after a comment is posted (Cache purges the page on comment; this fetches it back into cache)."
2583 2471 msgstr ""
2584 2472
2585 -#: includes/modules/Preloader/PreloaderModule.php:297
2473 +#: includes/modules/Preloader/PreloaderModule.php:268
2586 2474 msgid "Enable the preloader before starting a crawl."
2587 2475 msgstr ""
2588 2476
2589 -#: includes/modules/Privacy/PrivacyModule.php:47
2590 -msgid "Privacy & usage data"
2591 -msgstr ""
2592 -
2593 -#: includes/modules/Privacy/PrivacyModule.php:49
2594 -msgid "Control the usage analytics you were asked about in the setup wizard."
2595 -msgstr ""
2596 -
2597 -#: includes/modules/Privacy/PrivacyModule.php:58
2598 -msgid "Share usage data"
2599 -msgstr ""
2600 -
2601 -#: includes/modules/Privacy/PrivacyModule.php:59
2602 -msgid "Share a few basics — WordPress & PHP version, active theme & plugins, server type, and which features you enable. Never page content. Turning this off stops all collection and clears the scheduled send."
2603 -msgstr ""
2604 -
2605 2477 #: includes/modules/ResourceHints/ResourceHintsModule.php:60
2606 2478 msgid "Resource Hints"
2607 2479 msgstr ""
2608 2480
@@ -2765,40 +2637,8 @@
2765 2637 #: includes/modules/Support/SupportModule.php:41
2766 2638 msgid "Where the \"Open ticket\" button takes the user."
2767 2639 msgstr ""
2768 2640
2769 -#: includes/modules/TurboRender/TurboRenderModule.php:89
2770 -msgid "Turbo Render"
2771 -msgstr ""
2772 -
2773 -#: includes/modules/TurboRender/TurboRenderModule.php:91
2774 -msgid "Paints the top of your page first and brings the rest in as visitors scroll. Every section still loads in full."
2775 -msgstr ""
2776 -
2777 -#: includes/modules/TurboRender/TurboRenderModule.php:100
2778 -msgid "Render as visitors scroll"
2779 -msgstr ""
2780 -
2781 -#: includes/modules/TurboRender/TurboRenderModule.php:101
2782 -msgid "Lets the browser spend its first moments on what visitors actually see, then render the lower sections just before they scroll into view. The content of your page is unchanged — it simply arrives in a smarter order."
2783 -msgstr ""
2784 -
2785 -#: includes/modules/TurboRender/TurboRenderModule.php:108
2786 -msgid "Sections to render immediately"
2787 -msgstr ""
2788 -
2789 -#: includes/modules/TurboRender/TurboRenderModule.php:109
2790 -msgid "How many sections at the top of the page are rendered right away, before any deferring begins. The default of 2 suits most layouts. Increase it if a section near the top of your page appears a moment late."
2791 -msgstr ""
2792 -
2793 -#: includes/modules/TurboRender/TurboRenderModule.php:114
2794 -msgid "Section classes"
2795 -msgstr ""
2796 -
2797 -#: includes/modules/TurboRender/TurboRenderModule.php:115
2798 -msgid "Tells xSpeed which parts of your page count as sections. The defaults cover Elementor, Divi, Bricks, Oxygen, and Beaver Builder — and when none of them match, xSpeed falls back to your page's own top-level sections automatically. Add a class here only if you want to target something specific."
2799 -msgstr ""
2800 -
2801 2641 #: xspeed.php:220
2802 2642 msgid "is missing files and could not start, so no new pages are being cached. Pages already in the cache are still being served, and while the plugin is in this state nothing clears them automatically. Deactivating xSpeed empties the cache; reinstalling the plugin restores it. Deactivating alone will not repair the installation."
2803 2643 msgstr ""
2804 2644
@@ -3003,14 +2843,14 @@
3003 2843 #: assets/admin.js
3004 2844 msgid "Benchmark failed"
3005 2845 msgstr ""
3006 2846
3007 -#. Source: src/components/cache/TrendCharts.tsx:263
2847 +#. Source: src/components/cache/TrendCharts.tsx:258
3008 2848 #: assets/admin.js
3009 2849 msgid "Benchmark trend"
3010 2850 msgstr ""
3011 2851
3012 -#. Source: src/components/cache/TrendCharts.tsx:139
2852 +#. Source: src/components/cache/TrendCharts.tsx:134
3013 2853 #: assets/admin.js
3014 2854 msgid "Benchmark: cached vs uncached (ms)"
3015 2855 msgstr ""
3016 2856
@@ -3038,9 +2878,9 @@
3038 2878 #: assets/admin.js
3039 2879 msgid "Browse all"
3040 2880 msgstr ""
3041 2881
3042 -#. Source: src/components/sidebarGroups.ts:79
2882 +#. Source: src/components/sidebarGroups.ts:69
3043 2883 #: assets/admin.js
3044 2884 msgid "Cache"
3045 2885 msgstr ""
3046 2886
@@ -3143,9 +2983,9 @@
3143 2983 #: assets/admin.js
3144 2984 msgid "Cache, compression & more"
3145 2985 msgstr ""
3146 2986
3147 -#. Source: src/components/cache/TrendCharts.tsx:275
2987 +#. Source: src/components/cache/TrendCharts.tsx:270
3148 2988 #: assets/admin.js
3149 2989 msgid "cached"
3150 2990 msgstr ""
3151 2991
@@ -3176,9 +3016,9 @@
3176 3016 #: assets/admin.js
3177 3017 msgid "Cancel"
3178 3018 msgstr ""
3179 3019
3180 -#. Source: src/components/sidebarGroups.ts:95
3020 +#. Source: src/components/sidebarGroups.ts:85
3181 3021 #: assets/admin.js
3182 3022 msgid "CDN and Cloudflare edge delivery."
3183 3023 msgstr ""
3184 3024
@@ -3273,13 +3113,8 @@
3273 3113 #: assets/admin.js
3274 3114 msgid "Connect"
3275 3115 msgstr ""
3276 3116
3277 -#. Source: src/components/sidebarGroups.ts:120
3278 -#: assets/admin.js
3279 -msgid "Connect an AI agent to this site, and control what AI features may use."
3280 -msgstr ""
3281 -
3282 3117 #. Source: src/components/TopBar.tsx:138
3283 3118 #: assets/admin.js
3284 3119 msgid "Connect Hub"
3285 3120 msgstr ""
@@ -3394,9 +3229,9 @@
3394 3229 #: assets/admin.js
3395 3230 msgid "Could not check the test status."
3396 3231 msgstr ""
3397 3232
3398 -#. Source: src/components/sidebarGroups.ts:109
3233 +#. Source: src/components/sidebarGroups.ts:99
3399 3234 #: assets/admin.js
3400 3235 msgid "Database cleanup, migration and logs."
3401 3236 msgstr ""
3402 3237
@@ -3533,9 +3368,9 @@
3533 3368 #: assets/admin.js
3534 3369 msgid "Go to Dashboard"
3535 3370 msgstr ""
3536 3371
3537 -#. Source: src/onboarding/OnboardingApp.tsx:165
3372 +#. Source: src/onboarding/OnboardingApp.tsx:161
3538 3373 #: assets/admin.js
3539 3374 msgid "Go to the dashboard"
3540 3375 msgstr ""
3541 3376
@@ -3554,9 +3389,9 @@
3554 3389 #: assets/admin.js
3555 3390 msgid "GTmetrix test"
3556 3391 msgstr ""
3557 3392
3558 -#. Source: src/components/sidebarGroups.ts:100
3393 +#. Source: src/components/sidebarGroups.ts:90
3559 3394 #: assets/admin.js
3560 3395 msgid "Health & insights"
3561 3396 msgstr ""
3562 3397
@@ -3579,9 +3414,9 @@
3579 3414 #: assets/admin.js
3580 3415 msgid "Hide"
3581 3416 msgstr ""
3582 3417
3583 -#. Source: src/components/cache/TrendCharts.tsx:125
3418 +#. Source: src/components/cache/TrendCharts.tsx:120
3584 3419 #. Source: src/components/health/HealthHero.tsx:37
3585 3420 #. Source: src/components/overview/MetricGrid.tsx:44
3586 3421 #: assets/admin.js
3587 3422 msgid "Hit ratio"
@@ -3601,9 +3436,9 @@
3601 3436 #: assets/admin.js
3602 3437 msgid "Hit ratio and benchmark history, with your settings changes marked."
3603 3438 msgstr ""
3604 3439
3605 -#. Source: src/components/cache/TrendCharts.tsx:227
3440 +#. Source: src/components/cache/TrendCharts.tsx:222
3606 3441 #: assets/admin.js
3607 3442 msgid "Hit ratio trend"
3608 3443 msgstr ""
3609 3444
@@ -3626,8 +3461,13 @@
3626 3461 #: assets/admin.js
3627 3462 msgid "Hub connected"
3628 3463 msgstr ""
3629 3464
3465 +#. Source: src/components/sidebarGroups.ts:106
3466 +#: assets/admin.js
3467 +msgid "Hub, MCP access, AI provider and privacy."
3468 +msgstr ""
3469 +
3630 3470 #. Source: src/onboarding/steps/Connect.tsx:132
3631 3471 #: assets/admin.js
3632 3472 msgid "I'll connect later"
3633 3473 msgstr ""
@@ -3686,9 +3526,9 @@
3686 3526 #: assets/admin.js
3687 3527 msgid "Last purged"
3688 3528 msgstr ""
3689 3529
3690 -#. Source: src/components/cache/TrendCharts.tsx:241
3530 +#. Source: src/components/cache/TrendCharts.tsx:236
3691 3531 #: assets/admin.js
3692 3532 msgid "Latest"
3693 3533 msgstr ""
3694 3534
@@ -3702,9 +3542,9 @@
3702 3542 #: assets/admin.js
3703 3543 msgid "License"
3704 3544 msgstr ""
3705 3545
3706 -#. Source: src/components/sidebarGroups.ts:128
3546 +#. Source: src/components/sidebarGroups.ts:113
3707 3547 #: assets/admin.js
3708 3548 msgid "License, branding, multisite and support."
3709 3549 msgstr ""
3710 3550
@@ -3717,9 +3557,9 @@
3717 3557 #: assets/admin.js
3718 3558 msgid "Lighthouse performance, out of 100"
3719 3559 msgstr ""
3720 3560
3721 -#. Source: src/App.tsx:456
3561 +#. Source: src/App.tsx:420
3722 3562 #. Source: src/components/GroupLanding.tsx:67
3723 3563 #. Source: src/components/LogsView.tsx:35
3724 3564 #: assets/admin.js
3725 3565 msgid "Logs"
@@ -3786,9 +3626,9 @@
3786 3626 #: assets/admin.js
3787 3627 msgid "min"
3788 3628 msgstr ""
3789 3629
3790 -#. Source: src/components/sidebarGroups.ts:88
3630 +#. Source: src/components/sidebarGroups.ts:78
3791 3631 #: assets/admin.js
3792 3632 msgid "Minify, compress, lazy-load, fonts and hints."
3793 3633 msgstr ""
3794 3634
@@ -3830,9 +3670,9 @@
3830 3670 #: assets/admin.js
3831 3671 msgid "Negligible difference — page is cheap to render or cache is cold."
3832 3672 msgstr ""
3833 3673
3834 -#. Source: src/components/sidebarGroups.ts:93
3674 +#. Source: src/components/sidebarGroups.ts:83
3835 3675 #: assets/admin.js
3836 3676 msgid "Network"
3837 3677 msgstr ""
3838 3678
@@ -4016,9 +3856,9 @@
4016 3856 #: assets/admin.js
4017 3857 msgid "on your xSpeed Hub account."
4018 3858 msgstr ""
4019 3859
4020 -#. Source: src/onboarding/OnboardingApp.tsx:156
3860 +#. Source: src/onboarding/OnboardingApp.tsx:152
4021 3861 #: assets/admin.js
4022 3862 msgid "Onboarding data unavailable"
4023 3863 msgstr ""
4024 3864
@@ -4046,9 +3886,9 @@
4046 3886 #: assets/admin.js
4047 3887 msgid "Open the full report"
4048 3888 msgstr ""
4049 3889
4050 -#. Source: src/components/sidebarGroups.ts:86
3890 +#. Source: src/components/sidebarGroups.ts:76
4051 3891 #: assets/admin.js
4052 3892 msgid "Optimization"
4053 3893 msgstr ""
4054 3894
@@ -4077,9 +3917,9 @@
4077 3917 #: assets/admin.js
4078 3918 msgid "Page"
4079 3919 msgstr ""
4080 3920
4081 -#. Source: src/components/sidebarGroups.ts:81
3921 +#. Source: src/components/sidebarGroups.ts:71
4082 3922 #: assets/admin.js
4083 3923 msgid "Page, object and browser caching, plus preload."
4084 3924 msgstr ""
4085 3925
@@ -4160,35 +4000,18 @@
4160 4000 #: assets/admin.js
4161 4001 msgid "Preload"
4162 4002 msgstr ""
4163 4003
4164 -#. Source: src/App.tsx:423
4004 +#. Source: src/App.tsx:390
4165 4005 #: assets/admin.js
4166 4006 msgid "Preload could not start"
4167 4007 msgstr ""
4168 4008
4169 -#. Source: src/App.tsx:422
4009 +#. Source: src/App.tsx:388
4170 4010 #: assets/admin.js
4171 -msgid "Preload could not start: %s"
4011 +msgid "Preload started"
4172 4012 msgstr ""
4173 4013
4174 -#. Source: src/App.tsx:410
4175 -#: assets/admin.js
4176 -msgid "Preload found no pages to warm"
4177 -msgstr ""
4178 -
4179 -#. Source: src/App.tsx:409
4180 -#: assets/admin.js
4181 -msgid "Preload found no pages to warm: %s"
4182 -msgstr ""
4183 -
4184 -#. Source: src/App.tsx:399
4185 -#: assets/admin.js
4186 -msgid "Preloading %d page"
4187 -msgid_plural "Preloading %d pages"
4188 -msgstr[0] ""
4189 -msgstr[1] ""
4190 -
4191 4014 #. Source: src/upsell/ProDemo.tsx:118
4192 4015 #: assets/admin.js
4193 4016 msgid "Preview"
4194 4017 msgstr ""
@@ -4328,9 +4151,9 @@
4328 4151 #: assets/admin.js
4329 4152 msgid "Recent cache and settings activity."
4330 4153 msgstr ""
4331 4154
4332 -#. Source: src/components/cache/TrendCharts.tsx:153
4155 +#. Source: src/components/cache/TrendCharts.tsx:148
4333 4156 #: assets/admin.js
4334 4157 msgid "Recent changes"
4335 4158 msgstr ""
4336 4159
@@ -4354,9 +4177,9 @@
4354 4177 #: assets/admin.js
4355 4178 msgid "Refresh activity log"
4356 4179 msgstr ""
4357 4180
4358 -#. Source: src/components/cache/TrendCharts.tsx:113
4181 +#. Source: src/components/cache/TrendCharts.tsx:108
4359 4182 #: assets/admin.js
4360 4183 msgid "Refresh trends"
4361 4184 msgstr ""
4362 4185
@@ -4440,9 +4263,9 @@
4440 4263 #: assets/admin.js
4441 4264 msgid "Run test"
4442 4265 msgstr ""
4443 4266
4444 -#. Source: src/components/cache/TrendCharts.tsx:144
4267 +#. Source: src/components/cache/TrendCharts.tsx:139
4445 4268 #: assets/admin.js
4446 4269 msgid "Run the benchmark at least twice to see a trend."
4447 4270 msgstr ""
4448 4271
@@ -4608,9 +4431,9 @@
4608 4431 #: assets/admin.js
4609 4432 msgid "Size"
4610 4433 msgstr ""
4611 4434
4612 -#. Source: src/components/sidebarGroups.ts:102
4435 +#. Source: src/components/sidebarGroups.ts:92
4613 4436 #: assets/admin.js
4614 4437 msgid "Speed score, diagnostics and analytics."
4615 4438 msgstr ""
4616 4439
@@ -4653,9 +4476,9 @@
4653 4476 #: assets/admin.js
4654 4477 msgid "Take over the page cache from %s?"
4655 4478 msgstr ""
4656 4479
4657 -#. Source: src/components/cache/TrendCharts.tsx:245
4480 +#. Source: src/components/cache/TrendCharts.tsx:240
4658 4481 #: assets/admin.js
4659 4482 msgid "target ≥80%"
4660 4483 msgstr ""
4661 4484
@@ -4725,9 +4548,9 @@
4725 4548 msgid "Token"
4726 4549 msgstr ""
4727 4550
4728 4551 #. Source: src/components/LogsView.tsx:34
4729 -#. Source: src/components/sidebarGroups.ts:107
4552 +#. Source: src/components/sidebarGroups.ts:97
4730 4553 #: assets/admin.js
4731 4554 msgid "Tools"
4732 4555 msgstr ""
4733 4556
@@ -4735,9 +4558,9 @@
4735 4558 #: assets/admin.js
4736 4559 msgid "Trends"
4737 4560 msgstr ""
4738 4561
4739 -#. Source: src/components/cache/TrendCharts.tsx:131
4562 +#. Source: src/components/cache/TrendCharts.tsx:126
4740 4563 #: assets/admin.js
4741 4564 msgid "Trends appear after a couple of days of traffic. The daily series is being collected now."
4742 4565 msgstr ""
4743 4566
@@ -4765,9 +4588,9 @@
4765 4588 #: assets/admin.js
4766 4589 msgid "Turn on the page cache to start serving pages instantly."
4767 4590 msgstr ""
4768 4591
4769 -#. Source: src/components/cache/TrendCharts.tsx:278
4592 +#. Source: src/components/cache/TrendCharts.tsx:273
4770 4593 #: assets/admin.js
4771 4594 msgid "uncached"
4772 4595 msgstr ""
4773 4596
@@ -4816,9 +4639,9 @@
4816 4639 #: assets/admin.js
4817 4640 msgid "Want a hand?"
4818 4641 msgstr ""
4819 4642
4820 -#. Source: src/onboarding/OnboardingApp.tsx:159
4643 +#. Source: src/onboarding/OnboardingApp.tsx:155
4821 4644 #: assets/admin.js
4822 4645 msgid "We couldn't load the setup wizard. Your site is unaffected — you can configure everything from the dashboard."
4823 4646 msgstr ""
4824 4647