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 | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #551 | Mascaras CF7 | 39 | 54 | 16 | 1k+ | Text Domain Mismatch | ||
| #552 | Multilingual Contact Form 7 with Polylang | 39 | 50 | 30 | 9k+ | Text Domain Mismatch | ||
| #553 | payever – WooCommerce Gateway | 39 | 263 | 131 | 700 | Text Domain Mismatch | ||
| #554 | Paystack Add-On for Gravity Forms | 39 | 96 | 31 | 400 | Text Domain Mismatch | ||
| #555 | Quantcast Choice | 39 | 227 | 11 | 3k+ | Text Domain Mismatch | ||
| #556 | rapidmail: Newsletter & E-Mail Marketing for WooCommerce | 39 | 76 | 43 | 400 | Text Domain Mismatch | ||
| #557 | Royal Mail Shipping Calculator for WooCommerce | 39 | 61 | 31 | 1k+ | Text Domain Mismatch | ||
| #558 | SEO Auto Linker | 39 | 90 | 24 | 1k+ | Text Domain Mismatch | ||
| #559 | Shipping by Rules for WooCommerce | 39 | 130 | 48 | 500 | Output is not escaped | ||
| #560 | Shipping Simulator for WooCommerce | 39 | 120 | 39 | 5k+ | Text Domain Mismatch | ||
| #561 | Solid Post Likes | 39 | 96 | 52 | 500 | Text Domain Mismatch | ||
| #562 | Soumettre.fr | 39 | 130 | 26 | 10k+ | Text Domain Mismatch | ||
| #563 | Swifty Image Widget | 39 | 114 | 28 | 900 | Output is not escaped | ||
| #564 | Ultimate Client Dash | 39 | 697 | 12 | 2k+ | Text Domain Mismatch | ||
| #565 | Chatbox Manager | 39 | 848 | 78 | 400 | Output is not escaped | ||
| #566 | AccessibleWP – ALT Detector | 40 | 55 | 14 | 500 | Text Domain Mismatch | ||
| #567 | Advanced Custom Fields: Font Awesome Field | 40 | 327 | 70 | 90k+ | Text Domain Mismatch | ||
| #568 | Advanced WPLink | 40 | 67 | 19 | 1k+ | Text Domain Mismatch | ||
| #569 | AgreeMe Checkboxes For WooCommerce | 40 | 88 | 44 | 600 | Text Domain Mismatch | ||
| #570 | amCharts: Charts and Maps | 40 | 263 | 113 | 2k+ | Text Domain Mismatch | ||
| #571 | Analytics Cat – Google Analytics Made Easy | 40 | 83 | 27 | 6k+ | Text Domain Mismatch | ||
| #572 | AutoConvert Greeklish Permalinks | 40 | 116 | 13 | 30k+ | Text Domain Mismatch | ||
| #573 | Basic Interactive World Map | 40 | 94 | 54 | 1k+ | Text Domain Mismatch | ||
| #574 | Buy one Get one Free – BOGO discount rule maker for WooCommerce | 40 | 119 | 57 | 500 | Text Domain Mismatch | ||
| #575 | Coming soon Page | 40 | 24 | 18 | 500 | Text Domain Mismatch | ||
| #576 | Categories Metabox Enhanced | 40 | 77 | 36 | 1k+ | Output is not escaped | ||
| #577 | Contact form 7 TO API + Basic Auth | 40 | 73 | 30 | 1k+ | Non Singular String Literal Domain | ||
| #578 | Contact Form 7 to Mailjet | 40 | 70 | 39 | 600 | Output is not escaped | ||
| #579 | Contact Form 7 GetResponse Extension | 40 | 88 | 18 | 1k+ | Text Domain Mismatch | ||
| #580 | Interactive US Map | 40 | 136 | 54 | 400 | Text Domain Mismatch | ||
| #581 | Quotes Addon for GetPaid | 40 | 191 | 21 | 700 | Text Domain Mismatch | ||
| #582 | Manual Image Crop | 40 | 178 | 61 | 8k+ | Output is not escaped | ||
| #583 | No CAPTCHA reCAPTCHA | 40 | 112 | 26 | 4k+ | Text Domain Mismatch | ||
| #584 | Page As Subdomain Lite | 40 | 61 | 25 | 500 | Output is not escaped | ||
| #585 | Give – Paystack Gateway | 40 | 96 | 10 | 1k+ | Text Domain Mismatch | ||
| #586 | Plugin Load Filter | 40 | 76 | 112 | 7k+ | Text Domain Mismatch | ||
| #587 | Popup addon for Ninja Forms | 40 | 121 | 25 | 1k+ | Output is not escaped | ||
| #588 | Requirements Checklist | 40 | 200 | 22 | 900 | Output is not escaped | ||
| #589 | Select All Categories and Taxonomies, Change Checkbox to Radio Buttons | 40 | 116 | 30 | 3k+ | Output is not escaped | ||
| #590 | Theme and plugin translation for Polylang (TTfP) | 40 | 102 | 62 | 10k+ | Text Domain Mismatch | ||
| #591 | UsersWP – ReCaptcha | 40 | 80 | 17 | 3k+ | Text Domain Mismatch | ||
| #592 | WooBooster Partial COD for WooCommerce | 40 | 90 | 51 | 500 | Text Domain Mismatch | ||
| #593 | Weight Based Pricing for WooCommerce | 40 | 167 | 86 | 600 | Text Domain Mismatch | ||
| #594 | Widget Visibility Without Jetpack | 40 | 74 | 47 | 5k+ | Text Domain Mismatch | ||
| #595 | Custom CSS/JS | 40 | 58 | 34 | 800 | Text Domain Mismatch | ||
| #596 | WP Date and Time Shortcode | 40 | 90 | 12 | 10k+ | Output is not escaped | ||
| #597 | WP Theme Test | 40 | 21 | 39 | 7k+ | Input is not sanitized | ||
| #598 | ACF: Google Map Extended | 41 | 141 | 8 | 800 | Text Domain Mismatch | ||
| #599 | AH Display Widgets | 41 | 52 | 16 | 9k+ | Text Domain Mismatch | ||
| #600 | Schema – All In One Schema Rich Snippets | 41 | 598 | 180 | 30k+ | Text Domain Mismatch |