textdomain_mismatch
textdomain 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 | Updated | Top Issue |
|---|---|---|---|---|---|---|---|
| #351 | Styler for Gravity Forms | 41 | 369 | 2 | 2k+ | Text Domain Mismatch | |
| #352 | Spam Protect for Contact Form 7 | 41 | 16 | 61 | 10k+ | Missing Unslash | |
| #353 | Pledged Plugins PCI Gateway for NMI and WooCommerce | 41 | 160 | 42 | 3k+ | Text Domain Mismatch | |
| #354 | Add to Cart Button Custom Text | 42 | 98 | 4 | 10k+ | Text Domain Mismatch | |
| #355 | Disable Recaptcha – CF7 | 42 | 73 | 5 | 2k+ | Output Not Escaped | |
| #356 | Flexible Editor Panel for Elementor | 42 | 154 | 42 | 20k+ | Text Domain Mismatch | |
| #357 | OnPay.io for WooCommerce | 42 | 238 | 37 | 2k+ | Text Domain Mismatch | |
| #358 | Eventin – Event Calendar, Event Registration, Tickets & Booking (AI Powered) | 42 | 2,583 | 1,823 | 10k+ | Text Domain Mismatch | |
| #359 | WP Mail Log | 42 | 42 | 29 | 10k+ | Text Domain Mismatch | |
| #360 | Advanced TinyMCE Configuration | 43 | 99 | 8 | 10k+ | Text Domain Mismatch | |
| #361 | AdWords Conversion Tracking Code | 43 | 26 | 25 | 1k+ | Non Singular String Literal Domain | |
| #362 | Post Carousel Slider for Elementor | 43 | 133 | 23 | 3k+ | Text Domain Mismatch | |
| #363 | reCAPTCHA for MW WP Form | 43 | 37 | 14 | 30k+ | Non Singular String Literal Domain | |
| #364 | Sinbyte Indexer | 43 | 61 | 19 | 2k+ | Text Domain Mismatch | |
| #365 | WP SmartCrop | 43 | 43 | 12 | 4k+ | Output Not Escaped | |
| #366 | Button visually impaired | 44 | 145 | 5 | 10k+ | Text Domain Mismatch | |
| #367 | ELEX WooCommerce Role Based Pricing | 44 | 213 | 196 | 2k+ | Non Prefixed Variable Found | |
| #368 | Minimum Order Amount for Woocommerce | 44 | 50 | 16 | 2k+ | Text Domain Mismatch | |
| #369 | SmartVideo – Video Player and CDN | 44 | 295 | 44 | 1k+ | Text Domain Mismatch | |
| #370 | Icons Font Loader – Load Web Fonts and Icon Libraries | 45 | 47 | 33 | 2k+ | Text Domain Mismatch | |
| #371 | wpDataTables integration for Forminator Forms | 45 | 62 | 38 | 1k+ | Text Domain Mismatch | |
| #372 | Material Design Icons for Page Builders | 46 | 69 | 46 | 20k+ | missing direct file access protection | |
| #373 | Cashfree for WooCommerce | 47 | 21 | 21 | 8k+ | Recommended | |
| #374 | Add Polylang support for Customizer | 48 | 18 | 20 | 2k+ | Recommended | |
| #375 | AnWP Post Grid and Post Carousel Slider for Elementor | 48 | 758 | 171 | 20k+ | Text Domain Mismatch | |
| #376 | JW Player for WordPress | 48 | 289 | 80 | 1k+ | Text Domain Mismatch | |
| #377 | WP Remote Users Sync | 48 | 355 | 117 | 6k+ | Text Domain Mismatch | |
| #378 | Drag and Drop Multiple File Upload for WooCommerce | 49 | 114 | 29 | 5k+ | Text Domain Mismatch | |
| #379 | OneClick Chat to Order | 49 | 677 | 41 | 40k+ | Text Domain Mismatch | |
| #380 | SKT Themes Demo Import | 49 | 218 | 104 | 4k+ | Text Domain Mismatch | |
| #381 | WP Swiper | 49 | 67 | 28 | 5k+ | Text Domain Mismatch | |
| #382 | Advanced Custom Fields – Taxonomy Field add-on | 50 | 57 | 4 | 1k+ | Non Singular String Literal Domain | |
| #383 | HT Slider For Elementor | 50 | 884 | 40 | 20k+ | Text Domain Mismatch | |
| #384 | Product Open Pricing (Name Your Price) for WooCommerce | 50 | 105 | 37 | 6k+ | Text Domain Mismatch | |
| #385 | WP SVG Images | 50 | 58 | 12 | 30k+ | Text Domain Mismatch | |
| #386 | Adjust Admin Categories | 51 | 30 | 12 | 10k+ | Output Not Escaped | |
| #387 | Aspexi Social Media Slider | 51 | 177 | 15 | 2k+ | Text Domain Mismatch | |
| #388 | Bootstrap Modals | 51 | 43 | 8 | 1k+ | Output Not Escaped | |
| #389 | Gravity Forms No CAPTCHA reCAPTCHA | 51 | 30 | 17 | 10k+ | Text Domain Mismatch | |
| #390 | OnSale Page for WooCommerce | 51 | 30 | 44 | 2k+ | Text Domain Mismatch | |
| #391 | Add to Cart Custom Redirect for WooCommerce | 52 | 33 | 13 | 2k+ | Text Domain Mismatch | |
| #392 | Connect Contact Form 7 and Mailchimp | 53 | 236 | 52 | 40k+ | Text Domain Mismatch | |
| #393 | Skroutz Analytics for WooCommerce | 53 | 57 | 15 | 1k+ | Text Domain Mismatch | |
| #394 | Boostify Header Footer Builder for Elementor | 54 | 419 | 55 | 7k+ | Text Domain Mismatch | |
| #395 | Disqus Comment System | 54 | 17 | 33 | 40k+ | Non Prefixed Hookname Found | |
| #396 | Juiz Lang Attribute | 54 | 26 | 27 | 1k+ | Text Domain Mismatch | |
| #397 | Quick and Easy Testimonials | 54 | 63 | 32 | 3k+ | Non Singular String Literal Domain | |
| #398 | Quick Buy Now Button for WooCommerce | 54 | 136 | 25 | 40k+ | Text Domain Mismatch | |
| #399 | Admin Bar User Switching | 55 | 16 | 31 | 2k+ | Input Not Validated | |
| #400 | Custom Upload Dir | 55 | 63 | 7 | 5k+ | Missing Arg Domain |