PluginProbe
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN / 1.3.7
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN v1.3.7
1.3.7 1.3.6 1.3.5 1.3.4 1.3.3 1.3.2 1.3.1 1.3.0 1.2.4 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 All 33 releases
← All changes | languages/xspeed.pot +657 -629 1.3.6 → 1.3.7 View file →
@@ -1,9 +1,9 @@
1 1 # Copyright (C) 2026 WPDeveloper
2 2 # This file is distributed under the GPLv2 or later.
3 3 msgid ""
4 4 msgstr ""
5 -"Project-Id-Version: xSpeed Cache 1.3.6\n"
5 +"Project-Id-Version: xSpeed Cache 1.3.7\n"
6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/xspeed\n"
7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8 8 "Language-Team: LANGUAGE <[email protected]>\n"
9 9 "MIME-Version: 1.0\n"
@@ -8,9 +8,9 @@
8 8 "Language-Team: LANGUAGE <[email protected]>\n"
9 9 "MIME-Version: 1.0\n"
10 10 "Content-Type: text/plain; charset=UTF-8\n"
11 11 "Content-Transfer-Encoding: 8bit\n"
12 -"POT-Creation-Date: 2026-09-28T10:41:59+00:00\n"
12 +"POT-Creation-Date: 2026-10-01T06:08:12+00:00\n"
13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14 14 "X-Generator: WP-CLI 2.12.0\n"
15 15 "X-Domain: xspeed\n"
16 16
@@ -15,9 +15,9 @@
15 15 "X-Domain: xspeed\n"
16 16
17 17 #. Plugin Name of the plugin
18 18 #: xspeed.php
19 -#: includes/class-cache.php:8804
19 +#: includes/class-cache.php:8967
20 20 #: includes/class-deactivation-feedback.php:189
21 21 msgid "xSpeed Cache"
22 22 msgstr ""
23 23
@@ -37,9 +37,9 @@
37 37 msgstr ""
38 38
39 39 #: includes/class-admin.php:153
40 40 #: includes/class-admin.php:243
41 -#: includes/class-cache.php:8818
41 +#: includes/class-cache.php:8981
42 42 #: assets/admin.js
43 43 msgid "Settings"
44 44 msgstr ""
45 45
@@ -129,185 +129,185 @@
129 129 msgid "Clears this post and the pages that list it — the homepage, its archive and the neighbouring posts. The rest of the site keeps its cache."
130 130 msgstr ""
131 131
132 132 #. translators: 1: cause of the purge, 2: URL or path, 3: number of files removed.
133 -#: includes/class-cache.php:4170
133 +#: includes/class-cache.php:4213
134 134 #, php-format
135 135 msgid "Purged one URL (%1$s) — %2$s, %3$d file(s) removed"
136 136 msgstr ""
137 137
138 -#: includes/class-cache.php:5123
138 +#: includes/class-cache.php:5268
139 139 msgid "Purge All"
140 140 msgstr ""
141 141
142 -#: includes/class-cache.php:5127
142 +#: includes/class-cache.php:5272
143 143 msgid "Purge Page / Static Cache"
144 144 msgstr ""
145 145
146 -#: includes/class-cache.php:5131
146 +#: includes/class-cache.php:5276
147 147 msgid "Purge CSS / JS Cache"
148 148 msgstr ""
149 149
150 -#: includes/class-cache.php:5135
150 +#: includes/class-cache.php:5280
151 151 msgid "Purge Object Cache"
152 152 msgstr ""
153 153
154 -#: includes/class-cache.php:5139
154 +#: includes/class-cache.php:5284
155 155 msgid "Purge REST Cache"
156 156 msgstr ""
157 157
158 158 #. translators: 1: what was purged, 2: cause of the purge.
159 -#: includes/class-cache.php:5386
159 +#: includes/class-cache.php:5531
160 160 #, php-format
161 161 msgid "Purged %1$s (%2$s)"
162 162 msgstr ""
163 163
164 164 #. translators: 1: what was purged, 2: cause of the purge, 3: number of files removed.
165 -#: includes/class-cache.php:5392
165 +#: includes/class-cache.php:5537
166 166 #, php-format
167 167 msgid "Purged %1$s (%2$s) — %3$d file(s) removed"
168 168 msgstr ""
169 169
170 -#: includes/class-cache.php:5630
170 +#: includes/class-cache.php:5775
171 171 msgid "advanced-cache.php cannot be read, so xSpeed cannot tell whose page cache is installed."
172 172 msgstr ""
173 173
174 174 #. translators: %s: the page-caching plugin that owns advanced-cache.php.
175 -#: includes/class-cache.php:5637
175 +#: includes/class-cache.php:5782
176 176 #, php-format
177 177 msgid "%s is serving the page cache. Turn the xSpeed cache off and on again to take it over."
178 178 msgstr ""
179 179
180 -#: includes/class-cache.php:5640
180 +#: includes/class-cache.php:5785
181 181 msgid "Another plugin is serving the page cache. Turn the xSpeed cache off and on again to take it over."
182 182 msgstr ""
183 183
184 -#: includes/class-cache.php:5710
184 +#: includes/class-cache.php:5860
185 185 msgid "Could not lock page-cache ownership. Try again."
186 186 msgstr ""
187 187
188 -#: includes/class-cache.php:5716
188 +#: includes/class-cache.php:5866
189 189 msgid "Page-cache ownership changed while xSpeed was checking it. Nothing was changed; try again."
190 190 msgstr ""
191 191
192 192 #. translators: %s: the page-caching plugin that owns advanced-cache.php.
193 -#: includes/class-cache.php:5790
193 +#: includes/class-cache.php:5940
194 194 #, php-format
195 195 msgid "%s owns advanced-cache.php, so xSpeed left it alone. Enable the cache from the xSpeed dashboard to take it over."
196 196 msgstr ""
197 197
198 -#: includes/class-cache.php:5793
198 +#: includes/class-cache.php:5943
199 199 msgid "Another plugin owns advanced-cache.php, so xSpeed left it alone. Enable the cache from the xSpeed dashboard to take it over."
200 200 msgstr ""
201 201
202 -#: includes/class-cache.php:5823
202 +#: includes/class-cache.php:5973
203 203 msgid "Could not write wp-content/advanced-cache.php. Check filesystem permissions."
204 204 msgstr ""
205 205
206 -#: includes/class-cache.php:5880
206 +#: includes/class-cache.php:6030
207 207 msgid "wp-config.php is not writable and already contains define( 'WP_CACHE', false ). Change that line to true — adding a second one would leave the cache off and block xSpeed from changing it again."
208 208 msgstr ""
209 209
210 -#: includes/class-cache.php:5881
210 +#: includes/class-cache.php:6031
211 211 msgid "xSpeed could not verify the complete page-cache write, and wp-config.php is not writable. Its changes were rolled back."
212 212 msgstr ""
213 213
214 -#: includes/class-cache.php:5883
214 +#: includes/class-cache.php:6033
215 215 msgid "xSpeed could not verify the complete page-cache write. Its changes were rolled back."
216 216 msgstr ""
217 217
218 -#: includes/class-cache.php:5898
218 +#: includes/class-cache.php:6048
219 219 msgid "xSpeed could not save the page-cache setting. Its file changes were rolled back."
220 220 msgstr ""
221 221
222 -#: includes/class-cache.php:5990
222 +#: includes/class-cache.php:6140
223 223 msgid "xSpeed could not safely remove its WP_CACHE setting. The cache remains enabled."
224 224 msgstr ""
225 225
226 -#: includes/class-cache.php:6005
226 +#: includes/class-cache.php:6155
227 227 msgid "xSpeed could not remove its page-cache drop-in. The cache remains enabled."
228 228 msgstr ""
229 229
230 -#: includes/class-cache.php:6006
230 +#: includes/class-cache.php:6156
231 231 msgid "xSpeed could not remove its page-cache drop-in, and could not put WP_CACHE back. The cache is not serving; check wp-config.php before changing the page cache again."
232 232 msgstr ""
233 233
234 -#: includes/class-cache.php:6023
234 +#: includes/class-cache.php:6173
235 235 msgid "xSpeed could not remove its rewrite rules from .htaccess, which would keep serving cached pages. Remove the xSpeed block from .htaccess by hand before turning the page cache off."
236 236 msgstr ""
237 237
238 -#: includes/class-cache.php:6041
238 +#: includes/class-cache.php:6191
239 239 msgid "xSpeed could not remove its rewrite rules from .htaccess, which would keep serving cached pages. The cache remains enabled."
240 240 msgstr ""
241 241
242 -#: includes/class-cache.php:6042
242 +#: includes/class-cache.php:6192
243 243 msgid "xSpeed could not remove its rewrite rules from .htaccess, and could not restore the drop-in it had just removed. The cache is not serving, and the site may still return stale cached pages until the xSpeed block is removed from .htaccess by hand."
244 244 msgstr ""
245 245
246 -#: includes/class-cache.php:6053
246 +#: includes/class-cache.php:6203
247 247 msgid "xSpeed could not save the disabled state."
248 248 msgstr ""
249 249
250 -#: includes/class-cache.php:6057
250 +#: includes/class-cache.php:6207
251 251 msgid "xSpeed could not save the disabled state. The page cache was restored."
252 252 msgstr ""
253 253
254 254 #. translators: 1: the refusal reason, 2: a page-caching plugin's name.
255 -#: includes/class-cache.php:8296
255 +#: includes/class-cache.php:8451
256 256 #, php-format
257 257 msgid "%1$s %2$s is also active on this site — deactivate its page cache before enabling xSpeed."
258 258 msgstr ""
259 259
260 260 #. translators: 1: the refusal reason, 2: comma-separated page-caching plugin names.
261 -#: includes/class-cache.php:8303
261 +#: includes/class-cache.php:8458
262 262 #, php-format
263 263 msgid "%1$s These page caches are also active on this site: %2$s. Deactivate them before enabling xSpeed."
264 264 msgstr ""
265 265
266 266 #. translators: %s: comma-separated list of page-caching plugin names.
267 -#: includes/class-cache.php:8358
267 +#: includes/class-cache.php:8513
268 268 #, php-format
269 269 msgid "More than one page cache is active on this site (%s). Turn off the other page caches before enabling xSpeed."
270 270 msgstr ""
271 271
272 -#: includes/class-cache.php:8365
272 +#: includes/class-cache.php:8520
273 273 #, php-format
274 274 msgid "%s is active or owns advanced-cache.php. Deactivate its page cache before enabling xSpeed."
275 275 msgstr ""
276 276
277 -#: includes/class-cache.php:8368
277 +#: includes/class-cache.php:8523
278 278 msgid "WP_CACHE is true but no page-cache drop-in owner can be proved. xSpeed will not claim it."
279 279 msgstr ""
280 280
281 -#: includes/class-cache.php:8369
281 +#: includes/class-cache.php:8524
282 282 msgid "wp-config.php defines WP_CACHE more than once. Remove the duplicate before enabling the cache."
283 283 msgstr ""
284 284
285 -#: includes/class-cache.php:8370
285 +#: includes/class-cache.php:8525
286 286 msgid "WP_CACHE is set from an expression in wp-config.php. xSpeed will not rewrite it."
287 287 msgstr ""
288 288
289 -#: includes/class-cache.php:8371
289 +#: includes/class-cache.php:8526
290 290 msgid "WP_CACHE is defined inside a conditional in wp-config.php, so xSpeed cannot tell what it will be. Move it to a plain define before enabling the cache."
291 291 msgstr ""
292 292
293 -#: includes/class-cache.php:8372
293 +#: includes/class-cache.php:8527
294 294 msgid "wp-config.php cannot be read, so xSpeed cannot safely change page-cache ownership."
295 295 msgstr ""
296 296
297 -#: includes/class-cache.php:8373
297 +#: includes/class-cache.php:8528
298 298 msgid "advanced-cache.php is occupied but its owner cannot be proved. xSpeed will not replace it."
299 299 msgstr ""
300 300
301 -#: includes/class-cache.php:8374
301 +#: includes/class-cache.php:8529
302 302 msgid "advanced-cache.php cannot be read, so xSpeed cannot prove its owner."
303 303 msgstr ""
304 304
305 -#: includes/class-cache.php:8376
305 +#: includes/class-cache.php:8531
306 306 msgid "The page-cache field is occupied or cannot be verified. xSpeed will not change it."
307 307 msgstr ""
308 308
309 -#: includes/class-cache.php:8887
309 +#: includes/class-cache.php:9050
310 310 #: includes/class-purge-ui.php:278
311 311 #: includes/class-purge-ui.php:675
312 312 msgid "Unauthorized."
313 313 msgstr ""
@@ -429,8 +429,9 @@
429 429 msgid "Page cache lifetime %1$ds cannot be expressed in whole hours — importing as %2$dh."
430 430 msgstr ""
431 431
432 432 #: includes/class-migration.php:358
433 +#: includes/modules/ObjectCache/ObjectCacheModule.php:103
433 434 msgid "Redis password"
434 435 msgstr ""
435 436
436 437 #: includes/class-migration.php:359
@@ -555,9 +556,9 @@
555 556 msgid "Scripts do not run until the visitor interacts. Sliders, counters and anything that animates on load may sit still until first touch, and a script that expects to run immediately can misbehave."
556 557 msgstr ""
557 558
558 559 #: includes/class-optimize-diagnosis.php:525
559 -msgid "Stylesheets load without blocking the first paint, so a theme with no critical CSS can flash unstyled for a moment. It also moves styling to after first paint, which can INCREASE layout shift on a page that already shifts."
560 +msgid "Stylesheets load without blocking the first paint only on pages that have critical CSS; elsewhere only font stylesheets change. Where it applies, styling moves to after first paint, which can INCREASE layout shift on a page that already shifts."
560 561 msgstr ""
561 562
562 563 #: includes/class-optimize-diagnosis.php:526
563 564 msgid "Older themes and plugins still depend on it. Removing it broke a real page with \"jQuery.Deferred exception: e.indexOf is not a function\" — an error the page-level check cannot see, because the HTML arrives intact and only the browser notices."
@@ -747,15 +748,15 @@
747 748 msgid "Preloader queued %1$d URL%2$s for warming."
748 749 msgstr ""
749 750
750 751 #. translators: 1: sitemap URL, 2: error detail.
751 -#: includes/class-preloader.php:741
752 +#: includes/class-preloader.php:745
752 753 #, php-format
753 754 msgid "Could not fetch the sitemap at %1$s — %2$s"
754 755 msgstr ""
755 756
756 757 #. translators: 1: sitemap URL, 2: HTTP status code.
757 -#: includes/class-preloader.php:754
758 +#: includes/class-preloader.php:758
758 759 #, php-format
759 760 msgid "Could not fetch the sitemap at %1$s — the server returned HTTP %2$d."
760 761 msgstr ""
761 762
@@ -783,9 +784,9 @@
783 784 msgstr ""
784 785
785 786 #: includes/class-purge-runner.php:269
786 787 #: includes/modules/Cdn/CdnModule.php:28
787 -#: includes/modules/Migration/MigrationModule.php:555
788 +#: includes/modules/Migration/MigrationModule.php:556
788 789 msgid "CDN"
789 790 msgstr ""
790 791
791 792 #. translators: 1: what asked for the purge, 2: number of files removed.
@@ -947,8 +948,9 @@
947 948 msgid "Your hit ratio is %d%% — most visitors hit a cold cache. The preloader crawls your sitemap so pages are warm before anyone asks."
948 949 msgstr ""
949 950
950 951 #: includes/class-recommendations.php:148
952 +#: includes/modules/Preloader/PreloaderModule.php:78
951 953 msgid "Enable preloader"
952 954 msgstr ""
953 955
954 956 #: includes/class-recommendations.php:158
@@ -1061,13 +1063,13 @@
1061 1063 #: includes/class-score.php:412
1062 1064 msgid "GTmetrix returned an unreadable response."
1063 1065 msgstr ""
1064 1066
1065 -#: includes/class-server.php:744
1067 +#: includes/class-server.php:746
1066 1068 msgid "an unreadable advanced-cache.php"
1067 1069 msgstr ""
1068 1070
1069 -#: includes/class-server.php:754
1071 +#: includes/class-server.php:756
1070 1072 msgid "an unidentified advanced-cache.php"
1071 1073 msgstr ""
1072 1074
1073 1075 #. translators: %s: setting key.
@@ -1093,25 +1095,25 @@
1093 1095 msgid "AI Privacy"
1094 1096 msgstr ""
1095 1097
1096 1098 #: includes/modules/AIPrivacy/AIPrivacyModule.php:51
1097 -msgid "Decide whether AI features may use your visitors' data, and what the consent banner says. Applies even before you install Pro."
1099 +msgid "Choose whether AI features may use visitor data, with or without Pro."
1098 1100 msgstr ""
1099 1101
1100 -#: includes/modules/AIPrivacy/AIPrivacyModule.php:70
1101 -msgid "Require consent before AI data collection"
1102 +#: includes/modules/AIPrivacy/AIPrivacyModule.php:71
1103 +msgid "Ask visitors for consent"
1102 1104 msgstr ""
1103 1105
1104 -#: includes/modules/AIPrivacy/AIPrivacyModule.php:71
1105 -msgid "When ON, AI-powered features only record data after a visitor accepts the consent banner. When OFF, they collect from every visitor — only legal in regions without GDPR-style consent rules. The setting applies even if Pro is not installed (so a later Pro upgrade respects whichever choice you made): privacy is a fundamental right, not a paid feature."
1106 +#: includes/modules/AIPrivacy/AIPrivacyModule.php:72
1107 +msgid "When on, AI features only record a visitor's data after they accept the consent banner. Turn it off only where the law does not require consent, as GDPR does."
1106 1108 msgstr ""
1107 1109
1108 -#: includes/modules/AIPrivacy/AIPrivacyModule.php:76
1110 +#: includes/modules/AIPrivacy/AIPrivacyModule.php:77
1109 1111 msgid "Consent banner text"
1110 1112 msgstr ""
1111 1113
1112 -#: includes/modules/AIPrivacy/AIPrivacyModule.php:77
1113 -msgid "Shown in the cookie consent banner. Keep it factual — what you collect (page navigation, performance metrics) and why."
1114 +#: includes/modules/AIPrivacy/AIPrivacyModule.php:78
1115 +msgid "The text of the consent banner. Say plainly what you collect, such as page visits and speed data, and why."
1114 1116 msgstr ""
1115 1117
1116 1118 #: includes/modules/Bloat/BloatModule.php:38
1117 1119 msgid "Bloat Control"
@@ -1117,272 +1119,272 @@
1117 1119 msgid "Bloat Control"
1118 1120 msgstr ""
1119 1121
1120 1122 #: includes/modules/Bloat/BloatModule.php:40
1121 -msgid "Turn off WordPress defaults you do not use — saves bytes, requests, and attack surface."
1123 +msgid "Turns off WordPress features you do not use, so pages load less."
1122 1124 msgstr ""
1123 1125
1124 -#: includes/modules/Bloat/BloatModule.php:49
1125 -msgid "Disable Emojis"
1126 +#: includes/modules/Bloat/BloatModule.php:50
1127 +msgid "Disable emojis"
1126 1128 msgstr ""
1127 1129
1128 -#: includes/modules/Bloat/BloatModule.php:50
1130 +#: includes/modules/Bloat/BloatModule.php:51
1129 1131 msgid "Remove the emoji detection script and its inline styles from every page. Modern browsers draw emojis natively, so visitors still see them. Saves a script and an inline stylesheet per page."
1130 1132 msgstr ""
1131 1133
1132 -#: includes/modules/Bloat/BloatModule.php:55
1133 -msgid "Disable Dashicons on Frontend"
1134 -msgstr ""
1135 -
1136 1134 #: includes/modules/Bloat/BloatModule.php:56
1137 -msgid "Drop the dashicons stylesheet from non-admin pages. Most themes do not need it. Saves ~45 KB per visitor."
1135 +msgid "Remove Dashicons for visitors"
1138 1136 msgstr ""
1139 1137
1140 -#: includes/modules/Bloat/BloatModule.php:61
1141 -msgid "Disable oEmbed Discovery + wp-embed.min.js"
1138 +#: includes/modules/Bloat/BloatModule.php:57
1139 +msgid "Removes the WordPress admin icon font for logged-out visitors. Most themes do not use it, and it saves about 45 KB."
1142 1140 msgstr ""
1143 1141
1144 1142 #: includes/modules/Bloat/BloatModule.php:62
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."
1143 +msgid "Disable auto-embeds"
1146 1144 msgstr ""
1147 1145
1148 -#: includes/modules/Bloat/BloatModule.php:67
1149 -msgid "Disable RSS Feeds"
1146 +#: includes/modules/Bloat/BloatModule.php:63
1147 +msgid "Removes the embed script, saving one request per page. A pasted YouTube link no longer turns into a player, so use an embed block."
1150 1148 msgstr ""
1151 1149
1152 1150 #: includes/modules/Bloat/BloatModule.php:68
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."
1151 +msgid "Disable RSS feeds"
1154 1152 msgstr ""
1155 1153
1156 -#: includes/modules/Bloat/BloatModule.php:73
1157 -msgid "Disable XML-RPC"
1154 +#: includes/modules/Bloat/BloatModule.php:69
1155 +msgid "Feed addresses such as /feed/ return \"not found\". Use this if your site has no feed readers."
1158 1156 msgstr ""
1159 1157
1160 1158 #: includes/modules/Bloat/BloatModule.php:74
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)."
1159 +msgid "Disable XML-RPC"
1162 1160 msgstr ""
1163 1161
1164 -#: includes/modules/Bloat/BloatModule.php:79
1165 -msgid "Strip jQuery Migrate on Frontend"
1162 +#: includes/modules/Bloat/BloatModule.php:75
1163 +msgid "Turns off the old xmlrpc.php file that attackers often target. Leave this off if you use Jetpack or the WordPress mobile app."
1166 1164 msgstr ""
1167 1165
1168 1166 #: includes/modules/Bloat/BloatModule.php:80
1169 -msgid "Remove the jquery-migrate compatibility shim from non-admin pages. Saves ~10 KB; safe on modern themes / plugins."
1167 +msgid "Remove jQuery Migrate"
1170 1168 msgstr ""
1171 1169
1172 -#: includes/modules/Bloat/BloatModule.php:85
1173 -msgid "Strip Block-Editor Styles on Frontend"
1170 +#: includes/modules/Bloat/BloatModule.php:81
1171 +msgid "Removes a script that old themes and plugins need, from pages visitors see. Saves about 10 KB and is safe on current themes."
1174 1172 msgstr ""
1175 1173
1176 1174 #: 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."
1175 +msgid "Remove editor styles for visitors"
1178 1176 msgstr ""
1179 1177
1180 -#: includes/modules/Bloat/BloatModule.php:91
1181 -msgid "Remove RSD Link"
1178 +#: includes/modules/Bloat/BloatModule.php:87
1179 +msgid "Removes block editor CSS that some plugins load on public pages by mistake, which can add hundreds of KB. Block styles for visitors stay."
1182 1180 msgstr ""
1183 1181
1184 1182 #: includes/modules/Bloat/BloatModule.php:92
1183 +msgid "Remove RSD link"
1184 +msgstr ""
1185 +
1186 +#: includes/modules/Bloat/BloatModule.php:93
1185 1187 msgid "Drop the Really Simple Discovery link from the page head. Only old desktop blogging clients read it."
1186 1188 msgstr ""
1187 1189
1188 -#: includes/modules/Bloat/BloatModule.php:97
1189 -msgid "Remove Shortlink"
1190 +#: includes/modules/Bloat/BloatModule.php:98
1191 +msgid "Remove shortlink"
1190 1192 msgstr ""
1191 1193
1192 -#: includes/modules/Bloat/BloatModule.php:98
1194 +#: includes/modules/Bloat/BloatModule.php:99
1193 1195 msgid "Drop the ?p=123 shortlink tag and header from posts and pages. The shortlinks keep working; they are just no longer advertised."
1194 1196 msgstr ""
1195 1197
1196 -#: includes/modules/Bloat/BloatModule.php:103
1197 -msgid "Remove REST API Links"
1198 +#: includes/modules/Bloat/BloatModule.php:104
1199 +msgid "Remove REST API links"
1198 1200 msgstr ""
1199 1201
1200 -#: includes/modules/Bloat/BloatModule.php:104
1202 +#: includes/modules/Bloat/BloatModule.php:105
1201 1203 msgid "Drop the /wp-json/ discovery link tag and Link header. The REST API itself stays on; to block it, use the setting below."
1202 1204 msgstr ""
1203 1205
1204 -#: includes/modules/Bloat/BloatModule.php:109
1205 -msgid "Hide WordPress Version"
1206 +#: includes/modules/Bloat/BloatModule.php:110
1207 +msgid "Hide WordPress version"
1206 1208 msgstr ""
1207 1209
1208 -#: includes/modules/Bloat/BloatModule.php:110
1210 +#: includes/modules/Bloat/BloatModule.php:111
1209 1211 msgid "Remove the WordPress generator tag from pages and feeds, so it no longer states the WordPress version. Other plugins print their own tags; those stay. Script and style URLs still carry ?ver= numbers."
1210 1212 msgstr ""
1211 1213
1212 -#: includes/modules/Bloat/BloatModule.php:115
1213 -msgid "Disable Self-Pingbacks"
1214 +#: includes/modules/Bloat/BloatModule.php:116
1215 +msgid "Disable self-pingbacks"
1214 1216 msgstr ""
1215 1217
1216 -#: includes/modules/Bloat/BloatModule.php:116
1218 +#: includes/modules/Bloat/BloatModule.php:117
1217 1219 msgid "Stop WordPress from sending a pingback to your own site when a post links to another of your posts. Pingbacks to other sites are not affected."
1218 1220 msgstr ""
1219 1221
1220 -#: includes/modules/Bloat/BloatModule.php:121
1221 -msgid "Restrict REST API to Logged-In Users"
1222 +#: includes/modules/Bloat/BloatModule.php:122
1223 +msgid "REST API for logged-in users only"
1222 1224 msgstr ""
1223 1225
1224 -#: includes/modules/Bloat/BloatModule.php:122
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."
1226 +#: includes/modules/Bloat/BloatModule.php:123
1227 +msgid "Blocks /wp-json/ for logged-out visitors. This breaks WooCommerce checkout and many contact forms, so keep it off unless you are sure."
1226 1228 msgstr ""
1227 1229
1228 -#: includes/modules/Bloat/BloatModule.php:380
1230 +#: includes/modules/Bloat/BloatModule.php:393
1229 1231 msgid "Feeds are disabled."
1230 1232 msgstr ""
1231 1233
1232 -#: includes/modules/Bloat/BloatModule.php:429
1234 +#: includes/modules/Bloat/BloatModule.php:450
1233 1235 msgid "Anonymous REST access is disabled on this site."
1234 1236 msgstr ""
1235 1237
1236 1238 #: includes/modules/BrowserCache/BrowserCacheModule.php:32
1237 -#: includes/modules/Migration/MigrationModule.php:551
1239 +#: includes/modules/Migration/MigrationModule.php:552
1238 1240 msgid "Browser Cache"
1239 1241 msgstr ""
1240 1242
1241 1243 #: includes/modules/BrowserCache/BrowserCacheModule.php:34
1242 -msgid "Tell browsers (and intermediate CDNs) how long to cache static assets and HTML."
1244 +msgid "Tells browsers and CDNs how long to keep your files and pages."
1243 1245 msgstr ""
1244 1246
1245 -#: includes/modules/BrowserCache/BrowserCacheModule.php:43
1247 +#: includes/modules/BrowserCache/BrowserCacheModule.php:44
1246 1248 msgid "Enable browser cache headers"
1247 1249 msgstr ""
1248 1250
1249 -#: includes/modules/BrowserCache/BrowserCacheModule.php:44
1250 -msgid "On Apache/LiteSpeed this writes Cache-Control + Expires rules into .htaccess. On nginx it just stores the settings — you paste the snippet into your server block manually."
1251 +#: includes/modules/BrowserCache/BrowserCacheModule.php:45
1252 +msgid "On Apache and LiteSpeed, xSpeed adds the rules to .htaccess for you. On nginx, you copy the snippet into your server config."
1251 1253 msgstr ""
1252 1254
1253 -#: includes/modules/BrowserCache/BrowserCacheModule.php:51
1254 -msgid "Static asset TTL (seconds)"
1255 +#: includes/modules/BrowserCache/BrowserCacheModule.php:52
1256 +msgid "File lifetime (seconds)"
1255 1257 msgstr ""
1256 1258
1257 -#: includes/modules/BrowserCache/BrowserCacheModule.php:53
1258 -msgid "Cache lifetime for CSS, JS, fonts, images. Defaults to 1 year + immutable (the industry-standard \"fingerprinted assets never change\" pattern)."
1259 +#: includes/modules/BrowserCache/BrowserCacheModule.php:54
1260 +msgid "How long browsers keep CSS, JS, fonts and images. The default is 1 year, which suits files that change name when they change."
1259 1261 msgstr ""
1260 1262
1261 -#: includes/modules/BrowserCache/BrowserCacheModule.php:61
1262 -msgid "HTML TTL (seconds)"
1263 +#: includes/modules/BrowserCache/BrowserCacheModule.php:62
1264 +msgid "Page lifetime (seconds)"
1263 1265 msgstr ""
1264 1266
1265 -#: includes/modules/BrowserCache/BrowserCacheModule.php:63
1266 -msgid "Cache lifetime for the HTML document itself. Keep short (default 1h) so post edits roll out same-day."
1267 +#: includes/modules/BrowserCache/BrowserCacheModule.php:64
1268 +msgid "How long browsers keep the page itself. Keep it short (default 1 hour) so visitors see your edits the same day."
1267 1269 msgstr ""
1268 1270
1269 -#: includes/modules/BrowserCache/BrowserCacheModule.php:127
1271 +#: includes/modules/BrowserCache/BrowserCacheModule.php:128
1270 1272 msgid "Browser cache is enabled but not active on the server"
1271 1273 msgstr ""
1272 1274
1273 -#: includes/modules/BrowserCache/BrowserCacheModule.php:128
1275 +#: includes/modules/BrowserCache/BrowserCacheModule.php:129
1274 1276 msgid "Browser-cache headers need to live in your nginx config, and the live response shows they are not being sent yet — so this is on in settings but doing nothing. Your settings are included in the unified server-block snippet on the Cache panel: paste it once into your nginx vhost (or container nginx config) and reload nginx."
1275 1277 msgstr ""
1276 1278
1277 -#: includes/modules/BrowserCache/BrowserCacheModule.php:132
1278 -#: includes/modules/Gzip/GzipModule.php:163
1279 +#: includes/modules/BrowserCache/BrowserCacheModule.php:133
1280 +#: includes/modules/Gzip/GzipModule.php:164
1279 1281 msgid "Go to the snippet"
1280 1282 msgstr ""
1281 1283
1282 -#: includes/modules/Cache/CacheModule.php:130
1283 -#: includes/modules/Migration/MigrationModule.php:547
1284 +#: includes/modules/Cache/CacheModule.php:169
1285 +#: includes/modules/Migration/MigrationModule.php:548
1284 1286 msgid "Page Cache"
1285 1287 msgstr ""
1286 1288
1287 -#: includes/modules/Cache/CacheModule.php:132
1288 -msgid "Page caching for non-logged-in visitors."
1289 +#: includes/modules/Cache/CacheModule.php:171
1290 +msgid "Saves each page as a file and serves it to logged-out visitors."
1289 1291 msgstr ""
1290 1292
1291 -#: includes/modules/Cache/CacheModule.php:158
1292 -msgid "Cache Expiry (hours)"
1293 +#: includes/modules/Cache/CacheModule.php:198
1294 +msgid "Cache expiry (hours)"
1293 1295 msgstr ""
1294 1296
1295 -#: includes/modules/Cache/CacheModule.php:160
1296 -msgid "How long cached pages live before regenerating. 1 to 720 hours (30 days)."
1297 +#: includes/modules/Cache/CacheModule.php:200
1298 +msgid "How long a cached page is kept before xSpeed builds it again. 1 to 720 hours (30 days)."
1297 1299 msgstr ""
1298 1300
1299 -#: includes/modules/Cache/CacheModule.php:190
1301 +#: includes/modules/Cache/CacheModule.php:230
1300 1302 msgid "Excluded URLs"
1301 1303 msgstr ""
1302 1304
1303 -#: includes/modules/Cache/CacheModule.php:191
1304 -msgid "One pattern per line. Plain text matches anywhere in the URL (e.g. /cart). Use glob for anchored matches (/cart/* matches /cart/items but not /foo/cart/bar; *.pdf matches PDFs). Prefix with ~ for a raw regex (e.g. ~wp-.*\\.php)."
1305 +#: includes/modules/Cache/CacheModule.php:231
1306 +msgid "Pages whose URL matches a line here are never cached. Plain text matches anywhere (/cart). A pattern with * matches from the start of the path: /cart/* matches /cart/items but not /shop/cart/items. ~ starts a regex."
1305 1307 msgstr ""
1306 1308
1307 -#: includes/modules/Cache/CacheModule.php:200
1308 -msgid "Excluded Cookies"
1309 +#: includes/modules/Cache/CacheModule.php:240
1310 +msgid "Excluded cookies"
1309 1311 msgstr ""
1310 1312
1311 -#: includes/modules/Cache/CacheModule.php:201
1312 -msgid "Skip cache for any visitor whose request carries a cookie whose NAME matches one of these patterns. Plain text = \"contains\"; glob (woocommerce_*) and ~regex (~wordpress_[a-f0-9]+) supported. One per line."
1313 +#: includes/modules/Cache/CacheModule.php:241
1314 +msgid "Visitors with a cookie whose name matches a line here always get a fresh page. One per line; * and ~regex work."
1313 1315 msgstr ""
1314 1316
1315 -#: includes/modules/Cache/CacheModule.php:207
1316 -msgid "Bypass User Agents"
1317 +#: includes/modules/Cache/CacheModule.php:247
1318 +msgid "Excluded browsers and bots"
1317 1319 msgstr ""
1318 1320
1319 -#: includes/modules/Cache/CacheModule.php:208
1320 -msgid "Substring match against the visitor User-Agent. Matched UAs bypass cache (useful for screenshot bots, internal previews, monitoring). Glob + ~regex supported. One per line."
1321 +#: includes/modules/Cache/CacheModule.php:248
1322 +msgid "Visitors whose user agent contains a line here always get a fresh page. Useful for screenshot bots and uptime monitors."
1321 1323 msgstr ""
1322 1324
1323 -#: includes/modules/Cache/CacheModule.php:219
1324 -msgid "Ignored Query Parameters"
1325 +#: includes/modules/Cache/CacheModule.php:259
1326 +msgid "Ignored query parameters"
1325 1327 msgstr ""
1326 1328
1327 -#: includes/modules/Cache/CacheModule.php:220
1328 -msgid "Query keys removed from the URL before computing the cache key, so /post?utm_source=x and /post share a cache entry. Defaults cover the common analytics + ad + session params. Each entry matches a whole param name — plain text is an exact name, and glob (utm_*) or ~regex are anchored too, so \"ref\" does not also match \"preference\". One per line."
1329 +#: includes/modules/Cache/CacheModule.php:261
1330 +msgid "URL parameters to ignore, so /post?utm_source=x gets the same cached page as /post. Each line matches a whole parameter name."
1329 1331 msgstr ""
1330 1332
1331 -#: includes/modules/Cache/CacheModule.php:225
1332 -msgid "Purge After Updates"
1333 +#: includes/modules/Cache/CacheModule.php:266
1334 +msgid "Clear cache after updates"
1333 1335 msgstr ""
1334 1336
1335 -#: includes/modules/Cache/CacheModule.php:226
1336 -msgid "Clear the page cache when a plugin, theme or WordPress core is updated. Cached HTML is produced by the code being replaced, so leaving it in place serves pre-update markup — and links to minified assets that no longer exist — until the cache expires. Translation updates are ignored, since a language pack changes no markup a cached page depends on. Updates to xSpeed itself always purge, regardless of this setting."
1337 +#: includes/modules/Cache/CacheModule.php:267
1338 +msgid "Clear the page cache when a plugin, theme or WordPress is updated, so visitors never get old pages with broken asset links."
1337 1339 msgstr ""
1338 1340
1339 -#: includes/modules/Cache/CacheModule.php:231
1340 -msgid "Separate Mobile Cache"
1341 +#: includes/modules/Cache/CacheModule.php:272
1342 +msgid "Separate mobile cache"
1341 1343 msgstr ""
1342 1344
1343 -#: includes/modules/Cache/CacheModule.php:232
1344 -msgid "Keep mobile and desktop responses in separate cache buckets. Turn on for AMP, mobile-specific themes (WPtouch / Jetpack mobile theme), or any setup that serves different HTML by device."
1345 +#: includes/modules/Cache/CacheModule.php:273
1346 +msgid "Keep a separate cached copy for phones. Turn on only if your theme or plugins show different pages on mobile."
1345 1347 msgstr ""
1346 1348
1347 -#: includes/modules/Cache/CacheModule.php:264
1348 -msgid "Cache In Front Of This Site"
1349 +#: includes/modules/Cache/CacheModule.php:305
1350 +msgid "CDN or proxy in front"
1349 1351 msgstr ""
1350 1352
1351 -#: includes/modules/Cache/CacheModule.php:265
1352 -msgid "Ask a CDN or proxy in front of your site not to store pages xSpeed refused to cache. Leave it on Detect automatically unless you know what is in front of you; the marked providers ignore origin headers until you configure them to respect it."
1353 +#: includes/modules/Cache/CacheModule.php:306
1354 +msgid "Tells your CDN or proxy not to store pages xSpeed does not cache. Leave on Detect automatically unless you know your provider."
1353 1355 msgstr ""
1354 1356
1355 -#: includes/modules/Cache/CacheModule.php:266
1357 +#: includes/modules/Cache/CacheModule.php:308
1356 1358 msgid "Cache in front of this site"
1357 1359 msgstr ""
1358 1360
1359 -#: includes/modules/Cache/CacheModule.php:267
1361 +#: includes/modules/Cache/CacheModule.php:309
1360 1362 msgid "Naming your provider narrows the headers to the one it reads. Detect automatically works it out per request and otherwise sends a set every cache ignores unless it understands it, so it is safe not to know. Run \"wp xspeed cache edge\" to see what was detected and what gets sent."
1361 1363 msgstr ""
1362 1364
1363 -#: includes/modules/Cache/CacheModule.php:273
1364 -msgid "Custom Edge Headers"
1365 +#: includes/modules/Cache/CacheModule.php:315
1366 +msgid "Custom CDN headers"
1365 1367 msgstr ""
1366 1368
1367 -#: includes/modules/Cache/CacheModule.php:275
1368 -msgid "One header per line, as Name: value — for example \"Surrogate-Control: no-store\". Lines starting with # are ignored."
1369 +#: includes/modules/Cache/CacheModule.php:318
1370 +msgid "One header per line, as Name: value, for example \"Surrogate-Control: no-store\". Lines starting with # are ignored."
1369 1371 msgstr ""
1370 1372
1371 -#: includes/modules/Cache/CacheModule.php:276
1373 +#: includes/modules/Cache/CacheModule.php:319
1372 1374 msgid "Custom edge headers"
1373 1375 msgstr ""
1374 1376
1375 -#: includes/modules/Cache/CacheModule.php:277
1377 +#: includes/modules/Cache/CacheModule.php:320
1376 1378 msgid "These replace the headers xSpeed would have picked for your CDN. Two baselines are still added underneath: a Cache-Control, and \"X-Accel-Expires: 0\" for a page cache running in nginx on your own server. Name either one yourself and yours is used instead. Values containing $, % or a backslash are dropped — the same pairs go into nginx and Apache directives, where those cannot be escaped safely. Content-Length, Content-Encoding, Content-Type, Transfer-Encoding, Set-Cookie and Location are refused."
1377 1379 msgstr ""
1378 1380
1379 -#: includes/modules/Cache/CacheModule.php:290
1380 -msgid "LiteSpeed Static Fast Path"
1381 +#: includes/modules/Cache/CacheModule.php:333
1382 +msgid "LiteSpeed static fast path"
1381 1383 msgstr ""
1382 1384
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 +#: includes/modules/Cache/CacheModule.php:335
1386 +msgid "LiteSpeed serves cached pages without running PHP, which is faster on slow hosts. These visits are not counted in the dashboard hit ratio."
1385 1387 msgstr ""
1386 1388
1387 1389 #: includes/modules/CacheCoverage/CacheCoverageModule.php:36
1388 1390 msgid "Advanced Cache"
@@ -1388,45 +1390,45 @@
1388 1390 msgid "Advanced Cache"
1389 1391 msgstr ""
1390 1392
1391 1393 #: includes/modules/CacheCoverage/CacheCoverageModule.php:38
1392 -msgid "Cache 404s, search, feeds, and the REST API, plus custom rules and maintenance bypass."
1394 +msgid "Caches more page types: 404s, search, feeds and the REST API."
1393 1395 msgstr ""
1394 1396
1395 1397 #: includes/modules/Cdn/CdnModule.php:30
1396 -msgid "Serve static assets (images, fonts, CSS, JS) from a pull-zone CDN host like BunnyCDN, KeyCDN, or your own."
1398 +msgid "Serve images, fonts, CSS and JS from a CDN such as BunnyCDN or KeyCDN."
1397 1399 msgstr ""
1398 1400
1399 -#: includes/modules/Cdn/CdnModule.php:39
1401 +#: includes/modules/Cdn/CdnModule.php:40
1400 1402 msgid "Enable CDN"
1401 1403 msgstr ""
1402 1404
1403 -#: includes/modules/Cdn/CdnModule.php:40
1404 -msgid "Rewrite static asset URLs to the CDN hostname below. Your CDN must be a pull-zone configured to fetch from this site."
1405 +#: includes/modules/Cdn/CdnModule.php:41
1406 +msgid "Load static files from the CDN address below. Set up the CDN to pull files from this site first."
1405 1407 msgstr ""
1406 1408
1407 -#: includes/modules/Cdn/CdnModule.php:45
1409 +#: includes/modules/Cdn/CdnModule.php:46
1408 1410 msgid "CDN URL"
1409 1411 msgstr ""
1410 1412
1411 -#: includes/modules/Cdn/CdnModule.php:46
1412 -msgid "CDN hostname, e.g. cdn.example.com. https:// and trailing slashes are stripped automatically."
1413 +#: includes/modules/Cdn/CdnModule.php:47
1414 +msgid "The CDN address, for example cdn.example.com. xSpeed removes https:// and any trailing slash."
1413 1415 msgstr ""
1414 1416
1415 -#: includes/modules/Cdn/CdnModule.php:53
1416 -msgid "Included File Extensions"
1417 +#: includes/modules/Cdn/CdnModule.php:54
1418 +msgid "File types to serve"
1417 1419 msgstr ""
1418 1420
1419 -#: includes/modules/Cdn/CdnModule.php:54
1420 -msgid "Only URLs ending in these extensions are rewritten. Defaults cover images, fonts, CSS, JS, and common media."
1421 +#: includes/modules/Cdn/CdnModule.php:55
1422 +msgid "Only files with these extensions load from the CDN. The defaults cover images, fonts, CSS, JS and common media."
1421 1423 msgstr ""
1422 1424
1423 -#: includes/modules/Cdn/CdnModule.php:61
1424 -msgid "Excluded Patterns"
1425 +#: includes/modules/Cdn/CdnModule.php:62
1426 +msgid "Excluded paths"
1425 1427 msgstr ""
1426 1428
1427 -#: includes/modules/Cdn/CdnModule.php:62
1428 -msgid "Glob patterns matched against the URL path. Matching URLs stay on the origin. Examples: /wp-admin/*, *.pdf, /private/*"
1429 +#: includes/modules/Cdn/CdnModule.php:63
1430 +msgid "Files whose path matches a pattern load from your server, not the CDN. Use * as a wildcard, for example /private/* or *.pdf."
1429 1431 msgstr ""
1430 1432
1431 1433 #: includes/modules/Cloudflare/CloudflareModule.php:77
1432 1434 msgid "Cloudflare"
@@ -1432,75 +1434,75 @@
1432 1434 msgid "Cloudflare"
1433 1435 msgstr ""
1434 1436
1435 1437 #: includes/modules/Cloudflare/CloudflareModule.php:79
1436 -msgid "Connect a Cloudflare zone for automatic edge purging when xSpeed clears its cache, plus a dev-mode toggle."
1438 +msgid "Clear the Cloudflare cache whenever xSpeed clears its own cache."
1437 1439 msgstr ""
1438 1440
1439 -#: includes/modules/Cloudflare/CloudflareModule.php:102
1440 -msgid "Enable Cloudflare integration"
1441 -msgstr ""
1442 -
1443 1441 #: includes/modules/Cloudflare/CloudflareModule.php:103
1444 -msgid "Use the credentials below to verify your zone and run purges."
1442 +msgid "Connect Cloudflare"
1445 1443 msgstr ""
1446 1444
1447 -#: includes/modules/Cloudflare/CloudflareModule.php:113
1448 -msgid "Authentication"
1445 +#: includes/modules/Cloudflare/CloudflareModule.php:104
1446 +msgid "Lets xSpeed clear the Cloudflare cache for your domain, using the details below."
1449 1447 msgstr ""
1450 1448
1451 1449 #: includes/modules/Cloudflare/CloudflareModule.php:114
1452 -msgid "API Tokens (scoped, recommended) or the legacy Global API Key with your account email."
1450 +msgid "Authentication"
1453 1451 msgstr ""
1454 1452
1455 -#: includes/modules/Cloudflare/CloudflareModule.php:120
1456 -msgid "API Token"
1453 +#: includes/modules/Cloudflare/CloudflareModule.php:115
1454 +msgid "An API token is safer and recommended. The older Global API Key also needs your account email."
1457 1455 msgstr ""
1458 1456
1459 1457 #: includes/modules/Cloudflare/CloudflareModule.php:121
1460 -msgid "Create a token at dash.cloudflare.com → My Profile → API Tokens. Needs \"Zone → Cache Purge\" + \"Zone Settings\" permissions."
1458 +msgid "API Token"
1461 1459 msgstr ""
1462 1460
1463 -#: includes/modules/Cloudflare/CloudflareModule.php:129
1464 -msgid "Account Email"
1461 +#: includes/modules/Cloudflare/CloudflareModule.php:122
1462 +msgid "Create one at dash.cloudflare.com → My Profile → API Tokens. Give it the \"Zone → Cache Purge\" and \"Zone Settings\" permissions."
1465 1463 msgstr ""
1466 1464
1467 1465 #: includes/modules/Cloudflare/CloudflareModule.php:130
1468 -msgid "Only used when Authentication is set to Global API Key."
1466 +msgid "Account email"
1469 1467 msgstr ""
1470 1468
1471 -#: includes/modules/Cloudflare/CloudflareModule.php:136
1472 -msgid "Global API Key"
1469 +#: includes/modules/Cloudflare/CloudflareModule.php:131
1470 +msgid "The email address of your Cloudflare account."
1473 1471 msgstr ""
1474 1472
1475 1473 #: includes/modules/Cloudflare/CloudflareModule.php:137
1476 -msgid "Found at dash.cloudflare.com → My Profile → API Tokens → Global API Key."
1474 +msgid "Global API Key"
1477 1475 msgstr ""
1478 1476
1479 -#: includes/modules/Cloudflare/CloudflareModule.php:143
1480 -msgid "Zone ID"
1477 +#: includes/modules/Cloudflare/CloudflareModule.php:138
1478 +msgid "Find it at dash.cloudflare.com → My Profile → API Tokens → Global API Key."
1481 1479 msgstr ""
1482 1480
1483 1481 #: includes/modules/Cloudflare/CloudflareModule.php:144
1484 -msgid "The 32-character hex Zone ID from your domain overview page."
1482 +msgid "Zone ID"
1485 1483 msgstr ""
1486 1484
1487 -#: includes/modules/Cloudflare/CloudflareModule.php:150
1488 -msgid "Auto-purge Cloudflare on xSpeed purge"
1485 +#: includes/modules/Cloudflare/CloudflareModule.php:145
1486 +msgid "The 32-character Zone ID shown on your domain overview page in Cloudflare."
1489 1487 msgstr ""
1490 1488
1491 1489 #: includes/modules/Cloudflare/CloudflareModule.php:151
1492 -msgid "When xSpeed clears its own cache (post save, settings change, manual purge), trigger a Cloudflare purge too."
1490 +msgid "Clear Cloudflare with xSpeed"
1493 1491 msgstr ""
1494 1492
1493 +#: includes/modules/Cloudflare/CloudflareModule.php:152
1494 +msgid "Clear the Cloudflare cache each time xSpeed clears its own, for example after you save a post."
1495 +msgstr ""
1496 +
1495 1497 #. translators: %d: number of URLs that changed at once.
1496 -#: includes/modules/Cloudflare/CloudflareModule.php:480
1498 +#: includes/modules/Cloudflare/CloudflareModule.php:481
1497 1499 #, php-format
1498 1500 msgid "Purging the whole Cloudflare zone: %d URLs changed at once, too many to purge individually"
1499 1501 msgstr ""
1500 1502
1501 1503 #. translators: %d: number of URLs.
1502 -#: includes/modules/Cloudflare/CloudflareModule.php:541
1504 +#: includes/modules/Cloudflare/CloudflareModule.php:542
1503 1505 #, php-format
1504 1506 msgid "Skipped a queued Cloudflare purge of %d URL: the connection is no longer available"
1505 1507 msgid_plural "Skipped a queued Cloudflare purge of %d URLs: the connection is no longer available"
1506 1508 msgstr[0] ""
@@ -1506,9 +1508,9 @@
1506 1508 msgstr[0] ""
1507 1509 msgstr[1] ""
1508 1510
1509 1511 #. translators: %d: number of URLs purged.
1510 -#: includes/modules/Cloudflare/CloudflareModule.php:572
1512 +#: includes/modules/Cloudflare/CloudflareModule.php:573
1511 1513 #, php-format
1512 1514 msgid "Purged %d URL from the Cloudflare edge cache"
1513 1515 msgid_plural "Purged %d URLs from the Cloudflare edge cache"
1514 1516 msgstr[0] ""
@@ -1514,62 +1516,62 @@
1514 1516 msgstr[0] ""
1515 1517 msgstr[1] ""
1516 1518
1517 1519 #. translators: 1: number of URLs, 2: failure reason.
1518 -#: includes/modules/Cloudflare/CloudflareModule.php:588
1520 +#: includes/modules/Cloudflare/CloudflareModule.php:589
1519 1521 #, php-format
1520 1522 msgid "Cloudflare URL purge failed (%1$d URL(s)): %2$s"
1521 1523 msgstr ""
1522 1524
1523 -#: includes/modules/Cloudflare/CloudflareModule.php:590
1524 -#: includes/modules/Cloudflare/CloudflareModule.php:657
1525 +#: includes/modules/Cloudflare/CloudflareModule.php:591
1526 +#: includes/modules/Cloudflare/CloudflareModule.php:658
1525 1527 msgid "unknown error"
1526 1528 msgstr ""
1527 1529
1528 -#: includes/modules/Cloudflare/CloudflareModule.php:606
1530 +#: includes/modules/Cloudflare/CloudflareModule.php:607
1529 1531 msgid "the Cloudflare integration is switched off"
1530 1532 msgstr ""
1531 1533
1532 -#: includes/modules/Cloudflare/CloudflareModule.php:609
1534 +#: includes/modules/Cloudflare/CloudflareModule.php:610
1533 1535 msgid "no zone ID or API credentials are configured"
1534 1536 msgstr ""
1535 1537
1536 1538 #. translators: %s: what asked for the purge.
1537 -#: includes/modules/Cloudflare/CloudflareModule.php:645
1539 +#: includes/modules/Cloudflare/CloudflareModule.php:646
1538 1540 #, php-format
1539 1541 msgid "Purged the Cloudflare edge cache (%s)"
1540 1542 msgstr ""
1541 1543
1542 1544 #. translators: 1: what asked for the purge, 2: failure reason.
1543 -#: includes/modules/Cloudflare/CloudflareModule.php:655
1545 +#: includes/modules/Cloudflare/CloudflareModule.php:656
1544 1546 #, php-format
1545 1547 msgid "Cloudflare purge failed (%1$s): %2$s"
1546 1548 msgstr ""
1547 1549
1548 -#: includes/modules/Cloudflare/CloudflareModule.php:727
1550 +#: includes/modules/Cloudflare/CloudflareModule.php:728
1549 1551 msgid "Cloudflare is not fully configured."
1550 1552 msgstr ""
1551 1553
1552 -#: includes/modules/Cloudflare/CloudflareModule.php:728
1554 +#: includes/modules/Cloudflare/CloudflareModule.php:729
1553 1555 msgid "Add your API token (or Global API Key + account email) and the Zone ID, then press Verify. Until then auto-purge does nothing."
1554 1556 msgstr ""
1555 1557
1556 -#: includes/modules/Cloudflare/CloudflareModule.php:741
1558 +#: includes/modules/Cloudflare/CloudflareModule.php:742
1557 1559 msgid "Cloudflare purge is failing."
1558 1560 msgstr ""
1559 1561
1560 1562 #. translators: %s: the Cloudflare API error message, or empty.
1561 -#: includes/modules/Cloudflare/CloudflareModule.php:744
1563 +#: includes/modules/Cloudflare/CloudflareModule.php:745
1562 1564 #, php-format
1563 1565 msgid "The last edge purge was rejected by Cloudflare%s. Confirm the API token includes the \"Zone → Cache Purge\" permission for this zone — a token that can read the zone can still lack purge rights."
1564 1566 msgstr ""
1565 1567
1566 -#: includes/modules/Cloudflare/CloudflareModule.php:753
1568 +#: includes/modules/Cloudflare/CloudflareModule.php:754
1567 1569 msgid "Cloudflare credentials were rejected."
1568 1570 msgstr ""
1569 1571
1570 1572 #. translators: %s: the Cloudflare API error message, or empty.
1571 -#: includes/modules/Cloudflare/CloudflareModule.php:756
1573 +#: includes/modules/Cloudflare/CloudflareModule.php:757
1572 1574 #, php-format
1573 1575 msgid "The saved credentials could not verify this zone%s. Auto-purge will not work until this is fixed."
1574 1576 msgstr ""
1575 1577
@@ -1577,54 +1579,54 @@
1577 1579 msgid "Database"
1578 1580 msgstr ""
1579 1581
1580 1582 #: includes/modules/Database/DatabaseModule.php:32
1581 -msgid "Scan + clean WordPress bloat (revisions, spam, transients, orphan meta) and optimize tables."
1583 +msgid "Remove old revisions, spam and other leftovers, and optimize database tables."
1582 1584 msgstr ""
1583 1585
1584 -#: includes/modules/Database/DatabaseModule.php:49
1585 -msgid "Auto-Cleanup Schedule"
1586 +#: includes/modules/Database/DatabaseModule.php:50
1587 +msgid "Automatic cleanup"
1586 1588 msgstr ""
1587 1589
1588 -#: includes/modules/Database/DatabaseModule.php:50
1589 -msgid "How often to run cleanup automatically. Manual means cleanup only runs when you press the button."
1590 +#: includes/modules/Database/DatabaseModule.php:51
1591 +msgid "How often xSpeed cleans the database on its own. Manual means it only cleans when you press the button."
1590 1592 msgstr ""
1591 1593
1592 -#: includes/modules/Database/DatabaseModule.php:56
1593 -msgid "Auto-Cleanup Types"
1594 +#: includes/modules/Database/DatabaseModule.php:57
1595 +msgid "What to clean automatically"
1594 1596 msgstr ""
1595 1597
1596 -#: includes/modules/Database/DatabaseModule.php:57
1597 -msgid "Which cleanup categories run on the schedule above. Leave empty to keep auto-cleanup disabled even if a schedule is set."
1598 +#: includes/modules/Database/DatabaseModule.php:58
1599 +msgid "The items the scheduled cleanup removes. If you leave this empty, nothing is cleaned, even with a schedule set."
1598 1600 msgstr ""
1599 1601
1600 -#: includes/modules/Database/DatabaseModule.php:62
1601 -msgid "Limit Post Revisions"
1602 +#: includes/modules/Database/DatabaseModule.php:70
1603 +msgid "Limit post revisions"
1602 1604 msgstr ""
1603 1605
1604 -#: includes/modules/Database/DatabaseModule.php:63
1606 +#: includes/modules/Database/DatabaseModule.php:71
1605 1607 msgid "Cap how many revisions WordPress keeps for each post. Cleanup removes revisions that already exist; this stops them piling up again."
1606 1608 msgstr ""
1607 1609
1608 -#: includes/modules/Database/DatabaseModule.php:70
1609 -msgid "Revisions to Keep"
1610 +#: includes/modules/Database/DatabaseModule.php:78
1611 +msgid "Revisions to keep"
1610 1612 msgstr ""
1611 1613
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 +#: includes/modules/Database/DatabaseModule.php:79
1615 +msgid "0 turns revisions off completely. Older revisions are trimmed the next time each post is saved; to remove the backlog now, clean Post Revisions above."
1614 1616 msgstr ""
1615 1617
1616 -#: includes/modules/Database/DatabaseModule.php:125
1618 +#: includes/modules/Database/DatabaseModule.php:134
1617 1619 msgid "The revision limit is set outside xSpeed"
1618 1620 msgstr ""
1619 1621
1620 1622 #. translators: %s: value of WP_POST_REVISIONS, e.g. 5 or false.
1621 -#: includes/modules/Database/DatabaseModule.php:128
1623 +#: includes/modules/Database/DatabaseModule.php:137
1622 1624 #, php-format
1623 1625 msgid "WP_POST_REVISIONS is set to %s, usually in wp-config.php, so Limit Post Revisions below has no effect. Remove that definition to manage the limit here."
1624 1626 msgstr ""
1625 1627
1626 -#: includes/modules/Database/DatabaseModule.php:232
1628 +#: includes/modules/Database/DatabaseModule.php:241
1627 1629 msgid "Provide at least one cleanup type."
1628 1630 msgstr ""
1629 1631
1630 1632 #: includes/modules/Fonts/FontsModule.php:35
@@ -1631,29 +1633,29 @@
1631 1633 msgid "Fonts"
1632 1634 msgstr ""
1633 1635
1634 1636 #: includes/modules/Fonts/FontsModule.php:37
1635 -msgid "Stop web fonts from blocking text. Adds display=swap to Google Fonts and preloads the fonts you mark critical."
1637 +msgid "Shows text right away while web fonts load, and preloads key fonts."
1636 1638 msgstr ""
1637 1639
1638 -#: includes/modules/Fonts/FontsModule.php:46
1639 -msgid "Add font-display: swap"
1640 +#: includes/modules/Fonts/FontsModule.php:47
1641 +msgid "Show text while fonts load"
1640 1642 msgstr ""
1641 1643
1642 -#: includes/modules/Fonts/FontsModule.php:47
1643 -msgid "Append display=swap to Google Fonts URLs so text renders immediately in a fallback face while the web font loads. Blocking values already on the URL (auto, block) are rewritten to swap; a deliberate non-blocking choice (fallback, optional) is left alone."
1644 +#: includes/modules/Fonts/FontsModule.php:48
1645 +msgid "Google Fonts text shows at once in a standard font, then switches when the web font arrives."
1644 1646 msgstr ""
1645 1647
1646 -#: includes/modules/Fonts/FontsModule.php:53
1647 -msgid "Preload Font URLs"
1648 +#: includes/modules/Fonts/FontsModule.php:54
1649 +msgid "Fonts to preload"
1648 1650 msgstr ""
1649 1651
1650 -#: includes/modules/Fonts/FontsModule.php:54
1651 -msgid "One absolute font URL per line (woff2/woff/ttf/otf). Each becomes a <link rel=\"preload\" as=\"font\" crossorigin> in the head so the browser starts downloading before the CSS parses. Use only for fonts that render above the fold."
1652 +#: includes/modules/Fonts/FontsModule.php:55
1653 +msgid "One full font file URL per line (woff2, woff, ttf or otf). The browser fetches these first, so list only fonts used at the top of the page."
1652 1654 msgstr ""
1653 1655
1654 1656 #: includes/modules/Gzip/GzipModule.php:35
1655 -#: includes/modules/Migration/MigrationModule.php:553
1657 +#: includes/modules/Migration/MigrationModule.php:554
1656 1658 msgid "Compression"
1657 1659 msgstr ""
1658 1660
1659 1661 #: includes/modules/Gzip/GzipModule.php:36
@@ -1660,56 +1662,56 @@
1660 1662 msgid "GZIP"
1661 1663 msgstr ""
1662 1664
1663 1665 #: includes/modules/Gzip/GzipModule.php:38
1664 -msgid "Compress responses to reduce transfer size."
1666 +msgid "Compresses pages and files so they download faster."
1665 1667 msgstr ""
1666 1668
1667 -#: includes/modules/Gzip/GzipModule.php:52
1668 -msgid "Enable GZIP Compression"
1669 +#: includes/modules/Gzip/GzipModule.php:53
1670 +msgid "Enable Gzip compression"
1669 1671 msgstr ""
1670 1672
1671 -#: includes/modules/Gzip/GzipModule.php:74
1672 -msgid "Compress responses before sending them. We write the .htaccess rules automatically on this server."
1673 +#: includes/modules/Gzip/GzipModule.php:75
1674 +msgid "Compresses pages and files before sending them. xSpeed adds the .htaccess rules for you on this server."
1673 1675 msgstr ""
1674 1676
1675 -#: includes/modules/Gzip/GzipModule.php:77
1676 -msgid "Compress responses before sending them. nginx cannot be configured from WordPress, so the directives ship in the unified server-block snippet — see the notice below."
1677 +#: includes/modules/Gzip/GzipModule.php:78
1678 +msgid "Compresses pages and files before sending them. On nginx you add the rules to your server config yourself. See the notice below."
1677 1679 msgstr ""
1678 1680
1679 -#: includes/modules/Gzip/GzipModule.php:79
1680 -msgid "Compress responses before sending them. On this server the directives have to be added to your server config by hand — see the notice below."
1681 +#: includes/modules/Gzip/GzipModule.php:80
1682 +msgid "Compresses pages and files before sending them. On this server you add the rules to your server config yourself. See the notice below."
1681 1683 msgstr ""
1682 1684
1683 -#: includes/modules/Gzip/GzipModule.php:154
1685 +#: includes/modules/Gzip/GzipModule.php:155
1684 1686 msgid "GZIP requires server config on nginx"
1685 1687 msgstr ""
1686 1688
1687 -#: includes/modules/Gzip/GzipModule.php:155
1689 +#: includes/modules/Gzip/GzipModule.php:156
1688 1690 msgid "GZIP is being served by nginx"
1689 1691 msgstr ""
1690 1692
1691 -#: includes/modules/Gzip/GzipModule.php:157
1693 +#: includes/modules/Gzip/GzipModule.php:158
1692 1694 msgid "xSpeed can only auto-configure GZIP on Apache and LiteSpeed (via .htaccess). The directives are included in the unified server-block snippet on the Cache panel — copy + paste it once into your nginx vhost (or container nginx config) and reload nginx."
1693 1695 msgstr ""
1694 1696
1695 -#: includes/modules/Gzip/GzipModule.php:158
1697 +#: includes/modules/Gzip/GzipModule.php:159
1696 1698 msgid "Responses are compressed. xSpeed cannot configure nginx from WordPress, so these directives live in the unified server-block snippet on the Cache panel — that is where to re-copy them if your server config is ever rebuilt."
1697 1699 msgstr ""
1698 1700
1699 -#: includes/modules/Gzip/GzipModule.php:186
1701 +#: includes/modules/Gzip/GzipModule.php:187
1700 1702 msgid "GZIP enabled but not active on the server"
1701 1703 msgstr ""
1702 1704
1703 -#: includes/modules/Gzip/GzipModule.php:187
1705 +#: includes/modules/Gzip/GzipModule.php:188
1704 1706 msgid "xSpeed wrote the .htaccess rules but the response still isn't gzipped. Your server may have AllowOverride disabled, another caching plugin overriding, or mod_deflate missing. Ask your host to enable GZIP on Apache."
1705 1707 msgstr ""
1706 1708
1707 -#: includes/modules/Gzip/GzipModule.php:197
1709 +#: includes/modules/Gzip/GzipModule.php:198
1708 1710 msgid "GZIP requires server config on this server"
1709 1711 msgstr ""
1710 1712
1711 -#: includes/modules/Gzip/GzipModule.php:198
1713 +#: includes/modules/Gzip/GzipModule.php:199
1712 1714 msgid "xSpeed can only auto-configure GZIP on Apache and LiteSpeed (via .htaccess). Paste the snippet below into your server config and reload."
1713 1715 msgstr ""
1714 1716
1715 1717 #: includes/modules/Health/HealthModule.php:66
@@ -1817,9 +1819,9 @@
1817 1819 msgid "Health"
1818 1820 msgstr ""
1819 1821
1820 1822 #: includes/modules/Health/HealthModule.php:253
1821 -msgid "Diagnostics, hit ratio, and recent cache activity."
1823 +msgid "Checks for problems and shows how often visitors get cached pages."
1822 1824 msgstr ""
1823 1825
1824 1826 #: includes/modules/Heartbeat/HeartbeatModule.php:38
1825 1827 msgid "Heartbeat"
@@ -1825,41 +1827,41 @@
1825 1827 msgid "Heartbeat"
1826 1828 msgstr ""
1827 1829
1828 1830 #: includes/modules/Heartbeat/HeartbeatModule.php:40
1829 -msgid "Control the WordPress Heartbeat API per context."
1831 +msgid "Controls how often WordPress checks in with your server in the background."
1830 1832 msgstr ""
1831 1833
1832 -#: includes/modules/Heartbeat/HeartbeatModule.php:64
1834 +#: includes/modules/Heartbeat/HeartbeatModule.php:65
1833 1835 msgid "Dashboard"
1834 1836 msgstr ""
1835 1837
1836 -#: includes/modules/Heartbeat/HeartbeatModule.php:65
1837 -msgid "Heartbeat behavior on /wp-admin/ screens (autosave, notifications)."
1838 +#: includes/modules/Heartbeat/HeartbeatModule.php:66
1839 +msgid "Background checks on admin screens, used for notifications."
1838 1840 msgstr ""
1839 1841
1840 -#: includes/modules/Heartbeat/HeartbeatModule.php:72
1842 +#: includes/modules/Heartbeat/HeartbeatModule.php:73
1841 1843 msgid "Editor"
1842 1844 msgstr ""
1843 1845
1844 -#: includes/modules/Heartbeat/HeartbeatModule.php:73
1845 -msgid "Heartbeat in the post / block editor. Disable only if you do not need autosave or co-edit locks."
1846 +#: includes/modules/Heartbeat/HeartbeatModule.php:74
1847 +msgid "Background checks in the post editor. Disable only if you do not need autosave or the warning when someone else is editing."
1846 1848 msgstr ""
1847 1849
1848 -#: includes/modules/Heartbeat/HeartbeatModule.php:80
1850 +#: includes/modules/Heartbeat/HeartbeatModule.php:81
1849 1851 msgid "Frontend"
1850 1852 msgstr ""
1851 1853
1852 -#: includes/modules/Heartbeat/HeartbeatModule.php:81
1853 -msgid "Controls the Heartbeat API on the public site. Only takes effect when a plugin or theme actually loads heartbeat on the frontend (e.g. WooCommerce cart fragments, membership/notification plugins) — a default WordPress site loads none there, so this has no visible effect on such sites. Recommended: Disable, to stop the admin-ajax polling those plugins add."
1854 +#: includes/modules/Heartbeat/HeartbeatModule.php:82
1855 +msgid "Background checks on the public site, which only some plugins add. Disable is recommended, as it cuts extra requests to your server."
1854 1856 msgstr ""
1855 1857
1856 -#: includes/modules/Heartbeat/HeartbeatModule.php:88
1857 -msgid "Throttle Frequency"
1858 +#: includes/modules/Heartbeat/HeartbeatModule.php:89
1859 +msgid "Throttle interval"
1858 1860 msgstr ""
1859 1861
1860 -#: includes/modules/Heartbeat/HeartbeatModule.php:89
1861 -msgid "Interval in seconds for contexts set to Throttle. 60 is a sane default; lower = faster sync but more requests."
1862 +#: includes/modules/Heartbeat/HeartbeatModule.php:91
1863 +msgid "Seconds between checks where you chose Throttle. 60 suits most sites; a lower number means more requests."
1862 1864 msgstr ""
1863 1865
1864 1866 #: includes/modules/Lazy/LazyModule.php:42
1865 1867 msgid "Media Optimization"
@@ -1869,73 +1871,73 @@
1869 1871 msgid "Lazy Loading"
1870 1872 msgstr ""
1871 1873
1872 1874 #: includes/modules/Lazy/LazyModule.php:45
1873 -msgid "Control how images, iframes, and videos load — lazy-loading, missing dimensions, and format optimization."
1875 +msgid "Loads images, videos and embeds only when visitors scroll to them."
1874 1876 msgstr ""
1875 1877
1876 -#: includes/modules/Lazy/LazyModule.php:59
1877 -msgid "Lazy-load Images"
1878 -msgstr ""
1879 -
1880 1878 #: includes/modules/Lazy/LazyModule.php:60
1881 -msgid "Add loading=\"lazy\" + decoding=\"async\" to <img> tags in post content. The first images on the page get loading=\"eager\" so the LCP image is not deferred."
1879 +msgid "Lazy-load images"
1882 1880 msgstr ""
1883 1881
1884 -#: includes/modules/Lazy/LazyModule.php:65
1885 -msgid "Lazy-load Iframes"
1882 +#: includes/modules/Lazy/LazyModule.php:61
1883 +msgid "Images load when the visitor scrolls near them. The first image on the page still loads right away."
1886 1884 msgstr ""
1887 1885
1888 1886 #: includes/modules/Lazy/LazyModule.php:66
1889 -msgid "Add loading=\"lazy\" to <iframe> tags. Useful for YouTube / Vimeo embeds + map widgets that pull a lot of bytes."
1887 +msgid "Lazy-load embeds"
1890 1888 msgstr ""
1891 1889
1892 -#: includes/modules/Lazy/LazyModule.php:71
1893 -msgid "Click-to-Play Video Facade"
1890 +#: includes/modules/Lazy/LazyModule.php:67
1891 +msgid "Embedded content such as YouTube videos and maps loads when the visitor scrolls near it."
1894 1892 msgstr ""
1895 1893
1896 1894 #: includes/modules/Lazy/LazyModule.php:72
1897 -msgid "Replace YouTube and Vimeo embeds — and self-hosted <video> tags that have a poster — with the poster image and a play button. The video only loads when a visitor clicks it, so a page with embeds no longer pays ~1MB of third-party JavaScript, or the full weight of a hosted video file, for visitors who never press play. Autoplaying videos are left alone. Falls back to the normal embed when JavaScript is off."
1895 +msgid "Click-to-play videos"
1898 1896 msgstr ""
1899 1897
1900 -#: includes/modules/Lazy/LazyModule.php:77
1901 -msgid "Lazy-load HTML5 Videos"
1898 +#: includes/modules/Lazy/LazyModule.php:73
1899 +msgid "Shows a preview image with a play button in place of YouTube, Vimeo and your own videos that have a poster image. The video loads only when clicked. Autoplaying videos are left alone."
1902 1900 msgstr ""
1903 1901
1904 1902 #: includes/modules/Lazy/LazyModule.php:78
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."
1903 +msgid "Lazy-load your own videos"
1906 1904 msgstr ""
1907 1905
1908 -#: includes/modules/Lazy/LazyModule.php:83
1909 -msgid "Lazy-load Background Images"
1906 +#: includes/modules/Lazy/LazyModule.php:79
1907 +msgid "Videos uploaded to your site download only when played. Autoplaying videos are left alone."
1910 1908 msgstr ""
1911 1909
1912 1910 #: includes/modules/Lazy/LazyModule.php:84
1911 +msgid "Lazy-load background images"
1912 +msgstr ""
1913 +
1914 +#: includes/modules/Lazy/LazyModule.php:85
1913 1915 msgid "Hold back background images set in an element's inline style (a Cover or Group block, a page-builder section) until the element is near the screen. Uses a small script; visitors without JavaScript get every background as usual. The first N backgrounds on the page load straight away, like images. Backgrounds set in a stylesheet are not affected."
1914 1916 msgstr ""
1915 1917
1916 -#: includes/modules/Lazy/LazyModule.php:91
1917 -msgid "Eager-load First N Images"
1918 +#: includes/modules/Lazy/LazyModule.php:92
1919 +msgid "Images to load right away"
1918 1920 msgstr ""
1919 1921
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."
1922 +#: includes/modules/Lazy/LazyModule.php:93
1923 +msgid "How many images at the top of the page skip lazy loading. Only the first of them also loads at high priority, and images in hidden or closed sections are not counted. Lazy-loaded background images use the same number. 1 suits most sites; 0 lazy-loads every image."
1922 1924 msgstr ""
1923 1925
1924 -#: includes/modules/Lazy/LazyModule.php:97
1925 -msgid "Add Missing Image Dimensions"
1926 +#: includes/modules/Lazy/LazyModule.php:107
1927 +msgid "Add missing image sizes"
1926 1928 msgstr ""
1927 1929
1928 -#: includes/modules/Lazy/LazyModule.php:98
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."
1930 +#: includes/modules/Lazy/LazyModule.php:108
1931 +msgid "Adds width and height to images that lack them, using the media library. This stops the page from jumping as images load."
1930 1932 msgstr ""
1931 1933
1932 -#: includes/modules/Lazy/LazyModule.php:104
1933 -msgid "Excluded Images"
1934 +#: includes/modules/Lazy/LazyModule.php:114
1935 +msgid "Excluded images"
1934 1936 msgstr ""
1935 1937
1936 -#: includes/modules/Lazy/LazyModule.php:105
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."
1938 +#: includes/modules/Lazy/LazyModule.php:115
1939 +msgid "Images and embeds whose tag contains a line here, such as a class or file name, are never lazy-loaded. Useful for logos and hero images."
1938 1940 msgstr ""
1939 1941
1940 1942 #. translators: %s: command name.
1941 1943 #: includes/modules/Mcp/Cli_Bridge.php:128
@@ -1948,86 +1950,91 @@
1948 1950 msgid "MCP Server"
1949 1951 msgstr ""
1950 1952
1951 1953 #: 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."
1954 +msgid "Let Claude or another AI assistant clear the cache, check stats and change settings."
1953 1955 msgstr ""
1954 1956
1955 -#: includes/modules/Mcp/McpModule.php:440
1957 +#: includes/modules/Mcp/McpModule.php:450
1956 1958 msgid "Another plugin now claims the site-wide OAuth discovery address, so xSpeed handed it over. Its own is /.well-known/oauth-protected-resource/xspeed/mcp — AI assistants already connected may ask for approval once more."
1957 1959 msgstr ""
1958 1960
1959 -#: includes/modules/Mcp/McpModule.php:1307
1961 +#: includes/modules/Mcp/McpModule.php:1319
1960 1962 msgid "Invalid or expired attach request."
1961 1963 msgstr ""
1962 1964
1963 -#: includes/modules/Mcp/McpModule.php:1423
1965 +#: includes/modules/Mcp/McpModule.php:1435
1964 1966 msgid "You must be an administrator to authorize an AI agent to control this site."
1965 1967 msgstr ""
1966 1968
1967 -#: includes/modules/Mcp/McpModule.php:1430
1969 +#: includes/modules/Mcp/McpModule.php:1442
1968 1970 msgid "Security check failed. Please try connecting again."
1969 1971 msgstr ""
1970 1972
1973 +#: includes/modules/Mcp/McpModule.php:1538
1971 1974 #: includes/modules/Mcp/McpModule.php:1557
1975 +msgid "The MCP tool payload is too large."
1976 +msgstr ""
1977 +
1978 +#: includes/modules/Mcp/McpModule.php:1632
1972 1979 msgid "Read-only — inspect cache status and settings."
1973 1980 msgstr ""
1974 1981
1975 -#: includes/modules/Mcp/McpModule.php:1558
1982 +#: includes/modules/Mcp/McpModule.php:1633
1976 1983 msgid "Read & write — purge caches, toggle caching, and change settings."
1977 1984 msgstr ""
1978 1985
1979 -#: includes/modules/Mcp/McpModule.php:1559
1986 +#: includes/modules/Mcp/McpModule.php:1634
1980 1987 msgid "An AI agent"
1981 1988 msgstr ""
1982 1989
1983 -#: includes/modules/Mcp/McpModule.php:1578
1990 +#: includes/modules/Mcp/McpModule.php:1653
1984 1991 msgid "Authorize AI access"
1985 1992 msgstr ""
1986 1993
1987 -#: includes/modules/Mcp/McpModule.php:1589
1994 +#: includes/modules/Mcp/McpModule.php:1664
1988 1995 msgid "Connect to xSpeed"
1989 1996 msgstr ""
1990 1997
1991 1998 #. translators: %s: AI client name.
1992 -#: includes/modules/Mcp/McpModule.php:1591
1999 +#: includes/modules/Mcp/McpModule.php:1666
1993 2000 #, php-format
1994 2001 msgid "%s wants to manage the cache on this site."
1995 2002 msgstr ""
1996 2003
1997 -#: includes/modules/Mcp/McpModule.php:1592
2004 +#: includes/modules/Mcp/McpModule.php:1667
1998 2005 msgid "Site"
1999 2006 msgstr ""
2000 2007
2001 -#: includes/modules/Mcp/McpModule.php:1593
2008 +#: includes/modules/Mcp/McpModule.php:1668
2002 2009 msgid "Signed in as"
2003 2010 msgstr ""
2004 2011
2005 -#: includes/modules/Mcp/McpModule.php:1594
2012 +#: includes/modules/Mcp/McpModule.php:1669
2006 2013 msgid "Access"
2007 2014 msgstr ""
2008 2015
2009 -#: includes/modules/Mcp/McpModule.php:1599
2016 +#: includes/modules/Mcp/McpModule.php:1674
2010 2017 msgid "Deny"
2011 2018 msgstr ""
2012 2019
2013 -#: includes/modules/Mcp/McpModule.php:1600
2020 +#: includes/modules/Mcp/McpModule.php:1675
2014 2021 msgid "Approve"
2015 2022 msgstr ""
2016 2023
2017 -#: includes/modules/Mcp/McpModule.php:1610
2024 +#: includes/modules/Mcp/McpModule.php:1685
2018 2025 msgid "Authorization error"
2019 2026 msgstr ""
2020 2027
2021 -#: includes/modules/Mcp/McpModule.php:1613
2028 +#: includes/modules/Mcp/McpModule.php:1688
2022 2029 msgid "Could not authorize"
2023 2030 msgstr ""
2024 2031
2025 -#: includes/modules/Mcp/McpModule.php:1843
2032 +#: includes/modules/Mcp/McpModule.php:1918
2026 2033 msgid "An AI assistant is connected to this site. This module counts as on whenever a connection token exists, rather than having its own on/off setting."
2027 2034 msgstr ""
2028 2035
2029 -#: includes/modules/Mcp/McpModule.php:1844
2036 +#: includes/modules/Mcp/McpModule.php:1919
2030 2037 msgid "No AI assistant is connected. This module counts as on once you connect one."
2031 2038 msgstr ""
2032 2039
2033 2040 #: includes/modules/Mcp/Mcp_Auth.php:57
@@ -2033,17 +2040,17 @@
2033 2040 #: includes/modules/Mcp/Mcp_Auth.php:57
2034 2041 msgid "Too many failed attempts. Try again later."
2035 2042 msgstr ""
2036 2043
2037 -#: includes/modules/Mcp/Mcp_Hub.php:771
2044 +#: includes/modules/Mcp/Mcp_Hub.php:871
2038 2045 msgid "Connect this site to xSpeed Hub to run a free speed test."
2039 2046 msgstr ""
2040 2047
2041 -#: includes/modules/Mcp/Mcp_Hub.php:797
2048 +#: includes/modules/Mcp/Mcp_Hub.php:897
2042 2049 msgid "Could not reach xSpeed Hub. Please try again."
2043 2050 msgstr ""
2044 2051
2045 -#: includes/modules/Mcp/Mcp_Hub.php:820
2052 +#: includes/modules/Mcp/Mcp_Hub.php:920
2046 2053 #: assets/admin.js
2047 2054 msgid "The test could not be started."
2048 2055 msgstr ""
2049 2056
@@ -2084,155 +2091,160 @@
2084 2091 #: includes/modules/Mcp/Mcp_OAuth.php:395
2085 2092 msgid "PKCE with code_challenge_method=S256 is required."
2086 2093 msgstr ""
2087 2094
2088 -#: includes/modules/Mcp/Mcp_Pairing.php:451
2095 +#: includes/modules/Mcp/Mcp_Pairing.php:474
2089 2096 msgid "No active MCP connection to change. Connect first."
2090 2097 msgstr ""
2091 2098
2092 2099 #. translators: %s: tool name.
2093 -#: includes/modules/Mcp/Mcp_Tools.php:931
2100 +#: includes/modules/Mcp/Mcp_Tools.php:988
2101 +#: includes/modules/Mcp/Mcp_Tools.php:1026
2094 2102 #, php-format
2095 2103 msgid "Unknown tool: %s"
2096 2104 msgstr ""
2097 2105
2098 2106 #. translators: %s: tool name.
2099 -#: includes/modules/Mcp/Mcp_Tools.php:959
2107 +#: includes/modules/Mcp/Mcp_Tools.php:1047
2100 2108 #, php-format
2101 2109 msgid "This MCP connection is read-only; the \"%s\" tool changes state and is not permitted. Reconnect with write access to use it."
2102 2110 msgstr ""
2103 2111
2104 2112 #. translators: %s: comma-separated list of valid purge types.
2105 -#: includes/modules/Mcp/Mcp_Tools.php:1240
2113 +#: includes/modules/Mcp/Mcp_Tools.php:1334
2106 2114 #, php-format
2107 2115 msgid "Invalid purge type. Expected one of: %s"
2108 2116 msgstr ""
2109 2117
2110 -#: includes/modules/Mcp/Mcp_Tools.php:1249
2111 -#: includes/modules/Mcp/Mcp_Tools.php:2261
2118 +#: includes/modules/Mcp/Mcp_Tools.php:1343
2119 +#: includes/modules/Mcp/Mcp_Tools.php:2355
2112 2120 msgid "AI assistant"
2113 2121 msgstr ""
2114 2122
2115 -#: includes/modules/Mcp/Mcp_Tools.php:1298
2123 +#: includes/modules/Mcp/Mcp_Tools.php:1392
2116 2124 msgid "The \"enabled\" parameter is required (true or false)."
2117 2125 msgstr ""
2118 2126
2119 -#: includes/modules/Mcp/Mcp_Tools.php:1378
2120 -#: includes/modules/Mcp/Mcp_Tools.php:1432
2127 +#: includes/modules/Mcp/Mcp_Tools.php:1472
2128 +#: includes/modules/Mcp/Mcp_Tools.php:1526
2121 2129 msgid "The \"module\" parameter is required."
2122 2130 msgstr ""
2123 2131
2124 2132 #. translators: %s: module slug.
2125 -#: includes/modules/Mcp/Mcp_Tools.php:1387
2126 -#: includes/modules/Mcp/Mcp_Tools.php:1448
2133 +#: includes/modules/Mcp/Mcp_Tools.php:1481
2134 +#: includes/modules/Mcp/Mcp_Tools.php:1542
2127 2135 #, php-format
2128 2136 msgid "Unknown module \"%s\"."
2129 2137 msgstr ""
2130 2138
2131 -#: includes/modules/Mcp/Mcp_Tools.php:1439
2139 +#: includes/modules/Mcp/Mcp_Tools.php:1533
2132 2140 msgid "The \"values\" parameter must be an object of setting keys."
2133 2141 msgstr ""
2134 2142
2135 2143 #. translators: 1: comma-separated field names, 2: module slug.
2136 -#: includes/modules/Mcp/Mcp_Tools.php:1467
2144 +#: includes/modules/Mcp/Mcp_Tools.php:1561
2137 2145 #, php-format
2138 2146 msgid "Writing credential fields (%1$s) on \"%2$s\" needs the \"configure\" scope, which is off by default. Reconnect the MCP client granting the configure scope, or set these credentials from the xSpeed dashboard."
2139 2147 msgstr ""
2140 2148
2141 2149 #. translators: %s: module slug.
2142 -#: includes/modules/Mcp/Mcp_Tools.php:1499
2150 +#: includes/modules/Mcp/Mcp_Tools.php:1593
2143 2151 #, php-format
2144 2152 msgid "Refused an MCP settings write to the Pro module \"%s\" — no valid license."
2145 2153 msgstr ""
2146 2154
2147 2155 #. translators: %s: module slug.
2148 -#: includes/modules/Mcp/Mcp_Tools.php:1509
2156 +#: includes/modules/Mcp/Mcp_Tools.php:1603
2149 2157 #, php-format
2150 2158 msgid "\"%s\" is a Pro module and this site has no active license, so the write was refused. Nothing was changed."
2151 2159 msgstr ""
2152 2160
2153 2161 #. translators: 1: setting key, 2: wp-config.php constant name.
2154 -#: includes/modules/Mcp/Mcp_Tools.php:1578
2162 +#: includes/modules/Mcp/Mcp_Tools.php:1672
2155 2163 #, php-format
2156 2164 msgid "\"%1$s\" is defined in wp-config.php as %2$s and cannot be changed here"
2157 2165 msgstr ""
2158 2166
2159 2167 #. translators: 1: setting key, 2: module slug.
2160 -#: includes/modules/Mcp/Mcp_Tools.php:1586
2168 +#: includes/modules/Mcp/Mcp_Tools.php:1680
2161 2169 #, php-format
2162 2170 msgid "\"%1$s\" is not a setting of module \"%2$s\""
2163 2171 msgstr ""
2164 2172
2165 2173 #. translators: %s: comma-separated setting names.
2166 -#: includes/modules/Mcp/Mcp_Tools.php:1598
2174 +#: includes/modules/Mcp/Mcp_Tools.php:1692
2167 2175 #, php-format
2168 2176 msgid " — did you mean: %s?"
2169 2177 msgstr ""
2170 2178
2171 2179 #. translators: %s: setting key.
2172 -#: includes/modules/Mcp/Mcp_Tools.php:1608
2180 +#: includes/modules/Mcp/Mcp_Tools.php:1702
2173 2181 #, php-format
2174 2182 msgid "\"%s\" was rejected by the schema (wrong type, or outside the allowed range/options)"
2175 2183 msgstr ""
2176 2184
2177 2185 #. translators: 1: module slug, 2: reasons.
2178 -#: includes/modules/Mcp/Mcp_Tools.php:1617
2186 +#: includes/modules/Mcp/Mcp_Tools.php:1711
2179 2187 #, php-format
2180 2188 msgid "Refused to update %1$s — nothing was written. %2$s"
2181 2189 msgstr ""
2182 2190
2183 -#: includes/modules/Mcp/Mcp_Tools.php:1653
2191 +#: includes/modules/Mcp/Mcp_Tools.php:1747
2184 2192 msgid "The \"command\" parameter is required."
2185 2193 msgstr ""
2186 2194
2187 -#: includes/modules/Mcp/Mcp_Tools.php:1704
2195 +#: includes/modules/Mcp/Mcp_Tools.php:1798
2188 2196 msgid "This preview deletes nothing. To delete what is listed, call clean_database with this confirm_token. It expires in 5 minutes and stops working if the database changes."
2189 2197 msgstr ""
2190 2198
2191 -#: includes/modules/Mcp/Mcp_Tools.php:1798
2199 +#: includes/modules/Mcp/Mcp_Tools.php:1892
2192 2200 msgid "This permanently deletes content and cannot be undone. Call scan_database first to see exactly what would be removed, then pass the confirm_token it returns."
2193 2201 msgstr ""
2194 2202
2195 -#: includes/modules/Mcp/Mcp_Tools.php:1809
2203 +#: includes/modules/Mcp/Mcp_Tools.php:1903
2196 2204 msgid "That confirm_token is unknown or has expired (they last 5 minutes). Run scan_database again and use the fresh token."
2197 2205 msgstr ""
2198 2206
2199 -#: includes/modules/Mcp/Mcp_Tools.php:1817
2207 +#: includes/modules/Mcp/Mcp_Tools.php:1911
2200 2208 msgid "The database changed since that scan, so the preview no longer describes what would be deleted. Run scan_database again and confirm against the new result."
2201 2209 msgstr ""
2202 2210
2203 -#: includes/modules/Mcp/Mcp_Tools.php:2081
2204 -#: includes/modules/Mcp/Mcp_Tools.php:2121
2211 +#: includes/modules/Mcp/Mcp_Tools.php:2175
2212 +#: includes/modules/Mcp/Mcp_Tools.php:2215
2205 2213 msgid "The enabled argument is required."
2206 2214 msgstr ""
2207 2215
2208 -#: includes/modules/Mcp/Mcp_Tools.php:2085
2209 -#: includes/modules/Mcp/Mcp_Tools.php:2125
2216 +#: includes/modules/Mcp/Mcp_Tools.php:2179
2217 +#: includes/modules/Mcp/Mcp_Tools.php:2219
2210 2218 msgid "The enabled argument must be true or false."
2211 2219 msgstr ""
2212 2220
2213 -#: includes/modules/Mcp/Mcp_Tools.php:2139
2221 +#: includes/modules/Mcp/Mcp_Tools.php:2233
2214 2222 msgid "The action argument must be \"list\" or \"clear\"."
2215 2223 msgstr ""
2216 2224
2217 -#: includes/modules/Mcp/Mcp_Tools.php:2178
2225 +#: includes/modules/Mcp/Mcp_Tools.php:2272
2218 2226 msgid "External scores are not available on this site."
2219 2227 msgstr ""
2220 2228
2221 -#: includes/modules/Mcp/Mcp_Tools.php:2259
2229 +#: includes/modules/Mcp/Mcp_Tools.php:2353
2222 2230 msgid "The url argument is required."
2223 2231 msgstr ""
2224 2232
2233 +#: includes/modules/Mcp/Mcp_Tools.php:2494
2234 +msgid "The url argument must be a page on this site, as a full http(s) URL or a path starting with /."
2235 +msgstr ""
2236 +
2225 2237 #: includes/modules/Migration/MigrationModule.php:30
2226 2238 msgid "Migration"
2227 2239 msgstr ""
2228 2240
2229 2241 #: includes/modules/Migration/MigrationModule.php:32
2230 -msgid "Import settings from WP Rocket, W3 Total Cache, or WP Super Cache."
2242 +msgid "Import settings from WP Rocket, W3 Total Cache, WP Super Cache or LiteSpeed Cache."
2231 2243 msgstr ""
2232 2244
2233 2245 #. translators: %d: number of detected caching plugins.
2234 -#: includes/modules/Migration/MigrationModule.php:210
2246 +#: includes/modules/Migration/MigrationModule.php:211
2235 2247 #, php-format
2236 2248 msgid "Migrate to %1$s — %2$d caching plugin detected"
2237 2249 msgid_plural "Migrate to %1$s — %2$d caching plugins detected"
2238 2250 msgstr[0] ""
@@ -2237,32 +2249,32 @@
2237 2249 msgid_plural "Migrate to %1$s — %2$d caching plugins detected"
2238 2250 msgstr[0] ""
2239 2251 msgstr[1] ""
2240 2252
2241 -#: includes/modules/Migration/MigrationModule.php:265
2253 +#: includes/modules/Migration/MigrationModule.php:266
2242 2254 msgid "Speed guarantee"
2243 2255 msgstr ""
2244 2256
2245 -#: includes/modules/Migration/MigrationModule.php:310
2257 +#: includes/modules/Migration/MigrationModule.php:311
2246 2258 msgid "Dismiss this notice"
2247 2259 msgstr ""
2248 2260
2249 -#: includes/modules/Migration/MigrationModule.php:331
2261 +#: includes/modules/Migration/MigrationModule.php:332
2250 2262 msgid "Guaranteed faster load times — or we'll tune it for you, free."
2251 2263 msgstr ""
2252 2264
2253 -#: includes/modules/Migration/MigrationModule.php:332
2265 +#: includes/modules/Migration/MigrationModule.php:333
2254 2266 msgid "Faster load times, without configuring anything by hand."
2255 2267 msgstr ""
2256 2268
2257 2269 #. translators: %s: brand name, e.g. xSpeed Cache.
2258 -#: includes/modules/Migration/MigrationModule.php:345
2270 +#: includes/modules/Migration/MigrationModule.php:346
2259 2271 #, php-format
2260 2272 msgid "%s imports your settings in one click, then handles caching and optimization with AI-powered control."
2261 2273 msgstr ""
2262 2274
2263 2275 #. translators: 1: detected plugin name, 2: number of settings.
2264 -#: includes/modules/Migration/MigrationModule.php:355
2276 +#: includes/modules/Migration/MigrationModule.php:356
2265 2277 #, php-format
2266 2278 msgid "%1$s detected · %2$d setting ready to import"
2267 2279 msgid_plural "%1$s detected · %2$d settings ready to import"
2268 2280 msgstr[0] ""
@@ -2267,30 +2279,30 @@
2267 2279 msgid_plural "%1$s detected · %2$d settings ready to import"
2268 2280 msgstr[0] ""
2269 2281 msgstr[1] ""
2270 2282
2271 -#: includes/modules/Migration/MigrationModule.php:375
2283 +#: includes/modules/Migration/MigrationModule.php:376
2272 2284 msgid "Prefer we handle it? Book a call"
2273 2285 msgstr ""
2274 2286
2275 2287 #. translators: %s: brand name.
2276 -#: includes/modules/Migration/MigrationModule.php:383
2288 +#: includes/modules/Migration/MigrationModule.php:384
2277 2289 #, php-format
2278 2290 msgid "Migrate to %s"
2279 2291 msgstr ""
2280 2292
2281 2293 #. translators: %s: detected plugin name.
2282 -#: includes/modules/Migration/MigrationModule.php:399
2294 +#: includes/modules/Migration/MigrationModule.php:400
2283 2295 #, php-format
2284 2296 msgid "Migrating deactivates %s"
2285 2297 msgstr ""
2286 2298
2287 -#: includes/modules/Migration/MigrationModule.php:404
2299 +#: includes/modules/Migration/MigrationModule.php:405
2288 2300 msgid "View migration details"
2289 2301 msgstr ""
2290 2302
2291 2303 #. translators: %d: number of settings imported.
2292 -#: includes/modules/Migration/MigrationModule.php:422
2304 +#: includes/modules/Migration/MigrationModule.php:423
2293 2305 #, php-format
2294 2306 msgid "imports %d setting"
2295 2307 msgid_plural "imports %d settings"
2296 2308 msgstr[0] ""
@@ -2295,102 +2307,102 @@
2295 2307 msgid_plural "imports %d settings"
2296 2308 msgstr[0] ""
2297 2309 msgstr[1] ""
2298 2310
2299 -#: includes/modules/Migration/MigrationModule.php:428
2311 +#: includes/modules/Migration/MigrationModule.php:429
2300 2312 msgid "Migrate"
2301 2313 msgstr ""
2302 2314
2303 -#: includes/modules/Migration/MigrationModule.php:548
2315 +#: includes/modules/Migration/MigrationModule.php:549
2304 2316 #: includes/modules/Minify/MinifyModule.php:36
2305 2317 msgid "Minify"
2306 2318 msgstr ""
2307 2319
2308 -#: includes/modules/Migration/MigrationModule.php:549
2320 +#: includes/modules/Migration/MigrationModule.php:550
2309 2321 msgid "Lazy Load"
2310 2322 msgstr ""
2311 2323
2312 -#: includes/modules/Migration/MigrationModule.php:550
2324 +#: includes/modules/Migration/MigrationModule.php:551
2313 2325 #: includes/modules/Preloader/PreloaderModule.php:32
2314 2326 msgid "Preloader"
2315 2327 msgstr ""
2316 2328
2317 -#: includes/modules/Migration/MigrationModule.php:552
2329 +#: includes/modules/Migration/MigrationModule.php:553
2318 2330 #: includes/modules/ObjectCache/ObjectCacheModule.php:32
2319 2331 msgid "Object Cache"
2320 2332 msgstr ""
2321 2333
2322 -#: includes/modules/Migration/MigrationModule.php:554
2334 +#: includes/modules/Migration/MigrationModule.php:555
2323 2335 msgid "Bloat Removal"
2324 2336 msgstr ""
2325 2337
2326 -#: includes/modules/Migration/MigrationModule.php:579
2338 +#: includes/modules/Migration/MigrationModule.php:580
2327 2339 msgid "You do not have permission to migrate settings."
2328 2340 msgstr ""
2329 2341
2330 -#: includes/modules/Migration/MigrationModule.php:585
2342 +#: includes/modules/Migration/MigrationModule.php:586
2331 2343 msgid "No source selected."
2332 2344 msgstr ""
2333 2345
2334 -#: includes/modules/Migration/MigrationModule.php:617
2346 +#: includes/modules/Migration/MigrationModule.php:618
2335 2347 msgid "it could not be enabled"
2336 2348 msgstr ""
2337 2349
2338 -#: includes/modules/Migration/MigrationModule.php:702
2350 +#: includes/modules/Migration/MigrationModule.php:703
2339 2351 msgid "Migrating…"
2340 2352 msgstr ""
2341 2353
2342 -#: includes/modules/Migration/MigrationModule.php:719
2354 +#: includes/modules/Migration/MigrationModule.php:720
2343 2355 msgid "Migration failed."
2344 2356 msgstr ""
2345 2357
2346 -#: includes/modules/Migration/MigrationModule.php:722
2358 +#: includes/modules/Migration/MigrationModule.php:723
2347 2359 msgid "the source plugin"
2348 2360 msgstr ""
2349 2361
2350 -#: includes/modules/Migration/MigrationModule.php:723
2362 +#: includes/modules/Migration/MigrationModule.php:724
2351 2363 msgid "Review imported settings"
2352 2364 msgstr ""
2353 2365
2354 -#: includes/modules/Migration/MigrationModule.php:734
2355 -#: includes/modules/Migration/MigrationModule.php:745
2356 -#: includes/modules/Migration/MigrationModule.php:753
2366 +#: includes/modules/Migration/MigrationModule.php:735
2367 +#: includes/modules/Migration/MigrationModule.php:746
2368 +#: includes/modules/Migration/MigrationModule.php:754
2357 2369 msgid "settings are now running in xSpeed."
2358 2370 msgstr ""
2359 2371
2360 -#: includes/modules/Migration/MigrationModule.php:736
2361 -#: includes/modules/Migration/MigrationModule.php:746
2372 +#: includes/modules/Migration/MigrationModule.php:737
2373 +#: includes/modules/Migration/MigrationModule.php:747
2362 2374 msgid "It has been switched off, so the two page caches cannot conflict."
2363 2375 msgstr ""
2364 2376
2365 -#: includes/modules/Migration/MigrationModule.php:737
2377 +#: includes/modules/Migration/MigrationModule.php:738
2366 2378 msgid "It is still active — switch it off when you are ready."
2367 2379 msgstr ""
2368 2380
2369 -#: includes/modules/Migration/MigrationModule.php:738
2381 +#: includes/modules/Migration/MigrationModule.php:739
2370 2382 msgid "Skipped:"
2371 2383 msgstr ""
2372 2384
2373 -#: includes/modules/Migration/MigrationModule.php:754
2385 +#: includes/modules/Migration/MigrationModule.php:755
2374 2386 msgid "It is still active — running two page caches conflicts, so switch it off when you are ready."
2375 2387 msgstr ""
2376 2388
2377 -#: includes/modules/Migration/MigrationModule.php:763
2389 +#: includes/modules/Migration/MigrationModule.php:764
2378 2390 msgid "Migration could not finish."
2379 2391 msgstr ""
2380 2392
2381 -#: includes/modules/Migration/MigrationModule.php:764
2393 +#: includes/modules/Migration/MigrationModule.php:765
2382 2394 msgid "Nothing was changed — you can try again."
2383 2395 msgstr ""
2384 2396
2385 2397 #. translators: %s: source plugin label.
2386 -#: includes/modules/Migration/MigrationModule.php:997
2398 +#: includes/modules/Migration/MigrationModule.php:998
2387 2399 #, php-format
2388 2400 msgid "%s is activated across the whole network, so only a network administrator can switch it off. Your settings were imported — ask a network administrator to deactivate it."
2389 2401 msgstr ""
2390 2402
2391 2403 #. translators: %s: source plugin label.
2392 -#: includes/modules/Migration/MigrationModule.php:1002
2404 +#: includes/modules/Migration/MigrationModule.php:1003
2393 2405 #, php-format
2394 2406 msgid "Your account can change settings but not switch plugins off, so %s is still active. Your settings were imported — ask an administrator to deactivate it."
2395 2407 msgstr ""
2396 2408
@@ -2398,238 +2410,234 @@
2398 2410 msgid "CSS & JavaScript"
2399 2411 msgstr ""
2400 2412
2401 2413 #: includes/modules/Minify/MinifyModule.php:38
2402 -msgid "Strip whitespace and rewrite enqueued CSS / JS."
2414 +msgid "Makes HTML, CSS and JavaScript files smaller and loads scripts later."
2403 2415 msgstr ""
2404 2416
2405 -#: includes/modules/Minify/MinifyModule.php:51
2417 +#: includes/modules/Minify/MinifyModule.php:52
2406 2418 msgid "Minify HTML"
2407 2419 msgstr ""
2408 2420
2409 -#: includes/modules/Minify/MinifyModule.php:56
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."
2421 +#: includes/modules/Minify/MinifyModule.php:57
2422 +msgid "Removes spaces and comments from your pages. Safe on most themes. Only logged-out visitors see it, so check in a private window."
2411 2423 msgstr ""
2412 2424
2413 -#: includes/modules/Minify/MinifyModule.php:61
2425 +#: includes/modules/Minify/MinifyModule.php:62
2414 2426 msgid "Minify CSS"
2415 2427 msgstr ""
2416 2428
2417 -#: includes/modules/Minify/MinifyModule.php:62
2418 -msgid "Compress and rewrite enqueued local stylesheets. External CSS is left untouched."
2429 +#: includes/modules/Minify/MinifyModule.php:63
2430 +msgid "Makes your site's own CSS files smaller. CSS from other domains is left alone."
2419 2431 msgstr ""
2420 2432
2421 -#: includes/modules/Minify/MinifyModule.php:67
2433 +#: includes/modules/Minify/MinifyModule.php:68
2422 2434 msgid "Minify JavaScript"
2423 2435 msgstr ""
2424 2436
2425 -#: includes/modules/Minify/MinifyModule.php:68
2426 -msgid "Compress enqueued local scripts. Disable if you hit script-loading conflicts on the frontend."
2437 +#: includes/modules/Minify/MinifyModule.php:69
2438 +msgid "Makes your site's own JavaScript files smaller. Turn off if a script on your site stops working."
2427 2439 msgstr ""
2428 2440
2429 -#: includes/modules/Minify/MinifyModule.php:73
2441 +#: includes/modules/Minify/MinifyModule.php:74
2430 2442 msgid "Defer JavaScript"
2431 2443 msgstr ""
2432 2444
2433 -#: includes/modules/Minify/MinifyModule.php:74
2434 -msgid "Add defer=\"defer\" to enqueued script tags so they execute after HTML parsing. jQuery + its hard dependencies are skipped automatically."
2445 +#: includes/modules/Minify/MinifyModule.php:75
2446 +msgid "Runs scripts after the page has loaded, so content shows sooner. jQuery and scripts that need it are skipped."
2435 2447 msgstr ""
2436 2448
2437 -#: includes/modules/Minify/MinifyModule.php:79
2438 -msgid "Delay JavaScript Until Interaction"
2439 -msgstr ""
2440 -
2441 2449 #: 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."
2450 +msgid "Delay JavaScript"
2443 2451 msgstr ""
2444 2452
2445 -#: includes/modules/Minify/MinifyModule.php:85
2446 -msgid "Load CSS Asynchronously"
2453 +#: includes/modules/Minify/MinifyModule.php:81
2454 +msgid "Scripts load only when the visitor scrolls, taps or types. Pages show much sooner, but test menus and sliders. Cookie consent banners still load first."
2447 2455 msgstr ""
2448 2456
2449 2457 #: includes/modules/Minify/MinifyModule.php:86
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."
2458 +msgid "Load CSS without blocking"
2451 2459 msgstr ""
2452 2460
2453 -#: includes/modules/Minify/MinifyModule.php:91
2454 -msgid "Remove Asset Query Strings"
2461 +#: includes/modules/Minify/MinifyModule.php:87
2462 +msgid "On pages that have critical CSS, the page shows before the rest of its CSS finishes loading. Pages without critical CSS keep loading their CSS normally, because deferring it makes the page show unstyled and then jump."
2455 2463 msgstr ""
2456 2464
2457 2465 #: includes/modules/Minify/MinifyModule.php:92
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."
2466 +msgid "Remove version from file URLs"
2459 2467 msgstr ""
2460 2468
2461 -#: includes/modules/Minify/MinifyModule.php:98
2462 -msgid "Defer / Delay Exclusions"
2469 +#: includes/modules/Minify/MinifyModule.php:93
2470 +msgid "Removes ?ver= from CSS and JS links, which some CDNs cache better. After a plugin update, returning visitors may keep old files until their browser cache expires."
2463 2471 msgstr ""
2464 2472
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."
2473 +#: includes/modules/Minify/MinifyModule.php:100
2474 +msgid "Scripts to never defer or delay"
2467 2475 msgstr ""
2468 2476
2469 -#: includes/modules/Minify/MinifyModule.php:113
2470 -msgid "Delay Only These Scripts"
2477 +#: includes/modules/Minify/MinifyModule.php:101
2478 +msgid "Script handles or parts of script URLs, one per line. jQuery is listed because most themes need it early; cookie consent banners are skipped on their own."
2471 2479 msgstr ""
2472 2480
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."
2481 +#: includes/modules/Minify/MinifyModule.php:115
2482 +msgid "Delay only these scripts"
2475 2483 msgstr ""
2476 2484
2477 -#: includes/modules/Minify/MinifyModule.php:115
2485 +#: includes/modules/Minify/MinifyModule.php:116
2486 +msgid "Script handles or parts of script URLs, one per line. Leave empty to delay all scripts; otherwise only these, plus known trackers and chat widgets, are delayed."
2487 +msgstr ""
2488 +
2489 +#: includes/modules/Minify/MinifyModule.php:117
2478 2490 msgid "Consent banners and Delay JS"
2479 2491 msgstr ""
2480 2492
2481 2493 #. translators: %s: comma-separated list of consent plugins, each followed by the word to type in parentheses.
2482 -#: includes/modules/Minify/MinifyModule.php:118
2494 +#: includes/modules/Minify/MinifyModule.php:120
2483 2495 #, 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."
2496 +msgid "These consent banners load straight away, even with Delay JS on: %s. To delay one on purpose, add the word in parentheses, or the script handle, to this list. An entry that only matches part of the address, such as /plugins/ or .js, never delays a banner, and an entry in Scripts to never defer or delay always wins."
2485 2497 msgstr ""
2486 2498
2487 -#: includes/modules/Minify/MinifyModule.php:126
2488 -msgid "Smart Delay (Carry Inline Snippets)"
2499 +#: includes/modules/Minify/MinifyModule.php:128
2500 +msgid "Smart delay"
2489 2501 msgstr ""
2490 2502
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."
2503 +#: includes/modules/Minify/MinifyModule.php:129
2504 +msgid "Also delays scripts that code on the page depends on, which helps page builder sites most. The riskiest setting here, so test menus and sliders."
2493 2505 msgstr ""
2494 2506
2495 -#: includes/modules/Minify/MinifyModule.php:135
2496 -msgid "Delay Failsafe Timeout (ms)"
2507 +#: includes/modules/Minify/MinifyModule.php:137
2508 +msgid "Delay timeout (ms)"
2497 2509 msgstr ""
2498 2510
2499 -#: includes/modules/Minify/MinifyModule.php:137
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."
2511 +#: includes/modules/Minify/MinifyModule.php:139
2512 +msgid "Load delayed scripts after this long if the visitor does nothing. Set 0 to wait for a scroll, tap or key press only."
2501 2513 msgstr ""
2502 2514
2503 -#: includes/modules/Minify/MinifyModule.php:143
2504 -msgid "Combine CSS Files"
2515 +#: includes/modules/Minify/MinifyModule.php:146
2516 +msgid "Combine CSS files"
2505 2517 msgstr ""
2506 2518
2507 -#: includes/modules/Minify/MinifyModule.php:144
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."
2519 +#: includes/modules/Minify/MinifyModule.php:147
2520 +msgid "Joins your site's own CSS files into one. This helps only on old HTTP/1.1 servers, so leave it off on most hosts."
2509 2521 msgstr ""
2510 2522
2511 -#: includes/modules/Minify/MinifyModule.php:149
2512 -msgid "Combine JavaScript Files"
2523 +#: includes/modules/Minify/MinifyModule.php:153
2524 +msgid "Combine JavaScript files"
2513 2525 msgstr ""
2514 2526
2515 -#: includes/modules/Minify/MinifyModule.php:150
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."
2527 +#: includes/modules/Minify/MinifyModule.php:154
2528 +msgid "Joins your site's own scripts into one file. Turn off if a script stops working after you enable it."
2517 2529 msgstr ""
2518 2530
2519 -#: includes/modules/Minify/MinifyModule.php:287
2531 +#: includes/modules/Minify/MinifyModule.php:292
2520 2532 msgid "HTML minification is paused because WP_DEBUG is enabled in wp-config.php. Readable HTML is usually what you want while debugging, so xSpeed leaves the markup alone. Cached pages are served un-minified until WP_DEBUG is turned off."
2521 2533 msgstr ""
2522 2534
2523 -#: includes/modules/Minify/MinifyModule.php:288
2535 +#: includes/modules/Minify/MinifyModule.php:293
2524 2536 msgid "HTML minification is paused because a plugin or theme is returning true from the xspeed_skip_minify filter. Cached pages are served un-minified until that filter stops suppressing it."
2525 2537 msgstr ""
2526 2538
2527 -#: includes/modules/Minify/MinifyModule.php:293
2539 +#: includes/modules/Minify/MinifyModule.php:298
2528 2540 msgid "HTML minification is on but currently paused"
2529 2541 msgstr ""
2530 2542
2531 2543 #: includes/modules/ObjectCache/ObjectCacheModule.php:34
2532 -msgid "Configure a persistent object cache (Redis / Memcached) and generate a paste-ready wp-config.php snippet."
2544 +msgid "Stores database query results in Redis or Memcached so pages build faster."
2533 2545 msgstr ""
2534 2546
2535 -#: includes/modules/ObjectCache/ObjectCacheModule.php:61
2536 -msgid "Backend"
2537 -msgstr ""
2538 -
2539 2547 #: includes/modules/ObjectCache/ObjectCacheModule.php:62
2540 -msgid "Which cache server you intend to use. Affects the generated wp-config snippet."
2548 +msgid "Cache server"
2541 2549 msgstr ""
2542 2550
2543 -#: includes/modules/ObjectCache/ObjectCacheModule.php:68
2544 -msgid "Redis Host"
2551 +#: includes/modules/ObjectCache/ObjectCacheModule.php:63
2552 +msgid "The cache server your host provides. Ask your host if you are not sure."
2545 2553 msgstr ""
2546 2554
2547 2555 #: includes/modules/ObjectCache/ObjectCacheModule.php:69
2548 -msgid "Hostname or IP of the Redis server. Use 127.0.0.1 for a local socket on the same machine as PHP."
2556 +msgid "Redis host"
2549 2557 msgstr ""
2550 2558
2551 -#: includes/modules/ObjectCache/ObjectCacheModule.php:77
2552 -msgid "Redis Port"
2559 +#: includes/modules/ObjectCache/ObjectCacheModule.php:70
2560 +msgid "Address of the Redis server. Use 127.0.0.1 when Redis runs on the same server as your site."
2553 2561 msgstr ""
2554 2562
2555 -#: includes/modules/ObjectCache/ObjectCacheModule.php:78
2556 -msgid "Default Redis port is 6379."
2563 +#: includes/modules/ObjectCache/ObjectCacheModule.php:79
2564 +msgid "Redis port"
2557 2565 msgstr ""
2558 2566
2559 -#: includes/modules/ObjectCache/ObjectCacheModule.php:90
2560 -msgid "Redis User"
2567 +#: includes/modules/ObjectCache/ObjectCacheModule.php:80
2568 +msgid "The default Redis port is 6379."
2561 2569 msgstr ""
2562 2570
2563 -#: includes/modules/ObjectCache/ObjectCacheModule.php:91
2564 -msgid "Optional. Set this only if your host provisioned a dedicated Redis ACL user (Redis 6+) — e.g. some managed hosts issue a Redis User alongside the password. Leave blank to authenticate as the default user (legacy password-only Redis)."
2571 +#: includes/modules/ObjectCache/ObjectCacheModule.php:94
2572 +msgid "Redis username"
2565 2573 msgstr ""
2566 2574
2567 -#: includes/modules/ObjectCache/ObjectCacheModule.php:98
2568 -msgid "Redis Password"
2575 +#: includes/modules/ObjectCache/ObjectCacheModule.php:95
2576 +msgid "Only needed if your host gave you a Redis username along with the password. Leave blank otherwise."
2569 2577 msgstr ""
2570 2578
2571 -#: includes/modules/ObjectCache/ObjectCacheModule.php:99
2572 -msgid "Leave blank if your Redis server runs without auth."
2579 +#: includes/modules/ObjectCache/ObjectCacheModule.php:104
2580 +msgid "Leave blank if your Redis server has no password."
2573 2581 msgstr ""
2574 2582
2575 -#: includes/modules/ObjectCache/ObjectCacheModule.php:107
2576 -msgid "Redis Database"
2583 +#: includes/modules/ObjectCache/ObjectCacheModule.php:113
2584 +msgid "Redis database"
2577 2585 msgstr ""
2578 2586
2579 -#: includes/modules/ObjectCache/ObjectCacheModule.php:108
2580 -msgid "Redis logical DB number (0-15). Use a dedicated DB per site if Redis is shared."
2587 +#: includes/modules/ObjectCache/ObjectCacheModule.php:114
2588 +msgid "Database number, 0 to 15. If several sites share one Redis server, give each site its own number."
2581 2589 msgstr ""
2582 2590
2583 -#: includes/modules/ObjectCache/ObjectCacheModule.php:135
2584 -msgid "Memcached Host"
2591 +#: includes/modules/ObjectCache/ObjectCacheModule.php:143
2592 +msgid "Memcached host"
2585 2593 msgstr ""
2586 2594
2587 -#: includes/modules/ObjectCache/ObjectCacheModule.php:136
2588 -msgid "Used when Backend = Memcached."
2595 +#: includes/modules/ObjectCache/ObjectCacheModule.php:144
2596 +msgid "Address of the Memcached server. Use 127.0.0.1 when it runs on the same server as your site."
2589 2597 msgstr ""
2590 2598
2591 -#: includes/modules/ObjectCache/ObjectCacheModule.php:157
2592 -msgid "Memcached Port"
2599 +#: includes/modules/ObjectCache/ObjectCacheModule.php:166
2600 +msgid "Memcached port"
2593 2601 msgstr ""
2594 2602
2595 -#: includes/modules/ObjectCache/ObjectCacheModule.php:158
2596 -msgid "Default Memcached port is 11211."
2603 +#: includes/modules/ObjectCache/ObjectCacheModule.php:167
2604 +msgid "The default Memcached port is 11211."
2597 2605 msgstr ""
2598 2606
2599 -#: includes/modules/ObjectCache/ObjectCacheModule.php:184
2600 -msgid "Cache Key Prefix"
2607 +#: includes/modules/ObjectCache/ObjectCacheModule.php:195
2608 +msgid "Cache key prefix"
2601 2609 msgstr ""
2602 2610
2603 -#: includes/modules/ObjectCache/ObjectCacheModule.php:185
2604 -msgid "Unique salt for this site's cache keys. Leave blank and xSpeed derives one automatically for this install, so sites sharing a Redis/Memcached server never collide. On ACL/namespaced Redis (e.g. xCloud), set this to the host's \"Redis Object Cache Key\" — otherwise cache writes are denied (NOPERM) and nothing persists."
2611 +#: includes/modules/ObjectCache/ObjectCacheModule.php:196
2612 +msgid "Leave blank and xSpeed picks a unique prefix for this site. Some managed Redis hosts, such as xCloud, give you a key to paste here, or nothing gets saved."
2605 2613 msgstr ""
2606 2614
2607 -#: includes/modules/ObjectCache/ObjectCacheModule.php:193
2608 -msgid "Connection Timeout (seconds)"
2615 +#: includes/modules/ObjectCache/ObjectCacheModule.php:206
2616 +msgid "Connection timeout (seconds)"
2609 2617 msgstr ""
2610 2618
2611 -#: includes/modules/ObjectCache/ObjectCacheModule.php:195
2612 -msgid "How long to wait for a connection. Keep low (1-2s) so a misconfigured cache never stalls the page."
2619 +#: includes/modules/ObjectCache/ObjectCacheModule.php:208
2620 +msgid "How long to wait for the cache server. Keep it at 1 or 2 seconds so a broken cache server never holds up a page."
2613 2621 msgstr ""
2614 2622
2615 -#: includes/modules/ObjectCache/ObjectCacheModule.php:201
2616 -msgid "Persistent Connections"
2623 +#: includes/modules/ObjectCache/ObjectCacheModule.php:215
2624 +msgid "Persistent connections"
2617 2625 msgstr ""
2618 2626
2619 -#: includes/modules/ObjectCache/ObjectCacheModule.php:202
2620 -msgid "Reuse the connection across PHP requests when supported. Generally a win unless the cache server complains about idle connections."
2627 +#: includes/modules/ObjectCache/ObjectCacheModule.php:216
2628 +msgid "Keep the connection open between page loads. Turn off only if your cache server reports too many idle connections."
2621 2629 msgstr ""
2622 2630
2623 -#: includes/modules/ObjectCache/ObjectCacheModule.php:998
2631 +#: includes/modules/ObjectCache/ObjectCacheModule.php:1013
2624 2632 msgid "The object cache drop-in is installed and storing data. This is measured from the running cache, not from the settings on this page."
2625 2633 msgstr ""
2626 2634
2627 -#: includes/modules/ObjectCache/ObjectCacheModule.php:1001
2635 +#: includes/modules/ObjectCache/ObjectCacheModule.php:1016
2628 2636 msgid "The drop-in is installed but is not storing anything, so this counts as off. Check the connection settings below."
2629 2637 msgstr ""
2630 2638
2631 -#: includes/modules/ObjectCache/ObjectCacheModule.php:1003
2639 +#: includes/modules/ObjectCache/ObjectCacheModule.php:1018
2632 2640 msgid "No object cache is running. Entering a host below does not switch it on by itself -- the drop-in has to be installed and connect successfully."
2633 2641 msgstr ""
2634 2642
2635 2643 #: includes/modules/Preloader/PreloaderModule.php:33
@@ -2636,70 +2644,66 @@
2636 2644 msgid "Crawl Now"
2637 2645 msgstr ""
2638 2646
2639 2647 #: includes/modules/Preloader/PreloaderModule.php:35
2640 -msgid "Crawl the sitemap to warm cache so visitors never hit a cold MISS."
2648 +msgid "Visits your pages ahead of time so visitors get fast cached pages."
2641 2649 msgstr ""
2642 2650
2643 -#: includes/modules/Preloader/PreloaderModule.php:61
2651 +#: includes/modules/Preloader/PreloaderModule.php:62
2644 2652 msgid "Your server is blocking the xSpeed cache warmer"
2645 2653 msgstr ""
2646 2654
2647 2655 #. translators: 1: HTTP status code, 2: the user-agent xSpeed sends.
2648 -#: includes/modules/Preloader/PreloaderModule.php:64
2656 +#: includes/modules/Preloader/PreloaderModule.php:65
2649 2657 #, php-format
2650 2658 msgid "A warm request was refused with HTTP %1$d, which is how a firewall answers when it judges a request by its user-agent. Pages are not being warmed, so the first visitor to each new page waits for an uncached render. Allow the user-agent \"%2$s\" in your server's bad-bot rules — on xCloud this is the 8G firewall — or change it with the xspeed_preloader_user_agent filter. This notice clears itself once a warm gets through."
2651 2659 msgstr ""
2652 2660
2653 -#: includes/modules/Preloader/PreloaderModule.php:77
2654 -msgid "Enable Preloader"
2661 +#: includes/modules/Preloader/PreloaderModule.php:79
2662 +msgid "xSpeed visits every page in your sitemap on the schedule below, so each page is cached before a visitor asks for it."
2655 2663 msgstr ""
2656 2664
2657 -#: includes/modules/Preloader/PreloaderModule.php:78
2658 -msgid "When on, xSpeed crawls the sitemap on the schedule below and warms the page cache."
2659 -msgstr ""
2660 -
2661 -#: includes/modules/Preloader/PreloaderModule.php:90
2665 +#: includes/modules/Preloader/PreloaderModule.php:91
2662 2666 msgid "Schedule"
2663 2667 msgstr ""
2664 2668
2665 -#: includes/modules/Preloader/PreloaderModule.php:91
2666 -msgid "How often to start a fresh crawl. Manual means you trigger it from the dashboard."
2669 +#: includes/modules/Preloader/PreloaderModule.php:92
2670 +msgid "How often to visit all pages again. Manual means you start it from the dashboard."
2667 2671 msgstr ""
2668 2672
2669 -#: includes/modules/Preloader/PreloaderModule.php:99
2670 -msgid "Batch Size"
2673 +#: includes/modules/Preloader/PreloaderModule.php:100
2674 +msgid "Pages per run"
2671 2675 msgstr ""
2672 2676
2673 -#: includes/modules/Preloader/PreloaderModule.php:100
2674 -msgid "URLs warmed per cron tick. Higher = faster crawl, more load on the origin."
2677 +#: includes/modules/Preloader/PreloaderModule.php:101
2678 +msgid "How many pages are cached on each run. A higher number finishes sooner but puts more load on your server."
2675 2679 msgstr ""
2676 2680
2677 -#: includes/modules/Preloader/PreloaderModule.php:106
2681 +#: includes/modules/Preloader/PreloaderModule.php:108
2678 2682 msgid "Sitemap URL (optional)"
2679 2683 msgstr ""
2680 2684
2681 -#: includes/modules/Preloader/PreloaderModule.php:107
2682 -msgid "Override the auto-detected WordPress core sitemap (/wp-sitemap.xml). Leave blank for default."
2685 +#: includes/modules/Preloader/PreloaderModule.php:109
2686 +msgid "Use a different sitemap than the WordPress one (/wp-sitemap.xml). Leave blank for the default."
2683 2687 msgstr ""
2684 2688
2685 -#: includes/modules/Preloader/PreloaderModule.php:113
2689 +#: includes/modules/Preloader/PreloaderModule.php:115
2686 2690 msgid "Warm new content immediately"
2687 2691 msgstr ""
2688 2692
2689 -#: includes/modules/Preloader/PreloaderModule.php:114
2690 -msgid "When a post or page is published, fetch it once so the first visitor sees a cache HIT, not a cold MISS."
2693 +#: includes/modules/Preloader/PreloaderModule.php:116
2694 +msgid "Cache a post or page as soon as you publish it, so the first visitor gets the fast cached page."
2691 2695 msgstr ""
2692 2696
2693 -#: includes/modules/Preloader/PreloaderModule.php:120
2697 +#: includes/modules/Preloader/PreloaderModule.php:122
2694 2698 msgid "Re-warm after comments"
2695 2699 msgstr ""
2696 2700
2697 -#: includes/modules/Preloader/PreloaderModule.php:121
2698 -msgid "Re-warm a page after a comment is posted (Cache purges the page on comment; this fetches it back into cache)."
2701 +#: includes/modules/Preloader/PreloaderModule.php:123
2702 +msgid "A new comment clears the page from the cache. This caches the page again right away."
2699 2703 msgstr ""
2700 2704
2701 -#: includes/modules/Preloader/PreloaderModule.php:297
2705 +#: includes/modules/Preloader/PreloaderModule.php:299
2702 2706 msgid "Enable the preloader before starting a crawl."
2703 2707 msgstr ""
2704 2708
2705 2709 #: includes/modules/Privacy/PrivacyModule.php:47
@@ -2706,17 +2710,17 @@
2706 2710 msgid "Privacy & usage data"
2707 2711 msgstr ""
2708 2712
2709 2713 #: includes/modules/Privacy/PrivacyModule.php:49
2710 -msgid "Control the usage analytics you were asked about in the setup wizard."
2714 +msgid "Change the usage data choice you made in the setup wizard."
2711 2715 msgstr ""
2712 2716
2713 -#: includes/modules/Privacy/PrivacyModule.php:58
2717 +#: includes/modules/Privacy/PrivacyModule.php:59
2714 2718 msgid "Share usage data"
2715 2719 msgstr ""
2716 2720
2717 -#: includes/modules/Privacy/PrivacyModule.php:59
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."
2721 +#: includes/modules/Privacy/PrivacyModule.php:60
2722 +msgid "Sends your WordPress and PHP versions, theme, plugins, server type and the features you use, never page content. Turn it off to stop all sending."
2719 2723 msgstr ""
2720 2724
2721 2725 #: includes/modules/ResourceHints/ResourceHintsModule.php:60
2722 2726 msgid "Resource Hints"
@@ -2726,143 +2730,142 @@
2726 2730 msgid "Hints"
2727 2731 msgstr ""
2728 2732
2729 2733 #: includes/modules/ResourceHints/ResourceHintsModule.php:63
2730 -msgid "Preload the LCP hero image and preconnect to font hosts so the largest element paints sooner."
2734 +msgid "Tells the browser to fetch the main image and fonts early."
2731 2735 msgstr ""
2732 2736
2733 -#: includes/modules/ResourceHints/ResourceHintsModule.php:77
2734 -msgid "Enable Resource Hints"
2735 -msgstr ""
2736 -
2737 2737 #: includes/modules/ResourceHints/ResourceHintsModule.php:78
2738 -msgid "Master switch for the LCP-image preload + preconnect resource hints. On by default — these are safe, no-config optimizations that help every theme."
2738 +msgid "Enable resource hints"
2739 2739 msgstr ""
2740 2740
2741 -#: includes/modules/ResourceHints/ResourceHintsModule.php:83
2742 -msgid "Preload LCP Image"
2741 +#: includes/modules/ResourceHints/ResourceHintsModule.php:79
2742 +msgid "Turns on all the hints below. They are safe on every theme, so this is on by default."
2743 2743 msgstr ""
2744 2744
2745 2745 #: includes/modules/ResourceHints/ResourceHintsModule.php:84
2746 -msgid "Detect the largest above-the-fold image and emit a <link rel=\"preload\" as=\"image\" fetchpriority=\"high\"> in the head, plus fetchpriority=\"high\" on the image. This is the highest-impact fix for Largest Contentful Paint — it beats any lazy-load the theme applied."
2746 +msgid "Preload the main image"
2747 2747 msgstr ""
2748 2748
2749 -#: includes/modules/ResourceHints/ResourceHintsModule.php:91
2750 -msgid "Images to Preload"
2749 +#: includes/modules/ResourceHints/ResourceHintsModule.php:85
2750 +msgid "Finds the largest image at the top of the page and tells the browser to fetch it first. This usually gives the biggest LCP gain."
2751 2751 msgstr ""
2752 2752
2753 -#: includes/modules/ResourceHints/ResourceHintsModule.php:92
2754 -msgid "How many of the first images on the page to preload. 1 is right for most sites (the single hero). Raise it only if the fold shows a small gallery."
2753 +#: includes/modules/ResourceHints/ResourceHintsModule.php:93
2754 +msgid "Images to preload"
2755 2755 msgstr ""
2756 2756
2757 -#: includes/modules/ResourceHints/ResourceHintsModule.php:98
2758 -msgid "Exclude From Preload"
2757 +#: includes/modules/ResourceHints/ResourceHintsModule.php:94
2758 +msgid "How many images at the top of the page to preload. 1 suits most sites; raise it only if the top shows a small gallery."
2759 2759 msgstr ""
2760 2760
2761 -#: includes/modules/ResourceHints/ResourceHintsModule.php:99
2762 -msgid "Substring patterns (filename or class) that, if found in an <img>, exempt it from being treated as the LCP image. Useful for tracking pixels, spacers, or a decorative first image that is not the hero."
2761 +#: includes/modules/ResourceHints/ResourceHintsModule.php:102
2762 +msgid "Excluded from preload"
2763 2763 msgstr ""
2764 2764
2765 -#: includes/modules/ResourceHints/ResourceHintsModule.php:105
2766 -msgid "Always Preload These Images"
2765 +#: includes/modules/ResourceHints/ResourceHintsModule.php:103
2766 +msgid "Images whose tag contains a line here, such as a file name or class, are never picked as the main image. Useful for tracking pixels and spacers."
2767 2767 msgstr ""
2768 2768
2769 -#: includes/modules/ResourceHints/ResourceHintsModule.php:106
2770 -msgid "Image URLs (full or site-relative) to preload with high priority on every page. This is the escape hatch for an LCP image the detector cannot see — most often a hero section's CSS background-image, which carries none of the signals the automatic pick reads. Keep it to one or two images: preloading many hands them all top network priority and the page itself loses. The first three entries are used."
2769 +#: includes/modules/ResourceHints/ResourceHintsModule.php:110
2770 +msgid "Always preload these images"
2771 2771 msgstr ""
2772 2772
2773 2773 #: includes/modules/ResourceHints/ResourceHintsModule.php:111
2774 -msgid "Preconnect to Font Hosts"
2774 +msgid "Image URLs to fetch first on every page, such as a hero background set in CSS. Keep it to one or two; only the first three are used."
2775 2775 msgstr ""
2776 2776
2777 -#: includes/modules/ResourceHints/ResourceHintsModule.php:112
2778 -msgid "When Google Fonts are detected, emit <link rel=\"preconnect\"> to fonts.googleapis.com and fonts.gstatic.com so the DNS + TLS handshake happens ahead of the font request instead of on the critical path."
2777 +#: includes/modules/ResourceHints/ResourceHintsModule.php:117
2778 +msgid "Connect early to Google Fonts"
2779 2779 msgstr ""
2780 2780
2781 2781 #: includes/modules/ResourceHints/ResourceHintsModule.php:118
2782 -msgid "Extra Preconnect Hosts"
2782 +msgid "When the page uses Google Fonts, the browser connects to Google's servers early, so fonts arrive sooner."
2783 2783 msgstr ""
2784 2784
2785 -#: includes/modules/ResourceHints/ResourceHintsModule.php:119
2786 -msgid "One origin per line (e.g. https://cdn.example.com) to preconnect in addition to the auto-detected font hosts. Use for a CDN or third-party origin that serves above-the-fold assets."
2785 +#: includes/modules/ResourceHints/ResourceHintsModule.php:125
2786 +msgid "Other domains to connect early"
2787 2787 msgstr ""
2788 2788
2789 +#: includes/modules/ResourceHints/ResourceHintsModule.php:126
2790 +msgid "One address per line, such as https://cdn.example.com. Use for a CDN or other domain that serves files at the top of the page."
2791 +msgstr ""
2792 +
2789 2793 #: includes/modules/Score/ScoreModule.php:58
2790 2794 msgid "Speed Test"
2791 2795 msgstr ""
2792 2796
2793 2797 #: includes/modules/Score/ScoreModule.php:64
2794 -msgid "Run a PageSpeed Insights or GTmetrix audit from the dashboard and keep the history next to your TTFB benchmark."
2798 +msgid "Run a PageSpeed Insights or GTmetrix test and keep a history of the scores."
2795 2799 msgstr ""
2796 2800
2797 -#: includes/modules/Score/ScoreModule.php:77
2801 +#: includes/modules/Score/ScoreModule.php:78
2798 2802 msgid "Allow speed tests"
2799 2803 msgstr ""
2800 2804
2801 -#: includes/modules/Score/ScoreModule.php:83
2802 -msgid "Turns on automatically the first time you run a speed test — the button press is the consent. Switch it off to stop every feature, including optimize runs, from contacting a score provider."
2805 +#: includes/modules/Score/ScoreModule.php:84
2806 +msgid "Turns on the first time you run a speed test. Switch it off and no feature, not even an optimize run, contacts a test provider."
2803 2807 msgstr ""
2804 2808
2805 -#: includes/modules/Score/ScoreModule.php:98
2806 -#: assets/admin.js
2807 -msgid "Provider"
2809 +#: includes/modules/Score/ScoreModule.php:99
2810 +msgid "Test provider"
2808 2811 msgstr ""
2809 2812
2810 -#: includes/modules/Score/ScoreModule.php:99
2811 -msgid "PageSpeed Insights works without an API key. GTmetrix requires one."
2813 +#: includes/modules/Score/ScoreModule.php:100
2814 +msgid "PageSpeed Insights works without an API key. GTmetrix needs one."
2812 2815 msgstr ""
2813 2816
2814 -#: includes/modules/Score/ScoreModule.php:104
2817 +#: includes/modules/Score/ScoreModule.php:105
2815 2818 msgid "PageSpeed API key (optional)"
2816 2819 msgstr ""
2817 2820
2818 -#: includes/modules/Score/ScoreModule.php:105
2819 -msgid "Only needed if you hit Google's anonymous rate limit. Free from cloud.google.com."
2821 +#: includes/modules/Score/ScoreModule.php:106
2822 +msgid "Only needed if Google starts refusing tests without a key. You can get a free key at cloud.google.com."
2820 2823 msgstr ""
2821 2824
2822 -#: includes/modules/Score/ScoreModule.php:117
2825 +#: includes/modules/Score/ScoreModule.php:119
2823 2826 msgid "GTmetrix API key"
2824 2827 msgstr ""
2825 2828
2826 -#: includes/modules/Score/ScoreModule.php:118
2827 -msgid "Required — GTmetrix has no anonymous mode. Found in your GTmetrix account settings."
2829 +#: includes/modules/Score/ScoreModule.php:120
2830 +msgid "GTmetrix does not run tests without a key. Find it in your GTmetrix account settings."
2828 2831 msgstr ""
2829 2832
2830 -#: includes/modules/Score/ScoreModule.php:127
2833 +#: includes/modules/Score/ScoreModule.php:129
2831 2834 msgid "URL to test"
2832 2835 msgstr ""
2833 2836
2834 -#: includes/modules/Score/ScoreModule.php:128
2837 +#: includes/modules/Score/ScoreModule.php:130
2835 2838 msgid "Leave empty to test your home page."
2836 2839 msgstr ""
2837 2840
2838 -#: includes/modules/Score/ScoreModule.php:134
2839 -msgid "Strategy"
2841 +#: includes/modules/Score/ScoreModule.php:136
2842 +msgid "Device"
2840 2843 msgstr ""
2841 2844
2842 -#: includes/modules/Score/ScoreModule.php:135
2843 -msgid "PageSpeed Insights only. Mobile is what Google ranks on."
2845 +#: includes/modules/Score/ScoreModule.php:137
2846 +msgid "Test as a phone or a desktop visitor. Google ranks sites on the mobile result."
2844 2847 msgstr ""
2845 2848
2846 -#: includes/modules/Score/ScoreModule.php:334
2847 -#: includes/modules/Score/ScoreModule.php:380
2849 +#: includes/modules/Score/ScoreModule.php:336
2850 +#: includes/modules/Score/ScoreModule.php:382
2848 2851 msgid "Hub-run speed tests are not enabled on this site."
2849 2852 msgstr ""
2850 2853
2851 -#: includes/modules/Score/ScoreModule.php:443
2854 +#: includes/modules/Score/ScoreModule.php:445
2852 2855 msgid "No URL to test."
2853 2856 msgstr ""
2854 2857
2855 -#: includes/modules/Score/ScoreModule.php:540
2858 +#: includes/modules/Score/ScoreModule.php:542
2856 2859 msgid "xSpeed Hub accepted the test but returned no run id. Please try again."
2857 2860 msgstr ""
2858 2861
2859 -#: includes/modules/Score/ScoreModule.php:619
2862 +#: includes/modules/Score/ScoreModule.php:621
2860 2863 msgid "The audit did not produce a result."
2861 2864 msgstr ""
2862 2865
2863 2866 #. translators: %s: module slug.
2864 -#: includes/modules/Settings/SettingsModule.php:320
2867 +#: includes/modules/Settings/SettingsModule.php:324
2865 2868 #, php-format
2866 2869 msgid "Refused a CLI settings write to the Pro module \"%s\" — no valid license."
2867 2870 msgstr ""
2868 2871
@@ -2873,14 +2876,14 @@
2873 2876 #: includes/modules/Support/SupportModule.php:30
2874 2877 msgid "Open a support ticket with a one-click system snapshot already attached."
2875 2878 msgstr ""
2876 2879
2877 -#: includes/modules/Support/SupportModule.php:40
2880 +#: includes/modules/Support/SupportModule.php:41
2878 2881 msgid "Support URL"
2879 2882 msgstr ""
2880 2883
2881 -#: includes/modules/Support/SupportModule.php:41
2882 -msgid "Where the \"Open ticket\" button takes the user."
2884 +#: includes/modules/Support/SupportModule.php:42
2885 +msgid "The page the \"Open ticket\" button opens. Leave the default to reach xSpeed support."
2883 2886 msgstr ""
2884 2887
2885 2888 #: includes/modules/TurboRender/TurboRenderModule.php:89
2886 2889 msgid "Turbo Render"
@@ -2886,41 +2889,41 @@
2886 2889 msgid "Turbo Render"
2887 2890 msgstr ""
2888 2891
2889 2892 #: 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."
2893 +msgid "Shows the top of each page first and the rest as visitors scroll."
2891 2894 msgstr ""
2892 2895
2893 -#: includes/modules/TurboRender/TurboRenderModule.php:100
2896 +#: includes/modules/TurboRender/TurboRenderModule.php:101
2894 2897 msgid "Render as visitors scroll"
2895 2898 msgstr ""
2896 2899
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."
2900 +#: includes/modules/TurboRender/TurboRenderModule.php:102
2901 +msgid "The browser draws what visitors see first and draws lower sections just before they scroll to them. Your content does not change."
2899 2902 msgstr ""
2900 2903
2901 -#: includes/modules/TurboRender/TurboRenderModule.php:108
2904 +#: includes/modules/TurboRender/TurboRenderModule.php:109
2902 2905 msgid "Sections to render immediately"
2903 2906 msgstr ""
2904 2907
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."
2908 +#: includes/modules/TurboRender/TurboRenderModule.php:110
2909 +msgid "How many sections at the top are drawn right away. The default of 2 suits most pages; raise it if a section near the top appears late."
2907 2910 msgstr ""
2908 2911
2909 -#: includes/modules/TurboRender/TurboRenderModule.php:114
2912 +#: includes/modules/TurboRender/TurboRenderModule.php:116
2910 2913 msgid "Section classes"
2911 2914 msgstr ""
2912 2915
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."
2916 +#: includes/modules/TurboRender/TurboRenderModule.php:117
2917 +msgid "CSS classes that mark a section. The defaults cover the main page builders, and other themes are detected on their own."
2915 2918 msgstr ""
2916 2919
2917 -#: includes/modules/TurboRender/TurboRenderModule.php:120
2920 +#: includes/modules/TurboRender/TurboRenderModule.php:124
2918 2921 msgid "Excluded classes"
2919 2922 msgstr ""
2920 2923
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."
2924 +#: includes/modules/TurboRender/TurboRenderModule.php:125
2925 +msgid "Sections with any of these classes are always drawn right away. Add one here if part of a section gets cut off where it overlaps the next."
2923 2926 msgstr ""
2924 2927
2925 2928 #: xspeed.php:220
2926 2929 msgid "is missing files and could not start, so no new pages are being cached. Pages already in the cache are still being served, and while the plugin is in this state nothing clears them automatically. Deactivating xSpeed empties the cache; reinstalling the plugin restores it. Deactivating alone will not repair the installation."
@@ -2969,9 +2972,9 @@
2969 2972 #: assets/admin.js
2970 2973 msgid "7 days"
2971 2974 msgstr ""
2972 2975
2973 -#. Source: src/components/score/ScanCard.tsx:185
2976 +#. Source: src/components/score/ScanCard.tsx:197
2974 2977 #: assets/admin.js
2975 2978 msgid "A full graded report: Core Web Vitals, caching, assets and platform."
2976 2979 msgstr ""
2977 2980
@@ -3097,8 +3100,13 @@
3097 3100 #: assets/admin.js
3098 3101 msgid "Apply"
3099 3102 msgstr ""
3100 3103
3104 +#. Source: src/components/score/ScanCard.tsx:84
3105 +#: assets/admin.js
3106 +msgid "Assets"
3107 +msgstr ""
3108 +
3101 3109 #. Source: src/upsell/ProAudit.tsx:46
3102 3110 #: assets/admin.js
3103 3111 msgid "Audit failed"
3104 3112 msgstr ""
@@ -3149,9 +3157,9 @@
3149 3157 msgstr ""
3150 3158
3151 3159 #. Source: src/components/cache/CacheHero.tsx:249
3152 3160 #: assets/admin.js
3153 -msgid "bot / 404 requests in 24h — excluded from the hit ratio."
3161 +msgid "bot, 404 and cache-warming requests in 24h — excluded from the hit ratio."
3154 3162 msgstr ""
3155 3163
3156 3164 #. Source: src/components/TopBar.tsx:81
3157 3165 #: assets/admin.js
@@ -3468,9 +3476,9 @@
3468 3476 #: assets/admin.js
3469 3477 msgid "Connected to xSpeed Hub"
3470 3478 msgstr ""
3471 3479
3472 -#. Source: src/components/score/ScanCard.tsx:221
3480 +#. Source: src/components/score/ScanCard.tsx:233
3473 3481 #: assets/admin.js
3474 3482 msgid "Connected to xSpeed Hub — this report stays unlisted, not published under your domain."
3475 3483 msgstr ""
3476 3484
@@ -3498,8 +3506,13 @@
3498 3506 #: assets/admin.js
3499 3507 msgid "Control xSpeed with AI"
3500 3508 msgstr ""
3501 3509
3510 +#. Source: src/components/score/ScanCard.tsx:80
3511 +#: assets/admin.js
3512 +msgid "Core Web Vitals"
3513 +msgstr ""
3514 +
3502 3515 #. Source: src/components/overview/McpSessionDemo.tsx:230
3503 3516 #: assets/admin.js
3504 3517 msgid "Core Web Vitals checked"
3505 3518 msgstr ""
@@ -3534,9 +3547,9 @@
3534 3547 msgid "desktop"
3535 3548 msgstr ""
3536 3549
3537 3550 #. Source: src/components/overview/ScoreCard.tsx:90
3538 -#. Source: src/components/score/ScanCard.tsx:281
3551 +#. Source: src/components/score/ScanCard.tsx:293
3539 3552 #: assets/admin.js
3540 3553 msgid "Desktop"
3541 3554 msgstr ""
3542 3555
@@ -3641,9 +3654,9 @@
3641 3654 #: assets/admin.js
3642 3655 msgid "from wp-config.php"
3643 3656 msgstr ""
3644 3657
3645 -#. Source: src/components/score/ScanCard.tsx:358
3658 +#. Source: src/components/score/ScanCard.tsx:370
3646 3659 #: assets/admin.js
3647 3660 msgid "Full report"
3648 3661 msgstr ""
3649 3662
@@ -3667,10 +3680,10 @@
3667 3680 #: assets/admin.js
3668 3681 msgid "good"
3669 3682 msgstr ""
3670 3683
3671 -#. Source: src/components/score/ScanCard.tsx:261
3672 -#. Source: src/components/score/ScanCard.tsx:302
3684 +#. Source: src/components/score/ScanCard.tsx:273
3685 +#. Source: src/components/score/ScanCard.tsx:314
3673 3686 #: assets/admin.js
3674 3687 msgid "Grade"
3675 3688 msgstr ""
3676 3689
@@ -3841,9 +3854,9 @@
3841 3854 #: assets/admin.js
3842 3855 msgid "Lighthouse performance, from your latest xSpeed Scan."
3843 3856 msgstr ""
3844 3857
3845 -#. Source: src/components/score/ScanCard.tsx:284
3858 +#. Source: src/components/score/ScanCard.tsx:296
3846 3859 #: assets/admin.js
3847 3860 msgid "Lighthouse performance, out of 100"
3848 3861 msgstr ""
3849 3862
@@ -3926,15 +3939,15 @@
3926 3939 msgid "Minify, compress, lazy-load, fonts and hints."
3927 3940 msgstr ""
3928 3941
3929 3942 #. Source: src/components/overview/ScoreCard.tsx:185
3930 -#. Source: src/components/score/ScanCard.tsx:294
3943 +#. Source: src/components/score/ScanCard.tsx:306
3931 3944 #: assets/admin.js
3932 3945 msgid "mobile"
3933 3946 msgstr ""
3934 3947
3935 3948 #. Source: src/components/overview/ScoreCard.tsx:91
3936 -#. Source: src/components/score/ScanCard.tsx:281
3949 +#. Source: src/components/score/ScanCard.tsx:293
3937 3950 #: assets/admin.js
3938 3951 msgid "Mobile"
3939 3952 msgstr ""
3940 3953
@@ -4231,9 +4244,9 @@
4231 4244 #: assets/admin.js
4232 4245 msgid "PageSpeed & Core Web Vitals"
4233 4246 msgstr ""
4234 4247
4235 -#. Source: src/components/score/ScanCard.tsx:314
4248 +#. Source: src/components/score/ScanCard.tsx:326
4236 4249 #: assets/admin.js
4237 4250 msgid "Partial scan — some checks could not run, so the score covers less than the full rubric."
4238 4251 msgstr ""
4239 4252
@@ -4289,8 +4302,13 @@
4289 4302 #: assets/admin.js
4290 4303 msgid "Pick two runs to compare them."
4291 4304 msgstr ""
4292 4305
4306 +#. Source: src/components/score/ScanCard.tsx:86
4307 +#: assets/admin.js
4308 +msgid "Platform"
4309 +msgstr ""
4310 +
4293 4311 #. Source: src/components/cache/StatDrilldown.tsx:277
4294 4312 #: assets/admin.js
4295 4313 msgid "Precompressed copies on disk:"
4296 4314 msgstr ""
@@ -4388,10 +4406,15 @@
4388 4406 #: assets/admin.js
4389 4407 msgid "Profile JSON to import"
4390 4408 msgstr ""
4391 4409
4392 -#. Source: src/components/score/ScanCard.tsx:95
4410 +#. Source: src/components/score/ScorePanel.tsx:727
4393 4411 #: assets/admin.js
4412 +msgid "Provider"
4413 +msgstr ""
4414 +
4415 +#. Source: src/components/score/ScanCard.tsx:107
4416 +#: assets/admin.js
4394 4417 msgid "pts"
4395 4418 msgstr ""
4396 4419
4397 4420 #. Source: src/components/CommandPalette.tsx:58
@@ -4425,9 +4448,9 @@
4425 4448 #: assets/admin.js
4426 4449 msgid "Purge, benchmark, preload and tune settings by asking your AI"
4427 4450 msgstr ""
4428 4451
4429 -#. Source: src/components/score/ScanCard.tsx:329
4452 +#. Source: src/components/score/ScanCard.tsx:341
4430 4453 #: assets/admin.js
4431 4454 msgid "ranked by points recovered"
4432 4455 msgstr ""
4433 4456
@@ -4549,9 +4572,9 @@
4549 4572 msgid "Run a GTmetrix test on this site"
4550 4573 msgstr ""
4551 4574
4552 4575 #. Source: src/components/overview/ScoreCard.tsx:295
4553 -#. Source: src/components/score/ScanCard.tsx:197
4576 +#. Source: src/components/score/ScanCard.tsx:209
4554 4577 #: assets/admin.js
4555 4578 msgid "Run a scan"
4556 4579 msgstr ""
4557 4580
@@ -4619,14 +4642,14 @@
4619 4642 #: assets/admin.js
4620 4643 msgid "Saving changes…"
4621 4644 msgstr ""
4622 4645
4623 -#. Source: src/components/score/ScanCard.tsx:197
4646 +#. Source: src/components/score/ScanCard.tsx:209
4624 4647 #: assets/admin.js
4625 4648 msgid "Scan again"
4626 4649 msgstr ""
4627 4650
4628 -#. Source: src/components/score/ScanCard.tsx:197
4651 +#. Source: src/components/score/ScanCard.tsx:209
4629 4652 #: assets/admin.js
4630 4653 msgid "Scanning…"
4631 4654 msgstr ""
4632 4655
@@ -4682,8 +4705,13 @@
4682 4705 #: assets/admin.js
4683 4706 msgid "served without PHP"
4684 4707 msgstr ""
4685 4708
4709 +#. Source: src/components/score/ScanCard.tsx:82
4710 +#: assets/admin.js
4711 +msgid "Server & caching"
4712 +msgstr ""
4713 +
4686 4714 #. Source: src/components/RewriteAlert.tsx:106
4687 4715 #: assets/admin.js
4688 4716 msgid "Server config missing — cache running on PHP fallback"
4689 4717 msgstr ""
@@ -4843,9 +4871,9 @@
4843 4871 #: assets/admin.js
4844 4872 msgid "This credential is defined in wp-config.php and cannot be changed here."
4845 4873 msgstr ""
4846 4874
4847 -#. Source: src/components/score/ScanCard.tsx:222
4875 +#. Source: src/components/score/ScanCard.tsx:234
4848 4876 #: assets/admin.js
4849 4877 msgid "This report will be publicly visible at xspeedcache.com, listed under your domain. Connect xSpeed Hub to keep your reports unlisted."
4850 4878 msgstr ""
4851 4879
@@ -4970,9 +4998,9 @@
4970 4998 #: assets/admin.js
4971 4999 msgid "What this adds"
4972 5000 msgstr ""
4973 5001
4974 -#. Source: src/components/score/ScanCard.tsx:327
5002 +#. Source: src/components/score/ScanCard.tsx:339
4975 5003 #: assets/admin.js
4976 5004 msgid "What to fix next"
4977 5005 msgstr ""
4978 5006
@@ -5047,17 +5075,17 @@
5047 5075 #: assets/admin.js
5048 5076 msgid "xSpeed Pro is installed — activate your license to unlock this module and every other Pro feature."
5049 5077 msgstr ""
5050 5078
5051 -#. Source: src/components/score/ScanCard.tsx:173
5052 -#. Source: src/components/score/ScanCard.tsx:183
5053 -#. Source: src/components/score/ScanCard.tsx:304
5079 +#. Source: src/components/score/ScanCard.tsx:185
5080 +#. Source: src/components/score/ScanCard.tsx:195
5081 +#. Source: src/components/score/ScanCard.tsx:316
5054 5082 #. Source: src/components/score/ScorePanel.tsx:426
5055 5083 #: assets/admin.js
5056 5084 msgid "xSpeed Scan"
5057 5085 msgstr ""
5058 5086
5059 -#. Source: src/components/score/ScanCard.tsx:264
5087 +#. Source: src/components/score/ScanCard.tsx:276
5060 5088 #: assets/admin.js
5061 5089 msgid "xSpeed Scan, out of 100"
5062 5090 msgstr ""
5063 5091