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 +281 -142 1.3.5 → 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.5\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-22T10:29:06+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:8732
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:8746
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:8224
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:8231
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:8286
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:8293
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:8296
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:8297
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:8298
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:8299
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:8300
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:8301
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:8302
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:8304
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:8815
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 ""
@@ -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,9 +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:303
1088 +#: includes/class-video-facade.php:309
1089 1089 msgid "Play video"
1090 1090 msgstr ""
1091 1091
1092 1092 #: includes/modules/AIPrivacy/AIPrivacyModule.php:49
@@ -1121,68 +1121,116 @@
1121 1121 msgid "Turn off WordPress defaults you do not use — saves bytes, requests, and attack surface."
1122 1122 msgstr ""
1123 1123
1124 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
1125 1133 msgid "Disable Dashicons on Frontend"
1126 1134 msgstr ""
1127 1135
1128 -#: includes/modules/Bloat/BloatModule.php:50
1136 +#: includes/modules/Bloat/BloatModule.php:56
1129 1137 msgid "Drop the dashicons stylesheet from non-admin pages. Most themes do not need it. Saves ~45 KB per visitor."
1130 1138 msgstr ""
1131 1139
1132 -#: includes/modules/Bloat/BloatModule.php:55
1140 +#: includes/modules/Bloat/BloatModule.php:61
1133 1141 msgid "Disable oEmbed Discovery + wp-embed.min.js"
1134 1142 msgstr ""
1135 1143
1136 -#: includes/modules/Bloat/BloatModule.php:56
1144 +#: includes/modules/Bloat/BloatModule.php:62
1137 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."
1138 1146 msgstr ""
1139 1147
1140 -#: includes/modules/Bloat/BloatModule.php:61
1148 +#: includes/modules/Bloat/BloatModule.php:67
1141 1149 msgid "Disable RSS Feeds"
1142 1150 msgstr ""
1143 1151
1144 -#: includes/modules/Bloat/BloatModule.php:62
1152 +#: includes/modules/Bloat/BloatModule.php:68
1145 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."
1146 1154 msgstr ""
1147 1155
1148 -#: includes/modules/Bloat/BloatModule.php:67
1156 +#: includes/modules/Bloat/BloatModule.php:73
1149 1157 msgid "Disable XML-RPC"
1150 1158 msgstr ""
1151 1159
1152 -#: includes/modules/Bloat/BloatModule.php:68
1160 +#: includes/modules/Bloat/BloatModule.php:74
1153 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)."
1154 1162 msgstr ""
1155 1163
1156 -#: includes/modules/Bloat/BloatModule.php:73
1164 +#: includes/modules/Bloat/BloatModule.php:79
1157 1165 msgid "Strip jQuery Migrate on Frontend"
1158 1166 msgstr ""
1159 1167
1160 -#: includes/modules/Bloat/BloatModule.php:74
1168 +#: includes/modules/Bloat/BloatModule.php:80
1161 1169 msgid "Remove the jquery-migrate compatibility shim from non-admin pages. Saves ~10 KB; safe on modern themes / plugins."
1162 1170 msgstr ""
1163 1171
1164 -#: includes/modules/Bloat/BloatModule.php:79
1172 +#: includes/modules/Bloat/BloatModule.php:85
1165 1173 msgid "Strip Block-Editor Styles on Frontend"
1166 1174 msgstr ""
1167 1175
1168 -#: includes/modules/Bloat/BloatModule.php:80
1176 +#: includes/modules/Bloat/BloatModule.php:86
1169 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."
1170 1178 msgstr ""
1171 1179
1172 -#: includes/modules/Bloat/BloatModule.php:85
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
1173 1221 msgid "Restrict REST API to Logged-In Users"
1174 1222 msgstr ""
1175 1223
1176 -#: includes/modules/Bloat/BloatModule.php:86
1224 +#: includes/modules/Bloat/BloatModule.php:122
1177 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."
1178 1226 msgstr ""
1179 1227
1180 -#: includes/modules/Bloat/BloatModule.php:239
1228 +#: includes/modules/Bloat/BloatModule.php:380
1181 1229 msgid "Feeds are disabled."
1182 1230 msgstr ""
1183 1231
1184 -#: includes/modules/Bloat/BloatModule.php:288
1232 +#: includes/modules/Bloat/BloatModule.php:429
1185 1233 msgid "Anonymous REST access is disabled on this site."
1186 1234 msgstr ""
1187 1235
1188 1236 #: includes/modules/BrowserCache/BrowserCacheModule.php:32
@@ -1327,8 +1375,16 @@
1327 1375 #: includes/modules/Cache/CacheModule.php:277
1328 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."
1329 1377 msgstr ""
1330 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 +
1331 1387 #: includes/modules/CacheCoverage/CacheCoverageModule.php:36
1332 1388 msgid "Advanced Cache"
1333 1389 msgstr ""
1334 1390
@@ -1540,9 +1596,35 @@
1540 1596 #: includes/modules/Database/DatabaseModule.php:57
1541 1597 msgid "Which cleanup categories run on the schedule above. Leave empty to keep auto-cleanup disabled even if a schedule is set."
1542 1598 msgstr ""
1543 1599
1544 -#: 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
1545 1627 msgid "Provide at least one cleanup type."
1546 1628 msgstr ""
1547 1629
1548 1630 #: includes/modules/Fonts/FontsModule.php:35
@@ -1654,81 +1736,89 @@
1654 1736 #: includes/modules/Health/HealthModule.php:139
1655 1737 msgid "Enable the page cache in the xSpeed dashboard to start serving cached HTML for non-logged-in visitors."
1656 1738 msgstr ""
1657 1739
1658 -#: includes/modules/Health/HealthModule.php:152
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
1659 1749 msgid "xSpeed is serving cache hits through PHP"
1660 1750 msgstr ""
1661 1751
1662 -#: includes/modules/Health/HealthModule.php:154
1752 +#: includes/modules/Health/HealthModule.php:161
1663 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."
1664 1754 msgstr ""
1665 1755
1666 -#: includes/modules/Health/HealthModule.php:156
1667 -#: includes/modules/Health/HealthModule.php:193
1756 +#: includes/modules/Health/HealthModule.php:163
1757 +#: includes/modules/Health/HealthModule.php:202
1668 1758 msgid "xSpeed static rewrite is off (Separate Mobile Cache)"
1669 1759 msgstr ""
1670 1760
1671 -#: includes/modules/Health/HealthModule.php:158
1672 -#: includes/modules/Health/HealthModule.php:195
1761 +#: includes/modules/Health/HealthModule.php:165
1762 +#: includes/modules/Health/HealthModule.php:204
1673 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."
1674 1764 msgstr ""
1675 1765
1676 -#: includes/modules/Health/HealthModule.php:160
1766 +#: includes/modules/Health/HealthModule.php:169
1677 1767 msgid "xSpeed .htaccess rewrite block is missing"
1678 1768 msgstr ""
1679 1769
1680 -#: includes/modules/Health/HealthModule.php:162
1770 +#: includes/modules/Health/HealthModule.php:171
1681 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."
1682 1772 msgstr ""
1683 1773
1684 -#: includes/modules/Health/HealthModule.php:187
1774 +#: includes/modules/Health/HealthModule.php:196
1685 1775 msgid "xSpeed nginx static rewrite is active"
1686 1776 msgstr ""
1687 1777
1688 -#: includes/modules/Health/HealthModule.php:189
1778 +#: includes/modules/Health/HealthModule.php:198
1689 1779 msgid "nginx is serving cache hits directly — PHP is bypassed (~5-15ms TTFB). No action needed."
1690 1780 msgstr ""
1691 1781
1692 -#: includes/modules/Health/HealthModule.php:199
1782 +#: includes/modules/Health/HealthModule.php:208
1693 1783 msgid "xSpeed is serving cache hits through PHP (pages contain nonces)"
1694 1784 msgstr ""
1695 1785
1696 -#: includes/modules/Health/HealthModule.php:201
1786 +#: includes/modules/Health/HealthModule.php:210
1697 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."
1698 1788 msgstr ""
1699 1789
1700 -#: includes/modules/Health/HealthModule.php:210
1790 +#: includes/modules/Health/HealthModule.php:219
1701 1791 msgid "xSpeed could not verify the nginx static rewrite"
1702 1792 msgstr ""
1703 1793
1704 1794 #. translators: %s: the reason the probe could not complete.
1705 -#: includes/modules/Health/HealthModule.php:215
1795 +#: includes/modules/Health/HealthModule.php:224
1706 1796 #, php-format
1707 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"
1708 1798 msgstr ""
1709 1799
1710 -#: includes/modules/Health/HealthModule.php:223
1800 +#: includes/modules/Health/HealthModule.php:232
1711 1801 msgid "xSpeed nginx server config required"
1712 1802 msgstr ""
1713 1803
1714 -#: includes/modules/Health/HealthModule.php:225
1804 +#: includes/modules/Health/HealthModule.php:234
1715 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:"
1716 1806 msgstr ""
1717 1807
1718 -#: includes/modules/Health/HealthModule.php:234
1808 +#: includes/modules/Health/HealthModule.php:243
1719 1809 msgid "xSpeed PHP drop-in cache active"
1720 1810 msgstr ""
1721 1811
1722 -#: includes/modules/Health/HealthModule.php:236
1812 +#: includes/modules/Health/HealthModule.php:245
1723 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."
1724 1814 msgstr ""
1725 1815
1726 -#: includes/modules/Health/HealthModule.php:242
1816 +#: includes/modules/Health/HealthModule.php:251
1727 1817 msgid "Health"
1728 1818 msgstr ""
1729 1819
1730 -#: includes/modules/Health/HealthModule.php:244
1820 +#: includes/modules/Health/HealthModule.php:253
1731 1821 msgid "Diagnostics, hit ratio, and recent cache activity."
1732 1822 msgstr ""
1733 1823
1734 1824 #: includes/modules/Heartbeat/HeartbeatModule.php:38
@@ -1814,29 +1904,37 @@
1814 1904 #: includes/modules/Lazy/LazyModule.php:78
1815 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."
1816 1906 msgstr ""
1817 1907
1818 -#: 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
1819 1917 msgid "Eager-load First N Images"
1820 1918 msgstr ""
1821 1919
1822 -#: includes/modules/Lazy/LazyModule.php:86
1823 -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."
1824 1922 msgstr ""
1825 1923
1826 -#: includes/modules/Lazy/LazyModule.php:91
1924 +#: includes/modules/Lazy/LazyModule.php:97
1827 1925 msgid "Add Missing Image Dimensions"
1828 1926 msgstr ""
1829 1927
1830 -#: includes/modules/Lazy/LazyModule.php:92
1928 +#: includes/modules/Lazy/LazyModule.php:98
1831 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."
1832 1930 msgstr ""
1833 1931
1834 -#: includes/modules/Lazy/LazyModule.php:98
1932 +#: includes/modules/Lazy/LazyModule.php:104
1835 1933 msgid "Excluded Images"
1836 1934 msgstr ""
1837 1935
1838 -#: includes/modules/Lazy/LazyModule.php:99
1936 +#: includes/modules/Lazy/LazyModule.php:105
1839 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."
1840 1938 msgstr ""
1841 1939
1842 1940 #. translators: %s: command name.
@@ -2202,9 +2300,9 @@
2202 2300 msgid "Migrate"
2203 2301 msgstr ""
2204 2302
2205 2303 #: includes/modules/Migration/MigrationModule.php:548
2206 -#: includes/modules/Minify/MinifyModule.php:35
2304 +#: includes/modules/Minify/MinifyModule.php:36
2207 2305 msgid "Minify"
2208 2306 msgstr ""
2209 2307
2210 2308 #: includes/modules/Migration/MigrationModule.php:549
@@ -2295,121 +2393,139 @@
2295 2393 #, php-format
2296 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."
2297 2395 msgstr ""
2298 2396
2299 -#: includes/modules/Minify/MinifyModule.php:34
2397 +#: includes/modules/Minify/MinifyModule.php:35
2300 2398 msgid "CSS & JavaScript"
2301 2399 msgstr ""
2302 2400
2303 -#: includes/modules/Minify/MinifyModule.php:37
2401 +#: includes/modules/Minify/MinifyModule.php:38
2304 2402 msgid "Strip whitespace and rewrite enqueued CSS / JS."
2305 2403 msgstr ""
2306 2404
2307 -#: includes/modules/Minify/MinifyModule.php:50
2405 +#: includes/modules/Minify/MinifyModule.php:51
2308 2406 msgid "Minify HTML"
2309 2407 msgstr ""
2310 2408
2311 -#: includes/modules/Minify/MinifyModule.php:55
2409 +#: includes/modules/Minify/MinifyModule.php:56
2312 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."
2313 2411 msgstr ""
2314 2412
2315 -#: includes/modules/Minify/MinifyModule.php:60
2413 +#: includes/modules/Minify/MinifyModule.php:61
2316 2414 msgid "Minify CSS"
2317 2415 msgstr ""
2318 2416
2319 -#: includes/modules/Minify/MinifyModule.php:61
2417 +#: includes/modules/Minify/MinifyModule.php:62
2320 2418 msgid "Compress and rewrite enqueued local stylesheets. External CSS is left untouched."
2321 2419 msgstr ""
2322 2420
2323 -#: includes/modules/Minify/MinifyModule.php:66
2421 +#: includes/modules/Minify/MinifyModule.php:67
2324 2422 msgid "Minify JavaScript"
2325 2423 msgstr ""
2326 2424
2327 -#: includes/modules/Minify/MinifyModule.php:67
2425 +#: includes/modules/Minify/MinifyModule.php:68
2328 2426 msgid "Compress enqueued local scripts. Disable if you hit script-loading conflicts on the frontend."
2329 2427 msgstr ""
2330 2428
2331 -#: includes/modules/Minify/MinifyModule.php:72
2429 +#: includes/modules/Minify/MinifyModule.php:73
2332 2430 msgid "Defer JavaScript"
2333 2431 msgstr ""
2334 2432
2335 -#: includes/modules/Minify/MinifyModule.php:73
2433 +#: includes/modules/Minify/MinifyModule.php:74
2336 2434 msgid "Add defer=\"defer\" to enqueued script tags so they execute after HTML parsing. jQuery + its hard dependencies are skipped automatically."
2337 2435 msgstr ""
2338 2436
2339 -#: includes/modules/Minify/MinifyModule.php:78
2437 +#: includes/modules/Minify/MinifyModule.php:79
2340 2438 msgid "Delay JavaScript Until Interaction"
2341 2439 msgstr ""
2342 2440
2343 -#: 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."
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."
2345 2443 msgstr ""
2346 2444
2347 -#: includes/modules/Minify/MinifyModule.php:84
2445 +#: includes/modules/Minify/MinifyModule.php:85
2348 2446 msgid "Load CSS Asynchronously"
2349 2447 msgstr ""
2350 2448
2351 -#: includes/modules/Minify/MinifyModule.php:85
2449 +#: includes/modules/Minify/MinifyModule.php:86
2352 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."
2353 2451 msgstr ""
2354 2452
2355 -#: includes/modules/Minify/MinifyModule.php:90
2453 +#: includes/modules/Minify/MinifyModule.php:91
2356 2454 msgid "Remove Asset Query Strings"
2357 2455 msgstr ""
2358 2456
2359 -#: includes/modules/Minify/MinifyModule.php:91
2457 +#: includes/modules/Minify/MinifyModule.php:92
2360 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."
2361 2459 msgstr ""
2362 2460
2363 -#: includes/modules/Minify/MinifyModule.php:97
2461 +#: includes/modules/Minify/MinifyModule.php:98
2364 2462 msgid "Defer / Delay Exclusions"
2365 2463 msgstr ""
2366 2464
2367 -#: 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."
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."
2369 2467 msgstr ""
2370 2468
2371 -#: includes/modules/Minify/MinifyModule.php:112
2469 +#: includes/modules/Minify/MinifyModule.php:113
2372 2470 msgid "Delay Only These Scripts"
2373 2471 msgstr ""
2374 2472
2375 -#: includes/modules/Minify/MinifyModule.php:113
2376 -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."
2377 2475 msgstr ""
2378 2476
2379 -#: 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
2380 2496 msgid "Delay Failsafe Timeout (ms)"
2381 2497 msgstr ""
2382 2498
2383 -#: includes/modules/Minify/MinifyModule.php:123
2499 +#: includes/modules/Minify/MinifyModule.php:137
2384 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."
2385 2501 msgstr ""
2386 2502
2387 -#: includes/modules/Minify/MinifyModule.php:129
2503 +#: includes/modules/Minify/MinifyModule.php:143
2388 2504 msgid "Combine CSS Files"
2389 2505 msgstr ""
2390 2506
2391 -#: includes/modules/Minify/MinifyModule.php:130
2507 +#: includes/modules/Minify/MinifyModule.php:144
2392 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."
2393 2509 msgstr ""
2394 2510
2395 -#: includes/modules/Minify/MinifyModule.php:135
2511 +#: includes/modules/Minify/MinifyModule.php:149
2396 2512 msgid "Combine JavaScript Files"
2397 2513 msgstr ""
2398 2514
2399 -#: includes/modules/Minify/MinifyModule.php:136
2515 +#: includes/modules/Minify/MinifyModule.php:150
2400 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."
2401 2517 msgstr ""
2402 2518
2403 -#: includes/modules/Minify/MinifyModule.php:273
2519 +#: includes/modules/Minify/MinifyModule.php:287
2404 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."
2405 2521 msgstr ""
2406 2522
2407 -#: includes/modules/Minify/MinifyModule.php:274
2523 +#: includes/modules/Minify/MinifyModule.php:288
2408 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."
2409 2525 msgstr ""
2410 2526
2411 -#: includes/modules/Minify/MinifyModule.php:279
2527 +#: includes/modules/Minify/MinifyModule.php:293
2412 2528 msgid "HTML minification is on but currently paused"
2413 2529 msgstr ""
2414 2530
2415 2531 #: includes/modules/ObjectCache/ObjectCacheModule.php:34
@@ -2797,8 +2913,16 @@
2797 2913 #: includes/modules/TurboRender/TurboRenderModule.php:115
2798 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."
2799 2915 msgstr ""
2800 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 +
2801 2925 #: xspeed.php:220
2802 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."
2803 2927 msgstr ""
2804 2928
@@ -2855,9 +2979,9 @@
2855 2979 #: assets/admin.js
2856 2980 msgid "A key is saved. Type to replace it; use ✕ to remove it."
2857 2981 msgstr ""
2858 2982
2859 -#. Source: src/components/cache/CacheHero.tsx:238
2983 +#. Source: src/components/cache/CacheHero.tsx:245
2860 2984 #: assets/admin.js
2861 2985 msgid "Absorbed"
2862 2986 msgstr ""
2863 2987
@@ -2927,9 +3051,9 @@
2927 3051 #: assets/admin.js
2928 3052 msgid "Also cleared: %s."
2929 3053 msgstr ""
2930 3054
2931 -#. Source: src/components/overview/Recommendations.tsx:181
3055 +#. Source: src/components/overview/Recommendations.tsx:184
2932 3056 #: assets/admin.js
2933 3057 msgid "Also worth a look"
2934 3058 msgstr ""
2935 3059
@@ -2988,9 +3112,9 @@
2988 3112 #: assets/admin.js
2989 3113 msgid "Automatic cleanup ran %1$s ago — %2$d file(s) removed, %3$d in total."
2990 3114 msgstr ""
2991 3115
2992 -#. Source: src/components/overview/MetricGrid.tsx:47
3116 +#. Source: src/components/overview/MetricGrid.tsx:57
2993 3117 #: assets/admin.js
2994 3118 msgid "Avg saved"
2995 3119 msgstr ""
2996 3120
@@ -3013,19 +3137,19 @@
3013 3137 #: assets/admin.js
3014 3138 msgid "Benchmark: cached vs uncached (ms)"
3015 3139 msgstr ""
3016 3140
3017 -#. Source: src/components/overview/Recommendations.tsx:230
3141 +#. Source: src/components/overview/Recommendations.tsx:233
3018 3142 #: assets/admin.js
3019 3143 msgid "Book"
3020 3144 msgstr ""
3021 3145
3022 -#. Source: src/components/overview/Recommendations.tsx:221
3146 +#. Source: src/components/overview/Recommendations.tsx:224
3023 3147 #: assets/admin.js
3024 3148 msgid "Book a free setup review with our team."
3025 3149 msgstr ""
3026 3150
3027 -#. Source: src/components/cache/CacheHero.tsx:242
3151 +#. Source: src/components/cache/CacheHero.tsx:249
3028 3152 #: assets/admin.js
3029 3153 msgid "bot / 404 requests in 24h — excluded from the hit ratio."
3030 3154 msgstr ""
3031 3155
@@ -3128,9 +3252,9 @@
3128 3252 msgid "Cache purged"
3129 3253 msgstr ""
3130 3254
3131 3255 #. Source: src/components/health/HealthHero.tsx:30
3132 -#. Source: src/components/overview/MetricGrid.tsx:46
3256 +#. Source: src/components/overview/MetricGrid.tsx:56
3133 3257 #: assets/admin.js
3134 3258 msgid "Cache size"
3135 3259 msgstr ""
3136 3260
@@ -3150,9 +3274,9 @@
3150 3274 msgstr ""
3151 3275
3152 3276 #. Source: src/components/cache/StatDrilldown.tsx:140
3153 3277 #. Source: src/components/health/HealthHero.tsx:29
3154 -#. Source: src/components/overview/MetricGrid.tsx:45
3278 +#. Source: src/components/overview/MetricGrid.tsx:55
3155 3279 #: assets/admin.js
3156 3280 msgid "Cached pages"
3157 3281 msgstr ""
3158 3282
@@ -3580,10 +3704,10 @@
3580 3704 msgid "Hide"
3581 3705 msgstr ""
3582 3706
3583 3707 #. Source: src/components/cache/TrendCharts.tsx:125
3584 -#. Source: src/components/health/HealthHero.tsx:37
3585 -#. Source: src/components/overview/MetricGrid.tsx:44
3708 +#. Source: src/components/health/HealthHero.tsx:42
3709 +#. Source: src/components/overview/MetricGrid.tsx:45
3586 3710 #: assets/admin.js
3587 3711 msgid "Hit ratio"
3588 3712 msgstr ""
3589 3713
@@ -3596,8 +3720,13 @@
3596 3720 #: assets/admin.js
3597 3721 msgid "Hit Ratio · 24h · origin"
3598 3722 msgstr ""
3599 3723
3724 +#. Source: src/components/health/HealthHero.tsx:42
3725 +#: assets/admin.js
3726 +msgid "Hit ratio (PHP-served only)"
3727 +msgstr ""
3728 +
3600 3729 #. Source: src/components/cache/TrendCharts.tsx:83
3601 3730 #: assets/admin.js
3602 3731 msgid "Hit ratio and benchmark history, with your settings changes marked."
3603 3732 msgstr ""
@@ -3666,14 +3795,14 @@
3666 3795 #: assets/admin.js
3667 3796 msgid "Just say what you want"
3668 3797 msgstr ""
3669 3798
3670 -#. Source: src/components/overview/MetricGrid.tsx:51
3799 +#. Source: src/components/overview/MetricGrid.tsx:61
3671 3800 #: assets/admin.js
3672 3801 msgid "Key metrics"
3673 3802 msgstr ""
3674 3803
3675 -#. Source: src/components/overview/MetricGrid.tsx:44
3804 +#. Source: src/components/overview/MetricGrid.tsx:53
3676 3805 #: assets/admin.js
3677 3806 msgid "last 24 hours"
3678 3807 msgstr ""
3679 3808
@@ -3717,8 +3846,13 @@
3717 3846 #: assets/admin.js
3718 3847 msgid "Lighthouse performance, out of 100"
3719 3848 msgstr ""
3720 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 +
3721 3855 #. Source: src/App.tsx:456
3722 3856 #. Source: src/components/GroupLanding.tsx:67
3723 3857 #. Source: src/components/LogsView.tsx:35
3724 3858 #: assets/admin.js
@@ -4006,9 +4140,9 @@
4006 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."
4007 4141 msgstr ""
4008 4142
4009 4143 #. Source: src/components/health/HealthHero.tsx:30
4010 -#. Source: src/components/overview/MetricGrid.tsx:46
4144 +#. Source: src/components/overview/MetricGrid.tsx:56
4011 4145 #: assets/admin.js
4012 4146 msgid "on disk"
4013 4147 msgstr ""
4014 4148
@@ -4117,9 +4251,9 @@
4117 4251 #: assets/admin.js
4118 4252 msgid "Paste this site’s URL + token into the"
4119 4253 msgstr ""
4120 4254
4121 -#. Source: src/components/overview/MetricGrid.tsx:47
4255 +#. Source: src/components/overview/MetricGrid.tsx:57
4122 4256 #: assets/admin.js
4123 4257 msgid "per page load"
4124 4258 msgstr ""
4125 4259
@@ -4140,8 +4274,13 @@
4140 4274 #: assets/admin.js
4141 4275 msgid "Performance score and Core Web Vitals."
4142 4276 msgstr ""
4143 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 +
4144 4283 #. Source: src/components/score/ScorePanel.tsx:713
4145 4284 #: assets/admin.js
4146 4285 msgid "Pick one more run to compare."
4147 4286 msgstr ""
@@ -4333,10 +4472,10 @@
4333 4472 #: assets/admin.js
4334 4473 msgid "Recent changes"
4335 4474 msgstr ""
4336 4475
4337 -#. Source: src/components/overview/Recommendations.tsx:116
4338 -#. Source: src/components/overview/Recommendations.tsx:120
4476 +#. Source: src/components/overview/Recommendations.tsx:119
4477 +#. Source: src/components/overview/Recommendations.tsx:123
4339 4478 #: assets/admin.js
4340 4479 msgid "Recommended for your site"
4341 4480 msgstr ""
4342 4481
@@ -4538,9 +4677,9 @@
4538 4677 msgid "See how this site performs for real visitors."
4539 4678 msgstr ""
4540 4679
4541 4680 #. Source: src/components/health/HealthHero.tsx:29
4542 -#. Source: src/components/overview/MetricGrid.tsx:45
4681 +#. Source: src/components/overview/MetricGrid.tsx:55
4543 4682 #: assets/admin.js
4544 4683 msgid "served without PHP"
4545 4684 msgstr ""
4546 4685
@@ -4811,9 +4950,9 @@
4811 4950 #: assets/admin.js
4812 4951 msgid "Waiting for connection…"
4813 4952 msgstr ""
4814 4953
4815 -#. Source: src/components/overview/Recommendations.tsx:218
4954 +#. Source: src/components/overview/Recommendations.tsx:221
4816 4955 #: assets/admin.js
4817 4956 msgid "Want a hand?"
4818 4957 msgstr ""
4819 4958
@@ -4936,9 +5075,9 @@
4936 5075 #: assets/admin.js
4937 5076 msgid "You're all set"
4938 5077 msgstr ""
4939 5078
4940 -#. Source: src/components/overview/Recommendations.tsx:131
5079 +#. Source: src/components/overview/Recommendations.tsx:134
4941 5080 #: assets/admin.js
4942 5081 msgid "You're all set — no recommendations right now."
4943 5082 msgstr ""
4944 5083