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 |
|---|---|---|---|---|---|---|---|---|
| #3301 | ABC Crypto Checkout | 76 | 42 | 14 | 1k+ | Text Domain Mismatch | ||
| #3302 | Preload Images | 76 | 8 | 6 | 1k+ | Output is not escaped | ||
| #3303 | Category Order and Taxonomy Terms Order | 76 | 35 | 10 | 500k+ | wp function not compatible with requires wp | ||
| #3304 | Telephone Input For Contact Form 7 | 76 | 18 | 10 | 600 | Text Domain Mismatch | ||
| #3305 | Pelecard Gateway | 76 | 295 | 54 | 400 | Text Domain Mismatch | ||
| #3306 | Social Share For WooCommerce | 76 | 85 | 23 | 500 | Text Domain Mismatch | ||
| #3307 | Loyalty Points Rewards and Referral for WooCommerce – WPLoyalty | 76 | 2,207 | 760 | 3k+ | Text Domain Mismatch | ||
| #3308 | ACF Galerie 4 | 77 | 16 | 23 | 2k+ | Text Domain Mismatch | ||
| #3309 | AffiliateWP – External Referral Links | 77 | 30 | 11 | 800 | Text Domain Mismatch | ||
| #3310 | Backup/Restore Divi Theme Options | 77 | 8 | 8 | 700 | Input is not validated | ||
| #3311 | Before After Image Comparison – Visual Comparison for Two Images | 77 | 18 | 16 | 3k+ | Text Domain Mismatch | ||
| #3312 | Better Search – Relevant search results for WordPress | 77 | 18 | 117 | 5k+ | Dynamic hook name | ||
| #3313 | Variation Price Display For WooCommerce | 77 | 87 | 16 | 900 | Text Domain Mismatch | ||
| #3314 | easypay Gateway Checkout for WooCommerce | 77 | 6 | 42 | 600 | Nonce verification recommended | ||
| #3315 | Ceylon Extra | 77 | 89 | 41 | 500 | Text Domain Mismatch | ||
| #3316 | ELEX Hide WooCommerce Shipping Methods | 77 | 83 | 54 | 1k+ | Text Domain Mismatch | ||
| #3317 | eSewa – Nepal First Payment Gateway | 77 | 48 | 9 | 600 | Text Domain Mismatch | ||
| #3318 | Modern Footnotes | 77 | 18 | 6 | 6k+ | Output is not escaped | ||
| #3319 | Pushover Integration for WooCommerce | 77 | 107 | 7 | 800 | Text Domain Mismatch | ||
| #3320 | Remove Taxonomy Slug | 77 | 23 | 2 | 400 | Output is not escaped | ||
| #3321 | Responsive Tabs For Elementor | 77 | 57 | 27 | 1k+ | Text Domain Mismatch | ||
| #3322 | Scroll Magic Addon for Elementor | 77 | 344 | 7 | 400 | Text Domain Mismatch | ||
| #3323 | Self-Hosted Google Fonts | 77 | 35 | 11 | 30k+ | Text Domain Mismatch | ||
| #3324 | Shipping Zone Duplicator for WooCommerce | 77 | 10 | 14 | 800 | Nonce verification recommended | ||
| #3325 | Display custom fields in the frontend – Post and User Profile Fields | 77 | 17 | 18 | 600 | Non-prefixed global variable | ||
| #3326 | Supreme Google Webfonts | 77 | 12 | 7 | 1k+ | Text Domain Mismatch | ||
| #3327 | SureRank SEO – Smart Assistant with Meta Tags, Social Preview, XML Sitemap, and Schema | 77 | 58 | 95 | 300k+ | Non-prefixed hook name | ||
| #3328 | Template Kit – Import | 77 | 41 | 60 | 400k+ | Non-prefixed global variable | ||
| #3329 | Album Photostream Flickr Gallery | 77 | 30 | 31 | 1k+ | Text Domain Mismatch | ||
| #3330 | WPA WooCommerce Product Gallery Slider Lite | 77 | 66 | 52 | 400 | Text Domain Mismatch | ||
| #3331 | Advanced Custom Fields: Gravity Forms Add-on | 78 | 33 | 13 | 30k+ | Text Domain Mismatch | ||
| #3332 | Active Campaign & WPForms | 78 | 27 | 10 | 400 | Text Domain Mismatch | ||
| #3333 | ELEX WooCommerce Address Validation & Google Address Autocomplete Plugin | 78 | 73 | 40 | 700 | Missing Arg Domain | ||
| #3334 | AffiliateWP – Affiliate QR Codes | 78 | 32 | 8 | 1k+ | Text Domain Mismatch | ||
| #3335 | AffiliateWP – Allow Own Referrals | 78 | 37 | 10 | 500 | Text Domain Mismatch | ||
| #3336 | Biteship Shipping | 78 | 25 | 16 | 500 | wp function not compatible with requires wp | ||
| #3337 | Bookvault | 78 | 13 | 10 | 700 | Nonce verification recommended | ||
| #3338 | Code Block Syntax Highlighter for Elementor | 78 | 344 | 3 | 600 | Non Singular String Literal Domain | ||
| #3339 | Player for SoundCloud – Embed and Play Audio Tracks | 78 | 17 | 24 | 1k+ | Text Domain Mismatch | ||
| #3340 | Frontend Product Editor for WooCommerce | 78 | 76 | 31 | 400 | Text Domain Mismatch | ||
| #3341 | More Mails for CF7 | 78 | 13 | 6 | 500 | Text Domain Mismatch | ||
| #3342 | Uptime Monitoring for WordPress – My Website is Online | 78 | 18 | 7 | 500 | Text Domain Mismatch | ||
| #3343 | Post slider elementor addons | 78 | 168 | 13 | 2k+ | Text Domain Mismatch | ||
| #3344 | QuadMenu – Divi Mega Menu | 78 | 17 | 2 | 1k+ | Text Domain Mismatch | ||
| #3345 | Yandex Mail SMTP Server for WordPress | 78 | 16 | 5 | 2k+ | Text Domain Mismatch | ||
| #3346 | Spider Blocker | 78 | 19 | 9 | 20k+ | Missing Translators Comment | ||
| #3347 | Tuxedo Responsive Widget Columns | 78 | 19 | 3 | 400 | Output is not escaped | ||
| #3348 | Twenty20 Image Before-After | 78 | 104 | 14 | 20k+ | Text Domain Mismatch | ||
| #3349 | Exclude Category from Blog | 78 | 10 | 2 | 1k+ | Output is not escaped | ||
| #3350 | AffiliateWP – Affiliate Info | 79 | 27 | 7 | 1k+ | Text Domain Mismatch |