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 |
|---|---|---|---|---|---|---|---|---|
| #3201 | Disable Title | 72 | 20 | 15 | 2k+ | Text Domain Mismatch | ||
| #3202 | Display your Checkatrade | 72 | 19 | 3 | 400 | Output is not escaped | ||
| #3203 | MemcacheD Is Your Friend | 72 | 23 | 33 | 1k+ | Non-prefixed function | ||
| #3204 | Non-Purchasable WooCommerce Products | 72 | 14 | 13 | 1k+ | Input is not validated | ||
| #3205 | Property Hive Stamp Duty Calculator | 72 | 39 | 2 | 800 | Text Domain Mismatch | ||
| #3206 | Responsive Blocks – Page Builder for Blocks & Patterns | 72 | 47 | 43 | 3k+ | badly named files | ||
| #3207 | Advanced Datepicker – Restricts Date for Contact Form 7 | 72 | 228 | 11 | 400 | wp function not compatible with requires wp | ||
| #3208 | Social Media Icons Widget | 72 | 181 | 10 | 1k+ | badly named files | ||
| #3209 | Tabs Widget for Page Builder | 72 | 22 | 7 | 3k+ | Text Domain Mismatch | ||
| #3210 | Starter Templates & Sites Pack by ThemeGrill | 72 | 28 | 51 | 70k+ | Non-prefixed hook name | ||
| #3211 | Video Backgrounds for SiteOrigin Page Builder | 72 | 55 | 5 | 2k+ | Text Domain Mismatch | ||
| #3212 | Place Order Without Payment for WooCommerce | 72 | 244 | 62 | 3k+ | Text Domain Mismatch | ||
| #3213 | Direct Checkout for WooCommerce | 72 | 77 | 35 | 80k+ | Text Domain Mismatch | ||
| #3214 | Advanced Custom Fields – Widget Relationship Field add-on | 73 | 18 | 7 | 500 | Output is not escaped | ||
| #3215 | AffiliateWP – Allowed Products | 73 | 47 | 19 | 1k+ | Text Domain Mismatch | ||
| #3216 | Albacross for WordPress | 73 | 18 | 5 | 1k+ | Text Domain Mismatch | ||
| #3217 | AADMY – Add Auto Date Month Year Into Posts | 73 | 30 | 32 | 400 | Non-prefixed function | ||
| #3218 | Bestfreebie Elementor Icons | 73 | 27 | 13 | 400 | Text Domain Mismatch | ||
| #3219 | BuddyPress Activity Shortcode | 73 | 9 | 14 | 2k+ | Non-prefixed hook name | ||
| #3220 | Clone Woo Orders – Free by WP Masters | 73 | 13 | 8 | 900 | Output is not escaped | ||
| #3221 | Contact Form to Brevo | 73 | 67 | 11 | 1k+ | Text Domain Mismatch | ||
| #3222 | Contact Form7: Autocomplete | 73 | 27 | 8 | 500 | Text Domain Mismatch | ||
| #3223 | Freetobook Responsive Widget | 73 | 5 | 14 | 500 | Input is not sanitized | ||
| #3224 | Gravity Fieldset for Gravity Forms | 73 | 14 | 1 | 900 | Output is not escaped | ||
| #3225 | International Phone Number Format | 73 | 51 | 20 | 400 | Text Domain Mismatch | ||
| #3226 | jQuery Lightbox For Native Galleries | 73 | 26 | 7 | 4k+ | Text Domain Mismatch | ||
| #3227 | Multifile Upload Field for Contact Form 7 | 73 | 41 | 7 | 5k+ | Text Domain Mismatch | ||
| #3228 | Osom Modal Login | 73 | 40 | 12 | 400 | Text Domain Mismatch | ||
| #3229 | PDF viewer for Elementor & Gutenberg | 73 | 14 | 12 | 10k+ | Nonce verification recommended | ||
| #3230 | POKY – Product Importer | 73 | 6 | 12 | 700 | Input is not validated | ||
| #3231 | Product Bundles – Bulk Discounts | 73 | 31 | 7 | 600 | Text Domain Mismatch | ||
| #3232 | Server-Side Cache AutoPurge | 73 | 16 | 17 | 10k+ | Text Domain Mismatch | ||
| #3233 | Comment Edit Core – Simple Comment Editing | 73 | 27 | 85 | 2k+ | Non-prefixed hook name | ||
| #3234 | Timeline Express – No Icons Add-On | 73 | 10 | 9 | 700 | Output is not escaped | ||
| #3235 | Under Construction Light | 73 | 13 | 8 | 1k+ | Text Domain Mismatch | ||
| #3236 | Advanced Custom Fields: Accordion Tab Field | 74 | 14 | 11 | 800 | Missing Version | ||
| #3237 | Advanced Custom Fields: Archive Templates | 74 | 11 | 7 | 800 | Output is not escaped | ||
| #3238 | ACF Columns | 74 | 47 | 4 | 4k+ | Text Domain Mismatch | ||
| #3239 | Advanced Custom Fields: Widget Area Field | 74 | 29 | 4 | 400 | Text Domain Mismatch | ||
| #3240 | AffiliateWP – Sign Up Bonus | 74 | 46 | 13 | 400 | Text Domain Mismatch | ||
| #3241 | Append Link on Copy | 74 | 23 | 5 | 800 | Output is not escaped | ||
| #3242 | Bangla Date Display | 74 | 44 | 7 | 4k+ | Text Domain Mismatch | ||
| #3243 | BlogLentor – Blog Designer Pack for Elementor | 74 | 743 | 29 | 5k+ | Text Domain Mismatch | ||
| #3244 | BP xProfile Location | 74 | 7 | 24 | 600 | Missing nonce verification | ||
| #3245 | Buy Now Button for WooCommerce | 74 | 9 | 11 | 2k+ | Nonce verification recommended | ||
| #3246 | Calculation For Contact Form 7 | 74 | 21 | 5 | 1k+ | Text Domain Mismatch | ||
| #3247 | Cálculo do frete somente com o CEP – WC Brasil | 74 | 13 | 24 | 1k+ | Non-prefixed function | ||
| #3248 | CoinGate for WooCommerce | 74 | 35 | 18 | 400 | Text Domain Mismatch | ||
| #3249 | Dynamic Conditions | 74 | 42 | 3 | 60k+ | Missing Arg Domain | ||
| #3250 | ELEX WooCommerce USPS Shipping Method | 74 | 139 | 45 | 900 | Text Domain Mismatch |