PluginProbe
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN / 1.3.6
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN v1.3.6
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 1.1.5 All 32 releases
← All changes | languages/xspeed.pot +443 -221 1.3.3 → 1.3.6 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.3\n"
5 +"Project-Id-Version: xSpeed Cache 1.3.6\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-16T11:48:59+00:00\n"
12 +"POT-Creation-Date: 2026-09-28T10:41:59+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:8726
19 +#: includes/class-cache.php:8804
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:8740
41 +#: includes/class-cache.php:8818
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:4170
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:5123
139 139 msgid "Purge All"
140 140 msgstr ""
141 141
142 -#: includes/class-cache.php:5120
142 +#: includes/class-cache.php:5127
143 143 msgid "Purge Page / Static Cache"
144 144 msgstr ""
145 145
146 -#: includes/class-cache.php:5124
146 +#: includes/class-cache.php:5131
147 147 msgid "Purge CSS / JS Cache"
148 148 msgstr ""
149 149
150 -#: includes/class-cache.php:5128
150 +#: includes/class-cache.php:5135
151 151 msgid "Purge Object Cache"
152 152 msgstr ""
153 153
154 -#: includes/class-cache.php:5132
154 +#: includes/class-cache.php:5139
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:5386
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:5392
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:5630
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:5637
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:5640
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:5710
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:5716
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:5790
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:5793
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:5823
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:5880
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:5881
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:5883
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:5898
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:5990
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:6005
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:6006
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:6023
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:6041
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:6042
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:6053
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:6057
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:8218
255 +#: includes/class-cache.php:8296
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:8225
261 +#: includes/class-cache.php:8303
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:8280
267 +#: includes/class-cache.php:8358
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:8287
272 +#: includes/class-cache.php:8365
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:8290
277 +#: includes/class-cache.php:8368
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:8291
281 +#: includes/class-cache.php:8369
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:8292
285 +#: includes/class-cache.php:8370
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:8293
289 +#: includes/class-cache.php:8371
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:8294
293 +#: includes/class-cache.php:8372
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:8295
297 +#: includes/class-cache.php:8373
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:8296
301 +#: includes/class-cache.php:8374
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:8298
305 +#: includes/class-cache.php:8376
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:8809
309 +#: includes/class-cache.php:8887
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:151
733 +#: includes/class-preloader.php:260
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:159
739 +#: includes/class-preloader.php:268
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:166
745 +#: includes/class-preloader.php:275
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:622
751 +#: includes/class-preloader.php:741
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:635
757 +#: includes/class-preloader.php:754
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
@@ -986,9 +986,9 @@
986 986 #: includes/class-rest-api.php:352
987 987 msgid "The id argument is required."
988 988 msgstr ""
989 989
990 -#: includes/class-rest-api.php:472
990 +#: includes/class-rest-api.php:479
991 991 msgid "dashboard"
992 992 msgstr ""
993 993
994 994 #: includes/class-rest-manager.php:83
@@ -1084,8 +1084,9 @@
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:309
1088 1089 msgid "Play video"
1089 1090 msgstr ""
1090 1091
1091 1092 #: includes/modules/AIPrivacy/AIPrivacyModule.php:49
@@ -1092,9 +1093,9 @@
1092 1093 msgid "AI Privacy"
1093 1094 msgstr ""
1094 1095
1095 1096 #: includes/modules/AIPrivacy/AIPrivacyModule.php:51
1096 -msgid "Govern whether AI-powered features (Pro) may collect data from your visitors. The off-switch is here in Free because privacy is a fundamental right, not a paid feature."
1097 +msgid "Decide whether AI features may use your visitors' data, and what the consent banner says. Applies even before you install Pro."
1097 1098 msgstr ""
1098 1099
1099 1100 #: includes/modules/AIPrivacy/AIPrivacyModule.php:70
1100 1101 msgid "Require consent before AI data collection"
@@ -1100,9 +1101,9 @@
1100 1101 msgid "Require consent before AI data collection"
1101 1102 msgstr ""
1102 1103
1103 1104 #: includes/modules/AIPrivacy/AIPrivacyModule.php:71
1104 -msgid "When ON, AI-powered features only record data after a visitor accepts the consent banner. When OFF, they collect from every visitor — only legal in regions without GDPR-style consent rules. The setting applies even if Pro is not installed (so a later Pro upgrade respects whichever choice you made)."
1105 +msgid "When ON, AI-powered features only record data after a visitor accepts the consent banner. When OFF, they collect from every visitor — only legal in regions without GDPR-style consent rules. The setting applies even if Pro is not installed (so a later Pro upgrade respects whichever choice you made): privacy is a fundamental right, not a paid feature."
1105 1106 msgstr ""
1106 1107
1107 1108 #: includes/modules/AIPrivacy/AIPrivacyModule.php:76
1108 1109 msgid "Consent banner text"
@@ -1120,60 +1121,116 @@
1120 1121 msgid "Turn off WordPress defaults you do not use — saves bytes, requests, and attack surface."
1121 1122 msgstr ""
1122 1123
1123 1124 #: includes/modules/Bloat/BloatModule.php:49
1125 +msgid "Disable Emojis"
1126 +msgstr ""
1127 +
1128 +#: includes/modules/Bloat/BloatModule.php:50
1129 +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."
1130 +msgstr ""
1131 +
1132 +#: includes/modules/Bloat/BloatModule.php:55
1124 1133 msgid "Disable Dashicons on Frontend"
1125 1134 msgstr ""
1126 1135
1127 -#: includes/modules/Bloat/BloatModule.php:50
1136 +#: includes/modules/Bloat/BloatModule.php:56
1128 1137 msgid "Drop the dashicons stylesheet from non-admin pages. Most themes do not need it. Saves ~45 KB per visitor."
1129 1138 msgstr ""
1130 1139
1131 -#: includes/modules/Bloat/BloatModule.php:55
1140 +#: includes/modules/Bloat/BloatModule.php:61
1132 1141 msgid "Disable oEmbed Discovery + wp-embed.min.js"
1133 1142 msgstr ""
1134 1143
1135 -#: includes/modules/Bloat/BloatModule.php:56
1144 +#: includes/modules/Bloat/BloatModule.php:62
1136 1145 msgid "Strip the auto-embed handlers + the embed script. Posts that paste a YouTube URL will no longer auto-render the player — embed it via a block instead. Saves a request per page."
1137 1146 msgstr ""
1138 1147
1139 -#: includes/modules/Bloat/BloatModule.php:61
1148 +#: includes/modules/Bloat/BloatModule.php:67
1140 1149 msgid "Disable RSS Feeds"
1141 1150 msgstr ""
1142 1151
1143 -#: includes/modules/Bloat/BloatModule.php:62
1152 +#: includes/modules/Bloat/BloatModule.php:68
1144 1153 msgid "Return a 404 on /feed/ and similar endpoints. Useful for sites that do not publish feeds and want to cut feed-fetcher traffic."
1145 1154 msgstr ""
1146 1155
1147 -#: includes/modules/Bloat/BloatModule.php:67
1156 +#: includes/modules/Bloat/BloatModule.php:73
1148 1157 msgid "Disable XML-RPC"
1149 1158 msgstr ""
1150 1159
1151 -#: includes/modules/Bloat/BloatModule.php:68
1160 +#: includes/modules/Bloat/BloatModule.php:74
1152 1161 msgid "Disable the legacy xmlrpc.php endpoint. Cuts pingback brute-force noise; safe to disable unless you use a remote WP client (Jetpack, WordPress mobile app)."
1153 1162 msgstr ""
1154 1163
1155 -#: includes/modules/Bloat/BloatModule.php:73
1164 +#: includes/modules/Bloat/BloatModule.php:79
1156 1165 msgid "Strip jQuery Migrate on Frontend"
1157 1166 msgstr ""
1158 1167
1159 -#: includes/modules/Bloat/BloatModule.php:74
1168 +#: includes/modules/Bloat/BloatModule.php:80
1160 1169 msgid "Remove the jquery-migrate compatibility shim from non-admin pages. Saves ~10 KB; safe on modern themes / plugins."
1161 1170 msgstr ""
1162 1171
1163 -#: includes/modules/Bloat/BloatModule.php:79
1172 +#: includes/modules/Bloat/BloatModule.php:85
1173 +msgid "Strip Block-Editor Styles on Frontend"
1174 +msgstr ""
1175 +
1176 +#: includes/modules/Bloat/BloatModule.php:86
1177 +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."
1178 +msgstr ""
1179 +
1180 +#: includes/modules/Bloat/BloatModule.php:91
1181 +msgid "Remove RSD Link"
1182 +msgstr ""
1183 +
1184 +#: includes/modules/Bloat/BloatModule.php:92
1185 +msgid "Drop the Really Simple Discovery link from the page head. Only old desktop blogging clients read it."
1186 +msgstr ""
1187 +
1188 +#: includes/modules/Bloat/BloatModule.php:97
1189 +msgid "Remove Shortlink"
1190 +msgstr ""
1191 +
1192 +#: includes/modules/Bloat/BloatModule.php:98
1193 +msgid "Drop the ?p=123 shortlink tag and header from posts and pages. The shortlinks keep working; they are just no longer advertised."
1194 +msgstr ""
1195 +
1196 +#: includes/modules/Bloat/BloatModule.php:103
1197 +msgid "Remove REST API Links"
1198 +msgstr ""
1199 +
1200 +#: includes/modules/Bloat/BloatModule.php:104
1201 +msgid "Drop the /wp-json/ discovery link tag and Link header. The REST API itself stays on; to block it, use the setting below."
1202 +msgstr ""
1203 +
1204 +#: includes/modules/Bloat/BloatModule.php:109
1205 +msgid "Hide WordPress Version"
1206 +msgstr ""
1207 +
1208 +#: includes/modules/Bloat/BloatModule.php:110
1209 +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."
1210 +msgstr ""
1211 +
1212 +#: includes/modules/Bloat/BloatModule.php:115
1213 +msgid "Disable Self-Pingbacks"
1214 +msgstr ""
1215 +
1216 +#: includes/modules/Bloat/BloatModule.php:116
1217 +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."
1218 +msgstr ""
1219 +
1220 +#: includes/modules/Bloat/BloatModule.php:121
1164 1221 msgid "Restrict REST API to Logged-In Users"
1165 1222 msgstr ""
1166 1223
1167 -#: includes/modules/Bloat/BloatModule.php:80
1224 +#: includes/modules/Bloat/BloatModule.php:122
1168 1225 msgid "Block /wp-json/ for anonymous requests. WooCommerce checkout, contact-form submissions, and many block-editor previews need anonymous REST — keep this off unless you know your site does not depend on it."
1169 1226 msgstr ""
1170 1227
1171 -#: includes/modules/Bloat/BloatModule.php:180
1228 +#: includes/modules/Bloat/BloatModule.php:380
1172 1229 msgid "Feeds are disabled."
1173 1230 msgstr ""
1174 1231
1175 -#: includes/modules/Bloat/BloatModule.php:229
1232 +#: includes/modules/Bloat/BloatModule.php:429
1176 1233 msgid "Anonymous REST access is disabled on this site."
1177 1234 msgstr ""
1178 1235
1179 1236 #: includes/modules/BrowserCache/BrowserCacheModule.php:32
@@ -1318,8 +1375,16 @@
1318 1375 #: includes/modules/Cache/CacheModule.php:277
1319 1376 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."
1320 1377 msgstr ""
1321 1378
1379 +#: includes/modules/Cache/CacheModule.php:290
1380 +msgid "LiteSpeed Static Fast Path"
1381 +msgstr ""
1382 +
1383 +#: includes/modules/Cache/CacheModule.php:291
1384 +msgid "Serve cache hits straight from the web server via .htaccess instead of the PHP drop-in. No PHP runs on a hit, so the saving depends on how quickly PHP answers on this host — a few milliseconds on a fast server, far more where PHP is the bottleneck. The trade: LiteSpeed cannot add the X-XSpeed-Cache header to statically served pages, and those hits are not counted in the dashboard hit ratio. Leave off to keep every hit visibly tagged and counted."
1385 +msgstr ""
1386 +
1322 1387 #: includes/modules/CacheCoverage/CacheCoverageModule.php:36
1323 1388 msgid "Advanced Cache"
1324 1389 msgstr ""
1325 1390
@@ -1531,9 +1596,35 @@
1531 1596 #: includes/modules/Database/DatabaseModule.php:57
1532 1597 msgid "Which cleanup categories run on the schedule above. Leave empty to keep auto-cleanup disabled even if a schedule is set."
1533 1598 msgstr ""
1534 1599
1535 -#: includes/modules/Database/DatabaseModule.php:149
1600 +#: includes/modules/Database/DatabaseModule.php:62
1601 +msgid "Limit Post Revisions"
1602 +msgstr ""
1603 +
1604 +#: includes/modules/Database/DatabaseModule.php:63
1605 +msgid "Cap how many revisions WordPress keeps for each post. Cleanup removes revisions that already exist; this stops them piling up again."
1606 +msgstr ""
1607 +
1608 +#: includes/modules/Database/DatabaseModule.php:70
1609 +msgid "Revisions to Keep"
1610 +msgstr ""
1611 +
1612 +#: includes/modules/Database/DatabaseModule.php:71
1613 +msgid "Used when Limit Post Revisions is on. 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."
1614 +msgstr ""
1615 +
1616 +#: includes/modules/Database/DatabaseModule.php:125
1617 +msgid "The revision limit is set outside xSpeed"
1618 +msgstr ""
1619 +
1620 +#. translators: %s: value of WP_POST_REVISIONS, e.g. 5 or false.
1621 +#: includes/modules/Database/DatabaseModule.php:128
1622 +#, php-format
1623 +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."
1624 +msgstr ""
1625 +
1626 +#: includes/modules/Database/DatabaseModule.php:232
1536 1627 msgid "Provide at least one cleanup type."
1537 1628 msgstr ""
1538 1629
1539 1630 #: includes/modules/Fonts/FontsModule.php:35
@@ -1624,74 +1715,110 @@
1624 1715 #: includes/modules/Health/HealthModule.php:66
1625 1716 msgid "xSpeed static-rewrite cache"
1626 1717 msgstr ""
1627 1718
1628 -#: includes/modules/Health/HealthModule.php:81
1719 +#: includes/modules/Health/HealthModule.php:125
1629 1720 msgid "xSpeed static-rewrite cache is active"
1630 1721 msgstr ""
1631 1722
1632 -#: includes/modules/Health/HealthModule.php:84
1723 +#: includes/modules/Health/HealthModule.php:128
1633 1724 #: assets/admin.js
1634 1725 msgid "Performance"
1635 1726 msgstr ""
1636 1727
1637 -#: includes/modules/Health/HealthModule.php:87
1728 +#: includes/modules/Health/HealthModule.php:131
1638 1729 msgid "Cache hits bypass PHP for ~5-15ms TTFB."
1639 1730 msgstr ""
1640 1731
1641 -#: includes/modules/Health/HealthModule.php:93
1732 +#: includes/modules/Health/HealthModule.php:137
1642 1733 msgid "xSpeed cache is disabled"
1643 1734 msgstr ""
1644 1735
1645 -#: includes/modules/Health/HealthModule.php:95
1736 +#: includes/modules/Health/HealthModule.php:139
1646 1737 msgid "Enable the page cache in the xSpeed dashboard to start serving cached HTML for non-logged-in visitors."
1647 1738 msgstr ""
1648 1739
1649 -#: includes/modules/Health/HealthModule.php:108
1740 +#: includes/modules/Health/HealthModule.php:155
1741 +msgid "xSpeed is serving cache hits through PHP (LiteSpeed)"
1742 +msgstr ""
1743 +
1744 +#: includes/modules/Health/HealthModule.php:157
1745 +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."
1746 +msgstr ""
1747 +
1748 +#: includes/modules/Health/HealthModule.php:159
1650 1749 msgid "xSpeed is serving cache hits through PHP"
1651 1750 msgstr ""
1652 1751
1653 -#: includes/modules/Health/HealthModule.php:110
1752 +#: includes/modules/Health/HealthModule.php:161
1654 1753 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."
1655 1754 msgstr ""
1656 1755
1657 -#: includes/modules/Health/HealthModule.php:112
1756 +#: includes/modules/Health/HealthModule.php:163
1757 +#: includes/modules/Health/HealthModule.php:202
1658 1758 msgid "xSpeed static rewrite is off (Separate Mobile Cache)"
1659 1759 msgstr ""
1660 1760
1661 -#: includes/modules/Health/HealthModule.php:114
1761 +#: includes/modules/Health/HealthModule.php:165
1762 +#: includes/modules/Health/HealthModule.php:204
1662 1763 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."
1663 1764 msgstr ""
1664 1765
1665 -#: includes/modules/Health/HealthModule.php:116
1766 +#: includes/modules/Health/HealthModule.php:169
1666 1767 msgid "xSpeed .htaccess rewrite block is missing"
1667 1768 msgstr ""
1668 1769
1669 -#: includes/modules/Health/HealthModule.php:118
1770 +#: includes/modules/Health/HealthModule.php:171
1670 1771 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."
1671 1772 msgstr ""
1672 1773
1673 -#: includes/modules/Health/HealthModule.php:125
1774 +#: includes/modules/Health/HealthModule.php:196
1775 +msgid "xSpeed nginx static rewrite is active"
1776 +msgstr ""
1777 +
1778 +#: includes/modules/Health/HealthModule.php:198
1779 +msgid "nginx is serving cache hits directly — PHP is bypassed (~5-15ms TTFB). No action needed."
1780 +msgstr ""
1781 +
1782 +#: includes/modules/Health/HealthModule.php:208
1783 +msgid "xSpeed is serving cache hits through PHP (pages contain nonces)"
1784 +msgstr ""
1785 +
1786 +#: includes/modules/Health/HealthModule.php:210
1787 +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."
1788 +msgstr ""
1789 +
1790 +#: includes/modules/Health/HealthModule.php:219
1791 +msgid "xSpeed could not verify the nginx static rewrite"
1792 +msgstr ""
1793 +
1794 +#. translators: %s: the reason the probe could not complete.
1795 +#: includes/modules/Health/HealthModule.php:224
1796 +#, php-format
1797 +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"
1798 +msgstr ""
1799 +
1800 +#: includes/modules/Health/HealthModule.php:232
1674 1801 msgid "xSpeed nginx server config required"
1675 1802 msgstr ""
1676 1803
1677 -#: includes/modules/Health/HealthModule.php:127
1804 +#: includes/modules/Health/HealthModule.php:234
1678 1805 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:"
1679 1806 msgstr ""
1680 1807
1681 -#: includes/modules/Health/HealthModule.php:136
1808 +#: includes/modules/Health/HealthModule.php:243
1682 1809 msgid "xSpeed PHP drop-in cache active"
1683 1810 msgstr ""
1684 1811
1685 -#: includes/modules/Health/HealthModule.php:138
1812 +#: includes/modules/Health/HealthModule.php:245
1686 1813 msgid "Static-rewrite caching needs Apache, LiteSpeed, or nginx. The PHP drop-in is still serving cache hits at ~85ms TTFB on this server."
1687 1814 msgstr ""
1688 1815
1689 -#: includes/modules/Health/HealthModule.php:144
1816 +#: includes/modules/Health/HealthModule.php:251
1690 1817 msgid "Health"
1691 1818 msgstr ""
1692 1819
1693 -#: includes/modules/Health/HealthModule.php:146
1820 +#: includes/modules/Health/HealthModule.php:253
1694 1821 msgid "Diagnostics, hit ratio, and recent cache activity."
1695 1822 msgstr ""
1696 1823
1697 1824 #: includes/modules/Heartbeat/HeartbeatModule.php:38
@@ -1777,29 +1904,37 @@
1777 1904 #: includes/modules/Lazy/LazyModule.php:78
1778 1905 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."
1779 1906 msgstr ""
1780 1907
1781 -#: includes/modules/Lazy/LazyModule.php:85
1908 +#: includes/modules/Lazy/LazyModule.php:83
1909 +msgid "Lazy-load Background Images"
1910 +msgstr ""
1911 +
1912 +#: includes/modules/Lazy/LazyModule.php:84
1913 +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."
1914 +msgstr ""
1915 +
1916 +#: includes/modules/Lazy/LazyModule.php:91
1782 1917 msgid "Eager-load First N Images"
1783 1918 msgstr ""
1784 1919
1785 -#: includes/modules/Lazy/LazyModule.php:86
1786 -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."
1920 +#: includes/modules/Lazy/LazyModule.php:92
1921 +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. Lazy-loaded background images use the same number."
1787 1922 msgstr ""
1788 1923
1789 -#: includes/modules/Lazy/LazyModule.php:91
1924 +#: includes/modules/Lazy/LazyModule.php:97
1790 1925 msgid "Add Missing Image Dimensions"
1791 1926 msgstr ""
1792 1927
1793 -#: includes/modules/Lazy/LazyModule.php:92
1928 +#: includes/modules/Lazy/LazyModule.php:98
1794 1929 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."
1795 1930 msgstr ""
1796 1931
1797 -#: includes/modules/Lazy/LazyModule.php:98
1932 +#: includes/modules/Lazy/LazyModule.php:104
1798 1933 msgid "Excluded Images"
1799 1934 msgstr ""
1800 1935
1801 -#: includes/modules/Lazy/LazyModule.php:99
1936 +#: includes/modules/Lazy/LazyModule.php:105
1802 1937 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."
1803 1938 msgstr ""
1804 1939
1805 1940 #. translators: %s: command name.
@@ -1807,88 +1942,92 @@
1807 1942 #, php-format
1808 1943 msgid "Unknown command: %s. Call list_commands to see what is available."
1809 1944 msgstr ""
1810 1945
1811 -#: includes/modules/Mcp/McpModule.php:111
1946 +#: includes/modules/Mcp/McpModule.php:149
1812 1947 #: assets/admin.js
1813 1948 msgid "MCP Server"
1814 1949 msgstr ""
1815 1950
1816 -#: includes/modules/Mcp/McpModule.php:113
1817 -msgid "Control this site's cache from Claude and other AI agents."
1951 +#: includes/modules/Mcp/McpModule.php:151
1952 +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."
1818 1953 msgstr ""
1819 1954
1820 -#: includes/modules/Mcp/McpModule.php:979
1955 +#: includes/modules/Mcp/McpModule.php:440
1956 +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."
1957 +msgstr ""
1958 +
1959 +#: includes/modules/Mcp/McpModule.php:1307
1821 1960 msgid "Invalid or expired attach request."
1822 1961 msgstr ""
1823 1962
1824 -#: includes/modules/Mcp/McpModule.php:1093
1963 +#: includes/modules/Mcp/McpModule.php:1423
1825 1964 msgid "You must be an administrator to authorize an AI agent to control this site."
1826 1965 msgstr ""
1827 1966
1828 -#: includes/modules/Mcp/McpModule.php:1100
1967 +#: includes/modules/Mcp/McpModule.php:1430
1829 1968 msgid "Security check failed. Please try connecting again."
1830 1969 msgstr ""
1831 1970
1832 -#: includes/modules/Mcp/McpModule.php:1227
1971 +#: includes/modules/Mcp/McpModule.php:1557
1833 1972 msgid "Read-only — inspect cache status and settings."
1834 1973 msgstr ""
1835 1974
1836 -#: includes/modules/Mcp/McpModule.php:1228
1975 +#: includes/modules/Mcp/McpModule.php:1558
1837 1976 msgid "Read & write — purge caches, toggle caching, and change settings."
1838 1977 msgstr ""
1839 1978
1840 -#: includes/modules/Mcp/McpModule.php:1229
1979 +#: includes/modules/Mcp/McpModule.php:1559
1841 1980 msgid "An AI agent"
1842 1981 msgstr ""
1843 1982
1844 -#: includes/modules/Mcp/McpModule.php:1248
1983 +#: includes/modules/Mcp/McpModule.php:1578
1845 1984 msgid "Authorize AI access"
1846 1985 msgstr ""
1847 1986
1848 -#: includes/modules/Mcp/McpModule.php:1259
1987 +#: includes/modules/Mcp/McpModule.php:1589
1849 1988 msgid "Connect to xSpeed"
1850 1989 msgstr ""
1851 1990
1852 1991 #. translators: %s: AI client name.
1853 -#: includes/modules/Mcp/McpModule.php:1261
1992 +#: includes/modules/Mcp/McpModule.php:1591
1854 1993 #, php-format
1855 1994 msgid "%s wants to manage the cache on this site."
1856 1995 msgstr ""
1857 1996
1858 -#: includes/modules/Mcp/McpModule.php:1262
1997 +#: includes/modules/Mcp/McpModule.php:1592
1859 1998 msgid "Site"
1860 1999 msgstr ""
1861 2000
1862 -#: includes/modules/Mcp/McpModule.php:1263
2001 +#: includes/modules/Mcp/McpModule.php:1593
1863 2002 msgid "Signed in as"
1864 2003 msgstr ""
1865 2004
1866 -#: includes/modules/Mcp/McpModule.php:1264
2005 +#: includes/modules/Mcp/McpModule.php:1594
1867 2006 msgid "Access"
1868 2007 msgstr ""
1869 2008
1870 -#: includes/modules/Mcp/McpModule.php:1269
2009 +#: includes/modules/Mcp/McpModule.php:1599
1871 2010 msgid "Deny"
1872 2011 msgstr ""
1873 2012
1874 -#: includes/modules/Mcp/McpModule.php:1270
2013 +#: includes/modules/Mcp/McpModule.php:1600
1875 2014 msgid "Approve"
1876 2015 msgstr ""
1877 2016
1878 -#: includes/modules/Mcp/McpModule.php:1280
2017 +#: includes/modules/Mcp/McpModule.php:1610
1879 2018 msgid "Authorization error"
1880 2019 msgstr ""
1881 2020
1882 -#: includes/modules/Mcp/McpModule.php:1283
2021 +#: includes/modules/Mcp/McpModule.php:1613
1883 2022 msgid "Could not authorize"
1884 2023 msgstr ""
1885 2024
1886 -#: includes/modules/Mcp/McpModule.php:1513
2025 +#: includes/modules/Mcp/McpModule.php:1843
1887 2026 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."
1888 2027 msgstr ""
1889 2028
1890 -#: includes/modules/Mcp/McpModule.php:1514
2029 +#: includes/modules/Mcp/McpModule.php:1844
1891 2030 msgid "No AI assistant is connected. This module counts as on once you connect one."
1892 2031 msgstr ""
1893 2032
1894 2033 #: includes/modules/Mcp/Mcp_Auth.php:57
@@ -1907,47 +2046,47 @@
1907 2046 #: assets/admin.js
1908 2047 msgid "The test could not be started."
1909 2048 msgstr ""
1910 2049
1911 -#: includes/modules/Mcp/Mcp_OAuth.php:213
2050 +#: includes/modules/Mcp/Mcp_OAuth.php:261
1912 2051 msgid "Too many client registrations. Try again later."
1913 2052 msgstr ""
1914 2053
1915 2054 #. translators: %d: maximum number of redirect URIs.
1916 -#: includes/modules/Mcp/Mcp_OAuth.php:229
2055 +#: includes/modules/Mcp/Mcp_OAuth.php:277
1917 2056 #, php-format
1918 2057 msgid "At most %d redirect_uris are allowed."
1919 2058 msgstr ""
1920 2059
1921 -#: includes/modules/Mcp/Mcp_OAuth.php:241
2060 +#: includes/modules/Mcp/Mcp_OAuth.php:289
1922 2061 msgid "At least one valid redirect_uri is required."
1923 2062 msgstr ""
1924 2063
1925 -#: includes/modules/Mcp/Mcp_OAuth.php:278
2064 +#: includes/modules/Mcp/Mcp_OAuth.php:326
1926 2065 msgid "Client registration limit reached."
1927 2066 msgstr ""
1928 2067
1929 -#: includes/modules/Mcp/Mcp_OAuth.php:297
2068 +#: includes/modules/Mcp/Mcp_OAuth.php:345
1930 2069 msgid "The client registration could not be stored."
1931 2070 msgstr ""
1932 2071
1933 -#: includes/modules/Mcp/Mcp_OAuth.php:336
2072 +#: includes/modules/Mcp/Mcp_OAuth.php:384
1934 2073 msgid "Unknown client_id."
1935 2074 msgstr ""
1936 2075
1937 -#: includes/modules/Mcp/Mcp_OAuth.php:340
2076 +#: includes/modules/Mcp/Mcp_OAuth.php:388
1938 2077 msgid "redirect_uri does not match a registered value."
1939 2078 msgstr ""
1940 2079
1941 -#: includes/modules/Mcp/Mcp_OAuth.php:343
2080 +#: includes/modules/Mcp/Mcp_OAuth.php:391
1942 2081 msgid "Only response_type=code is supported."
1943 2082 msgstr ""
1944 2083
1945 -#: includes/modules/Mcp/Mcp_OAuth.php:347
2084 +#: includes/modules/Mcp/Mcp_OAuth.php:395
1946 2085 msgid "PKCE with code_challenge_method=S256 is required."
1947 2086 msgstr ""
1948 2087
1949 -#: includes/modules/Mcp/Mcp_Pairing.php:408
2088 +#: includes/modules/Mcp/Mcp_Pairing.php:451
1950 2089 msgid "No active MCP connection to change. Connect first."
1951 2090 msgstr ""
1952 2091
1953 2092 #. translators: %s: tool name.
@@ -2161,9 +2300,9 @@
2161 2300 msgid "Migrate"
2162 2301 msgstr ""
2163 2302
2164 2303 #: includes/modules/Migration/MigrationModule.php:548
2165 -#: includes/modules/Minify/MinifyModule.php:35
2304 +#: includes/modules/Minify/MinifyModule.php:36
2166 2305 msgid "Minify"
2167 2306 msgstr ""
2168 2307
2169 2308 #: includes/modules/Migration/MigrationModule.php:549
@@ -2254,121 +2393,139 @@
2254 2393 #, php-format
2255 2394 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."
2256 2395 msgstr ""
2257 2396
2258 -#: includes/modules/Minify/MinifyModule.php:34
2397 +#: includes/modules/Minify/MinifyModule.php:35
2259 2398 msgid "CSS & JavaScript"
2260 2399 msgstr ""
2261 2400
2262 -#: includes/modules/Minify/MinifyModule.php:37
2401 +#: includes/modules/Minify/MinifyModule.php:38
2263 2402 msgid "Strip whitespace and rewrite enqueued CSS / JS."
2264 2403 msgstr ""
2265 2404
2266 -#: includes/modules/Minify/MinifyModule.php:50
2405 +#: includes/modules/Minify/MinifyModule.php:51
2267 2406 msgid "Minify HTML"
2268 2407 msgstr ""
2269 2408
2270 -#: includes/modules/Minify/MinifyModule.php:55
2409 +#: includes/modules/Minify/MinifyModule.php:56
2271 2410 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."
2272 2411 msgstr ""
2273 2412
2274 -#: includes/modules/Minify/MinifyModule.php:60
2413 +#: includes/modules/Minify/MinifyModule.php:61
2275 2414 msgid "Minify CSS"
2276 2415 msgstr ""
2277 2416
2278 -#: includes/modules/Minify/MinifyModule.php:61
2417 +#: includes/modules/Minify/MinifyModule.php:62
2279 2418 msgid "Compress and rewrite enqueued local stylesheets. External CSS is left untouched."
2280 2419 msgstr ""
2281 2420
2282 -#: includes/modules/Minify/MinifyModule.php:66
2421 +#: includes/modules/Minify/MinifyModule.php:67
2283 2422 msgid "Minify JavaScript"
2284 2423 msgstr ""
2285 2424
2286 -#: includes/modules/Minify/MinifyModule.php:67
2425 +#: includes/modules/Minify/MinifyModule.php:68
2287 2426 msgid "Compress enqueued local scripts. Disable if you hit script-loading conflicts on the frontend."
2288 2427 msgstr ""
2289 2428
2290 -#: includes/modules/Minify/MinifyModule.php:72
2429 +#: includes/modules/Minify/MinifyModule.php:73
2291 2430 msgid "Defer JavaScript"
2292 2431 msgstr ""
2293 2432
2294 -#: includes/modules/Minify/MinifyModule.php:73
2433 +#: includes/modules/Minify/MinifyModule.php:74
2295 2434 msgid "Add defer=\"defer\" to enqueued script tags so they execute after HTML parsing. jQuery + its hard dependencies are skipped automatically."
2296 2435 msgstr ""
2297 2436
2298 -#: includes/modules/Minify/MinifyModule.php:78
2437 +#: includes/modules/Minify/MinifyModule.php:79
2299 2438 msgid "Delay JavaScript Until Interaction"
2300 2439 msgstr ""
2301 2440
2302 -#: includes/modules/Minify/MinifyModule.php:79
2303 -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."
2441 +#: includes/modules/Minify/MinifyModule.php:80
2442 +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 not delayed, so the visitor is still asked before anything else runs. To delay one on purpose, name it in Delay Only These Scripts."
2304 2443 msgstr ""
2305 2444
2306 -#: includes/modules/Minify/MinifyModule.php:84
2445 +#: includes/modules/Minify/MinifyModule.php:85
2307 2446 msgid "Load CSS Asynchronously"
2308 2447 msgstr ""
2309 2448
2310 -#: includes/modules/Minify/MinifyModule.php:85
2449 +#: includes/modules/Minify/MinifyModule.php:86
2311 2450 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."
2312 2451 msgstr ""
2313 2452
2314 -#: includes/modules/Minify/MinifyModule.php:90
2453 +#: includes/modules/Minify/MinifyModule.php:91
2315 2454 msgid "Remove Asset Query Strings"
2316 2455 msgstr ""
2317 2456
2318 -#: includes/modules/Minify/MinifyModule.php:91
2457 +#: includes/modules/Minify/MinifyModule.php:92
2319 2458 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."
2320 2459 msgstr ""
2321 2460
2322 -#: includes/modules/Minify/MinifyModule.php:97
2461 +#: includes/modules/Minify/MinifyModule.php:98
2323 2462 msgid "Defer / Delay Exclusions"
2324 2463 msgstr ""
2325 2464
2326 -#: includes/modules/Minify/MinifyModule.php:98
2327 -msgid "Script handles OR URL substrings that skip defer + delay. Defaults exclude jQuery (most themes depend on it being available synchronously). One per line."
2465 +#: includes/modules/Minify/MinifyModule.php:99
2466 +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 skipped without being listed here. An entry here also wins over the same script in Delay Only These Scripts. One per line."
2328 2467 msgstr ""
2329 2468
2330 -#: includes/modules/Minify/MinifyModule.php:112
2469 +#: includes/modules/Minify/MinifyModule.php:113
2331 2470 msgid "Delay Only These Scripts"
2332 2471 msgstr ""
2333 2472
2334 -#: includes/modules/Minify/MinifyModule.php:113
2335 -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."
2473 +#: includes/modules/Minify/MinifyModule.php:114
2474 +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. Cookie-consent banners are only delayed when an entry names one, for example notificationx or cookiebot. A broad entry such as /plugins/ does not delay them. One per line."
2336 2475 msgstr ""
2337 2476
2338 -#: includes/modules/Minify/MinifyModule.php:121
2477 +#: includes/modules/Minify/MinifyModule.php:115
2478 +msgid "Consent banners and Delay JS"
2479 +msgstr ""
2480 +
2481 +#. translators: %s: comma-separated list of consent plugins, each followed by the word to type in parentheses.
2482 +#: includes/modules/Minify/MinifyModule.php:118
2483 +#, php-format
2484 +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 Defer / Delay Exclusions always wins."
2485 +msgstr ""
2486 +
2487 +#: includes/modules/Minify/MinifyModule.php:126
2488 +msgid "Smart Delay (Carry Inline Snippets)"
2489 +msgstr ""
2490 +
2491 +#: includes/modules/Minify/MinifyModule.php:127
2492 +msgid "Normally a script is left running at load when inline code on the page depends on it — on builder pages that keeps most scripts eager even with Delay JavaScript on. Smart Delay postpones those scripts anyway and parks their inline snippets with them; everything replays in page order on the first interaction. The most aggressive setting on this page: test menus, sliders, and toggles before leaving it on. Exclusions above still win, and consent banners still run first."
2493 +msgstr ""
2494 +
2495 +#: includes/modules/Minify/MinifyModule.php:135
2339 2496 msgid "Delay Failsafe Timeout (ms)"
2340 2497 msgstr ""
2341 2498
2342 -#: includes/modules/Minify/MinifyModule.php:123
2499 +#: includes/modules/Minify/MinifyModule.php:137
2343 2500 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."
2344 2501 msgstr ""
2345 2502
2346 -#: includes/modules/Minify/MinifyModule.php:129
2503 +#: includes/modules/Minify/MinifyModule.php:143
2347 2504 msgid "Combine CSS Files"
2348 2505 msgstr ""
2349 2506
2350 -#: includes/modules/Minify/MinifyModule.php:130
2507 +#: includes/modules/Minify/MinifyModule.php:144
2351 2508 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."
2352 2509 msgstr ""
2353 2510
2354 -#: includes/modules/Minify/MinifyModule.php:135
2511 +#: includes/modules/Minify/MinifyModule.php:149
2355 2512 msgid "Combine JavaScript Files"
2356 2513 msgstr ""
2357 2514
2358 -#: includes/modules/Minify/MinifyModule.php:136
2515 +#: includes/modules/Minify/MinifyModule.php:150
2359 2516 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."
2360 2517 msgstr ""
2361 2518
2362 -#: includes/modules/Minify/MinifyModule.php:273
2519 +#: includes/modules/Minify/MinifyModule.php:287
2363 2520 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."
2364 2521 msgstr ""
2365 2522
2366 -#: includes/modules/Minify/MinifyModule.php:274
2523 +#: includes/modules/Minify/MinifyModule.php:288
2367 2524 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."
2368 2525 msgstr ""
2369 2526
2370 -#: includes/modules/Minify/MinifyModule.php:279
2527 +#: includes/modules/Minify/MinifyModule.php:293
2371 2528 msgid "HTML minification is on but currently paused"
2372 2529 msgstr ""
2373 2530
2374 2531 #: includes/modules/ObjectCache/ObjectCacheModule.php:34
@@ -2482,57 +2639,67 @@
2482 2639 #: includes/modules/Preloader/PreloaderModule.php:35
2483 2640 msgid "Crawl the sitemap to warm cache so visitors never hit a cold MISS."
2484 2641 msgstr ""
2485 2642
2486 -#: includes/modules/Preloader/PreloaderModule.php:48
2643 +#: includes/modules/Preloader/PreloaderModule.php:61
2644 +msgid "Your server is blocking the xSpeed cache warmer"
2645 +msgstr ""
2646 +
2647 +#. translators: 1: HTTP status code, 2: the user-agent xSpeed sends.
2648 +#: includes/modules/Preloader/PreloaderModule.php:64
2649 +#, php-format
2650 +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."
2651 +msgstr ""
2652 +
2653 +#: includes/modules/Preloader/PreloaderModule.php:77
2487 2654 msgid "Enable Preloader"
2488 2655 msgstr ""
2489 2656
2490 -#: includes/modules/Preloader/PreloaderModule.php:49
2657 +#: includes/modules/Preloader/PreloaderModule.php:78
2491 2658 msgid "When on, xSpeed crawls the sitemap on the schedule below and warms the page cache."
2492 2659 msgstr ""
2493 2660
2494 -#: includes/modules/Preloader/PreloaderModule.php:61
2661 +#: includes/modules/Preloader/PreloaderModule.php:90
2495 2662 msgid "Schedule"
2496 2663 msgstr ""
2497 2664
2498 -#: includes/modules/Preloader/PreloaderModule.php:62
2665 +#: includes/modules/Preloader/PreloaderModule.php:91
2499 2666 msgid "How often to start a fresh crawl. Manual means you trigger it from the dashboard."
2500 2667 msgstr ""
2501 2668
2502 -#: includes/modules/Preloader/PreloaderModule.php:70
2669 +#: includes/modules/Preloader/PreloaderModule.php:99
2503 2670 msgid "Batch Size"
2504 2671 msgstr ""
2505 2672
2506 -#: includes/modules/Preloader/PreloaderModule.php:71
2673 +#: includes/modules/Preloader/PreloaderModule.php:100
2507 2674 msgid "URLs warmed per cron tick. Higher = faster crawl, more load on the origin."
2508 2675 msgstr ""
2509 2676
2510 -#: includes/modules/Preloader/PreloaderModule.php:77
2677 +#: includes/modules/Preloader/PreloaderModule.php:106
2511 2678 msgid "Sitemap URL (optional)"
2512 2679 msgstr ""
2513 2680
2514 -#: includes/modules/Preloader/PreloaderModule.php:78
2681 +#: includes/modules/Preloader/PreloaderModule.php:107
2515 2682 msgid "Override the auto-detected WordPress core sitemap (/wp-sitemap.xml). Leave blank for default."
2516 2683 msgstr ""
2517 2684
2518 -#: includes/modules/Preloader/PreloaderModule.php:84
2685 +#: includes/modules/Preloader/PreloaderModule.php:113
2519 2686 msgid "Warm new content immediately"
2520 2687 msgstr ""
2521 2688
2522 -#: includes/modules/Preloader/PreloaderModule.php:85
2689 +#: includes/modules/Preloader/PreloaderModule.php:114
2523 2690 msgid "When a post or page is published, fetch it once so the first visitor sees a cache HIT, not a cold MISS."
2524 2691 msgstr ""
2525 2692
2526 -#: includes/modules/Preloader/PreloaderModule.php:91
2693 +#: includes/modules/Preloader/PreloaderModule.php:120
2527 2694 msgid "Re-warm after comments"
2528 2695 msgstr ""
2529 2696
2530 -#: includes/modules/Preloader/PreloaderModule.php:92
2697 +#: includes/modules/Preloader/PreloaderModule.php:121
2531 2698 msgid "Re-warm a page after a comment is posted (Cache purges the page on comment; this fetches it back into cache)."
2532 2699 msgstr ""
2533 2700
2534 -#: includes/modules/Preloader/PreloaderModule.php:268
2701 +#: includes/modules/Preloader/PreloaderModule.php:297
2535 2702 msgid "Enable the preloader before starting a crawl."
2536 2703 msgstr ""
2537 2704
2538 2705 #: includes/modules/Privacy/PrivacyModule.php:47
@@ -2539,17 +2706,17 @@
2539 2706 msgid "Privacy & usage data"
2540 2707 msgstr ""
2541 2708
2542 2709 #: includes/modules/Privacy/PrivacyModule.php:49
2543 -msgid "Control the anonymous usage analytics you were asked about in the setup wizard."
2710 +msgid "Control the usage analytics you were asked about in the setup wizard."
2544 2711 msgstr ""
2545 2712
2546 2713 #: includes/modules/Privacy/PrivacyModule.php:58
2547 -msgid "Share anonymous usage data"
2714 +msgid "Share usage data"
2548 2715 msgstr ""
2549 2716
2550 2717 #: includes/modules/Privacy/PrivacyModule.php:59
2551 -msgid "Share anonymous basics — WordPress & PHP version, active theme & plugins, server type, and which features you enable. Never personal data or page content. Turning this off stops all collection and clears the scheduled send."
2718 +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."
2552 2719 msgstr ""
2553 2720
2554 2721 #: includes/modules/ResourceHints/ResourceHintsModule.php:60
2555 2722 msgid "Resource Hints"
@@ -2714,8 +2881,48 @@
2714 2881 #: includes/modules/Support/SupportModule.php:41
2715 2882 msgid "Where the \"Open ticket\" button takes the user."
2716 2883 msgstr ""
2717 2884
2885 +#: includes/modules/TurboRender/TurboRenderModule.php:89
2886 +msgid "Turbo Render"
2887 +msgstr ""
2888 +
2889 +#: includes/modules/TurboRender/TurboRenderModule.php:91
2890 +msgid "Paints the top of your page first and brings the rest in as visitors scroll. Every section still loads in full."
2891 +msgstr ""
2892 +
2893 +#: includes/modules/TurboRender/TurboRenderModule.php:100
2894 +msgid "Render as visitors scroll"
2895 +msgstr ""
2896 +
2897 +#: includes/modules/TurboRender/TurboRenderModule.php:101
2898 +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."
2899 +msgstr ""
2900 +
2901 +#: includes/modules/TurboRender/TurboRenderModule.php:108
2902 +msgid "Sections to render immediately"
2903 +msgstr ""
2904 +
2905 +#: includes/modules/TurboRender/TurboRenderModule.php:109
2906 +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."
2907 +msgstr ""
2908 +
2909 +#: includes/modules/TurboRender/TurboRenderModule.php:114
2910 +msgid "Section classes"
2911 +msgstr ""
2912 +
2913 +#: includes/modules/TurboRender/TurboRenderModule.php:115
2914 +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."
2915 +msgstr ""
2916 +
2917 +#: includes/modules/TurboRender/TurboRenderModule.php:120
2918 +msgid "Excluded classes"
2919 +msgstr ""
2920 +
2921 +#: includes/modules/TurboRender/TurboRenderModule.php:121
2922 +msgid "Sections with any of these classes always render right away. Use this when a design overlaps its neighbours — a card that hangs over the section below it gets cut off at the boundary when either section is deferred."
2923 +msgstr ""
2924 +
2718 2925 #: xspeed.php:220
2719 2926 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."
2720 2927 msgstr ""
2721 2928
@@ -2772,9 +2979,9 @@
2772 2979 #: assets/admin.js
2773 2980 msgid "A key is saved. Type to replace it; use ✕ to remove it."
2774 2981 msgstr ""
2775 2982
2776 -#. Source: src/components/cache/CacheHero.tsx:238
2983 +#. Source: src/components/cache/CacheHero.tsx:245
2777 2984 #: assets/admin.js
2778 2985 msgid "Absorbed"
2779 2986 msgstr ""
2780 2987
@@ -2844,9 +3051,9 @@
2844 3051 #: assets/admin.js
2845 3052 msgid "Also cleared: %s."
2846 3053 msgstr ""
2847 3054
2848 -#. Source: src/components/overview/Recommendations.tsx:181
3055 +#. Source: src/components/overview/Recommendations.tsx:184
2849 3056 #: assets/admin.js
2850 3057 msgid "Also worth a look"
2851 3058 msgstr ""
2852 3059
@@ -2905,9 +3112,9 @@
2905 3112 #: assets/admin.js
2906 3113 msgid "Automatic cleanup ran %1$s ago — %2$d file(s) removed, %3$d in total."
2907 3114 msgstr ""
2908 3115
2909 -#. Source: src/components/overview/MetricGrid.tsx:47
3116 +#. Source: src/components/overview/MetricGrid.tsx:57
2910 3117 #: assets/admin.js
2911 3118 msgid "Avg saved"
2912 3119 msgstr ""
2913 3120
@@ -2920,29 +3127,29 @@
2920 3127 #: assets/admin.js
2921 3128 msgid "Benchmark failed"
2922 3129 msgstr ""
2923 3130
2924 -#. Source: src/components/cache/TrendCharts.tsx:258
3131 +#. Source: src/components/cache/TrendCharts.tsx:263
2925 3132 #: assets/admin.js
2926 3133 msgid "Benchmark trend"
2927 3134 msgstr ""
2928 3135
2929 -#. Source: src/components/cache/TrendCharts.tsx:134
3136 +#. Source: src/components/cache/TrendCharts.tsx:139
2930 3137 #: assets/admin.js
2931 3138 msgid "Benchmark: cached vs uncached (ms)"
2932 3139 msgstr ""
2933 3140
2934 -#. Source: src/components/overview/Recommendations.tsx:230
3141 +#. Source: src/components/overview/Recommendations.tsx:233
2935 3142 #: assets/admin.js
2936 3143 msgid "Book"
2937 3144 msgstr ""
2938 3145
2939 -#. Source: src/components/overview/Recommendations.tsx:221
3146 +#. Source: src/components/overview/Recommendations.tsx:224
2940 3147 #: assets/admin.js
2941 3148 msgid "Book a free setup review with our team."
2942 3149 msgstr ""
2943 3150
2944 -#. Source: src/components/cache/CacheHero.tsx:242
3151 +#. Source: src/components/cache/CacheHero.tsx:249
2945 3152 #: assets/admin.js
2946 3153 msgid "bot / 404 requests in 24h — excluded from the hit ratio."
2947 3154 msgstr ""
2948 3155
@@ -2955,9 +3162,9 @@
2955 3162 #: assets/admin.js
2956 3163 msgid "Browse all"
2957 3164 msgstr ""
2958 3165
2959 -#. Source: src/components/sidebarGroups.ts:69
3166 +#. Source: src/components/sidebarGroups.ts:79
2960 3167 #: assets/admin.js
2961 3168 msgid "Cache"
2962 3169 msgstr ""
2963 3170
@@ -3045,9 +3252,9 @@
3045 3252 msgid "Cache purged"
3046 3253 msgstr ""
3047 3254
3048 3255 #. Source: src/components/health/HealthHero.tsx:30
3049 -#. Source: src/components/overview/MetricGrid.tsx:46
3256 +#. Source: src/components/overview/MetricGrid.tsx:56
3050 3257 #: assets/admin.js
3051 3258 msgid "Cache size"
3052 3259 msgstr ""
3053 3260
@@ -3060,9 +3267,9 @@
3060 3267 #: assets/admin.js
3061 3268 msgid "Cache, compression & more"
3062 3269 msgstr ""
3063 3270
3064 -#. Source: src/components/cache/TrendCharts.tsx:270
3271 +#. Source: src/components/cache/TrendCharts.tsx:275
3065 3272 #: assets/admin.js
3066 3273 msgid "cached"
3067 3274 msgstr ""
3068 3275
@@ -3067,9 +3274,9 @@
3067 3274 msgstr ""
3068 3275
3069 3276 #. Source: src/components/cache/StatDrilldown.tsx:140
3070 3277 #. Source: src/components/health/HealthHero.tsx:29
3071 -#. Source: src/components/overview/MetricGrid.tsx:45
3278 +#. Source: src/components/overview/MetricGrid.tsx:55
3072 3279 #: assets/admin.js
3073 3280 msgid "Cached pages"
3074 3281 msgstr ""
3075 3282
@@ -3093,9 +3300,9 @@
3093 3300 #: assets/admin.js
3094 3301 msgid "Cancel"
3095 3302 msgstr ""
3096 3303
3097 -#. Source: src/components/sidebarGroups.ts:85
3304 +#. Source: src/components/sidebarGroups.ts:95
3098 3305 #: assets/admin.js
3099 3306 msgid "CDN and Cloudflare edge delivery."
3100 3307 msgstr ""
3101 3308
@@ -3190,8 +3397,13 @@
3190 3397 #: assets/admin.js
3191 3398 msgid "Connect"
3192 3399 msgstr ""
3193 3400
3401 +#. Source: src/components/sidebarGroups.ts:120
3402 +#: assets/admin.js
3403 +msgid "Connect an AI agent to this site, and control what AI features may use."
3404 +msgstr ""
3405 +
3194 3406 #. Source: src/components/TopBar.tsx:138
3195 3407 #: assets/admin.js
3196 3408 msgid "Connect Hub"
3197 3409 msgstr ""
@@ -3306,9 +3518,9 @@
3306 3518 #: assets/admin.js
3307 3519 msgid "Could not check the test status."
3308 3520 msgstr ""
3309 3521
3310 -#. Source: src/components/sidebarGroups.ts:99
3522 +#. Source: src/components/sidebarGroups.ts:109
3311 3523 #: assets/admin.js
3312 3524 msgid "Database cleanup, migration and logs."
3313 3525 msgstr ""
3314 3526
@@ -3445,9 +3657,9 @@
3445 3657 #: assets/admin.js
3446 3658 msgid "Go to Dashboard"
3447 3659 msgstr ""
3448 3660
3449 -#. Source: src/onboarding/OnboardingApp.tsx:168
3661 +#. Source: src/onboarding/OnboardingApp.tsx:165
3450 3662 #: assets/admin.js
3451 3663 msgid "Go to the dashboard"
3452 3664 msgstr ""
3453 3665
@@ -3466,9 +3678,9 @@
3466 3678 #: assets/admin.js
3467 3679 msgid "GTmetrix test"
3468 3680 msgstr ""
3469 3681
3470 -#. Source: src/components/sidebarGroups.ts:90
3682 +#. Source: src/components/sidebarGroups.ts:100
3471 3683 #: assets/admin.js
3472 3684 msgid "Health & insights"
3473 3685 msgstr ""
3474 3686
@@ -3491,11 +3703,11 @@
3491 3703 #: assets/admin.js
3492 3704 msgid "Hide"
3493 3705 msgstr ""
3494 3706
3495 -#. Source: src/components/cache/TrendCharts.tsx:120
3496 -#. Source: src/components/health/HealthHero.tsx:37
3497 -#. Source: src/components/overview/MetricGrid.tsx:44
3707 +#. Source: src/components/cache/TrendCharts.tsx:125
3708 +#. Source: src/components/health/HealthHero.tsx:42
3709 +#. Source: src/components/overview/MetricGrid.tsx:45
3498 3710 #: assets/admin.js
3499 3711 msgid "Hit ratio"
3500 3712 msgstr ""
3501 3713
@@ -3508,14 +3720,19 @@
3508 3720 #: assets/admin.js
3509 3721 msgid "Hit Ratio · 24h · origin"
3510 3722 msgstr ""
3511 3723
3724 +#. Source: src/components/health/HealthHero.tsx:42
3725 +#: assets/admin.js
3726 +msgid "Hit ratio (PHP-served only)"
3727 +msgstr ""
3728 +
3512 3729 #. Source: src/components/cache/TrendCharts.tsx:83
3513 3730 #: assets/admin.js
3514 3731 msgid "Hit ratio and benchmark history, with your settings changes marked."
3515 3732 msgstr ""
3516 3733
3517 -#. Source: src/components/cache/TrendCharts.tsx:222
3734 +#. Source: src/components/cache/TrendCharts.tsx:227
3518 3735 #: assets/admin.js
3519 3736 msgid "Hit ratio trend"
3520 3737 msgstr ""
3521 3738
@@ -3538,13 +3755,8 @@
3538 3755 #: assets/admin.js
3539 3756 msgid "Hub connected"
3540 3757 msgstr ""
3541 3758
3542 -#. Source: src/components/sidebarGroups.ts:106
3543 -#: assets/admin.js
3544 -msgid "Hub, MCP access, AI provider and privacy."
3545 -msgstr ""
3546 -
3547 3759 #. Source: src/onboarding/steps/Connect.tsx:132
3548 3760 #: assets/admin.js
3549 3761 msgid "I'll connect later"
3550 3762 msgstr ""
@@ -3583,14 +3795,14 @@
3583 3795 #: assets/admin.js
3584 3796 msgid "Just say what you want"
3585 3797 msgstr ""
3586 3798
3587 -#. Source: src/components/overview/MetricGrid.tsx:51
3799 +#. Source: src/components/overview/MetricGrid.tsx:61
3588 3800 #: assets/admin.js
3589 3801 msgid "Key metrics"
3590 3802 msgstr ""
3591 3803
3592 -#. Source: src/components/overview/MetricGrid.tsx:44
3804 +#. Source: src/components/overview/MetricGrid.tsx:53
3593 3805 #: assets/admin.js
3594 3806 msgid "last 24 hours"
3595 3807 msgstr ""
3596 3808
@@ -3603,9 +3815,9 @@
3603 3815 #: assets/admin.js
3604 3816 msgid "Last purged"
3605 3817 msgstr ""
3606 3818
3607 -#. Source: src/components/cache/TrendCharts.tsx:236
3819 +#. Source: src/components/cache/TrendCharts.tsx:241
3608 3820 #: assets/admin.js
3609 3821 msgid "Latest"
3610 3822 msgstr ""
3611 3823
@@ -3619,9 +3831,9 @@
3619 3831 #: assets/admin.js
3620 3832 msgid "License"
3621 3833 msgstr ""
3622 3834
3623 -#. Source: src/components/sidebarGroups.ts:113
3835 +#. Source: src/components/sidebarGroups.ts:128
3624 3836 #: assets/admin.js
3625 3837 msgid "License, branding, multisite and support."
3626 3838 msgstr ""
3627 3839
@@ -3634,8 +3846,13 @@
3634 3846 #: assets/admin.js
3635 3847 msgid "Lighthouse performance, out of 100"
3636 3848 msgstr ""
3637 3849
3850 +#. Source: src/components/cache/CacheHero.tsx:238
3851 +#: assets/admin.js
3852 +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."
3853 +msgstr ""
3854 +
3638 3855 #. Source: src/App.tsx:456
3639 3856 #. Source: src/components/GroupLanding.tsx:67
3640 3857 #. Source: src/components/LogsView.tsx:35
3641 3858 #: assets/admin.js
@@ -3703,9 +3920,9 @@
3703 3920 #: assets/admin.js
3704 3921 msgid "min"
3705 3922 msgstr ""
3706 3923
3707 -#. Source: src/components/sidebarGroups.ts:78
3924 +#. Source: src/components/sidebarGroups.ts:88
3708 3925 #: assets/admin.js
3709 3926 msgid "Minify, compress, lazy-load, fonts and hints."
3710 3927 msgstr ""
3711 3928
@@ -3747,9 +3964,9 @@
3747 3964 #: assets/admin.js
3748 3965 msgid "Negligible difference — page is cheap to render or cache is cold."
3749 3966 msgstr ""
3750 3967
3751 -#. Source: src/components/sidebarGroups.ts:83
3968 +#. Source: src/components/sidebarGroups.ts:93
3752 3969 #: assets/admin.js
3753 3970 msgid "Network"
3754 3971 msgstr ""
3755 3972
@@ -3923,9 +4140,9 @@
3923 4140 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."
3924 4141 msgstr ""
3925 4142
3926 4143 #. Source: src/components/health/HealthHero.tsx:30
3927 -#. Source: src/components/overview/MetricGrid.tsx:46
4144 +#. Source: src/components/overview/MetricGrid.tsx:56
3928 4145 #: assets/admin.js
3929 4146 msgid "on disk"
3930 4147 msgstr ""
3931 4148
@@ -3933,9 +4150,9 @@
3933 4150 #: assets/admin.js
3934 4151 msgid "on your xSpeed Hub account."
3935 4152 msgstr ""
3936 4153
3937 -#. Source: src/onboarding/OnboardingApp.tsx:159
4154 +#. Source: src/onboarding/OnboardingApp.tsx:156
3938 4155 #: assets/admin.js
3939 4156 msgid "Onboarding data unavailable"
3940 4157 msgstr ""
3941 4158
@@ -3963,9 +4180,9 @@
3963 4180 #: assets/admin.js
3964 4181 msgid "Open the full report"
3965 4182 msgstr ""
3966 4183
3967 -#. Source: src/components/sidebarGroups.ts:76
4184 +#. Source: src/components/sidebarGroups.ts:86
3968 4185 #: assets/admin.js
3969 4186 msgid "Optimization"
3970 4187 msgstr ""
3971 4188
@@ -3994,9 +4211,9 @@
3994 4211 #: assets/admin.js
3995 4212 msgid "Page"
3996 4213 msgstr ""
3997 4214
3998 -#. Source: src/components/sidebarGroups.ts:71
4215 +#. Source: src/components/sidebarGroups.ts:81
3999 4216 #: assets/admin.js
4000 4217 msgid "Page, object and browser caching, plus preload."
4001 4218 msgstr ""
4002 4219
@@ -4034,9 +4251,9 @@
4034 4251 #: assets/admin.js
4035 4252 msgid "Paste this site’s URL + token into the"
4036 4253 msgstr ""
4037 4254
4038 -#. Source: src/components/overview/MetricGrid.tsx:47
4255 +#. Source: src/components/overview/MetricGrid.tsx:57
4039 4256 #: assets/admin.js
4040 4257 msgid "per page load"
4041 4258 msgstr ""
4042 4259
@@ -4057,8 +4274,13 @@
4057 4274 #: assets/admin.js
4058 4275 msgid "Performance score and Core Web Vitals."
4059 4276 msgstr ""
4060 4277
4278 +#. Source: src/components/overview/MetricGrid.tsx:52
4279 +#: assets/admin.js
4280 +msgid "PHP-served only — static fast path hits are not counted"
4281 +msgstr ""
4282 +
4061 4283 #. Source: src/components/score/ScorePanel.tsx:713
4062 4284 #: assets/admin.js
4063 4285 msgid "Pick one more run to compare."
4064 4286 msgstr ""
@@ -4245,15 +4467,15 @@
4245 4467 #: assets/admin.js
4246 4468 msgid "Recent cache and settings activity."
4247 4469 msgstr ""
4248 4470
4249 -#. Source: src/components/cache/TrendCharts.tsx:148
4471 +#. Source: src/components/cache/TrendCharts.tsx:153
4250 4472 #: assets/admin.js
4251 4473 msgid "Recent changes"
4252 4474 msgstr ""
4253 4475
4254 -#. Source: src/components/overview/Recommendations.tsx:116
4255 -#. Source: src/components/overview/Recommendations.tsx:120
4476 +#. Source: src/components/overview/Recommendations.tsx:119
4477 +#. Source: src/components/overview/Recommendations.tsx:123
4256 4478 #: assets/admin.js
4257 4479 msgid "Recommended for your site"
4258 4480 msgstr ""
4259 4481
@@ -4271,9 +4493,9 @@
4271 4493 #: assets/admin.js
4272 4494 msgid "Refresh activity log"
4273 4495 msgstr ""
4274 4496
4275 -#. Source: src/components/cache/TrendCharts.tsx:108
4497 +#. Source: src/components/cache/TrendCharts.tsx:113
4276 4498 #: assets/admin.js
4277 4499 msgid "Refresh trends"
4278 4500 msgstr ""
4279 4501
@@ -4357,9 +4579,9 @@
4357 4579 #: assets/admin.js
4358 4580 msgid "Run test"
4359 4581 msgstr ""
4360 4582
4361 -#. Source: src/components/cache/TrendCharts.tsx:139
4583 +#. Source: src/components/cache/TrendCharts.tsx:144
4362 4584 #: assets/admin.js
4363 4585 msgid "Run the benchmark at least twice to see a trend."
4364 4586 msgstr ""
4365 4587
@@ -4455,9 +4677,9 @@
4455 4677 msgid "See how this site performs for real visitors."
4456 4678 msgstr ""
4457 4679
4458 4680 #. Source: src/components/health/HealthHero.tsx:29
4459 -#. Source: src/components/overview/MetricGrid.tsx:45
4681 +#. Source: src/components/overview/MetricGrid.tsx:55
4460 4682 #: assets/admin.js
4461 4683 msgid "served without PHP"
4462 4684 msgstr ""
4463 4685
@@ -4525,9 +4747,9 @@
4525 4747 #: assets/admin.js
4526 4748 msgid "Size"
4527 4749 msgstr ""
4528 4750
4529 -#. Source: src/components/sidebarGroups.ts:92
4751 +#. Source: src/components/sidebarGroups.ts:102
4530 4752 #: assets/admin.js
4531 4753 msgid "Speed score, diagnostics and analytics."
4532 4754 msgstr ""
4533 4755
@@ -4570,9 +4792,9 @@
4570 4792 #: assets/admin.js
4571 4793 msgid "Take over the page cache from %s?"
4572 4794 msgstr ""
4573 4795
4574 -#. Source: src/components/cache/TrendCharts.tsx:240
4796 +#. Source: src/components/cache/TrendCharts.tsx:245
4575 4797 #: assets/admin.js
4576 4798 msgid "target ≥80%"
4577 4799 msgstr ""
4578 4800
@@ -4642,9 +4864,9 @@
4642 4864 msgid "Token"
4643 4865 msgstr ""
4644 4866
4645 4867 #. Source: src/components/LogsView.tsx:34
4646 -#. Source: src/components/sidebarGroups.ts:97
4868 +#. Source: src/components/sidebarGroups.ts:107
4647 4869 #: assets/admin.js
4648 4870 msgid "Tools"
4649 4871 msgstr ""
4650 4872
@@ -4652,9 +4874,9 @@
4652 4874 #: assets/admin.js
4653 4875 msgid "Trends"
4654 4876 msgstr ""
4655 4877
4656 -#. Source: src/components/cache/TrendCharts.tsx:126
4878 +#. Source: src/components/cache/TrendCharts.tsx:131
4657 4879 #: assets/admin.js
4658 4880 msgid "Trends appear after a couple of days of traffic. The daily series is being collected now."
4659 4881 msgstr ""
4660 4882
@@ -4682,9 +4904,9 @@
4682 4904 #: assets/admin.js
4683 4905 msgid "Turn on the page cache to start serving pages instantly."
4684 4906 msgstr ""
4685 4907
4686 -#. Source: src/components/cache/TrendCharts.tsx:273
4908 +#. Source: src/components/cache/TrendCharts.tsx:278
4687 4909 #: assets/admin.js
4688 4910 msgid "uncached"
4689 4911 msgstr ""
4690 4912
@@ -4728,14 +4950,14 @@
4728 4950 #: assets/admin.js
4729 4951 msgid "Waiting for connection…"
4730 4952 msgstr ""
4731 4953
4732 -#. Source: src/components/overview/Recommendations.tsx:218
4954 +#. Source: src/components/overview/Recommendations.tsx:221
4733 4955 #: assets/admin.js
4734 4956 msgid "Want a hand?"
4735 4957 msgstr ""
4736 4958
4737 -#. Source: src/onboarding/OnboardingApp.tsx:162
4959 +#. Source: src/onboarding/OnboardingApp.tsx:159
4738 4960 #: assets/admin.js
4739 4961 msgid "We couldn't load the setup wizard. Your site is unaffected — you can configure everything from the dashboard."
4740 4962 msgstr ""
4741 4963
@@ -4853,9 +5075,9 @@
4853 5075 #: assets/admin.js
4854 5076 msgid "You're all set"
4855 5077 msgstr ""
4856 5078
4857 -#. Source: src/components/overview/Recommendations.tsx:131
5079 +#. Source: src/components/overview/Recommendations.tsx:134
4858 5080 #: assets/admin.js
4859 5081 msgid "You're all set — no recommendations right now."
4860 5082 msgstr ""
4861 5083