WordPress.WP.I18n.TextDomainMismatch
Text Domain Mismatch
A translation or text-domain pattern does not match WordPress internationalization expectations.
Why It Shows Up
Plugin Check found missing text domains, mismatched domains, missing translator comments, variable-only strings, placeholder issues, or deprecated translation loading patterns.
Why It Matters
Translation issues make the plugin harder to localize and can break strings for non-English WordPress users.
How to Fix
- Use the plugin slug as the text domain unless the plugin intentionally declares a different one.
- Keep translatable strings literal and move variables into placeholders.
- Add translator comments before strings with placeholders or ambiguous context.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #1351 | Pastacode | 33 | 77 | 66 | 400 | Non-prefixed global variable | ||
| #1352 | Payflex Payment Gateway | 33 | 181 | 61 | 1k+ | Text Domain Mismatch | ||
| #1353 | Payoneer Checkout | 33 | 168 | 45 | 5k+ | Exception output is not escaped | ||
| #1354 | PeproDev WooCommerce Receipt Uploader | 33 | 325 | 49 | 1k+ | Non Singular String Literal Domain | ||
| #1355 | پینوا | Pinova | 33 | 171 | 75 | 500 | Output is not escaped | ||
| #1356 | Podcast Subscribe Buttons | 33 | 552 | 39 | 5k+ | Text Domain Mismatch | ||
| #1357 | Quick Restaurant Reservations | 33 | 654 | 179 | 500 | Text Domain Mismatch | ||
| #1358 | Rename wp-login.php to anything you want | 33 | 251 | 117 | 500 | Output is not escaped | ||
| #1359 | Review Slider for WooCommerce | 33 | 160 | 422 | 400 | Non-prefixed global variable | ||
| #1360 | Reviews Plus | 33 | 223 | 378 | 1k+ | Non-prefixed function | ||
| #1361 | Live Sales Notification (Recent Sales Popups) | 33 | 114 | 120 | 400 | SQL query is not prepared | ||
| #1362 | Schema & Structured Data for WP & AMP | 33 | 63 | 246 | 100k+ | Non-prefixed global variable | ||
| #1363 | Service Box – Icon Box Showcase | 33 | 385 | 230 | 3k+ | Non Singular String Literal Domain | ||
| #1364 | ShopPress – Shop Builder for Elementor and WooCommerce | 33 | 11 | 879 | 500 | Non-prefixed global variable | ||
| #1365 | Slider Path for Elementor | 33 | 329 | 100 | 700 | Text Domain Mismatch | ||
| #1366 | Spiffy Calendar | 33 | 473 | 243 | 3k+ | Output is not escaped | ||
| #1367 | Split Test For Elementor | 33 | 98 | 134 | 3k+ | Non-prefixed global variable | ||
| #1368 | Simple Sticky Add To Cart For WooCommerce | 33 | 401 | 70 | 900 | Text Domain Mismatch | ||
| #1369 | Gravity Booster – Styles & Layouts for Gravity Forms | 33 | 277 | 87 | 40k+ | Missing Arg Domain | ||
| #1370 | Testimonial Slider – Free Testimonials Slider Plugin | 33 | 91 | 50 | 700 | Request data is not unslashed | ||
| #1371 | Envato Toolkit | 33 | 219 | 69 | 5k+ | Output is not escaped | ||
| #1372 | TrackingMore Order Tracking for WooCommerce (Free plan available) | 33 | 94 | 124 | 700 | Text Domain Mismatch | ||
| #1373 | WP Twitter Auto Publish | 33 | 442 | 171 | 4k+ | Output is not escaped | ||
| #1374 | Display Posts As List, Grid, Thumbs | 33 | 442 | 241 | 900 | Output is not escaped | ||
| #1375 | Variation Swatches for WooCommerce | 33 | 469 | 116 | 50k+ | Text Domain Mismatch | ||
| #1376 | Webmention | 33 | 64 | 89 | 900 | Output is not escaped | ||
| #1377 | Rich Showcase for Google Reviews | 33 | 212 | 278 | 100k+ | Output is not escaped | ||
| #1378 | Wonder Slider Lite | 33 | 273 | 187 | 8k+ | Output is not escaped | ||
| #1379 | Product Addons for Woocommerce – Product Options with Custom Fields | 33 | 124 | 114 | 30k+ | Output is not escaped | ||
| #1380 | Min Max Control – Min Max Quantity & Step Control for WooCommerce | 33 | 96 | 215 | 10k+ | Non-prefixed global variable | ||
| #1381 | Hyyan WooCommerce Polylang Integration | 33 | 141 | 220 | 8k+ | Nonce verification recommended | ||
| #1382 | Pay. Payment Methods for WooCommerce | 33 | 318 | 104 | 3k+ | Non Singular String Literal Domain | ||
| #1383 | PDF Invoices Italian Add-on for WooCommerce | 33 | 325 | 200 | 5k+ | Non Singular String Literal Domain | ||
| #1384 | WP Edit | 33 | 337 | 137 | 40k+ | Unsafe printing function | ||
| #1385 | WP EXtra – One Click Optimize | 33 | 414 | 101 | 7k+ | Missing Arg Domain | ||
| #1386 | Connector for Gravity Forms and Google Sheets | 33 | 692 | 155 | 3k+ | Text Domain Mismatch | ||
| #1387 | EasyMedia – Increase Media Upload File Size | Role-Based Upload Limit | Increase Execution Time | 33 | 82 | 138 | 70k+ | Non-prefixed global variable | ||
| #1388 | WP Multilang – Translation and Multilingual Plugin | 33 | 53 | 118 | 10k+ | Database parameter is not escaped | ||
| #1389 | WP MyLinks | 33 | 354 | 206 | 1k+ | Text Domain Mismatch | ||
| #1390 | Editor Blocks by Download Manager | 33 | 174 | 102 | 5k+ | Output is not escaped | ||
| #1391 | WPoperation Elementor Addons | 33 | 891 | 52 | 1k+ | Text Domain Mismatch | ||
| #1392 | Video Gallery – YouTube Playlist, Channel Gallery by YotuWP | 33 | 278 | 101 | 20k+ | Missing Arg Domain | ||
| #1393 | Zita Site Library for Elementor | 33 | 107 | 135 | 1k+ | Text Domain Mismatch | ||
| #1394 | AFS Analytics | 34 | 194 | 98 | 600 | Text Domain Mismatch | ||
| #1395 | Advanced Custom Fields: reCAPTCHA Field | 34 | 104 | 53 | 800 | Text Domain Mismatch | ||
| #1396 | Advanced Shipping Validation for WooCommerce | 34 | 331 | 127 | 400 | Text Domain Mismatch | ||
| #1397 | Advanced Twenty Seventeen | 34 | 247 | 98 | 3k+ | Text Domain Mismatch | ||
| #1398 | Arconix Shortcodes | 34 | 129 | 108 | 4k+ | Output is not escaped | ||
| #1399 | Assistant – Every Day Productivity Apps | 34 | 124 | 97 | 4k+ | Exception output is not escaped | ||
| #1400 | AyeCode Connect | 34 | 178 | 253 | 10k+ | Nonce verification recommended |